.booking-hero{background:#fff;padding:40px 0 20px;border-bottom:1px solid #f1f3f4}.booking-hero .hero-content{max-width:1200px;margin:0 auto;padding:0 20px}.booking-hero .hero-title{font-size:2rem;font-weight:600;color:var(--color-text-primary);margin:0;display:flex;align-items:center;gap:15px}.booking-hero .hero-title:before{content:"";width:4px;height:40px;background:var(--gradient-primary);border-radius:2px}.booking-hero .title-main{color:var(--color-text-primary)}.booking-hero .title-highlight{color:var(--color-primary);font-weight:700}.booking-hero .hero-description{font-size:.95rem;color:var(--color-text-secondary);margin:8px 0 0 59px;font-weight:500}.booking-form-section{padding:80px 0;background:linear-gradient(135deg,#f8f9fa,#fff,#f8f9fa);min-height:100vh}.booking-form-container{max-width:1400px;margin:0 auto;background:#fff;border-radius:25px;box-shadow:0 25px 80px var(--color-primary-light);overflow:hidden;border:1px solid var(--color-primary-light)}.booking-form-main{display:flex;flex-direction:column}.booking-content{display:grid;grid-template-columns:1fr 380px;gap:0;min-height:500px}.form-section{padding:0}.price-calculator{background:var(--color-primary-bg);border-left:1px solid #e9ecef;position:sticky;top:0;height:fit-content;max-height:100vh;overflow-y:auto}.form-progress{background:linear-gradient(135deg,var(--color-secondary) 0%,var(--color-text-primary) 100%);padding:30px;color:#fff;position:relative}.progress-bar{width:100%;height:4px;background:#fff3;border-radius:2px;margin-bottom:30px;position:relative;overflow:hidden}.progress-fill{height:100%;background:var(--gradient-primary);border-radius:2px;transition:width .6s ease;position:relative}.progress-fill:after{content:"";position:absolute;inset:0;background:linear-gradient(90deg,transparent,rgba(255,255,255,.3),transparent);animation:shimmer 2s infinite}@keyframes shimmer{0%{transform:translate(-100%)}to{transform:translate(100%)}}.step-indicators{display:flex;justify-content:space-between;align-items:center}.step-indicator{display:flex;flex-direction:column;align-items:center;gap:8px;opacity:.5;transition:all .3s ease;cursor:pointer}.step-indicator.active{opacity:1;transform:scale(1.1)}.step-indicator.completed{opacity:.8}.step-number{width:40px;height:40px;background:#fff3;border:2px solid rgba(255,255,255,.3);border-radius:50%;display:flex;align-items:center;justify-content:center;font-weight:700;font-size:16px;transition:all .3s ease}.step-indicator.active .step-number{background:var(--gradient-primary);border-color:#fff;color:#fff;box-shadow:0 5px 15px #05966966}.step-indicator.completed .step-number{background:#ffffffe6;color:var(--color-text-primary);border-color:#ffffffe6}.step-label{font-size:13px;font-weight:600;text-align:center}.booking-form{padding:0}.form-step{padding:50px;display:none;animation:fadeInUp .6s ease}.form-step.active{display:block}@keyframes fadeInUp{0%{opacity:0;transform:translateY(30px)}to{opacity:1;transform:translateY(0)}}.step-header{text-align:center;margin-bottom:40px}.step-header h2{color:var(--color-text-primary);font-size:2.2rem;font-weight:700;margin-bottom:15px}.step-header p{color:var(--color-text-secondary);font-size:1.1rem;max-width:500px;margin:0 auto;font-weight:500}.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:25px;margin-bottom:40px}.form-group{position:relative}.form-group.full-width{grid-column:1 / -1}.form-group label{display:block;font-weight:600;color:var(--color-text-primary);margin-bottom:8px;font-size:14px}.form-group input,.form-group select,.form-group textarea{width:100%;padding:15px 20px;border:2px solid #e9ecef;border-radius:12px;font-size:15px;font-family:Outfit,sans-serif;transition:all .3s ease;background:#fff;color:var(--color-text-primary)}.form-group select:disabled{background-color:#f8f9fa;color:#6c757d;cursor:not-allowed;opacity:.6}.form-group input:focus,.form-group select:focus,.form-group textarea:focus{outline:none;border-color:var(--color-primary);box-shadow:0 0 0 3px var(--color-primary-light);transform:translateY(-2px)}.form-group input.error,.form-group select.error,.form-group textarea.error{border-color:#dc3545;animation:shake .5s ease}.message-textarea{min-height:100px;resize:vertical}@keyframes shake{0%,to{transform:translate(0)}25%{transform:translate(-5px)}75%{transform:translate(5px)}}.field-error{color:#dc3545;font-size:12px;margin-top:5px;display:flex;align-items:center;gap:5px}.field-error:before{content:"⚠";font-size:14px}.option-buttons{display:flex;flex-wrap:wrap;gap:12px;margin-top:8px}.option-btn{display:inline-flex;align-items:center;justify-content:center;padding:14px 22px;border:2px solid #e9ecef;border-radius:12px;background:#fff;cursor:pointer;font-size:15px;font-weight:600;color:var(--color-text-primary);transition:all .25s ease;user-select:none}.course-options-inline .option-buttons{display:flex;flex-wrap:wrap;gap:6px;margin-top:10px}.course-options-inline .option-btn{padding:8px 12px;font-size:13px;font-weight:600;border-radius:8px;border:2px solid #dee2e6;background:#f8f9fa;color:var(--color-text-primary);min-width:0;white-space:nowrap}.course-options-inline .option-btn:hover{border-color:var(--color-primary);background:#05966914;color:var(--color-primary)}.course-options-inline .option-btn:has(input:checked){border-color:var(--color-primary);background:linear-gradient(135deg,var(--color-primary) 0%,#047857 100%);color:#fff;box-shadow:0 2px 8px #0596694d}.course-options-inline .option-btn:has(input:checked) .option-btn-sublabel{color:#ffffffe6}.option-btn input{position:absolute;opacity:0;width:0;height:0}.option-btn:hover{border-color:var(--color-primary);background:var(--color-primary-bg);color:var(--color-primary)}.option-btn:has(input:checked){border-color:var(--color-primary);background:var(--gradient-primary);color:#fff;box-shadow:0 4px 14px #05966959}.option-btn-text{pointer-events:none}.course-options-group,.timezone-options{margin-top:8px}.option-btn-with-weeks{display:inline-flex;flex-direction:column;align-items:center;gap:0}.option-btn-with-weeks .option-btn-text{display:block}.option-btn-sublabel{display:block;font-size:.65rem;color:var(--color-text-secondary);margin-top:2px;font-weight:500;line-height:1.2;white-space:nowrap}.field-hint{font-size:.9rem;color:var(--color-primary);margin-top:10px;padding:10px 14px;background:#05966914;border-radius:8px;border-left:4px solid var(--color-primary)}.field-hint-under-label{margin-top:4px;margin-bottom:8px}.form-infobox{display:flex;align-items:flex-start;gap:10px;font-size:.9rem;color:var(--color-text-secondary);margin-top:8px;padding:12px 14px;background:#2196f314;border-radius:8px;border-left:4px solid #2196f3}.form-infobox i{color:#2196f3;flex-shrink:0;margin-top:2px}.mt-2{margin-top:1rem}.radio-group,.checkbox-group{display:flex;flex-wrap:wrap;gap:15px;margin-top:10px}.radio-label,.checkbox-label{display:flex;align-items:flex-start;gap:12px;cursor:pointer;font-size:15px;color:var(--color-text-primary);transition:all .3s ease;padding:12px 16px;border-radius:10px;border:2px solid transparent;background:var(--color-primary-bg);min-height:20px;user-select:none}.radio-label:hover,.checkbox-label:hover{background:var(--color-primary-light);border-color:#0596694d;transform:translateY(-1px);box-shadow:0 4px 12px #05966926}.radio-custom,.checkbox-custom{width:20px;height:20px;border:2px solid #ddd;border-radius:50%;position:relative;transition:all .3s ease;flex-shrink:0;background:#fff;margin-top:1px;box-shadow:0 2px 4px #0000001a;display:flex;align-items:center;justify-content:center}.checkbox-custom{border-radius:4px}.radio-label input[type=radio],.checkbox-label input[type=checkbox]{position:absolute;opacity:0;width:0;height:0}.radio-label:has(input[type=radio]:checked),.checkbox-label:has(input[type=checkbox]:checked){background:var(--color-primary-light);border-color:var(--color-primary);box-shadow:0 4px 15px #05966933}.radio-label input[type=radio]:checked+.radio-custom,.checkbox-label input[type=checkbox]:checked+.checkbox-custom{border-color:var(--color-primary);background:var(--gradient-primary);box-shadow:0 3px 8px #0596694d;transform:scale(1.05)}.radio-label input[type=radio]:checked+.radio-custom:after{content:"";width:6px;height:6px;background:#fff;border-radius:50%;box-shadow:0 1px 2px #0003}.checkbox-label input[type=checkbox]:checked+.checkbox-custom:after{content:"✓";color:#fff;font-size:12px;font-weight:900;text-shadow:0 1px 2px rgba(0,0,0,.2);line-height:1}.radio-text,.checkbox-text{font-weight:500;line-height:1.4;margin-top:1px}.accommodation-details,.transfer-details{grid-column:1 / -1;display:grid;grid-template-columns:1fr 1fr;gap:25px;margin-top:20px;padding:25px;background:#ff888805;border-radius:12px;border:1px solid var(--color-primary-light)}.form-navigation{display:flex;justify-content:space-between;align-items:center;padding-top:30px;border-top:1px solid #e9ecef}.btn-prev,.btn-next,.btn-submit{padding:15px 30px;border:none;border-radius:25px;font-size:16px;font-weight:700;cursor:pointer;transition:all .3s ease;display:flex;align-items:center;gap:10px;font-family:Outfit,sans-serif}.btn-prev{background:#6c757d;color:#fff;box-shadow:0 5px 15px #6c757d4d}.btn-prev:hover{background:#5a6268;transform:translateY(-2px);box-shadow:0 8px 25px #6c757d66}.btn-next,.btn-submit{background:var(--gradient-primary);color:#fff;box-shadow:0 8px 25px #05966966;margin-left:auto}.btn-next:hover,.btn-submit:hover{transform:translateY(-3px);box-shadow:0 12px 35px #05966980}.btn-submit{background:linear-gradient(135deg,#28a745,#20c997);box-shadow:0 8px 25px #28a74566}.btn-submit:hover{box-shadow:0 12px 35px #28a74580}.form-navigation .btn-submit{margin-left:0}.form-navigation .btn-submit-free{background:linear-gradient(135deg,#28a745,#20c997);color:#fff;box-shadow:0 8px 25px #28a74566}.form-navigation .btn-submit-free:hover{box-shadow:0 12px 35px #28a74580}.form-navigation .btn-submit-payment{background:#1a1f36;color:#fff;box-shadow:0 8px 25px #1a1f3666}.form-navigation .btn-submit-payment:hover{background:#252b45;box-shadow:0 12px 35px #1a1f3680}.form-navigation .btn-submit+.btn-submit{margin-left:12px}.booking-summary{background:#ff888805;border:1px solid var(--color-primary-light);border-radius:15px;padding:30px;margin-bottom:30px}.booking-summary h3{color:var(--color-text-primary);font-size:1.5rem;font-weight:700;margin-bottom:25px;text-align:center}.summary-sections{display:grid;gap:20px}.summary-section{background:#fff;border-radius:10px;padding:20px;border:1px solid var(--color-primary-light)}.summary-section h4{color:var(--color-primary);font-size:1.1rem;font-weight:600;margin-bottom:15px;display:flex;align-items:center;gap:10px}.summary-content{color:var(--color-text-secondary);line-height:1.6;font-weight:500}.terms-section{background:#fff1931a;border:1px solid rgba(255,241,147,.3);border-radius:15px;padding:25px;margin-bottom:30px}.terms-section .checkbox-group{flex-direction:column;gap:20px}.terms-section .checkbox-label{background:#fffc;border:2px solid rgba(255,193,7,.2);padding:16px 20px;border-radius:12px;transition:all .3s ease}.terms-section .checkbox-label:hover{background:#fffffff2;border-color:#ffc10766;box-shadow:0 4px 15px #ffc1071a}.terms-section .checkbox-label:has(input[type=checkbox]:checked){background:#ffc1071a;border-color:#ffc107;box-shadow:0 4px 20px #ffc10733}.terms-section .checkbox-custom{border-color:#ffc107;background:#fff;box-shadow:0 2px 6px #ffc10733}.terms-section .checkbox-label input[type=checkbox]:checked+.checkbox-custom{background:linear-gradient(135deg,#ffc107,#ffeb3b);border-color:#ffc107;box-shadow:0 3px 10px #ffc10766}.terms-section .checkbox-label input[type=checkbox]:checked+.checkbox-custom:after{color:var(--color-text-primary);font-weight:900;text-shadow:none;font-size:12px}.terms-section .checkbox-text{line-height:1.6;font-weight:500}.terms-section .checkbox-text strong{color:var(--color-primary);font-weight:700}.price-calculator-header{background:var(--gradient-primary);color:#fff;padding:25px 20px;text-align:center;position:relative}.price-calculator-header:before{content:"";position:absolute;inset:0;background:#0000000d}.price-calculator-title{font-size:1.4rem;font-weight:700;margin:0 0 5px;position:relative;z-index:1}.price-calculator-subtitle{font-size:.9rem;opacity:.9;margin:0;position:relative;z-index:1}.price-content{padding:20px;background:#fff}.price-summary-card{background:linear-gradient(135deg,#f8f9fa,#fff);border-radius:12px;padding:20px;margin-bottom:20px;border:1px solid #e9ecef;box-shadow:0 2px 8px #0000000d}.price-section{margin-bottom:15px}.price-section:last-child{margin-bottom:0}.price-section-title{font-size:.95rem;font-weight:700;color:var(--color-primary);margin-bottom:12px;text-transform:uppercase;letter-spacing:.5px;display:flex;align-items:center;gap:8px}.price-section-title:before{content:"";width:12px;height:12px;background:var(--gradient-primary);border-radius:50%}.price-item{display:flex;justify-content:space-between;align-items:center;padding:10px 15px;margin-bottom:6px;background:#fff;border-radius:8px;border:1px solid #f1f3f4;font-size:.9rem;transition:all .2s ease}.price-item:hover{border-color:#05966933;transform:translate(3px)}.price-item-label{color:#495057;flex:1;font-weight:500}.price-item-value{color:var(--color-text-primary);font-weight:700;white-space:nowrap;font-size:.95rem}.price-item-coupon .price-item-value{color:#0a0}.coupon-box{margin-top:16px;padding:14px;border-radius:10px;background:#0cc0df0f;border:1px solid rgba(12,192,223,.2);min-width:0}.coupon-label{display:block;font-size:.85rem;font-weight:600;color:var(--color-text-primary);margin-bottom:8px}.coupon-row{display:flex;flex-wrap:wrap;gap:8px;align-items:center}.coupon-input{flex:1 1 140px;min-width:0;padding:10px 12px;border:1px solid #dee2e6;border-radius:8px;font-size:.9rem;font-family:ui-monospace,Cascadia Code,Source Code Pro,Menlo,monospace;letter-spacing:.02em}.coupon-input:focus{outline:none;border-color:var(--color-primary);box-shadow:0 0 0 2px #0cc0df33}.coupon-input:disabled{background:#f1f3f5;color:#495057}.coupon-apply-btn{flex-shrink:0;padding:10px 16px;border-radius:8px;border:none;background:var(--gradient-primary);color:#fff;font-size:.9rem;font-weight:600;cursor:pointer;white-space:nowrap}.coupon-apply-btn:hover:not(:disabled){opacity:.95;transform:translateY(-1px)}.coupon-apply-btn:disabled{opacity:.7;cursor:not-allowed}.coupon-message{margin:8px 0 0;font-size:.85rem}.coupon-message-success{color:#0a0}.coupon-message-error{color:#c00}.price-total-container{margin-top:20px;padding:20px 0 0;border-top:2px solid #e9ecef}.price-total{background:linear-gradient(135deg,var(--color-secondary) 0%,var(--color-text-primary) 100%);color:#fff;padding:20px;border-radius:12px;text-align:center;position:relative;overflow:hidden}.price-total:before{content:"";position:absolute;top:0;left:-100%;width:100%;height:100%;background:linear-gradient(90deg,transparent,rgba(255,255,255,.1),transparent);animation:shimmer 3s infinite}.price-total-label{font-size:1rem;font-weight:600;margin-bottom:8px;opacity:.9}.price-total-value{font-size:2.2rem;font-weight:900;text-shadow:0 2px 4px rgba(0,0,0,.2);position:relative;z-index:1}.price-notes{margin-top:15px;padding:15px;background:#ffc1071a;border:1px solid rgba(255,193,7,.2);border-radius:8px;border-left:4px solid #ffc107}.price-notes-title{font-size:.85rem;font-weight:700;color:#856404;margin-bottom:8px;display:flex;align-items:center;gap:6px}.price-notes-title:before{content:"⚠";font-size:1rem}.price-notes-text{font-size:.8rem;color:#856404;line-height:1.5}@media (max-width: 768px){.booking-hero{padding:30px 0 15px}.booking-hero .hero-content{padding:0 15px}.booking-hero .hero-title{font-size:1.6rem;gap:12px}.booking-hero .hero-title:before{width:3px;height:30px}.booking-hero .hero-description{font-size:.9rem;margin:6px 0 0 45px}.booking-form-section{padding:40px 0}.booking-form-container{margin:0 15px;border-radius:15px}.booking-content{grid-template-columns:1fr;gap:0}.price-calculator{position:relative;border-left:none;border-top:1px solid #e9ecef;order:2}.form-section{order:1}.form-progress{padding:20px}.step-indicators{flex-wrap:wrap;gap:15px}.step-number{width:35px;height:35px;font-size:14px}.step-label{font-size:12px}.form-step{padding:30px 25px}.step-header h2{font-size:1.8rem}.form-grid{grid-template-columns:1fr;gap:20px}.accommodation-details,.transfer-details{grid-template-columns:1fr;padding:20px}.radio-group,.checkbox-group{flex-direction:column;gap:12px}.radio-label,.checkbox-label{padding:10px 14px;font-size:14px}.form-navigation{flex-direction:column;gap:15px}.btn-prev,.btn-next,.btn-submit{width:100%;justify-content:center}}
