/* Shared typography, palette, buttons and footer come from the main Ramos stylesheet. */
.booking-page{color:#f9f5ee;background:var(--green-950);line-height:1.6}
.booking-page .site-header{position:relative;grid-template-columns:230px 1fr auto}
.booking-page .header-back{font-size:13px;white-space:nowrap}
.booking-layout{max-width:1400px;margin:auto;padding:72px clamp(24px,6vw,90px) 90px;display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:clamp(36px,5.5vw,88px);align-items:start}
.intro .eyebrow{margin:0 0 24px}.intro h1{font-size:clamp(48px,4.7vw,72px);line-height:1.04;letter-spacing:-.035em}
.intro>p:not(.eyebrow){font-size:16px;line-height:1.7;color:#ffffffd4;margin:26px 0 0;max-width:570px}
.intro .notice{border-left:2px solid var(--gold);padding-left:18px;font-size:13px!important;color:var(--muted)!important}
.notice strong{color:var(--cream);display:block;font-weight:600}
figure{margin:34px 0 26px}figure img{width:100%;aspect-ratio:1.55;object-fit:cover;object-position:center 47%;border:1px solid #dfc16a33}
figcaption{font-size:12px;color:var(--muted);padding-top:12px;line-height:1.6}
.location{border-top:1px solid #ffffff26;padding-top:26px;font-size:13px;color:var(--muted)}
.location h2{font-size:30px;color:var(--cream);line-height:1.15;margin-bottom:16px}.location p{margin:0 0 16px}.location a{color:var(--gold-light);text-decoration:underline;text-underline-offset:5px}
.card{padding:clamp(26px,3vw,44px);border-top:3px solid var(--gold);box-shadow:0 20px 60px #00000016}
.card .eyebrow{margin:0 0 18px}.card h2{font-size:clamp(34px,3vw,43px);line-height:1.08;letter-spacing:-.025em;margin:0 0 18px}
.muted,.help{color:#53655e;font-size:13px;line-height:1.65}.muted{margin:0 0 28px}.help{margin:9px 0 18px}
label{display:block;font-size:13px;font-weight:600;margin:20px 0 8px;color:var(--ink)}
input,select{width:100%;min-width:0;min-height:48px;border:1px solid #b9b3a6;border-radius:0;padding:12px;background:#fffdf8;color:var(--ink);font:400 16px/1.4 "DM Sans",sans-serif}
input:hover,select:hover{border-color:#7a8275}input:focus,select:focus{outline:2px solid var(--gold);outline-offset:2px;border-color:var(--ink)}
a:focus-visible,button:focus-visible{outline:2px solid var(--gold-light);outline-offset:5px}.card a:focus-visible{outline-color:#86651c}
.fields{display:grid;grid-template-columns:1fr 1fr;gap:16px}.fields>div{min-width:0}
.consent{display:flex;align-items:flex-start;gap:11px;font-size:12px;font-weight:400;line-height:1.65;margin-top:24px;color:#53655e}.consent input{width:18px;min-height:18px;height:18px;padding:0;flex-shrink:0;margin:3px 0 0;accent-color:var(--green-800)}
.card a{text-decoration:underline;text-underline-offset:4px}.consent a{color:var(--ink)}
.primary{width:100%;font-size:14px;min-height:54px;padding:14px 18px;line-height:1.4}.primary:disabled{opacity:.65;cursor:wait;transform:none}
#status{font-size:13px;color:#8a3424;line-height:1.6;margin:16px 0 0}#status:empty{display:none}
.direct{border-top:1px solid #d7cbbb;margin-top:28px;padding-top:23px;font-size:13px}.direct p{color:#53655e;margin:0 0 8px}.direct a{display:inline-block;font-weight:600;color:var(--ink);padding:4px 0}
.trap{position:absolute;left:-9999px;width:1px;height:1px;overflow:hidden}#success{background:#e3e9df;border-left:2px solid var(--green-700);padding:24px 20px;line-height:1.6}#success h2{font-size:34px}#success p{font-size:14px}#summary{font-weight:600}[hidden]{display:none!important}
.booking-page footer{line-height:1.6}.booking-page footer a:hover{color:var(--gold-light)}.booking-page footer>a img{width:210px}.booking-page footer div a{text-underline-offset:4px}.booking-page footer div a:hover{text-decoration:underline}
@media(max-width:980px){.booking-page .site-header{grid-template-columns:1fr auto;gap:20px}.booking-page .header-back{display:none}.booking-layout{padding:46px 28px 64px;gap:36px;grid-template-columns:minmax(0,1fr) minmax(0,1.05fr)}.intro h1{font-size:48px}.card{padding:26px}.card h2{font-size:35px}.fields{grid-template-columns:1fr;gap:0}.booking-page .nav{z-index:30;border-bottom:1px solid #ffffff26}}
@media(max-width:760px){.booking-layout{grid-template-columns:1fr;padding:42px 20px 58px;gap:30px}.intro{display:contents}.intro h1{font-size:48px}.intro .eyebrow{margin:0 0 -12px}.intro>p:not(.eyebrow){margin:0;max-width:none}.intro .notice{margin-top:-8px!important}.card{grid-row:5;padding:30px 24px}.intro figure{grid-row:6;margin:8px 0 0}.location{grid-row:7}.fields{grid-template-columns:1fr 1fr;gap:14px}.card h2{font-size:36px}.booking-page footer{gap:32px 24px;padding-bottom:42px}.booking-page footer>a:first-child{grid-column:1 / -1}}
@media(max-width:400px){.intro h1{font-size:42px}.card{padding:26px 20px}.card h2{font-size:32px}.fields{grid-template-columns:1fr;gap:0}.booking-page footer{grid-template-columns:1fr}.booking-page .site-header{padding-inline:20px}}

/* Ajuste de leitura autorizado: preservar paleta e estrutura. */
.booking-page{font-family:Arial,Helvetica,sans-serif}.booking-page h1,.booking-page h2{font-family:Arial,Helvetica,sans-serif;font-weight:500;font-style:normal;letter-spacing:-.025em}.intro h1{font-size:clamp(36px,4.1vw,54px);line-height:1.17}.card h2{font-size:clamp(29px,3vw,36px);line-height:1.25}.booking-page input,.booking-page select{font-family:Arial,Helvetica,sans-serif}
