/*
  consorciode.com.br — EcoFeira vibe skin
  Mantém as mesmas classes do HTML (hero, btn, card, etc.)
  para aplicar a nova identidade visual sem refatorar páginas.
*/

:root{
  --brand:#10b981;           /* green */
  --brand-2:#059669;         /* hover */
  --ink:#0f172a;             /* text */
  --muted:#64748b;           /* muted text */
  --bg:#f8fafc;              /* page bg */
  --bg2:#e2e8f0;             /* subtle section tint */
  --card:#ffffff;            /* surface */
  --border:#e2e8f0;          /* border */
  --shadow:0 18px 60px rgba(15,23,42,.12);
  --shadow-soft:0 12px 34px rgba(15,23,42,.10);
  --radius:32px;             /* mega */
  --radius-sm:18px;          /* controls */
  --radius-xs:12px;
}

*{box-sizing:border-box}
html,body{height:100%}
body{
  margin:0;
  background:var(--bg);
  color:var(--ink);
  font-family:'Plus Jakarta Sans',system-ui,-apple-system,Segoe UI,Roboto,Arial,sans-serif;
  -webkit-font-smoothing:antialiased;
  -moz-osx-font-smoothing:grayscale;
}

a{color:inherit}
.container{max-width:1200px;margin:0 auto;padding:0 18px}

/* compat (arquivos antigos) */
.wrap{max-width:1200px;margin:0 auto;padding:0 18px}
.row{display:grid;grid-template-columns:repeat(12,1fr);gap:14px}
.row > *{grid-column:span 6}
@media (max-width:900px){.row > *{grid-column:span 12}}

.skip-link{
  position:absolute;left:-9999px;top:10px;
  background:#0b1220;color:#fff;padding:10px 12px;border-radius:999px;z-index:9999;
}
.skip-link:focus{left:10px}

/* Header — glass */
.site-header{
  position:sticky;top:0;z-index:1001;
  background:rgba(248,250,252,.82);
  backdrop-filter:blur(14px);
  border-bottom:1px solid rgba(226,232,240,.9);
}
.site-header.is-home{position:sticky}

.header-inner{display:flex;align-items:center;justify-content:space-between;gap:14px;padding:14px 0;position:relative}
.brand{
  text-decoration:none;
  font-weight:900;
  letter-spacing:-.03em;
  font-size:20px;
  display:flex;
  align-items:center;
  gap:8px;
}
.brand .dot{color:var(--brand)}

.menu-toggle{
  display:none;
  background:rgba(15,23,42,.04);
  border:1px solid rgba(15,23,42,.10);
  color:var(--ink);
  padding:10px 12px;
  font-size:13px;
  font-weight:800;
  cursor:pointer;
  text-transform:uppercase;
  border-radius:999px;
  transition:all .18s ease;
}
.menu-toggle:hover{background:rgba(16,185,129,.10);border-color:rgba(16,185,129,.30)}

.nav{display:flex;align-items:center;gap:8px;flex-wrap:wrap}
.nav a{
  text-decoration:none;
  padding:10px 14px;
  font-size:13px;
  font-weight:800;
  letter-spacing:.02em;
  text-transform:uppercase;
  border-radius:999px;
  transition:all .18s ease;
  color:rgba(15,23,42,.88);
}
.nav a:hover{background:rgba(16,185,129,.12);color:var(--brand-2)}

@media (max-width: 980px){
  .menu-toggle{display:inline-flex}
  .nav{
    display:none;
    position:absolute;
    top:100%;left:0;right:0;
    background:rgba(248,250,252,.96);
    backdrop-filter:blur(14px);
    flex-direction:column;
    padding:14px;
    border-bottom-left-radius:22px;
    border-bottom-right-radius:22px;
    border:1px solid rgba(226,232,240,.9);
    border-top:0;
    box-shadow:var(--shadow-soft);
  }
  .nav.is-open{display:flex}
  .nav a{width:100%;justify-content:flex-start}
}

/* Base */
main{min-height:55vh}
.section{padding:34px 0}

.card{
  background:var(--card);
  border-radius:var(--radius);
  box-shadow:var(--shadow-soft);
  border:1px solid rgba(226,232,240,.95);
}

.h1{
  font-weight:900;
  letter-spacing:-.03em;
  line-height:1.05;
}

.muted{color:var(--muted)}

.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}

/* Hero — light + premium */
.hero{
  background:linear-gradient(180deg, rgba(226,232,240,.70), rgba(248,250,252,1));
  padding:54px 0 44px;
  position:relative;
  overflow:hidden;
}
.hero::before{
  content:"";
  position:absolute;inset:-40px;
  background-image:
    radial-gradient(rgba(15,23,42,.08) 1px, transparent 1px);
  background-size:26px 26px;
  opacity:.25;
  pointer-events:none;
}
.hero::after{
  content:"";
  position:absolute;inset:0;
  background:radial-gradient(600px 240px at 50% 0%, rgba(16,185,129,.20), transparent 70%);
  pointer-events:none;
}
.hero .container{position:relative}
.hero-title{
  font-size:clamp(30px,4.6vw,52px);
  text-align:center;
  margin:0;
  font-weight:1000;
  letter-spacing:-.04em;
}
.hero-sub{margin:14px 0 0;text-align:center;font-size:17px;font-weight:600;color:rgba(15,23,42,.78)}

