@media(max-width:700px){
.booking-page .progress{margin:20px 0;gap:12px;font-size:12px}
#experience-form{padding:16px}
#experience-form h2{margin:0 0 16px}
#experience-form label{font-size:13.5px;line-height:1.3;margin:12px 0 5px}
#experience-form input,#experience-form select{font-size:16px;min-height:44px;padding:9px 10px;min-width:0}
#experience-form .field-row{gap:10px}
#experience-form .field-row>div{min-width:0}
#experience-form .field-note{font-size:12.6px;line-height:1.4;margin:10px 0}
#experience-form .coupon{padding-bottom:0;margin-bottom:12px;border-bottom:0}
#experience-form .coupon p:empty{display:none}
#experience-form .coupon p{font-size:12.6px;margin:6px 0}
#experience-form #apply{font-size:14px;min-height:44px;padding:9px 16px}
#experience-form>.booking-continue{display:block;width:100%;min-height:48px;font-size:16px;padding:12px 10px;margin:12px 0 0;text-align:center}
#experience-form .eis-plan-entry{padding:16px;margin:18px 0 0;border-radius:12px}
#experience-form .eis-plan-entry h3{font-size:21px;line-height:1.2;margin:0 0 8px}
#experience-form .eis-plan-entry p{font-size:14px;line-height:1.4;margin:0 0 12px}
#experience-form .eis-plan-entry .button{min-height:44px;padding:10px 12px;font-size:14px}
}

.summary-continue{display:none}@media(max-width:700px){.booking-layout>.summary-continue{display:block;width:100%;min-height:48px;border:0;padding:12px 10px;font-size:16px;text-align:center;margin-top:-14px}.booking-layout>.summary-continue[hidden]{display:none}}
/* Second mobile density review: keep the main heading unchanged. */
@media(max-width:700px){
#experience-form label{font-size:12px;line-height:1.25;margin:10px 0 4px}
#experience-form input,#experience-form select{font-size:14px;height:40px;min-height:40px;padding:7px 9px;border-radius:4px}
#experience-form .field-row{gap:9px}
#experience-form .field-note{font-size:11.5px;line-height:1.4;margin:8px 0}
#experience-form .coupon{margin-bottom:10px}
#experience-form .coupon p{font-size:11.5px}
#experience-form #apply{font-size:12.5px;min-height:40px;height:40px;padding:7px 13px}
#experience-form>.booking-continue,.booking-layout>.summary-continue{font-size:14px;min-height:44px;padding:10px}
#experience-form .eis-plan-entry{padding:13px;margin-top:14px}
#experience-form .eis-plan-entry h3{font-size:18px;line-height:1.25;margin-bottom:7px}
#experience-form .eis-plan-entry p{font-size:12.5px;line-height:1.4;margin-bottom:10px}
#experience-form .eis-plan-entry .button{font-size:12.5px;min-height:40px;padding:9px 10px}
.booking-summary>div{padding:16px}
.booking-summary h2{font-size:22px;line-height:1.2}
.booking-summary .eyebrow{font-size:10px;margin-bottom:10px}
.booking-summary dl{font-size:12.5px;gap:8px}
.booking-summary .amount-row{font-size:13px;margin:6px 0}
.booking-summary .amount-row.total{font-size:17px;padding-top:10px}
.booking-summary .field-note{font-size:12px;line-height:1.4}
}

