.reservation{display:grid;grid-template-columns:1fr minmax(330px,550px);gap:clamp(24px,5vw,80px);padding:clamp(24px,6vw,84px);background:radial-gradient(ellipse at 10% 0,#244647 0%,transparent 56%),var(--deep)}.reservation h1{font-size:clamp(3.2rem,6vw,6.6rem)}.reservation h2{font-size:clamp(1.7rem,3vw,2.6rem)}.rules{max-width:470px;border-top:1px solid var(--line);padding-top:20px;margin-top:34px}.rules h2{font-size:1.55rem}.rules ul{padding-left:20px;color:var(--muted)}.rules li{margin:7px 0}.booking{padding:clamp(18px,3vw,34px);background:#142829;border:1px solid var(--line);border-radius:9px}.booking .hint{color:var(--muted);font-size:.88rem}.booking label{display:block;font-weight:700;margin-top:14px}.booking label small{font-weight:400;color:var(--muted)}.booking label input,.booking label select{display:block;width:100%;min-width:0;margin-top:5px}.fields{display:grid;grid-template-columns:1fr 1fr;gap:12px}.booking fieldset{margin:20px 0 0;padding:0;border:0;min-width:0}.booking legend{font-weight:700;margin-bottom:8px}.slots{display:flex;flex-wrap:wrap;gap:6px}.slots button{background:transparent;color:var(--cream);border:1px solid var(--line);border-radius:4px;padding:7px 10px}.slots button[aria-pressed=true]{background:var(--gold);color:var(--deep);border-color:var(--gold)}.primary{margin-top:20px;width:100%}.booking dl div{display:flex;justify-content:space-between;gap:12px;border-bottom:1px solid var(--line);padding:8px 0}.booking dd{margin:0;text-align:right;font-weight:700;overflow-wrap:anywhere}@media(max-width:800px){.reservation{grid-template-columns:1fr}.booking{grid-row:2}.rules{margin-top:22px}}@media(max-width:360px){.fields{grid-template-columns:1fr}}
