:root { --nati-wine:#6d202d; --nati-dark:#45131b; --nati-rose:#c99696; --nati-paper:#fffdf9; --nati-cream:#f8f2eb; --nati-ink:#2f2522; --nati-muted:#776b66; --nati-line:rgba(69,19,27,.15); }
.nati-booking { color:var(--nati-ink); background:var(--nati-paper); font-family:"DM Sans",Arial,sans-serif; }
.nati-booking-intro { min-height:540px; padding:clamp(72px,9vw,135px) clamp(24px,8vw,125px); color:#fff; background:radial-gradient(circle at 82% 18%,rgba(229,190,188,.22),transparent 34%),linear-gradient(130deg,#45131b,#6d202d); }
.nati-kicker { display:flex; gap:14px; align-items:center; color:#e5bebc; font-size:10px; font-weight:600; letter-spacing:.16em; text-transform:uppercase; }
.nati-kicker span { width:42px; height:1px; background:#e5bebc; }
.nati-booking-intro h1 { max-width:900px; margin:26px 0; font:400 clamp(58px,7vw,108px)/1.02 "Prata",Georgia,serif; letter-spacing:-.045em; }
.nati-booking-intro h1 em { color:#efc9c6; font-weight:400; }
.nati-booking-lead { max-width:720px; color:rgba(255,255,255,.75); font-size:18px; line-height:1.75; }
.nati-booking-facts { max-width:760px; margin-top:50px; display:grid; grid-template-columns:repeat(3,1fr); border-top:1px solid rgba(255,255,255,.23); border-bottom:1px solid rgba(255,255,255,.23); }
.nati-booking-facts div { padding:20px 24px; border-right:1px solid rgba(255,255,255,.2); }
.nati-booking-facts div:last-child { border-right:0; }
.nati-booking-facts small { display:block; margin-bottom:6px; color:#dcaead; font-size:8px; letter-spacing:.14em; text-transform:uppercase; }
.nati-booking-facts strong { font:400 18px "Prata",Georgia,serif; }
.nati-booking-note { max-width:760px; margin:18px 0 0; color:rgba(255,255,255,.57); font-size:12px; line-height:1.65; }
.nati-booking-flow { padding:clamp(68px,8vw,120px) clamp(22px,8vw,125px); background:var(--nati-cream); }
.nati-step { max-width:1100px; margin:0 auto 55px; padding:clamp(28px,5vw,58px); background:var(--nati-paper); border:1px solid var(--nati-line); opacity:.55; transition:opacity .25s,transform .25s; }
.nati-step.is-active { opacity:1; }
.nati-step-heading { margin-bottom:38px; display:flex; gap:22px; align-items:flex-start; }
.nati-step-heading > span { width:50px; height:50px; display:grid; place-items:center; color:var(--nati-wine); border:1px solid var(--nati-line); border-radius:50%; font:16px "Prata",Georgia,serif; }
.nati-step-heading small { color:var(--nati-wine); font-size:9px; letter-spacing:.14em; text-transform:uppercase; }
.nati-step-heading h2 { margin:7px 0 0; font:400 clamp(30px,4vw,48px)/1.16 "Prata",Georgia,serif; text-transform:none; }
.nati-calendar-toolbar { padding:0 5px 20px; display:grid; grid-template-columns:44px 1fr 44px; align-items:center; border-bottom:1px solid var(--nati-line); }
.nati-calendar-toolbar strong { text-align:center; font:400 22px "Prata",Georgia,serif; text-transform:capitalize; }
.nati-month-nav { width:42px; height:42px; color:var(--nati-wine); background:transparent; border:1px solid var(--nati-line); border-radius:50%; cursor:pointer; font-size:18px; }
.nati-month-nav::before{content:"";width:8px;height:8px;display:block;margin:auto;border-top:1px solid currentColor;border-left:1px solid currentColor;transform:rotate(-45deg)}
.nati-month-nav[data-next-month]::before{transform:rotate(135deg)}
.nati-month-nav:disabled { opacity:.25; cursor:not-allowed; }
.nati-weekdays,.nati-calendar-grid { display:grid; grid-template-columns:repeat(7,1fr); }
.nati-weekdays { padding:17px 0 10px; color:var(--nati-muted); font-size:9px; letter-spacing:.1em; text-align:center; text-transform:uppercase; }
.nati-calendar-grid { min-height:420px; border-top:1px solid var(--nati-line); border-left:1px solid var(--nati-line); }
.nati-calendar-loading { grid-column:1/-1; min-height:420px; display:grid; place-items:center; color:var(--nati-muted); }
.nati-day,.nati-calendar-blank { min-height:86px; border:0; border-right:1px solid var(--nati-line); border-bottom:1px solid var(--nati-line); }
.nati-day { padding:12px; display:flex; flex-direction:column; align-items:flex-start; justify-content:space-between; color:var(--nati-ink); background:var(--nati-paper); cursor:pointer; transition:.2s; }
.nati-day span { font:19px "Prata",Georgia,serif; }
.nati-day small { color:var(--nati-wine); font-size:8px; letter-spacing:.05em; text-transform:uppercase; }
.nati-day.is-available:hover,.nati-day.is-selected { color:#fff; background:var(--nati-wine); }
.nati-day.is-available:hover small,.nati-day.is-selected small { color:#efc9c6; }
.nati-day.is-unavailable { color:#b8aeaa; background:#f5efe9; cursor:not-allowed; }
.nati-calendar-blank { background:#faf6f1; }
.nati-legend { margin-top:18px; display:flex; gap:25px; color:var(--nati-muted); font-size:10px; }
.nati-legend span { display:flex; gap:8px; align-items:center; }
.nati-legend i { width:8px; height:8px; border-radius:50%; }.nati-legend .is-free{background:var(--nati-wine)}.nati-legend .is-full{background:#d9d0ca}
.nati-times-status { margin-bottom:18px; color:var(--nati-muted); }
.nati-times { display:grid; grid-template-columns:repeat(5,1fr); gap:10px; }
.nati-time { min-height:54px; color:var(--nati-wine); background:transparent; border:1px solid var(--nati-line); cursor:pointer; font:16px "Prata",Georgia,serif; transition:.2s; }
.nati-time:hover,.nati-time.is-selected { color:#fff; background:var(--nati-wine); border-color:var(--nati-wine); }
.nati-booking-form { display:grid; grid-template-columns:repeat(2,1fr); gap:24px 28px; }
.nati-booking-form .nati-step-heading,.nati-booking-form .nati-selected-slot { grid-column:1/-1; }
.nati-account-note { margin:-12px 0 4px; padding:14px 17px; color:var(--nati-muted); background:var(--nati-cream); font-size:12px; line-height:1.6; }
.nati-account-note a { color:var(--nati-wine); border-bottom:1px solid rgba(109,32,45,.3); }
.nati-booking-form label { color:var(--nati-wine); font-size:9px; font-weight:600; letter-spacing:.11em; text-transform:uppercase; }
.nati-booking-form input,.nati-booking-form select,.nati-booking-form textarea { width:100%; margin-top:8px; padding:13px 0; color:var(--nati-ink); background:transparent; border:0; border-bottom:1px solid var(--nati-line); border-radius:0; outline:none; font:14px/1.5 "DM Sans",Arial,sans-serif; text-transform:none; letter-spacing:0; }
.nati-booking-form input:focus,.nati-booking-form select:focus,.nati-booking-form textarea:focus { border-color:var(--nati-wine); }
.nati-booking-form .is-full { grid-column:1/-1; }
.nati-selected-slot { padding:20px 22px; display:grid; grid-template-columns:1fr auto; gap:5px 20px; align-items:center; color:#fff; background:var(--nati-wine); }
.nati-selected-slot small { color:#dcaead; font-size:8px; letter-spacing:.12em; text-transform:uppercase; }
.nati-selected-slot strong { grid-row:2; font:400 18px "Prata",Georgia,serif; text-transform:capitalize; }
.nati-selected-slot button { grid-column:2; grid-row:1/3; color:#fff; background:transparent; border:0; border-bottom:1px solid rgba(255,255,255,.5); cursor:pointer; }
.nati-consent { display:flex; gap:12px; align-items:flex-start; color:var(--nati-muted)!important; font-size:11px!important; font-weight:400!important; line-height:1.6; letter-spacing:0!important; text-transform:none!important; }
.nati-consent input { width:18px; height:18px; margin:1px 0 0; flex:0 0 18px; accent-color:var(--nati-wine); }
.nati-honeypot { position:absolute!important; left:-9999px!important; }
.nati-submit { min-height:60px; padding:0 28px; display:flex; justify-content:space-between; align-items:center; color:#fff; background:var(--nati-wine); border:1px solid var(--nati-wine); cursor:pointer; font-size:11px; font-weight:600; letter-spacing:.1em; text-transform:uppercase; }
.nati-css-arrow{width:15px;height:15px;position:relative;display:block;flex:0 0 15px}.nati-css-arrow::before{content:"";width:12px;height:1px;position:absolute;left:1px;top:8px;background:currentColor;transform:rotate(-45deg)}.nati-css-arrow::after{content:"";width:6px;height:6px;position:absolute;top:2px;right:1px;border-top:1px solid currentColor;border-right:1px solid currentColor}
.nati-submit:disabled { opacity:.38; cursor:not-allowed; }
.nati-form-status { margin:0; color:var(--nati-wine); font-size:13px; line-height:1.6; }
.nati-form-status.is-success { padding:22px; color:#fff; background:var(--nati-wine); }
.nati-form-status.is-success strong,.nati-form-status.is-success span { display:block; }.nati-form-status.is-success span{margin-top:5px;color:#f0d7d5}
.nati-form-status.is-error { color:#9e1f2d; }
@media(max-width:760px){.nati-booking-intro{min-height:auto}.nati-booking-intro h1{font-size:54px}.nati-booking-facts{grid-template-columns:1fr}.nati-booking-facts div{border-right:0;border-bottom:1px solid rgba(255,255,255,.2)}.nati-booking-facts div:last-child{border-bottom:0}.nati-booking-flow{padding-left:16px;padding-right:16px}.nati-step{padding:27px 18px}.nati-step-heading{gap:14px}.nati-step-heading>span{width:42px;height:42px}.nati-calendar-grid{min-height:350px}.nati-day,.nati-calendar-blank{min-height:66px;padding:8px}.nati-day span{font-size:16px}.nati-day small{font-size:0}.nati-day.is-available small::after{content:"•";font-size:14px}.nati-times{grid-template-columns:repeat(3,1fr)}.nati-booking-form{grid-template-columns:1fr}.nati-booking-form label,.nati-booking-form .is-full{grid-column:1}.nati-booking-form .nati-step-heading,.nati-booking-form .nati-selected-slot{grid-column:1}.nati-selected-slot{grid-template-columns:1fr}.nati-selected-slot button{grid-column:1;grid-row:3;justify-self:start;margin-top:8px}.nati-legend{flex-wrap:wrap}}