.search-card{
  margin:28px auto 0;
  max-width:980px;
  background:rgba(255,255,255,.92);
  border-radius:28px;
  box-shadow:var(--shadow);
  border:1px solid rgba(226,232,240,.95);
  padding:20px;
  backdrop-filter:blur(14px);
}
.search-grid{display:grid;grid-template-columns:1.2fr 1fr auto;gap:14px;align-items:end}
@media (max-width: 900px){.search-grid{grid-template-columns:1fr;}}

.field label{display:flex;align-items:center;gap:10px;font-size:12px;font-weight:900;text-transform:uppercase;letter-spacing:.12em;margin:0 0 10px;color:rgba(15,23,42,.70)}
.field input,.field select{
  width:100%;
  padding:15px 16px;
  border:1px solid rgba(148,163,184,.35);
  font-size:16px;
  font-weight:700;
  outline:none;
  transition:all .18s ease;
  background:#fff;
  border-radius:18px;
}
.field input:focus,.field select:focus{border-color:rgba(16,185,129,.55);box-shadow:0 0 0 4px rgba(16,185,129,.14)}

.hero-badges{
  margin:16px auto 0;
  display:flex;
  gap:10px;
  justify-content:center;
  flex-wrap:wrap;
}
.badge{
  display:flex;align-items:center;gap:10px;
  background:rgba(16,185,129,.10);
  padding:8px 14px;
  border-radius:999px;
  border:1px solid rgba(16,185,129,.15);
  font-size:13px;
  font-weight:800;
  color:rgba(5,150,105,.92);
}

/* Buttons */
.btn{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  gap:10px;
  padding:12px 18px;
  border-radius:999px;
  text-decoration:none;
  font-weight:900;
  letter-spacing:.06em;
  text-transform:uppercase;
  border:1px solid transparent;
  cursor:pointer;
  transition:transform .12s ease, box-shadow .18s ease, background .18s ease, color .18s ease, border-color .18s ease;
}
.btn:active{transform:scale(.98)}
.btn-sm{padding:9px 12px;font-size:12px;border-radius:999px}
.btn-block{width:100%}

