:root{--ink:#293a35;--green:#35685f;--paper:#fbf8f2;--line:#deddd8;--soft:#edf3ee;--muted:#68756f}*{box-sizing:border-box}body{margin:0;background:var(--paper);color:var(--ink);font:16px/1.45 Arial,sans-serif}button,input,textarea{font:inherit}button{cursor:pointer}.site-header{margin:0 32px;padding:24px 0 17px;border-bottom:1px solid #ddd;display:flex;align-items:center;justify-content:space-between;gap:22px}.brand{display:inline-flex;align-items:center;gap:6px;font-size:18px;letter-spacing:.16em;font-weight:800;text-decoration:none;color:var(--ink)}.brand small{display:inline;font-size:12px;color:var(--green);margin:0;letter-spacing:.18em}.header-actions{display:flex;align-items:center;gap:7px;flex-wrap:wrap}.quiet{background:transparent;border:0;color:#40574f;padding:10px;font-weight:700}.cart-button,.primary{background:var(--green);color:#fff;border:0;border-radius:8px;padding:12px 18px;font-weight:800}.cart-button b{display:inline-grid;place-items:center;min-width:22px;height:22px;margin-left:5px;border-radius:50%;background:#fff;color:var(--green);font-size:12px}.language{border-left:1px solid var(--line)}main{max-width:1280px;margin:auto;padding:40px 32px 72px}.hero{background:var(--green);color:#fff;border-radius:23px;padding:52px 58px}.hero>p,.eyebrow,.flow-heading>p,.confirmation>p,.group-panel>p:first-of-type,.catalog-heading p{font-size:12px;letter-spacing:.14em;font-weight:800}.hero h1,h2,h3{font-family:Georgia,serif}.hero h1{font-size:clamp(38px,5vw,58px);line-height:.94;margin:17px 0}.hero>span{font-size:17px}.hero>div{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;margin-top:37px;max-width:830px}.hero button{background:var(--soft);color:#315d55;border:0;border-radius:12px;text-align:left;padding:19px;font-size:16px}.hero button strong,.hero button small{display:block}.hero button strong{font-size:19px;line-height:1.2}.hero button small{font-weight:400;margin-top:7px}.steps{display:flex;justify-content:center;gap:28px;margin:35px 0 20px;padding:0;list-style:none;color:var(--muted);font-weight:700}.steps .active{color:var(--green);border-bottom:2px solid var(--green);padding-bottom:7px}.categories{display:flex;justify-content:center;gap:22px;margin:32px 0;flex-wrap:wrap}.categories button{border:0;background:transparent;color:#52625c;font-weight:700;padding:8px 0}.categories button.active{color:var(--green);border-bottom:2px solid var(--green)}.catalog-heading{display:flex;align-items:end;justify-content:space-between;gap:25px}.catalog-heading h2,.flow-heading h2,.group-panel h2{font-size:40px;line-height:1;margin:4px 0}.search{display:flex;align-items:center;border:1px solid var(--line);border-radius:8px;background:#fff}.search input{border:0;background:transparent;padding:12px;min-width:260px}.search button{border:0;background:transparent;color:var(--green);font-weight:700;padding-right:12px}.cards{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px;margin-top:25px}.card{min-height:250px;padding:28px 23px;background:#fff;border:1px solid var(--line);border-radius:6px;text-align:center;display:flex;flex-direction:column}.category{letter-spacing:.15em;font-size:11px;color:var(--muted)}.card h3{font-size:24px;line-height:1.15;margin:25px 0 10px}.card p{color:var(--muted);margin:0}.card-bottom{border-top:1px solid #e4e1db;margin-top:auto;padding-top:18px;display:flex;justify-content:space-between;align-items:center;text-align:left;color:var(--muted)}.card-bottom strong{color:var(--ink);margin-left:8px}.card-bottom button{border:0;border-radius:20px;background:#47786e;color:#fff;padding:10px 16px;font-size:14px;font-weight:800}.empty{padding:35px;color:var(--muted);text-align:center}.booking-flow,.group-panel,.confirmation{max-width:760px;margin:28px auto;background:#fff;border:1px solid var(--line);border-radius:12px;padding:34px}.back{border:0;background:transparent;color:var(--green);font-weight:800;padding:0}.flow-heading{margin:25px 0}.flow-heading h2{font-size:36px}.flow-heading>p:last-child{color:var(--muted);letter-spacing:0;font-size:16px;font-weight:400}.schedule-grid{display:grid;grid-template-columns:210px 1fr;gap:30px;margin:25px 0}.booking-flow label,.details-form label,.group-panel label{display:grid;gap:8px;font-weight:700}.booking-flow input,.details-form input,.details-form textarea,.group-panel input{border:1px solid #b8c4be;border-radius:7px;padding:13px;background:#fff;color:var(--ink)}.field-label{font-weight:700;margin:0 0 8px}.field-help{color:var(--muted);font-size:14px}.time-slots{display:flex;gap:8px;flex-wrap:wrap}.time-slots button,.duration-options button{padding:10px 14px;border:1px solid #b8c4be;border-radius:7px;background:#fff;color:var(--ink);font-weight:700}.time-slots button.selected,.duration-options button.selected{border-color:var(--green);background:var(--soft);color:#244b44}.details-form{display:grid;grid-template-columns:1fr 1fr;gap:18px}.details-form .wide{grid-column:1/-1}.details-form textarea{min-height:105px;resize:vertical}.details-form span{font-weight:400;color:var(--muted)}.details-form .consent{display:flex;align-items:flex-start;font-weight:400}.consent input{margin-top:4px}.details-form .primary{justify-self:start}.review-card{padding:22px;border:1px solid var(--line);border-radius:8px;margin-bottom:20px}.review-card p{line-height:1.6}.review-card hr{border:0;border-top:1px solid var(--line);margin:20px 0}.sheet{width:min(610px,calc(100vw - 28px));border:0;border-radius:14px;padding:34px;box-shadow:0 20px 70px #0004;color:var(--ink)}.sheet::backdrop{background:#17312b88}.close{float:right;border:0;background:transparent;font-size:28px;color:var(--ink)}.sheet h2{font-size:34px;margin:4px 0}.duration-options{display:flex;gap:10px;flex-wrap:wrap;margin:24px 0}.duration-options button{display:grid;gap:2px;text-align:left}.add-on{display:flex;align-items:center;gap:8px;padding:13px 0;border-top:1px solid var(--line)}.add-on strong{margin-left:auto}.add-on small{color:var(--muted)}.cart-line{display:flex;justify-content:space-between;gap:15px;padding:14px 0;border-top:1px solid var(--line)}.cart-line span{display:block;color:var(--muted);font-size:14px}.cart-line button,.secondary{border:1px solid #9fb1aa;border-radius:8px;background:#fff;color:#315d55;padding:10px 14px;font-weight:800}.cart-total{display:grid;gap:7px;padding:20px 0;margin-bottom:15px}.cart-total span{display:flex;justify-content:space-between}.cart-lines+.cart-total{border-top:1px solid var(--line)}.sheet .primary,.sheet .secondary{margin:6px 5px 0 0}.confirmation{text-align:center;padding:55px}.confirmation h1{font:42px Georgia,serif;margin:5px}.confirmation-actions{display:flex;justify-content:center;gap:10px;margin-top:26px}.confirmation-actions a{text-decoration:none}.group-panel{display:grid;gap:16px}.group-panel h2{margin:0}.sr-only{position:absolute;inline-size:1px;block-size:1px;overflow:hidden;clip-path:inset(50%)}
@media(max-width:760px){.site-header{margin:0 18px;padding:18px 0;align-items:flex-start}.header-actions{justify-content:flex-end}.header-actions .quiet:not(.language){display:none}main{padding:25px 18px 54px}.hero{padding:34px 24px;border-radius:16px}.hero>div,.cards{grid-template-columns:1fr}.steps{justify-content:flex-start;gap:15px;font-size:13px;overflow:auto}.categories{justify-content:flex-start;gap:18px;flex-wrap:nowrap;overflow:auto}.catalog-heading{align-items:stretch;display:grid}.search input{min-width:0;width:100%}.schedule-grid,.details-form{grid-template-columns:1fr}.booking-flow,.group-panel,.confirmation{padding:25px 20px}.card{min-height:210px}.catalog-heading h2,.flow-heading h2{font-size:34px}}
:root{--booking-flow-extra:1}.custom-tools{margin:0 0 22px;padding:17px 19px;border:1px solid #c8d6cf;border-radius:10px;background:var(--soft);display:flex;align-items:center;justify-content:space-between;gap:12px}.custom-tools p{margin:0;font-weight:700;color:#315d55}.custom-tools div{display:flex;gap:8px;flex-wrap:wrap}.guest{margin:0;padding:16px;border:1px solid var(--line);border-radius:8px;display:grid;grid-template-columns:1fr 1fr;gap:14px}.guest legend{padding:0 5px;color:#315d55;font-weight:800}.guest .wide{grid-column:1/-1}.group-panel select,.details-form select{border:1px solid #b8c4be;border-radius:7px;padding:13px;background:#fff;color:var(--ink);width:100%}
.guided-create-page{max-width:820px}.guided-create-page>#create-categories,.guided-create-page>.catalog-heading{display:none!important}.guided-create-page>.flow-heading{margin-bottom:17px}.guided-create-page>.custom-tools{margin-bottom:13px}.custom-expanded-builder{display:grid;gap:15px}.custom-service-group{display:grid;gap:10px;padding:17px;border:1px solid #d4ddd8;border-radius:11px;background:#f9fbfa}.custom-service-group>header{padding-bottom:10px;border-bottom:1px solid #dce4e0}.custom-service-group>header h3{display:flex;align-items:center;justify-content:space-between;gap:10px;margin:0;color:#294d45;font:700 23px/1.25 Georgia,serif}.custom-service-group>header h3 span{padding:4px 7px;border-radius:999px;background:#e7efeb;color:#4c6760;font:800 11px/1 Arial,sans-serif;text-transform:uppercase;letter-spacing:.06em}.custom-expanded-service{display:grid;gap:12px;padding:15px;border:1px solid #d7ddd9;border-radius:9px;background:#fff}.custom-expanded-service.selected{border-color:#8eb1a6;box-shadow:inset 4px 0 #35685f}.custom-service-heading{display:flex;align-items:flex-start;justify-content:space-between;gap:12px}.custom-service-heading h4{margin:0;font-size:18px;line-height:1.25}.custom-service-heading p{margin:4px 0 0;color:var(--muted);font-size:13px;line-height:1.35}.selected-mark{flex:none;color:#35685f;font-size:12px;font-weight:800}.custom-duration-row{display:flex;gap:8px;flex-wrap:wrap}.custom-check-option{display:flex!important;align-items:flex-start;gap:8px!important;min-width:126px;padding:10px 11px;border:1px solid #b8c8c1;border-radius:8px;background:#fff;cursor:pointer;font-weight:400!important}.custom-check-option.selected{border-color:#739d91;background:#edf5f1}.custom-check-option input{flex:none;width:17px!important;height:17px;margin:2px 0 0;padding:0!important}.custom-check-option>span{display:grid;gap:2px}.custom-check-option>span>span,.custom-check-option .sale-price{color:var(--muted);font-size:13px}.custom-service-addons{display:grid;gap:9px;padding-top:12px;border-top:1px solid #e0e5e2}.custom-addon-heading{display:flex;align-items:start;justify-content:space-between;gap:12px}.custom-addon-heading>div{display:grid;gap:2px}.custom-addon-heading small{color:var(--muted);font-size:12px}.custom-addon-placeholder{margin:0;padding-top:10px;border-top:1px solid #e0e5e2;color:var(--muted);font-size:12px}.text-button{border:0;background:transparent;color:#35685f;padding:2px;font-weight:800}.custom-inline-addons{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:7px}.custom-inline-addons label{display:flex;align-items:flex-start;gap:8px!important;min-height:55px;padding:9px 10px;border:1px solid #d2dcd7;border-radius:8px;background:#fbfcfb;cursor:pointer;font-weight:400!important}.custom-inline-addons label:has(input:checked){border-color:#739d91;background:#edf5f1}.custom-inline-addons input{flex:none;width:17px!important;height:17px;margin:2px 0 0;padding:0!important}.custom-inline-addons span{display:grid;gap:2px}.custom-inline-addons small{color:var(--muted);font-size:12px}.custom-builder-footer{position:sticky;z-index:12;bottom:9px;display:flex;align-items:center;justify-content:space-between;gap:13px;padding:11px 12px;border:1px solid #94afa6;border-radius:10px;background:#f1f7f4;box-shadow:0 7px 22px #18342a26}.custom-builder-footer>div{display:grid;gap:2px}.custom-builder-footer small{color:var(--muted);font-size:12px}.custom-builder-footer .primary{flex:none}
@media(max-width:760px){.guided-create-page{padding:18px 13px}.guided-create-page>.back{margin-left:2px}.guided-create-page>.flow-heading{margin:14px 2px}.guided-create-page>.flow-heading h2{font-size:29px}.guided-create-page>.custom-tools{display:grid;padding:12px}.guided-create-page>.custom-tools>div:last-child{display:grid;grid-template-columns:1fr 1fr}.guided-create-page>.custom-tools button{padding:9px}.custom-service-group{padding:11px}.custom-expanded-service{padding:12px}.custom-duration-row{display:grid;grid-template-columns:repeat(2,minmax(0,1fr))}.custom-check-option{min-width:0}.custom-inline-addons{grid-template-columns:1fr}.custom-builder-footer{margin:0 -2px}.custom-builder-footer .primary{padding:10px 12px}}
html.mobile-preview .guided-create-page{padding:18px 13px}html.mobile-preview .guided-create-page>.back{margin-left:2px}html.mobile-preview .guided-create-page>.flow-heading{margin:14px 2px}html.mobile-preview .guided-create-page>.flow-heading h2{font-size:29px}html.mobile-preview .guided-create-page>.custom-tools{display:grid;padding:12px}html.mobile-preview .guided-create-page>.custom-tools>div:last-child{display:grid;grid-template-columns:1fr 1fr}html.mobile-preview .guided-create-page>.custom-tools button{padding:9px}html.mobile-preview .custom-service-group{padding:11px}html.mobile-preview .custom-expanded-service{padding:12px}html.mobile-preview .custom-duration-row{display:grid;grid-template-columns:repeat(2,minmax(0,1fr))}html.mobile-preview .custom-check-option{min-width:0}html.mobile-preview .custom-inline-addons{grid-template-columns:1fr}html.mobile-preview .custom-builder-footer{margin:0 -2px}html.mobile-preview .custom-builder-footer .primary{padding:10px 12px}

/* Create Your Own: one continuous checklist, following the approved mobile reference. */
.guided-create-page{max-width:700px}.guided-create-page>.flow-heading{text-align:center}.guided-create-page>.custom-tools{padding:10px 12px;background:#fff}.guided-create-page>.custom-tools>div:first-child>p,.guided-create-page>.custom-tools>div:first-child>h3{display:none}.guided-create-page>.custom-tools>div:first-child{align-items:center}.custom-expanded-builder{gap:19px}.custom-service-group{gap:10px;padding:0;border:0;border-radius:0;background:transparent}.custom-service-group+ .custom-service-group{padding-top:4px;border-top:1px solid #e0e2df}.custom-service-group>header{padding:0;border:0}.custom-service-group>header h3{justify-content:flex-start;font:400 22px/1.25 Arial,sans-serif}.custom-service-group>header h3 b{font-weight:800}.custom-service-group>header h3 span{padding:0;background:transparent;color:var(--ink);font:400 18px/1.25 Arial,sans-serif;text-transform:none;letter-spacing:0}.custom-service-group>header h3 span:before{content:'('}.custom-service-group>header h3 span:after{content:')'}.custom-expanded-service,.custom-expanded-service.selected{gap:11px;padding:17px 18px;border:1px solid #d1d5d2;border-radius:7px;background:#fff;box-shadow:0 2px 6px #1b302812}.custom-expanded-service.selected{box-shadow:0 2px 6px #1b302812}.custom-service-heading h4{font-size:20px}.selected-mark{display:none}.custom-duration-row{display:grid;grid-template-columns:1fr;gap:0}.custom-check-option,.custom-check-option.selected{min-width:0;padding:8px 0;border:0;border-radius:0;background:transparent}.custom-check-option input,.custom-inline-addons input{accent-color:#35685f}.custom-check-option input[type="radio"]{width:20px!important;height:20px}.custom-check-option>span{display:flex;align-items:baseline;gap:7px}.custom-check-option>span>strong{font-size:17px}.custom-check-option>span>.sale-price,.custom-check-option>span>strong+strong{font-size:16px}.custom-service-addons{gap:7px;margin-top:3px;padding-top:13px}.custom-addon-heading>div>strong{font-size:17px}.custom-addon-heading small{display:none}.custom-inline-addons{grid-template-columns:1fr;gap:0}.custom-inline-addons label,.custom-inline-addons label:has(input:checked){min-height:0;padding:7px 0;border:0;border-radius:0;background:transparent}.custom-inline-addons input{width:20px!important;height:20px}.custom-inline-addons span{display:flex;align-items:baseline;justify-content:space-between;gap:12px;width:100%}.custom-inline-addons span strong{font-size:16px}.custom-inline-addons span small{flex:none;font-size:14px}.custom-addon-placeholder{padding-top:12px}.custom-builder-footer{bottom:0;margin:0 -18px -18px;padding:11px 18px;border-width:1px 0 0;border-radius:0;background:#fff;box-shadow:0 -7px 20px #17312b18}.custom-total-estimate{display:flex!important;align-items:baseline;gap:6px!important}.custom-total-estimate span{font-size:14px}.custom-total-estimate strong{font-size:19px}.custom-total-estimate small{margin-left:3px}.custom-builder-footer .primary{border-radius:6px}
@media(max-width:760px){.guided-create-page{padding:16px 12px}.guided-create-page>.flow-heading{margin:12px 0}.guided-create-page>.flow-heading>p:first-child,.guided-create-page>.flow-heading>p:last-child{display:none}.guided-create-page>.flow-heading h2{font:800 28px/1.1 Arial,sans-serif}.guided-create-page>.custom-tools{margin-bottom:17px}.guided-create-page>.custom-tools>div:last-child{display:flex}.custom-service-group{padding:0}.custom-expanded-service{padding:15px}.custom-builder-footer{margin:0 -12px -16px;padding:10px 12px}.custom-total-estimate small{display:none}.custom-builder-footer .primary{padding:10px 13px}}
html.mobile-preview .guided-create-page{padding:16px 12px}html.mobile-preview .guided-create-page>.flow-heading{margin:12px 0}html.mobile-preview .guided-create-page>.flow-heading>p:first-child,html.mobile-preview .guided-create-page>.flow-heading>p:last-child{display:none}html.mobile-preview .guided-create-page>.flow-heading h2{font:800 28px/1.1 Arial,sans-serif}html.mobile-preview .guided-create-page>.custom-tools{margin-bottom:17px}html.mobile-preview .guided-create-page>.custom-tools>div:last-child{display:flex}html.mobile-preview .custom-service-group{padding:0}html.mobile-preview .custom-expanded-service{padding:15px}html.mobile-preview .custom-duration-row{grid-template-columns:1fr}html.mobile-preview .custom-builder-footer{margin:0 -12px -16px;padding:10px 12px}html.mobile-preview .custom-total-estimate small{display:none}html.mobile-preview .custom-builder-footer .primary{padding:10px 13px}
.room-service-card{margin:0;padding:18px;border:1px solid #b8c9c1;border-radius:10px;background:#f8fbf9;display:grid;grid-template-columns:1fr 1fr;gap:14px}.room-service-card>legend{padding:0 7px;color:#315d55;font-weight:800}.room-service-card>.guest{background:#fff}.room-service-card[data-room-type="single"]>.guest{grid-column:1/-1}.room-service-picker{grid-column:1/-1;display:grid;gap:10px}.room-step-label{margin:2px 0 0;color:#315d55;font-size:14px;font-weight:800}.room-category-options{display:flex;gap:8px;overflow-x:auto;padding-bottom:2px}.room-category-options button{min-height:42px;padding:9px 13px;border:1px solid #9fb1aa;border-radius:999px;background:#fff;color:#315d55;font-weight:800;white-space:nowrap}.room-category-options button.selected{border-color:#315d55;background:#315d55;color:#fff}.room-service-options{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}.room-service-option{display:flex!important;grid-template-columns:none!important;align-items:flex-start;gap:9px!important;min-height:68px;padding:12px;border:1px solid #b8c4be;border-radius:8px;background:#fff;font-weight:400!important;cursor:pointer}.room-service-option:has(input:checked){border:2px solid #35685f;background:#edf3ee}.room-service-option input{width:auto!important;margin:3px 0 0;padding:0}.room-service-option span{display:grid;gap:3px}.room-service-option strong{color:var(--ink)}.room-service-option small{color:var(--muted);font-size:13px}.room-service-option.not-sure{border-style:dashed}.room-service-options>.field-help{grid-column:1/-1;margin:0}@media(max-width:760px){.room-service-card,.room-service-options{grid-template-columns:1fr}}
.multiple-plan-setup{display:grid;gap:13px}.multiple-plan-setup>.details-form{align-items:end}.multiple-wave{display:grid;gap:12px;margin:0 0 18px}.multiple-wave>h3{margin:0;padding:10px 12px;border-radius:8px;background:#eaf2ee;color:#315d55;font:800 16px/1.3 Arial,sans-serif}.split-option-list{display:grid;gap:8px;margin-top:12px}.split-option-list button{text-align:left}#split-wave-room-setups{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin-top:12px}#split-wave-room-setups[hidden],#single-wave-room-setup[hidden]{display:none!important}@media(max-width:760px){#split-wave-room-setups{grid-template-columns:1fr}}
.multiple-plan-status{padding:10px 12px;border:1px solid #cdd9d4;border-radius:9px;background:#f4f7f5;color:#3d504b}.multiple-plan-status.success{border-color:#94b7a9;background:#eaf4ef;color:#255f4e}.multiple-plan-status.attention{border-color:#d7aa65;background:#fff7e8;color:#714916}.plan-adjustments{display:flex;flex-wrap:wrap;gap:8px;margin-top:9px}.plan-adjustments button{min-height:40px}
.room-service-card.submission-attention{border-color:#c86a21;box-shadow:0 0 0 3px rgba(200,106,33,.18)}
.quick-availability-note{display:grid;gap:3px;padding:13px 15px;border-left:4px solid #35685f;border-radius:6px;background:#edf3ee}.quick-availability-note strong{color:#244b44}.quick-availability-note span{color:#53665f;font-size:14px}
.availability-result-heading{display:grid;gap:2px;margin:0 0 14px;padding-bottom:11px;border-bottom:1px solid var(--line)}.availability-result-heading small{color:var(--green);font-size:11px;font-weight:800;letter-spacing:.12em}.availability-result-heading strong{font-size:18px}
:root{--calendar-line:#c5d1cb}.booking-calendar{grid-column:1/-1;margin-top:12px;border:1px solid var(--calendar-line);border-radius:10px;padding:14px;background:#fff}.calendar-head{display:flex;align-items:center;justify-content:space-between;margin-bottom:12px}.calendar-head button{border:0;background:transparent;color:var(--green);font-size:21px;padding:4px 10px}.calendar-week,.calendar-days{display:grid;grid-template-columns:repeat(7,1fr);gap:5px;text-align:center}.calendar-week{color:var(--muted);font-size:12px;font-weight:800;margin-bottom:5px}.calendar-days span,.calendar-days button{aspect-ratio:1;display:grid;place-items:center}.calendar-days button{border:1px solid transparent;border-radius:50%;background:transparent;color:var(--ink);font-weight:700}.calendar-days button:hover:not(:disabled),.calendar-days button.selected{background:var(--green);color:#fff}.calendar-days button:disabled{color:#c6cbc8;cursor:not-allowed}
.calendar-choice{margin:0}.request-drawer{position:fixed;inset:0 0 0 auto;width:min(620px,100vw);max-width:none;height:100vh;margin:0;border-radius:0;padding:32px;overflow:auto}.request-drawer::backdrop{background:#17312b88}@media(max-width:760px){.request-drawer{padding:24px 20px}}
:root{--time-grid-gap:8px}.time-period{margin:25px 0}.time-period h3{text-align:center;font:700 20px Georgia,serif;margin:0 0 12px}.time-period .time-slots{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:var(--time-grid-gap)}.time-period .time-slots button{min-height:54px;border-color:#58746d;border-radius:2px;font-size:16px}.see-more{display:block;margin:16px auto 0;border:0;background:transparent;color:#315d55;font-size:16px;font-weight:700}
.booking-flow[hidden],.group-panel[hidden],.confirmation[hidden],#couples-room-choice[hidden],#multiple-couples-room-pair[hidden]{display:none!important}
@media(max-width:760px){.site-header{display:block}.header-actions{display:flex;width:100%;margin-top:12px;justify-content:flex-start;gap:2px;overflow-x:auto;flex-wrap:nowrap}.header-actions .quiet:not(.language){display:inline-flex!important;white-space:nowrap;padding:8px 9px;font-size:13px}.header-actions .language{margin-left:auto;white-space:nowrap}.hero>div{gap:10px}.hero button{padding:16px}.booking-calendar{padding:10px}.calendar-days{gap:3px}.calendar-days button{font-size:14px}.time-period .time-slots button{min-height:50px}.request-drawer{width:100vw}.group-panel{margin-top:0}}
html.mobile-preview{background:#d9dfdc}html.mobile-preview body{width:min(430px,100%);min-height:100vh;margin:0 auto;background:var(--paper);box-shadow:0 0 0 1px #bdc7c2,0 12px 35px #18332b33}html.mobile-preview .site-header{display:block;margin:0 18px;padding:18px 0}html.mobile-preview .header-actions{display:flex;width:100%;margin-top:12px;justify-content:flex-start;gap:2px;overflow-x:auto;flex-wrap:nowrap}html.mobile-preview .header-actions .quiet:not(.language){display:inline-flex!important;white-space:nowrap;padding:8px 9px;font-size:13px}html.mobile-preview .header-actions .language{margin-left:auto;white-space:nowrap}html.mobile-preview main{padding:25px 18px 54px}html.mobile-preview .hero{padding:34px 24px;border-radius:16px}html.mobile-preview .hero>div,html.mobile-preview .cards{grid-template-columns:1fr}html.mobile-preview .categories{justify-content:flex-start;gap:18px;flex-wrap:nowrap;overflow:auto}html.mobile-preview .catalog-heading{align-items:stretch;display:grid}html.mobile-preview .search input{min-width:0;width:100%}html.mobile-preview .schedule-grid,html.mobile-preview .details-form{grid-template-columns:1fr}html.mobile-preview .booking-flow,html.mobile-preview .group-panel,html.mobile-preview .confirmation{padding:25px 20px}html.mobile-preview .card{min-height:210px}html.mobile-preview .catalog-heading h2,html.mobile-preview .flow-heading h2{font-size:34px}html.mobile-preview .request-drawer{width:100vw}
@media(max-width:760px){.header-actions #custom-package,.header-actions #group-booking{display:none!important}.hero{padding:24px 22px}.hero h1{font-size:40px;line-height:1;margin:10px 0}.hero>span{font-size:15px}.hero>div{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;margin-top:20px}.hero button{min-height:96px;padding:14px 12px;font-size:14px}.hero button small{font-size:13px;line-height:1.25}.hero button strong{line-height:1.2}}
html.mobile-preview .header-actions #custom-package,html.mobile-preview .header-actions #group-booking{display:none!important}html.mobile-preview .hero{padding:24px 22px}html.mobile-preview .hero h1{font-size:40px;line-height:1;margin:10px 0}html.mobile-preview .hero>span{font-size:15px}html.mobile-preview .hero>div{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;margin-top:20px}html.mobile-preview .hero button{min-height:96px;padding:14px 12px;font-size:14px}html.mobile-preview .hero button small{font-size:13px;line-height:1.25}html.mobile-preview .hero button strong{line-height:1.2}

/* Public booking hero: compact on phones so service choices appear sooner. */
@media(max-width:760px){.hero{padding:19px 18px}.hero>p{margin:0}.hero h1{font-size:32px;line-height:1.02;margin:8px 0}.hero>div{margin-top:14px;gap:8px}.hero button{min-height:82px;padding:11px 10px}}
html.mobile-preview .hero{padding:19px 18px}html.mobile-preview .hero>p{margin:0}html.mobile-preview .hero h1{font-size:32px;line-height:1.02;margin:8px 0}html.mobile-preview .hero>div{margin-top:14px;gap:8px}html.mobile-preview .hero button{min-height:82px;padding:11px 10px}

/* Keep the public booking landing screen compact: the service choices should
   start within the first phone-sized view rather than below an oversized title. */
.hero h1{font-size:clamp(34px,4.25vw,50px)}
.hero button strong{font-size:22px}
.hero button{background:#f7efe1}
@media(max-width:760px){.hero h1{font-size:30px}}
html.mobile-preview .hero h1{font-size:30px}

/* Show every public service category without requiring a hidden horizontal swipe. */
@media(max-width:760px){#browse-view>.categories{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:5px 8px;margin:18px 0;overflow:visible}#browse-view>.categories button{min-height:42px;padding:6px 3px;font-size:14px;line-height:1.15;text-align:center;white-space:normal}}
html.mobile-preview #browse-view>.categories{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:5px 8px;margin:18px 0;overflow:visible}html.mobile-preview #browse-view>.categories button{min-height:42px;padding:6px 3px;font-size:14px;line-height:1.15;text-align:center;white-space:normal}
@media(max-width:350px){#browse-view>.categories{grid-template-columns:repeat(2,minmax(0,1fr))}}

@media(max-width:760px){#browse-view>.categories button,#browse-view>.categories button.active{color:#222;font-size:17px}#browse-view .catalog-heading{display:none}}
html.mobile-preview #browse-view>.categories button,html.mobile-preview #browse-view>.categories button.active{color:#222;font-size:17px}html.mobile-preview #browse-view .catalog-heading{display:none}

@media(max-width:760px){#browse-view .card{min-height:182px;padding:18px}#browse-view .card h3{margin:3px 0 8px;font-size:23px}#browse-view .card-bottom{padding-top:12px}}
html.mobile-preview #browse-view .card{min-height:182px;padding:18px}html.mobile-preview #browse-view .card h3{margin:3px 0 8px;font-size:23px}html.mobile-preview #browse-view .card-bottom{padding-top:12px}

.back-to-top{position:fixed;z-index:30;right:20px;bottom:calc(18px + env(safe-area-inset-bottom));min-width:72px;min-height:46px;padding:9px 14px;border:1px solid #dfe9e4;border-radius:999px;background:#315d55;color:#fff;box-shadow:0 8px 24px #17312b44;font-weight:800}.back-to-top[hidden]{display:none}@media(max-width:760px){.back-to-top{right:14px;bottom:calc(14px + env(safe-area-inset-bottom));min-width:68px}}html.mobile-preview .back-to-top{right:calc((100vw - min(430px,100vw))/2 + 14px)}

.my-oasis-link{display:grid;gap:1px;color:#293a35;text-align:right;text-decoration:none;line-height:1.12}.my-oasis-link strong{font-size:15px}.my-oasis-link small{color:#68756f;font-size:11px;font-weight:600;white-space:nowrap}@media(max-width:760px){.site-header{display:flex;align-items:center;justify-content:space-between}.header-actions{width:auto;margin-top:0;overflow:visible}.my-oasis-link{margin-left:auto}}
html.mobile-preview .site-header{display:flex;align-items:center;justify-content:space-between}html.mobile-preview .header-actions{width:auto;margin-top:0;overflow:visible}html.mobile-preview .my-oasis-link{margin-left:auto}

.service-choice-page h2{font-size:36px;line-height:1.05;margin:15px 0 10px}.service-choice-page #service-config>p:not(.eyebrow){color:var(--muted)}.service-page-copy{white-space:pre-line;color:var(--muted);line-height:1.65;margin:14px 0}.service-choice-instruction{margin-top:18px}@media(max-width:760px){.service-choice-page{margin-top:14px}.service-choice-page h2{font-size:31px}.service-choice-page .duration-options{margin:18px 0}}
html.mobile-preview .service-choice-page{margin-top:14px}html.mobile-preview .service-choice-page h2{font-size:31px}html.mobile-preview .service-choice-page .duration-options{margin:18px 0}
@media(max-width:760px){.service-choice-page .service-choice-instruction{display:none}}
html.mobile-preview .service-choice-page .service-choice-instruction{display:none}
@media(max-width:760px){.service-choice-page #service-config>.eyebrow{display:none}}
html.mobile-preview .service-choice-page #service-config>.eyebrow{display:none}
@media(max-width:760px){main:has(#service-view:not([hidden])){padding-top:7px}.service-choice-page{margin-top:5px;padding-top:14px}}
html.mobile-preview main:has(#service-view:not([hidden])){padding-top:7px}html.mobile-preview .service-choice-page{margin-top:5px;padding-top:14px}
@media(max-width:760px){main:has(> .booking-flow:not([hidden])){padding-top:7px}main>.booking-flow:not([hidden]){margin-top:5px;padding-top:14px}main>.booking-flow:not([hidden])>.flow-heading{margin-top:16px;margin-bottom:20px}}
html.mobile-preview main:has(> .booking-flow:not([hidden])){padding-top:7px}html.mobile-preview main>.booking-flow:not([hidden]){margin-top:5px;padding-top:14px}html.mobile-preview main>.booking-flow:not([hidden])>.flow-heading{margin-top:16px;margin-bottom:20px}
@media(max-width:760px){.inline-service-schedule .schedule-grid>label:has(#booking-date){display:none}}
html.mobile-preview .inline-service-schedule .schedule-grid>label:has(#booking-date){display:none}
.backoffice{background:#f5f2ec}.backoffice-title{display:grid;gap:2px}.backoffice-title span{font-size:12px;color:var(--muted)}.hub-shell{max-width:1060px;margin:auto}.hub-heading{display:flex;justify-content:space-between;gap:24px;align-items:flex-end;padding:18px 0 28px}.hub-heading p{margin:0;color:var(--green);font-size:12px;font-weight:800;letter-spacing:.14em}.hub-heading h1{font:46px Georgia,serif;margin:7px 0}.hub-heading span{color:var(--muted)}.hub-date-actions{display:flex;gap:8px;flex-wrap:wrap}.hub-filters{position:relative;display:grid;grid-template-columns:repeat(5,minmax(130px,1fr));gap:12px;padding:18px;background:#fff;border:1px solid var(--line);border-radius:10px}.hub-filters label{display:grid;gap:6px;font-size:14px;font-weight:700}.hub-filters input,.hub-filters select{border:1px solid #b8c4be;border-radius:7px;padding:11px;background:#fff}.hub-filters .primary{align-self:end}.filter-drawer{position:absolute;z-index:4;right:0;top:calc(100% + 8px);display:none;width:min(410px,calc(100vw - 36px));padding:20px;background:#fff;border:1px solid var(--line);box-shadow:0 20px 40px #18342a22;border-radius:12px}.filter-drawer.open{display:grid;gap:13px}.drawer-head{display:flex;align-items:center;justify-content:space-between;font-size:18px}.hub-summary{display:flex;gap:9px;flex-wrap:wrap;margin:18px 0}.hub-summary>span{padding:8px 11px;border-radius:999px;background:#e8eee9;color:#315d55}.hub-summary strong{font-size:19px}.hub-stat.pending{background:#f7ebd9;color:#875c2a}.hub-stat.confirmed{background:#e3eff0;color:#2f6668}.hub-list{display:grid;gap:10px}.hub-row{display:grid;grid-template-columns:132px minmax(0,1fr) auto auto;align-items:center;gap:18px;padding:18px 20px;border:1px solid var(--line);border-left:5px solid #b7c8c1;border-radius:10px;background:#fff;color:var(--ink);text-decoration:none}.hub-row:has(.pending){border-left-color:#d49a45}.hub-row:has(.confirmed){border-left-color:#5d9b8d}.hub-row:hover{border-color:#72968c;box-shadow:0 7px 20px #16342a0d}.hub-time{display:grid;gap:3px}.hub-time strong{font-size:23px}.hub-time span,.hub-main p,.hub-main small{color:var(--muted)}.hub-main h2{font:700 21px Georgia,serif;margin:0}.hub-main p{margin:4px 0}.hub-badges{display:grid;gap:6px;justify-items:end}.hub-badge{font-size:12px;font-weight:800;padding:5px 8px;border-radius:999px;background:#eceeeb;white-space:nowrap}.hub-badge.pending{background:#f7ebd9;color:#875c2a}.hub-badge.confirmed{background:#e3eff0;color:#2f6668}.hub-badge.cancelled,.hub-badge.no_show{background:#f1e3e2;color:#814a48}.hub-badge.deposit{background:#eff0ec;color:#58665e}.hub-open{font-weight:800;color:var(--green);white-space:nowrap}.detail-grid{display:grid;grid-template-columns:1.15fr .85fr;gap:18px}.detail-card{padding:22px;border:1px solid var(--line);border-radius:10px;background:#fff}.detail-card h3{font:700 22px Georgia,serif;margin:0 0 13px}.detail-facts{display:flex;gap:18px;flex-wrap:wrap}.detail-facts p{margin:0}.inline-button{display:inline-block;margin-top:12px;text-decoration:none}.audit-list{display:grid;gap:8px}.audit-list div{padding:10px 0;border-top:1px solid var(--line);font-size:14px}.audit-list small{color:var(--muted)}@media(max-width:760px){.backoffice .site-header{display:flex;margin:0 18px;align-items:center}.hub-heading{display:grid;align-items:start}.hub-heading h1{font-size:36px}.hub-filters{grid-template-columns:1fr;padding:15px}.hub-row{grid-template-columns:1fr auto;gap:9px;padding:16px}.hub-time{grid-column:1}.hub-main{grid-column:1}.hub-badges{grid-column:2;grid-row:1/3}.hub-open{grid-column:2}.detail-grid{grid-template-columns:1fr}.backoffice-title{display:none}}

/* Back-office palette from the approved Main Control mockup. */
.backoffice{--mc-canvas:#e5e2dc;--mc-card:#fbfaf8;--mc-border:#cdc9c1;--mc-ink:#22211d;--mc-muted:#7d7a74;--mc-primary:#26332c;--mc-green:#2f6b52;--mc-green-pale:#d6e8dd;--mc-green-border:#a7c9b6;--mc-warn:#c49a3a;--mc-warn-pale:#f4e7c0;--mc-danger:#b3261e;--mc-danger-pale:#f8f5f2;min-height:100vh;background:var(--mc-canvas);color:var(--mc-ink)}.backoffice main{padding:28px 32px 48px}.backoffice .site-header{max-width:none;margin:0;padding:14px 32px;border-bottom:1px solid var(--mc-border);background:var(--mc-card)}.backoffice-tools{margin-left:auto;display:flex;align-items:center;gap:12px}.backoffice-tools .secondary{padding:9px 13px;font-size:14px}.hub-shell{max-width:1400px}.hub-heading{align-items:center;padding:8px 0 20px}.date-heading h1{font-family:inherit;font-size:30px;letter-spacing:-.02em}.hub-date-actions{justify-content:flex-end}.hub-date-actions button,.hub-filters button{min-height:44px}.date-nav{border:0;border-radius:7px;padding:11px 17px;background:var(--mc-primary);color:#f4f2ee;font-weight:800;cursor:pointer}.hub-filters{grid-template-columns:170px minmax(220px,1fr) 160px auto auto;padding:14px;border-radius:9px;box-shadow:none}.hub-filters input,.hub-filters select{min-height:44px;font-size:16px}.hub-summary{display:grid;grid-template-columns:repeat(4,1fr);gap:14px;margin:18px 0}.hub-summary .summary-card{display:grid;grid-template-columns:auto 1fr;align-items:end;gap:2px 7px;padding:17px 18px;border-radius:9px;border:1px solid var(--mc-border);background:var(--mc-card);color:#33312d}.summary-card small{grid-column:1/-1;font-size:13px;font-weight:800;color:var(--mc-muted)}.summary-card strong{font-size:34px;line-height:1}.summary-card em{font-style:normal;font-size:14px;color:var(--mc-muted)}.hub-summary .pending{background:#fbf7ec;border-color:#d3bd7e;color:#6d5512}.hub-summary .confirmed{background:var(--mc-green-pale);border-color:var(--mc-green-border);color:#1f4a39}.hub-summary .action{background:var(--mc-danger-pale);border-color:var(--mc-danger);color:#8c1d16}.hub-workspace{display:grid;grid-template-columns:minmax(0,1fr) 310px;gap:20px;align-items:start}.hub-primary{padding:16px;border:1px solid var(--mc-border);border-radius:9px;background:var(--mc-card)}.section-head{display:flex;justify-content:space-between;align-items:center;gap:14px;padding:2px 4px 15px}.section-head h2{margin:0;font-size:21px}.section-head p{margin:4px 0 0;color:var(--mc-muted);font-size:14px}.hub-list{gap:8px}.hub-row{grid-template-columns:108px minmax(0,1fr) auto auto;min-height:82px;padding:14px 17px;border:1px solid #ddd9d1;border-left:4px solid #a3aab3;border-radius:8px;box-shadow:none;background:#fff}.hub-row:has(.pending){border-left-color:var(--mc-warn)}.hub-row:has(.confirmed){border-left-color:#7cb08f}.hub-row:hover{background:#faf8f5;box-shadow:none}.hub-time strong{font-size:21px}.hub-main h2{font-family:inherit;font-size:17px}.hub-main p{font-size:14px}.hub-aside{display:grid;gap:14px}.aside-card{padding:20px;border:1px solid var(--mc-green-border);border-radius:9px;background:var(--mc-green-pale)}.aside-card h2{margin:7px 0 8px;font-size:21px}.aside-card p:last-of-type{margin:0 0 16px;color:#4a4741;line-height:1.55}.aside-kicker{margin:0;color:#1f4a39;font-size:12px;font-weight:800;letter-spacing:.1em}.aside-card .primary{width:100%;min-height:48px;background:var(--mc-primary)}.quiet-card{background:var(--mc-card);border-color:var(--mc-border)}.filter-drawer{border-radius:9px;border-color:var(--mc-border);background:var(--mc-card)}.detail-card{border-radius:9px;border-color:var(--mc-border);background:var(--mc-card)}.detail-card h3{font-family:inherit;font-size:19px}
@media(max-width:980px){.hub-workspace{grid-template-columns:1fr}.hub-aside{grid-template-columns:1fr 1fr}.hub-summary{grid-template-columns:repeat(2,1fr)}.hub-filters{grid-template-columns:1fr 1fr 1fr}.backoffice main{padding:22px 18px}.backoffice .site-header{padding:14px 18px}}
@media(max-width:680px){.backoffice .site-header{gap:10px}.backoffice-tools .quiet{display:none}.backoffice-tools .secondary{font-size:12px;padding:8px}.hub-heading{gap:12px}.hub-date-actions{justify-content:flex-start}.hub-filters{grid-template-columns:1fr}.hub-summary,.hub-aside{grid-template-columns:1fr}.hub-workspace{gap:14px}.hub-row{grid-template-columns:1fr auto}.section-head{align-items:flex-start;flex-direction:column}.backoffice main{padding:18px 12px}.date-heading h1{font-size:27px}}

/* Multiple booking is primarily completed on phones. Keep every choice in one
   readable column and never make the customer chase content off-screen. */
@media(max-width:760px){#group-view{width:100%;padding:20px 16px}.quick-availability-note{padding:11px 12px}.guest{grid-template-columns:1fr}.room-service-card{padding:13px}.room-category-options{display:grid;grid-template-columns:1fr;overflow:visible}.room-category-options button{width:100%;text-align:left;white-space:normal}.room-service-options{grid-template-columns:1fr}.calendar-choice,.booking-calendar,#group-results{scroll-margin-top:12px}}
html.mobile-preview #group-view{width:100%;padding:20px 16px}html.mobile-preview .guest{grid-template-columns:1fr}html.mobile-preview .room-service-card{padding:13px}html.mobile-preview .room-category-options{display:grid;grid-template-columns:1fr;overflow:visible}html.mobile-preview .room-category-options button{width:100%;text-align:left;white-space:normal}html.mobile-preview .room-service-options{grid-template-columns:1fr}

/* Compact availability on phones: keep touch targets comfortable while showing
   enough times at once to avoid an unnecessarily long page. */
@media(max-width:760px){#group-results{padding:14px 13px;margin-bottom:4px}#group-results>.time-slots{display:block}.availability-result-heading{margin-bottom:10px;padding-bottom:9px}.time-period{width:100%;margin:14px 0}.time-period h3{text-align:left;margin:0 0 7px;font:800 15px/1.2 Arial,sans-serif;color:#40574f}.time-period .time-slots{grid-template-columns:repeat(3,minmax(0,1fr));gap:7px}.time-period .time-slots button{min-height:46px;padding:8px 3px;font-size:15px}.see-more{margin-top:10px;font-size:14px}}
html.mobile-preview #group-results{padding:14px 13px;margin-bottom:4px}html.mobile-preview #group-results>.time-slots{display:block}html.mobile-preview .availability-result-heading{margin-bottom:10px;padding-bottom:9px}html.mobile-preview .time-period{width:100%;margin:14px 0}html.mobile-preview .time-period h3{text-align:left;margin:0 0 7px;font:800 15px/1.2 Arial,sans-serif;color:#40574f}html.mobile-preview .time-period .time-slots{grid-template-columns:repeat(3,minmax(0,1fr));gap:7px}html.mobile-preview .time-period .time-slots button{min-height:46px;padding:8px 3px;font-size:15px}html.mobile-preview .see-more{margin-top:10px;font-size:14px}
@media(max-width:350px){.time-period .time-slots{grid-template-columns:repeat(2,minmax(0,1fr))}}

/* Service colour is factual (from its configured Code); money state is a separate border. */
.hub-row.service-m{background:#cfe0f5;border-color:#7fa6d8}.hub-row.service-f{background:#f7d6e2;border-color:#d888a8}.hub-row.service-mm{background:#e0d5f2;border-color:#a488d4}.hub-row.service-st{background:#cfe8d5;border-color:#7cb08f}.hub-row.service-neutral{background:#fff;border-color:#ddd9d1}.hub-row.payment-attention{border:3px solid #b3261e;border-left-width:5px}.hub-row.payment-attention:hover{background:inherit}.hub-row .hub-badge.deposit{background:rgba(255,255,255,.72);border:1px solid rgba(34,33,29,.18)}
.detail-drawer{position:fixed;z-index:20;right:0;top:0;bottom:0;display:none;width:min(460px,100vw);overflow:auto;padding:22px;background:#fbfaf8;border-left:1px solid #cdc9c1;box-shadow:-18px 0 38px rgba(34,33,29,.16)}.detail-drawer.open{display:block}.detail-drawer section{padding:16px 0;border-top:1px solid #ddd9d1}.detail-drawer h3{margin:0 0 8px;font-size:17px}.detail-drawer .drawer-head{padding-bottom:16px}.detail-drawer .audit-list{max-height:none}
.compact-action{display:flex;gap:8px;margin-top:13px;padding:0;overflow:visible}.compact-action input{min-width:0;flex:1;min-height:42px;padding:9px;border:1px solid #cdc9c1;border-radius:6px;font-size:16px}.compact-action button{min-height:42px;white-space:nowrap}
.visit-workspace{max-width:1180px;margin:auto}.workspace-head{display:flex;justify-content:space-between;gap:16px;align-items:flex-start;margin:0 0 10px}.workspace-head h1{margin:3px 0;font-size:31px}.workspace-head p{margin:0;color:#5f5c56}.workspace-head>div:last-child{display:flex;gap:8px;flex-wrap:wrap}.visit-glance{display:grid;grid-template-columns:repeat(6,1fr);gap:8px;margin-bottom:10px}.visit-glance>div,.fact-grid article,.money-grid>div{display:grid;gap:3px;padding:10px 12px;border:1px solid var(--mc-border);border-radius:8px;background:var(--mc-card)}.visit-glance small,.fact-grid small,.money-grid small{font-weight:800;color:var(--mc-muted);font-size:12px}.visit-glance b{font-size:15px;line-height:1.2}.attention,.attention-text{color:#a8271f}.workspace-section{margin:10px 0;padding:14px 19px;border:1px solid var(--mc-border);border-radius:9px;background:var(--mc-card)}.section-title{display:flex;justify-content:space-between;gap:14px;align-items:flex-start;padding-bottom:10px;border-bottom:1px solid #ddd9d1}.section-title h2{margin:2px 0;font-size:20px}.section-title p:last-child{margin:0;color:var(--mc-muted)}.section-title button{min-height:40px}.item-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(210px,1fr));gap:8px;margin-top:12px}.item-grid article{display:grid;gap:2px;padding:11px 14px;border:1px solid #ddd9d1;border-radius:8px}.item-grid article span{font-size:16px}.item-grid article small,.muted{color:var(--mc-muted)}.segment-list{display:grid;gap:7px;padding:0;margin:11px 0 0;list-style:none}.segment-list li{display:flex;gap:10px;align-items:center;padding:9px 12px;border:1px solid #ddd9d1;border-radius:8px}.segment-list li>b{display:grid;place-items:center;width:27px;height:27px;border-radius:999px;background:var(--mc-green-pale);color:#1f4a39}.segment-list span{display:grid;gap:1px}.segment-list small{color:var(--mc-muted)}.fact-grid{display:grid;grid-template-columns:repeat(5,1fr);gap:8px;margin-top:11px}.fact-grid article button{margin-top:3px;min-height:39px}.money-grid{display:grid;grid-template-columns:repeat(6,1fr);gap:8px;margin:11px 0}.money-grid>div b{font-size:17px}.money-grid .due{border:2px solid #b3261e;background:#fff8f7}.payment-row,.form-row{display:flex;gap:10px;align-items:center;flex-wrap:wrap}.payment-row span{color:var(--mc-muted)}.editor{display:grid;gap:10px;margin-top:11px;padding:13px;background:#f4f2ec;border:1px solid #ddd9d1;border-radius:8px}.editor label{display:grid;gap:5px;font-size:14px;font-weight:800}.editor input,.editor select,.editor textarea,.form-row select{min-height:42px;padding:9px;border:1px solid #bcb7ae;border-radius:6px;background:white;font:inherit}.editor fieldset{display:grid;grid-template-columns:repeat(3,1fr);gap:10px;border:1px solid #cdc9c1;border-radius:7px}.editor legend{font-weight:800}.addon-list{display:flex;gap:8px;flex-wrap:wrap;grid-column:1/-1}.addon-list label{display:flex;align-items:center;gap:5px;font-weight:500}.upload-button{display:inline-flex;align-items:center;justify-content:center;min-height:43px;padding:9px 13px;border-radius:7px;background:#d6e8dd;color:#1f4a39;font-weight:800;cursor:pointer}.file-list,.note-list{padding-left:20px}.note-form{display:grid;grid-template-columns:1fr auto;gap:10px}.note-form textarea{min-height:76px;padding:10px;border:1px solid #bcb7ae;border-radius:6px;font:inherit}.note{padding:10px;border-left:3px solid #7cb08f;background:#f6f7f3}.workspace-notice{position:sticky;top:8px;z-index:5;max-width:600px;margin:0 auto;text-align:center;color:#19523f;font-weight:800}.workspace-notice.bad{color:#a8271f}.workspace-modal{width:min(440px,calc(100vw - 32px));border:1px solid var(--mc-border);border-radius:10px;padding:24px;background:var(--mc-card)}.workspace-modal::backdrop{background:#24352d55}.workspace-modal>label,.workspace-modal>select,.workspace-modal>input{display:grid;width:100%;margin:12px 0}.workspace-modal select,.workspace-modal input{min-height:43px;padding:8px}.workspace-modal .close{float:right;border:0;background:transparent;font-size:27px}.workspace-modal .primary{margin-top:12px}.workspace-section details{margin-top:12px}.workspace-section summary{font-weight:800;cursor:pointer}
@media(max-width:980px){.visit-glance{grid-template-columns:repeat(3,1fr)}.fact-grid{grid-template-columns:repeat(3,1fr)}.money-grid{grid-template-columns:repeat(3,1fr)}}@media(max-width:680px){.visit-workspace{max-width:100%}.workspace-head{display:grid}.workspace-head h1{font-size:30px}.visit-glance,.fact-grid,.money-grid{grid-template-columns:repeat(2,1fr)}.workspace-section{padding:15px}.section-title{display:grid}.editor fieldset{grid-template-columns:1fr}.note-form{grid-template-columns:1fr}.payment-row,.form-row{align-items:stretch}.payment-row .primary{width:100%}}
.hub-badge.late{background:#f4e7c0;color:#6d5512;border:1px solid #d3bd7e}.request-section{margin-top:20px;padding-top:18px;border-top:1px solid #ddd9d1}.request-list{display:grid;gap:8px}.group-request{display:grid;gap:4px;padding:13px 14px;border:1px dashed #bcb7ae;border-radius:8px;background:#fbfaf8}.group-request span,.group-request small{color:#5f5c56}.group-request small{font-size:13px}
.hub-badge.late{background:#f4e7c0;color:#6d5512;border:1px solid #d3bd7e}.request-section{margin-top:20px;padding-top:18px;border-top:1px solid #ddd9d1}.request-list{display:grid;gap:8px}.group-request{display:grid;gap:7px;padding:13px 14px;border:1px dashed #bcb7ae;border-radius:8px;background:#fbfaf8}.group-request span,.group-request small{color:#5f5c56}.group-request small{font-size:13px}.group-request-workspace{width:min(1120px,calc(100vw - 36px));max-width:1120px;max-height:calc(100vh - 30px);padding:28px;overflow:auto}.group-request-workspace-head{padding-right:42px}.group-request-workspace-head p,.group-request-workspace-section>div>p{margin:0;color:#397363;font-size:11px;font-weight:850;letter-spacing:.12em}.group-request-workspace-head h2{margin:5px 0 3px}.group-request-workspace-head span{color:#63726b;font-size:14px}.group-request-status-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px;margin:18px 0}.group-request-status-grid article{display:grid;gap:5px;min-height:74px;padding:12px;border:1px solid #d7e2db;border-radius:9px;background:#f7faf8}.group-request-status-grid small{color:#64746c}.group-request-status-grid strong{color:#28483e;font-size:15px;line-height:1.3}.group-request-workspace-section{margin-top:16px;padding-top:16px;border-top:1px solid #e1e3df}.group-request-workspace-section h3{margin:3px 0 12px}.group-request-guest-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:9px}.group-request-guest-grid article{display:grid;gap:4px;padding:11px;border:1px solid #d8ded9;border-radius:8px;background:#fff}.group-request-guest-grid span{color:#25705c;font-weight:750;font-size:13px}.group-request-guest-grid small{color:#62706a;line-height:1.35}.group-request-arrangement{grid-template-columns:repeat(3,minmax(0,1fr));padding:14px;border:1px solid #d7e2db;border-radius:10px;background:#f9fbfa}.group-request-arrangement>.wide{grid-column:1/-1}.group-request-arrangement section p{margin:0 0 3px;color:#397363;font-size:11px;font-weight:850;letter-spacing:.12em}.group-request-arrangement section small{color:#63726b}.group-request-workspace-actions{display:flex;align-items:center;justify-content:space-between;gap:16px;margin-top:18px;padding-top:16px;border-top:1px solid #e1e3df}.group-request-workspace-actions p{margin:0;color:#5b6963;line-height:1.45}.group-request-workspace-actions>div{display:flex;flex-wrap:wrap;justify-content:flex-end;gap:8px}.group-request-workspace-actions button{min-height:42px}@media(max-width:760px){.group-request-workspace{width:100vw;max-width:none;min-height:100vh;max-height:100vh;padding:20px 14px;border-radius:0}.group-request-status-grid,.group-request-guest-grid,.group-request-arrangement{grid-template-columns:1fr}.group-request-workspace-actions{display:grid}.group-request-workspace-actions>div{display:grid}.group-request-workspace-actions button{width:100%}}
.booking-table-head{display:grid;grid-template-columns:118px minmax(170px,1.2fr) minmax(150px,1fr) 115px minmax(155px,1fr);gap:14px;padding:10px 17px;border-bottom:1px solid #cdc9c1;color:#5f5c56;font-size:13px;font-weight:800}.hub-row{grid-template-columns:118px minmax(170px,1.2fr) minmax(150px,1fr) 115px minmax(155px,1fr)}.hub-service,.hub-customer{display:grid;gap:4px;min-width:0}.hub-service strong,.hub-customer strong{font-size:16px}.hub-service small,.hub-customer small{color:#5f5c56}.hub-price{font-size:16px}.hub-row .hub-badges{justify-items:start;grid-auto-flow:column;justify-content:start;align-content:center;flex-wrap:wrap}@media(max-width:760px){.booking-table-head{display:none}.hub-row{grid-template-columns:1fr auto}.hub-service{grid-column:1}.hub-customer{grid-column:1}.hub-price{grid-column:1}.hub-badges{grid-column:2;grid-row:1/4}}
.from-price,.sale-price{display:inline-flex;align-items:baseline;gap:6px;flex-wrap:wrap}.sale-price s{color:#7a827e;font-weight:500}.sale-price strong{color:var(--ink);margin-left:0}.sale-price small{padding:2px 6px;border-radius:99px;background:#f5e7d4;color:#8c561b;font-size:11px;font-weight:800}
.view-switch{display:flex;border:1px solid #cdc9c1;border-radius:7px;overflow:hidden;background:#f2efe9}.view-switch button{min-height:38px;border:0;border-radius:0;padding:7px 12px;background:transparent;color:#5f5c56;font-weight:700}.view-switch button.active{background:#fff;color:#22211d;box-shadow:0 1px 3px #22211d22}.booking-calendar{display:grid;gap:16px}.calendar-day{padding:14px;border:1px solid #cdc9c1;border-radius:9px;background:#fbfaf8}.calendar-day h3{margin:0 0 12px;font-size:18px}.calendar-slots{display:grid;gap:8px}.calendar-entry{display:grid;grid-template-columns:95px minmax(0,1fr) auto;gap:12px;align-items:center;min-height:55px;padding:10px 12px;border:1px solid #ddd9d1;border-left:4px solid #a3aab3;border-radius:7px;color:#22211d;text-decoration:none}.calendar-entry span{font-weight:700}.calendar-entry small{color:#5f5c56;text-align:right}.calendar-entry.service-m{background:#cfe0f5;border-color:#7fa6d8}.calendar-entry.service-f{background:#f7d6e2;border-color:#d888a8}.calendar-entry.service-mm{background:#e0d5f2;border-color:#a488d4}.calendar-entry.service-st{background:#cfe8d5;border-color:#7cb08f}.calendar-entry.payment-attention{border:3px solid #b3261e;border-left-width:4px}@media(max-width:760px){.calendar-entry{grid-template-columns:76px 1fr}.calendar-entry small{grid-column:2;text-align:left}.view-switch{order:3}}
.quick-actions{display:grid;grid-template-columns:repeat(3,1fr);gap:12px;margin:0 0 16px}.quick-actions button{min-height:76px;padding:13px 16px;text-align:left}.quick-actions button span{display:block;margin-top:5px;font-size:13px;font-weight:500;line-height:1.35}.hold-action{border:1px solid #d3bd7e;border-radius:8px;background:#f4e7c0;color:#6d5512;font-weight:800}.quick-hold{grid-template-columns:1fr auto;align-items:center}.quick-hold div{display:flex;gap:8px;flex-wrap:wrap}.quick-result{margin-top:18px;padding-top:16px;border-top:1px solid #ddd9d1}.quick-result>strong{display:block;margin-bottom:10px}.quick-time-groups{display:grid;gap:9px}.quick-time-group{overflow:hidden;border:1px solid #cbd8d2;border-radius:9px;background:#f8fbf9}.quick-time-group>summary{display:flex;justify-content:space-between;align-items:center;gap:12px;padding:12px 14px;cursor:pointer;font-weight:850;list-style:none}.quick-time-group>summary::-webkit-details-marker{display:none}.quick-time-group>summary:before{content:'›';color:#35685f;font-size:20px}.quick-time-group[open]>summary:before{transform:rotate(90deg)}.quick-time-group>summary span{margin-right:auto}.quick-time-group>summary small{color:#68756f}.quick-slots{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;padding:0 12px 12px}.quick-slots button{min-height:52px}.quick-slots small{display:block;margin-top:3px;color:#5f5c56;font-weight:500}.quick-slot-extra[hidden]{display:none!important}.quick-show-more{grid-column:1/-1;min-height:42px!important;border:1px dashed #9fb3aa;background:#fff;color:#35685f;font-weight:800}@media(max-width:680px){.quick-actions{grid-template-columns:1fr}.quick-actions button{min-height:64px}.quick-hold{grid-template-columns:1fr}.quick-slots{grid-template-columns:repeat(2,minmax(0,1fr))}}
.sheet#quick-booking-dialog{width:min(900px,calc(100vw - 28px));max-height:92vh;overflow:auto}.quick-booking-guest{grid-template-columns:1fr}.quick-booking-guest .guest-name,.quick-booking-guest .guest-name input{width:100%}.quick-service-heading{display:flex;justify-content:space-between;gap:12px}.quick-service-heading span{color:var(--muted);font-size:14px}.quick-booking-guest .service-picker{grid-column:1}@media(max-width:680px){.quick-service-heading{display:grid}.service-match-grid{grid-template-columns:1fr}}

/* Booking Hub: one wide appointment workspace. Visit numbers are links, not a second Today Visits panel. */
.hub-primary.hub-full-width{width:100%;max-width:none}.appointment-link{color:inherit;text-decoration:none;min-width:0}.appointment-link:hover{color:var(--mc-green)}.hub-time .appointment-link{display:grid;gap:3px}.visit-number{display:inline-flex;width:max-content;min-height:30px;align-items:center;padding:0 9px;border:1px solid var(--mc-green-border);border-radius:6px;background:var(--mc-green-pale);color:#1f4a39;font-size:14px;font-weight:800;line-height:1;text-decoration:none}.visit-number:hover{background:#c7dfd0}.calendar-entry{grid-template-columns:minmax(95px,auto) minmax(0,1fr)}.calendar-entry>div{display:flex;align-items:center;gap:8px}.calendar-entry .appointment-link{display:grid;gap:3px}.calendar-entry .appointment-link small{text-align:left}.hub-summary{display:flex;gap:0;overflow:hidden;border:1px solid var(--mc-border);border-radius:9px;background:var(--mc-card)}.hub-summary .summary-card{flex:1;min-width:145px;padding:13px 16px;border:0;border-right:1px solid var(--mc-border);border-radius:0;background:transparent}.hub-summary .summary-card:last-child{border-right:0}.hub-summary .summary-card strong{font-size:28px}.hub-summary .pending{background:#fbf7ec}.hub-summary .confirmed{background:var(--mc-green-pale)}.hub-summary .action{background:var(--mc-danger-pale)}@media(max-width:900px){.hub-filters{grid-template-columns:minmax(135px,1fr) minmax(190px,1.4fr) minmax(135px,1fr) auto}.hub-filters>#open-filter-drawer{grid-column:4}.hub-summary{overflow:auto}.hub-row{grid-template-columns:105px minmax(145px,1.25fr) minmax(130px,1fr) 100px minmax(135px,1fr);gap:13px;padding:15px}.booking-table-head{grid-template-columns:105px minmax(145px,1.25fr) minmax(130px,1fr) 100px minmax(135px,1fr);gap:13px}}@media(max-width:760px){.hub-summary .summary-card{min-width:125px}.calendar-entry{grid-template-columns:76px minmax(0,1fr)}.calendar-entry>div{align-items:flex-start;flex-direction:column;gap:5px}}

/* Visit Workspace: normal visits read as a short checklist, not an editor. */
.service-entry-actions{display:flex;gap:8px;flex-wrap:wrap;padding:14px 0 2px}.combination-lines{display:grid;gap:12px;max-height:55vh;overflow:auto}.combination-line{padding:12px;border:1px solid #ddd9d1;border-radius:8px;background:#fbfaf7}.line-title{font-weight:800}.line-title .quiet{float:right}.choice-list.compact{margin:8px 0}.choice-list.compact label{padding:8px;font-size:14px}.builder-total{display:flex;justify-content:space-between;gap:12px;padding:13px 0;border-top:1px solid #ddd9d1;color:#1f4a39}@media(max-width:760px){.service-entry-actions{display:grid;grid-template-columns:1fr}.builder-total{display:grid}}
.quick-select{width:100%;min-height:47px;padding:8px 10px;border:1px solid #bcb7ae;border-radius:7px;background:#fff;font:inherit;font-weight:700}.quick-payment{display:grid;grid-template-columns:minmax(105px,.8fr) minmax(130px,1fr) auto;gap:9px;margin-top:14px}.quick-payment label{display:flex;align-items:center;gap:5px;min-height:47px;padding:0 10px;border:1px solid #bcb7ae;border-radius:7px;background:#fff;font-weight:800}.quick-payment input,.quick-payment select{min-width:0;min-height:45px;border:1px solid #bcb7ae;border-radius:7px;background:#fff;padding:8px 10px;font:inherit}.quick-payment label input{width:100%;min-height:40px;padding:0;border:0;outline:0}.quick-payment .gift-card-inline{grid-column:1/-1}.quick-payment button{min-height:47px;white-space:nowrap}.payment-priority{margin-top:0}@media(max-width:760px){.quick-payment{grid-template-columns:1fr}.quick-payment .gift-card-inline{grid-column:auto}}

/* Today’s Visits is a compact entry index.  It never owns a second Visit editor. */
.today-visits-page{max-width:960px;margin:auto}.today-visits-page>header{display:flex;justify-content:space-between;align-items:end;gap:20px;margin-bottom:18px}.today-visits-page h1{margin:3px 0;font-size:31px}.today-visits-page p{margin:0;color:var(--mc-muted)}.today-visits-page label{display:grid;gap:6px;font-size:14px;font-weight:800}.today-visits-page input{min-height:44px;padding:8px 10px;border:1px solid var(--mc-border);border-radius:7px;background:#fff;font:inherit}.today-visit-list{display:grid;gap:8px}.today-visit-row{display:grid;grid-template-columns:66px minmax(0,1fr) auto;gap:14px;align-items:center;padding:15px 18px;border:1px solid var(--mc-border);border-radius:9px;background:var(--mc-card);color:inherit;text-decoration:none}.today-visit-row:hover{border-color:var(--mc-green-border);background:#f5faf6}.today-visit-row>strong{display:grid;place-items:center;min-height:42px;border-radius:7px;background:var(--mc-green-pale);color:#1f4a39;font-size:17px}.today-visit-row span{display:grid;gap:3px}.today-visit-row small{color:var(--mc-muted)}.today-visit-row em{font-style:normal;color:#526359;font-size:14px;font-weight:800}@media(max-width:680px){.today-visits-page>header{align-items:start;flex-direction:column}.today-visit-row{grid-template-columns:58px minmax(0,1fr)}.today-visit-row em{grid-column:2}}

/* Today Visits: a read-only operational index for the same Visit Workspace. */
.today-section-head{display:flex;justify-content:space-between;align-items:center;margin:0 0 9px}.today-section-head h2{margin:0;font-size:21px}.today-section-head span,.completed-visits summary span{color:var(--mc-muted);font-size:14px;font-weight:800}.today-visit-row{grid-template-columns:66px minmax(190px,1.45fr) minmax(110px,.8fr) minmax(100px,.65fr) minmax(105px,.7fr) auto}.today-visit-row .today-guest{display:grid;gap:3px}.today-visit-row .today-fact{display:grid;gap:2px}.today-visit-row .today-fact small{font-size:12px;font-weight:800}.today-visit-row .today-fact b{font-size:14px}.today-visit-row.in_service{border-left:4px solid var(--mc-green)}.today-visit-row.completed{opacity:.72}.completed-visits{margin-top:18px;padding:15px 0 0;border-top:1px solid var(--mc-border)}.completed-visits summary{font-size:17px;font-weight:800;cursor:pointer}.completed-visits .today-visit-list{margin-top:12px}@media(max-width:850px){.today-visit-row{grid-template-columns:58px minmax(190px,1fr) minmax(100px,.75fr) minmax(90px,.6fr) auto}.today-visit-row .today-fact:last-of-type{display:none}}@media(max-width:620px){.today-visit-row{grid-template-columns:54px minmax(0,1fr) auto}.today-visit-row .today-fact{display:none}.today-visit-row em{grid-column:2;text-align:left}}
.today-visit-row.needs-appointment-match{border-left:5px solid #b86a1b}.today-match-badge{width:max-content;margin-top:3px;padding:3px 7px;border-radius:999px;background:#fff0dc;color:#8c510f;font-size:11px;font-style:normal;font-weight:850}

@media(max-width:680px){.today-visit-row{grid-template-columns:54px minmax(0,1fr) auto}.today-visit-row .today-fact{display:none}.today-visit-row em{grid-column:2;text-align:left}}

/* Customer kiosk: deliberately separate from every back-office navigation surface. */
.kiosk-page{min-height:100vh;display:grid;place-items:center;background:linear-gradient(135deg,#e8efeb,#f8f4ee);padding:24px}.kiosk-shell{width:min(554px,100%)}.kiosk-brand{display:grid;justify-items:center;letter-spacing:.34em;color:#29433c;font-weight:900;font-size:14px;margin:0 0 18px}.kiosk-card{padding:43px 42px 50px;background:#fff;border:0;border-radius:22px;box-shadow:0 14px 40px #24423b13;text-align:center}.kiosk-card h1{font:800 36px/1.08 Arial,sans-serif;letter-spacing:-.05em;margin:13px 0 17px}.kiosk-card>p{font-size:16px;color:#59675f}.kiosk-card .aside-kicker{font-size:13px;color:#507168}.kiosk-form{display:grid;gap:10px;margin-top:32px;text-align:left}.kiosk-form label{display:grid;gap:8px;font-weight:800;font-size:14px}.kiosk-form label span{font-weight:400;color:var(--muted)}.kiosk-form input{min-height:45px;border:1px solid #b7c3bd;border-radius:8px;padding:10px 12px;font-size:16px}.kiosk-form .primary{min-height:52px;font-size:17px}.kiosk-actions{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin:18px 0}.kiosk-actions button{min-height:68px;font-size:16px;line-height:1.15}.kiosk-actions .primary{border-radius:8px}.kiosk-actions .secondary{border:0;background:#e4f0e8;color:#315d55}.kiosk-divider{display:flex;align-items:center;gap:10px;color:#8a8f8c;font-size:13px;margin:25px 0}.kiosk-divider:before,.kiosk-divider:after{content:"";height:1px;flex:1;background:#e1e3df}.link-button{width:100%;min-height:45px;border:0;border-radius:8px;background:#e4f0e8;color:#315d55;font-size:16px;font-weight:800}.kiosk-note{font-size:12px!important;text-align:left;margin:8px 0 0!important;color:#67593c!important}.kiosk-candidates{display:grid;gap:12px;margin:24px 0;text-align:left}.kiosk-candidate{display:grid;grid-template-columns:1fr auto;gap:8px;align-items:center;width:100%;padding:19px;border:1px solid #89a89b;border-radius:10px;background:#f3f7f3;color:#284b43;text-align:left;font:inherit}.kiosk-candidate:hover{border-color:#35685f;background:#e4efe7}.kiosk-candidate strong{display:grid;gap:4px;font-size:18px}.kiosk-candidate strong small{font-size:14px;font-weight:500}.kiosk-candidate span{font-weight:800}.kiosk-candidate.disabled{border-color:#d8d6d0;background:#f4f2ed;color:#75746e}.kiosk-success{text-align:center}.kiosk-success h1{color:#2e6656}.kiosk-card[hidden],#walk-in-phone-field[hidden]{display:none!important}@media(max-width:640px){.kiosk-page{padding:16px}.kiosk-card{padding:31px 23px;border-radius:14px}.kiosk-card h1{font-size:31px}.kiosk-actions{grid-template-columns:1fr}.kiosk-candidate{grid-template-columns:1fr}.kiosk-candidate span{font-size:15px}}

.kiosk-actions .primary{background:#2f6d61;color:#fff}

.multiple-plan-setup[hidden],#group-results[hidden]{display:none!important}
.availability-conflict-message{margin:0 0 8px;border-left:4px solid #b56522;border-radius:6px;padding:11px 13px;background:#fff4e8;color:#7d3d0d!important;font-size:15px!important;font-weight:800}

/* Multiple People: compact room-by-room flow, especially on phones and iPad previews. */
#multiple-booking-form>h3:first-child{margin:0 0 -10px;line-height:1.15}#multiple-booking-form>h3:first-child+.field-help{margin:0;line-height:1.35}html:has(#multiple-booking-form) .back-to-top{display:none!important}
@media(max-width:760px){main:has(#group-view:not([hidden])){padding-top:10px}#group-view{margin-top:0}}
html.mobile-preview main:has(#group-view:not([hidden])){padding-top:10px}html.mobile-preview #group-view{margin-top:0}
@media(max-width:760px){#multiple-couples-room-choice{gap:8px;margin-bottom:10px;padding:14px}#multiple-couples-room-choice>.field-help{margin:0;line-height:1.3}#multiple-couples-room-choice>.details-form{gap:10px}#multiple-couples-room-choice label{gap:5px}#multiple-couples-room-choice select{min-height:44px;padding:9px 11px}}
html.mobile-preview #multiple-couples-room-choice{gap:8px;margin-bottom:10px;padding:14px}html.mobile-preview #multiple-couples-room-choice>.field-help{margin:0;line-height:1.3}html.mobile-preview #multiple-couples-room-choice>.details-form{gap:10px}html.mobile-preview #multiple-couples-room-choice label{gap:5px}html.mobile-preview #multiple-couples-room-choice select{min-height:44px;padding:9px 11px}
.room-category-select{display:grid;gap:5px;margin:0;color:#315d55;font-size:14px;font-weight:800}.room-category-select select{width:100%;min-height:44px;padding:9px 11px;border:1px solid #9fb1aa;border-radius:8px;background:#fff;color:var(--ink);font-size:16px;font-weight:700}
.room-service-option.checking{opacity:.58}.room-service-option.unavailable{opacity:.38;background:#f1f1ee;border-color:#d7d7d2;color:#777}.room-service-option.unavailable input{cursor:not-allowed}.room-service-option.unavailable span:after{content:'Not available at this time';display:block;margin-top:3px;color:#777;font-size:11px;font-weight:700}
.guest-fields .consent[hidden]{display:none!important}.multiple-deposit-mode-note{margin:0;padding:9px 11px;border-radius:8px;background:#f3f8f5;line-height:1.35}.multiple-deposit-mode-note.attention{border:1px solid #d7aa65;background:#fff7e8;color:#714916}
.deposit-payment-choices{display:grid;gap:3px;padding:10px 13px 12px}.details-form .deposit-payment-option{display:flex;align-items:flex-start;gap:10px;padding:6px 0;line-height:1.3}.details-form .deposit-payment-option input[type="radio"]{flex:none;width:18px;height:18px;margin:2px 0 0;padding:0}.details-form .deposit-payment-copy{display:grid;gap:2px;min-width:0;color:var(--ink);font-weight:400}.details-form .deposit-payment-copy strong{color:var(--ink);font-weight:800}.details-form .deposit-payment-copy small{color:var(--muted);font-size:13px;font-weight:400}
.guest-fields>label[hidden]{display:none!important}
.organizer-guest-match[hidden]{display:none!important}.organizer-guest-match small{color:var(--muted);font-size:12px;font-weight:500}.guest-details.organizer-matched{border-color:#7ea69a;background:#f7fbf9}.guest-details.organizer-matched [readonly]{background:#edf5f1;color:#294f48}
.room-service-card{display:block;padding:0;overflow:hidden}.room-service-card>summary{display:flex;align-items:center;justify-content:space-between;gap:12px;min-height:54px;padding:13px 15px;color:#315d55;font-weight:800;cursor:pointer;list-style:none}.room-service-card>summary::-webkit-details-marker{display:none}.room-service-card>summary:after{content:'+';flex:none;font-size:21px;line-height:1}.room-service-card[open]>summary{border-bottom:1px solid #d8e2dd}.room-service-card[open]>summary:after{content:'−'}.room-service-card>summary small{margin-left:auto;color:var(--muted);font-size:12px;font-weight:700;text-align:right}.room-service-card-body{display:grid;grid-template-columns:1fr 1fr;gap:12px;padding:13px}.room-service-card-body>.room-service-picker{grid-column:1/-1}.room-service-card[data-room-type="single"] .guest-details{grid-column:1/-1}.guest-details{display:block;padding:0;overflow:hidden}.guest-details>summary{display:flex;justify-content:space-between;gap:10px;padding:11px 13px;color:#315d55;cursor:pointer;list-style:none}.guest-details>summary::-webkit-details-marker{display:none}.guest-details>summary:after{content:'+';font-size:18px;line-height:1}.guest-details[open]>summary{border-bottom:1px solid var(--line)}.guest-details[open]>summary:after{content:'−'}.guest-details>summary small{margin-left:auto;color:var(--muted);font-size:12px;font-weight:500;text-align:right}.guest-fields{display:grid;grid-template-columns:1fr 1fr;gap:12px;padding:13px}.guest-fields .consent{grid-column:1/-1}.request-current-plan{margin-top:12px}.multiple-submit-bar{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:10px 12px;border:1px solid #9fb9ae;border-radius:10px;background:#f3f8f5;box-shadow:0 5px 18px #17312b17}.multiple-submit-bar>span{display:grid;gap:1px}.multiple-submit-bar small{color:var(--muted);font-size:12px}.multiple-submit-bar .primary{flex:none;justify-self:auto;min-height:43px}
@media(max-width:760px){#group-view{gap:10px;padding:14px 12px}#group-view>.back{margin-bottom:0}#multiple-page-kicker{margin:0}#multiple-page-title{margin:0;font-size:30px;line-height:1.04}#group-intro{margin:0;font-size:14px;line-height:1.35}#group-search-form{gap:10px}.quick-availability-note{padding:9px 11px}.quick-availability-note span{display:none}#group-count-options{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:7px;margin:8px 0 10px}#group-count-options button{min-height:40px;padding:8px 4px;text-align:center}.room-service-card-body,.guest-fields{grid-template-columns:1fr}.room-category-options{display:flex;gap:7px;overflow-x:auto}.room-category-options button{width:auto;min-height:40px;padding:8px 11px;text-align:center;white-space:nowrap}.room-service-options{grid-template-columns:repeat(2,minmax(0,1fr));gap:7px}.room-service-option{min-height:62px;padding:9px}.room-service-option small{font-size:12px}.guest-fields .consent{grid-column:auto}.multiple-submit-bar{position:sticky;bottom:8px;z-index:12;margin:0 -4px}.multiple-submit-bar .primary{padding:10px 12px}.multiple-wave{gap:8px;margin-bottom:11px}}
html.mobile-preview #group-view{gap:10px;padding:14px 12px}html.mobile-preview #group-view>.back{margin-bottom:0}html.mobile-preview #multiple-page-kicker{margin:0}html.mobile-preview #multiple-page-title{margin:0;font-size:30px;line-height:1.04}html.mobile-preview #group-intro{margin:0;font-size:14px;line-height:1.35}html.mobile-preview #group-search-form{gap:10px}html.mobile-preview .quick-availability-note{padding:9px 11px}html.mobile-preview .quick-availability-note span{display:none}html.mobile-preview #group-count-options{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:7px;margin:8px 0 10px}html.mobile-preview #group-count-options button{min-height:40px;padding:8px 4px;text-align:center}html.mobile-preview .room-service-card-body,html.mobile-preview .guest-fields{grid-template-columns:1fr}html.mobile-preview .room-category-options{display:flex;gap:7px;overflow-x:auto}html.mobile-preview .room-category-options button{width:auto;min-height:40px;padding:8px 11px;text-align:center;white-space:nowrap}html.mobile-preview .room-service-options{grid-template-columns:repeat(2,minmax(0,1fr));gap:7px}html.mobile-preview .room-service-option{min-height:62px;padding:9px}html.mobile-preview .room-service-option small{font-size:12px}html.mobile-preview .guest-fields .consent{grid-column:auto}html.mobile-preview .multiple-submit-bar{position:sticky;bottom:8px;z-index:12;margin:0 -4px}html.mobile-preview .multiple-submit-bar .primary{padding:10px 12px}html.mobile-preview .multiple-wave{gap:8px;margin-bottom:11px}
@media(max-width:360px){.room-service-options{grid-template-columns:1fr}.multiple-submit-bar>span{display:none}.multiple-submit-bar .primary{width:100%}}
.multiple-contact-heading{margin:10px 0 0;padding-top:18px;border-top:2px solid #d7e2dd}.multiple-participant-heading{margin:2px 0;color:#315d55;font:800 15px/1.3 Arial,sans-serif}.group-policy-summary{padding:15px 16px;border:1px solid #c6d5ce;border-radius:9px;background:#f7faf8}.group-policy-summary h3{margin:0 0 8px;font:800 18px/1.25 Arial,sans-serif;color:#315d55}.group-policy-summary p{margin:7px 0;font-size:14px;line-height:1.45}.group-policy-summary details{margin-top:10px;padding-top:9px;border-top:1px solid #d8e2dd}.group-policy-summary summary{color:#315d55;font-weight:800;cursor:pointer}.group-policy-summary ul{margin:10px 0;padding-left:20px}.group-policy-summary li{margin:5px 0;font-size:13px}.group-policy-accept{padding:12px 14px;border:1px solid #9fb9ae;border-radius:8px;background:#edf3ee;font-weight:700!important}.group-policy-accept input{flex:none}
@media(max-width:760px){.multiple-contact-heading{padding-top:14px}.group-policy-summary{padding:13px}.group-policy-summary p{font-size:13px}.group-policy-accept{font-size:13px;line-height:1.35}}
.split-option-panel{margin:12px 0;padding:12px 13px;border:1px solid #c6d5ce;border-radius:9px;background:#f7faf8}.split-option-panel>summary{color:#315d55;font-weight:800;cursor:pointer}.split-option-panel label{margin:12px 0}.split-option-panel select{width:100%;min-height:43px;border:1px solid #b8c4be;border-radius:7px;background:#fff;padding:8px 10px}.split-option-list{display:grid;gap:8px;margin:12px 0}.split-option-list button{text-align:left}.capacity-notice,.availability-recovery-message{padding:10px 12px;border-radius:8px;background:#edf3ee}.blocked-choice-actions,.plan-adjustments{display:flex;gap:8px;flex-wrap:wrap;margin-top:12px}.blocked-choice-actions button,.plan-adjustments button{flex:0 1 auto}
@media(max-width:760px){.split-option-panel{padding:11px}.blocked-choice-actions,.plan-adjustments{display:grid;grid-template-columns:1fr}.blocked-choice-actions button,.plan-adjustments button{width:100%}}
.same-time-preference{align-items:flex-start;padding:11px 13px;border:1px solid #c6d5ce;border-radius:8px;background:#f7faf8}.same-time-preference span{display:grid;gap:3px}.same-time-preference small{color:var(--muted);font-weight:500;line-height:1.35}.no-standard-help{display:grid;justify-items:start;gap:8px;margin:12px 0;padding:12px 13px;border:1px solid #d7aa65;border-radius:9px;background:#fff7e8}.no-standard-help small{color:#715b3d}.no-standard-help button{min-height:42px}
.multiple-capacity-context{display:grid;gap:3px;margin:10px 0;padding:9px 11px;border-left:3px solid #3b7166;background:#f3f8f5}.multiple-capacity-context p{margin:0;color:#38544d;font-size:13px;line-height:1.4}
.group-size-guidance{display:grid;justify-items:start;gap:5px;margin-top:10px;padding:11px 12px;border:1px solid #d5e0db;border-radius:9px;background:#f7faf8}.group-size-guidance strong{color:#244c43}.group-size-guidance p{margin:0;color:#4d625d;font-size:13px;line-height:1.45}.group-size-guidance button{min-height:38px;margin-top:3px;padding:7px 11px}

/* Keep the final action clear without covering the form on phones. */
.group-arrangement-choices{display:grid;grid-template-columns:1fr 1fr;gap:8px;margin:12px 0}.group-arrangement-choices button{min-width:0;padding:10px 8px;white-space:normal}.split-option-panel[hidden],#group-size-guidance[hidden]{display:none!important}
.room-service-card>summary .room-guest-name{display:grid;gap:5px;min-width:0;flex:1;font-size:13px}.room-guest-name input{box-sizing:border-box;width:100%;min-width:0;min-height:40px;padding:8px 10px;border:1px solid #9fb9ae;border-radius:7px;background:#fff;color:var(--ink);font-size:16px}.room-service-card>summary:has(.room-guest-name)>small{max-width:80px;flex-shrink:0}
.multiple-submit-bar{display:block!important;position:static!important;margin:0!important;padding:0!important;border:0!important;border-radius:0!important;background:transparent!important;box-shadow:none!important}
.multiple-submit-bar .primary{width:100%;min-height:46px;padding:10px 14px}
.multiple-request-help-fab{position:fixed;right:16px;bottom:16px;z-index:30;width:auto!important;min-height:36px!important;padding:7px 11px!important;border-radius:999px!important;background:#fff!important;box-shadow:0 5px 18px #17312b2b;font-size:12px!important;white-space:nowrap}
@media(max-width:760px){.multiple-request-help-fab{right:12px;bottom:12px}}
html.mobile-preview .multiple-request-help-fab{right:calc((100vw - min(430px,100vw))/2 + 12px);bottom:12px}
.group-size-guidance[hidden]{display:none!important}#group-intro{font-size:16px;letter-spacing:0;font-weight:400}
.compact-group-count{display:grid;gap:0}.compact-group-count>label{max-width:230px}.compact-group-count select{min-height:44px}
.availability-help{margin:12px 0;padding:10px 12px;border:1px solid #c6d5ce;border-radius:9px;background:#f7faf8}.availability-help summary{color:#315d55;font-weight:800;cursor:pointer}.availability-help p{margin:9px 0 7px}.availability-help small{display:block;margin-top:7px;color:var(--muted);line-height:1.35}
@media(max-width:760px){.no-standard-help button,.availability-help button{width:100%}.multiple-capacity-context{margin:8px 0;padding:8px 10px}.group-size-guidance{padding:10px}.group-size-guidance button{width:auto}}
.multiple-help-footer{display:flex;align-items:center;justify-content:space-between;gap:14px;margin-top:4px;padding:13px 14px;border:1px solid #c6d5ce;border-radius:9px;background:#f7faf8}.multiple-help-footer p{display:grid;gap:3px;margin:0}.multiple-help-footer small{color:var(--muted);font-size:12px;line-height:1.35}.multiple-help-footer button{flex:none;min-height:42px}@media(max-width:760px){.multiple-help-footer{align-items:stretch;flex-direction:column;padding:12px}.multiple-help-footer button{width:100%}}
.group-panel.has-inline-request>.multiple-help-footer{display:none!important}
.recommended-split-label{margin:10px 0 5px;color:var(--green);font-size:12px;font-weight:800;letter-spacing:.08em;text-transform:uppercase}.alternate-split-options{margin-top:10px}.alternate-split-options>summary{color:var(--green);font-size:13px;font-weight:700;cursor:pointer}.alternate-split-options .split-option-list{display:grid;gap:7px;margin-top:8px}
.split-choice-copy{margin:10px 0;color:var(--muted);font-size:13px;line-height:1.4}.split-plan-selectors{display:grid;grid-template-columns:1fr 1fr;gap:10px}.split-plan-selectors label{display:grid;gap:5px;margin:0;color:#315d55;font-size:13px;font-weight:800}.split-plan-selectors select{width:100%;min-height:44px;padding:8px 10px;border:1px solid #b8c4be;border-radius:7px;background:#fff;font-size:16px}.split-plan-selectors select:disabled{background:#f1f3f2;color:#7b8883}.split-plan-actions{display:flex;flex-wrap:wrap;gap:8px;margin-top:11px}.split-plan-actions button{min-height:42px}.split-request-note{display:block;margin-top:8px;color:var(--muted);font-size:12px;line-height:1.4}
.split-time-field{grid-column:1/-1;display:grid;gap:8px;margin-top:3px}.split-field-label{color:#315d55;font-size:13px;font-weight:800}.split-time-button-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}.split-time-choice{display:grid;gap:2px;min-width:0;text-align:left}.split-time-choice strong,.split-time-choice small{display:block}.split-time-choice small{color:var(--muted);font-size:12px;font-weight:500}.split-time-choice.selected{border-color:var(--green);background:var(--green);color:#fff}.split-time-choice.selected small{color:#fff}.split-time-periods{display:grid;gap:8px}.split-time-period{border:1px solid #c6d5ce;border-radius:8px;background:#fff}.split-time-period>summary{display:flex;align-items:center;justify-content:space-between;gap:8px;padding:10px 11px;color:#315d55;cursor:pointer}.split-time-period>summary small{color:var(--muted);font-size:12px}.split-time-period .split-time-button-grid{padding:0 10px 10px}
@media(max-width:760px){.split-plan-selectors{grid-template-columns:1fr}.split-plan-actions{display:grid;grid-template-columns:1fr}.split-plan-actions button{width:100%}}
@media(max-width:360px){.split-time-button-grid{grid-template-columns:1fr}}
.multiple-choice-card{display:grid;gap:8px;margin:12px 0;padding:12px 13px;border:1px solid #c6d5ce;border-radius:9px;background:#f7faf8}.multiple-choice-card>p{margin:0;color:var(--muted);font-size:13px}.compact-time-choice{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:9px}.compact-time-choice select,.split-plan-selectors input{width:100%;min-height:44px;padding:8px 10px;border:1px solid #b8c4be;border-radius:7px;background:#fff;font-size:16px}.split-plan-simple{grid-template-columns:1fr 1fr}.split-plan-simple .split-time-field{grid-column:1/-1}.multiple-choice-help{display:flex;align-items:center;justify-content:space-between;gap:12px;margin:12px 0;padding:11px 12px;border:1px solid #c6d5ce;border-radius:9px;background:#f7faf8}.multiple-choice-help>span{display:grid;gap:2px}.multiple-choice-help small{color:var(--muted);font-size:12px;line-height:1.35}.multiple-choice-help>div{display:flex;gap:8px;flex:none}
.time-period-list{display:grid;gap:8px}.time-period-drawer{border:1px solid #c6d5ce;border-radius:8px;background:#fff;overflow:hidden}.time-period-drawer>summary{display:flex;align-items:center;justify-content:space-between;gap:10px;min-height:45px;padding:9px 11px;color:#315d55;cursor:pointer;list-style:none}.time-period-drawer>summary::-webkit-details-marker{display:none}.time-period-drawer>summary small{color:var(--muted);font-weight:500}.time-period-drawer>summary::after{content:'+';font-size:18px}.time-period-drawer[open]>summary::after{content:'−'}.time-button-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:7px;padding:0 10px 8px}.time-button-grid button{min-height:42px;padding:7px 5px}.time-show-more{margin:0 10px 10px;padding:5px 0;border:0;background:transparent;color:#35685f;font-weight:800;cursor:pointer}
.time-button-grid button.selected,.time-button-grid button.selected:disabled{border-color:var(--green);background:var(--green);color:#fff;opacity:1}
@media(max-width:760px){.compact-time-choice,.split-plan-simple{grid-template-columns:1fr}.split-plan-simple .split-time-field{grid-column:auto}.multiple-choice-help{align-items:stretch;flex-direction:column}.multiple-choice-help>div{display:grid;grid-template-columns:1fr}.multiple-choice-help button,.compact-time-choice button{width:100%}}
html.mobile-preview .multiple-choice-help{align-items:stretch;flex-direction:column}html.mobile-preview .multiple-choice-help>div{display:grid;grid-template-columns:1fr}html.mobile-preview .multiple-choice-help button,html.mobile-preview .compact-time-choice button{width:100%}
@media(max-width:760px){.time-button-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.time-period-drawer>summary{min-height:47px}}
.mobile-choice-drawer>summary{display:none}
.multiple-time-help{display:flex;align-items:center;justify-content:flex-end;gap:9px;margin-top:8px;color:var(--muted);font-size:13px}.multiple-time-help button{min-height:38px;padding:7px 11px}
@media(max-width:760px){.quick-availability-note{display:none}.mobile-choice-drawer{display:block;border:1px solid #c6d5ce;border-radius:9px;background:#fff;overflow:hidden}.mobile-choice-drawer>summary{display:flex;align-items:center;justify-content:space-between;gap:12px;min-height:48px;padding:10px 12px;color:#294f48;font-weight:800;cursor:pointer;list-style:none}.mobile-choice-drawer>summary::-webkit-details-marker{display:none}.mobile-choice-drawer>summary strong{color:#35685f;font-size:14px;text-align:right}.mobile-choice-drawer>summary::after{content:'+';flex:none;font-size:20px;line-height:1}.mobile-choice-drawer[open]>summary::after{content:'−'}.mobile-choice-drawer>.compact-group-count,.mobile-choice-drawer>.calendar-choice{padding:0 11px 11px}.mobile-choice-drawer>.calendar-choice>.field-label{display:none}.mobile-choice-drawer .compact-group-count>label{max-width:none}.mobile-choice-drawer .compact-group-count select{width:100%}}
@media(max-width:760px){.multiple-time-help{justify-content:space-between}.multiple-time-help button{width:auto}}
html.mobile-preview .quick-availability-note{display:none}html.mobile-preview .mobile-choice-drawer{display:block;border:1px solid #c6d5ce;border-radius:9px;background:#fff;overflow:hidden}html.mobile-preview .mobile-choice-drawer>summary{display:flex;align-items:center;justify-content:space-between;gap:12px;min-height:48px;padding:10px 12px;color:#294f48;font-weight:800;cursor:pointer;list-style:none}html.mobile-preview .mobile-choice-drawer>summary::-webkit-details-marker{display:none}html.mobile-preview .mobile-choice-drawer>summary strong{color:#35685f;font-size:14px;text-align:right}html.mobile-preview .mobile-choice-drawer>summary::after{content:'+';flex:none;font-size:20px;line-height:1}html.mobile-preview .mobile-choice-drawer[open]>summary::after{content:'−'}html.mobile-preview .mobile-choice-drawer>.compact-group-count,html.mobile-preview .mobile-choice-drawer>.calendar-choice{padding:0 11px 11px}html.mobile-preview .mobile-choice-drawer>.calendar-choice>.field-label{display:none}html.mobile-preview .mobile-choice-drawer .compact-group-count>label{max-width:none}html.mobile-preview .mobile-choice-drawer .compact-group-count select{width:100%}
.request-back-link{display:none;color:var(--green);font-weight:800;text-decoration:none}.standalone-request .request-drawer{inset:0;width:100vw;max-width:none;padding:34px;background:var(--paper)}.standalone-request .request-drawer::backdrop{background:var(--paper)}.standalone-request .request-drawer>.close{display:none}.standalone-request .request-drawer form{max-width:760px;margin:0 auto;padding:32px;border:1px solid var(--line);border-radius:12px;background:#fff}.standalone-request .request-back-link{display:inline-flex}@media(max-width:760px){.standalone-request .request-drawer{padding:0}.standalone-request .request-drawer form{min-height:100vh;padding:24px 20px;border:0;border-radius:0}}
.request-contact-preference{display:flex;align-items:center;gap:10px 18px;margin:0;padding:11px 13px;border:1px solid #c6d5ce;border-radius:9px}.request-contact-preference legend{padding:0 5px;color:#294f48;font-size:14px;font-weight:800}.request-contact-preference label{display:flex;align-items:center;gap:7px;margin:0;font-weight:750}.request-contact-preference input{width:18px;height:18px;margin:0}@media(max-width:520px){.request-contact-preference{align-items:flex-start;flex-direction:column}}

/* Couples services: each guest chooses and pays for their own Add-ons. */
.couple-add-on-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;margin:16px 0 20px}.couple-add-on-grid fieldset{min-width:0;margin:0;padding:8px 14px 4px;border:1px solid #b8c9c1;border-radius:10px;background:#f8fbf9}.couple-add-on-grid legend{padding:0 7px;color:#315d55;font-weight:850}.couple-add-on-grid .add-on{align-items:flex-start}.couple-add-on-grid .add-on input{flex:none;margin-top:4px}.couple-add-on-grid .add-on strong{white-space:nowrap}.couple-add-on-grid .add-on small{white-space:nowrap}
.add-on-more{border-top:1px solid var(--line)}.add-on-more summary{padding:13px 0;color:#315d55;font-weight:800;cursor:pointer}.add-on-more[open] summary{border-bottom:1px solid var(--line)}.add-on-more .add-on:first-child{border-top:0}
@media(max-width:760px){.couple-add-on-grid{grid-template-columns:1fr;gap:10px}.couple-add-on-grid fieldset{padding:6px 12px 2px}.couple-add-on-grid .add-on{min-height:48px}}
html.mobile-preview .couple-add-on-grid{grid-template-columns:1fr;gap:10px}html.mobile-preview .couple-add-on-grid fieldset{padding:6px 12px 2px}html.mobile-preview .couple-add-on-grid .add-on{min-height:48px}

/* Mobile service booking stays in one continuous page: service, Add-ons, calendar, then times. */
@media(max-width:760px){.service-choice-page:has(.inline-service-schedule){padding-bottom:18px}.inline-service-schedule{max-width:none;margin:14px 0 0;padding:0;border:0;border-radius:0;background:transparent}.inline-service-schedule>.flow-heading{display:none}.inline-service-schedule .schedule-grid{gap:16px;margin:0 0 18px}.inline-service-schedule .booking-calendar{margin:0}.inline-service-schedule .time-period{margin:13px 0}.inline-service-schedule .time-period h3{text-align:left;font:800 15px/1.2 Arial,sans-serif}.inline-service-schedule .time-period .time-slots{grid-template-columns:repeat(3,minmax(0,1fr));gap:7px}.inline-service-schedule .time-period .time-slots button{min-height:46px;padding:8px 3px;font-size:14px}.inline-service-schedule #continue-details{width:100%;margin-top:14px}html:has(.inline-service-schedule) .back-to-top{display:none!important}}
html.mobile-preview .service-choice-page:has(.inline-service-schedule){padding-bottom:18px}html.mobile-preview .inline-service-schedule{max-width:none;margin:14px 0 0;padding:0;border:0;border-radius:0;background:transparent}html.mobile-preview .inline-service-schedule>.flow-heading{display:none}html.mobile-preview .inline-service-schedule .schedule-grid{gap:16px;margin:0 0 18px}html.mobile-preview .inline-service-schedule .booking-calendar{margin:0}html.mobile-preview .inline-service-schedule .time-period{margin:13px 0}html.mobile-preview .inline-service-schedule .time-period h3{text-align:left;font:800 15px/1.2 Arial,sans-serif}html.mobile-preview .inline-service-schedule .time-period .time-slots{grid-template-columns:repeat(3,minmax(0,1fr));gap:7px}html.mobile-preview .inline-service-schedule .time-period .time-slots button{min-height:46px;padding:8px 3px;font-size:14px}html.mobile-preview .inline-service-schedule #continue-details{width:100%;margin-top:14px}html.mobile-preview:has(.inline-service-schedule) .back-to-top{display:none!important}
.inline-add-on-step{margin-top:22px;padding-top:22px;border-top:2px solid #cbd8d2;scroll-margin-top:12px}.inline-add-on-step>.eyebrow{margin:0 0 5px}.inline-add-on-step>h3{margin:0 0 8px;font-size:24px}
.booking-flow label.add-on{display:flex;align-items:flex-start;gap:10px}.booking-flow label.add-on input[type="checkbox"],.booking-flow label.consent input[type="checkbox"]{flex:none;width:18px;height:18px;margin:3px 0 0;padding:0}.booking-flow label.consent{display:flex;align-items:flex-start;gap:9px;font-weight:700}
.automatic-couples-room{display:none!important}
.stretching-choice{display:grid;gap:10px;margin:0;padding:14px 15px;border:1px solid #b8c4be;border-radius:8px}.stretching-choice legend{padding:0 6px;font-weight:800}.details-form .stretching-choice label{display:flex;align-items:center;gap:9px;margin:0;font-weight:500}.details-form .stretching-choice input[type="radio"]{flex:none;width:18px;height:18px;margin:0;padding:0}.stretching-choice small{color:var(--muted);font-size:12px}.quiet-session-choice{padding:3px 0}
#party-guest-details:empty{display:none}
@media(max-width:760px){.inline-service-schedule #time-slots[data-partitioned="yes"]{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;align-items:start}.inline-service-schedule #time-slots>.time-period{min-width:0;margin:8px 0}.inline-service-schedule #time-slots>.time-period h3{text-align:center;font-size:12px}.inline-service-schedule #time-slots>.time-period .time-slots{grid-template-columns:1fr;gap:6px}.inline-service-schedule #time-slots>.time-period .time-slots button{min-width:0;min-height:42px;font-size:13px}.inline-service-schedule #time-slots>.time-period .see-more{min-height:34px;margin:8px auto 0;font-size:12px;white-space:nowrap}}
html.mobile-preview .inline-service-schedule #time-slots[data-partitioned="yes"]{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;align-items:start}html.mobile-preview .inline-service-schedule #time-slots>.time-period{min-width:0;margin:8px 0}html.mobile-preview .inline-service-schedule #time-slots>.time-period h3{text-align:center;font-size:12px}html.mobile-preview .inline-service-schedule #time-slots>.time-period .time-slots{grid-template-columns:1fr;gap:6px}html.mobile-preview .inline-service-schedule #time-slots>.time-period .time-slots button{min-width:0;min-height:42px;font-size:13px}html.mobile-preview .inline-service-schedule #time-slots>.time-period .see-more{min-height:34px;margin:8px auto 0;font-size:12px;white-space:nowrap}

/* Single-service booking: keep the complete phone flow visible without oversized gaps. */
@media(max-width:760px){
  main:has(#service-view:not([hidden])){padding-inline:10px;padding-bottom:30px}
  .service-choice-page:has(.inline-service-schedule){padding:12px 13px 14px}
  .service-choice-page h2{margin:8px 0 4px;font-size:28px;line-height:1.05}
  .service-choice-page .service-page-copy{margin:5px 0 8px;font-size:14px;line-height:1.35}
  .service-choice-page .duration-options{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:6px;margin:10px 0 0}
  .service-choice-page .duration-options button{min-width:0;min-height:42px;padding:7px 3px;font-size:13px;line-height:1.15;white-space:nowrap;text-align:center}
  .inline-service-schedule{margin-top:9px}
  .inline-service-schedule .schedule-grid{gap:9px;margin:0 0 8px}
  .inline-service-schedule .booking-calendar{gap:7px;padding:7px}
  .inline-service-schedule .calendar-head{min-height:38px;margin-bottom:0}
  .inline-service-schedule .calendar-head button{min-width:40px;min-height:38px;padding:2px 8px}
  .inline-service-schedule .calendar-week{margin-bottom:0}
  .inline-service-schedule .calendar-days{gap:2px}
  .inline-service-schedule .calendar-days span,.inline-service-schedule .calendar-days button{min-height:38px;aspect-ratio:auto}
  .inline-service-schedule .field-label{margin:0 0 3px}
  .inline-service-schedule #time-slots[data-partitioned="yes"]{gap:6px}
  .inline-service-schedule #time-slots>.time-period{margin:3px 0}
  .inline-service-schedule #time-slots>.time-period h3{margin:0 0 5px}
  .inline-service-schedule #time-slots>.time-period .time-slots{gap:5px}
  .inline-service-schedule #time-slots>.time-period .time-slots button{min-height:42px;padding:6px 2px}
  .inline-service-schedule #time-slots>.time-period .see-more{min-height:28px;margin:4px auto 0}
  .inline-service-schedule #time-message{margin:5px 0 0}
  .inline-service-schedule #time-message:empty{display:none}
  .inline-service-schedule #continue-details{margin-top:8px}
  .inline-service-schedule #continue-details:disabled{display:none}
}
html.mobile-preview main:has(#service-view:not([hidden])){padding-inline:10px;padding-bottom:30px}
html.mobile-preview .service-choice-page:has(.inline-service-schedule){padding:12px 13px 14px}
html.mobile-preview .service-choice-page h2{margin:8px 0 4px;font-size:28px;line-height:1.05}
html.mobile-preview .service-choice-page .service-page-copy{margin:5px 0 8px;font-size:14px;line-height:1.35}
html.mobile-preview .service-choice-page .duration-options{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:6px;margin:10px 0 0}
html.mobile-preview .service-choice-page .duration-options button{min-width:0;min-height:42px;padding:7px 3px;font-size:13px;line-height:1.15;white-space:nowrap;text-align:center}
html.mobile-preview .inline-service-schedule{margin-top:9px}
html.mobile-preview .inline-service-schedule .schedule-grid{gap:9px;margin:0 0 8px}
html.mobile-preview .inline-service-schedule .booking-calendar{gap:7px;padding:7px}
html.mobile-preview .inline-service-schedule .calendar-head{min-height:38px;margin-bottom:0}
html.mobile-preview .inline-service-schedule .calendar-head button{min-width:40px;min-height:38px;padding:2px 8px}
html.mobile-preview .inline-service-schedule .calendar-week{margin-bottom:0}
html.mobile-preview .inline-service-schedule .calendar-days{gap:2px}
html.mobile-preview .inline-service-schedule .calendar-days span,html.mobile-preview .inline-service-schedule .calendar-days button{min-height:38px;aspect-ratio:auto}
html.mobile-preview .inline-service-schedule .field-label{margin:0 0 3px}
html.mobile-preview .inline-service-schedule #time-slots[data-partitioned="yes"]{gap:6px}
html.mobile-preview .inline-service-schedule #time-slots>.time-period{margin:3px 0}
html.mobile-preview .inline-service-schedule #time-slots>.time-period h3{margin:0 0 5px}
html.mobile-preview .inline-service-schedule #time-slots>.time-period .time-slots{gap:5px}
html.mobile-preview .inline-service-schedule #time-slots>.time-period .time-slots button{min-height:42px;padding:6px 2px}
html.mobile-preview .inline-service-schedule #time-slots>.time-period .see-more{min-height:28px;margin:4px auto 0}
html.mobile-preview .inline-service-schedule #time-message{margin:5px 0 0}
html.mobile-preview .inline-service-schedule #time-message:empty{display:none}
html.mobile-preview .inline-service-schedule #continue-details{margin-top:8px}
html.mobile-preview .inline-service-schedule #continue-details:disabled{display:none}
.thank-you-actions{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));width:100%;gap:8px}.thank-you-actions a{display:grid;place-items:center;min-width:0;padding:11px 6px;text-align:center;white-space:nowrap;font-size:14px}
.close-thank-you{display:block;margin:10px auto 0;padding:7px 14px}.close-thank-you-message{margin:2px 0 0}
#group-date-calendar .calendar-days button.calendar-available{color:#111}#group-date-calendar .calendar-days button.calendar-unavailable,#group-date-calendar .calendar-days button.calendar-availability-loading{background:transparent;color:#c6cbc8}#group-date-calendar .calendar-days button.selected.calendar-available{background:var(--green);color:#fff}

/* Two-Guest bookings collect one 20% Deposit before any space is held. */
.two-guest-secure{display:grid;gap:5px;padding:15px 16px;border:1px solid #9fb9ae;border-radius:10px;background:#edf3ee}.two-guest-secure p{margin:0;color:#35685f;font-size:12px;font-weight:850;letter-spacing:.12em}.two-guest-secure>strong{font-size:18px}.two-guest-secure small,.two-guest-details-later{color:var(--muted);line-height:1.4}.two-guest-details-later{margin:0;padding:11px 13px;border-left:3px solid #6d9389;background:#f7faf8}.two-guest-pay-bar{border-color:#9fb9ae;background:#f4f8f6}.two-guest-pay-bar>span{display:grid;gap:2px}.two-guest-pay-bar small{color:var(--muted)}
.two-guest-payment,.two-guest-confirmed{display:grid;justify-items:start;gap:10px;border-color:#9fb9ae;background:#f7faf8}.two-guest-payment p,.two-guest-confirmed p{margin:0}.two-guest-payment .primary{min-width:170px}.two-guest-confirmed{border-left:4px solid var(--green)}.group-invite-heading{margin:20px 0 8px;font-size:23px}.group-guest-card{display:grid;gap:6px;padding:10px 12px}.group-guest-card>p{margin:0}.group-guest-details{margin:0!important;padding:0!important;border:0!important;border-radius:0!important}.group-guest-details>summary{display:flex;align-items:center;justify-content:space-between;gap:12px;cursor:pointer;list-style:none}.group-guest-details>summary::-webkit-details-marker{display:none}.group-guest-details>summary:before{content:'▸';color:#35685f;font-weight:900}.group-guest-details[open]>summary:before{content:'▾'}.group-guest-details>summary>span{display:grid;gap:1px;margin-right:auto}.group-guest-details>summary strong{font-size:16px}.group-guest-details>summary small{color:var(--muted);font-size:13px}.group-guest-details form{margin-top:10px}.group-guest-actions{display:flex;grid-column:1/-1;gap:8px}.group-guest-actions button{min-height:40px;padding:8px 12px}.deposit-state{display:inline-block;margin:0;font-size:12px;font-weight:800}.deposit-state.paid{color:#35685f}.deposit-state.unpaid{color:#855b25}.guest-invite-actions{display:grid;grid-column:1/-1;gap:7px;padding:9px 10px;border:1px solid #c6d5ce;border-radius:8px;background:#f7faf8}.guest-invite-actions label{margin:0}.guest-invite-actions label span{color:var(--muted);font-size:11px;font-weight:500}.guest-invite-actions>div{display:flex;gap:8px;flex-wrap:wrap}.guest-invite-actions small{color:var(--muted);font-size:12px}.participant-access-card{display:grid;gap:12px}.participant-access-card>p{margin:0}.deposit-paid-note{padding:11px 12px;border-radius:8px;background:#edf3ee;color:#315d55}
@media(max-width:760px){.two-guest-secure{padding:13px}.two-guest-pay-bar{bottom:8px;padding:9px}.two-guest-pay-bar .primary{white-space:nowrap}.group-invite-heading{margin-top:16px;font-size:20px}.guest-invite-actions>div{display:grid;grid-template-columns:1fr 1fr}.guest-invite-actions button{width:100%;padding:9px 6px}}
html.mobile-preview .two-guest-secure{padding:13px}html.mobile-preview .two-guest-pay-bar{bottom:8px;padding:9px}html.mobile-preview .two-guest-pay-bar .primary{white-space:nowrap}html.mobile-preview .group-invite-heading{margin-top:16px;font-size:20px}html.mobile-preview .guest-invite-actions>div{display:grid;grid-template-columns:1fr 1fr}html.mobile-preview .guest-invite-actions button{width:100%;padding:9px 6px}
.group-request-guest-editor{align-content:start}.group-request-guest-editor header{display:flex;justify-content:space-between;gap:8px;align-items:baseline}.group-request-guest-editor label{display:grid;gap:4px;margin-top:4px;color:#40534a;font-size:12px;font-weight:750}.group-request-guest-editor input,.group-request-guest-editor select{min-width:0;padding:8px 9px;border:1px solid #bfcfc6;border-radius:7px;background:#fff;color:#23362e;font:inherit}.group-request-addons{display:grid;gap:5px;margin:3px 0 0;padding:7px 8px;border:1px solid #e0e7e2;border-radius:7px}.group-request-addons legend{padding:0 3px;color:#63726b;font-size:11px;font-weight:800}.group-request-addons label{display:flex;align-items:center;gap:6px;margin:0;font-size:12px;font-weight:650}.group-request-addons input{width:auto;padding:0}.group-request-guest-editor>.field-help{display:block;margin:5px 0 0;font-size:12px}
.today-visit-party{display:grid;gap:8px;border:2px solid #5c998a;border-radius:12px;background:#edf7f2;padding:10px}
.today-visit-party>header{display:flex;align-items:center;justify-content:space-between;gap:8px;padding:0 2px;color:#285f52}
.today-visit-party>header span{font-size:12px;font-weight:950;letter-spacing:.1em}
.today-visit-party>header b{font-size:12px}
.today-visit-party>div{display:grid;gap:8px}
@media(max-width:620px){.today-visit-party>header{align-items:flex-start;flex-direction:column;gap:2px}}

/* The group-booking card is the primary public booking path. */
#hero-package{grid-column:1/-1;width:100%;background:#fff}
#hero-group{grid-column:1/-1;background:#fff}
#multiple-hero-label{font-size:23px;line-height:1.12}
html.mobile-preview #hero-group{grid-column:1/-1;background:#fff}
html.mobile-preview #multiple-hero-label{font-size:23px;line-height:1.12}

/* Mobile group booking: guest count is a direct native selector, not a drawer. */
@media(max-width:760px){#group-search-form>.compact-group-count{padding:0;border:1px solid #c6d5ce;border-radius:9px;background:#fff;overflow:hidden}#group-search-form>.compact-group-count>label{display:grid;grid-template-columns:1fr minmax(136px,auto);align-items:center;gap:10px;min-height:48px;padding:0 12px;color:#294f48}#group-search-form>.compact-group-count select{width:auto;min-width:136px;min-height:46px;border:0;border-left:1px solid #e0e6e2;border-radius:0;padding:0 8px;color:#35685f;font-weight:800;text-align:right}}
html.mobile-preview #group-search-form>.compact-group-count{padding:0;border:1px solid #c6d5ce;border-radius:9px;background:#fff;overflow:hidden}html.mobile-preview #group-search-form>.compact-group-count>label{display:grid;grid-template-columns:1fr minmax(136px,auto);align-items:center;gap:10px;min-height:48px;padding:0 12px;color:#294f48}html.mobile-preview #group-search-form>.compact-group-count select{width:auto;min-width:136px;min-height:46px;border:0;border-left:1px solid #e0e6e2;border-radius:0;padding:0 8px;color:#35685f;font-weight:800;text-align:right}

/* Keep each group guest editor to two compact rows on desktop. */
@media (min-width:761px){
  .group-guest-details form.details-form{grid-template-columns:minmax(0,1fr) 120px;align-items:end;gap:8px 12px}
  .group-guest-details .guest-invite-actions{grid-column:1;padding:8px 10px}
  .group-guest-details .guest-invite-actions label{gap:3px}
  .group-guest-details .guest-invite-actions input{padding:8px 9px}
  .group-guest-details .guest-invite-actions>div{gap:6px}
  .group-guest-details .guest-invite-actions small{display:none}
  .group-guest-details .group-guest-actions{grid-column:2;display:grid;grid-template-columns:1fr;gap:7px}
  .group-guest-details .group-guest-actions button{width:100%;min-height:38px;padding:7px 8px}
  .group-guest-details form.group-friend-form{grid-template-columns:minmax(130px,1fr) minmax(160px,1fr) auto auto;align-items:end}
  .group-friend-form>button{min-height:42px;padding:8px 12px;white-space:nowrap}
}
@media(max-width:760px){.group-friend-form{grid-template-columns:1fr 1fr}.group-friend-form>label{grid-column:1/-1}.group-friend-form>button{width:100%;min-height:42px;padding:8px}}
#group-management-content .group-guest-details{display:block;width:100%;min-width:0;text-align:left}
#group-management-content .group-guest-card{padding:16px}
#group-management-content .group-guest-details form.details-form{display:grid;grid-template-columns:minmax(0,1fr);gap:14px;margin-top:16px;padding-top:16px;border-top:1px solid #dce5e0}
#group-management-content .group-guest-details label{min-width:0;text-align:left}
#group-management-content .group-guest-details input,#group-management-content .group-guest-details select{width:100%;min-width:0;box-sizing:border-box}
#group-management-content .group-guest-actions{grid-column:1;display:flex;flex-wrap:wrap;gap:10px}
#group-management-content .group-guest-actions button{width:auto;min-width:100px}
#group-management-content .group-next-steps{display:flex;flex-wrap:wrap;justify-content:center;gap:10px;margin:20px 0}
#group-management-content .group-next-steps p{flex-basis:100%;margin:0;color:var(--muted)}
.group-schedule-policy{display:grid;gap:7px;margin:14px 0 18px;padding:14px;border:1px solid #c6d5ce;border-radius:10px;background:#f4f8f6;text-align:left}
.group-schedule-policy button{justify-self:start}.group-schedule-policy small{color:var(--muted);line-height:1.45}
.group-service-dialog{width:min(760px,calc(100vw - 32px));max-height:88vh;box-sizing:border-box;overflow:auto;border:1px solid #c6d5ce;border-radius:16px;padding:24px;color:#263c37;background:#fff}
.group-service-dialog::backdrop{background:#18352e88}
#multiple-booking-form [data-deposit-submit-help]{flex-basis:100%;grid-column:1/-1;width:100%;margin:8px 0 0;font-size:12px;line-height:1.5;text-align:left}
#multiple-booking-form [data-deposit-submit-help][hidden]{display:none}
#multiple-booking-form .multiple-submit-bar:has([data-deposit-submit-help]:not([hidden])){flex-wrap:wrap}
.deposit-preview-paylink{display:block;text-align:left;min-width:0}
.guest-deposit-paid{display:flex;justify-content:center;align-items:center;min-height:46px;box-sizing:border-box;padding:10px 14px;border:1px solid #b4cec3;border-radius:8px;background:#e6f0ec;color:#35685f;font-weight:700}
.deposit-preview-paylink-body{display:grid;gap:12px;padding-top:12px}
.deposit-preview-paylink>summary{min-height:48px;cursor:pointer;list-style:none}
.deposit-preview-paylink>summary::-webkit-details-marker{display:none}
.deposit-preview-paylink>summary strong{margin-right:auto}
.deposit-paylink-heading-copy{display:grid;gap:4px;min-width:0;flex:1}
.deposit-paylink-heading-copy>small{font-size:12px;font-weight:400;line-height:1.4;color:var(--muted)}
.deposit-expand-arrow{display:flex;align-items:center;justify-content:center;width:36px;height:36px;flex:0 0 36px;border-radius:50%;background:#e6f0ec;color:#35685f;font-size:32px;font-weight:700;line-height:1}
.deposit-preview-paylink[open] .deposit-expand-arrow{transform:rotate(90deg)}
.deposit-preview-guest-heading{display:flex;align-items:center;justify-content:space-between;gap:12px}
.deposit-preview-paylink input{width:100%;box-sizing:border-box}
.deposit-preview-link-buttons{display:grid;grid-template-columns:1fr 1fr;gap:8px}
.deposit-preview-link-buttons button{min-width:0;padding:10px 8px}
.group-deposit-cancel{margin-top:12px;align-self:flex-start}
#group-results .group-request-action{display:grid;grid-template-columns:minmax(110px,1fr) minmax(0,1fr);align-items:center;gap:10px;min-width:0;grid-column:1/-1;width:100%}
#group-results .group-request-response-note{display:block;max-width:360px;font-size:12px;line-height:1.45;color:var(--muted);font-weight:400;text-align:left}
#group-results [data-split-continue]:disabled{background:#fff;color:#7b8984;border:1px solid #b8c8c2;opacity:1;box-shadow:none;cursor:not-allowed}
#group-results [data-split-continue]:enabled{background:var(--green);color:#fff;border:1px solid var(--green)}
#multiple-booking-form .room-service-card[data-room-type="single"]{scroll-margin-top:16px}
#multiple-booking-form .room-service-card .collapsed-guest-name{display:none}
#multiple-booking-form .room-service-card:not([open]) .collapsed-guest-name{display:block}
#multiple-booking-form .room-service-card:not([open]) .room-guest-name{display:none}
#multiple-booking-form .room-service-card[data-room-type="single"]>summary small{overflow-wrap:anywhere}
.group-service-dialog header,.group-service-dialog footer{display:flex;align-items:center;justify-content:space-between;gap:12px}
.group-service-dialog header h2{margin:0}.group-service-dialog footer{position:sticky;bottom:-24px;background:white;padding:16px 0}
.group-service-dialog [data-services]{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:10px;margin-top:16px}
.group-service-dialog .group-service-option{display:flex;align-items:center;gap:10px;padding:14px;border:1px solid #c6d5ce;border-radius:8px;text-align:left}
.group-service-dialog input{width:auto}.group-service-dialog small{display:block;color:#63736e}.group-service-dialog [data-status]{color:#984511}
.group-schedule-dialog .details-form,.group-cancel-dialog .details-form{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px;margin-top:18px}
.group-schedule-dialog .details-form input,.group-schedule-dialog .details-form textarea,.group-cancel-dialog .details-form input,.group-cancel-dialog .details-form textarea{width:100%;box-sizing:border-box}
.group-schedule-dialog .wide,.group-cancel-dialog .wide{grid-column:1/-1}
@media(max-width:600px){.group-schedule-dialog .details-form,.group-cancel-dialog .details-form{grid-template-columns:1fr}.group-schedule-dialog .wide,.group-cancel-dialog .wide{grid-column:1}}
