.city-context{border-left:3px solid var(--accent,#927745);padding:.3rem 1rem;margin:1.8rem 0;background:transparent}.city-context p{margin:.5rem 0}.city-context a,.city-intro a{font-weight:700;text-decoration:underline;text-underline-offset:.2em}.city-picture{display:grid;grid-template-columns:minmax(100px,32%) 1fr;gap:1rem;align-items:center}.city-picture img{width:100%;height:auto;border-radius:8px}.city-intro{margin-block:1rem 2rem}.city-end{border:1px solid var(--line,#777);border-radius:12px;padding:clamp(1.1rem,4vw,2rem);margin-block:2rem 4rem;scroll-margin-top:100px;background:var(--paper,#f6f3ea)}.city-end h3{margin-bottom:.6rem}.city-fields{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,220px),1fr));gap:1rem;margin:1rem 0}.city-fields label{display:flex;flex-direction:column;gap:.45rem;font-weight:600;min-width:0}.city-fields input,.city-fields select{font:inherit;color:inherit;border:1px solid #69655b;border-radius:5px;background:#fff;padding:.65rem;min-height:44px;width:100%;box-sizing:border-box}.city-choices{display:flex;flex-wrap:wrap;gap:.5rem;margin:1rem 0}.city-end button,.city-intro button{font:inherit;border:1px solid #69655b;border-radius:5px;padding:.6rem .8rem;min-height:44px;cursor:pointer;background:transparent;color:inherit}.city-end button[aria-pressed=true]{background:#203e39;color:white}.city-conditions{font-size:.9em}.city-calculator{margin-block:1.5rem}.city-calculator summary{cursor:pointer;min-height:44px;font-weight:700}.city-final-action{margin-top:1.2rem}.city-end .btn,.city-float .btn,.city-exit .btn{white-space:normal;line-height:1.35;min-height:44px;text-align:center;overflow-wrap:anywhere}.city-float{position:fixed;z-index:45;right:1rem;bottom:1rem;max-width:360px;border:1px solid #777;border-radius:10px;box-shadow:0 6px 28px #0003;background:#f5f1e5;color:#20251f;padding:1rem 2.8rem 1rem 1rem}.city-float p{margin:0 0 .65rem;line-height:1.4}.city-float [data-city-dismiss],.city-exit [data-city-close]{position:absolute;right:.2rem;top:.2rem;width:44px;height:44px;background:transparent;border:0;color:inherit;font-size:1.6rem;cursor:pointer}.city-exit{max-width:min(520px,calc(100vw - 2rem));border:1px solid #777;border-radius:12px;background:#f5f1e5;color:#20251f;padding:2.2rem}.city-exit::backdrop{background:#0008}.city-exit h2{padding-right:1rem}.city-exit:not([open]),[hidden]{display:none!important}.city-float:focus-within{outline:2px solid #406258}body.city-optimized{padding-bottom:0!important}@media(max-width:767px){.city-float{left:.5rem;right:.5rem;bottom:calc(.5rem + env(safe-area-inset-bottom));max-width:none;padding:.75rem 3rem .75rem .85rem}.city-float p{font-size:.9rem}.city-float .btn{display:flex;width:100%;box-sizing:border-box}.city-picture{grid-template-columns:1fr}.city-picture img{max-height:240px;object-fit:cover}.city-end{margin-inline:1rem}}@media(prefers-reduced-motion:reduce){.city-end{scroll-behavior:auto}}

.city-controls>summary{min-height:44px;cursor:pointer;font-weight:700;padding-block:.6rem}

.city-end h2{margin-top:0}.blog-post .city-end{margin-inline:0}

/* Booking decisions must read as distinct, actionable cards in the editorial flow. */
.city-context,.city-intro,.city-end{box-sizing:border-box;color:var(--ink,#1F2A33);background:var(--surface,#FAF7EE);border:1px solid var(--brand,#0F4C63);border-radius:12px;box-shadow:0 4px 14px #1f2a3312}
.city-context{border-left:6px solid var(--brand,#0F4C63);padding:1.2rem 1.35rem;margin-block:2rem}
.city-intro{border-top:5px solid var(--brand,#0F4C63);padding:1.2rem 1.35rem;margin-block:1.4rem 2rem}
.city-intro p,.city-context p{margin:0;line-height:1.65}
.city-context a,.city-intro a{display:table;width:fit-content;max-width:100%;box-sizing:border-box;margin-top:1rem;padding:.8rem 1.15rem;min-height:48px;border-radius:7px;background:var(--accent,#B4123A);color:#fff!important;font-weight:700;line-height:1.4;text-decoration:none!important;text-align:center;overflow-wrap:anywhere}
.city-context a:hover,.city-intro a:hover{background:var(--accent-deep,#8C0D2C);color:#fff!important}
.city-context a:focus-visible,.city-intro a:focus-visible,.city-end a:focus-visible{outline:3px solid var(--brand,#0F4C63);outline-offset:4px}
.city-intro button{margin-top:.85rem;border:0;padding:.35rem 0;min-height:44px;font-weight:700;text-decoration:underline;text-underline-offset:.2em}
.city-end{border-top:7px solid var(--brand,#0F4C63);padding:clamp(1.25rem,4vw,2.2rem);box-shadow:0 8px 24px #1f2a331a}
.city-end h2{color:var(--ink,#1F2A33)}
.city-controls,.city-calculator{padding:.6rem 1rem;border:1px solid #9bacae;border-radius:8px;background:var(--surface-2,#F2EEE0);margin-block:1.2rem}
.city-controls>summary,.city-calculator>summary{line-height:1.5}
.city-end [data-city-result]{border-left:4px solid var(--brand,#0F4C63);padding-left:1rem;margin-top:1.5rem}
.city-end .city-final-action .btn{display:inline-flex;align-items:center;justify-content:center;box-sizing:border-box;min-height:52px;padding:.9rem 1.4rem;border-radius:7px;font-size:1.05rem;font-weight:700}
.city-float,.city-exit{background:var(--surface,#FAF7EE);border:2px solid var(--brand,#0F4C63);border-top-width:5px;box-shadow:0 6px 28px #1f2a3340}
@media(max-width:767px){.city-context,.city-intro{padding:1rem}.city-context a,.city-intro a,.city-end .city-final-action .btn{display:flex;width:100%;justify-content:center;align-items:center}.city-controls,.city-calculator{padding:.5rem .75rem}.city-end{padding:1.15rem}.city-picture{gap:1rem}}
.city-picture img{margin:0}
