.booking-hero{background:var(--charcoal);padding:clamp(60px,8vw,90px) 0 clamp(48px,6vw,72px);position:relative;overflow:hidden}.booking-hero-bg{opacity:.18;z-index:0;background-image:url(/images/hero/hero-bg.jpg);background-position:50%;background-size:cover;position:absolute;inset:0}.booking-hero-overlay{z-index:1;background:linear-gradient(90deg,#141414eb 0%,#14141499 100%);position:absolute;inset:0}.booking-hero-content{z-index:2;max-width:660px;position:relative}.booking-hero h1{color:var(--white);margin-bottom:18px;font-size:clamp(36px,5vw,62px);font-weight:600;line-height:1.1}.booking-hero h1 em{color:var(--blue);font-style:italic}.booking-hero p{color:#ffffffa6;font-size:clamp(15px,1.5vw,17px);line-height:1.75}.booking-section{padding:var(--section-pad) 0;background:var(--cream)}.booking-layout{grid-template-columns:1fr 320px;align-items:start;gap:32px;display:grid}.booking-form-card{background:var(--white);border:1px solid var(--border-light);border-radius:20px;padding:clamp(24px,4vw,44px)}.booking-progress{align-items:flex-start;gap:0;margin-bottom:36px;padding-bottom:8px;display:flex;overflow-x:auto}.progress-step{flex-direction:column;flex:1;align-items:center;gap:6px;display:flex;position:relative}.progress-step:after{content:"";background:var(--border);z-index:0;height:2px;position:absolute;top:14px;left:50%;right:-50%}.progress-step:last-child:after{display:none}.progress-step.done:after{background:var(--blue)}.progress-dot{background:var(--border-light);width:28px;height:28px;color:var(--grey);z-index:1;border-radius:50%;justify-content:center;align-items:center;font-size:12px;font-weight:700;transition:all .2s;display:flex;position:relative}.progress-step.active .progress-dot{background:var(--blue);color:var(--white)}.progress-step.done .progress-dot{background:var(--green);color:var(--white)}.progress-label{color:var(--grey);white-space:nowrap;text-align:center;font-size:10px}.progress-step.active .progress-label{color:var(--blue);font-weight:600}.progress-step.done .progress-label{color:var(--green)}.form-step-header{margin-bottom:24px}.form-step-num{letter-spacing:.12em;text-transform:uppercase;color:var(--blue);margin-bottom:6px;font-size:11px;font-weight:700;display:block}.form-step-header h3{color:var(--charcoal);margin-bottom:6px;font-size:24px;font-weight:600}.form-step-header p{color:var(--grey);font-size:14px;line-height:1.6}.form-row{grid-template-columns:1fr 1fr;gap:16px;display:grid}.form-group{flex-direction:column;gap:6px;margin-bottom:14px;display:flex}.form-group label{color:var(--charcoal);font-size:13px;font-weight:600}.form-group input,.form-group select,.form-group textarea{border:1.5px solid var(--border);color:var(--charcoal);background:var(--white);resize:vertical;appearance:none;border-radius:8px;outline:none;padding:12px 14px;font-family:Nunito Sans,sans-serif;font-size:14px;transition:border-color .2s}.form-group select{background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16' viewBox='0 0 24 24' fill='none' stroke='%236B7280' stroke-width='2'%3E%3Cpolyline points='6 9 12 15 18 9'%3E%3C/polyline%3E%3C/svg%3E");background-position:right 12px center;background-repeat:no-repeat;padding-right:36px}.form-group input:focus,.form-group select:focus,.form-group textarea:focus{border-color:var(--blue)}.radio-group,.checkbox-group{flex-direction:column;gap:10px;display:flex}.radio-option,.checkbox-option{border:1.5px solid var(--border);cursor:pointer;color:var(--charcoal-mid);border-radius:10px;align-items:flex-start;gap:10px;padding:12px 16px;font-size:14px;line-height:1.4;transition:border-color .2s,background .2s;display:flex}.radio-option input,.checkbox-option input{display:none}.radio-option.selected,.checkbox-option.selected{border-color:var(--blue);background:var(--blue-light);color:var(--charcoal);font-weight:500}.participant-card{background:var(--cream);border:1px solid var(--border-light);border-radius:14px;margin-bottom:16px;padding:20px}.participant-header{color:var(--charcoal);justify-content:space-between;align-items:center;margin-bottom:16px;font-size:14px;font-weight:600;display:flex}.remove-participant{border:1px solid var(--border);color:var(--grey);cursor:pointer;background:0 0;border-radius:6px;padding:4px 10px;font-size:12px;transition:all .2s}.remove-participant:hover{color:#ef4444;background:#fee2e2;border-color:#ef4444}.btn-add-participant{border:2px dashed var(--border);width:100%;color:var(--blue);cursor:pointer;background:0 0;border-radius:10px;padding:12px;font-family:Nunito Sans,sans-serif;font-size:14px;font-weight:600;transition:all .2s}.btn-add-participant:hover{border-color:var(--blue);background:var(--blue-light)}.session-type-toggle{border:1.5px solid var(--border);border-radius:10px;gap:0;margin-bottom:24px;display:flex;overflow:hidden}.stt-btn{background:var(--white);color:var(--grey);cursor:pointer;border:none;flex:1;padding:12px;font-family:Nunito Sans,sans-serif;font-size:14px;font-weight:600;transition:all .2s}.stt-btn.active{background:var(--blue);color:var(--white)}.plan-pills-grid{grid-template-columns:repeat(auto-fill,minmax(160px,1fr));gap:12px;display:grid}.plan-pill{border:2px solid var(--border-light);cursor:pointer;background:var(--white);border-radius:12px;padding:16px;transition:all .2s}.plan-pill:hover{border-color:var(--blue)}.plan-pill.selected{border-color:var(--blue);background:var(--blue-light)}.pp-name{letter-spacing:.1em;text-transform:uppercase;color:var(--grey);margin-bottom:6px;font-size:11px;font-weight:700}.pp-price{color:var(--charcoal);margin-bottom:4px;font-family:Nunito,sans-serif;font-size:20px;font-weight:700}.pp-period{color:var(--grey);margin-bottom:4px;font-size:11px}.pp-sessions{color:var(--blue);font-size:11px;font-weight:600}.booking-calendar{margin-top:16px}.cal-header{justify-content:space-between;align-items:center;margin-bottom:16px;display:flex}.cal-title{color:var(--charcoal);font-family:Nunito,sans-serif;font-size:18px;font-weight:700}.cal-nav{border:1.5px solid var(--border);background:var(--white);cursor:pointer;width:36px;height:36px;color:var(--charcoal);border-radius:8px;justify-content:center;align-items:center;font-size:18px;transition:all .2s;display:flex}.cal-nav:hover{border-color:var(--blue);color:var(--blue)}.cal-legend{flex-wrap:wrap;gap:16px;margin-bottom:12px;display:flex}.legend-item{color:var(--grey);align-items:center;gap:6px;font-size:12px;display:flex}.legend-dot{border-radius:50%;width:10px;height:10px}.legend-dot.available{background:var(--white);border:1.5px solid var(--border)}.legend-dot.surcharge{background:#fef08a;border:1.5px solid #eab308}.legend-dot.selected{background:var(--green)}.legend-dot.booked{background:#ef4444}.cal-days-header{grid-template-columns:repeat(7,1fr);margin-bottom:6px;display:grid}.cal-day-label{text-align:center;color:var(--grey);padding:6px 0;font-size:11px;font-weight:700}.cal-grid{grid-template-columns:repeat(7,1fr);gap:4px;display:grid}.cal-cell{aspect-ratio:1;cursor:pointer;border:1.5px solid #0000;border-radius:8px;flex-direction:column;justify-content:center;align-items:center;font-size:13px;font-weight:500;transition:all .15s;display:flex;position:relative}.cal-cell.empty{cursor:default}.cal-cell.past{color:var(--border);cursor:not-allowed}.cal-cell.available{background:var(--white);border-color:var(--border-light);color:var(--charcoal)}.cal-cell.available:hover{border-color:var(--blue);background:var(--blue-light)}.cal-cell.surcharge{color:#854d0e;background:#fef9c3;border-color:#fde047}.cal-cell.surcharge:hover{background:#fef08a}.cal-cell.selected{background:var(--green);border-color:var(--green);color:var(--white)}.cal-cell.booked{color:#ef4444;cursor:not-allowed;background:#fee2e2;border-color:#fca5a5}.cal-date-num{font-size:13px}.cal-dot{background:var(--white);border-radius:50%;width:5px;height:5px;position:absolute;bottom:4px}.time-slots-wrap{background:var(--cream);border-radius:14px;margin-top:16px;padding:20px}.time-slots-label{color:var(--charcoal);align-items:center;gap:10px;margin-bottom:12px;font-size:13px;font-weight:600;display:flex}.surcharge-badge{color:#854d0e;background:#fef08a;border-radius:100px;padding:2px 8px;font-size:11px;font-weight:700}.surcharge-inline{color:#854d0e;background:#fef08a;border-radius:100px;margin-left:6px;padding:1px 6px;font-size:11px;font-weight:700}.time-slots-grid{grid-template-columns:repeat(auto-fill,minmax(80px,1fr));gap:8px;display:grid}.time-slot{cursor:pointer;border:1.5px solid #0000;border-radius:8px;flex-direction:column;align-items:center;gap:2px;padding:8px 4px;font-family:Nunito Sans,sans-serif;font-size:12px;font-weight:600;transition:all .15s;display:flex}.time-slot.available{background:var(--white);border-color:var(--border);color:var(--charcoal)}.time-slot.available:hover{border-color:var(--blue);background:var(--blue-light)}.time-slot.surcharge{color:#854d0e;background:#fef9c3;border-color:#fde047}.time-slot.surcharge:hover{background:#fef08a}.time-slot.selected{background:var(--green);border-color:var(--green);color:var(--white)}.time-slot.booked{color:#ef4444;cursor:not-allowed;opacity:.7;background:#fee2e2;border-color:#fca5a5}.slot-sur{opacity:.85;font-size:9px}.cal-selected-summary{border-top:1px solid var(--border-light);margin-top:16px;padding-top:16px}.css-label{text-transform:uppercase;letter-spacing:.1em;color:var(--grey);margin-bottom:10px;font-size:12px;font-weight:700}.css-empty{color:var(--grey);font-size:13px;font-style:italic}.css-sur{color:#854d0e;background:#fef08a;border-radius:100px;padding:1px 6px;font-size:10px;font-weight:700}.css-remove{color:var(--grey);cursor:pointer;background:0 0;border:none;flex-shrink:0;margin-left:auto;font-size:14px;transition:color .2s}.css-remove:hover{color:#ef4444}.booking-notification{border-radius:10px;justify-content:space-between;align-items:flex-start;gap:12px;margin-bottom:16px;padding:14px 16px;font-size:13.5px;line-height:1.55;display:flex}.booking-notification button{cursor:pointer;background:0 0;border:none;flex-shrink:0;font-size:16px}.booking-notification.info{background:var(--blue-light);color:var(--blue-dark);border:1px solid #6ba3e04d}.booking-notification.warn{color:#854d0e;background:#fff8e1;border:1px solid #fde047}.booking-summary{background:var(--cream);border-radius:14px;margin-bottom:24px;padding:20px 24px}.bs-row{border-bottom:1px solid var(--border-light);justify-content:space-between;align-items:center;padding:8px 0;font-size:14px;display:flex}.bs-row:last-child{border-bottom:none}.bs-row span:first-child{color:var(--grey)}.bs-row span:last-child{color:var(--charcoal);font-weight:500}.bs-row.surcharge span{color:#f59e0b}.bs-row.total span:first-child{color:var(--charcoal);font-size:15px;font-weight:700}.bs-row.total span:last-child{color:var(--blue);font-family:Nunito,sans-serif;font-size:18px;font-weight:700}.terms-box{background:var(--cream);border:1px solid var(--border-light);border-radius:14px;margin-bottom:20px;padding:20px 24px}.terms-box h4{color:var(--charcoal);margin-bottom:12px;font-size:15px;font-weight:700}.terms-box ul{flex-direction:column;gap:8px;margin-bottom:0;list-style:none;display:flex}.terms-box ul li{color:var(--grey);padding-left:16px;font-size:13px;line-height:1.6;position:relative}.terms-box ul li:before{content:"•";color:var(--blue);position:absolute;left:0}.payment-choice{margin-bottom:24px}.payment-choice h4{color:var(--charcoal);margin-bottom:12px;font-size:15px;font-weight:700}.form-nav{border-top:1px solid var(--border-light);justify-content:space-between;align-items:center;margin-top:28px;padding-top:20px;display:flex}.btn-back{border:1.5px solid var(--border);color:var(--charcoal-mid);cursor:pointer;background:0 0;border-radius:8px;padding:11px 24px;font-family:Nunito Sans,sans-serif;font-size:14px;font-weight:600;transition:all .2s}.btn-back:hover{border-color:var(--charcoal);color:var(--charcoal)}.btn-next{background:var(--blue);color:var(--white);cursor:pointer;border:none;border-radius:8px;margin-left:auto;padding:12px 32px;font-family:Nunito Sans,sans-serif;font-size:14px;font-weight:600;transition:all .2s}.btn-next:hover{background:var(--blue-dark)}.btn-next:disabled{opacity:.5;cursor:not-allowed}.btn-submit-booking{background:var(--blue);width:100%;color:var(--white);cursor:pointer;border:none;border-radius:10px;justify-content:center;align-items:center;gap:8px;margin-bottom:12px;padding:15px;font-family:Nunito Sans,sans-serif;font-size:15px;font-weight:700;transition:all .2s;display:flex}.btn-submit-booking:hover{background:var(--blue-dark);transform:translateY(-1px)}.btn-submit-booking:disabled{opacity:.5;cursor:not-allowed;transform:none}.form-note{color:var(--grey);text-align:center;font-size:12px;line-height:1.6}.form-notice{background:var(--blue-light);color:var(--blue-dark);border:1px solid #6ba3e040;border-radius:10px;margin-bottom:20px;padding:12px 16px;font-size:13.5px;line-height:1.6}.booking-sidebar{flex-direction:column;gap:16px;display:flex;position:sticky;top:90px}.order-summary-card{background:var(--charcoal);color:var(--white);border-radius:18px;padding:24px}.os-title{letter-spacing:.12em;text-transform:uppercase;color:#fff6;margin-bottom:16px;font-size:11px;font-weight:700}.os-row{border-bottom:1px solid #ffffff14;justify-content:space-between;align-items:flex-start;gap:12px;padding:8px 0;font-size:13px;display:flex}.os-row:last-of-type{border-bottom:none}.os-label{color:#ffffff80}.os-value{color:var(--white);text-align:right;font-weight:500}.os-total{border-top:1px solid #ffffff26;justify-content:space-between;align-items:center;margin-top:14px;padding-top:14px;display:flex}.os-total-label{color:#fff9;font-size:13px}.os-total-amount{color:var(--white);font-family:Nunito,sans-serif;font-size:28px;font-weight:700;line-height:1}.os-empty{color:#ffffff4d;text-align:center;padding:8px 0;font-size:13px;font-style:italic}.booking-info-card{background:var(--white);border:1px solid var(--border-light);border-radius:14px;padding:20px}.booking-info-card h4{color:var(--charcoal);margin-bottom:8px;font-size:15px;font-weight:700}.booking-info-card p{color:var(--grey);margin-bottom:12px;font-size:13px;line-height:1.6}.btn-whatsapp{background:var(--green);color:var(--white);text-align:center;border-radius:8px;justify-content:center;align-items:center;gap:7px;padding:10px 16px;font-family:Nunito Sans,sans-serif;font-size:13.5px;font-weight:600;transition:all .2s;display:flex}.btn-whatsapp:hover{background:var(--green-dark)}.booking-contact-item{align-items:center;gap:10px;margin-bottom:8px;font-size:13px;display:flex}.booking-contact-item a{color:var(--blue)}.booking-success{background:var(--cream);justify-content:center;align-items:center;min-height:70vh;padding:80px 20px;display:flex}.booking-success-card{background:var(--white);text-align:center;border-radius:20px;max-width:520px;padding:48px;box-shadow:0 8px 40px #2e2e2e14}.booking-success-card .success-icon{background:var(--green-light);width:80px;height:80px;color:var(--green);border-radius:50%;justify-content:center;align-items:center;margin:0 auto 24px;font-size:36px;display:flex}.booking-success-card h2{color:var(--charcoal);margin-bottom:12px;font-size:32px;font-weight:700}.booking-success-card p{color:var(--grey);margin-bottom:28px;font-size:15px;line-height:1.7}.success-actions{flex-wrap:wrap;justify-content:center;gap:12px;display:flex}@media (max-width:960px){.booking-layout{grid-template-columns:1fr}.booking-sidebar{position:static}.order-summary-card{order:-1}}@media (max-width:640px){.form-row{grid-template-columns:1fr}.plan-pills-grid{grid-template-columns:repeat(2,1fr)}.booking-progress{gap:0}.progress-label{font-size:9px}.time-slots-grid{grid-template-columns:repeat(auto-fill,minmax(68px,1fr))}}.session-tracker{background:var(--cream);border:1px solid var(--border-light);border-radius:14px;margin-bottom:20px;padding:18px 20px}.st-header{flex-wrap:wrap;justify-content:space-between;align-items:flex-start;gap:12px;margin-bottom:12px;display:flex}.st-counts{align-items:center;gap:6px;font-size:15px;font-weight:700;display:flex}.st-selected{color:var(--green);font-family:Nunito,sans-serif;font-size:18px}.st-sep{color:var(--grey)}.st-required{color:var(--charcoal);font-family:Nunito,sans-serif;font-size:18px}.st-remaining{color:var(--grey);font-size:13px;font-weight:400}.st-duration{color:var(--grey);text-align:right;font-size:12px;line-height:1.5}.st-bar-wrap{background:var(--border-light);border-radius:100px;width:100%;height:8px;margin-bottom:8px;overflow:hidden}.st-bar-fill{background:var(--blue);border-radius:100px;height:100%;transition:width .3s}.st-bar-fill.complete{background:var(--green)}.st-complete-msg{color:var(--green);font-size:13px;font-weight:600}.st-incomplete-msg{color:var(--grey);font-size:12px;font-style:italic}.day-limit-notice{color:#854d0e;background:#fff8e1;border:1px solid #fde047;border-radius:8px;margin-bottom:12px;padding:10px 14px;font-size:13px}.day-slot-count{background:var(--green);color:var(--white);border-radius:100px;margin-left:8px;padding:2px 8px;font-size:11px;font-weight:600}.css-item{color:var(--charcoal-mid);border-bottom:1px solid var(--border-light);align-items:center;gap:8px;padding:7px 0;font-size:13px;display:flex}.css-item:last-child{border-bottom:none}.css-date{color:var(--charcoal);flex-shrink:0;font-weight:600}.css-time{color:var(--grey);flex-shrink:0}.css-dur{background:var(--border-light);color:var(--grey);border-radius:100px;flex-shrink:0;padding:2px 6px;font-size:11px}.booking-notification.success{background:var(--green-light);color:var(--green-dark);border:1px solid #1e8b3c33}.vip-scheduler{margin-top:8px}.vip-scheduler-note{background:var(--blue-light);color:var(--blue-dark);border:1px solid #6ba3e040;border-radius:12px;margin-bottom:20px;padding:14px 18px;font-size:13.5px;line-height:1.65}.vcn-text{flex:1}.vcn-text strong{color:#b8972a;margin-bottom:6px;font-family:Nunito,sans-serif;font-size:14px;font-weight:700;display:block}.vip-days-grid{grid-template-columns:repeat(7,1fr);gap:8px;margin-top:8px;display:grid}.vip-day-btn{border:1.5px solid var(--border);background:var(--white);color:var(--charcoal-mid);cursor:pointer;border-radius:10px;flex-direction:column;align-items:center;gap:3px;padding:10px 4px;font-family:Nunito Sans,sans-serif;font-size:12px;font-weight:600;transition:all .2s;display:flex}.vip-day-btn:hover{border-color:var(--blue);color:var(--blue)}.vip-day-btn.selected{border-color:var(--green);background:var(--green-light);color:var(--green-dark)}.vip-day-btn.disabled{opacity:.4;cursor:not-allowed}.vip-day-note{color:#854d0e;background:#fef08a;border-radius:4px;padding:1px 4px;font-size:9px;font-weight:700}.vip-days-confirmed{color:var(--green-dark);background:var(--green-light);border-radius:8px;margin-top:12px;padding:10px 14px;font-size:13px;font-weight:600}@media (max-width:640px){.vip-days-grid{grid-template-columns:repeat(4,1fr)}.st-header{flex-direction:column}.st-duration{text-align:left}}.booking-popup-overlay{z-index:99999;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);background:#00000080;justify-content:center;align-items:center;padding:20px;animation:.2s popupFadeIn;display:flex;position:fixed;inset:0}@keyframes popupFadeIn{0%{opacity:0}to{opacity:1}}.booking-popup{background:var(--white);text-align:center;border-radius:20px;width:100%;max-width:420px;padding:36px 32px;animation:.3s cubic-bezier(.34,1.56,.64,1) popupBounce;box-shadow:0 24px 80px #00000040}@keyframes popupBounce{0%{opacity:0;transform:scale(.85)}to{opacity:1;transform:scale(1)}}.booking-popup-icon{margin-bottom:16px;font-size:48px;animation:.4s popupShake}@keyframes popupShake{0%,to{transform:rotate(0)}20%{transform:rotate(-12deg)}40%{transform:rotate(12deg)}60%{transform:rotate(-8deg)}80%{transform:rotate(8deg)}}.booking-popup-msg{color:var(--charcoal);margin-bottom:24px;font-size:15px;line-height:1.7}.booking-popup-close{background:var(--blue);color:var(--white);cursor:pointer;border:none;border-radius:8px;padding:12px 32px;font-family:Nunito Sans,sans-serif;font-size:14px;font-weight:700;transition:background .2s}.booking-popup-close:hover{background:var(--blue-dark)}.cal-cell.week-full{background:var(--border-light);border-color:var(--border);color:var(--grey);cursor:not-allowed;opacity:.55;position:relative}.cal-cell.week-full:after{content:"";background:repeating-linear-gradient(45deg,#0000,#0000 3px,#00000014 3px 4px);border-radius:4px;position:absolute;inset:4px}.legend-dot.week-full{background:var(--border-light);border:1.5px solid var(--border);position:relative;overflow:hidden}.cal-cell.active{background:var(--green);border-color:var(--green);color:var(--white);z-index:2;transform:scale(1.08);box-shadow:0 4px 12px #1e8b3c4d}.time-slot.past-time{background:var(--border-light);border-color:var(--border-light);color:var(--border);cursor:not-allowed;opacity:.5;text-decoration:line-through}.legend-dot.active{background:var(--green)}.live-price-bar{background:var(--charcoal);border-radius:14px;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:16px;margin-bottom:16px;padding:16px 20px;display:flex}.lpb-left{flex-wrap:wrap;align-items:center;gap:20px;display:flex}.lpb-base,.lpb-surcharge{flex-direction:column;gap:2px;display:flex}.lpb-label{letter-spacing:.1em;text-transform:uppercase;color:#fff6;font-size:10px;font-weight:700}.lpb-value{color:var(--white);font-family:Nunito,sans-serif;font-size:18px;font-weight:700}.lpb-value.surcharge-val{color:#fbbf24}.lpb-no-surcharge{color:#ffffff59;font-size:12px;font-style:italic}.lpb-total{flex-direction:column;align-items:flex-end;gap:2px;display:flex}.lpb-total-label{letter-spacing:.1em;text-transform:uppercase;color:#fff6;font-size:10px;font-weight:700}.lpb-total-amount{color:var(--white);font-family:Nunito,sans-serif;font-size:26px;font-weight:700;animation:.3s priceUpdate}@keyframes priceUpdate{0%{color:#fbbf24;transform:scale(1.1)}to{color:var(--white);transform:scale(1)}}.surcharge-breakdown{background:#fffbeb;border:1px solid #fde68a;border-radius:12px;margin-bottom:16px;padding:14px 18px}.sb-title{letter-spacing:.1em;text-transform:uppercase;color:#92400e;margin-bottom:10px;font-size:11px;font-weight:700}.sb-row{color:#78350f;border-bottom:1px solid #fde68a;justify-content:space-between;align-items:center;gap:12px;padding:5px 0;font-size:13px;display:flex}.sb-row:last-child{border-bottom:none}.sb-row span:last-child{color:#b45309;white-space:nowrap;font-weight:700}@media (max-width:640px){.live-price-bar{flex-direction:column;align-items:flex-start}.lpb-total{align-items:flex-start}}.booking-popup-actions{flex-direction:column;gap:10px;width:100%;display:flex}.booking-popup-upgrade{background:var(--green);color:var(--white);cursor:pointer;border:none;border-radius:8px;width:100%;padding:13px 32px;font-family:Nunito Sans,sans-serif;font-size:14px;font-weight:700;transition:background .2s}.booking-popup-upgrade:hover{background:var(--green-dark)}.booking-popup-close.secondary{background:var(--border-light);color:var(--charcoal-mid);cursor:pointer;border:none;border-radius:8px;width:100%;padding:12px 32px;font-family:Nunito Sans,sans-serif;font-size:14px;font-weight:600;transition:background .2s}.booking-popup-close.secondary:hover{background:var(--border)}.addon-section{border-top:1px solid var(--border-light);margin-top:28px;padding-top:24px}.addon-section-label{letter-spacing:.12em;text-transform:uppercase;color:var(--grey);justify-content:space-between;align-items:center;gap:12px;margin-bottom:16px;font-size:11px;font-weight:700;display:flex}.addon-section-note{letter-spacing:0;text-transform:none;color:var(--grey);font-size:12px;font-style:italic;font-weight:400}.addon-selected-list{flex-direction:column;gap:8px;margin-bottom:16px;display:flex}.addon-selected-item{background:var(--green-light);border:1px solid #1e8b3c33;border-radius:10px;justify-content:space-between;align-items:center;gap:12px;padding:12px 16px;display:flex}.asi-info{flex-wrap:wrap;align-items:center;gap:10px;display:flex}.asi-name{color:var(--charcoal);font-size:13px;font-weight:700}.asi-period{color:var(--grey);font-size:12px}.asi-sessions{background:var(--green);color:var(--white);border-radius:100px;padding:2px 8px;font-size:11px;font-weight:700}.asi-right{flex-shrink:0;align-items:center;gap:10px;display:flex}.asi-price{color:var(--green-dark);font-family:Nunito,sans-serif;font-size:16px;font-weight:700}.asi-remove{color:var(--grey);cursor:pointer;background:0 0;border:none;padding:2px 6px;font-size:16px;transition:color .2s}.asi-remove:hover{color:#ef4444}.addon-pills{margin-top:0}.addon-pill{border-style:dashed;position:relative}.addon-pill:hover{border-color:var(--green);border-style:solid}.addon-pill-add{color:var(--green);letter-spacing:.05em;margin-top:8px;font-size:11px;font-weight:700}.addon-total-bar{background:var(--charcoal);border-radius:14px;margin-top:20px;padding:18px 20px}.atb-row{color:#fff9;border-bottom:1px solid #ffffff14;justify-content:space-between;align-items:center;padding:6px 0;font-size:13px;display:flex}.atb-row:last-of-type{border-bottom:none}.atb-total{color:var(--white);border-top:1px solid #fff3;justify-content:space-between;align-items:center;margin-top:4px;padding-top:12px;font-size:15px;font-weight:700;display:flex}.atb-total span:last-child{color:var(--blue);font-family:Nunito,sans-serif;font-size:22px}.atb-sessions{color:#fff6;text-align:right;margin-top:8px;font-size:12px}@media (max-width:640px){.addon-selected-item{flex-direction:column;align-items:flex-start}.asi-right{justify-content:space-between;width:100%}}.pp-vip-note{color:#b8972a;background:#b8972a1a;border-radius:4px;margin-top:4px;padding:2px 6px;font-size:10px;font-weight:600;display:inline-block}.vip-calendar-notice{background:linear-gradient(135deg,#b8972a14,#d4af370d);border:1px solid #b8972a40;border-radius:14px;align-items:flex-start;gap:14px;margin-bottom:20px;padding:18px 20px;display:flex}.vcn-icon{flex-shrink:0;margin-top:2px;font-size:28px}.vcn-text strong{color:#b8972a;margin-bottom:6px;font-size:14px;font-weight:700;display:block}.vcn-text p{color:#6b7280;margin:0;font-size:13px;line-height:1.65}.whatsapp-booking-hero{text-align:center;background:linear-gradient(135deg,#1a1a2e,#2e2e4e);padding:clamp(40px,6vw,72px) 0 clamp(32px,5vw,56px)}.whatsapp-message-preview{color:#111;white-space:pre-wrap;word-break:break-word;background:#dcf8c6;border-radius:12px 12px 4px;padding:12px 14px;font-size:13px;line-height:1.65;box-shadow:0 1px 3px #0000001a}.btn-whatsapp-cta{color:#fff;cursor:pointer;background:#25d366;border:none;border-radius:12px;justify-content:center;align-items:center;gap:10px;width:100%;padding:16px;font-family:Nunito Sans,sans-serif;font-size:16px;font-weight:700;transition:background .2s,transform .15s;display:flex}.btn-whatsapp-cta:hover{background:#1ebe5d;transform:translateY(-1px)}.btn-whatsapp-cta:disabled{cursor:not-allowed;background:#d1d5db;transform:none}@media (max-width:768px){.whatsapp-booking-layout{grid-template-columns:1fr!important}.whatsapp-booking-layout>div:last-child{position:static!important}}
