/* =========================================================
   REVISTA AGROCOM — Protótipo visual
   Design tokens
   ========================================================= */
@import url('https://fonts.googleapis.com/css2?family=Fraunces:ital,opsz,wght@0,9..144,400;0,9..144,500;0,9..144,600;0,9..144,700;1,9..144,500&family=Inter:wght@400;500;600;700;800&family=Poppins:wght@500;600;700&display=swap');

:root{
  /* cores de marca fornecidas pelo cliente */
  --color-primary: #1c3232;
  --color-primary-2: #24403f;
  --color-primary-3: #2d4d4b;
  --color-accent: #6fad6f;
  --color-accent-dark: #83ab72;
  --color-accent-light: #eaf3ea;

  /* acento secundário — dourado colheita, usado com muita economia */
  --color-gold: #c99a3f;

  --color-bg: #f6f7f5;
  --color-surface: #ffffff;
  --color-ink: #16201d;
  --color-ink-soft: #3d4a45;
  --color-muted: #6b7a73;
  --color-border: #e2e7e2;
  --color-border-strong: #cdd6cd;

  --font-display: 'Fraunces', Georgia, serif;
  --font-heading: 'Poppins', 'Inter', -apple-system, BlinkMacSystemFont, 'Segoe UI', sans-serif;
  --font-body: 'Inter', -apple-system, BlinkMacSystemFont, 'Segoe UI', sans-serif;
  --font-mono: 'Inter', -apple-system, BlinkMacSystemFont, 'Segoe UI', sans-serif; /* rótulos, etiquetas e breadcrumb */

  --container: 1280px;
  --gap: 28px;

  --radius-sm: 4px;
  --radius-md: 8px;

  --shadow-sm: 0 1px 2px rgba(20,30,25,.06), 0 1px 1px rgba(20,30,25,.04);
  --shadow-md: 0 8px 24px rgba(20,30,25,.09);

  --ease: cubic-bezier(.4,0,.2,1);
}

*, *::before, *::after{ box-sizing: border-box; }
html{ scroll-behavior: smooth; }
body{
  margin:0;
  font-family: var(--font-body);
  color: var(--color-ink);
  background: var(--color-bg);
  -webkit-font-smoothing: antialiased;
  line-height: 1.5;
}
img{ max-width:100%; display:block; height:auto; }
a{ color:inherit; text-decoration:none; }
ul{ margin:0; padding:0; list-style:none; }
h1,h2,h3,h4{ margin:0; font-family:var(--font-display); font-weight:600; color: var(--color-primary); }
p{ margin:0; }
button{ font-family:inherit; cursor:pointer; }
:focus-visible{ outline: 3px solid var(--color-gold); outline-offset: 2px; }

.container{
  width:100%;
  max-width: var(--container);
  margin-inline:auto;
  padding-inline: 24px;
}

/* eyebrow / rótulo de categoria */
.eyebrow{
  display:inline-flex;
  align-items:center;
  gap:6px;
  font-family: var(--font-mono);
  font-size: 11px;
  font-weight:700;
  letter-spacing: .12em;
  text-transform:uppercase;
  color: var(--color-accent-dark);
}
.eyebrow::before{
  content:"";
  width:14px; height:2px;
  background: var(--color-accent-dark);
  display:inline-block;
}

/* =========================================================
   SKIP LINK
   ========================================================= */
.skip-link{
  position:absolute; left:-999px; top:auto;
  background: var(--color-primary); color:#fff; padding:10px 16px;
  z-index: 999; border-radius: var(--radius-sm);
}
.skip-link:focus{ left:16px; top:16px; }

/* =========================================================
   TOPO — barra utilitária
   ========================================================= */
.utility-bar{
  background: #10201f;
  color: #b9c9c1;
  font-family: var(--font-mono);
  font-size: 12px;
}
.utility-bar .container{
  display:flex;
  align-items:center;
  justify-content:space-between;
  min-height: 34px;
  gap:16px;
}
.utility-bar__date{ opacity:.85; }
.utility-social{ display:flex; gap:10px; align-items:center; }
.utility-social a{
  width:26px; height:26px;
  display:grid; place-items:center;
  border-radius:50%;
}
.utility-social svg{ width:14px; height:14px; display:block; }

