/* ------------------------------------------------------------------ fontes */
@font-face{font-family:'Brown Sugar';src:url("../fonts/BrownSugar-Regular.e8be2d862100.woff2") format('woff2');font-weight:400;font-display:swap}
@font-face{font-family:'Vogue';src:url("../fonts/Vogue-Regular.7a1fb26ca374.woff2") format('woff2');font-weight:400 700;font-display:swap}
@font-face{font-family:'Cormorant SC';src:url("../fonts/CormorantSC.8ffa7ddde531.woff2") format('woff2');font-weight:400 700;font-display:swap}
@font-face{font-family:'Parisienne';src:url("../fonts/Parisienne-Regular.f6055bccc45a.woff2") format('woff2');font-weight:400;font-display:swap}
@font-face{font-family:'EB Garamond';src:url("../fonts/EBGaramond-Regular.597230387586.woff2") format('woff2');font-weight:400 700;font-style:normal;font-display:swap}
@font-face{font-family:'EB Garamond';src:url("../fonts/EBGaramond-Italic.09db72263cbf.woff2") format('woff2');font-weight:400 700;font-style:italic;font-display:swap}
@font-face{font-family:'Abhaya Libre';src:url("../fonts/AbhayaLibre-Regular.a353c876641c.woff2") format('woff2');font-weight:400;font-display:swap}
@font-face{font-family:'Abhaya Libre';src:url("../fonts/AbhayaLibre-Medium.4cf017f0628b.woff2") format('woff2');font-weight:500;font-display:swap}
@font-face{font-family:'Abhaya Libre';src:url("../fonts/AbhayaLibre-SemiBold.afc2d57c6d03.woff2") format('woff2');font-weight:600;font-display:swap}
@font-face{font-family:'Abhaya Libre';src:url("../fonts/AbhayaLibre-Bold.e590563e12b3.woff2") format('woff2');font-weight:700;font-display:swap}

/* ------------------------------------------------------------------ tokens */
:root{
  --wine:#6B1E37;--wine-hover:#561629;--wine-mid:#9A5A70;--wine-soft:#8C4A60;--wine-deep:#7D3A52;
  --rose-border:#E7CBD3;--rose-div:#F1DCE2;--rose-div2:#F6E8EC;--rose-dash:#D9B3C0;
  --rose-bg:#FBEFF2;--rose-sec:#FBF6F7;--rose-note:#FDF4F6;--badge:#C25B78;--rose-light:#F6DDE3;
  --err-border:#C25B78;--err-bg:#FDF1F4;--err-text:#8A1D3D;
  --ash-bg:#F7F5F6;--ash-badge:#9C9497;--ash-text:#7A7276;--ash-border:#D8D2D4;
}

