/* Booking pages — same palette and type as the main site, in a compact single-column layout. */
:root{--bg:#0F1722;--ink:#F4EFE6;--ink-soft:rgba(244,239,230,.72);--brass:#B08D57;--wine:#6E1E2C;--navy:#1B2A41;--bone:#F4EFE6;--serif:"DM Serif Display",Georgia,serif;--sans:Raleway,system-ui,sans-serif}
*{box-sizing:border-box} html{-webkit-text-size-adjust:100%} body{margin:0;background:var(--bg);color:var(--ink);font:400 17px/1.55 var(--sans)}
a{color:inherit}
.bar{position:sticky;top:0;z-index:5;display:flex;align-items:center;justify-content:space-between;gap:16px;padding:14px clamp(16px,4vw,48px);background:linear-gradient(#0F1722,rgba(15,23,34,.92));border-bottom:1px solid rgba(176,141,87,.25)}
.brand{display:flex;align-items:center;gap:11px;text-decoration:none;color:var(--bone)} .brand img{width:40px;height:40px;display:block} .brand i{width:1px;height:30px;background:rgba(176,141,87,.75)}
.brand span{display:flex;flex-direction:column;gap:3px;line-height:1} .brand b{font:400 20px/1 'Fraunces',Georgia,serif;letter-spacing:.34em;margin-right:-.34em;color:var(--bone)} .brand small{font:500 8px/1 'Inter',system-ui,sans-serif;letter-spacing:.32em;text-transform:uppercase;color:rgba(244,239,230,.82);white-space:nowrap}
@media(max-width:560px){.brand small{display:none}.brand b{font-size:17px}.brand img{width:34px;height:34px}}
.langs{display:flex;border:1px solid rgba(244,239,230,.3);border-radius:999px;overflow:hidden} .langs button{background:none;border:0;color:var(--ink-soft);font:600 .72rem/1 var(--sans);letter-spacing:.12em;padding:9px 12px;cursor:pointer} .langs button[aria-pressed=true]{background:var(--bone);color:#1a1206}
main{max-width:980px;margin:0 auto;padding:clamp(28px,5vw,64px) clamp(16px,4vw,48px) 90px}
h1{font-family:var(--serif);font-weight:400;font-size:clamp(34px,5vw,54px);line-height:1.05;margin:0 0 10px} .sub{color:var(--ink-soft);margin:0 0 36px;font-size:1.08rem}
.step{margin:0 0 34px;padding-top:26px;border-top:1px solid rgba(176,141,87,.25)} .step h2{font:600 .78rem/1 var(--sans);letter-spacing:.16em;text-transform:uppercase;color:var(--brass);margin:0 0 18px}
.step[hidden]{display:none}
.svcs{display:grid;grid-template-columns:repeat(2,1fr);gap:14px} @media(max-width:700px){.svcs{grid-template-columns:1fr}}
.svc{display:flex;flex-direction:column;gap:8px;text-align:left;padding:20px;border:1px solid rgba(176,141,87,.3);border-radius:4px;background:rgba(244,239,230,.03);color:var(--ink);cursor:pointer;font:inherit}
.svc:hover{border-color:var(--brass)} .svc[aria-pressed=true]{border-color:var(--brass);background:rgba(176,141,87,.12);box-shadow:inset 0 0 0 1px var(--brass)}
.svc h3{font-family:var(--serif);font-weight:400;font-size:1.3rem;margin:0;line-height:1.15} .svc .meta{font-size:.74rem;letter-spacing:.14em;text-transform:uppercase;color:var(--brass)} .svc p{margin:0;color:var(--ink-soft);font-size:.95rem} .svc .price{font-family:var(--serif);font-size:1.6rem;margin-top:4px}
.weeknav{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:14px} .weeknav span{color:var(--ink-soft);font-size:.95rem}
.ghost{background:none;border:1px solid rgba(244,239,230,.35);color:var(--ink);border-radius:999px;padding:9px 16px;font:600 .8rem var(--sans);letter-spacing:.08em;cursor:pointer} .ghost:disabled{opacity:.35;cursor:default}
.days{display:grid;grid-template-columns:repeat(7,1fr);gap:8px} @media(max-width:700px){.days{grid-template-columns:repeat(2,1fr)} .day:empty,.day.off{display:none}}
.day{min-width:0} .day h4{margin:0 0 8px;font:600 .72rem/1.3 var(--sans);letter-spacing:.1em;text-transform:uppercase;color:var(--ink-soft);text-align:center} .day h4 b{display:block;font-family:var(--serif);font-weight:400;font-size:1.3rem;color:var(--ink);letter-spacing:0}
.day.off h4{opacity:.4}
.slot{display:block;width:100%;margin:0 0 6px;padding:9px 4px;border:1px solid rgba(176,141,87,.3);background:rgba(244,239,230,.03);color:var(--ink);border-radius:3px;font:500 .9rem var(--sans);cursor:pointer}
.slot:hover{border-color:var(--brass)} .slot[aria-pressed=true]{background:var(--brass);color:#1a1206;border-color:var(--brass)}
.empty{color:var(--ink-soft);text-align:center;padding:26px 0}
.tz{color:var(--ink-soft);font-size:.86rem;margin-top:10px}
form{display:grid;gap:14px} .row2{display:grid;grid-template-columns:1fr 1fr;gap:14px} @media(max-width:600px){.row2{grid-template-columns:1fr}}
label{display:grid;gap:6px;font-size:.88rem;color:var(--ink-soft)} input,textarea{width:100%;padding:12px 14px;border:1px solid rgba(244,239,230,.25);border-radius:3px;background:rgba(244,239,230,.04);color:var(--ink);font:inherit} input:focus,textarea:focus{outline:none;border-color:var(--brass)}
.summary{display:grid;gap:8px;padding:22px;border:1px solid rgba(176,141,87,.35);border-radius:4px;background:rgba(176,141,87,.08);margin-bottom:18px} .summary div{display:flex;justify-content:space-between;gap:16px} .summary .total{font-family:var(--serif);font-size:1.6rem;border-top:1px solid rgba(176,141,87,.35);padding-top:10px;margin-top:6px}
.btn{display:inline-block;padding:15px 26px;border-radius:999px;background:var(--brass);color:#1a1206;border:0;font:600 .82rem var(--sans);letter-spacing:.14em;text-transform:uppercase;cursor:pointer;text-decoration:none} .btn:disabled{opacity:.5;cursor:default}
.btn--ghost{background:transparent;color:var(--bone);border:1.5px solid rgba(244,239,230,.45)}
.note{color:var(--ink-soft);font-size:.88rem} .note a{color:var(--brass)}
.alert{padding:14px 18px;border-radius:4px;background:rgba(110,30,44,.35);border:1px solid rgba(232,138,138,.4);margin-bottom:22px} .alert[hidden]{display:none}
.ok{padding:28px;border:1px solid rgba(176,141,87,.4);border-radius:4px;background:rgba(176,141,87,.08)} .ok dl{display:grid;grid-template-columns:auto 1fr;gap:8px 22px;margin:18px 0} .ok dt{color:var(--brass);font-size:.78rem;letter-spacing:.14em;text-transform:uppercase;padding-top:3px} .ok dd{margin:0}
.actions{display:flex;flex-wrap:wrap;gap:12px;margin-top:22px}
.demo{border:1px dashed rgba(176,141,87,.6);padding:22px;border-radius:4px;margin-top:22px} .demo .card{display:grid;gap:10px;margin:16px 0}
footer{border-top:1px solid rgba(176,141,87,.25);padding:26px clamp(16px,4vw,48px);color:var(--ink-soft);font-size:.86rem;display:flex;gap:18px;flex-wrap:wrap} footer a{color:var(--ink-soft);text-decoration:none}