/* redes sociais — círculo com fundo colorido da marca, ícone branco (topo e rodapé) */
.utility-social a,
.footer-social a{
  flex: 0 0 auto;
  aspect-ratio: 1 / 1;
  color:#fff;
  border:none;
  border-radius:50%;
  transition: filter .2s var(--ease), transform .2s var(--ease);
}
.utility-social a > svg,
.footer-social a > svg{ color:#fff; }
.utility-social a:hover,
.footer-social a:hover{ filter: brightness(1.1); transform: translateY(-2px); }
.utility-social a[aria-label="YouTube"],
.footer-social a[aria-label="YouTube"]{ background:#FF0000; }
.utility-social a[aria-label="Facebook"],
.footer-social a[aria-label="Facebook"]{ background:#1877F2; }
.utility-social a[aria-label="Instagram"],
.footer-social a[aria-label="Instagram"]{
  background: radial-gradient(circle at 30% 107%, #fdf497 0%, #fdf497 5%, #fd5949 45%, #d6249f 60%, #285AEB 90%);
}
.utility-social a[aria-label="WhatsApp"],
.footer-social a[aria-label="WhatsApp"]{ background:#25D366; }

/* =========================================================
   HEADER
   ========================================================= */
.site-header{
  background: var(--color-primary);
  position: sticky;
  top:0;
  z-index: 60;
  box-shadow: var(--shadow-sm);
}
.header-main{
  position: relative;
  display:flex;
  align-items:center;
  gap: 28px;
  min-height: 86px;
  padding-block: 8px;
  padding-left: 300px; /* reserva o espaço da logo sobreposta, sem alargar o menu */
}
.logo{
  position: absolute;
  left: 24px;
  top: 50%;
  transform: translateY(-50%);
  display:flex;
  align-items:center;
  color:#fff;
  pointer-events: none; /* a logo sobrepõe o menu: o excesso não pode "roubar" os cliques das categorias */
}
.logo::before{
  /* área clicável da logo limitada à altura da faixa superior */
  content:"";
  position:absolute;
  left:0; right:0; top:50%;
  height: 86px;
  transform: translateY(-50%);
  pointer-events: auto;
}
.logo__img{
  height: 150px;      /* logo maior, mas sem aumentar a altura do menu */
  width: auto;
  max-width: 400px;
  display:block;
  object-fit: contain;
}

.header-search{
  flex:1;
  max-width: 420px;
  margin-left: auto;
}
.header-search form{
  display:flex;
  align-items:center;
  background: rgba(255,255,255,.08);
  border: 1px solid rgba(255,255,255,.16);
  border-radius: 999px;
  padding: 8px 8px 8px 18px;
  transition: background .2s var(--ease), border-color .2s var(--ease);
}
.header-search form:focus-within{
  background: rgba(255,255,255,.14);
  border-color: var(--color-accent);
}
.header-search input{
  flex:1;
  background:none;
  border:none;
  color:#fff;
  font-family: var(--font-body);
  font-size: 14px;
}
.header-search input::placeholder{ color: #9fb3aa; }
.header-search input:focus{ outline:none; }
.header-search button{
  width:32px; height:32px;
  border-radius:50%;
  border:none;
  background: var(--color-accent);
  color: var(--color-primary);
  display:grid; place-items:center;
  transition: background .2s var(--ease);
}
.header-search button:hover{ background:#fff; }
.header-search svg{ width:15px; height:15px; }

.header-cta{
  display:flex;
  align-items:center;
  gap:14px;
  flex-shrink:0;
}
.btn{
  display:inline-flex;
  align-items:center;
  gap:8px;
  padding: 11px 20px;
  border-radius: 999px;
  font-size: 13px;
  font-weight:600;
  border: 1px solid transparent;
  transition: transform .15s var(--ease), background .2s var(--ease), color .2s var(--ease), border-color .2s var(--ease);
  white-space:nowrap;
}
.btn:hover{ transform: translateY(-1px); }
.btn-solid{ background: var(--color-accent); color:#0d1a19; }
.btn-solid:hover{ background:#fff; }
.btn-outline{ border-color: rgba(255,255,255,.35); color:#fff; }
.btn-outline:hover{ border-color:#fff; background: rgba(255,255,255,.08); }
.btn-ghost{ color: var(--color-primary); border-color: var(--color-border-strong); }
.btn-ghost:hover{ background: var(--color-accent-light); border-color: var(--color-accent); }
.btn-dark{ background: var(--color-primary); color:#fff; }
.btn-dark:hover{ background: var(--color-primary-3); }

.nav-toggle{
  display:none;
  width:42px; height:42px;
  border-radius: var(--radius-sm);
  border: 1px solid rgba(255,255,255,.25);
  background: transparent;
  color:#fff;
  align-items:center; justify-content:center;
  flex-shrink:0;
}
.nav-toggle svg{ width:20px; height:20px; }

/* nav principal de categorias */
.main-nav{
  background: var(--color-primary-2);
  border-top: 1px solid rgba(255,255,255,.08);
}
.main-nav .container{ display:flex; }
.main-nav ul{
  display:flex;
  overflow-x:auto;
  scrollbar-width:none;
}
.main-nav ul::-webkit-scrollbar{ display:none; }
.main-nav a{
  display:block;
  padding: 13px 18px;
  font-size: 13px;
  font-weight:600;
  letter-spacing: normal;
  color: #d7e3dd;
  white-space:nowrap;
  border-bottom: 2px solid transparent;
  transition: color .2s var(--ease), border-color .2s var(--ease), background .2s var(--ease);
}
.main-nav a:hover, .main-nav a.is-active{
  color:#fff;
  border-color: var(--color-accent);
  background: rgba(111,173,111,.1);
}

/* =========================================================
   TICKER DE COTAÇÕES — elemento de assinatura
   ========================================================= */
.ticker{
  background: #0d1a19;
  border-top: 1px solid rgba(255,255,255,.06);
  border-bottom: 1px solid rgba(111,173,111,.25);
  overflow:hidden;
  position:relative;
}
.ticker::before{
  content:"COTAÇÕES";
  position:absolute;
  left:0; top:0; bottom:0;
  z-index:2;
  display:flex; align-items:center;
  padding: 0 16px;
  font-family: var(--font-mono);
  font-size: 10px;
  font-weight:700;
  letter-spacing:.14em;
  color:#0d1a19;
  background: var(--color-accent);
}
.ticker::after{
  content:"";
  position:absolute; inset:0 0 0 auto;
  width:36px;
  background: linear-gradient(90deg, transparent, #0d1a19);
}
.ticker__track{
  display:flex;
  width:max-content;
  padding-left: 128px;
  animation: ticker-scroll 32s linear infinite;
}
.ticker:hover .ticker__track{ animation-play-state: paused; }
.ticker__item{
  display:flex;
  align-items:center;
  gap:8px;
  padding: 9px 26px;
  font-family: var(--font-mono);
  font-size: 12.5px;
  color: #cddcd4;
  border-right: 1px solid rgba(255,255,255,.08);
  flex-shrink:0;
}
.ticker__item b{ color:#fff; font-weight:600; letter-spacing:.03em; }
.ticker__item em{ font-style:normal; font-weight:600; }
.ticker__item .up{ color: var(--color-accent); }
.ticker__item .down{ color:#d97b6c; }
.ticker__item .arrow{ font-size:10px; }

@keyframes ticker-scroll{
  from{ transform: translateX(0); }
  to{ transform: translateX(-50%); }
}

/* =========================================================
   PUBLICIDADE — placeholders
   ========================================================= */
.ad{
  position:relative;
  display:flex;
  align-items:center;
  justify-content:center;
  background:
    repeating-linear-gradient(135deg, #eef1ed, #eef1ed 10px, #e6ebe4 10px, #e6ebe4 20px);
  border: 1px dashed var(--color-border-strong);
  border-radius: var(--radius-md);
  color: var(--color-muted);
  text-align:center;
  overflow:hidden;
}
.ad__label{
  font-family: var(--font-mono);
  font-size: 11px;
  letter-spacing:.1em;
  text-transform:uppercase;
}
.ad__size{
  font-family: var(--font-mono);
  font-size: 13px;
  font-weight:700;
  color: var(--color-ink-soft);
  margin-top:4px;
}
.ad--970x250{ width:100%; height:150px; margin-inline:auto; }
.ad--728x90{ width:100%; height:150px; margin-inline:auto; }
.ad--300x250{ width:100%; aspect-ratio: 300/250; }
.ad--300x600{ width:100%; aspect-ratio: 300/600; }

.ad-slot{
  background: transparent;
  padding-block: 22px;
}
.ad-slot--tight{ padding-block: 18px; }
.ad-slot .container{ display:flex; justify-content:center; }

/* faixa de publicidade entre seções — rótulo por fora, acima do bloco */
.ad-band{
  margin-bottom: 48px;
  display:flex;
  flex-direction:column;
  align-items:center;
  gap: 8px;
}
.ad-band__label{
  font-family: var(--font-mono);
  font-size: 10px;
  font-weight: 700;
  letter-spacing: .2em;
  text-transform: uppercase;
  color: var(--color-muted);
}

/* =========================================================
   LAYOUT PRINCIPAL — conteúdo + sidebar publicitária
   ========================================================= */
.page-body{
  padding-block: 40px;
}
.layout{
  display:grid;
  grid-template-columns: minmax(0,1fr) 300px;
  gap: 40px;
  align-items:start;
}
.content-col{ min-width:0; }
.ad-col{
  display:flex;
  flex-direction:column;
  gap: 22px;
  position: sticky;
  top: 116px;
}
.ad-col-label{
  font-family: var(--font-mono);
  font-size: 10px;
  letter-spacing:.14em;
  text-transform:uppercase;
  color: var(--color-muted);
  text-align:center;
}

/* widgets da coluna lateral (cotação, mais lidas, clima) */
.widget{
  background: var(--color-surface);
  border: 1px solid var(--color-border);
  border-radius: var(--radius-md);
  overflow:hidden;
}
.widget__head{
  background: var(--color-primary);
  color:#fff;
  font-family: var(--font-mono);
  font-size: 11.5px;
  font-weight:700;
  letter-spacing:.1em;
  text-transform:uppercase;
  padding: 12px 16px;
}
.widget__body{ padding: 6px 16px 14px; }

.quote-list li{
  display:flex;
  justify-content:space-between;
  align-items:baseline;
  padding: 10px 0;
  border-bottom: 1px solid var(--color-border);
  font-family: var(--font-mono);
  font-size: 13px;
}
.quote-list li:last-child{ border-bottom:none; }
.quote-list .name{ color: var(--color-ink-soft); font-weight:600; letter-spacing:.02em; }
.quote-list .value{ text-align:right; }
.quote-list .value b{ display:block; color:var(--color-ink); }
.quote-list .value small{ color: var(--color-accent-dark); font-size:11px; }
.quote-list .value small.down{ color:#c05a4b; }

.rank-list li{
  display:flex;
  gap: 12px;
  padding: 12px 0;
  border-bottom: 1px solid var(--color-border);
}
.rank-list li:last-child{ border-bottom:none; }
.rank-list .num{
  font-family: var(--font-display);
  font-weight:700;
  font-size: 22px;
  color: var(--color-border-strong);
  line-height:1;
  width: 26px;
  flex-shrink:0;
}
.rank-list a{
  font-size: 13.5px;
  font-weight:600;
  line-height:1.4;
  color: var(--color-ink);
  transition: color .2s var(--ease);
}
.rank-list a:hover{ color: var(--color-accent-dark); }

.weather-row{
  display:flex;
  align-items:center;
  justify-content:space-between;
  padding: 14px 0;
}
.weather-row .temp{ font-family:var(--font-display); font-size:34px; font-weight:600; color:var(--color-primary); }
.weather-row .loc{ font-size:12.5px; color:var(--color-muted); }
.weather-row .loc b{ display:block; color:var(--color-ink); font-size:14px; }

/* =========================================================
   PAINEL DO AGRO — cotações + clima como faixa central (não lateral)
   ========================================================= */
.stats-panel{
  display:grid;
  grid-template-columns: repeat(5, 1fr);
  gap: 1px;
  background: var(--color-border);
  border: 1px solid var(--color-border);
  border-radius: var(--radius-md);
  overflow:hidden;
  margin-bottom: 52px;
}
.stat-card{
  background: var(--color-surface);
  padding: 18px 20px;
}
.stat-card__label{
  font-family: var(--font-mono);
  font-size: 10.5px;
  font-weight:700;
  letter-spacing:.1em;
  text-transform:uppercase;
  color: var(--color-muted);
  margin-bottom: 10px;
}
.stat-card__value{
  font-family: var(--font-display);
  font-size: 22px;
  font-weight:700;
  color: var(--color-primary);
  line-height:1.1;
}
.stat-card__delta{
  font-family: var(--font-mono);
  font-size: 12px;
  font-weight:600;
  color: var(--color-accent-dark);
  margin-top: 8px;
}
.stat-card__delta.down{ color:#c05a4b; }
.stat-card--weather{
  background: var(--color-primary);
  display:flex;
  align-items:center;
  justify-content:space-between;
}
.stat-card--weather .stat-card__label{ color: #93a89f; }
.stat-card--weather .stat-card__value{ color:#fff; font-size:30px; }
.stat-card--weather .stat-loc{ font-size:11.5px; color:#a9bdb3; margin-top:2px; }

/* =========================================================
   MAIS LIDAS — faixa horizontal central (não lateral)
   ========================================================= */
.rank-band{
  display:grid;
  grid-template-columns: repeat(3, 1fr);
  gap: var(--gap);
  margin-bottom: 52px;
}
.rank-card{
  display:flex;
  gap: 14px;
  align-items:flex-start;
  background: var(--color-surface);
  border: 1px solid var(--color-border);
  border-radius: var(--radius-md);
  padding: 16px 18px;
  transition: border-color .2s var(--ease), transform .2s var(--ease);
}
.rank-card:hover{ border-color: var(--color-accent); transform: translateY(-2px); }
.rank-card .num{
  font-family: var(--font-display);
  font-weight:700;
  font-size: 24px;
  color: var(--color-border-strong);
  line-height:1;
  flex-shrink:0;
}
.rank-card a{ font-size: 14px; font-weight:600; line-height:1.4; color: var(--color-ink); }
.rank-card a:hover{ color: var(--color-accent-dark); }

/* =========================================================
   SEÇÃO — cabeçalho de seção (rótulo escuro + descrição)
   ========================================================= */
.section{ margin-bottom: 52px; }
.section-head{
  display:grid;
  grid-template-columns: 260px minmax(0,1fr);
  gap: 32px;
  align-items:center;
  padding-bottom: 20px;
  margin-bottom: 24px;
  border-bottom: 1px solid var(--color-border-strong);
}
.section-tag{
  display:inline-flex;
  align-self:center;
  align-items:center;
  gap:14px;
  color: var(--color-primary);
  font-family: var(--font-heading);
  font-weight:700;
  font-size: 20px;
  letter-spacing:.01em;
  text-transform:uppercase;
  line-height:1.15;
}
.section-tag::before{
  content:"";
  width:5px;
  height:24px;
  border-radius:3px;
  background: var(--color-accent);
  display:inline-block;
  flex-shrink:0;
}
.section-desc{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap: 32px;
  font-size: 14px;
  color: var(--color-ink-soft);
}
.section-desc p{ margin-bottom: 0; max-width: 620px; }
.section-more{
  margin-top:0;
  flex-shrink:0;
  white-space:nowrap;
  gap:14px;
  padding:0;
  border:0;
  border-radius:0;
  background:transparent;
  font-family: var(--font-heading);
  font-size: 15px;
  font-weight: 600;
  letter-spacing: 0;
  text-transform: none;
  color: var(--color-primary);
}
.section-more__arrow{
  width: 40px;
  height: 40px;
  padding: 11px;
  border-radius: 50%;
  background: var(--color-primary);
  color: #fff;
  transition: transform .28s var(--ease), background .25s var(--ease), color .25s var(--ease), box-shadow .28s var(--ease);
}
.section-more:hover{ background:transparent; color: var(--color-accent-dark); }
.section-more:hover .section-more__arrow{
  background: var(--color-accent);
  color: var(--color-primary);
  transform: translateX(5px);
  box-shadow: 0 10px 22px -8px rgba(111,173,111,.65);
}
.section-title-simple{
  display:inline-flex;
  align-items:center;
  gap:12px;
  font-family: var(--font-heading);
  font-weight:700;
  font-size: 19px;
  letter-spacing:.02em;
  text-transform:uppercase;
  color: var(--color-primary);
  background:none;
  padding: 0;
  margin-bottom: 22px;
}
.section-title-simple::before{
  content:"";
  width:5px;
  height:26px;
  border-radius:3px;
  background: var(--color-accent);
  display:inline-block;
  flex-shrink:0;
}

/* =========================================================
   DESTAQUE PRINCIPAL DA HOME
   ========================================================= */
.hero-grid{
  display:grid;
  grid-template-columns: 1.6fr 1fr;
  gap: var(--gap);
  margin-bottom: 48px;
}
/* --- Carrossel do destaque principal (3 slides) --- */
.hero-carousel{
  position:relative;
  isolation:isolate;
  border-radius: var(--radius-md);
  overflow:hidden;
  background: var(--color-primary);
  color:#fff;
  min-height: 460px;
}
.hero-carousel__viewport{
  position:absolute; inset:0;
  overflow:hidden;
}
.hero-carousel__track{
  display:flex;
  height:100%;
  transition: transform .5s var(--ease);
  will-change: transform;
}
.hero-slide{
  position:relative;
  flex: 0 0 100%;
  display:flex;
  align-items:flex-end;
  color:#fff;
  overflow:hidden;
}
.hero-slide img{
  position:absolute; inset:0;
  width:100%; height:100%;
  object-fit:cover;
  transition: transform .6s var(--ease);
}
.hero-slide:hover img{ transform: scale(1.04); }
.hero-slide::before{
  content:"";
  position:absolute; inset:0;
  background: linear-gradient(0deg, rgba(13,26,25,.92) 0%, rgba(13,26,25,.55) 45%, rgba(13,26,25,.1) 75%);
  z-index:1;
}
.hero-slide__body{ position:relative; z-index:2; width:100%; padding: 34px 60px 30px; margin-top:auto; }
.hero-slide .eyebrow{ color: var(--color-accent); }
.hero-slide h1{
  color:#fff;
  font-size: clamp(24px, 2.7vw, 34px);
  line-height:1.15;
  margin-block: 12px 12px;
  max-width: none;
}
.hero-slide p{ color:#d7e3dd; font-size:15px; max-width: none; margin-bottom:0; }

.hero-carousel__nav{
  position:absolute; top:50%; transform:translateY(-50%); z-index:3;
  width:40px; height:40px;
  display:flex; align-items:center; justify-content:center;
  border:1px solid rgba(255,255,255,.35);
  border-radius:50%;
  background: rgba(13,26,25,.42);
  backdrop-filter: blur(4px);
  color:#fff;
  transition: background .2s var(--ease), border-color .2s var(--ease);
}
.hero-carousel__nav:hover{ background: rgba(13,26,25,.72); border-color: rgba(255,255,255,.7); }
.hero-carousel__nav svg{ width:20px; height:20px; }
.hero-carousel__nav--prev{ left:16px; }
.hero-carousel__nav--next{ right:16px; }

.hero-carousel__dots{
  position:absolute; right:34px; bottom:24px; z-index:3;
  display:flex; gap:8px;
}
.hero-carousel__dot{
  width:8px; height:8px; padding:0;
  border:0; border-radius:99px;
  background: rgba(255,255,255,.4);
  transition: background .2s var(--ease), width .2s var(--ease);
}
.hero-carousel__dot:hover{ background: rgba(255,255,255,.7); }
.hero-carousel__dot.is-active{ width:22px; background:#fff; }

.meta{
  display:flex;
  align-items:center;
  gap: 14px;
  font-family: var(--font-mono);
  font-size: 12px;
  color: var(--color-muted);
}
.meta .dot{ width:3px; height:3px; border-radius:50%; background:currentColor; }

.hero-side{ display:flex; flex-direction:column; justify-content:space-between; gap:0; }
.side-card{
  display:flex; gap:14px;
  padding-block:16px;
  border-bottom:1px solid var(--color-border);
}
.side-card:first-child{ padding-top:0; }
.side-card:last-child{ border-bottom:0; padding-bottom:0; }
.side-card__img{
  width: 112px; height:84px; flex-shrink:0;
  border-radius: var(--radius-sm);
  overflow:hidden;
  background: var(--color-border);
}
.side-card__img img{ width:100%; height:100%; object-fit:cover; transition: transform .5s var(--ease); }
.side-card:hover .side-card__img img{ transform: scale(1.08); }
.side-card__body h3{
  font-size: 15px;
  line-height:1.3;
  margin-block: 4px 8px;
  display:-webkit-box; -webkit-line-clamp:3; -webkit-box-orient:vertical; overflow:hidden;
}
.side-card__body h3 a:hover{ color: var(--color-accent-dark); }

/* =========================================================
   CARD DE NOTÍCIA — padrão reutilizável
   ========================================================= */
.grid{
  display:grid;
  gap: var(--gap);
}
.grid-3{ grid-template-columns: repeat(3, 1fr); }
.grid-4{ grid-template-columns: repeat(4, 1fr); }
.grid-2{ grid-template-columns: repeat(2, 1fr); }

.card{
  background: var(--color-surface);
  border-radius: var(--radius-md);
  overflow:hidden;
  transition: transform .25s var(--ease);
}
.card:hover{ transform: translateY(-4px); }
.card__img{
  display:block;
  aspect-ratio: 4/2.7;
  overflow:hidden;
  background: var(--color-border);
  position:relative;
}
.card__img img{ width:100%; height:100%; object-fit:cover; transition: transform .5s var(--ease); }
.card:hover .card__img img{ transform: scale(1.06); }
.card__tag{
  position:absolute; left:12px; top:12px;
  background: var(--color-accent);
  color:#0d1a19;
  font-family: var(--font-mono);
  font-size: 10.5px;
  font-weight:700;
  letter-spacing:.08em;
  text-transform:uppercase;
  padding: 5px 10px;
  border-radius: 3px;
}
.card__body{ padding: 16px 4px 4px; }
.card__body h3{ font-size: 16.5px; line-height:1.32; margin-bottom:10px; }
.card__body h3 a:hover{ color: var(--color-accent-dark); }
.card__excerpt{
  font-size: 13.5px;
  color: var(--color-ink-soft);
  line-height:1.55;
  margin-bottom:10px;
}

/* linha de destaque (imagem grande + texto ao lado) usada em Mercado/Pecuária */
.feature-row{
  display:grid;
  grid-template-columns: 1.1fr 1fr 1fr;
  gap: var(--gap);
}
.feature-row .card--lead{ display:grid; grid-template-columns: 220px 1fr; gap:20px; align-items:center; }
.feature-row .card--lead .card__img{ aspect-ratio:4/3.1; border-radius: var(--radius-md); }
.feature-row .card--lead .card__body{ padding:0; }
.feature-row .card--lead h3{ font-size: 19px; }
.feature-row .card--lead .card__excerpt{ -webkit-line-clamp:4; }

.card__excerpt, .card--lead .card__excerpt{
  display:-webkit-box;
  -webkit-line-clamp: 3;
  -webkit-box-orient: vertical;
  overflow:hidden;
}

/* MERCADO — destaque + anúncio no topo, grade de 4 cards só com título */
.mercado-top{
  display:grid;
  grid-template-columns: minmax(0,1fr) 300px;
  gap: var(--gap);
  align-items:start;
  margin-bottom: var(--gap);
}
.mercado-top .card--lead{
  display:grid;
  grid-template-columns: 500px 1fr;
  gap: 32px;
  align-items:start;
}
.mercado-top .card--lead .card__img{ aspect-ratio: 3/2; border-radius: var(--radius-md); }
.mercado-top .card--lead .card__body{ padding:0; }
.mercado-top .card--lead h3{ font-size: 24px; line-height:1.2; margin-bottom: 14px; }
.mercado-top .card--lead .card__excerpt{ font-size: 15.5px; line-height:1.6; }
.mercado-ad{ max-width:300px; margin-inline:auto; }
.mercado-top .card, .mercado-grid .card{ background:none; }
.mercado-top .card:hover, .mercado-grid .card:hover{ transform:none; }
.mercado-grid .card__img{ aspect-ratio: 4/2.9; }
.mercado-grid .card__tag{ top:auto; left:0; bottom:0; border-radius:0; }
.mercado-grid .card__body{ padding: 14px 2px 2px; }
.mercado-grid .card__body h3{ margin-bottom: 0; }

/* =========================================================
   COOPERATIVISMO — cards editoriais com imagem em overlay
   ========================================================= */
.coop-grid{ gap: 24px; }
.coop-card{
  position:relative;
  isolation:isolate;
  display:block;
  min-height: 460px;
  overflow:hidden;
  color:#fff;
  background: var(--color-primary);
  transition: transform .3s var(--ease), box-shadow .3s var(--ease);
}
.coop-card img{
  position:absolute; inset:0;
  width:100%; height:100%;
  object-fit:cover;
  z-index:1;
  transition: transform .6s var(--ease);
}
.coop-card::after{
  content:"";
  position:absolute; inset:0;
  z-index:2;
  background: linear-gradient(0deg,
    rgba(9,18,16,.95) 0%,
    rgba(9,18,16,.72) 30%,
    rgba(9,18,16,.18) 62%,
    rgba(9,18,16,.02) 100%);
  transition: opacity .35s var(--ease);
}
.coop-card:hover{ transform: translateY(-6px); box-shadow: 0 26px 44px -20px rgba(9,18,16,.6); }
.coop-card:hover img{ transform: scale(1.06); }

.coop-card__content{
  position:absolute; left:0; right:0; bottom:0;
  z-index:3;
  padding: 28px 24px 26px;
  display:flex; flex-direction:column;
  align-items:flex-start;
  gap: 12px;
}
.coop-card__kicker{
  font-family: var(--font-mono);
  font-size: 10.5px;
  font-weight:700;
  letter-spacing:.16em;
  text-transform:uppercase;
  color: var(--color-accent);
  padding-bottom: 9px;
  border-bottom: 2px solid var(--color-accent);
  transition: border-color .3s var(--ease);
}
.coop-card h3{
  color:#fff;
  font-family: var(--font-heading);
  font-size: 19px;
  font-weight:600;
  line-height:1.3;
  letter-spacing:-.005em;
}
.coop-card p{
  font-size: 13.5px;
  line-height:1.6;
  color: rgba(255,255,255,.8);
  margin:0;
  max-height:0;
  opacity:0;
  overflow:hidden;
  transition: max-height .45s var(--ease), opacity .3s var(--ease);
}
.coop-card__more{
  display:inline-flex; align-items:center; gap:8px;
  font-family: var(--font-heading);
  font-size: 12.5px;
  font-weight:600;
  color: var(--color-accent);
  max-height:0;
  opacity:0;
  overflow:hidden;
  transition: max-height .45s var(--ease), opacity .3s var(--ease);
}
.coop-card__more svg{ width:15px; height:15px; transition: transform .25s var(--ease); }
.coop-card:hover p{ max-height: 140px; opacity:1; }
.coop-card:hover .coop-card__more{ max-height: 34px; opacity:1; }
.coop-card:hover .coop-card__more svg{ transform: translateX(4px); }

@media (hover: none){
  .coop-card p, .coop-card__more{ max-height: none; opacity:1; }
}

/* =========================================================
   TURISMO RURAL — foto com painel branco elevado (offset)
   ========================================================= */
.turismo-grid{ gap: 30px; }
.turismo-card{ display:block; }
.turismo-card__media{
  display:block; overflow:hidden;
  aspect-ratio: 4/3;
  background: var(--color-border);
}
.turismo-card__media img{
  width:100%; height:100%; object-fit:cover;
  transition: transform .6s var(--ease);
}
.turismo-card:hover .turismo-card__media img{ transform: scale(1.05); }
.turismo-card__panel{
  display:block; position:relative;
  margin: -46px 16px 0;
  padding: 22px 22px 24px;
  background: var(--color-surface);
  box-shadow: none;
  transition: transform .3s var(--ease);
}
.turismo-card:hover .turismo-card__panel{
  transform: translateY(-10px);
  box-shadow: none;
}
.turismo-card__kicker{
  display:inline-block;
  font-family: var(--font-mono);
  font-size: 10px; font-weight:700;
  letter-spacing:.18em; text-transform:uppercase;
  color: var(--color-accent-dark);
  margin-bottom: 10px;
}
.turismo-card h3{
  font-family: var(--font-heading);
  font-size: 17.5px; font-weight:600; line-height:1.3;
  color: var(--color-primary);
  margin-bottom: 9px;
}
.turismo-card p{
  font-size: 13px; line-height:1.58; color: var(--color-ink-soft);
  margin-bottom: 15px;
  display:-webkit-box; -webkit-line-clamp:3; -webkit-box-orient:vertical; overflow:hidden;
}
.turismo-card__link{
  display:inline-flex; align-items:center; gap:7px;
  font-family: var(--font-heading); font-size: 12px; font-weight:600;
  color: var(--color-accent-dark);
}
.turismo-card__link svg{ width:14px; height:14px; transition: transform .25s var(--ease); }
.turismo-card:hover .turismo-card__link svg{ transform: translateX(4px); }

/* =========================================================
   PECUÁRIA & AGRICULTURA — faixa letterbox + texto tipo newswire
   ========================================================= */
.pec-grid{ gap: 24px; }
.pec-card{
  display:block;
  border-top: 2px solid var(--color-primary);
  padding-top: 14px;
  transition: border-color .25s var(--ease);
}
.pec-card:hover{ border-color: var(--color-accent); }
.pec-card__strip{
  display:block; overflow:hidden;
  aspect-ratio: 16/7;
  background: var(--color-border);
  margin-bottom: 14px;
}
.pec-card__strip img{
  width:100%; height:100%; object-fit:cover;
  transition: transform .6s var(--ease);
}
.pec-card:hover .pec-card__strip img{ transform: scale(1.06); }
.pec-card__cat{
  display:block;
  font-family: var(--font-mono);
  font-size: 10px; font-weight:700; letter-spacing:.16em; text-transform:uppercase;
  color: var(--color-accent-dark);
  margin-bottom: 7px;
}
.pec-card h3{
  font-family: var(--font-heading);
  font-size: 15px; font-weight:600; line-height:1.32;
  color: var(--color-primary);
  margin-bottom: 0;
  transition: color .2s var(--ease);
}
.pec-card:hover h3{ color: var(--color-accent-dark); }

/* =========================================================
   EVENTOS — agenda: bloco de data + linha do tempo
   ========================================================= */
.agenda{ grid-template-columns: 1.4fr 1fr; }
.agenda-feature{
  position:relative; display:block; overflow:hidden;
  min-height: 360px;
  background: var(--color-primary); color:#fff;
}
.agenda-feature__media{ position:absolute; inset:0; z-index:1; display:block; }
.agenda-feature__media img{
  width:100%; height:100%; object-fit:cover; opacity:1;
  transition: transform .6s var(--ease), opacity .3s var(--ease);
}
.agenda-feature:hover .agenda-feature__media img{ transform: scale(1.05); }
.agenda-feature::before{
  content:""; position:absolute; inset:0; z-index:2;
  /* degradê só na parte de baixo, atrás do título */
  background: linear-gradient(to top, rgba(16,30,28,.92) 0%, rgba(16,30,28,.7) 28%, rgba(16,30,28,.25) 50%, transparent 65%);
}
.agenda-feature__date{
  position:absolute; top:0; left:24px; z-index:3;
  display:flex; flex-direction:column; align-items:center;
  background: var(--color-accent); color: var(--color-primary);
  padding: 12px 18px 10px; line-height:1;
}
.agenda-feature__date b{ font-family: var(--font-heading); font-size: 32px; font-weight:700; }
.agenda-feature__date span{ font-family: var(--font-mono); font-size: 11px; letter-spacing:.16em; text-transform:uppercase; margin-top:5px; }
.agenda-feature__body{ position:absolute; left:0; right:0; bottom:0; z-index:3; padding: 26px; }
.agenda-feature__body .eyebrow{ color: var(--color-accent); margin-bottom: 8px; }
.agenda-feature__body h3{ color:#fff; font-family: var(--font-heading); font-size: 22px; font-weight:600; margin-bottom: 10px; }
.agenda-feature__loc{ display:flex; align-items:center; gap:8px; font-family: var(--font-mono); font-size: 12.5px; color:#cddcd4; }
.agenda-feature__loc svg{ width:14px; height:14px; flex-shrink:0; }

.agenda-list{
  display:flex; flex-direction:column;
  padding-left: 2px;
  border-left: 2px solid var(--color-border-strong);
}
.agenda-item{ position:relative; }
.agenda-item + .agenda-item{ border-top: 1px solid var(--color-border); }
.agenda-item::before{
  content:""; position:absolute; left:-8px; top:24px; z-index:1;
  width:12px; height:12px; border-radius:50%;
  background: var(--color-surface); border: 2px solid var(--color-accent-dark);
  transition: background .2s var(--ease);
}
.agenda-item:hover::before{ background: var(--color-accent); }
.agenda-item a{
  display:flex; gap:18px; align-items:flex-start;
  padding: 18px 0 18px 22px;
  transition: padding-left .2s var(--ease);
}
.agenda-item:hover a{ padding-left: 28px; }
.agenda-item__date{
  flex-shrink:0; display:flex; flex-direction:column; align-items:center;
  min-width: 40px; line-height:1; color: var(--color-primary);
}
.agenda-item__date b{ font-family: var(--font-heading); font-size: 20px; font-weight:700; }
.agenda-item__date span{ font-family: var(--font-mono); font-size: 10px; letter-spacing:.12em; text-transform:uppercase; color: var(--color-muted); margin-top:3px; }
.agenda-item__body h4{ font-size: 14.5px; line-height:1.32; font-weight:700; color: var(--color-ink); margin-bottom: 4px; }
.agenda-item:hover .agenda-item__body h4{ color: var(--color-accent-dark); }
.agenda-item__loc{ font-size: 12px; color: var(--color-muted); }

/* =========================================================
   RECENTES — pilha de manchetes (capa de jornal, sem miniaturas)
   ========================================================= */
.recents-feed{
  display:grid;
  grid-template-columns: 1fr 1fr 300px;
  gap: 44px;
}
.feed-col{ display:flex; flex-direction:column; }
.feed-item{ border-top: 1px solid var(--color-border-strong); }
.feed-item:first-child{ border-top:0; }
.feed-item a{
  display:block; position:relative;
  padding: 16px 0;
  transition: padding-left .22s var(--ease);
}
.feed-item a::before{
  content:""; position:absolute; left:0; top:12px; bottom:12px;
  width:3px; background: var(--color-accent);
  transform: scaleY(0); transform-origin: top;
  transition: transform .25s var(--ease);
}
.feed-item a:hover{ padding-left: 16px; }
.feed-item a:hover::before{ transform: scaleY(1); }
.feed-item__tag{
  display:inline-block;
  font-family: var(--font-mono); font-size: 10px; font-weight:700;
  letter-spacing:.16em; text-transform:uppercase;
  color: var(--color-accent-dark);
  margin-bottom: 8px;
}
.feed-item h4{
  font-family: var(--font-heading);
  font-size: 16px; font-weight:600; line-height:1.35;
  color: var(--color-primary);
  transition: color .2s var(--ease);
}
.feed-item:first-child h4{ font-size: 19px; }
.feed-item a:hover h4{ color: var(--color-accent-dark); }

/* seção "recentes" tipo lista dupla + banner */
.recents{
  display:grid;
  grid-template-columns: 1fr 1fr 300px;
  gap: 36px;
}
.recents-col{ display:flex; flex-direction:column; }
.recent-item{
  display:flex;
  gap:14px;
  padding: 14px 0;
  border-bottom:1px solid var(--color-border);
}
.recent-item:first-child{ padding-top:0; }
.recents-col:last-of-type .recent-item:last-child{ border-bottom:none; }
.recent-item__img{
  width:78px; height:78px; flex-shrink:0;
  border-radius: var(--radius-sm);
  overflow:hidden;
  background: var(--color-border);
}
.recent-item__img img{ width:100%; height:100%; object-fit:cover; }
.recent-item h4{ font-size:14px; line-height:1.35; font-family:var(--font-body); font-weight:600; color:var(--color-ink); }
.recent-item h4 a:hover{ color: var(--color-accent-dark); }
.recents-ad{
  display:block;
  border-radius: var(--radius-md);
  overflow:hidden;
  position:relative;
}
.recents-ad img{ width:100%; height:100%; object-fit:cover; aspect-ratio:1/1.55; }
.recents-ad__badge{
  position:absolute; top:10px; left:10px;
  background: rgba(13,26,25,.75);
  color:#fff;
  font-family: var(--font-mono);
  font-size:9.5px;
  letter-spacing:.1em;
  padding:4px 8px;
  border-radius:3px;
}

/* Opinião — colunistas */
.pundit-card{
  background: var(--color-surface);
  border: 1px solid var(--color-border);
  border-radius: var(--radius-md);
  padding: 24px;
  transition: border-color .2s var(--ease), transform .2s var(--ease);
}
.pundit-card:hover{ border-color: var(--color-accent); transform: translateY(-3px); }
.pundit-card__top{ display:flex; align-items:center; gap:14px; margin-bottom: 16px; }
.pundit-card__avatar{
  width:60px; height:60px; flex-shrink:0;
  border-radius:50%;
  overflow:hidden;
  border: 3px solid var(--color-accent-light);
}
.pundit-card__avatar img{ width:100%; height:100%; object-fit:cover; }
.pundit-card__byline{ min-width:0; }
.pundit-card__name{ font-size:15px; font-weight:700; color: var(--color-ink); line-height:1.3; }
.pundit-card__role{
  font-family: var(--font-mono);
  font-size: 11px;
  letter-spacing: normal;
  color: var(--color-accent-dark);
  margin-top:2px;
}
.pundit-card__quote{
  font-family: var(--font-display);
  font-size: 34px;
  line-height:.5;
  color: var(--color-border-strong);
  display:block;
  margin-bottom:6px;
}
.pundit-card h3{ font-size:16.5px; line-height:1.32; margin-bottom:8px; }
.pundit-card p{ font-size:13.5px; color:var(--color-ink-soft); line-height:1.55; }

.opinion-cta{ display:flex; justify-content:center; margin-top:28px; }
.opinion-cta .btn{ padding:14px 30px; font-size:13.5px; }
.opinion-cta .btn svg{ width:15px; height:15px; }

/* Eventos — 1 destaque grande + 2/3 eventos pequenos */
.events-grid{
  display:grid;
  grid-template-columns: 1.5fr 1fr;
  gap: var(--gap);
  align-items:stretch;
}
.event-feature{
  position:relative;
  display:block;
  border-radius: var(--radius-md);
  overflow:hidden;
  min-height: 340px;
  background: var(--color-primary);
}
.event-feature img{
  position:absolute; inset:0;
  width:100%; height:100%;
  object-fit:cover;
  transition: transform .6s var(--ease);
}
.event-feature:hover img{ transform: scale(1.05); }
.event-feature::before{
  content:"";
  position:absolute; inset:0;
  background: linear-gradient(0deg, rgba(13,26,25,.92) 0%, rgba(13,26,25,.5) 45%, rgba(13,26,25,.05) 75%);
  z-index:1;
}
.event-feature__badge{
  position:absolute; top:16px; left:16px; z-index:2;
  background: var(--color-accent);
  color: #0d1a19;
  font-family: var(--font-mono);
  font-size: 11px;
  font-weight:700;
  letter-spacing:.06em;
  padding: 6px 12px;
  border-radius: 999px;
}
.event-feature__body{ position:relative; z-index:2; padding: 24px; }
.event-feature__body .eyebrow{ color: var(--color-accent); margin-bottom:8px; }
.event-feature__body h3{ color:#fff; font-size: 24px; margin-bottom:10px; }
.event-feature__body .meta-block{
  display:flex; align-items:center; gap:7px;
  font-family: var(--font-mono); font-size:12.5px; color:#cddcd4;
}
.event-feature__body .meta-block svg{ width:14px; height:14px; flex-shrink:0; }

.event-mini-list{ display:flex; flex-direction:column; gap: 14px; height:100%; }
.event-mini{
  display:flex; gap:14px; align-items:center;
  background: var(--color-surface);
  border: 1px solid var(--color-border);
  border-radius: var(--radius-md);
  padding: 12px;
  flex:1;
  transition: border-color .2s var(--ease), transform .2s var(--ease);
}
.event-mini:hover{ border-color: var(--color-accent); transform: translateY(-2px); }
.event-mini__img{ width:64px; height:64px; flex-shrink:0; border-radius: var(--radius-sm); overflow:hidden; background: var(--color-border); }
.event-mini__img img{ width:100%; height:100%; object-fit:cover; }
.event-mini__body{ min-width:0; }
.event-mini__date{
  display:block;
  font-family: var(--font-mono); font-size:10.5px; font-weight:700;
  letter-spacing:.06em; color: var(--color-accent-dark); margin-bottom:4px;
}
.event-mini__body h4{ font-size:13.5px; line-height:1.32; font-weight:700; color: var(--color-ink); }
.event-mini:hover .event-mini__body h4{ color: var(--color-accent-dark); }
.event-mini__loc{ display:block; font-size:12px; color: var(--color-muted); margin-top:4px; }

/* Instagram */
.insta-head{
  display:flex; align-items:center; gap:14px;
  margin-bottom:22px;
}
.insta-head img{ width:52px; height:52px; border-radius:50%; border:2px solid var(--color-accent); object-fit:cover; }
.insta-head strong{ display:block; font-size:15px; }
.insta-head span{ font-size:13px; color:var(--color-muted); }
.insta-grid{ display:grid; grid-template-columns: repeat(5,1fr); gap:14px; }
.insta-tile{
  display:block;
  position:relative;
  aspect-ratio:1/1;
  border-radius: var(--radius-sm);
  overflow:hidden;
  background: var(--color-primary);
}
.insta-tile img{ width:100%; height:100%; object-fit:cover; opacity:.72; transition: opacity .25s var(--ease); }
.insta-tile:hover img{ opacity:.5; }
.insta-tile__label{
  position:absolute; left:0; right:0; bottom:0; top:0;
  display:flex; flex-direction:column; justify-content:flex-end;
  padding:14px;
  color:#fff;
}
.insta-tile__tag{
  font-family: var(--font-mono);
  font-size:9.5px;
  letter-spacing:.1em;
  color: var(--color-accent);
  margin-bottom:6px;
}
.insta-tile__label p{ font-size:12.5px; line-height:1.35; font-weight:600; }
.insta-cta{ display:flex; gap:12px; justify-content:center; margin-top:22px; }

/* =========================================================
   FOOTER
   ========================================================= */
.site-footer{
  position:relative;
  background: #0e1c1b;
  color:#93a89f;
  margin-top: 44px;
  overflow:hidden;
}
.site-footer::before{
  content:"";
  position:absolute; top:0; left:0; right:0; height:2px;
  background: linear-gradient(90deg,
    var(--color-accent) 0, var(--color-accent) 20%,
    rgba(255,255,255,.06) 20%, rgba(255,255,255,.06) 100%);
}

/* faixa superior — marca + manifesto + voltar ao topo */
.footer-head{
  display:flex; align-items:center; flex-wrap:wrap; justify-content:space-between;
  gap: 18px 40px;
  padding-block: 40px;
  border-bottom: 1px solid rgba(255,255,255,.08);
}
.footer-brand{
  display:flex; align-items:center;
  flex: 0 1 380px;
  min-width: 200px;
}
.footer-brand__img{
  width:100%; height:auto; max-width:none;
  display:block; object-fit:contain;
}
.footer-tagline{
  flex:0 1 520px; min-width: 240px;
  font-size: 13px; line-height:1.6; color:#ffffff;
  max-width: 520px;
}
.footer-back{
  display:inline-flex; align-items:center; gap:12px;
  font-family: var(--font-heading);
  font-size: 13px; font-weight:600; color:#ffffff;
  flex-shrink:0;
  transition: color .2s var(--ease);
}
.footer-back__icon{
  display:grid; place-items:center;
  width: 40px; height:40px;
  border: 1px solid rgba(255,255,255,.16);
  border-radius:50%;
  transition: background .25s var(--ease), border-color .25s var(--ease), color .25s var(--ease), transform .25s var(--ease);
}
.footer-back__icon svg{ width:16px; height:16px; }
.footer-back:hover{ color:#fff; }
.footer-back:hover .footer-back__icon{
  background: var(--color-accent); border-color: var(--color-accent);
  color: var(--color-primary); transform: translateY(-3px);
}

/* colunas de links */
.footer-cols{
  display:grid;
  grid-template-columns: 1.6fr 1fr 1fr 1.3fr;
  gap: 44px;
  padding-block: 48px 4px;
}
.footer-col--about > p{
  font-size: 13.5px; line-height:1.7; color:#ffffff;
  max-width: 320px;
  margin-bottom: 20px;
}
.footer-col h4{
  color:#fff; font-family: var(--font-mono);
  font-size: 11px; font-weight:700;
  letter-spacing: normal; text-transform:uppercase;
  margin-bottom: 18px; padding-bottom: 10px;
  position:relative;
}
.footer-col h4::after{
  content:""; position:absolute; left:0; bottom:0;
  width: 22px; height:2px; background: var(--color-accent);
}
.footer-col ul li{ margin-bottom: 12px; }
.footer-col ul a{
  display:inline-block;
  font-size: 13.5px; color:#ffffff;
  transition: color .2s var(--ease), transform .2s var(--ease);
}
.footer-col ul a:hover{ color: var(--color-accent); transform: translateX(4px); }

.footer-contact{ display:flex; flex-direction:column; gap: 12px; margin-bottom: 22px; }
.footer-contact a{
  display:flex; align-items:center; gap:10px;
  font-size: 13.5px; color:#ffffff;
  transition: color .2s var(--ease);
}
.footer-contact a:hover{ color: var(--color-accent); }
.footer-contact svg{ width:16px; height:16px; color: var(--color-accent); flex-shrink:0; }

.footer-social{ display:flex; gap:10px; align-items:center; }
.footer-social a{
  width:38px; height:38px; border-radius:50%;
  display:grid; place-items:center;
  transition: filter .2s var(--ease), transform .2s var(--ease);
}
.footer-social a:hover{ filter: brightness(1.1); transform: translateY(-3px); }
.footer-social svg{ width:17px; height:17px; display:block; }

.footer-cta{
  display:inline-flex; align-items:center; gap:9px;
  padding: 11px 18px;
  border: 1px solid rgba(255,255,255,.2);
  font-family: var(--font-heading);
  font-size: 12.5px; font-weight:600; color:#fff;
  transition: background .2s var(--ease), border-color .2s var(--ease), color .2s var(--ease);
}
.footer-cta svg{ width:15px; height:15px; transition: transform .25s var(--ease); }
.footer-cta:hover{ background: var(--color-accent); border-color: var(--color-accent); color: var(--color-primary); }
.footer-cta:hover svg{ transform: translateX(4px); }

.footer-bottom{
  border-top: 1px solid rgba(255,255,255,.08);
  padding-block: 20px;
}
.footer-bottom .container{
  display:flex; justify-content:space-between; align-items:center;
  font-size:12px; color:#5f7269; flex-wrap:wrap; gap:10px;
}
.footer-bottom__brand{ display:flex; align-items:center; gap:16px; flex-wrap:wrap; }
.footer-bottom__logo{
  height:30px; width:auto; display:block;
  filter: brightness(0) invert(1); opacity:.75; /* logo verde → branca sobre o fundo escuro */
}
.footer-bottom__links{ display:flex; align-items:center; gap:18px; }
.footer-bottom__links a{ color:#93a89f; transition: color .2s var(--ease); }
.footer-bottom__links a:hover{ color: var(--color-accent); }

/* =========================================================
   PÁGINA INTERNA DA NOTÍCIA
   ========================================================= */
.breadcrumb{
  display:flex; align-items:center; gap:8px; flex-wrap:wrap;
  font-family: var(--font-mono);
  font-size:12px;
  color: var(--color-muted);
  margin-bottom: 22px;
}
.breadcrumb a:hover{ color: var(--color-accent-dark); }
.breadcrumb .sep{ opacity:.5; }
.breadcrumb .current{ color: var(--color-ink-soft); min-width:0; max-width: min(64ch, 100%); overflow:hidden; text-overflow:ellipsis; white-space:nowrap; }

.article-head{ max-width: 820px; margin-bottom: 26px; }
.article-head .eyebrow{ margin-bottom:14px; }
.article-head h1{
  font-family: var(--font-body);
  font-weight: 800;
  font-size: clamp(26px, 3.2vw, 36px);
  line-height: 1.2;
  letter-spacing: -0.02em;
  color: var(--color-ink);
  margin-bottom: 16px;
}
.article-dek{
  font-family: var(--font-display);
  font-style:italic;
  font-size: 19px;
  color: var(--color-ink-soft);
  line-height:1.5;
  margin-bottom:18px;
}

/* linha de autor / data / hora + botão traduzir */
.article-byline{
  display:flex; align-items:center; justify-content:space-between; flex-wrap:wrap;
  gap: 14px;
  padding-block: 16px;
  border-top:1px solid var(--color-border);
  border-bottom:1px solid var(--color-border);
}
.byline-meta{
  display:flex; align-items:center; flex-wrap:wrap;
  gap: 20px;
  font-size: 13.5px;
  color: var(--color-ink-soft);
}
.byline-item{ display:flex; align-items:center; gap:7px; }
.byline-item svg{ width:15px; height:15px; color: var(--color-muted); flex-shrink:0; }
.byline-item strong{ color: var(--color-ink); font-weight:700; }
.btn-translate{
  display:inline-flex; align-items:center; gap:6px;
  padding: 8px 16px;
  border: 1px solid var(--color-border-strong);
  border-radius: 999px;
  background:#fff;
  font-family: var(--font-mono);
  font-size: 11.5px;
  font-weight:700;
  letter-spacing:.08em;
  text-transform:uppercase;
  color: var(--color-ink-soft);
  transition: all .2s var(--ease);
  flex-shrink:0;
}
.btn-translate:hover{ border-color: var(--color-accent); color: var(--color-accent-dark); background: var(--color-accent-light); }
.btn-translate svg{ width:14px; height:14px; }

/* foto + crédito emendado, estilo "cartão" */
.article-hero{ margin: 26px 0 0; border-radius: var(--radius-md) var(--radius-md) 0 0; overflow:hidden; }
.article-hero img{ width:100%; aspect-ratio:16/9; object-fit:cover; display:block; }
.article-credit{
  display:flex; align-items:center; gap:8px;
  border: 1px solid var(--color-border);
  border-top:none;
  border-radius: 0 0 var(--radius-md) var(--radius-md);
  background: var(--color-surface);
  border-left: 3px solid var(--color-accent-dark);
  padding: 11px 16px;
  font-family: var(--font-body);
  font-style: italic;
  font-size: 13px;
  color: var(--color-ink-soft);
  margin-bottom: 30px;
}
.article-credit svg{ width:14px; height:14px; color: var(--color-muted); flex-shrink:0; }

.article-body{
  max-width: 720px;
  font-size: 17px;
  line-height:1.85;
  color: var(--color-ink);
}
.article-body p{ margin-bottom: 22px; }
.article-body h2{
  font-size:22px; margin-block:36px 16px;
}
.article-body blockquote{
  margin: 32px 0;
  padding: 4px 0 4px 22px;
  border-left: 3px solid var(--color-accent);
  font-family: var(--font-display);
  font-style: italic;
  font-size: 21px;
  color: var(--color-primary);
  line-height:1.5;
}
.article-tags{
  display:flex; flex-wrap:wrap; gap:8px;
  margin-top: 34px;
}
.article-tags a{
  font-family: var(--font-mono);
  font-size:11.5px;
  padding: 7px 13px;
  border-radius: 999px;
  background: var(--color-accent-light);
  color: var(--color-accent-dark);
  font-weight:600;
}
.article-tags a:hover{ background: var(--color-accent); color:#0d1a19; }

.related{ margin-top: 56px; }
.related h2.section-title-simple{ margin-bottom:22px; }

/* =========================================================
   OUVIR (player de áudio) + COMPARTILHAR + MAIS NOTÍCIAS
   ========================================================= */
.post-tools{ margin-top: 40px; max-width: none; }

.listen-bar{
  display:flex; align-items:center; gap:12px;
  background: var(--color-surface);
  border: 1px solid var(--color-border);
  border-radius: 10px;
  padding: 6px 14px;
  margin-bottom: 36px;
}
.listen-label{
  font-family: var(--font-body); font-size:11px; font-weight:800;
  letter-spacing:.14em; text-transform:uppercase; color: var(--color-ink); flex-shrink:0;
}
.listen-play{
  width:26px; height:26px; border-radius:50%;
  background: var(--color-primary); color:#fff; border:none; cursor:pointer;
  display:grid; place-items:center; flex-shrink:0;
  transition: background .2s var(--ease), transform .15s var(--ease);
}
.listen-play:hover{ background: var(--color-primary-3); transform: scale(1.06); }
.listen-play svg{ width:10px; height:10px; margin-left:1px; }
.listen-track{ flex:1; min-width:0; display:flex; flex-direction:column; gap:3px; padding-top:1px; }
.listen-time{ font-family: var(--font-body); font-size:10.5px; font-weight:500; color: var(--color-ink); white-space:nowrap; font-variant-numeric: tabular-nums; }
.listen-progress{
  width:100%; height:3px; border-radius:2px;
  background: var(--color-border); position:relative; overflow:hidden;
}
.listen-progress__fill{ width:0%; height:100%; background: var(--color-accent); }
.listen-speed{
  border:1px solid var(--color-border); border-radius:6px;
  padding:3px 24px 3px 8px; font-size:11.5px; font-family:inherit; color:var(--color-ink-soft);
  background:#fff; flex-shrink:0; cursor:pointer;
}
.listen-volume{ display:flex; align-items:center; gap:8px; flex-shrink:0; }
.listen-volume svg{ width:13px; height:13px; color: var(--color-muted); }
.listen-volume input[type="range"]{ width:60px; accent-color: var(--color-ink); }

.share-block{ margin-bottom: 36px; padding-top: 28px; border-top: 1px solid var(--color-border); }
.share-label{
  display:block; font-family: var(--font-body); font-size:11px; font-weight:700;
  letter-spacing:.14em; text-transform:uppercase; color: var(--color-muted); margin-bottom:12px;
}
.share-buttons{ display:flex; flex-wrap:wrap; gap:10px; }
.share-btn{
  display:inline-flex; align-items:center; gap:8px;
  padding: 9px 14px; border-radius: 6px;
  border: 1px solid var(--color-border-strong);
  font-size: 13px; font-weight:500; color: var(--color-ink-soft);
  background:#fff;
  transition: background .15s var(--ease), border-color .15s var(--ease);
}
.share-btn:hover{ background: var(--color-bg); }
.share-btn svg{ width:15px; height:15px; flex-shrink:0; }
.share-btn--whatsapp{ border-color:#bdeccb; color:#25a55a; }
.share-btn--whatsapp svg{ color:#25D366; }
.share-btn--facebook{ border-color:#c7dbfb; color:#1877F2; }
.share-btn--twitter{ border-color:#9ca3af; color:#111; }
.share-btn--telegram{ border-color:#bfe6f8; color:#1d93d2; }
.share-btn--telegram svg{ color:#29A9EA; }
.share-btn--copy{ border-color: var(--color-border-strong); color: var(--color-ink-soft); }

.more-news{ margin-top: 40px; max-width: none; }
.more-news--ranked{ margin-top: 32px; padding-top: 8px; border-top: 1px solid var(--color-border); }
.rank-columns{
  display:grid;
  grid-template-columns: 1fr 1fr;
  gap: 0 48px;
}
.rank-columns .rank-list li:first-child{ padding-top:0; }
.more-news__head{
  display:flex; align-items:center; justify-content:space-between; gap:14px;
  margin-bottom: 18px;
}
.more-news__head h2{
  display:flex; align-items:center; gap:10px;
  font-family: var(--font-body); font-weight:800; font-size:17px;
  letter-spacing:.01em; text-transform:uppercase; color: var(--color-ink);
}
.more-news__head h2 .bar{ width:4px; height:20px; border-radius:2px; background: var(--color-accent-dark); display:inline-block; }
.more-news__all{ font-size:13.5px; font-weight:700; color: var(--color-accent-dark); white-space:nowrap; }
.more-news__all:hover{ color: var(--color-primary); }
.more-news-item{ display:flex; align-items:stretch; gap:16px; padding:12px 0; border-bottom:1px solid var(--color-border); }
.more-news-item:first-child{ padding-top:0; }
.more-news-item:last-child{ border-bottom:none; }
.more-news-item__img{ position:relative; width:130px; min-height:78px; align-self:stretch; flex-shrink:0; border-radius: var(--radius-sm); overflow:hidden; background: var(--color-border); }
.more-news-item__img img{ position:absolute; inset:0; width:100%; height:100%; object-fit:cover; display:block; transition:transform .4s var(--ease); }
.more-news-item:hover .more-news-item__img img{ transform:scale(1.05); }
.more-news-item__body{ min-width:0; flex:1; }
.more-news-item__body h4{ font-family: var(--font-heading); font-size:14.5px; line-height:1.35; font-weight:600; color: var(--color-ink); margin:-2px 0 4px; transition:color .2s var(--ease); }
.more-news-item:hover .more-news-item__body h4{ color: var(--color-accent-dark); }
.more-news-item__body p{
  font-size:12.5px; line-height:1.5; font-weight:400; color: var(--color-ink); margin:0 0 5px;
  display:-webkit-box; -webkit-line-clamp:1; -webkit-box-orient:vertical; overflow:hidden;
}
.more-news-item__body .date{ display:block; font-family: var(--font-mono); font-size:11px; line-height:1; color: var(--color-muted); }

/* =========================================================
   FOTOS — sem cantos arredondados
   ========================================================= */
.hero-carousel,
.card,
.card__img,
.feature-row .card--lead .card__img,
.mercado-top .card--lead .card__img,
.side-card__img,
.recent-item__img,
.recents-ad,
.event-feature,
.event-mini__img,
.insta-tile,
.more-news-item__img,
.article-hero,
.article-credit{
  border-radius: 0;
}

/* =========================================================
   PÁGINA QUEM SOMOS
   ========================================================= */
.qs-hero{ max-width: 960px; margin: 6px 0 26px; }
.qs-hero h1{
  font-family: var(--font-body);
  font-weight: 800;
  font-size: clamp(26px, 3vw, 34px);
  line-height: 1.15;
  letter-spacing: -.02em;
  color: var(--color-ink);
  margin: 14px 0 18px;
}
.qs-hero__lead{
  font-family: var(--font-display);
  font-size: 17px;
  line-height: 1.55;
  color: var(--color-ink-soft);
}
.qs-photos{
  display:grid;
  grid-template-columns: 2fr 1fr 1fr;
  grid-auto-rows: 300px;
  gap: 12px;
  margin-bottom: 46px;
}
.qs-photos figure{ margin:0; overflow:hidden; background: var(--color-border); }
.qs-photos img{ width:100%; height:100%; object-fit:cover; transition: transform .6s var(--ease); }
.qs-photos figure:hover img{ transform: scale(1.05); }

.qs-body{ max-width: none; font-size: 17px; line-height: 1.75; color: var(--color-ink); }
.qs-body > p{ margin-bottom: 22px; }
.qs-body h2{
  font-family: var(--font-heading);
  font-weight: 700;
  font-size: 22px;
  color: var(--color-primary);
  margin: 46px 0 20px;
  padding-bottom: 12px;
  border-bottom: 1px solid var(--color-border-strong);
}
.qs-values{
  display:grid;
  grid-template-columns: 1fr 1fr;
  gap: 22px;
  margin: 8px 0 30px;
}
.qs-value{
  background: var(--color-surface);
  border: 1px solid var(--color-border);
  border-left: 3px solid var(--color-accent);
  padding: 22px 24px;
}
.qs-value__icon{ font-size: 22px; display:block; margin-bottom: 10px; }
.qs-value h3{
  font-family: var(--font-heading);
  font-size: 16px; font-weight: 600;
  color: var(--color-primary);
  margin-bottom: 8px;
}
.qs-value p{ font-size: 14px; line-height: 1.6; color: var(--color-ink-soft); }
.qs-values{ grid-template-columns: repeat(2, 1fr); }
.qs-channels{
  display:grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 20px;
  margin: 10px 0 30px;
}
.qs-channel{ border-top: 2px solid var(--color-primary); padding-top: 16px; }
.qs-channel__tag{
  display:inline-block;
  font-family: var(--font-mono);
  font-size: 10px; font-weight: 700;
  letter-spacing: .16em; text-transform: uppercase;
  color: var(--color-accent-dark);
  margin-bottom: 8px;
}
.qs-channel h3{
  font-family: var(--font-heading);
  font-size: 16px; font-weight: 600;
  color: var(--color-primary);
  margin-bottom: 6px;
}
.qs-channel p{ font-size: 13.5px; line-height: 1.55; color: var(--color-ink-soft); }
.qs-mission{
  background: var(--color-primary);
  color:#fff;
  padding: 32px 34px;
  margin: 34px 0;
}
.qs-mission .eyebrow{ color: var(--color-accent); margin-bottom: 12px; }
.qs-mission p{
  font-family: var(--font-display);
  font-size: 21px; line-height: 1.5;
  color:#eaf3ea;
}
.qs-note{
  font-size: 13px; font-style: italic; color: var(--color-muted);
  border-top: 1px solid var(--color-border);
  padding-top: 18px; margin-top: 8px;
}

/* =========================================================
   PÁGINA ANUNCIE
   ========================================================= */
.anun-hero{ max-width: 860px; margin: 6px 0 30px; }
.anun-hero h1{
  font-family: var(--font-body);
  font-weight: 800;
  font-size: clamp(26px, 3vw, 34px);
  line-height: 1.15;
  letter-spacing: -.02em;
  color: var(--color-ink);
  margin: 14px 0 16px;
}
.anun-hero__lead{
  font-family: var(--font-display);
  font-size: 17px; line-height: 1.55;
  color: var(--color-ink-soft);
}
.anun-layout{
  display:grid;
  grid-template-columns: repeat(2, minmax(0,1fr));
  gap: 44px;
  align-items:start;
}
.anun-solutions{ display:grid; gap: 16px; }
.anun-card{
  display:flex; gap: 18px;
  background: var(--color-surface);
  border: 1px solid var(--color-border);
  border-left: 3px solid var(--color-accent);
  padding: 22px 24px;
  transition: transform .2s var(--ease), box-shadow .2s var(--ease);
}
.anun-card:hover{ transform: translateY(-3px); box-shadow: var(--shadow-md); }
.anun-card__num{
  font-family: var(--font-heading);
  font-weight: 700;
  font-size: 20px;
  color: var(--color-border-strong);
  line-height: 1;
  flex-shrink: 0;
  min-width: 34px;
}
.anun-card h3{
  font-family: var(--font-heading);
  font-size: 17px; font-weight: 600;
  color: var(--color-primary);
  margin-bottom: 7px;
}
.anun-card p{ font-size: 14px; line-height: 1.6; color: var(--color-ink-soft); }

/* formulário lateral (apenas demonstrativo) */
.anun-form{
  position: sticky; top: 92px;
  background: var(--color-surface);
  border: 1px solid var(--color-border);
  border-top: 3px solid var(--color-accent);
  padding: 28px;
}
.anun-form__title{
  font-family: var(--font-heading);
  font-size: 19px; font-weight: 700;
  color: var(--color-primary);
  margin-bottom: 4px;
}
.anun-form__hint{
  font-size: 12.5px; color: var(--color-muted);
  margin-bottom: 20px;
}
.anun-field{ margin-bottom: 15px; }
.anun-field label{
  display:block;
  font-family: var(--font-mono);
  font-size: 10.5px; font-weight: 700;
  letter-spacing: .1em; text-transform: uppercase;
  color: var(--color-ink-soft);
  margin-bottom: 6px;
}
.anun-field input,
.anun-field select,
.anun-field textarea{
  width: 100%;
  font-family: var(--font-body);
  font-size: 14px;
  color: var(--color-ink);
  background: var(--color-bg);
  border: 1px solid var(--color-border-strong);
  padding: 11px 13px;
  transition: border-color .2s var(--ease), background .2s var(--ease);
}
.anun-field input:focus,
.anun-field select:focus,
.anun-field textarea:focus{
  outline: none;
  border-color: var(--color-accent);
  background: var(--color-surface);
}
.anun-field textarea{ resize: vertical; min-height: 92px; }
.anun-field--row{ display:grid; grid-template-columns: 1fr 1fr; gap: 12px; }
.anun-checks{ display:grid; grid-template-columns: repeat(auto-fit, minmax(140px, 1fr)); gap: 8px; margin-top: 4px; }
.anun-field .anun-chip{
  display:flex; align-items:center; gap:10px;
  margin: 0;
  font-family: var(--font-body);
  font-size: 13.5px; font-weight: 600;
  letter-spacing: 0; text-transform: none;
  color: var(--color-ink-soft);
  background: var(--color-bg);
  border: 1px solid var(--color-border-strong);
  padding: 11px 14px;
  cursor: pointer;
  user-select: none;
  transition: border-color .2s var(--ease), background .2s var(--ease), color .2s var(--ease);
}
.anun-field .anun-chip:hover{ border-color: var(--color-accent); background: var(--color-surface); }
.anun-field .anun-chip input{
  appearance: none; -webkit-appearance: none;
  flex-shrink: 0;
  width: 18px; height: 18px;
  margin: 0; padding: 0;
  border: 1.5px solid var(--color-border-strong);
  background: var(--color-surface) no-repeat center / 12px 12px;
  cursor: pointer;
  transition: background-color .2s var(--ease), border-color .2s var(--ease);
}
.anun-field .anun-chip input:checked{
  background-color: var(--color-accent-dark);
  border-color: var(--color-accent-dark);
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 12 12'%3E%3Cpath d='M2.5 6.2l2.3 2.3 4.7-5' fill='none' stroke='%23fff' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E");
}
.anun-field .anun-chip input:focus-visible{ outline: 2px solid var(--color-accent); outline-offset: 2px; }
.anun-field .anun-chip:has(input:checked){
  border-color: var(--color-accent-dark);
  background: var(--color-accent-light);
  color: var(--color-primary);
}
.anun-form__submit{
  width: 100%;
  margin-top: 8px;
  display:inline-flex; align-items:center; justify-content:center; gap: 9px;
  background: var(--color-primary);
  color: #fff;
  font-family: var(--font-heading);
  font-size: 14px; font-weight: 600;
  border: none;
  padding: 14px 18px;
  cursor: default;
  transition: background .2s var(--ease);
}
.anun-form__submit:hover{ background: var(--color-primary-3); }
.anun-form__submit svg{ width: 16px; height: 16px; }
.anun-form__note{
  margin-top: 12px;
  font-size: 11.5px; line-height: 1.5;
  color: var(--color-muted);
  text-align: center;
}

/* =========================================================
   PÁGINA CONTATO
   ========================================================= */
.contato-hero{ max-width: 720px; margin: 6px 0 30px; }
.contato-hero h1{
  font-family: var(--font-body);
  font-weight: 800;
  font-size: clamp(26px, 3vw, 34px);
  line-height: 1.15;
  letter-spacing: -.02em;
  color: var(--color-ink);
  margin: 14px 0 16px;
}
.contato-hero__lead{
  font-family: var(--font-display);
  font-size: 17px; line-height: 1.55;
  color: var(--color-ink-soft);
}
.contato-layout{
  display:grid;
  grid-template-columns: repeat(2, minmax(0,1fr));
  gap: 48px;
  align-items:start;
}
.contato-info{ display:grid; gap: 14px; align-content:start; }
.contato-info__item{
  display:flex; gap: 16px;
  background: var(--color-surface);
  border: 1px solid var(--color-border);
  border-left: 3px solid var(--color-accent);
  padding: 20px 22px;
}
.contato-info__icon{
  width: 40px; height: 40px; flex-shrink: 0;
  display:grid; place-items:center;
  background: var(--color-accent-light);
  color: var(--color-accent-dark);
}
.contato-info__icon svg{ width: 19px; height: 19px; }
.contato-info__label{
  font-family: var(--font-mono);
  font-size: 10.5px; font-weight: 700;
  letter-spacing: .14em; text-transform: uppercase;
  color: var(--color-muted);
  margin-bottom: 5px;
}
.contato-info__value{
  font-size: 15px; line-height: 1.45;
  color: var(--color-ink);
  font-weight: 500;
}
.contato-info__value a:hover{ color: var(--color-accent-dark); }

/* formulário CONTATO (apenas demonstrativo) — reaproveita estilos .anun-form* */
.contato-form{
  background: var(--color-surface);
  border: 1px solid var(--color-border);
  border-top: 3px solid var(--color-accent);
  padding: 30px;
}

/* =========================================================
   PÁGINA LEGAL (privacidade / termos)
   ========================================================= */
.legal-head{ max-width: 760px; margin: 6px 0 12px; }
.legal-head h1{
  font-family: var(--font-body);
  font-weight: 800;
  font-size: clamp(26px, 3vw, 34px);
  line-height: 1.15;
  letter-spacing: -.02em;
  color: var(--color-ink);
  margin: 14px 0 12px;
}
.legal-head p{ font-size: 14px; color: var(--color-muted); font-family: var(--font-mono); }
.legal-toc{
  display:flex; flex-wrap:wrap; gap: 8px;
  margin: 22px 0 40px;
  padding-bottom: 24px;
  border-bottom: 1px solid var(--color-border-strong);
}
.legal-toc a{
  font-family: var(--font-mono);
  font-size: 11px; font-weight: 600;
  letter-spacing: .06em;
  color: var(--color-accent-dark);
  border: 1px solid var(--color-border-strong);
  padding: 7px 13px;
  transition: border-color .2s var(--ease), background .2s var(--ease);
}
.legal-toc a:hover{ border-color: var(--color-accent); background: var(--color-accent-light); }
.legal-body{ max-width: 760px; }
.legal-section{ margin-bottom: 40px; scroll-margin-top: 100px; }
.legal-section h2{
  font-family: var(--font-heading);
  font-weight: 700;
  font-size: 22px;
  color: var(--color-primary);
  margin-bottom: 14px;
  padding-bottom: 10px;
  border-bottom: 1px solid var(--color-border);
}
.legal-section h3{
  font-family: var(--font-heading);
  font-size: 16px; font-weight: 600;
  color: var(--color-primary);
  margin: 22px 0 8px;
}
.legal-section p{
  font-size: 15px;
  line-height: 1.8;
  color: var(--color-ink-soft);
  margin-bottom: 16px;
}
.legal-section ol{ margin: 0 0 16px; padding-left: 22px; list-style: decimal; }
.legal-section ol li{ font-size: 15px; line-height: 1.8; color: var(--color-ink-soft); margin-bottom: 10px; }

/* =========================================================
   BANNER DE COOKIES
   ========================================================= */
.cookie-bar{
  position: fixed;
  left: 0; right: 0; bottom: 0;
  z-index: 200;
  background: var(--color-primary);
  border-top: 3px solid var(--color-accent);
  box-shadow: 0 -12px 40px -12px rgba(9,18,16,.55);
  animation: cookie-up .45s var(--ease) both;
}
@keyframes cookie-up{ from{ transform: translateY(100%); } to{ transform: translateY(0); } }
.cookie-bar__inner{
  max-width: var(--container);
  margin-inline: auto;
  padding: 18px 24px;
  display:flex; align-items:center; gap: 24px; flex-wrap: wrap;
}
.cookie-bar__text{
  flex: 1; min-width: 260px;
  font-size: 13px; line-height: 1.6; color: #cddcd4;
}
.cookie-bar__text a{ color: var(--color-accent); font-weight: 600; }
.cookie-bar__text a:hover{ text-decoration: underline; }
.cookie-bar__actions{ display:flex; gap: 10px; flex-shrink: 0; }
.cookie-bar__btn{
  font-family: var(--font-heading);
  font-size: 12.5px; font-weight: 600;
  padding: 10px 20px;
  border: 1px solid transparent;
  cursor: pointer;
  transition: background .2s var(--ease), border-color .2s var(--ease), color .2s var(--ease);
}
.cookie-bar__btn--ghost{ background: transparent; border-color: rgba(255,255,255,.3); color: #eaf3ea; }
.cookie-bar__btn--ghost:hover{ border-color:#fff; }
.cookie-bar__btn--solid{ background: var(--color-accent); color: var(--color-primary); }
.cookie-bar__btn--solid:hover{ background:#fff; }
@media (max-width: 560px){
  .cookie-bar__inner{ padding: 16px; gap: 14px; }
  .cookie-bar__actions{ width: 100%; }
  .cookie-bar__btn{ flex: 1; }
}

/* =========================================================
   PÁGINA REVISTA IMPRESSA — banca de edições
   ========================================================= */
.revista-hero{ max-width: 820px; margin: 6px 0 12px; }
.revista-hero h1{
  font-family: var(--font-body);
  font-weight: 800;
  font-size: clamp(26px, 3vw, 34px);
  line-height: 1.15;
  letter-spacing: -.02em;
  color: var(--color-ink);
  margin: 14px 0 12px;
}
.revista-hero__lead{
  font-family: var(--font-mono);
  font-size: 12px; font-weight: 700;
  letter-spacing: .06em; text-transform: uppercase;
  color: var(--color-accent-dark);
}
.revista-grid{
  display:grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 40px 32px;
  margin: 40px 0 8px;
}
.revista-item{ display:flex; flex-direction:column; align-items:center; text-align:center; }
.revista-item__cover{
  display:block; width:100%;
  position:relative;
  transition: transform .3s var(--ease), filter .3s var(--ease);
  filter: drop-shadow(0 22px 34px rgba(9,18,16,.28));
}
.revista-item__cover img{ width:100%; height:auto; display:block; }
.revista-item__cover::after{
  content:"Folhear edição";
  position:absolute; left:50%; bottom:18px; transform: translate(-50%, 8px);
  background: var(--color-primary); color:#fff;
  font-family: var(--font-heading); font-size: 12px; font-weight:600;
  padding: 9px 18px;
  opacity: 0;
  transition: opacity .28s var(--ease), transform .28s var(--ease);
  white-space:nowrap;
}
.revista-item__cover:hover{ transform: translateY(-8px); filter: drop-shadow(0 30px 44px rgba(9,18,16,.36)); }
.revista-item__cover:hover::after{ opacity: 1; transform: translate(-50%, 0); }
.revista-item__meta{
  font-family: var(--font-mono);
  font-size: 12px; font-weight: 700;
  letter-spacing: .08em; text-transform: uppercase;
  color: var(--color-primary);
  margin: 22px 0 12px;
}
.revista-item__dl{
  display:inline-flex; align-items:center; gap:8px;
  font-family: var(--font-heading);
  font-size: 12.5px; font-weight: 600;
  color: var(--color-accent-dark);
}
.revista-item__dl svg{ width:15px; height:15px; }
.revista-item__dl:hover{ color: var(--color-primary); }

@media (max-width: 860px){
  .revista-grid{ grid-template-columns: repeat(2, 1fr); gap: 34px 24px; }
}
@media (max-width: 520px){
  .revista-grid{ grid-template-columns: 1fr; max-width: 340px; margin-inline:auto; }
}

/* =========================================================
   VISOR FLIPBOOK — folhear a edição
   ========================================================= */
.flip-page{ padding-block: 30px 48px; }
.flip-shell{
  display:grid;
  grid-template-columns: 230px minmax(0, 1fr);
  gap: 26px;
  align-items:start;
}
.flip-side h2{
  font-family: var(--font-mono);
  font-size: 11px; font-weight: 700;
  letter-spacing: .16em; text-transform: uppercase;
  color: var(--color-muted);
  margin-bottom: 14px;
}
.flip-editions{ display:flex; flex-direction:column; gap: 12px; }
.flip-edition{
  display:flex; gap: 12px; align-items:center;
  padding: 10px;
  border: 1px solid var(--color-border);
  background: var(--color-surface);
  text-align:left;
  cursor:pointer;
  transition: border-color .2s var(--ease), background .2s var(--ease);
}
.flip-edition:hover{ border-color: var(--color-accent); }
.flip-edition.is-active{ border-color: var(--color-primary); background: var(--color-accent-light); }
.flip-edition img{ width: 46px; height: 62px; object-fit: cover; flex-shrink:0; background: var(--color-border); }
.flip-edition > span{ display: block; min-width: 0; }
.flip-edition__t{ display:block; font-family: var(--font-heading); font-size: 12.5px; font-weight: 600; color: var(--color-primary); line-height: 1.3; }
.flip-edition__d{ display:block; font-family: var(--font-mono); font-size: 10.5px; color: var(--color-muted); margin-top: 3px; }

.flip-stage{
  position: relative;
  background: #16211f;
  padding: 30px 26px;
  min-height: 520px;
  display:flex; flex-direction:column; align-items:center; justify-content:center;
}
#flipbook{ margin: 0 auto; width: 100%; max-width: 880px; touch-action: pan-y; }
#flipbook img{ width: 100%; height: 100%; display:block; }
.flip-toolbar{
  display:flex; align-items:center; justify-content:center; gap: 10px;
  margin-top: 20px; flex-wrap:wrap;
}
.flip-btn{
  display:inline-flex; align-items:center; gap: 7px;
  background: rgba(255,255,255,.08);
  color: #eaf3ea;
  border: 1px solid rgba(255,255,255,.18);
  font-family: var(--font-heading);
  font-size: 12.5px; font-weight: 600;
  padding: 9px 15px;
  cursor: pointer;
  transition: background .2s var(--ease), border-color .2s var(--ease);
}
.flip-btn:hover{ background: rgba(255,255,255,.16); border-color: rgba(255,255,255,.4); }
.flip-btn svg{ width: 15px; height: 15px; }
.flip-btn--solid{ background: var(--color-accent); color: var(--color-primary); border-color: var(--color-accent); }
.flip-btn--solid:hover{ background: #fff; border-color:#fff; }
.flip-counter{
  font-family: var(--font-mono); font-size: 12px; color: #a9bdb3;
  min-width: 92px; text-align:center;
}
.flip-loading{
  position: absolute; inset: 0;
  display:flex; flex-direction:column; align-items:center; justify-content:center; gap: 16px;
  background: #16211f;
  color: #a9bdb3;
  font-family: var(--font-mono); font-size: 12px; letter-spacing: .08em; text-transform: uppercase;
  z-index: 5;
}
.flip-spinner{
  width: 42px; height: 42px;
  border: 3px solid rgba(255,255,255,.14);
  border-top-color: var(--color-accent);
  border-radius: 50%;
  animation: flip-spin 1s linear infinite;
}
@keyframes flip-spin{ to{ transform: rotate(360deg); } }
.flip-fallback{ max-width: 360px; text-align:center; line-height: 1.7; text-transform:none; letter-spacing: normal; }
.flip-fallback a{ color: var(--color-accent); font-weight: 700; }

@media (max-width: 900px){
  .flip-shell{ grid-template-columns: 1fr; }
  .flip-editions{ flex-direction: row; flex-wrap: wrap; }
  .flip-edition{ flex: 1 1 180px; }
}
@media (max-width: 560px){
  .flip-stage{ padding: 14px; min-height: 54vh; }
}

/* =========================================================
   RESPONSIVO — páginas institucionais
   ========================================================= */
@media (max-width: 1024px){
  .anun-layout,
  .contato-layout{ grid-template-columns: 1fr; gap: 32px; }
  .anun-form,
  .contato-form{ position: static; max-width: 560px; }
}
@media (max-width: 760px){
  .qs-photos{ grid-template-columns: 1fr 1fr; grid-auto-rows: 200px; }
  .qs-photos figure:first-child{ grid-column: 1 / -1; }
  .qs-values{ grid-template-columns: 1fr; }
  .qs-channels{ grid-template-columns: 1fr; }
  .qs-mission{ padding: 26px 24px; }
  .anun-field--row{ grid-template-columns: 1fr; }
}
@media (max-width: 480px){
  .qs-photos{ grid-template-columns: 1fr; grid-auto-rows: 220px; }
  .qs-photos figure:first-child{ grid-column: auto; }
}

/* =========================================================
   RESPONSIVO
   ========================================================= */
@media (max-width: 1180px){
  .layout{ grid-template-columns: minmax(0,1fr) 260px; }
  .footer-cols{ grid-template-columns: 1fr 1fr; column-gap:36px; row-gap:40px; }
  .footer-col--about{ grid-column: 1 / -1; }
  .events-grid{ grid-template-columns: 1fr; }
}

@media (max-width: 1024px){
  .hero-grid{ grid-template-columns: 1fr; }
  .feature-row{ grid-template-columns: 1fr; }
  .feature-row .card--lead{ grid-template-columns: 200px 1fr; }
  .mercado-top{ grid-template-columns: 1fr; }
  .mercado-top .card--lead{ grid-template-columns: 300px 1fr; }
  .recents, .recents-feed{ grid-template-columns: 1fr 1fr; }
  .recents-ad{ grid-column: span 2; }
  .recents-ad img{ aspect-ratio: 970/220; }
  .insta-grid{ grid-template-columns: repeat(3,1fr); }
  .events-grid{ grid-template-columns: 1fr; }
  .grid-4{ grid-template-columns: repeat(2,1fr); }
  .pec-grid{ grid-template-columns: repeat(2,1fr); }
  .layout{ grid-template-columns: 1fr; }
  .ad-col{ position:static; flex-direction:row; flex-wrap:wrap; }
  .ad-col > .widget, .ad-col > div{ flex:1 1 260px; }
  .stats-panel{ grid-template-columns: repeat(3, 1fr); }
  .rank-band{ grid-template-columns: repeat(2, 1fr); }
}

@media (max-width: 860px){
  .header-search{ display:none; }
  .nav-toggle{ display:flex; }
  .main-nav{ display:none; }
  .main-nav.is-open{ display:block; }
  .main-nav .container{ padding-inline:0; }
  .main-nav ul{ flex-direction:column; overflow:visible; }
  .main-nav a{ padding: 14px 24px; border-bottom:1px solid rgba(255,255,255,.06); border-left:3px solid transparent; }
  .main-nav a:hover, .main-nav a.is-active{ border-left-color: var(--color-accent); border-bottom-color: rgba(255,255,255,.06); background: rgba(255,255,255,.04); }
  .section-head{ grid-template-columns: 1fr; gap:14px; }
  .section-desc{ flex-wrap:wrap; gap:14px; }
  .grid-3{ grid-template-columns: repeat(2,1fr); }
  .footer-cols{ grid-template-columns: 1fr 1fr; }
}

@media (max-width: 720px){
  .utility-bar .container{ font-size:11px; }
  .header-main{ padding-block:14px; gap:14px; }
  .header-main{ position: static; min-height: 0; padding-block: 12px; padding-left: 24px; }
  .logo{ position: static; transform: none; pointer-events: auto; }
  .logo::before{ content: none; }
  .logo__img{ height: 60px; }
  .header-cta .btn span{ display:none; }
  .header-cta .btn{ padding:11px 14px; }
  .hero-carousel{ min-height: 360px; }
  .hero-slide__body{ padding:22px; }
  .hero-carousel__dots{ right:22px; bottom:18px; }
  .side-card__img{ width:96px; height:76px; }
  .feature-row .card--lead{ grid-template-columns: 1fr; }
  .feature-row .card--lead .card__img{ aspect-ratio: 16/9; }
  .mercado-top .card--lead{ grid-template-columns: 1fr; }
  .mercado-top .card--lead .card__img{ aspect-ratio: 16/9; }
  .recents, .recents-feed{ grid-template-columns: 1fr; }
  .recents-ad{ grid-column: span 1; }
  .recents-feed .recents-ad{ display:none; }
  .insta-grid{ grid-template-columns: repeat(2,1fr); }
  .events-grid{ grid-template-columns:1fr; }
  .grid-3, .grid-4{ grid-template-columns: 1fr 1fr; }
  .turismo-grid{ grid-template-columns: 1fr 1fr; }
  .footer-cols{ grid-template-columns: 1fr 1fr; gap:32px 24px; padding-block: 40px 4px; }
  .footer-head{ padding-block: 30px; gap:14px 28px; }
  .stats-panel{ grid-template-columns: repeat(2, 1fr); }
  .rank-band{ grid-template-columns: 1fr; }
  .rank-columns{ grid-template-columns: 1fr; }
  .article-byline{ flex-wrap:wrap; }
  .article-share{ margin-left:0; width:100%; }
}

@media (max-width: 480px){
  .container{ padding-inline:16px; }
  .grid-3, .grid-4, .grid-2{ grid-template-columns: 1fr; }
  .insta-grid{ grid-template-columns: repeat(2,1fr); }
  .footer-cols{ grid-template-columns: 1fr; gap:30px; }
  .footer-col--about{ grid-column: auto; }
  .footer-bottom .container{ flex-direction:column; align-items:flex-start; }
  .ad-col{ flex-direction:column; }
  .weather-row .temp{ font-size:28px; }
  .side-card{ flex-direction:column; }
  .side-card__img{ width:100%; height:160px; }
  .stats-panel{ grid-template-columns: 1fr 1fr; }
  .ticker::before{ font-size:9px; padding:0 10px; }
  .ticker__track{ padding-left: 92px; }
  .article-dek{ font-size:16.5px; }
  .article-body{ font-size:16px; }
  .listen-bar{ gap:10px; padding:6px 12px; }
  .listen-speed, .listen-volume{ display:none; }
  .more-news-item__img{ width:96px; min-height:64px; }
  .more-news-item{ gap:14px; align-items:stretch; }
  .more-news-item__body h4{ font-size:13.5px; }
}
