:root{--ink:#173f49;--muted:#6b7f86;--line:#d8e6e8;--paper:#fff;--wash:#f3fbfa;--teal:#109da6;--teal2:#20bdc4;--soft:#eaf8f7;--good:#177956;--bad:#a43a43;--shadow:0 18px 48px rgba(19,63,73,.09)}
*{box-sizing:border-box}html{background:#eef8f7;color:var(--ink);font-family:-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,Helvetica,Arial,sans-serif}body{margin:0;min-height:100vh;background:linear-gradient(180deg,#fbffff,#eef8f7 62%,#f8fbfb)}button,input,select,textarea{font:inherit}button,a{touch-action:manipulation}.topbar{position:sticky;top:0;z-index:20;display:flex;align-items:center;justify-content:space-between;gap:14px;padding:14px max(18px,calc((100vw - 1180px)/2));background:rgba(255,255,255,.96);border-bottom:1px solid var(--line);backdrop-filter:blur(12px)}.brand{display:flex;align-items:center;gap:10px}.brand-mark{width:42px;height:42px;border-radius:14px;display:grid;place-items:center;background:linear-gradient(135deg,#0b727a,#23bdc4);color:#fff;font-size:.78rem;font-weight:1000}.brand strong,.brand small{display:block}.brand strong{font-size:.95rem}.brand small{color:var(--muted);font-size:.72rem;margin-top:2px}.help-link{color:#087f87;text-decoration:none;font-weight:900;font-size:.82rem}.progress{position:sticky;top:71px;z-index:18;width:min(1180px,100%);margin:0 auto;padding:10px 18px;display:grid;grid-template-columns:repeat(4,1fr);gap:8px;background:rgba(238,248,247,.96);backdrop-filter:blur(12px)}.progress-step{border:1px solid var(--line);border-radius:16px;background:#fff;color:#6d8187;padding:10px 8px;display:flex;align-items:center;justify-content:center;gap:7px;font-weight:850;cursor:pointer}.progress-step b{width:25px;height:25px;border-radius:50%;display:grid;place-items:center;background:#edf5f5;font-size:.72rem}.progress-step span{font-size:.78rem}.progress-step.active{border-color:#74cfd2;background:#eaf9f8;color:#087b83}.progress-step.active b{background:#12a5ad;color:#fff}.layout{width:min(1180px,100%);margin:0 auto;padding:24px 18px 70px;display:grid;grid-template-columns:minmax(0,1fr) 330px;gap:20px;align-items:start}.flow-card,.summary-card{background:rgba(255,255,255,.98);border:1px solid var(--line);border-radius:28px;box-shadow:var(--shadow)}.flow-card{overflow:hidden}.step{display:none;padding:30px}.step.active{display:block}.eyebrow{margin:0 0 8px;color:#078e97;font-size:.72rem;letter-spacing:.15em;font-weight:1000}.step h1,.summary-card h2{margin:0;font-family:Georgia,"Times New Roman",serif;letter-spacing:-.03em}.step h1{font-size:clamp(2rem,5vw,3.2rem);line-height:1.02}.lead{margin:12px 0 24px;color:var(--muted);font-size:1rem;line-height:1.55;max-width:680px}.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:14px}.field{display:grid;gap:7px;color:#4f6970;font-weight:850;font-size:.82rem}.field.wide{grid-column:1/-1}.field input,.field select,.field textarea{width:100%;min-height:50px;border:1px solid #cadcdf;border-radius:16px;background:#fbfefe;color:var(--ink);padding:13px 14px;outline:none}.field textarea{min-height:100px;resize:vertical}.field input:focus,.field select:focus,.field textarea:focus{border-color:#2ab3bb;box-shadow:0 0 0 4px rgba(42,179,187,.12)}.status{margin-top:16px;padding:13px 15px;border-radius:15px;font-weight:800;font-size:.88rem;line-height:1.4}.status.neutral{background:#f2f7f7;color:#60777e}.status.good{background:#e9f8ef;color:var(--good);border:1px solid #cce9d8}.status.bad{background:#fff0f1;color:var(--bad);border:1px solid #f0c7cb}.guest-control{display:grid;gap:12px;color:#526b72;font-weight:900}.guest-control>div{display:grid;grid-template-columns:54px minmax(90px,160px) 54px;gap:9px}.guest-control button,.guest-control input{height:54px;border:1px solid #cfe0e2;border-radius:16px;background:#fff;color:var(--ink);text-align:center;font-size:1.15rem;font-weight:950}.guest-control button{cursor:pointer;color:#087f87}.rate-card{margin-top:20px;padding:20px;border:1px solid #cde7e8;border-radius:22px;background:linear-gradient(135deg,#f0fbfa,#e8f8f7)}.rate-card span,.rate-card small{display:block;color:var(--muted);font-weight:800}.rate-card strong{display:block;margin:6px 0 3px;font-size:2rem;color:#0b7e86}.addon-grid{display:grid;grid-template-columns:1fr 1fr;gap:12px}.addon{position:relative;display:grid;grid-template-columns:22px 1fr auto;gap:10px;align-items:start;padding:16px;border:1px solid var(--line);border-radius:19px;background:#fff;cursor:pointer}.addon input{margin-top:3px}.addon strong{display:block;font-size:.92rem}.addon small{display:block;margin-top:4px;color:var(--muted);line-height:1.3}.addon b{color:#087f87;white-space:nowrap;font-size:.84rem}.addon:has(input:checked){border-color:#54c0c5;background:#ecfaf9;box-shadow:0 0 0 3px rgba(56,184,191,.08)}.more-extras{margin-top:14px;border:1px solid var(--line);border-radius:18px;background:#fbfefe;padding:4px 12px 12px}.more-extras summary{cursor:pointer;padding:12px 4px;font-weight:900;color:#147d84}.more-extras[open] summary{margin-bottom:8px}.agreement-card{margin-top:18px;padding:18px;border:1px solid #d5e5e7;border-radius:22px;background:#f9fcfc;display:grid;gap:16px}.check-row{display:grid;grid-template-columns:22px 1fr;gap:10px;align-items:start}.check-row input{margin-top:4px}.check-row strong,.check-row small{display:block}.check-row small{margin-top:4px;color:var(--muted);line-height:1.4}.signature-wrap{display:grid;gap:7px}.signature-head{display:flex;align-items:center;justify-content:space-between;gap:12px;color:#4f6970;font-weight:850;font-size:.82rem}.signature-head button{border:0;border-radius:999px;background:#e9f5f5;color:#087f87;padding:7px 10px;font-weight:900;cursor:pointer}#signature{width:100%;height:150px;border:1px dashed #aac8cb;border-radius:16px;background:#fff;touch-action:none}.signature-wrap small{color:var(--muted)}.flow-actions{display:flex;justify-content:space-between;gap:12px;padding:18px 24px calc(18px + env(safe-area-inset-bottom));border-top:1px solid var(--line);background:#fbfefe}.flow-actions button{min-height:50px;border-radius:999px;padding:0 22px;font-weight:950;cursor:pointer}.flow-actions .secondary{border:1px solid #cbdcdf;background:#fff;color:#49646b}.flow-actions .primary{border:0;background:linear-gradient(135deg,#119da5,#23bcc3);color:#fff;min-width:150px;box-shadow:0 10px 22px rgba(16,157,166,.18)}.flow-actions button:disabled{opacity:.45;cursor:not-allowed}.summary-card{position:sticky;top:146px;padding:22px}.summary-card h2{font-size:1.65rem;line-height:1.05}.summary-card>p:not(.eyebrow){margin:7px 0 18px;color:var(--muted)}.summary-row{display:flex;justify-content:space-between;gap:18px;padding:10px 0;border-bottom:1px solid #edf2f2;color:#647a80}.summary-row b{color:var(--ink)}.summary-row.total{margin-top:7px;padding-top:16px;border-top:1px solid #cddfe1;border-bottom:0;font-size:1.05rem;font-weight:900}.deposit{margin-top:12px;padding:16px;border-radius:18px;background:#eaf9f7;color:#167b80;display:flex;justify-content:space-between;align-items:center;gap:12px;font-weight:900}.deposit strong{font-size:1.2rem}.summary-note{display:block;margin-top:12px;color:#7a8d92;line-height:1.4}
@media(max-width:860px){.layout{grid-template-columns:1fr}.summary-card{position:static;order:-1}.summary-card .summary-row:not(.total),.summary-card .summary-note{display:none}.summary-card{display:grid;grid-template-columns:1fr auto;gap:4px 14px;align-items:center;padding:16px 18px;border-radius:20px}.summary-card .eyebrow,.summary-card>p{display:none!important}.summary-card h2{font-size:1.12rem}.summary-card .summary-row.total{grid-column:1;grid-row:2;border:0;margin:0;padding:0;font-size:.85rem}.summary-card .summary-row.total span{display:none}.summary-card .deposit{grid-column:2;grid-row:1/3;margin:0;padding:11px 13px;display:grid;text-align:right}.summary-card .deposit span{font-size:.67rem}.progress{top:71px}.step{padding:24px 20px}.flow-actions{padding-left:18px;padding-right:18px}}
@media(max-width:620px){.topbar{padding:12px 14px}.help-link{font-size:.74rem}.progress{padding:8px 10px;gap:5px;top:67px}.progress-step{padding:8px 5px;border-radius:13px}.progress-step span{display:none}.layout{padding:14px 12px 90px}.flow-card{border-radius:22px}.form-grid,.addon-grid{grid-template-columns:1fr}.field.wide{grid-column:auto}.step h1{font-size:2.2rem}.field input,.field select,.field textarea{font-size:16px}.flow-actions{position:sticky;bottom:0;z-index:10;background:rgba(251,254,254,.97);backdrop-filter:blur(10px)}.flow-actions button{flex:1;padding:0 14px}.flow-actions .primary{min-width:0}}

.promo-field small{font-weight:700;color:var(--muted)}.promo-row{display:grid;grid-template-columns:1fr auto;gap:8px}.promo-row button{border:0;border-radius:14px;padding:0 18px;background:#e7f7f6;color:#087f87;font-weight:950;cursor:pointer}.promo-status{display:block;min-height:18px}.promo-status.good{color:var(--good)}.promo-status.bad{color:var(--bad)}

/* Stage 5 — language continuity */
.booking-head-actions{display:flex;align-items:center;gap:8px}.language-toggle{display:flex;gap:3px;padding:3px;border:1px solid var(--line);border-radius:999px;background:#fff}.language-toggle button{min-width:34px;height:32px;border:0;border-radius:999px;background:transparent;color:#688087;font-size:.68rem;font-weight:1000;cursor:pointer}.language-toggle button.active{background:#173f49;color:#fff}@media(max-width:620px){.booking-head-actions{gap:5px}.language-toggle button{min-width:31px;height:30px}.help-link{font-size:.67rem}}


/* CRO shared amenity cards + mobile overflow guard */
html,body{max-width:100%;overflow-x:clip}
.addon{display:block;padding:0;overflow:hidden}
.addon-pick{display:grid;grid-template-columns:22px 64px minmax(0,1fr) auto;gap:10px;align-items:center;padding:12px;cursor:pointer}
.addon-photo{width:64px;height:58px;border-radius:13px;object-fit:cover;background:#eaf7f7}.addon-photo.placeholder{display:block}
.addon-copy{min-width:0}.addon-details{border-top:1px solid #edf2f3;padding:0 12px 11px}.addon-details summary{padding:9px 0 5px;color:#0d858e;font-size:.78rem;font-weight:900;cursor:pointer}.addon-details p{margin:0;color:var(--muted);font-size:.8rem;line-height:1.45}
@media(max-width:620px){body{background:#f4fbfa}.layout,.flow-card,.summary-card{max-width:100%}.addon-pick{grid-template-columns:22px 58px minmax(0,1fr);align-items:start}.addon-photo{width:58px;height:54px}.addon-pick>b{grid-column:3;justify-self:start}.progress,.topbar{max-width:100vw;overflow-x:clip}}
