.booking-offer-page{
  --b-teal:#079c95;
  --b-teal-dark:#067f7a;
  --b-teal-soft:#eaf8f7;
  --b-navy:#12233f;
  --b-ink:#233550;
  --b-muted:#66758b;
  --b-line:#dce4eb;
  --b-soft:#f7fafb;
  --b-white:#fff;
  background:#f7f9fb;
  color:var(--b-ink);
}
.booking-offer-page .booking-header{height:74px;box-shadow:0 1px 0 rgba(18,35,63,.04);position:relative;padding-left:max(24px,calc((100% - 1500px)/2));padding-right:max(24px,calc((100% - 1500px)/2));}
.booking-offer-page .booking-logo{gap:12px;color:var(--b-navy);}
.booking-offer-page .booking-logo>svg{width:43px;height:43px;color:var(--b-teal);flex:0 0 43px;}
.booking-offer-page .booking-logo>span{width:auto;height:auto;border:0;border-radius:0;background:none;color:inherit;display:inline;}
.booking-logo-text{font-size:24px;font-weight:850;line-height:1;letter-spacing:-.7px;}
.booking-logo-text>span{color:var(--b-teal)!important;background:none!important;display:inline!important;width:auto!important;height:auto!important;}
.booking-logo-text small{display:block;font-size:8px;font-weight:650;letter-spacing:0;color:#6d7d90;margin-top:5px;}
.booking-header-actions{display:flex;gap:10px;align-items:center;}
.booking-offer-page .booking-header-actions a{border-radius:10px;padding:9px 13px;}
.booking-offer-page .booking-header-actions .header-primary{background:var(--b-teal);color:#fff;}
.booking-offer-page .booking-main{width:min(1500px,calc(100% - 36px));padding:28px 0 70px;}
.booking-offer-page .reservation-alert{max-width:none;margin-bottom:16px;}
.booking-offer-page .booking-offer-layout{display:grid;grid-template-columns:220px minmax(560px,1fr) 360px;gap:18px;align-items:start;}
.booking-benefits{background:#fff;border:1px solid var(--b-line);border-radius:12px;padding:14px;box-shadow:0 8px 26px rgba(18,35,63,.045);position:sticky;top:18px;}
.benefit-card{display:grid;grid-template-columns:38px 1fr;gap:11px;padding:15px 9px;border-bottom:1px solid #edf1f4;}
.benefit-card:last-child{border-bottom:0;}
.benefit-icon{width:36px;height:36px;border-radius:50%;display:grid;place-items:center;background:var(--b-teal-soft);color:var(--b-teal-dark);font-size:10px;font-weight:850;border:1px solid #d5efed;}
.benefit-card strong{display:block;color:var(--b-navy);font-size:13px;margin-bottom:4px;}
.benefit-card p{margin:0;color:var(--b-muted);font-size:11px;line-height:1.55;}
.booking-workspace{min-width:0;}
.booking-offer-page .booking-wizard{border:1px solid var(--b-line);border-radius:12px;box-shadow:0 8px 26px rgba(18,35,63,.045);overflow:hidden;background:#fff;}
.booking-wizard-head{border-bottom:1px solid var(--b-line);padding:19px 20px 0;}
.booking-title-row{display:flex;gap:12px;align-items:flex-start;margin-bottom:18px;}
.booking-title-icon{width:34px;height:34px;border-radius:9px;background:var(--b-teal-soft);color:var(--b-teal);display:grid;place-items:center;font-weight:900;flex:0 0 34px;}
.booking-title-row h1{font-size:20px;line-height:1.2;margin:0 0 4px;color:var(--b-navy);}
.booking-title-row p{margin:0;font-size:12px;color:var(--b-muted);line-height:1.5;}
.booking-offer-page .wizard-progress{display:grid;grid-template-columns:repeat(4,1fr);background:transparent;border:0;position:relative;}
.booking-offer-page .wizard-progress:before{content:"";position:absolute;left:12.5%;right:12.5%;top:17px;height:2px;background:#e5ebef;z-index:0;}
.booking-offer-page .wizard-progress button{position:relative;z-index:1;display:grid;justify-items:center;gap:7px;padding:0 4px 15px;border:0;color:#6f7c8e;font-size:11px;background:transparent;}
.booking-offer-page .wizard-progress button span{width:34px;height:34px;border:0;background:#edf1f4;color:#738094;font-size:12px;font-weight:800;box-shadow:0 0 0 6px #fff;}
.booking-offer-page .wizard-progress button b{font-weight:700;white-space:nowrap;}
.booking-offer-page .wizard-progress button.active{color:var(--b-teal-dark);border:0;}
.booking-offer-page .wizard-progress button.active span,.booking-offer-page .wizard-progress button.complete span{background:var(--b-teal);color:#fff;border:0;}
.booking-offer-page .wizard-progress button.complete{color:var(--b-ink);}
.booking-offer-page .wizard-step{padding:22px 20px 24px;min-height:500px;}
.section-title{margin-bottom:18px;}
.section-title h2{margin:0 0 4px;font-size:15px;color:var(--b-navy);}
.section-title p{margin:0;color:var(--b-muted);font-size:11px;line-height:1.55;}
.booking-offer-page .reservation-wizard label{font-size:11px;font-weight:750;color:var(--b-navy);gap:7px;margin-bottom:13px;}
.booking-offer-page .reservation-wizard input,.booking-offer-page .reservation-wizard select,.booking-offer-page .reservation-wizard textarea{border:1px solid var(--b-line);border-radius:7px;padding:10px 11px;font-size:12px;color:var(--b-ink);min-height:39px;box-shadow:none;}
.booking-offer-page .reservation-wizard textarea{min-height:96px;resize:vertical;}
.booking-offer-page .reservation-wizard input:focus,.booking-offer-page .reservation-wizard select:focus,.booking-offer-page .reservation-wizard textarea:focus{border-color:var(--b-teal);box-shadow:0 0 0 3px rgba(7,156,149,.11);}
.booking-offer-page .form-grid{gap:14px;}
.booking-service-row{align-items:end;}
.booking-inline-note{border:1px dashed #cddade;background:#f9fcfc;border-radius:8px;padding:10px 12px;margin-bottom:13px;min-height:61px;display:grid;align-content:center;gap:3px;}
.booking-inline-note strong{font-size:11px;color:var(--b-navy);}
.booking-inline-note span{font-size:10px;color:var(--b-muted);line-height:1.45;}
.booking-dynamic-shell{margin:5px 0 0;}
.booking-offer-page .dynamic-form-heading{border-top:1px solid #edf1f4;padding-top:16px;margin-bottom:12px;}
.booking-offer-page .dynamic-form-heading strong{font-size:13px;color:var(--b-navy);}
.booking-offer-page .dynamic-form-heading span{font-size:10px;color:var(--b-muted);}
.booking-offer-page .dynamic-fields-grid{gap:11px;}
.booking-offer-page .dynamic-label{font-size:11px;color:var(--b-navy);margin-bottom:6px;}
.booking-offer-page .dynamic-label em{color:var(--b-teal);}
.booking-offer-page .dynamic-field input[type=text],.booking-offer-page .dynamic-field input[type=number],.booking-offer-page .dynamic-field select,.booking-offer-page .dynamic-field textarea{border-radius:7px;border-color:var(--b-line);padding:9px 10px;font-size:12px;min-height:38px;}
.booking-offer-page .dynamic-field input:focus,.booking-offer-page .dynamic-field select:focus,.booking-offer-page .dynamic-field textarea:focus{border-color:var(--b-teal);box-shadow:0 0 0 3px rgba(7,156,149,.1);}
.booking-offer-page .dynamic-field small{font-size:9.5px;color:var(--b-muted);}
.booking-offer-page .dynamic-option-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;}
.booking-offer-page .dynamic-option span{min-height:39px;border-radius:7px;border-color:var(--b-line);padding:8px 10px;font-size:11px;font-weight:650;}
.booking-offer-page .dynamic-option input:checked+span{border-color:var(--b-teal);background:var(--b-teal-soft);color:var(--b-teal-dark);box-shadow:inset 0 0 0 1px rgba(7,156,149,.12);}
.booking-offer-page .dynamic-empty,.booking-offer-page .dynamic-loading,.booking-offer-page .dynamic-error{border-radius:8px;font-size:11px;padding:13px 14px;}
.booking-slot-shell{border-radius:9px;border-color:var(--b-line);padding:14px;margin:2px 0 18px;background:#fbfcfd;}
.booking-offer-page .slot-head{margin-bottom:10px;}
.booking-offer-page .slot-head strong{font-size:12px;color:var(--b-navy);}
.booking-offer-page .slot-head span{font-size:10px;}
.booking-offer-page .slot-list{grid-template-columns:repeat(5,minmax(0,1fr));gap:7px;}
.booking-offer-page .slot-button{border-radius:7px;padding:9px 5px;border-color:var(--b-line);}
.booking-offer-page .slot-button:hover,.booking-offer-page .slot-button.selected{border-color:var(--b-teal);background:var(--b-teal-soft);box-shadow:inset 0 0 0 1px rgba(7,156,149,.12);}
.booking-offer-page .slot-button strong{font-size:12px;}
.booking-offer-page .slot-button small{font-size:9px;}
.booking-contact-grid{margin-top:2px;}
.booking-offer-page .coupon-row button{background:var(--b-navy);font-size:11px;border-radius:0 7px 7px 0;}
.booking-offer-page .coupon-row input{border-radius:7px 0 0 7px;}
.booking-offer-page .wizard-actions{padding:14px 20px;border-top:1px solid var(--b-line);background:#fff;}
.booking-offer-page .button-primary,.booking-offer-page .button-secondary{border-radius:7px;padding:10px 17px;font-size:11px;min-height:40px;display:inline-flex;align-items:center;gap:9px;justify-content:center;}
.booking-offer-page .button-primary{background:var(--b-teal);}
.booking-offer-page .button-primary:hover{background:var(--b-teal-dark);}
.booking-offer-page .button-secondary{border-color:var(--b-line);}
.booking-security-strip{margin-top:12px;background:#fff;border:1px solid var(--b-line);border-radius:9px;padding:10px 13px;color:var(--b-muted);font-size:10px;display:flex;gap:8px;align-items:center;}
.booking-security-strip span{color:var(--b-teal);font-weight:900;}
.booking-preview{min-width:0;align-self:stretch;position:relative;}
.booking-offer-page .booking-preview-card{position:sticky;top:18px;padding:13px;background:#fff;border:1px solid var(--b-line);border-radius:12px;box-shadow:0 8px 26px rgba(18,35,63,.05);max-height:calc(100vh - 36px);overflow:auto;}
.booking-preview-card>h2{font-size:15px;margin:0 0 12px;color:var(--b-navy);}
.preview-brand{border:1px solid var(--b-line);border-radius:9px;padding:17px 14px;text-align:center;display:grid;justify-items:center;background:linear-gradient(180deg,#fff,#fbfdfd);}
.preview-brand-logo{display:flex;align-items:center;justify-content:center;margin-bottom:12px;width:100%;}
.preview-brand-image{display:block;width:min(170px,72%);height:auto;max-height:64px;object-fit:contain;}
.preview-brand>small{text-transform:uppercase;font-size:9px;color:var(--b-muted);font-weight:750;letter-spacing:.06em;}
.preview-total{font-size:29px;line-height:1.12;color:var(--b-teal-dark);margin-top:5px;letter-spacing:-.5px;word-break:break-word;}
.preview-price-message{font-size:9.5px;color:var(--b-muted);line-height:1.45;margin-top:4px;}
.preview-list{margin-top:10px;border:1px solid var(--b-line);border-radius:9px;padding:3px 10px;}
.preview-row{display:grid;grid-template-columns:98px minmax(0,1fr);gap:8px;padding:8px 0;border-bottom:1px solid #edf1f4;align-items:start;}
.preview-row:last-child{border-bottom:0;}
.preview-row span,.preview-dynamic-title{font-size:9.5px;color:#5e6c7f;font-weight:700;}
.preview-row strong{font-size:10px;line-height:1.45;color:var(--b-ink);font-weight:650;overflow-wrap:anywhere;}
.preview-row-block strong{font-weight:550;}
.preview-dynamic-wrap{padding:9px 0;border-bottom:1px solid #edf1f4;}
.preview-dynamic-title{margin-bottom:6px;}
.preview-dynamic{display:grid;gap:5px;}
.preview-dynamic-item{display:grid;grid-template-columns:minmax(78px,.8fr) minmax(0,1.2fr);gap:8px;align-items:start;}
.preview-dynamic-item span{font-size:9px;color:#758297;line-height:1.35;}
.preview-dynamic-item strong{font-size:9.5px;color:var(--b-ink);font-weight:650;line-height:1.4;overflow-wrap:anywhere;}
.preview-empty{font-size:9.5px;color:#8995a5;line-height:1.45;padding:3px 0;}
.preview-info{margin:10px 0;display:flex;gap:8px;align-items:flex-start;color:var(--b-muted);font-size:9.5px;line-height:1.5;}
.preview-info>span{width:18px;height:18px;border:1px solid #c8d4dc;border-radius:50%;display:grid;place-items:center;flex:0 0 18px;font-weight:800;color:var(--b-teal-dark);}
.preview-info p{margin:0;}
.preview-submit{width:100%;border:0;border-radius:7px;background:var(--b-teal);color:#fff;padding:11px 14px;font-size:12px;font-weight:800;cursor:pointer;display:flex;align-items:center;justify-content:center;gap:8px;}
.preview-submit:hover{background:var(--b-teal-dark);}
.booking-mobile-submit{display:none!important;}
.booking-offer-page .final-summary{gap:8px;margin-bottom:16px;}
.booking-offer-page .final-summary>div{border-radius:8px;padding:11px;border-color:var(--b-line);}
.booking-offer-page .final-summary span{font-size:9.5px;}
.booking-offer-page .final-summary strong{font-size:11px;}
.booking-offer-page .final-summary .total{background:var(--b-teal-soft);border-color:#c7e9e6;}
.booking-offer-page .final-summary .total strong{font-size:22px;color:var(--b-teal-dark);}
.booking-offer-page .consent-row a{color:var(--b-teal-dark);}
.booking-consents{border-top:1px solid #edf1f4;padding-top:14px;}
.booking-offer-page .consent-row{font-size:10.5px!important;line-height:1.55;}
@media(max-width:1280px){
  .booking-offer-page .booking-main{width:min(1180px,calc(100% - 28px));}
  .booking-offer-page .booking-offer-layout{grid-template-columns:minmax(0,1fr) 340px;}
  .booking-benefits{display:none;}
}
@media(max-width:920px){
  .booking-offer-page .booking-offer-layout{grid-template-columns:1fr;}
  .booking-preview{order:2;}
  .booking-offer-page .booking-preview-card{position:static;max-height:none;}
  .booking-workspace{order:1;}
  .booking-offer-page .preview-submit{display:none!important;}
  .booking-offer-page .booking-mobile-submit:not(.hidden){display:inline-flex!important;}
}
@media(max-width:700px){
  .booking-offer-page .booking-header{height:66px;padding:0 12px;}
  .booking-logo-text{font-size:19px;}
  .booking-logo-text small{display:none;}
  .booking-offer-page .booking-logo>svg{width:36px;height:36px;flex-basis:36px;}
  .booking-header-actions>a:first-child{display:none;}
  .booking-offer-page .booking-main{width:calc(100% - 16px);padding:18px 0 45px;}
  .booking-wizard-head{padding:16px 13px 0;}
  .booking-title-row h1{font-size:18px;}
  .booking-title-row p{font-size:10.5px;}
  .booking-offer-page .wizard-progress button b{display:none;}
  .booking-offer-page .wizard-progress:before{left:13%;right:13%;}
  .booking-offer-page .wizard-progress button{padding-bottom:11px;}
  .booking-offer-page .wizard-progress button span{width:30px;height:30px;box-shadow:0 0 0 4px #fff;}
  .booking-offer-page .wizard-progress:before{top:15px;}
  .booking-offer-page .wizard-step{padding:18px 13px;min-height:0;}
  .booking-offer-page .form-grid.two,.booking-offer-page .form-grid.three{grid-template-columns:1fr;}
  .booking-inline-note{margin-top:-5px;}
  .booking-offer-page .dynamic-fields-grid{grid-template-columns:1fr;}
  .booking-offer-page .dynamic-field,.booking-offer-page .dynamic-field.width-half,.booking-offer-page .dynamic-field.width-third{grid-column:1/-1;}
  .booking-offer-page .dynamic-option-grid{grid-template-columns:repeat(2,minmax(0,1fr));}
  .booking-offer-page .slot-list{grid-template-columns:repeat(3,minmax(0,1fr));}
  .booking-offer-page .wizard-actions{padding:12px 13px;}
  .preview-row{grid-template-columns:86px minmax(0,1fr);}
}
@media(max-width:420px){
  .booking-offer-page .dynamic-option-grid,.booking-offer-page .slot-list{grid-template-columns:repeat(2,minmax(0,1fr));}
}


/* Typography scale: one step larger for readability. */
.booking-offer-page .benefit-card strong{font-size:14px;}
.booking-offer-page .benefit-card p{font-size:12px;}
.booking-offer-page .booking-title-row h1{font-size:21px;}
.booking-offer-page .booking-title-row p{font-size:13px;}
.booking-offer-page .wizard-progress button{font-size:12px;}
.booking-offer-page .wizard-progress button span{font-size:13px;}
.booking-offer-page .section-title h2{font-size:16px;}
.booking-offer-page .section-title p{font-size:12px;}
.booking-offer-page .reservation-wizard label{font-size:12px;}
.booking-offer-page .reservation-wizard input,
.booking-offer-page .reservation-wizard select,
.booking-offer-page .reservation-wizard textarea{font-size:13px;}
.booking-offer-page .booking-inline-note strong{font-size:12px;}
.booking-offer-page .booking-inline-note span{font-size:11px;}
.booking-offer-page .dynamic-form-heading strong{font-size:14px;}
.booking-offer-page .dynamic-form-heading span{font-size:11px;}
.booking-offer-page .dynamic-label{font-size:12px;}
.booking-offer-page .dynamic-field input[type=text],
.booking-offer-page .dynamic-field input[type=number],
.booking-offer-page .dynamic-field select,
.booking-offer-page .dynamic-field textarea{font-size:13px;}
.booking-offer-page .dynamic-field small{font-size:10.5px;}
.booking-offer-page .dynamic-option span{font-size:12px;}
.booking-offer-page .dynamic-empty,
.booking-offer-page .dynamic-loading,
.booking-offer-page .dynamic-error{font-size:12px;}
.booking-offer-page .slot-head strong{font-size:13px;}
.booking-offer-page .slot-head span{font-size:11px;}
.booking-offer-page .slot-button strong{font-size:13px;}
.booking-offer-page .slot-button small{font-size:10px;}
.booking-offer-page .coupon-row button{font-size:12px;}
.booking-offer-page .button-primary,
.booking-offer-page .button-secondary{font-size:12px;}
.booking-offer-page .booking-security-strip{font-size:11px;}
.booking-offer-page .booking-preview-card>h2{font-size:16px;}
.booking-offer-page .preview-brand>small{font-size:10px;}
.booking-offer-page .preview-total{font-size:31px;}
.booking-offer-page .preview-price-message{font-size:10.5px;}
.booking-offer-page .preview-row span,
.booking-offer-page .preview-dynamic-title{font-size:10.5px;}
.booking-offer-page .preview-row strong{font-size:11px;}
.booking-offer-page .preview-dynamic-item span{font-size:10px;}
.booking-offer-page .preview-dynamic-item strong{font-size:10.5px;}
.booking-offer-page .preview-empty{font-size:10.5px;}
.booking-offer-page .preview-info{font-size:10.5px;}
.booking-offer-page .preview-submit{font-size:13px;}
.booking-offer-page .final-summary span{font-size:10.5px;}
.booking-offer-page .final-summary strong{font-size:12px;}
.booking-offer-page .final-summary .total strong{font-size:23px;}
.booking-offer-page .consent-row{font-size:11.5px!important;}
@media(max-width:700px){
  .booking-offer-page .booking-title-row h1{font-size:20px;}
  .booking-offer-page .booking-title-row p{font-size:11.5px;}
}

/* Reservation UX follow-up: keep preview tracking the viewport and clarify dynamic form hierarchy. */
.booking-offer-page .dynamic-form-heading strong{
  font-size:15px;
  font-weight:850;
  color:var(--b-navy);
  letter-spacing:-.01em;
}
.booking-offer-page .dynamic-form-heading span{
  font-weight:400;
  color:#748196;
}
.booking-offer-page .dynamic-label{
  font-size:13px;
  font-weight:800;
  color:var(--b-navy);
  letter-spacing:-.01em;
}
.booking-offer-page .dynamic-option span{
  font-size:12px;
  font-weight:400;
  color:#41516a;
  line-height:1.4;
}
.booking-offer-page .dynamic-option input:checked+span{
  font-weight:500;
}
.booking-offer-page .dynamic-field select{
  font-weight:400;
}
@media(max-width:920px){
  .booking-preview{align-self:auto;}
}



/* Service note media attachments + mobile quote preview. */
.booking-media-upload{margin-top:2px;border:1px solid var(--b-line);border-radius:10px;padding:13px;background:#fbfcfd;display:grid;grid-template-columns:minmax(0,1fr) auto;gap:9px 12px;align-items:center;}
.booking-media-copy{display:grid;gap:3px;}
.booking-media-copy strong{font-size:13px;color:var(--b-navy);font-weight:800;}
.booking-media-copy span{font-size:11px;color:var(--b-muted);line-height:1.45;}
.booking-media-input{position:absolute!important;width:1px!important;height:1px!important;opacity:0!important;overflow:hidden!important;pointer-events:none!important;}
.booking-offer-page .booking-media-picker{margin:0!important;display:inline-flex!important;align-items:center;justify-content:center;gap:7px;min-height:38px;padding:8px 12px;border:1px solid #b9d8d6;border-radius:7px;background:var(--b-teal-soft);color:var(--b-teal-dark)!important;font-size:12px!important;font-weight:750!important;cursor:pointer;white-space:nowrap;}
.booking-media-picker>span{font-size:17px;line-height:1;}
.booking-media-list{grid-column:1/-1;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;}
.booking-media-empty{grid-column:1/-1;border:1px dashed #d6dfe6;border-radius:8px;padding:10px 11px;color:#7b8798;font-size:11px;background:#fff;}
.booking-media-item{display:grid;grid-template-columns:48px minmax(0,1fr) 26px;gap:8px;align-items:center;border:1px solid #e1e7ec;border-radius:8px;padding:7px;background:#fff;min-width:0;}
.booking-media-item>img,.booking-media-type{width:48px;height:42px;border-radius:6px;object-fit:cover;background:#eef5f5;display:grid;place-items:center;}
.booking-media-type{font-size:8px;font-weight:850;color:var(--b-teal-dark);letter-spacing:.04em;}
.booking-media-item>div{min-width:0;display:grid;gap:2px;}
.booking-media-item strong{font-size:11px;color:var(--b-navy);font-weight:650;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;}
.booking-media-item small{font-size:9.5px;color:var(--b-muted);}
.booking-media-item button{border:0;background:#f2f5f7;color:#66758b;width:26px;height:26px;border-radius:50%;font-size:17px;line-height:1;cursor:pointer;}
.booking-media-item button:hover{background:#e8edef;color:var(--b-navy);}
.booking-media-help{grid-column:1/-1;color:#7b8798;font-size:10px;line-height:1.45;}
.booking-mobile-preview-trigger,.booking-mobile-preview-close{display:none;}

@media(max-width:920px){
  .booking-offer-page .booking-main{padding-bottom:94px;}
  .booking-mobile-preview-trigger{display:flex;position:fixed;left:14px;right:14px;bottom:max(12px,env(safe-area-inset-bottom));z-index:109;min-height:48px;border:0;border-radius:10px;background:var(--b-navy);color:#fff;align-items:center;justify-content:center;gap:8px;font-size:13px;font-weight:800;box-shadow:0 12px 30px rgba(18,35,63,.23);cursor:pointer;}
  .booking-mobile-preview-trigger span{font-size:17px;color:#77d3cf;}
  .booking-preview{display:none;position:fixed!important;inset:0!important;z-index:120!important;background:rgba(12,25,45,.58);padding:52px 10px max(12px,env(safe-area-inset-bottom));overflow:auto;order:initial!important;align-self:auto!important;}
  .booking-preview.is-mobile-open{display:block;}
  .booking-offer-page .booking-preview-card{position:relative!important;top:auto!important;max-height:calc(100dvh - 66px)!important;overflow:auto!important;margin:0 auto;width:min(100%,520px);border-radius:14px;padding-top:15px;box-shadow:0 24px 60px rgba(8,19,34,.28);}
  .booking-mobile-preview-close{display:grid;position:sticky;top:0;margin-left:auto;margin-bottom:-28px;z-index:2;width:30px;height:30px;border:0;border-radius:50%;place-items:center;background:#eef2f4;color:var(--b-navy);font-size:22px;line-height:1;cursor:pointer;}
  body.booking-preview-open{overflow:hidden;}
}
@media(max-width:700px){
  .booking-media-upload{grid-template-columns:1fr;}
  .booking-offer-page .booking-media-picker{width:100%;}
  .booking-media-list{grid-template-columns:1fr;}
}


/* Mobile quote button visibility hotfix: force the trigger above site chrome and browser safe-area. */
@media screen and (max-width:1024px){
  body.booking-offer-page{padding-bottom:calc(128px + env(safe-area-inset-bottom));}
  .booking-offer-page .booking-main{padding-bottom:calc(142px + env(safe-area-inset-bottom));}
  .booking-offer-page .booking-mobile-preview-trigger{
    display:flex!important;
    visibility:visible!important;
    opacity:1!important;
    pointer-events:auto!important;
    position:fixed!important;
    left:auto!important;
    right:14px!important;
    bottom:calc(84px + env(safe-area-inset-bottom))!important;
    z-index:2147483000!important;
    width:auto!important;
    min-width:146px!important;
    max-width:calc(100vw - 28px)!important;
    min-height:46px!important;
    padding:0 17px!important;
    align-items:center!important;
    justify-content:center!important;
    gap:7px!important;
    border:1px solid rgba(255,255,255,.16)!important;
    border-radius:999px!important;
    background:var(--b-navy)!important;
    color:#fff!important;
    font-size:13px!important;
    font-weight:850!important;
    line-height:1!important;
    box-shadow:0 10px 28px rgba(18,35,63,.26)!important;
  }
  .booking-offer-page .booking-mobile-preview-trigger span{font-size:18px!important;color:#77d3cf!important;}
  .booking-offer-page .booking-preview{
    display:none;
    position:fixed!important;
    inset:0!important;
    z-index:2147483001!important;
    background:rgba(12,25,45,.58)!important;
    padding:52px 10px calc(12px + env(safe-area-inset-bottom))!important;
    overflow:auto!important;
    order:initial!important;
    align-self:auto!important;
  }
  .booking-offer-page .booking-preview.is-mobile-open{display:block!important;}
  .booking-offer-page .booking-mobile-preview-close{display:grid!important;}
}
@media screen and (min-width:1025px){
  .booking-offer-page .booking-mobile-preview-trigger{display:none!important;}
}


/* Keep the floating quote trigger clear of the site's mobile bottom navigation. */
@media screen and (max-width:1024px){
  body.booking-preview-open .booking-mobile-preview-trigger{display:none!important;}
}
