/* Orçamento (gerado do projeto aprovado) */
body{margin:0;background:#0D0B0A}
html{scrollbar-width:thin;scrollbar-color:#7A5A26 #0D0B0A}
*{scrollbar-width:thin;scrollbar-color:#7A5A26 transparent}
::-webkit-scrollbar{width:10px;height:10px}
::-webkit-scrollbar-track{background:transparent}
::-webkit-scrollbar-thumb{background:#7A5A26;border-radius:10px;border:3px solid transparent;background-clip:padding-box}
::-webkit-scrollbar-thumb:hover{background:#B8955C;background-clip:padding-box}
a{color:#B8955C}a:hover{color:#B8955C}
.btn-ivory{background:#F3EDE2;color:#1A1410}
.btn-ivory:hover{background:#FFFFFF;color:#1A1410}
.btn-cafe{background:#1A1410;color:#F3EDE2}
.btn-cafe:hover{background:#3A2F27;color:#F3EDE2}
input,select,textarea{font:inherit}
input:focus,select:focus,textarea:focus{outline:2px solid #B8955C;outline-offset:1px;border-color:#7A5A26 !important}
button:focus-visible,a:focus-visible{outline:2px solid #B8955C;outline-offset:2px}
@media (max-width:860px){.nav-links{display:none !important}}
.btn-line-light{color:#F3EDE2;border:1px solid rgba(243,237,226,.4)}
.btn-line-light:hover{color:#F3EDE2;border-color:#F3EDE2;background:rgba(243,237,226,.08)}
@media (max-width:1024px){
.o-wrap{gap:32px !important}
.o-aside{flex-basis:100% !important}
.o-how{flex-direction:row !important;border-bottom:1px solid rgba(184,149,92,.22)}
.o-how>li{flex:1 1 0;border-bottom:0 !important;flex-direction:column;gap:8px !important;padding:16px 16px 16px 0 !important}
.o-how>li+li{border-left:1px solid rgba(184,149,92,.22);padding-left:16px !important}
.o-talk{flex-direction:row !important;flex-wrap:wrap;align-items:center;gap:8px 28px !important;margin-top:0 !important}
.o-card{flex-basis:100% !important}
.o-menus{grid-template-columns:repeat(2,minmax(0,1fr)) !important}
.o-mgrid{grid-template-columns:repeat(2,minmax(0,1fr)) !important}
.o-navgrid{grid-template-columns:minmax(0,1fr) !important;padding:32px !important}
.o-navfig{display:none !important}
.o-navlabel{font-size:46px !important}
}
@media (max-width:640px){
.o-top{padding:10px 20px !important}
.o-top img,.o-navtop img{height:40px !important}
.o-main{padding:16px 16px 40px !important}
.o-wrap{gap:20px !important}
.o-aside{display:contents !important}
.o-back{order:0}
.o-head{order:1;gap:10px !important}
.o-h1{font-size:32px !important}
.o-card{order:3}
.o-how{order:2;flex-direction:column !important;border-bottom:0}
.o-how>li{flex-direction:row;gap:18px !important;padding:13px 0 !important;border-bottom:1px solid rgba(184,149,92,.22) !important}
.o-how>li+li{border-left:0;padding-left:0 !important}
.o-talk{order:4;flex-direction:column !important;align-items:flex-start !important;gap:10px !important}
.o-form{padding:22px 18px 24px !important}
.o-g2,.o-g3,.o-menus{grid-template-columns:minmax(0,1fr) !important}
.o-span{grid-column:auto !important}
.o-svc{grid-template-columns:repeat(2,minmax(0,1fr)) !important}
.o-done{padding:32px 20px 28px !important}
.o-done-h{font-size:30px !important}
.o-dl{grid-template-columns:96px minmax(0,1fr) !important;padding:16px !important}
.o-footer{padding:0 20px !important}
.o-foot{flex-direction:column;text-align:center;justify-content:center !important}
.o-foot>div{justify-content:center}
.o-mwrap{padding:0 !important;align-items:flex-end !important}
.o-modal{max-height:92vh !important;border-radius:12px 12px 0 0 !important}
.o-mhead{padding:18px 20px 16px !important;gap:14px !important}
.o-mh{font-size:28px !important}
.o-mtabs{flex-wrap:nowrap !important;overflow-x:auto;margin:0 -20px;padding:0 20px 2px}
.o-mtabs button{flex:none;font-size:14px !important;padding:0 14px !important}
.o-mbody{padding:20px 20px 24px !important}
.o-mgrid{grid-template-columns:minmax(0,1fr) !important;gap:24px !important}
.o-mfoot{padding:14px 20px !important}
.o-mhint{display:none}
.o-mfoot button{width:100%}
.o-form button[type=submit]{letter-spacing:.14em !important;padding:0 12px !important}
.o-done a{letter-spacing:.14em !important}
.o-navtop{padding:10px 20px !important}
.o-navgrid{padding:20px !important;align-items:start !important}
.o-navlabel{font-size:34px !important}
.o-navlink{gap:16px !important;padding:12px 0 !important}
.o-navfoot{padding:18px 20px 24px !important;flex-direction:column;align-items:stretch !important}
.o-navfoot>div{flex-direction:column;gap:6px !important}
.o-navfoot>a{text-align:center}
}
.o-next2{display:none}
@media (max-width:640px){
.o-card{scroll-margin-top:76px}
.o-form:not([data-ms="0"]) .o-g2,.o-form:not([data-ms="0"]) .o-g3{display:contents !important}
.o-form[data-ms="1"] .ms:not(.ms1),.o-form[data-ms="2"] .ms:not(.ms2),.o-form[data-ms="3"] .ms:not(.ms3),.o-form[data-ms="4"] .ms:not(.ms4){display:none !important}
.o-form:not([data-ms="0"]) .ms-hide,.o-form:not([data-ms="0"]) .o-next{display:none !important}
.o-form[data-ms="1"] .o-next2,.o-form[data-ms="2"] .o-next2,.o-form[data-ms="3"] .o-next2{display:block !important}
}

/* ===== Computador (acima de 1024px): a página inteira cabe na tela, sem rolagem =====
   Topo + formulário + rodapé ocupam exatamente a altura da janela. Em telas baixas os espaços
   verticais encolhem; se ainda faltar, o orcamento.js reduz o conjunto proporcionalmente (zoom). */
@media (min-width:1025px){
body>div:first-of-type{display:flex;flex-direction:column;min-height:100vh;min-height:100dvh}
.o-main{flex:1 1 auto;min-height:0;padding-top:clamp(12px,3vh,32px) !important;padding-bottom:clamp(12px,3vh,56px) !important;display:flex;flex-direction:column;justify-content:center}
.o-wrap{width:100%}
.o-footer{flex:none}
.o-form{padding-top:clamp(18px,3.4vh,30px) !important;padding-bottom:clamp(18px,3.4vh,32px) !important;gap:clamp(8px,1.6vh,16px) !important}
.o-aside{gap:clamp(10px,2.2vh,22px) !important}
.o-head{gap:clamp(8px,1.4vh,14px) !important}
.o-how li{padding-top:clamp(6px,1.3vh,13px) !important;padding-bottom:clamp(6px,1.3vh,13px) !important}
.o-foot{padding-top:clamp(12px,2.2vh,24px) !important;padding-bottom:clamp(12px,2.4vh,28px) !important}
/* Cartão na altura toda: botão sempre no pé do cartão e o espaço livre distribuído entre os campos
   (é onde os avisos de erro aparecem, sem mexer na tela). Tela final centralizada no cartão. */
.o-done{flex:1 1 auto;justify-content:center}
/* 3 etapas: a etapa 2 mostra dados e cardápio; a etapa 3, extras, observações e autorização */
.o-form[data-web="a"] .o-s2b,.o-form[data-web="b"] .o-s2a{display:none !important}
.o-form[data-web="a"] .o-next2{display:block !important}
}

/* ===== Sugestões de e-mail (aparecem depois do @) ===== */
.o-email-list{position:absolute;left:0;right:0;top:100%;z-index:5;margin:4px 0 0;padding:4px;list-style:none;background:#fff;border:1px solid #CDBFA5;border-radius:4px;box-shadow:0 12px 28px rgba(26,20,16,.14)}
.o-email-list[hidden]{display:none}
.o-email-list li{padding:9px 12px;border-radius:2px;font-size:15px;font-weight:500;color:#1A1410;cursor:pointer;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;transition:background-color 150ms ease}
.o-email-list li span{font-weight:400;color:#8A7C6C}
.o-email-list li[aria-selected="true"]{background:#F3EDE2}
@media (hover:hover) and (pointer:fine){.o-email-list li:hover{background:#F3EDE2}}

/* ===== Data do evento: campo e calendário próprio ===== */
.o-date{cursor:pointer;caret-color:transparent !important;padding-right:42px !important;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='18' height='18' viewBox='0 0 24 24' fill='none' stroke='%237A5A26' stroke-width='1.6' stroke-linecap='round' stroke-linejoin='round'%3E%3Crect x='3.5' y='5' width='17' height='15' rx='2'/%3E%3Cpath d='M3.5 10h17M8 3v4M16 3v4'/%3E%3C/svg%3E") !important;background-repeat:no-repeat !important;background-position:right 14px center !important}
.o-date::placeholder{color:#8A7C6C}
.o-cal{position:fixed;z-index:90;box-sizing:border-box;padding:14px;background:#fff;color:#1A1410;border:1px solid #CDBFA5;border-radius:6px;box-shadow:0 18px 40px rgba(26,20,16,.18);font-family:'DM Sans',system-ui,sans-serif}
.o-cal-hd{display:flex;align-items:center;justify-content:space-between;gap:8px;margin-bottom:8px}
.o-cal-title{font-family:'Jost',sans-serif;font-weight:400;font-size:18px;color:#1A1410}
.o-cal-nav{width:34px;height:34px;padding:0;border-radius:50%;border:1px solid #CDBFA5;background:#fff;color:#1A1410;display:flex;align-items:center;justify-content:center;cursor:pointer;transition:border-color 200ms ease,background-color 200ms ease,transform 160ms cubic-bezier(.23,1,.32,1)}
.o-cal-nav:active{transform:scale(.94)}
.o-cal-nav:disabled{opacity:.3;cursor:default}
.o-cal-grid{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:2px;text-align:center}
.o-cal-wd{font-size:11.5px;letter-spacing:.06em;color:#8A7C6C;padding:6px 0}
.o-cal-day{height:38px;padding:0;border:0;border-radius:2px;background:none;font-family:inherit;font-size:14.5px;color:#1A1410;cursor:pointer;transition:background-color 150ms ease,color 150ms ease}
.o-cal-day.is-today{box-shadow:inset 0 0 0 1px #B8955C}
.o-cal-day.is-sel{background:#1A1410;color:#F3EDE2}
.o-cal-day:disabled{color:#CDBFA5;text-decoration:line-through;cursor:default}
.o-cal-day:focus-visible,.o-cal-nav:focus-visible{outline:2px solid #B8955C;outline-offset:1px}
@media (hover:hover) and (pointer:fine){.o-cal-day:not(:disabled):not(.is-sel):hover{background:#F3EDE2}.o-cal-nav:not(:disabled):hover{border-color:#1A1410}}
/* Celular: o calendário sobe de baixo, sobre um fundo escurecido */
.o-cal.is-sheet{left:0;right:0;bottom:0;top:auto;width:auto;border-radius:12px 12px 0 0;border-bottom:0;padding:18px 20px calc(20px + env(safe-area-inset-bottom))}
.o-cal.is-sheet .o-cal-day{height:44px;font-size:16px}
.o-cal-back{position:fixed;inset:0;z-index:89;background:rgba(8,7,6,.6)}

/* ===== Listas próprias (Horário, Como conheceu) ===== */
.o-sel-native{position:absolute !important;width:1px !important;height:1px !important;opacity:0 !important;pointer-events:none !important;padding:0 !important;border:0 !important}
.o-sel{display:flex;align-items:center;justify-content:space-between;gap:10px;width:100%;box-sizing:border-box;padding:11px 14px;border:1px solid #CDBFA5;border-radius:4px;background:#fff;color:#2B221C;font-family:inherit;font-size:16px;font-weight:400;line-height:inherit;text-align:left;cursor:pointer;transition:border-color 200ms ease,box-shadow 200ms ease}
.o-sel-v{flex:1;min-width:0;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.o-sel.is-empty .o-sel-v{color:#8A7C6C}
.o-sel-ar{flex:none;transition:transform 250ms cubic-bezier(.23,1,.32,1)}
.o-sel.is-open{border-color:#7A5A26;box-shadow:0 0 0 2px rgba(184,149,92,.35)}
.o-sel.is-open .o-sel-ar{transform:rotate(180deg)}
.o-sel:focus-visible{outline:2px solid #B8955C;outline-offset:1px;border-color:#7A5A26}
.o-list{position:fixed;z-index:90;box-sizing:border-box;margin:0;padding:4px;list-style:none;background:#fff;border:1px solid #CDBFA5;border-radius:6px;box-shadow:0 14px 30px rgba(26,20,16,.16);font-family:'DM Sans',system-ui,sans-serif;outline:none}
.o-list li{display:flex;align-items:center;justify-content:space-between;gap:10px;padding:10px 12px;border-radius:2px;font-size:15px;color:#1A1410;cursor:pointer;transition:background-color 150ms ease}
.o-list li.is-hv{background:#F3EDE2}
.o-list li.is-on{font-weight:500}
.o-list li svg{flex:none;color:#7A5A26}
.o-list.is-sheet{left:0;right:0;bottom:0;top:auto;width:auto;border-radius:12px 12px 0 0;border-bottom:0;padding:10px 12px calc(14px + env(safe-area-inset-bottom))}
.o-list.is-sheet li{padding:14px 12px;font-size:16px}

/* ===== Formulário "mágico" =====
   1 · Foco: uma linha dourada se desenha na base do campo. ✓ dourado aparece quando a pessoa sai do campo e ele está certo.
   2 · Botões de escolha: a cor escura se espalha a partir do ponto do clique.
   3 · Extras: a caixa pulsa e o ✓ se desenha.
   5 · Envio: o botão vira um círculo que gira e depois um ✓.
   6 · Progresso: barra com ponta dourada; o número da etapa troca subindo. */
.o-form input[type=text]:not(.o-date),.o-form input[type=tel],.o-form input[type=email],.o-form textarea,.o-sel{
  background-image:linear-gradient(#B8955C,#B8955C) !important;background-repeat:no-repeat !important;background-position:left bottom !important;background-size:0% 2px !important;
  transition:background-size 550ms cubic-bezier(.23,1,.32,1),border-color 300ms ease,background-color 300ms ease,box-shadow 200ms ease}
.o-form input[type=text]:not(.o-date):focus,.o-form input[type=tel]:focus,.o-form input[type=email]:focus,.o-form textarea:focus,.o-sel.is-open,.o-sel:focus-visible{background-size:100% 2px !important}
.o-form .o-date{background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='18' height='18' viewBox='0 0 24 24' fill='none' stroke='%237A5A26' stroke-width='1.6' stroke-linecap='round' stroke-linejoin='round'%3E%3Crect x='3.5' y='5' width='17' height='15' rx='2'/%3E%3Cpath d='M3.5 10h17M8 3v4M16 3v4'/%3E%3C/svg%3E"),linear-gradient(#B8955C,#B8955C) !important;
  background-position:right 14px center,left bottom !important;background-size:18px 18px,0% 2px !important;transition:background-size 550ms cubic-bezier(.23,1,.32,1),border-color 300ms ease}
.o-form .o-date:focus,.o-form .o-date[aria-expanded="true"]{background-size:18px 18px,100% 2px !important}
.o-ok{position:absolute;right:12px;width:18px;height:18px;pointer-events:none}
.o-ok path{stroke-dasharray:24;stroke-dashoffset:24;transition:stroke-dashoffset 450ms cubic-bezier(.23,1,.32,1)}
.o-ok.is-on path{stroke-dashoffset:0}
.o-has-ok{padding-right:40px !important}

[data-pick]{position:relative;isolation:isolate;overflow:hidden}
[data-pick]::before{content:'';position:absolute;inset:0;z-index:-1;background:#1A1410;clip-path:circle(0% at var(--ix,50%) var(--iy,50%));transition:clip-path 480ms cubic-bezier(.23,1,.32,1)}
[data-pick][aria-pressed="true"]{background:#fff !important}
[data-pick][aria-pressed="true"]::before{clip-path:circle(150% at var(--ix,50%) var(--iy,50%))}

[data-svc]>span:first-child{transition:background-color 200ms ease,border-color 200ms ease}
[data-svc][aria-pressed="true"]>span:first-child{animation:o-pop 320ms cubic-bezier(.23,1,.32,1)}
[data-svc] svg path{stroke-dasharray:20;stroke-dashoffset:20;transition:stroke-dashoffset 320ms cubic-bezier(.23,1,.32,1) 60ms}
[data-svc][aria-pressed="true"] svg path{stroke-dashoffset:0}
@keyframes o-pop{50%{transform:scale(1.14)}}

.o-send{position:relative;transition:width 450ms cubic-bezier(.77,0,.175,1),border-radius 450ms cubic-bezier(.77,0,.175,1),color 150ms ease}
.o-send.is-sending{align-self:center;width:50px !important;padding:0 !important;border-radius:50% !important;color:transparent !important;pointer-events:none}
.o-send-spin{position:absolute;inset:13px;border:2px solid rgba(243,237,226,.25);border-top-color:#B8955C;border-radius:50%;opacity:0;transition:opacity 200ms ease}
.o-send.is-sending .o-send-spin{opacity:1;transition-delay:300ms;animation:o-rot 700ms linear infinite}
.o-send.is-done .o-send-spin{opacity:0;transition-delay:0ms}
.o-send-ok{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;pointer-events:none}
.o-send-ok path{stroke-dasharray:24;stroke-dashoffset:24}
.o-send.is-done .o-send-ok path{stroke-dashoffset:0;transition:stroke-dashoffset 450ms cubic-bezier(.23,1,.32,1) 100ms}
@keyframes o-rot{to{transform:rotate(360deg)}}

#o-step-bar{background:linear-gradient(90deg,#1A1410 0%,#1A1410 calc(100% - 40px),#B8955C 100%) !important}
#o-step-num{display:inline-block}

@media (prefers-reduced-motion:reduce){
  [data-pick]::before,.o-ok path,[data-svc] svg path{transition:none}
  [data-svc][aria-pressed="true"]>span:first-child{animation:none}
}

/* ===== Aviso de erro no botão =====
   O aviso vermelho de cima não aparece mais na tela (continua sendo lido por leitores de tela).
   No lugar, o botão vira vinho por 5 s com "Falta pouco: confira os campos em vermelho". */
[data-if="hasErrors"]>div{position:absolute !important;width:1px !important;height:1px !important;overflow:hidden !important;clip-path:inset(50%) !important;white-space:nowrap !important;padding:0 !important;margin:0 !important;border:0 !important}
.o-bt{position:relative;overflow:hidden}
.o-bt-n,.o-bt-w{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;gap:8px;padding:0 12px;transition:transform 420ms cubic-bezier(.23,1,.32,1),opacity 300ms ease}
.o-bt-w{transform:translateY(100%);opacity:0;text-transform:none;letter-spacing:.02em;font-size:14px;white-space:nowrap}
.o-bt-w svg{flex:none}
.o-bt.is-warn{background:#8C1D17 !important}
.o-bt.is-warn .o-bt-n{transform:translateY(-100%);opacity:0}
.o-bt.is-warn .o-bt-w{transform:none;opacity:1}
.o-bt-bar{position:absolute;left:0;right:0;bottom:0;height:2px;background:rgba(243,237,226,.55);transform:scaleX(0);transform-origin:left;pointer-events:none}
.o-bt.is-warn .o-bt-bar{transform:scaleX(1)}
.o-bt-short{display:none}
@media (max-width:420px){.o-bt-long{display:none}.o-bt-short{display:inline}}

/* Computador: quando a página cabe na tela, sem barra de rolagem (classe colocada pelo orcamento.js) */
@media (min-width:1025px){html.o-noscroll,html.o-noscroll body{overflow:hidden}}

/* ===== Painel de cardápios (desliza da esquerda; o formulário continua visível à direita) ===== */
.o-dback{position:absolute;inset:0;border:0;padding:0;background:rgba(8,7,6,.55);cursor:pointer}
.o-drawer{position:absolute;top:0;left:0;bottom:0;width:min(560px,46vw);display:flex;flex-direction:column;background:#FAF7F2;color:#2B221C;box-shadow:24px 0 60px rgba(0,0,0,.45);font-family:'DM Sans',system-ui,sans-serif}
.o-dph{position:relative;flex:0 0 clamp(150px,27vh,250px);margin:0;overflow:hidden;background:#1A1410}
.o-dph img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;display:block}
.o-dph::after{content:'';position:absolute;inset:0;background:linear-gradient(180deg,rgba(13,11,10,.1) 20%,rgba(13,11,10,.88) 100%);pointer-events:none}
.o-dcap{position:absolute;left:28px;right:28px;bottom:22px;z-index:1;display:flex;flex-direction:column;gap:6px}
.o-dk{font-size:12px;letter-spacing:.3em;text-transform:uppercase;color:#B8955C;font-weight:500}
.o-dh{margin:0;font-family:'Jost',sans-serif;font-weight:300;font-size:34px;line-height:1.05;color:#F3EDE2}
.o-dsub{margin:0;font-size:14px;line-height:1.5;color:#D9D0C2}
.o-dx{position:absolute;top:16px;right:16px;z-index:2;width:40px;height:40px;border-radius:50%;border:0;background:rgba(250,247,242,.92);color:#1A1410;display:flex;align-items:center;justify-content:center;cursor:pointer;transition:background-color 200ms ease,transform 160ms cubic-bezier(.23,1,.32,1)}
.o-dx:active{transform:scale(.94)}
.o-dtabs{display:flex;flex-wrap:wrap;gap:0 22px;padding:0 28px;border-bottom:1px solid #E4D9C5}
.o-dtabs button{flex:none;padding:14px 0 12px;margin-bottom:-1px;background:none;border:0;border-bottom:2px solid transparent;font-family:inherit;font-size:15px;font-weight:500;color:#8A7C6C;cursor:pointer;transition:color 200ms ease,border-color 300ms ease}
.o-dtabs button[aria-selected="true"]{color:#1A1410;border-bottom-color:#B8955C}
@media (hover:hover) and (pointer:fine){.o-dtabs button:hover{color:#3A2F27}.o-dx:hover{background:#fff}}
.o-dbody{flex:1;min-height:0;overflow-y:auto;padding:4px 28px 12px}
.o-dbody.is-more{-webkit-mask-image:linear-gradient(180deg,#000 82%,transparent);mask-image:linear-gradient(180deg,#000 82%,transparent)}
.o-dl{margin:0;padding:0;list-style:none}
.o-dl li{display:flex;flex-direction:column;gap:3px;padding:13px 0;border-bottom:1px solid #EDE4D4}
.o-dl-2{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));column-gap:24px}
.o-dl-simple li{padding:8px 0}
.o-dn{font-family:'Jost',sans-serif;font-weight:400;font-size:17.5px;line-height:1.25;color:#1A1410}
.o-dl-simple .o-dn{font-size:16px}
.o-dd{font-size:14px;line-height:1.5;color:#5E5249}
.o-dnote{font-size:14px;line-height:1.5;color:#7A5A26}
.o-dfoot{display:flex;flex-direction:column;gap:10px;padding:14px 28px 20px;border-top:1px solid #E4D9C5}
.o-dfoot .o-mhint{font-size:14px;color:#5E5249}
.o-dchoose{display:flex;align-items:center;justify-content:center;gap:10px;min-height:52px;border:0;border-radius:2px;cursor:pointer;font-family:inherit;font-weight:500;font-size:13px;letter-spacing:.2em;text-transform:uppercase}
.o-dchoose.is-chosen{letter-spacing:.06em;text-transform:none;font-size:15px}
/* Celular: sobe de baixo, como os outros */
@media (max-width:640px){
.o-drawer{top:auto;right:0;width:auto;height:92vh;border-radius:12px 12px 0 0;box-shadow:0 -18px 40px rgba(0,0,0,.4)}
.o-dph{flex-basis:150px}
.o-dcap{left:20px;right:20px;bottom:14px}
.o-dh{font-size:28px}
.o-dsub{font-size:13.5px}
.o-dtabs{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:0 20px;padding:0 20px}
.o-dtabs button{text-align:left;font-size:14.5px}
.o-dbody{padding:2px 20px 10px}
.o-dfoot{padding:12px 20px calc(14px + env(safe-area-inset-bottom))}
.o-dfoot .o-mhint{display:none}
}

/* ===== Observações: cresce sozinho (o orcamento.js calcula a altura) ===== */
.o-form textarea[name="obs"]{transition:height 260ms cubic-bezier(.23,1,.32,1),background-size 550ms cubic-bezier(.23,1,.32,1),border-color 300ms ease,background-color 300ms ease}

/* ===== Autorização: caixa própria, igual às dos extras =====
   A caixa do sistema fica invisível por cima (continua clicável e acessível); a nossa mostra o estado. */
.o-lgpd{position:relative}
.o-lgpd input[name="lgpd"]{position:absolute !important;left:0;top:50%;margin:-10px 0 0 !important;opacity:0;cursor:pointer;z-index:1}
.o-lgpd-box{position:relative;flex:none;width:20px;height:20px;box-sizing:border-box;border:1px solid #B9A98C;border-radius:2px;background:#fff;overflow:hidden;transition:border-color 200ms ease}
.o-lgpd-box i{position:absolute;inset:0;background:#1A1410;clip-path:circle(0% at 50% 50%);transition:clip-path 300ms cubic-bezier(.23,1,.32,1)}
.o-lgpd-box svg{position:absolute;inset:4px}
.o-lgpd-box path{stroke-dasharray:20;stroke-dashoffset:20;transition:stroke-dashoffset 300ms cubic-bezier(.23,1,.32,1) 120ms}
.o-lgpd input:checked+.o-lgpd-box{border-color:#1A1410;animation:o-pop 320ms cubic-bezier(.23,1,.32,1)}
.o-lgpd input:checked+.o-lgpd-box i{clip-path:circle(75% at 50% 50%)}
.o-lgpd input:checked+.o-lgpd-box path{stroke-dashoffset:0}
.o-lgpd input:focus-visible+.o-lgpd-box{outline:2px solid #B8955C;outline-offset:2px}
.o-lgpd input[aria-invalid="true"]+.o-lgpd-box{border:2px solid #B3261E;background:#FFF8F7}
@media (hover:hover) and (pointer:fine){.o-lgpd:hover .o-lgpd-box{border-color:#7A5A26}}
@media (prefers-reduced-motion:reduce){.o-lgpd-box i,.o-lgpd-box path{transition:none}.o-lgpd input:checked+.o-lgpd-box{animation:none}}

/* ===== Painel da Política de Privacidade (mesmo painel dos cardápios, sem foto) ===== */
.o-pol-head{display:flex;justify-content:space-between;align-items:flex-start;gap:16px;padding:26px 28px 18px;border-bottom:1px solid #E4D9C5}
.o-pol-tt{display:flex;flex-direction:column;gap:6px}
.o-pol-k{color:#7A5A26}
.o-pol-h{margin:0;font-family:'Jost',sans-serif;font-weight:300;font-size:30px;line-height:1.1;color:#1A1410}
.o-pol-x{flex:none;width:40px;height:40px;border-radius:50%;border:1px solid #CDBFA5;background:transparent;color:#1A1410;display:flex;align-items:center;justify-content:center;cursor:pointer;transition:border-color 200ms ease,transform 160ms cubic-bezier(.23,1,.32,1)}
.o-pol-x:active{transform:scale(.94)}
@media (hover:hover) and (pointer:fine){.o-pol-x:hover{border-color:#1A1410}}
.o-pol-body{display:flex;flex-direction:column;gap:22px;padding-top:20px;padding-bottom:20px;font-size:15px;line-height:1.6;color:#3A2F27}
.o-pol-body .p-sum{font-size:16px !important;color:#1A1410 !important}
.o-pol-body section{padding-top:18px !important;gap:8px !important}
.o-pol-body h2{font-size:21px !important;line-height:1.2 !important}
.o-pol-body ul{padding-left:20px !important}
.o-pol-wait{margin:0;color:#5E5249}
.o-pol-wait a{color:#7A5A26}
.o-pol-foot{flex-direction:row;align-items:center;gap:18px}
.o-pol-foot .o-dchoose{flex:1}
.o-pol-back{flex:none;padding:8px 0;background:none;border:0;font-family:inherit;font-size:14px;font-weight:500;color:#7A5A26;text-decoration:underline;text-underline-offset:5px;cursor:pointer}
@media (max-width:640px){
.o-pol-head{padding:20px 20px 14px}
.o-pol-h{font-size:24px}
.o-pol-foot{flex-direction:column;align-items:stretch;gap:6px}
}
