.booking-page{max-width:1280px;margin:0 auto;padding:2rem 1.5rem}@media (min-width:768px){.booking-page{padding:2rem 2.5rem}}@media (min-width:1024px){.booking-page{padding:2rem 10rem}}.booking-info-note{display:flex;align-items:center;gap:.75rem;padding:1rem 1.25rem;background:rgba(13,105,170,.05);border:1px solid rgba(13,105,170,.2);border-radius:.75rem;margin-bottom:2rem}.booking-info-note .material-symbols-outlined{color:#0d69aa;font-size:1.25rem;flex-shrink:0}.booking-info-note p{font-size:.875rem;color:#5a4a3f;margin:0}.booking-breadcrumbs{display:flex;flex-wrap:wrap;gap:.5rem;margin-bottom:1.5rem;font-size:.875rem;font-weight:500}.booking-breadcrumbs a{color:#8a7260;text-decoration:none;transition:color .2s}.booking-breadcrumbs a:hover{color:#0d69aa}.booking-breadcrumbs span:last-child{color:#181411;font-weight:600}.booking-progress{margin-bottom:2.5rem}.booking-progress-header{display:flex;justify-content:space-between;align-items:flex-end;margin-bottom:.75rem;gap:1rem}.booking-title{font-size:clamp(1.875rem,4vw,2.25rem);font-weight:900;line-height:1.2;letter-spacing:-.033em;margin:0}.booking-subtitle{color:#8a7260;font-size:1rem;margin:.25rem 0 0}.booking-complete{font-size:.875rem;font-weight:700;white-space:nowrap}.booking-progress-bar{height:.5rem;background:#e6dfdb;border-radius:9999px;overflow:hidden;margin-bottom:.75rem}.booking-progress-fill{height:100%;background:#0d69aa;transition:width .3s}.booking-progress-steps{display:flex;justify-content:space-between;font-size:.75rem;font-weight:600;text-transform:uppercase;letter-spacing:.05em;color:#8a7260}.booking-progress-steps span.active{color:#0d69aa}.booking-container{display:grid;grid-template-columns:1fr;gap:2rem}@media (min-width:1024px){.booking-container{grid-template-columns:2fr 1fr}}.booking-form-column{display:flex;flex-direction:column;gap:2rem}.booking-card{background:#fff;border-radius:.75rem;border:1px solid #e6dfdb;padding:1.5rem;box-shadow:0 1px 2px rgba(0,0,0,.05)}.booking-card-title{font-size:1.125rem;font-weight:700;margin:0 0 1rem}.booking-trip-card{display:grid;grid-template-columns:1fr;gap:1.5rem}.booking-trip-image{width:100%;aspect-ratio:16/9;background-size:cover;background-position:center;border-radius:.5rem}@media (min-width:768px){.booking-trip-card{grid-template-columns:12rem 1fr auto}.booking-trip-image{aspect-ratio:1}}.booking-trip-info{display:flex;flex-direction:column;justify-content:center}.booking-trip-badge{color:#0d69aa;font-size:.875rem;font-weight:700;text-transform:uppercase;letter-spacing:.1em;margin:0 0 .25rem}.booking-trip-title{font-size:1.25rem;font-weight:800;margin:0 0 .5rem}.booking-trip-meta{display:flex;flex-wrap:wrap;gap:1rem;font-size:.875rem;color:#8a7260}.booking-trip-meta span{display:flex;align-items:center;gap:.25rem}.booking-trip-meta .material-symbols-outlined{font-size:1rem}.booking-trip-change{display:flex;align-items:center}.booking-change-link{color:#0d69aa;font-size:.875rem;font-weight:700;text-decoration:none}.booking-change-link:hover{text-decoration:underline}.booking-form{display:flex;flex-direction:column;gap:1.5rem}.booking-form-grid{display:grid;grid-template-columns:1fr;gap:1.5rem}@media (min-width:768px){.booking-form-grid{grid-template-columns:repeat(2,1fr)}}.booking-form-field{display:flex;flex-direction:column;gap:.5rem}.booking-form-section{display:flex;flex-direction:column;gap:.75rem}.booking-label{font-size:.875rem;font-weight:700;color:#181411}.booking-select-wrapper{position:relative}.booking-select{width:100%;height:3rem;padding:0 3rem 0 1rem;border:1px solid #e6dfdb;border-radius:.5rem;background:#fff;font-size:.875rem;appearance:none;cursor:pointer}.booking-select:focus{box-shadow:0 0 0 3px rgba(13,105,170,.1)}.booking-select-icon{position:absolute;right:.75rem;top:50%;transform:translateY(-50%);color:#8a7260;pointer-events:none}.booking-counter{display:flex;align-items:center;height:3rem;border:1px solid #e6dfdb;border-radius:.5rem;background:#fff;overflow:hidden}.booking-counter-compact{height:2.5rem}.booking-counter-btn{width:3rem;height:100%;display:flex;align-items:center;justify-content:center;background:0 0;border:none;color:#0d69aa;cursor:pointer;transition:background .2s}.booking-counter-compact .booking-counter-btn{width:2.5rem}.booking-counter-btn:hover{background:#f8f7f6}.booking-counter-btn:first-child{border-right:1px solid #e6dfdb}.booking-counter-btn:last-child{border-left:1px solid #e6dfdb}.booking-counter-input{flex:1;text-align:center;font-weight:700;font-size:.875rem;border:none;background:0 0}.booking-counter-input:focus{outline:0}.booking-trekkers-group{display:flex;flex-direction:column;gap:.75rem;padding:1rem;background:#f8f7f6;border-radius:.5rem;border:1px solid #e6dfdb}.booking-trekker-row{display:flex;align-items:center;justify-content:space-between;gap:1rem}.booking-trekker-label{font-size:.875rem;font-weight:600;color:#5a4a3f;min-width:4rem}.booking-trekkers-grid{display:flex;align-items:center;gap:1.5rem;padding:1rem 1.25rem;background:#fff;border:1px solid #e6dfdb;border-radius:.5rem;flex-wrap:wrap}@media (min-width:640px){.booking-trekkers-grid{flex-wrap:nowrap}}.booking-trekker-field{display:flex;align-items:center;gap:1rem;flex:1;min-width:200px}.booking-trekker-field .booking-trekker-label{font-size:.875rem;font-weight:600;color:#181411;min-width:auto;white-space:nowrap}.booking-trekker-field .booking-counter{flex:1;max-width:200px}.booking-radio-grid{display:grid;grid-template-columns:1fr;gap:1rem}@media (min-width:768px){.booking-radio-grid{grid-template-columns:repeat(2,1fr)}}.booking-radio-card{position:relative;display:flex;padding:1rem;border:2px solid #e6dfdb;border-radius:.75rem;background:#fff;cursor:pointer;transition:.2s}.booking-radio-card:hover{border-color:rgba(13,105,170,.5)}.booking-radio-card.active{border-color:#0d69aa;background:rgba(13,105,170,.05)}.booking-radio-card input{position:absolute;opacity:0;pointer-events:none}.booking-radio-content{flex:1;display:flex;flex-direction:column;gap:.25rem}.booking-radio-title{font-size:.875rem;font-weight:700;color:#181411}.booking-radio-desc{font-size:.75rem;color:#8a7260}.booking-radio-price{font-size:.875rem;font-weight:700;color:#0d69aa;margin-top:.5rem}.booking-radio-check{color:#e6dfdb;transition:color .2s}.booking-radio-card.active .booking-radio-check{color:#0d69aa}.booking-addons{display:flex;flex-direction:column;gap:.75rem}.booking-addon-card{display:flex;align-items:center;gap:.75rem;padding:1rem;border:1px solid #e6dfdb;border-radius:.5rem;background:#fff;cursor:pointer;transition:border-color .2s}.booking-addon-card:hover{border-color:#0d69aa}.booking-addon-card input[type=checkbox]{width:1.25rem;height:1.25rem;border-radius:.25rem;border:2px solid #e6dfdb;cursor:pointer;accent-color:#0d69aa}.booking-addon-content{flex:1}.booking-addon-title{font-size:.875rem;font-weight:700;margin:0 0 .125rem}.booking-addon-desc{font-size:.75rem;color:#8a7260;margin:0}.booking-addon-price{font-size:.875rem;font-weight:700;color:#0d69aa}.booking-input{width:100%;height:3rem;padding:0 1rem;border:1px solid #e6dfdb;border-radius:.5rem;background:#fff;font-size:.875rem}.booking-input:focus{box-shadow:0 0 0 3px rgba(13,105,170,.1)}.booking-input::placeholder{color:#94a3b8}.booking-datepicker{cursor:pointer}.flatpickr-calendar{border-radius:.75rem;box-shadow:0 10px 40px rgba(0,0,0,.15);border:1px solid #e6dfdb}.flatpickr-months{border-radius:.75rem .75rem 0 0}.flatpickr-current-month{font-weight:700}.flatpickr-day.endRange,.flatpickr-day.selected,.flatpickr-day.startRange{background:#0d69aa;border-color:#0d69aa}.flatpickr-day.endRange:hover,.flatpickr-day.selected:hover,.flatpickr-day.startRange:hover{background:#0f75bd;border-color:#0f75bd}.flatpickr-day:hover{background:rgba(13,105,170,.1);border-color:rgba(13,105,170,.3)}.flatpickr-day.today{border-color:#0d69aa}.flatpickr-day.today:hover{background:rgba(13,105,170,.1);border-color:#0d69aa}.booking-textarea{width:100%;padding:.75rem 1rem;border:1px solid #e6dfdb;border-radius:.5rem;background:#fff;font-size:.875rem;font-family:inherit;resize:vertical}.booking-textarea:focus{box-shadow:0 0 0 3px rgba(13,105,170,.1)}.booking-textarea::placeholder{color:#94a3b8}.booking-radio-inline{display:flex;gap:2rem;padding-top:.5rem}.booking-radio-inline-item{display:flex;align-items:center;gap:.5rem;cursor:pointer}.booking-radio-inline-item input[type=radio]{appearance:none;-webkit-appearance:none;-moz-appearance:none;width:1.25rem;height:1.25rem;border:2px solid #cbd5e1;border-radius:50%;cursor:pointer;margin:0;position:relative;transition:.2s}.booking-radio-inline-item input[type=radio]:checked{border-color:#0d69aa;border-width:6px}.booking-radio-inline-item input[type=radio]:focus{outline:0}.booking-radio-inline-item input[type=radio]:hover{border-color:#0d69aa}.booking-radio-inline-item span{font-size:.875rem;color:#5a4a3f;transition:color .2s}.booking-radio-inline-item:hover span{color:#0d69aa}.booking-form-field-full{grid-column:1/-1}.booking-date-type{display:flex;gap:1rem;margin-bottom:1rem}.booking-date-type-option{flex:1;display:flex;align-items:center;gap:.5rem;padding:.75rem 1rem;border:2px solid #e6dfdb;border-radius:.5rem;background:#fff;cursor:pointer;transition:.2s}.booking-date-type-option:hover{border-color:rgba(13,105,170,.5)}.booking-date-type-option input[type=radio]{appearance:none;-webkit-appearance:none;-moz-appearance:none;width:1.125rem;height:1.125rem;border:2px solid #cbd5e1;border-radius:50%;cursor:pointer;margin:0;position:relative;transition:.2s;flex-shrink:0}.booking-date-type-option input[type=radio]:checked{border-color:#0d69aa;border-width:5px}.booking-date-type-option input[type=radio]:focus{outline:0}.booking-date-type-option input[type=radio]:checked~span{color:#0d69aa;font-weight:600}.booking-date-type-option span{font-size:.875rem;color:#5a4a3f;transition:.2s}.booking-date-option{margin-top:.5rem}.booking-field-hint{font-size:.75rem;color:#8a7260;margin:.5rem 0 0;display:flex;align-items:center;gap:.25rem}.booking-field-hint::before{content:"💡";font-size:.875rem}.booking-section-title{font-size:1.5rem;font-weight:800;margin:0 0 1.5rem;letter-spacing:-.025em}.booking-navigation{display:flex;justify-content:space-between;align-items:center;padding-top:1.5rem;border-top:1px solid #e6dfdb;gap:1rem}.booking-btn-back{display:flex;align-items:center;gap:.5rem;padding:.75rem 2rem;background:#fff;color:#5a4a3f;font-size:.875rem;font-weight:700;border:1px solid #e6dfdb;border-radius:.5rem;text-decoration:none;cursor:pointer;transition:.2s}.booking-btn-back:hover{background:#f8f7f6;border-color:#d1c7be;color:#181411}.booking-btn-next{display:flex;align-items:center;gap:.5rem;padding:.75rem 2rem;background:linear-gradient(to top,#0d69aa,#0f75bd);color:#fff;font-weight:700;border:none;border-radius:.5rem;cursor:pointer;transition:.2s;box-shadow:0 4px 12px rgba(13,105,170,.2)}.booking-btn-next:hover{transform:translateY(-2px);box-shadow:0 6px 16px rgba(13,105,170,.3)}.booking-summary-column{position:relative}.booking-summary-sticky{position:sticky;top:6rem;display:flex;flex-direction:column;gap:1rem}.booking-summary-card{background:#fff;border-radius:1rem;border:1px solid #d7e8f5;box-shadow:0 14px 28px rgba(13,105,170,.12);overflow:hidden}.booking-summary-trek-card{border-bottom:1px solid #e6dfdb}.booking-summary-trek-image{height:10rem;background-size:cover;background-position:center;position:relative}.booking-summary-trek-overlay{position:absolute;inset:0;background:linear-gradient(to top,rgba(0,0,0,.8),transparent);display:flex;flex-direction:column;justify-content:flex-end;padding:1.25rem}.booking-summary-trek-badge{display:inline-block;background:#0d69aa;color:#fff;font-size:.625rem;font-weight:800;text-transform:uppercase;letter-spacing:.1em;padding:.25rem .5rem;border-radius:.25rem;margin-bottom:.25rem;width:fit-content}.booking-summary-trek-title{color:#fff;font-size:1.25rem;font-weight:700;margin:0}.booking-summary-trek-details{padding:1.25rem;display:flex;flex-direction:column;gap:1rem}.booking-summary-trek-detail{display:flex;align-items:flex-start;gap:.75rem}.booking-summary-trek-detail .material-symbols-outlined,.booking-summary-trek-detail i{color:#0d69aa;background:rgba(13,105,170,.08);width:2.5rem;height:2.5rem;display:flex;align-items:center;justify-content:center;border-radius:.625rem;font-size:1rem;flex-shrink:0}.booking-summary-detail-label{font-size:.625rem;font-weight:800;text-transform:uppercase;letter-spacing:.05em;color:#8a7260;margin:0 0 .125rem}.booking-summary-detail-value{font-size:.875rem;font-weight:600;color:#181411;margin:0}.booking-summary-header{padding:1.5rem;border-bottom:1px solid #d7e8f5;background:rgba(13,105,170,.05)}.booking-summary-header h3{font-size:1rem;font-weight:700;margin:0}.booking-summary-body{padding:1.5rem;display:flex;flex-direction:column;gap:1.25rem}.booking-summary-row{display:flex;justify-content:space-between;font-size:.875rem}.booking-summary-row span:first-child{color:#8a7260}.booking-summary-value{font-weight:700}.booking-summary-total{padding-top:1.25rem;border-top:1px solid #d7e8f5;display:flex;justify-content:space-between;align-items:flex-end}.booking-summary-total-label{font-size:.75rem;font-weight:600;text-transform:uppercase;letter-spacing:.05em;color:#8a7260;margin:0 0 .25rem}.booking-summary-total-amount{font-size:1.875rem;font-weight:900;color:#0d69aa;margin:0}.booking-summary-footer{padding:1.25rem;background:rgba(248,247,246,.5)}.booking-summary-footer p{display:flex;gap:.5rem;font-size:.75rem;color:#8a7260;margin:0}.booking-summary-footer .fa-circle-info,.booking-summary-footer .material-symbols-outlined{font-size:1rem;color:#0d69aa}.booking-trust-badge{display:flex;align-items:center;gap:1rem;padding:1rem;border:1px dashed #e6dfdb;border-radius:.75rem}.booking-trust-icon{width:2.5rem;height:2.5rem;display:flex;align-items:center;justify-content:center;background:rgba(22,163,74,.1);border-radius:9999px}.booking-trust-icon .material-symbols-outlined,.booking-trust-icon i{color:#16a34a;font-size:1.25rem}.booking-trust-title{font-size:.75rem;font-weight:700;margin:0 0 .125rem}.booking-trust-desc{font-size:.625rem;color:#8a7260;margin:0}.booking-review-header{padding:1rem 1.5rem;background:#fcfaf9;border-bottom:1px solid #e6dfdb;display:flex;justify-content:space-between;align-items:center}.booking-review-title{font-size:1.125rem;font-weight:700;margin:0;display:flex;align-items:center;gap:.5rem}.booking-review-title .material-symbols-outlined{color:#0d69aa}.booking-edit-btn{color:#0d69aa;font-size:.875rem;font-weight:700;background:0 0;border:none;cursor:pointer;transition:text-decoration .2s}.booking-edit-btn:hover{text-decoration:underline}.booking-review-grid{padding:1.5rem;display:grid;grid-template-columns:1fr;gap:1rem}@media (min-width:768px){.booking-review-grid{grid-template-columns:1fr 2fr;gap:0}}.booking-review-row{display:flex;flex-direction:column;gap:.25rem;padding:.75rem 0;border-bottom:1px solid #f4f2f0}@media (min-width:768px){.booking-review-row{display:contents}.booking-review-row>*{padding:.75rem 0;border-bottom:1px solid #f4f2f0}}.booking-review-row:last-child,.booking-review-row:last-child>*{border-bottom:none}.booking-review-label{color:#8a7260;font-size:.875rem}.booking-review-value{font-size:.875rem;font-weight:600}.booking-payment-header{padding:1rem 1.5rem;background:#fcfaf9;border-bottom:1px solid #e6dfdb}.booking-payment-body{padding:2rem 1.5rem}.booking-payment-notice{display:flex;align-items:flex-start;gap:1rem;padding:1.5rem;background:rgba(13,105,170,.05);border:1px solid rgba(13,105,170,.2);border-radius:.75rem;margin-bottom:2rem}.booking-payment-notice-icon{background:#0d69aa;color:#fff;padding:.5rem;border-radius:.5rem;flex-shrink:0}.booking-payment-notice-icon .material-symbols-outlined{font-size:1.25rem}.booking-payment-notice-title{font-size:.875rem;font-weight:700;color:#0d69aa;margin:0 0 .25rem}.booking-payment-notice-text{font-size:.875rem;color:#5a4a3f;line-height:1.6;margin:0}.booking-bank-grid{display:grid;grid-template-columns:1fr;gap:2rem;margin-bottom:2rem}.booking-bank-column{display:flex;flex-direction:column;gap:1.5rem}.booking-bank-detail{display:flex;flex-direction:column;gap:.25rem}.booking-bank-address{padding:1rem;background:#f8f7f6;border-radius:.5rem;margin-bottom:2rem}.booking-bank-address .booking-bank-label{margin-bottom:.5rem}.booking-bank-address .booking-bank-value{font-weight:600;font-size:.875rem}.booking-bank-label{font-size:.75rem;font-weight:700;text-transform:uppercase;letter-spacing:.05em;color:#8a7260;margin:0}.booking-bank-value{font-size:1rem;font-weight:700;letter-spacing:.025em;margin:0}.booking-bank-copy-row{display:flex;justify-content:space-between;align-items:center}.booking-copy-btn{display:flex;align-items:center;gap:.25rem;color:#0d69aa;font-size:.75rem;font-weight:700;background:0 0;border:none;cursor:pointer;transition:text-decoration .2s}.booking-copy-btn:hover{text-decoration:underline}.booking-copy-btn .material-symbols-outlined{font-size:.875rem}.booking-upload-section{padding-top:2rem;border-top:1px solid #f4f2f0}.booking-upload-title{display:flex;align-items:center;gap:.5rem;font-size:1rem;font-weight:700;margin:0 0 1rem}.booking-upload-title .material-symbols-outlined{color:#0d69aa;font-size:1.25rem}.booking-dropzone{border:2px dashed rgba(13,105,170,.3);border-radius:.75rem;background:rgba(13,105,170,.02);padding:2.5rem 1.5rem;text-align:center;cursor:pointer;transition:.2s;position:relative}.booking-dropzone:hover{border-color:rgba(13,105,170,.5);background:rgba(13,105,170,.05)}.booking-dropzone-content{display:flex;flex-direction:column;align-items:center;gap:.5rem}.booking-dropzone-icon{width:4rem;height:4rem;display:flex;align-items:center;justify-content:center;background:rgba(13,105,170,.1);border-radius:50%;margin-bottom:.5rem}.booking-dropzone-icon .material-symbols-outlined{color:#0d69aa;font-size:2rem}.booking-dropzone-text{font-size:1rem;font-weight:600;color:#181411;margin:0}.booking-dropzone-hint{font-size:.875rem;color:#8a7260;margin:0}.booking-dropzone-preview{display:flex;justify-content:center}.booking-dropzone-file{display:flex;align-items:center;gap:1rem;padding:1rem 1.5rem;background:#fff;border:1px solid #e6dfdb;border-radius:.5rem;max-width:400px;width:100%}.booking-dropzone-file>.material-symbols-outlined{color:#0d69aa;font-size:2rem;flex-shrink:0}.booking-dropzone-file-info{flex:1;text-align:left;min-width:0}.booking-dropzone-file-name{font-size:.875rem;font-weight:600;margin:0 0 .25rem;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.booking-dropzone-file-size{font-size:.75rem;color:#8a7260;margin:0}.booking-dropzone-remove{width:2rem;height:2rem;display:flex;align-items:center;justify-content:center;background:#f8f7f6;border:1px solid #e6dfdb;border-radius:.25rem;cursor:pointer;transition:.2s;flex-shrink:0}.booking-dropzone-remove:hover{background:#fee;border-color:#fcc}.booking-dropzone-remove .material-symbols-outlined{font-size:1.25rem;color:#dc2626}.booking-upload-note{display:flex;align-items:flex-start;gap:.5rem;margin-top:1rem;font-size:.875rem;color:#5a4a3f;line-height:1.5}.booking-upload-note .material-symbols-outlined{color:#8a7260;font-size:1rem;flex-shrink:0;margin-top:.125rem}.booking-upload-card{display:flex;flex-direction:column;align-items:center;justify-content:space-between;gap:1rem;padding:1rem;background:#f8f7f6;border:1px solid #e6dfdb;border-radius:.5rem}@media (min-width:768px){.booking-bank-grid{grid-template-columns:repeat(2,1fr)}.booking-upload-card{flex-direction:row}}.booking-upload-content{display:flex;align-items:center;gap:.75rem;font-size:.875rem;font-weight:500}.booking-upload-content .material-symbols-outlined{color:#8a7260}.booking-upload-btn{font-size:.875rem;font-weight:700;padding:.5rem 1rem;border:2px solid #0d69aa;color:#0d69aa;background:#fff;border-radius:.5rem;cursor:pointer;transition:.2s;white-space:nowrap}.booking-upload-btn:hover{background:#0d69aa;color:#fff}.booking-terms{display:flex;align-items:flex-start;gap:.75rem;padding:0 .5rem}.booking-terms-checkbox{width:1.125rem;height:1.125rem;margin-top:.125rem;border:2px solid #e6dfdb;border-radius:.25rem;cursor:pointer;flex-shrink:0}.booking-terms-checkbox:checked{accent-color:#0d69aa}.booking-terms-label{font-size:.875rem;color:#5a4a3f;line-height:1.6;cursor:pointer}.booking-terms-link{color:#0d69aa;font-weight:700;text-decoration:none}.booking-terms-link:hover{text-decoration:underline}.booking-btn-confirm{display:flex;align-items:center;gap:.5rem;padding:.75rem 2rem;background:linear-gradient(to top,#0d69aa,#0f75bd);color:#fff;font-weight:700;border:none;border-radius:.5rem;cursor:pointer;transition:.2s;box-shadow:0 4px 12px rgba(13,105,170,.2)}.booking-btn-confirm:hover{transform:translateY(-2px);box-shadow:0 6px 16px rgba(13,105,170,.3)}.booking-btn-confirm:disabled{opacity:.5;cursor:not-allowed;transform:none}.booking-form-field{position:relative}.booking-form-field.error .booking-input,.booking-form-field.error .booking-select,.booking-form-field.error .booking-textarea{border-color:#dc2626;background:rgba(220,38,38,.05)}.booking-form-field.success .booking-input,.booking-form-field.success .booking-select,.booking-form-field.success .booking-textarea{border-color:#16a34a;background:rgba(22,163,74,.05)}.field-icon{position:absolute;right:1rem;top:50%;transform:translateY(-50%);font-size:1.25rem;pointer-events:none;z-index:10}.field-icon.error-icon{color:#dc2626}.field-icon.success-icon{color:#16a34a}.field-error{display:block;color:#dc2626;font-size:.75rem;font-weight:600;margin-top:.375rem;animation:.3s slideDown}@keyframes slideDown{from{opacity:0;transform:translateY(-.5rem)}to{opacity:1;transform:translateY(0)}}.spinner{display:inline-block;width:1rem;height:1rem;border:2px solid rgba(255,255,255,.3);border-top-color:#fff;border-radius:50%;animation:.6s linear infinite spin}@keyframes spin{to{transform:rotate(360deg)}}.upload-progress{padding:1.5rem;text-align:center}.upload-progress-bar{height:.5rem;background:#0d69aa;border-radius:.25rem;width:0;transition:width .3s;margin-bottom:.75rem}.upload-progress-text{font-size:.875rem;color:#8a7260;font-weight:600}.booking-notification{position:fixed;bottom:2rem;right:2rem;background:#181411;color:#fff;padding:1rem 1.5rem;border-radius:.75rem;font-size:.875rem;font-weight:600;box-shadow:0 10px 25px rgba(0,0,0,.2);z-index:9999;opacity:0;transform:translateY(1rem);transition:.3s cubic-bezier(.4,0,.2,1);pointer-events:none;max-width:20rem}.booking-notification.show{opacity:1;transform:translateY(0)}.booking-notification.error{background:#dc2626}.booking-notification.success{background:#16a34a}@media (max-width:768px){.booking-notification{bottom:1rem;right:1rem;left:1rem;max-width:none}}.booking-progress-steps span.completed{color:#16a34a;position:relative}.booking-progress-steps span.completed::before{content:'✓';position:absolute;left:-1.25rem;color:#16a34a;font-weight:700}.booking-dropzone.dragover{border-color:#0d69aa;background:rgba(13,105,170,.05);transform:scale(1.02)}.booking-input:focus,.booking-select:focus,.booking-textarea:focus{outline:0;border-color:#0d69aa;box-shadow:0 0 0 3px rgba(13,105,170,.1)}.booking-form-field.error .booking-input:focus,.booking-form-field.error .booking-select:focus,.booking-form-field.error .booking-textarea:focus{border-color:#dc2626;box-shadow:0 0 0 3px rgba(220,38,38,.1)}.booking-form-field.success .booking-input:focus,.booking-form-field.success .booking-select:focus,.booking-form-field.success .booking-textarea:focus{border-color:#16a34a;box-shadow:0 0 0 3px rgba(22,163,74,.1)}.booking-btn,.booking-form-field,.booking-input,.booking-select,.booking-textarea{transition:.3s cubic-bezier(.4,0,.2,1)}.booking-btn:hover:not(:disabled){transform:translateY(-2px);box-shadow:0 8px 16px rgba(13,105,170,.3)}.booking-btn:active:not(:disabled){transform:translateY(0)}.booking-btn:disabled{opacity:.6;cursor:not-allowed}
/*# sourceMappingURL=booking.min.css.map */