/* Step 2 follows the approved Step 1 density. */
#details-form textarea{box-sizing:border-box;max-width:100%;resize:vertical}
#details-form .consent input{width:18px;height:18px;min-height:18px;padding:0;flex:0 0 18px}
@media(max-width:700px){
#details-form{padding:16px}
#details-form h2{margin:0 0 16px}
#details-form label{font-size:12px;line-height:1.25;margin:10px 0 4px}
#details-form input:not([type=checkbox]),#details-form textarea{font-size:14px;padding:7px 9px;min-width:0;border-radius:4px}
#details-form input:not([type=checkbox]){height:40px;min-height:40px}
#details-form textarea{min-height:80px;line-height:1.4}
#details-form .field-note,#details-form #send-status{font-size:11.5px;line-height:1.4;margin:8px 0}
#details-form #privacy{font-size:12px;line-height:1.4;display:inline-block;padding:8px 0}
#details-form .consent{font-size:12px;line-height:1.4;gap:8px;margin:10px 0;align-items:flex-start}
#details-form .submit{font-size:14px;min-height:44px;padding:10px;margin-top:12px}
#details-form .text-button{font-size:12px;min-height:44px;padding:10px;margin:6px auto 0}
}
@media(min-width:701px){
#details-form textarea{font-size:14px;min-height:84px;line-height:1.4}
#details-form #privacy,#details-form #send-status{font-size:12px;line-height:1.4}
#details-form #privacy{display:inline-block;padding:8px 0}
#details-form .consent{font-size:13px;line-height:1.4;gap:8px;margin:10px 0;align-items:flex-start}
#details-form .submit{font-size:15px;min-height:46px;padding:11px;margin-top:14px}
#details-form .text-button{font-size:13px;min-height:44px;padding:10px;margin:6px auto 0}
}
.summary-send{display:none}
@media(max-width:700px){.booking-layout>.summary-send{display:block;width:100%;min-height:44px;border:0;padding:10px;font-size:14px;text-align:center;margin-top:-14px}.booking-layout>.summary-send[hidden]{display:none}}

@media(min-width:701px){
.booking-page{padding-top:28px;padding-bottom:44px}.booking-page>h1{margin-top:8px;margin-bottom:24px}.booking-page>.eyebrow{margin-bottom:6px}
.booking-page .progress{font-size:13px;gap:24px;margin:20px 0 24px}
.booking-layout{grid-template-columns:minmax(0,1.3fr) minmax(300px,1fr);gap:24px}
.form-panel{padding:22px}.form-panel h2{margin:0 0 16px}
.form-panel label{font-size:13px;line-height:1.3;margin:12px 0 5px}.form-panel input,.form-panel select,.form-panel textarea{font-size:14px;padding:9px 11px;min-width:0}.form-panel input,.form-panel select{height:42px}.field-row{gap:12px}.field-row>div{min-width:0}.form-panel .field-note{font-size:12px;line-height:1.4;margin:9px 0}.form-panel .coupon{border:0;padding:0;margin-bottom:12px}.coupon p:empty{display:none}.coupon-row .button{font-size:14px;min-height:42px;padding:9px 18px}
#experience-form>.booking-continue{display:block;width:100%;font-size:15px;min-height:46px;padding:11px;margin:14px 0 0}
#experience-form .eis-plan-entry{padding:16px;margin:20px 0 0;border-radius:10px}#experience-form .eis-plan-entry h3{font-size:20px;line-height:1.25;margin:0 0 7px}#experience-form .eis-plan-entry p{font-size:13px;line-height:1.4;margin:0 0 10px}#experience-form .eis-plan-entry .button{font-size:13px;min-height:40px;padding:9px 16px}
.booking-summary{position:sticky;top:20px}.booking-summary>img{display:none}.booking-summary>div{padding:22px}.booking-summary .eyebrow{font-size:10px;margin-bottom:8px}.booking-summary h2{font-size:25px;margin:0 0 18px;line-height:1.2}.booking-summary dl{font-size:13px;gap:9px}.booking-summary .amount-row{font-size:14px;margin:8px 0}.booking-summary .amount-row.total{font-size:20px}.booking-summary .field-note{font-size:12px;line-height:1.4;margin:10px 0}.booking-summary>.summary-continue{display:block;width:calc(100% - 44px);margin:0 22px 22px;padding:11px;font-size:15px;min-height:46px;border:0}.booking-summary>.summary-continue[hidden]{display:none}
}

@media(min-width:701px){
#details-form label.consent{display:flex;align-items:center;gap:8px}
#details-form label.consent input[type=checkbox]{appearance:auto;position:static;display:block;flex:0 0 18px;width:18px;height:18px;min-height:18px;margin:0;padding:0;align-self:center}
#details-form label.consent span{display:block;margin:0;line-height:1.4}
}