*,::before,::after{border-width:0;border-style:solid;border-color:#E7CBD3}
html{scroll-behavior:smooth;scroll-padding-top:110px}
h1,h2,h3,p{margin:0}
[hidden]{display:none !important}
body{margin:0;background:#FFFFFF;color:var(--wine);font-family:'EB Garamond',serif;-webkit-font-smoothing:antialiased;font-size:17px;line-height:1.4}
*{box-sizing:border-box}
a{color:var(--wine)}a:hover{color:#9A3A58}
input,textarea,select{font-family:'Abhaya Libre',serif;color:var(--wine)}
button{font-family:inherit;color:inherit}
img{display:block;max-width:100%}
strong{font-weight:700}
::placeholder{color:#B88A9A;opacity:1}

/* ------------------------------------------------------------- tipografia */
.f-names{font-family:'Brown Sugar','Italiana',serif;font-weight:400}
.f-amp{font-family:'Parisienne',cursive;font-weight:400}
.f-title{font-family:'Vogue','Bodoni Moda',serif}
.f-sc{font-family:'Cormorant SC',serif}
.f-num{font-family:'Abhaya Libre',serif}
.f-mono{font-family:ui-monospace,Menlo,Consolas,monospace}
.sc{font-family:'Cormorant SC',serif;font-weight:600;letter-spacing:.14em;text-transform:uppercase}
.sc-12{font-size:12px}.sc-13{font-size:13px}.sc-14{font-size:14px}.sc-15{font-size:15px}
.names{display:flex;flex-wrap:wrap;justify-content:center;align-items:baseline;gap:0 .2em;line-height:1}
.names .amp{font-family:'Parisienne',cursive;font-size:.8em}
.italic{font-style:italic}
.muted{color:var(--wine-soft)}
.pretty{text-wrap:pretty}
.tabular{font-variant-numeric:tabular-nums}

/* --------------------------------------------------------------- animações */
@keyframes gfTick{from{opacity:0;transform:translateY(-40%)}to{opacity:1;transform:none}}
@keyframes gfFade{from{opacity:0;transform:translateY(8px)}to{opacity:1;transform:none}}
@keyframes gfShake{0%,100%{transform:translateX(0)}25%{transform:translateX(-6px)}75%{transform:translateX(6px)}}
@keyframes gfSlide{from{transform:translateX(-100%)}to{transform:none}}
.anim-fade{animation:gfFade .3s ease}
.anim-tick{display:inline-block;animation:gfTick .45s ease}

/* ----------------------------------------------------------------- botões */
.btn{display:inline-flex;align-items:center;justify-content:center;gap:.4em;cursor:pointer;text-decoration:none;border:0;
  font-family:'Cormorant SC',serif;font-weight:600;letter-spacing:.16em;text-transform:uppercase;font-size:15px;
  transition:background .25s,color .25s,border-color .25s;white-space:nowrap}
.btn:hover{color:inherit}
.btn-wine{background:var(--wine);color:#FFFFFF}.btn-wine:hover{background:var(--wine-hover);color:#FFFFFF}
.btn-line{background:#FFFFFF;border:1px solid var(--wine);color:var(--wine)}.btn-line:hover{background:var(--rose-bg)}
.btn-ghost{background:transparent;color:var(--wine)}
.btn-lg{min-height:52px;padding:0 24px;font-size:16px}
.btn-md{min-height:48px;padding:0 20px;font-size:15px;letter-spacing:.14em}
.btn-sm{height:44px;padding:0 16px;font-size:14px;letter-spacing:.12em}
.btn-xs{height:42px;padding:0 18px;font-size:14px;letter-spacing:.12em}
.btn-table{height:34px;padding:0 10px;border:1px solid var(--rose-border);background:#FFFFFF;cursor:pointer;
  font-family:'EB Garamond',serif;font-size:14px;font-weight:600;color:var(--wine);letter-spacing:0;text-transform:none}
.btn-table:hover{border-color:var(--wine)}
.btn-table.danger{color:var(--err-text)}
.link-italic{border:0;background:none;cursor:pointer;font-family:'EB Garamond',serif;font-size:16px;font-style:italic;color:var(--wine);text-decoration:underline;padding:4px 0}
.link-italic.soft{color:var(--wine-soft)}
.btn:disabled,.btn[aria-disabled="true"]{opacity:.6;cursor:default}

/* ----------------------------------------------------------------- campos */
.lbl{display:flex;flex-direction:column;gap:6px;font-family:'Cormorant SC',serif;font-size:14px;font-weight:600;letter-spacing:.12em;text-transform:uppercase}
.lbl-13{font-size:13px;gap:5px}
.field{height:50px;border:1px solid var(--rose-border);padding:0 14px;font-size:19px;color:var(--wine);letter-spacing:0;background:#FFFFFF;outline-color:var(--wine);width:100%;border-radius:0;font-family:'Abhaya Libre',serif;text-transform:none;font-weight:400}
.field-sm{height:46px;padding:0 12px;font-size:17px}
.field-md{height:48px;padding:0 12px;font-size:18px}
.field.err{border-color:var(--err-border)}
textarea.field{height:auto;padding:14px;resize:vertical;line-height:1.4}
select.field{appearance:auto}
.field:focus{outline:2px solid var(--wine);outline-offset:-1px}
.alert-err{animation:gfShake .35s ease;border:1px solid var(--err-border);background:var(--err-bg);color:var(--err-text);padding:10px 14px;font-size:17px}

/* ------------------------------------------------------------------ selos */
.pill{display:inline-block;font-family:'Cormorant SC',serif;font-size:12px;font-weight:600;letter-spacing:.1em;padding:4px 9px;border-radius:999px;text-transform:uppercase;white-space:nowrap}
.tag{display:inline-block;font-family:'Cormorant SC',serif;font-size:12px;font-weight:600;letter-spacing:.14em;padding:5px 10px;text-transform:uppercase;white-space:nowrap}

/* ---------------------------------------------------------------- modais */
.modal{position:fixed;inset:0;z-index:60;background:rgba(60,15,30,.4);display:flex;align-items:center;justify-content:center;padding:12px}
.modal[hidden]{display:none}
.modal-box{width:100%;max-width:460px;max-height:calc(100vh - 24px);overflow:auto;background:#FFFFFF;border:1.5px solid var(--wine);padding:28px 22px 24px;position:relative;animation:gfFade .25s ease}
.modal-close{position:absolute;top:6px;right:8px;width:44px;height:44px;border:0;background:none;cursor:pointer;font-size:28px;color:var(--wine);line-height:1}
.toast{position:fixed;bottom:20px;left:50%;transform:translateX(-50%);z-index:80;background:var(--wine);color:#FFFFFF;padding:12px 22px;font-size:17px;
  box-shadow:0 8px 24px rgba(107,30,55,.25);animation:gfFade .25s ease;max-width:calc(100vw - 32px);text-align:center;transition:opacity .3s}
.toast.hide{opacity:0}

/* ---------------------------------------------------------- site convidado */
.nav-link{flex:none;padding:12px 10px 10px;text-decoration:none;font-family:'Cormorant SC',serif;font-size:14px;font-weight:600;letter-spacing:.14em;white-space:nowrap;border-bottom:2px solid transparent;transition:border-color .3s}
.nav-link.ativo{border-bottom-color:var(--wine)}
.nav-scroll{scrollbar-width:none}.nav-scroll::-webkit-scrollbar{display:none}
.grid-presentes{display:grid;grid-template-columns:repeat(auto-fill,minmax(min(100%,250px),1fr));gap:18px}
.grid-recados{display:grid;grid-template-columns:repeat(auto-fill,minmax(min(100%,260px),1fr));gap:22px}
.card-pres{background:#FFFFFF;border:1px solid var(--rose-border);display:flex;flex-direction:column;position:relative;transition:background .3s}
.card-pres.taken{background:var(--ash-bg)}
.card-pres .img-wrap{height:160px;display:flex;align-items:center;justify-content:center;border-bottom:1px solid var(--rose-div);padding:16px}
.card-pres .img-wrap img{max-height:128px;max-width:80%;object-fit:contain;transition:filter .4s,opacity .4s}
.card-pres.taken .img-wrap img{filter:grayscale(1);opacity:.4}
.card-pres .body{padding:16px 18px 18px;display:flex;flex-direction:column;gap:10px;flex:1}
.card-pres.outro .body{opacity:.55;color:var(--ash-text)}
.card-pres h3{margin:0;font-family:'Vogue','Bodoni Moda',serif;font-weight:700;font-size:19px;line-height:1.15;text-wrap:pretty}
.card-pres .preco{font-size:23px;font-weight:600;font-family:'Abhaya Libre',serif}
.esgotado{min-height:50px;display:flex;align-items:center;justify-content:center;border:1px solid var(--ash-border);color:#8A8285;font-family:'Cormorant SC',serif;font-size:15px;font-weight:600;letter-spacing:.16em}
.bilhete{padding:22px 20px 18px;box-shadow:0 6px 16px rgba(107,30,55,.08);display:flex;flex-direction:column;gap:12px;animation:gfFade .4s ease;border:1px solid var(--rose-dash)}
.bilhete.pendente{border-style:dashed}
.countdown{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:8px;width:100%;max-width:380px;margin-top:10px}
.countdown .unit{border:1px solid var(--rose-border);padding:12px 4px 10px;display:flex;flex-direction:column;align-items:center;gap:2px;overflow:hidden}
.countdown .num{font-family:'Vogue','Bodoni Moda',serif;font-weight:700;font-size:clamp(26px,5vw,34px);line-height:1;font-variant-numeric:tabular-nums}
.countdown .lab{font-family:'Cormorant SC',serif;font-size:12px;font-weight:600;letter-spacing:.14em;color:var(--wine-mid)}
.pix-box{width:100%;display:flex;border:1px solid var(--rose-border)}
.pix-box span{flex:1;min-width:0;padding:14px 12px;font-family:ui-monospace,Menlo,Consolas,monospace;font-size:12px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;text-align:left}
.pix-box button{flex:none;min-width:96px;border:0;cursor:pointer;font-size:15px;font-weight:600;background:var(--rose-bg);color:var(--wine);transition:background .25s,color .25s}
.pix-box button.ok{background:var(--wine);color:#FFFFFF}
.seg{min-height:52px;border:1px solid var(--wine);cursor:pointer;font-size:17px;font-weight:600;background:#FFFFFF;color:var(--wine);transition:background .25s,color .25s}
.seg.on{background:var(--wine);color:#FFFFFF}

/* ------------------------------------------------------------------ painel */
.painel body,body.painel{background:var(--rose-sec)}
.sidebar{width:252px;flex:none;background:#FFFFFF;border-right:1px solid var(--rose-border);display:flex;flex-direction:column;position:sticky;top:0;height:100vh;z-index:50}
.sidebar .item{display:flex;align-items:center;justify-content:space-between;gap:8px;min-height:46px;padding:0 14px;border:0;cursor:pointer;text-align:left;font-size:18px;font-weight:600;background:transparent;color:var(--wine);text-decoration:none}
.sidebar .item:hover{background:var(--rose-sec)}
.sidebar .item.ativo{background:var(--rose-bg)}
.badge{min-width:24px;height:24px;border-radius:999px;background:var(--badge);color:#FFFFFF;font-size:13px;display:flex;align-items:center;justify-content:center;padding:0 7px;font-family:'EB Garamond',serif}
.topbar{display:none}
.overlay{display:none}
@media (max-width:899px){
  .sidebar{position:fixed;top:0;left:0;bottom:0;transform:translateX(-100%);transition:transform .25s ease}
  body.menu-aberto .sidebar{transform:none;animation:gfSlide .25s ease}
  body.menu-aberto .overlay{display:block;position:fixed;inset:0;z-index:45;background:rgba(60,15,30,.35)}
  .topbar{position:sticky;top:0;z-index:30;background:#FFFFFF;border-bottom:1px solid var(--rose-border);height:60px;display:flex;align-items:center;justify-content:space-between;padding:0 12px 0 6px}
}
.hamb{width:48px;height:48px;border:0;background:none;cursor:pointer;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:5px}
.hamb span{width:22px;height:1.5px;background:var(--wine)}
.main-painel{flex:1;padding:clamp(18px,4vw,40px) clamp(14px,4vw,40px) 64px;max-width:1240px;width:100%;display:flex;flex-direction:column;gap:22px}
.box{background:#FFFFFF;border:1px solid var(--rose-border)}
.box-title{margin:0;padding:16px 20px;border-bottom:1px solid var(--rose-div);font-family:'Vogue','Bodoni Moda',serif;font-weight:700;font-size:18px;text-transform:uppercase}
.kpi{text-align:left;cursor:pointer;background:#FFFFFF;border:1px solid var(--rose-border);padding:16px 18px;display:flex;flex-direction:column;gap:4px;color:var(--wine);text-decoration:none;transition:border-color .25s}
.kpi:hover{border-color:var(--wine);color:var(--wine)}
.tab{height:46px;padding:0 16px;border:0;border-bottom:2px solid transparent;background:none;cursor:pointer;font-family:'Cormorant SC',serif;font-size:15px;font-weight:600;letter-spacing:.12em;color:var(--wine);margin-bottom:-1px;text-decoration:none;display:inline-flex;align-items:center;white-space:nowrap;text-transform:uppercase}
.tab.ativo{border-bottom-color:var(--wine)}
.thead{display:grid;gap:10px;padding:12px 18px;font-family:'Cormorant SC',serif;font-size:12px;font-weight:600;letter-spacing:.14em;color:var(--wine-mid);border-bottom:1px solid var(--rose-div);text-transform:uppercase}
.trow{display:grid;gap:10px;padding:12px 18px;align-items:center;font-size:17px;border-bottom:1px solid var(--rose-div2)}
.cols-conv{grid-template-columns:1.6fr 1.2fr 1.3fr .7fr 1fr 1.6fr}
.cols-receb{grid-template-columns:1.2fr 1.6fr .8fr .8fr .8fr 2fr}
.faixa-vinho{background:var(--wine);color:#FFFFFF;padding:22px 24px;display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:18px}
.faixa-vinho .unit{min-width:64px;border:1px solid #FFFFFF55;padding:10px 6px 8px;display:flex;flex-direction:column;align-items:center;gap:2px;overflow:hidden}
.faixa-vinho .num{font-family:'Vogue','Bodoni Moda',serif;font-weight:700;font-size:28px;line-height:1;font-variant-numeric:tabular-nums}
.faixa-vinho .lab{font-family:'Cormorant SC',serif;font-size:11px;font-weight:600;letter-spacing:.14em;color:var(--rose-light)}
.stepper{width:40px;height:40px;border:1px solid var(--wine);background:#FFFFFF;color:var(--wine);cursor:pointer;font-size:20px}
.dropzone{border:1.5px dashed var(--rose-dash);background:var(--rose-sec);padding:34px 16px;cursor:pointer;display:flex;flex-direction:column;align-items:center;gap:6px;color:var(--wine);width:100%}
.vazio-dash{background:#FFFFFF;border:1px dashed var(--rose-dash);padding:36px 20px;display:flex;flex-direction:column;align-items:center;gap:12px;text-align:center}