/* Mantém nomes antigos (btn-yellow) mas agora é o verde EcoFeira */
.btn-yellow{background:var(--brand);color:#fff;border-color:rgba(16,185,129,.22);box-shadow:0 12px 26px rgba(16,185,129,.22)}
.btn-yellow:hover{background:var(--brand-2);box-shadow:0 16px 34px rgba(16,185,129,.26)}

.btn-black{background:#0b1220;color:#fff;border-color:rgba(15,23,42,.12);box-shadow:0 12px 26px rgba(15,23,42,.18)}
.btn-black:hover{background:#111827}

.btn-ghost{background:rgba(255,255,255,.75);border-color:rgba(15,23,42,.10);color:rgba(15,23,42,.90)}
.btn-ghost:hover{background:rgba(16,185,129,.10);border-color:rgba(16,185,129,.28);color:var(--brand-2)}

/* Section head */
.section-head{display:flex;align-items:flex-end;justify-content:space-between;gap:16px;flex-wrap:wrap;margin-bottom:14px}
.section-head h1,.section-head h2{margin:0;font-weight:1000;letter-spacing:-.03em}
.section-head p{margin:8px 0 0}

/* Hero mini links */
.hero-mini{margin:18px auto 0;display:flex;gap:10px;justify-content:center;flex-wrap:wrap;align-items:center}
.mini-title{font-weight:900;letter-spacing:.06em;text-transform:uppercase;font-size:12px;color:rgba(15,23,42,.70)}
.mini-link{
  display:inline-flex;align-items:center;gap:8px;
  padding:8px 12px;
  border-radius:999px;
  background:rgba(255,255,255,.74);
  border:1px solid rgba(226,232,240,.9);
  text-decoration:none;
  font-weight:800;
  font-size:13px;
  transition:all .18s ease;
}
.mini-link:hover{border-color:rgba(16,185,129,.35);box-shadow:0 10px 22px rgba(15,23,42,.10);transform:translateY(-1px)}

/* Grids and cols (compat) */
.grid{display:grid;grid-template-columns:repeat(12,1fr);gap:14px}
.col-12{grid-column:span 12}
.col-6{grid-column:span 6}
.col-4{grid-column:span 4}
.col-3{grid-column:span 3}
@media (max-width:900px){.col-6,.col-4,.col-3{grid-column:span 12}}

/* Promo block */
.promo{
  display:grid;
  grid-template-columns:1.2fr .8fr;
  gap:18px;
  padding:26px;
  border-radius:var(--radius);
  border:1px solid rgba(226,232,240,.95);
  background:linear-gradient(180deg, rgba(16,185,129,.08), rgba(255,255,255,.92));
  box-shadow:var(--shadow-soft);
}
@media (max-width:900px){.promo{grid-template-columns:1fr}}
.promo .tag{
  display:inline-flex;
  align-items:center;
  gap:8px;
  padding:7px 12px;
  border-radius:999px;
  background:rgba(16,185,129,.10);
  border:1px solid rgba(16,185,129,.18);
  color:rgba(5,150,105,.95);
  font-size:11px;
  font-weight:1000;
  letter-spacing:.14em;
}
.promo h2{margin:12px 0 8px;font-weight:1000;letter-spacing:-.03em}
.promo-left .checklist{margin:14px 0 18px;padding:0;list-style:none;display:grid;gap:10px}
.promo-left .checklist li{
  display:flex;align-items:center;gap:10px;
  background:rgba(255,255,255,.75);
  border:1px solid rgba(226,232,240,.95);
  border-radius:18px;
  padding:10px 12px;
  font-weight:800;
}
.promo-left .checklist li:before{
  content:"✓";
  color:var(--brand-2);
  font-weight:1000;
}
.promo-right{
  border-radius:26px;
  border:1px solid rgba(16,185,129,.20);
  background:rgba(255,255,255,.70);
  display:flex;
  flex-direction:column;
  justify-content:center;
  align-items:center;
  padding:22px;
  text-align:center;
}
.promo-icon{font-size:40px;color:rgba(16,185,129,.70)}
.promo-title{margin-top:10px;font-weight:1000;letter-spacing:-.02em}
.promo-sub{margin-top:6px;color:rgba(15,23,42,.70);font-weight:700}

/* Tables */
table{width:100%;border-collapse:separate;border-spacing:0}
th,td{padding:12px 14px;text-align:left}
th{font-size:12px;letter-spacing:.12em;text-transform:uppercase;color:rgba(15,23,42,.65)}
tr{background:#fff}
tr+tr td{border-top:1px solid rgba(226,232,240,.85)}
.table-wrap{overflow:auto;border:1px solid rgba(226,232,240,.95);border-radius:22px;box-shadow:var(--shadow-soft)}

/* Footer */
.site-footer{
  background:rgba(248,250,252,.92);
  border-top:1px solid rgba(226,232,240,.95);
  padding:34px 0;
  margin-top:34px;
}
.footer-center{text-align:center}
.footer-title{font-weight:1000;letter-spacing:.12em;text-transform:uppercase;font-size:12px;color:rgba(15,23,42,.68)}
.footer-social{display:flex;justify-content:center;gap:10px;margin:12px 0 18px;flex-wrap:wrap}
.social{
  width:44px;height:44px;
  display:inline-flex;align-items:center;justify-content:center;
  border-radius:999px;
  background:#fff;
  border:1px solid rgba(226,232,240,.95);
  text-decoration:none;
  font-weight:1000;
  transition:all .18s ease;
}
.social:hover{border-color:rgba(16,185,129,.35);transform:translateY(-1px)}
.footer-company{font-weight:1000;letter-spacing:-.02em}
.footer-doc{margin-top:6px;color:rgba(15,23,42,.65);font-weight:700}
.footer-ctas{margin:18px 0 16px;display:flex;justify-content:center;gap:10px;flex-wrap:wrap}
.footer-links{display:flex;justify-content:center;gap:14px;flex-wrap:wrap}
.footer-links a{color:rgba(15,23,42,.72);text-decoration:none;font-weight:800;letter-spacing:.06em;text-transform:uppercase;font-size:12px}
.footer-links a:hover{color:var(--brand-2)}
.footer-copy{margin-top:16px;color:rgba(15,23,42,.55);font-weight:700}

/* Small helpers */
hr{border:0;border-top:1px solid rgba(226,232,240,.9);margin:18px 0}

/* Dark mode basic (if you add .dark to html) */
.dark body{background:#0f172a;color:#e5e7eb}
.dark .site-header{background:rgba(15,23,42,.78);border-color:rgba(30,41,59,.95)}
.dark .nav a{color:rgba(226,232,240,.88)}
.dark .nav a:hover{background:rgba(16,185,129,.18)}
.dark .search-card{background:rgba(30,41,59,.72);border-color:rgba(30,41,59,.9)}
.dark .field input,.dark .field select{background:#0b1220;border-color:rgba(148,163,184,.20);color:#e5e7eb}
.dark .card,.dark tr{background:#1e293b;border-color:rgba(30,41,59,.95)}
.dark .site-footer{background:rgba(15,23,42,.78);border-color:rgba(30,41,59,.95)}
