.book-page{padding-block:calc(var(--header-h) + 2rem) 8rem}@media (min-width:1024px){.book-page{padding-block:calc(var(--header-h) + 3rem) 6rem}}.book-intro h1{max-width:16ch;margin-top:1.5rem}.book-intro .lead{max-width:52ch;margin-top:1rem}.facts{font-size:var(--fs-small);color:var(--text-muted);flex-wrap:wrap;gap:.5rem 1.5rem;margin-top:1.5rem;display:flex}.facts li{align-items:center;gap:.4rem;display:inline-flex}.facts svg{color:var(--text-strong);font-size:1.15rem}.booking-placeholder{min-height:60vh}.booking{gap:2.5rem;margin-top:2.5rem;display:grid}@media (min-width:1024px){.booking{grid-template-columns:minmax(0,7fr) minmax(0,4fr);gap:4rem}}.booking .flow,.booking form,.booking .step{min-width:0}.booking .progress .count{font-size:var(--fs-small);color:var(--text-muted)}.booking .segs{grid-template-columns:repeat(5,1fr);gap:4px;margin-top:.6rem;display:grid}.booking .segs span{background:var(--color-sand-200);height:3px;transition:background-color var(--dur-2) var(--ease-out)}.booking .segs span[data-on=true]{background:var(--color-navy-800)}.booking .step{margin-top:2rem}.booking .step-h{outline:none}.booking .hint{color:var(--text-muted);margin-top:.5rem}.booking fieldset{border:0;min-width:0;margin:0;padding:0}.booking legend{padding:0}.booking .group{margin-top:1.75rem}.booking .group+.group{margin-top:2.25rem}.booking .group>legend{color:var(--text-strong);margin-bottom:.9rem;font-weight:500;display:block}.tiles{grid-template-columns:repeat(2,minmax(0,1fr));gap:.6rem;display:grid}@media (min-width:640px){.tiles.three{grid-template-columns:repeat(3,minmax(0,1fr))}.tiles.four{grid-template-columns:repeat(4,minmax(0,1fr))}}.tile{display:block;position:relative}.tile input{opacity:0;cursor:pointer;width:100%;height:100%;margin:0;position:absolute;inset:0}.tile span{border:1px solid var(--line-strong);background:var(--surface);min-height:56px;color:var(--text-strong);transition:border-color var(--dur-1) var(--ease-out), background-color var(--dur-1) var(--ease-out);align-items:center;gap:.6rem;padding:.85rem 1rem;display:flex}.tile .tick{opacity:0;transition:opacity var(--dur-1) var(--ease-out);flex:none;margin-inline-start:auto}.tile .ico{flex:none;font-size:1.3rem}.tile input:hover+span{border-color:var(--color-navy-800)}.tile input:checked+span{border-color:var(--color-navy-800);background:var(--color-paper-100);box-shadow:inset 0 0 0 1px var(--color-navy-800)}.tile input:checked+span .tick{opacity:1}.tile input:focus-visible+span{outline:2px solid var(--focus);outline-offset:2px}.booking [data-invalid=true] .tile span{border-color:var(--error)}.bfield{gap:.45rem;display:grid}.bfield+.bfield{margin-top:1.4rem}.bfield label{color:var(--text-strong);font-weight:500;font-size:var(--fs-small)}.bfield input,.bfield textarea{border:1px solid var(--line-strong);background:var(--surface);width:100%;min-height:52px;font:inherit;color:var(--text);border-radius:0;padding:.8rem 1rem}.bfield textarea{resize:vertical;min-height:110px}.bfield input:focus-visible,.bfield textarea:focus-visible{outline:2px solid var(--focus);outline-offset:1px}[dir=rtl] .bfield input[dir=ltr]{text-align:right}.bfield .help{color:var(--text-muted);font-size:.875rem}.bfield[data-invalid=true] input,.bfield[data-invalid=true] textarea{border-color:var(--error)}.booking .err{color:var(--error);align-items:flex-start;gap:.4rem;font-size:.875rem;display:flex}.booking .err svg{flex:none;margin-top:.15rem;font-size:1.05rem}.booking .group-err{margin-top:.75rem}.booking .note{background:var(--color-paper-100);font-size:var(--fs-small);color:var(--text);gap:.6rem;margin-top:1.25rem;padding:1rem 1.1rem;display:flex}.booking .note svg{color:var(--text-strong);flex:none;margin-top:.15rem;font-size:1.2rem}.booking .note.warn{border-inline-start:2px solid var(--error)}.booking .note .btn{margin-top:.75rem}.booking .status{color:var(--text-muted);margin-top:1.5rem}.hp{width:1px;height:1px;position:absolute;inset-inline-start:-10000px;overflow:hidden}.booking .tz{font-size:var(--fs-small);color:var(--text-muted);align-items:center;gap:.4rem;margin-top:.5rem;display:inline-flex}.days{scroll-snap-type:x mandatory;scrollbar-width:thin;grid-auto-columns:84px;grid-auto-flow:column;gap:.5rem;margin-top:1.25rem;padding-bottom:.75rem;display:grid;overflow-x:auto}.day{scroll-snap-align:start;border:1px solid var(--line-strong);background:var(--surface);cursor:pointer;color:var(--text-strong);font:inherit;justify-items:center;gap:.15rem;padding:.75rem .25rem;font-size:.8125rem;line-height:1.25;display:grid}.day b{font-family:var(--font-display);font-feature-settings:"lnum" 1;font-size:1.6rem;font-weight:500;line-height:1.1}.day small{color:var(--text-muted);font-size:.75rem}.day[aria-pressed=true]{background:var(--color-navy-800);color:var(--color-cream-50);border-color:var(--color-navy-800)}.day[aria-pressed=true] small{color:#c9d3d6}.day:disabled{cursor:not-allowed;color:#8c9699;background:0 0;border-style:dashed}.day:disabled b{color:#a3abad}.slots{grid-template-columns:repeat(2,minmax(0,1fr));gap:.6rem;margin-top:1.5rem;display:grid}@media (min-width:640px){.slots{grid-template-columns:repeat(4,minmax(0,1fr))}}.slot{border:1px solid var(--line-strong);background:var(--surface);cursor:pointer;min-height:56px;color:var(--text-strong);font:inherit;font-size:var(--fs-small);padding:.5rem}.slot:hover{border-color:var(--color-navy-800)}.slot[aria-pressed=true]{background:var(--color-navy-800);color:var(--color-cream-50);border-color:var(--color-navy-800)}.booking .review{border-top:1px solid var(--line);margin-top:1.5rem;display:grid}.booking .review .row{border-bottom:1px solid var(--line);grid-template-columns:1fr auto;gap:.25rem 1rem;padding-block:1.1rem;display:grid}.booking .review .k{font-size:var(--fs-small);color:var(--text-muted)}.booking .review .v{color:var(--text);grid-column:1}.booking .review button{color:var(--text-strong);text-underline-offset:3px;cursor:pointer;font:inherit;font-size:var(--fs-small);background:0 0;border:0;grid-area:1/2/3;align-self:center;padding:.5rem;text-decoration:underline}.booking .consent{font-size:var(--fs-small);color:var(--text-muted);margin-top:1.5rem}.booking .consent a{text-underline-offset:3px;color:var(--text-strong);text-decoration:underline}.turnstile{min-height:65px;margin-top:1.25rem}.booking .banner{border:1px solid var(--error);color:var(--error);font-size:var(--fs-small);background:#fbf1ee;gap:.6rem;margin:1.5rem 0 0;padding:1rem 1.1rem;display:flex}.booking .banner svg{flex:none;margin-top:.1rem;font-size:1.2rem}.booking .actions{gap:.75rem;margin-top:2.5rem;display:flex}.booking .actions .btn-primary{flex:1;max-width:320px}.booking .actions .btn:disabled{opacity:.55;cursor:not-allowed}@media (max-width:1023px){.booking .actions{padding:.75rem var(--margin) calc(.75rem + env(safe-area-inset-bottom));border-top:1px solid var(--line);z-index:var(--z-dock);background:#fbf9f4f7;margin:0;position:fixed;inset-block-end:0;inset-inline:0}.booking .actions .btn-primary{max-width:none}}.booking .summary{align-self:start}@media (min-width:1024px){.booking .summary{top:calc(var(--header-h) + 2rem);position:sticky}}.booking .summary .card{background:var(--color-paper-100);padding:1.75rem}.booking .summary h2{font-family:var(--font-display);color:var(--text-strong);font-size:1.5rem;font-weight:500}html[lang=ar] .booking .summary h2{font-family:var(--font-display-ar);font-size:1.4rem;font-weight:400}.booking .summary dl{gap:.9rem;margin-top:1rem;display:grid}.booking .summary dt{color:var(--text-muted);font-size:.8125rem}.booking .summary dd{color:var(--text);margin:.15rem 0 0}.booking .summary .none{color:var(--text-muted);font-size:var(--fs-small);margin-top:.75rem}.booking .summary .help-line{font-size:var(--fs-small);color:var(--text-muted);margin-top:1.25rem}.booking .summary .help-line a{color:var(--text-strong);text-underline-offset:3px;text-decoration:underline}.book-done{max-width:760px}.book-done .check{background:var(--color-navy-800);width:56px;height:56px;color:var(--color-cream-50);place-items:center;font-size:1.8rem;display:grid}.book-done h1{margin-top:1.5rem}.book-done .reach{font-size:var(--fs-lead);color:var(--text-strong);text-wrap:pretty;margin-top:1rem}.book-done .when{color:var(--text-strong);margin-top:1.5rem}.book-done .where{color:var(--text-muted);margin-top:.35rem}.book-done h2.display-m{margin-top:3rem}.book-done .next{margin-top:.75rem}.book-done .change{font-size:var(--fs-small);color:var(--text-muted);margin-top:2rem}.book-done .actions-row{margin-top:2rem}
