/* =====================================================================
   FEMAC 2026 — Estilo (identidade: cartola + coelho, vintage mágico)
   ===================================================================== */
:root{
  --preto:#141210;
  --preto-2:#1d1a16;
  --preto-3:#262019;
  --bege:#ddd4c2;
  --bege-claro:#ece4d4;
  --creme:#f2ead9;
  --terra:#c14a2f;     /* terracota principal (script FEMAC) */
  --terra-2:#d2602f;   /* laranja vivo (rabiscos) */
  --vinho:#a83829;
  --linha:#3a342b;
  --ok:#3f9b5a;
  --erro:#c0392b;
  --aviso:#caa23a;
  --r:16px;
  --sombra:0 18px 48px rgba(0,0,0,.28);
  --display:'Cinzel',Georgia,serif;
  --sub:'Cormorant Garamond',Georgia,serif;
  --corpo:'Nunito Sans',system-ui,Arial,sans-serif;
  --script:'Sacramento',cursive;
}
*{box-sizing:border-box;margin:0;padding:0}
html{scroll-behavior:smooth}
body{
  font-family:var(--corpo);color:#27211a;background:var(--bege);
  line-height:1.65;-webkit-font-smoothing:antialiased;
  background-image:
    radial-gradient(circle at 12% 18%, rgba(255,255,255,.35), transparent 40%),
    url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' width='400' height='400'><g fill='none' stroke='%23cabfa8' stroke-width='2' opacity='.55'><path d='M-20 60 C80 20 120 110 220 70 S380 30 440 80'/><path d='M-20 160 C80 120 120 210 220 170 S380 130 440 180'/><path d='M-20 260 C80 220 120 310 220 270 S380 230 440 280'/><path d='M-20 360 C80 320 120 410 220 370 S380 330 440 380'/></g></svg>");
}
a{color:var(--terra);text-decoration:none}
a:hover{text-decoration:underline}
img{max-width:100%;display:block}
.container{width:min(1180px,92%);margin-inline:auto}
section{padding:72px 0}

/* Tipografia */
h1,h2,h3{font-family:var(--display);font-weight:700;line-height:1.12;letter-spacing:.5px}
h1{font-size:clamp(2.2rem,5vw,4rem)}
h2{font-size:clamp(1.7rem,3.5vw,2.6rem)}
.script{font-family:var(--script);color:var(--terra);font-weight:400}
.eyebrow{font-family:var(--sub);text-transform:uppercase;letter-spacing:4px;
  font-size:.95rem;color:var(--terra);font-weight:600}
.sub{font-family:var(--sub);font-size:1.2rem;color:#5a5040}

/* Botões */
.btn{display:inline-flex;align-items:center;gap:.5rem;font-family:var(--corpo);
  font-weight:800;border:none;cursor:pointer;border-radius:999px;
  padding:.85rem 1.7rem;font-size:1rem;transition:.2s;text-decoration:none}
.btn:hover{transform:translateY(-2px);text-decoration:none}
.btn-primary{background:var(--terra);color:#fff;box-shadow:0 8px 20px rgba(193,74,47,.35)}
.btn-primary:hover{background:var(--vinho)}
.btn-dark{background:var(--preto);color:var(--creme)}
.btn-dark:hover{background:#000}
.btn-ghost{background:transparent;color:var(--creme);border:2px solid var(--creme)}
.btn-ghost:hover{background:var(--creme);color:var(--preto)}
.btn-sm{padding:.5rem 1rem;font-size:.88rem}
.btn-block{display:flex;width:100%;justify-content:center}

/* ---------------- HEADER ---------------- */
.topbar{background:var(--preto);color:var(--creme);position:sticky;top:0;z-index:50;
  border-bottom:1px solid var(--linha)}
.topbar .container{display:flex;align-items:center;justify-content:space-between;
  padding:.7rem 0;gap:1rem}
.brand{display:flex;align-items:center;gap:.7rem;color:var(--creme);text-decoration:none}
.brand svg{width:42px;height:auto}
.brand .nome{font-family:var(--display);font-size:1.35rem;letter-spacing:1px;line-height:1}
.brand .nome small{display:block;font-family:var(--sub);font-size:.62rem;
  letter-spacing:3px;color:var(--terra-2);text-transform:uppercase}
.nav{display:flex;align-items:center;gap:.4rem;flex-wrap:wrap}
.nav a{color:var(--creme);padding:.45rem .8rem;border-radius:8px;font-weight:700;font-size:.95rem}
.nav a:hover{background:var(--preto-3);text-decoration:none;color:#fff}
.nav a.cta{background:var(--terra);color:#fff}
.nav a.cta:hover{background:var(--vinho)}
.menu-toggle{display:none;background:none;border:none;color:var(--creme);font-size:1.7rem;cursor:pointer}

/* ---------------- HERO ---------------- */
.hero{background:var(--preto);color:var(--creme);position:relative;overflow:hidden;
  padding:90px 0 100px;text-align:center}
.hero::before{content:"";position:absolute;inset:0;opacity:.10;
  background-image:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' width='400' height='400'><g fill='none' stroke='%23d2602f' stroke-width='3'><path d='M-20 80 C80 40 120 130 220 90 S380 50 440 100'/><path d='M-20 200 C80 160 120 250 220 210 S380 170 440 220'/><path d='M-20 320 C80 280 120 370 220 330 S380 290 440 340'/></g></svg>")}
.hero .container{position:relative;z-index:2}
.hero .logo-grande{width:140px;margin:0 auto 12px}
.hero h1{margin:.2rem 0}
.hero h1 .femac{font-family:var(--script);color:var(--terra-2);
  font-size:clamp(3.5rem,9vw,6.5rem);display:block;line-height:.8;margin-bottom:.3rem}
.hero .tagline{font-family:var(--sub);letter-spacing:6px;text-transform:uppercase;
  font-size:clamp(.85rem,2.5vw,1.25rem);color:var(--creme)}
.hero .datas{margin:1.6rem 0;font-family:var(--sub);font-size:1.35rem;color:var(--bege)}
.hero .datas b{color:var(--terra-2)}
.hero .acoes{display:flex;gap:1rem;justify-content:center;flex-wrap:wrap;margin-top:1.4rem}
.sparkle{position:absolute;color:var(--terra-2);opacity:.5;font-size:1.5rem}

/* ---------------- CARDS / SEÇÕES ---------------- */
.bg-dark{background:var(--preto);color:var(--creme)}
.bg-dark h2,.bg-dark h3{color:var(--creme)}
.center{text-align:center}
.section-head{text-align:center;margin-bottom:48px}
.section-head h2{margin:.3rem 0}
.divider-wave{height:40px;background-repeat:repeat-x;background-size:auto 40px;
  background-image:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' width='120' height='40'><path d='M0 20 C30 0 30 40 60 20 S90 0 120 20' fill='none' stroke='%23c14a2f' stroke-width='3'/></svg>")}

.grid{display:grid;gap:24px}
.grid-2{grid-template-columns:repeat(2,1fr)}
.grid-3{grid-template-columns:repeat(3,1fr)}
.grid-4{grid-template-columns:repeat(4,1fr)}

.card{background:var(--creme);border-radius:var(--r);padding:28px;
  box-shadow:var(--sombra);border:1px solid #e0d6c2}
.card h3{font-size:1.3rem;margin-bottom:.5rem;color:var(--preto)}
.card .ico{font-size:2.2rem;margin-bottom:.6rem;display:block}

/* sobre */
.feature{display:flex;gap:1rem;align-items:flex-start}
.feature .ico{font-size:1.8rem;color:var(--terra)}

/* ---------------- ATRAÇÕES ---------------- */
.atracoes-grid{display:grid;gap:26px;grid-template-columns:repeat(auto-fill,minmax(230px,1fr))}
.atracao{background:var(--preto-2);border-radius:var(--r);overflow:hidden;
  border:1px solid var(--linha);transition:.25s;position:relative}
.atracao:hover{transform:translateY(-5px);box-shadow:var(--sombra)}
.atracao .foto{aspect-ratio:3/4;background:#0f0d0b;position:relative;overflow:hidden;
  display:flex;align-items:flex-end;justify-content:center}
.atracao .foto img{width:100%;height:100%;object-fit:cover}
.atracao .foto.esmaecida img{filter:grayscale(1) brightness(.45) blur(1px)}
.atracao .foto .silhueta{width:70%;opacity:.85}
.atracao .selo{position:absolute;top:12px;left:12px;background:var(--terra);
  color:#fff;font-size:.72rem;font-weight:800;padding:.25rem .6rem;border-radius:999px;
  text-transform:uppercase;letter-spacing:1px;z-index:3}
.atracao .selo.breve{background:#4a4035;color:var(--bege)}
.atracao .ordem-badge{position:absolute;top:12px;right:12px;background:rgba(0,0,0,.6);
  color:var(--creme);width:30px;height:30px;border-radius:50%;display:flex;
  align-items:center;justify-content:center;font-weight:800;font-family:var(--display);z-index:3}
.atracao .info{padding:16px 18px;color:var(--creme)}
.atracao .info h3{font-size:1.15rem;color:var(--creme);margin-bottom:.15rem}
.atracao .info .art{font-family:var(--script);color:var(--terra-2);font-size:1.4rem;line-height:.9}
.atracao .info .bio{font-size:.9rem;color:var(--bege);margin-top:.5rem}
.atracao .info .pais{font-size:.8rem;color:#9a8f7c;text-transform:uppercase;letter-spacing:1px}
.veil{position:absolute;inset:0;background:linear-gradient(transparent,rgba(20,18,16,.92));
  display:flex;align-items:flex-end;justify-content:center;padding:18px;text-align:center;z-index:2}
.veil span{color:var(--creme);font-family:var(--sub);font-size:1rem}

/* ---------------- FORMULÁRIOS ---------------- */
.form-wrap{max-width:720px;margin-inline:auto}
.form-card{background:var(--creme);border-radius:var(--r);padding:34px;box-shadow:var(--sombra)}
.field{margin-bottom:18px}
.field label{display:block;font-weight:800;margin-bottom:.35rem;color:#3a322a;font-size:.95rem}
.field .hint{font-weight:400;color:#7a6f5d;font-size:.85rem}
.field input,.field textarea,.field select{
  width:100%;padding:.8rem 1rem;border:1.5px solid #cdc2ac;border-radius:10px;
  font:inherit;background:#fff;color:#27211a}
.field input:focus,.field textarea:focus,.field select:focus{
  outline:none;border-color:var(--terra);box-shadow:0 0 0 3px rgba(193,74,47,.15)}
.field textarea{min-height:120px;resize:vertical}
.row-2{display:grid;grid-template-columns:1fr 1fr;gap:16px}
.check{display:flex;align-items:center;gap:.6rem}
.check input{width:auto}

/* flash */
.flash{padding:.9rem 1.2rem;border-radius:10px;margin-bottom:16px;font-weight:700}
.flash-ok{background:#e2f4e6;color:#256b39;border:1px solid #b8e0c2}
.flash-erro{background:#fbe3e0;color:#a02a1c;border:1px solid #f0c2bb}
.flash-aviso{background:#fbf2d8;color:#8a6d18;border:1px solid #ecd99a}

/* tabela admin */
.tbl{width:100%;border-collapse:collapse;background:#fff;border-radius:12px;overflow:hidden;
  box-shadow:var(--sombra)}
.tbl th,.tbl td{padding:.75rem .9rem;text-align:left;border-bottom:1px solid #eee;font-size:.92rem}
.tbl th{background:var(--preto);color:var(--creme);font-family:var(--corpo);font-weight:800}
.tbl tr:hover td{background:#faf6ee}
.badge{display:inline-block;padding:.18rem .6rem;border-radius:999px;font-size:.75rem;font-weight:800}
.badge.pendente{background:#fbf2d8;color:#8a6d18}
.badge.pago,.badge.aprovado{background:#e2f4e6;color:#256b39}
.badge.cancelado,.badge.recusado{background:#fbe3e0;color:#a02a1c}

/* perfil */
.perfil-top{display:flex;gap:24px;align-items:center;flex-wrap:wrap}
.avatar{width:120px;height:120px;border-radius:50%;object-fit:cover;border:4px solid var(--terra);background:#ddd}

/* stats admin */
.stats{display:grid;grid-template-columns:repeat(auto-fit,minmax(160px,1fr));gap:18px}
.stat{background:var(--creme);border-radius:var(--r);padding:22px;box-shadow:var(--sombra);
  border-left:5px solid var(--terra)}
.stat .num{font-family:var(--display);font-size:2.2rem;color:var(--terra);line-height:1}
.stat .lbl{font-weight:700;color:#5a5040;margin-top:.3rem}

/* admin layout */
.admin-shell{display:grid;grid-template-columns:240px 1fr;min-height:100vh}
.admin-side{background:var(--preto);color:var(--creme);padding:22px 16px}
.admin-side .brand .nome{font-size:1.1rem}
.admin-side nav{display:flex;flex-direction:column;gap:4px;margin-top:24px}
.admin-side nav a{color:var(--bege);padding:.6rem .8rem;border-radius:8px;font-weight:700;font-size:.93rem}
.admin-side nav a:hover,.admin-side nav a.active{background:var(--preto-3);color:#fff;text-decoration:none}
.admin-main{padding:32px 36px;background:var(--bege)}
.admin-main h1{font-size:1.9rem;margin-bottom:1.2rem}
.toolbar{display:flex;justify-content:space-between;align-items:center;gap:1rem;flex-wrap:wrap;margin-bottom:20px}

/* pix */
.pix-box{text-align:center}
.pix-box img{width:240px;margin:0 auto;border:8px solid #fff;border-radius:12px}
.pix-copia{word-break:break-all;background:#fff;border:1px dashed #cdc2ac;padding:12px;
  border-radius:10px;font-size:.85rem;margin-top:12px}

/* footer */
.footer{background:var(--preto);color:var(--bege);padding:54px 0 28px;border-top:3px solid var(--terra)}
.footer .container{display:grid;grid-template-columns:2fr 1fr 1fr;gap:32px}
.footer h4{font-family:var(--display);color:var(--creme);margin-bottom:.7rem}
.footer a{color:var(--bege);display:block;padding:.2rem 0}
.footer .copy{grid-column:1/-1;border-top:1px solid var(--linha);margin-top:26px;
  padding-top:20px;font-size:.85rem;color:#9a8f7c;text-align:center}

/* utilidades */
.mt{margin-top:1rem}.mt2{margin-top:2rem}.mb{margin-bottom:1rem}
.muted{color:#7a6f5d}.tac{text-align:center}.flex{display:flex;gap:.6rem;align-items:center}
.between{justify-content:space-between}.wrap{flex-wrap:wrap}

/* ---------------- RESPONSIVO ---------------- */
@media(max-width:900px){
  .footer .container{grid-template-columns:1fr 1fr}
  .grid-4{grid-template-columns:repeat(2,1fr)}
  .grid-3{grid-template-columns:repeat(2,1fr)}
  .admin-shell{grid-template-columns:1fr}
  .admin-side{display:flex;flex-wrap:wrap;align-items:center;gap:6px}
  .admin-side nav{flex-direction:row;flex-wrap:wrap;margin-top:0}
}
@media(max-width:680px){
  .nav{display:none;position:absolute;top:100%;left:0;right:0;background:var(--preto);
    flex-direction:column;padding:12px;border-top:1px solid var(--linha)}
  .nav.open{display:flex}
  .nav a{width:100%}
  .menu-toggle{display:block}
  .topbar{position:relative}
  .row-2{grid-template-columns:1fr}
  .grid-2,.grid-3,.grid-4{grid-template-columns:1fr}
  .footer .container{grid-template-columns:1fr}
  section{padding:52px 0}
}
