/* ==========================================================================
   BOMDEOFERTA.COM - MAIN STYLESHEET v6
   Atualização Mestre: CRO + Bugs + SEO — Mobile-first ML
   ========================================================================== */

@import url('https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700&display=swap');

/* --- VARIÁVEIS --- */
:root {
  --brand: #FFE600;
  --cta-bg: rgb(52, 130, 250);
  --cta-hover: #2968C8;
  --bg: #EBEBEB;
  --card-bg: #FFFFFF;
  --text: #333333;
  --muted: #666666;
  --subtle: #999999;
  --border: #EDEDED;
  --success: #00A650;
  --danger: #F23D4F;
  --purple: #7C3AED;
  --gold: #FFD700;
  --silver: #C0C0C0;
  --bronze: #CD7F32;
  --font-family: 'Inter', -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, Helvetica, Arial, sans-serif;
  --max-width: 1200px;
  --article-width: 800px;
  --radius: 8px;
  --shadow: 0 1px 3px rgba(0,0,0,0.06);
  --shadow-lg: 0 4px 16px rgba(0,0,0,0.08);
  --header-height: 56px;
  --brand-light: rgba(255, 230, 0, 0.15);
  --brand-dark: rgb(220, 198, 0);
}

/* === RESET (fix espaço branco no topo) === */
*, *::before, *::after { margin: 0; padding: 0; box-sizing: border-box; }
html, body { margin: 0; padding: 0; }
html { scroll-behavior: smooth; }

body {
  font-family: var(--font-family);
  background-color: var(--bg);
  color: var(--text);
  line-height: 1.5;
  -webkit-font-smoothing: antialiased;
  display: flex;
  flex-direction: column;
  min-height: 100vh;
  margin: 0; padding: 0;
  overflow-x: hidden;
}

a { text-decoration: none; color: inherit; }
img { max-width: 100%; height: auto; display: block; }
ul, ol { list-style: none; }

.container { max-width: var(--max-width); margin: 0 auto; padding: 0 16px; }

/* === UTILITIES (Admin) === */
.mb-1 { margin-bottom: 8px; }
.mb-2 { margin-bottom: 16px; }
.mb-3 { margin-bottom: 24px; }
.mt-1 { margin-top: 8px; }
.mt-2 { margin-top: 16px; }
.gap-2 { gap: 12px; }
.flex { display: flex; }
.items-center { align-items: center; }
.justify-between { justify-content: space-between; }
.hidden { display: none !important; }
.w-full { width: 100%; }
.text-muted { color: var(--muted); }
.text-success { color: var(--success); }
.text-danger { color: var(--danger); }
.grid-2 { display: grid; grid-template-columns: 1fr 1fr; gap: 12px; }

/* === FORMS (Admin) === */
.card { background: var(--card-bg); border: 1px solid var(--border); border-radius: var(--radius); }
.input { width: 100%; padding: 10px 14px; border: 1px solid var(--border); border-radius: 8px; font-size: 14px; font-family: var(--font-family); transition: border-color .15s; }
.input:focus { outline: none; border-color: var(--brand); box-shadow: 0 0 0 3px var(--brand-light); }
.textarea { resize: vertical; min-height: 100px; }
.label { display: block; font-size: 13px; font-weight: 600; margin-bottom: 6px; color: var(--muted); }

/* === BUTTONS (Admin) === */
.btn { display: inline-flex; align-items: center; gap: 8px; padding: 10px 18px; border-radius: 8px; font-size: 14px; font-weight: 600; border: 1px solid transparent; cursor: pointer; transition: all .15s; font-family: var(--font-family); }
.btn-primary { background: var(--brand); color: #1a1a1a; border-color: var(--brand-dark); }
.btn-primary:hover { background: var(--brand-dark); }
.btn-secondary { background: var(--card-bg); color: var(--muted); border-color: var(--border); }
.btn-secondary:hover { background: #f9f9f9; }
.btn-danger { background: #FEF2F2; color: var(--danger); border-color: #FECACA; }
.btn-sm { padding: 6px 10px; font-size: 13px; }
.btn-purple { background: linear-gradient(135deg, #7C3AED, #9333EA); color: #fff; }
.btn-purple:hover { background: linear-gradient(135deg, #6D28D9, #7C3AED); }
.btn[disabled] { opacity: 0.4; cursor: not-allowed; }

@keyframes spin { to { transform: rotate(360deg); } }
.spin { animation: spin 0.6s linear infinite; }

/* === ADMIN LAYOUT === */
.admin-layout, .admin-wrap { display: flex; min-height: 100vh; }
.admin-sidebar {
  width: 220px; background: #fff; flex-shrink: 0;
  padding: 0; position: fixed; top: 0; left: 0;
  height: 100vh; overflow-y: auto; z-index: 100;
  border-right: 1px solid #E0E0E0;
  display: flex; flex-direction: column;
}
.admin-sidebar-logo {
  display: flex; align-items: center; gap: 10px;
  padding: 20px 20px 16px; text-decoration: none;
  border-bottom: 1px solid #F0F0F0;
}
.admin-sidebar-logo span {
  font-size: 16px; font-weight: 800; color: #333;
  font-family: var(--font-family, 'Inter', sans-serif);
}
.admin-nav {
  display: flex; flex-direction: column;
  padding: 12px 0; flex: 1;
}
.admin-nav a {
  display: flex; align-items: center; gap: 10px;
  padding: 10px 20px; font-size: 14px; color: #555;
  text-decoration: none; transition: all .15s;
  border-left: 3px solid transparent;
  font-weight: 500;
}
.admin-nav a:hover {
  background: #F5F7FF; color: var(--cta-bg, #3483FA);
  border-left-color: var(--cta-bg, #3483FA);
}
.admin-nav a.active {
  background: #FFF9E0; color: #333; font-weight: 700;
  border-left-color: var(--brand, #FFE600);
}
.admin-nav a.active svg { stroke: var(--cta-bg, #3483FA); }
.admin-nav-divider {
  height: 1px; background: #F0F0F0;
  margin: 8px 20px;
}
.admin-nav-logout { color: #EF4444 !important; }
.admin-nav-logout:hover { background: #FEF2F2 !important; border-left-color: #EF4444 !important; }
.admin-main, .admin-content { margin-left: 220px; flex: 1; padding: 28px 32px; min-height: 100vh; background: #FAFAFA; }

.link-importer-box { border: 2px dashed var(--brand); border-radius: var(--radius); padding: 20px; margin-top: 16px; background: var(--brand-light); }
.step-tags { display: flex; gap: 8px; margin-top: 12px; flex-wrap: wrap; }
.step-tag { font-size: 11px; padding: 4px 10px; background: rgba(255,230,0,0.2); color: #92400E; border-radius: 20px; border: 1px solid rgba(255,230,0,0.4); }

/* === BADGES === */
.badge { padding: 4px 8px; border-radius: 4px; font-size: 10px; font-weight: 700; text-transform: uppercase; display: inline-flex; align-items: center; gap: 4px; white-space: nowrap; flex-shrink: 0; }
.badge svg { width: 12px; height: 12px; }
.badge-gold { background-color: #FFF8E1; color: #FF8F00; border: 1px solid #FFE082; }
.badge-silver { background-color: #F5F5F5; color: #616161; border: 1px solid #E0E0E0; }
.badge-success { background-color: #E8F5E9; color: var(--success); border: 1px solid #C8E6C9; }
.badge-default { background-color: #F0F7FF; color: var(--cta-bg); border: 1px solid #C4DFFF; }
.badge-green { background-color: #E8F5E9; color: var(--success); border: 1px solid #C8E6C9; }

/* ==========================================================================
   HEADER (.pub-header) — FIX: sem espaço branco, full-width
   ========================================================================== */
.pub-header {
  background-color: var(--brand);
  padding: 10px 0;
  position: sticky;
  top: 0;
  left: 0;
  width: 100%;
  z-index: 100;
  box-shadow: 0 1px 3px rgba(0,0,0,0.1);
}
.pub-header .container {
  display: flex;
  align-items: center;
  justify-content: flex-start; /* Logo à esquerda */
}

/* Progress bar de leitura */
.progress-bar {
  position: absolute;
  bottom: 0;
  left: 0;
  height: 3px;
  background-color: var(--cta-bg);
  width: 0%;
  transition: width 0.15s;
}

/* === LOGO OFICIAL (SVG + texto) — FIX: nowrap, sem truncamento === */
.logo-bdo {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  text-decoration: none;
  font-family: var(--font-family);
  white-space: nowrap;
  flex-shrink: 0;
}
.logo-bdo svg { width: 26px; height: 26px; flex-shrink: 0; }
.logo-bdo .logo-text {
  color: var(--text);
  font-size: 22px;
  font-weight: 700;
  letter-spacing: -0.5px;
  text-transform: lowercase;
}

/* ==========================================================================
   HOMEPAGE — Hero + Grid de cards com 3 imagens
   ========================================================================== */
.hero {
  background-color: var(--card-bg);
  padding: 40px 0 28px;
  border-bottom: 1px solid var(--border);
  text-align: center;
  margin-bottom: 48px;
}
.hero h1 { font-size: 22px; font-weight: 700; margin-bottom: 8px; }
.hero p { color: var(--muted); max-width: 600px; margin: 0 auto 20px; font-size: 14px; }

/* Category Pills — ML Mestre */
.category-pills {
  display: flex; gap: 10px;
  margin-top: 8px;
  justify-content: center; flex-wrap: wrap;
  overflow: visible;
}
.cat-pill {
  display: inline-block; padding: 10px 20px;
  background: #FFFFFF; border: 1px solid #D1D1D1;
  border-radius: 100px; font-size: 14px; font-weight: 500;
  color: #333; cursor: pointer; transition: all 0.15s;
  text-decoration: none; white-space: nowrap; flex-shrink: 0;
}
.cat-pill:hover { border-color: #3483FA; color: #3483FA; background: #F0F7FF; }
.cat-pill.active { background: #3483FA; color: #FFF; border-color: #3483FA; font-weight: 600; }

/* Accordion de categorias extras */
.cat-accordion {
  margin: 16px auto 0; max-width: 320px;
  background: #FFFFFF; border: 1px solid #E0E0E0;
  border-radius: 8px; overflow: hidden;
  box-shadow: none !important;
}
.cat-accordion summary {
  display: flex; align-items: center; justify-content: center; gap: 6px;
  padding: 12px 20px; font-size: 14px; font-weight: 600;
  color: #333; cursor: pointer; list-style: none;
  -webkit-user-select: none; user-select: none;
}
.cat-accordion summary::-webkit-details-marker { display: none; }
.cat-accordion summary svg {
  transition: transform 0.2s; flex-shrink: 0;
}
.cat-accordion[open] summary svg { transform: rotate(180deg); }
.cat-accordion-body {
  display: flex; flex-direction: column;
  border-top: 1px solid #E0E0E0; background: #FAFAFA;
}
.cat-accordion-body .cat-pill {
  padding: 14px 16px; font-size: 14px; color: #555;
  text-decoration: none; border-bottom: 1px solid #F0F0F0;
  text-align: center; border-radius: 0; background: transparent;
  border-left: none; border-right: none; border-top: none;
  white-space: normal;
}
.cat-accordion-body .cat-pill:last-child { border-bottom: none; }
.cat-accordion-body .cat-pill:hover { background: #F0F7FF; color: #3483FA; }

.article-grid {
  display: grid;
  grid-template-columns: 1fr;
  gap: 20px;
  padding-bottom: 32px;
}

.homepage-main { flex: 1 0 auto; padding-bottom: 32px; }

.article-card {
  background-color: #FFFFFF;
  border-radius: 4px;
  border: 1px solid var(--border);
  overflow: hidden;
  transition: transform 0.2s, box-shadow 0.2s;
  display: flex;
  flex-direction: column;
  box-shadow: 0 1px 2px 0 rgba(0,0,0,.12);
}
.article-card:hover { transform: translateY(-3px); box-shadow: 0 4px 8px 0 rgba(0,0,0,.12); }
.article-card:active,
.article-card:focus { outline: none; box-shadow: 0 1px 2px 0 rgba(0,0,0,.12); transform: none; }

/* 3 imagens lado a lado no card */
.card-img-wrapper {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 2px;
  aspect-ratio: 16 / 9;
  background-color: #FFFFFF;
  overflow: hidden;
}
.card-img-wrapper img { object-fit: contain; width: 100%; height: 100%; padding: 6px; background: #FFFFFF; }
.card-img-placeholder {
  background-color: #F9F9F9;
  display: flex;
  align-items: center;
  justify-content: center;
  aspect-ratio: 16 / 9;
}

.card-content { padding: 16px; display: flex; flex-direction: column; flex-grow: 1; }
.tag-category { font-size: 11px; font-weight: 600; color: var(--cta-bg); text-transform: uppercase; margin-bottom: 6px; }
.card-title {
  font-size: 16px; font-weight: 600; line-height: 1.3; margin-bottom: 8px;
  display: -webkit-box; -webkit-line-clamp: 2; line-clamp: 2;
  -webkit-box-orient: vertical; overflow: hidden; min-height: 2.6em;
}
.card-date { font-size: 12px; color: var(--subtle); margin-top: auto; }

/* Botão Carregar Mais (legado) */
.load-more-wrapper { text-align: center; padding: 24px 0 8px; }
.btn-load-more {
  display: inline-flex; align-items: center; gap: 8px;
  padding: 12px 32px; background: #FFFFFF; color: var(--cta-bg);
  border: 2px solid var(--cta-bg); border-radius: 8px;
  font-size: 15px; font-weight: 600; cursor: pointer;
  transition: all 0.2s; font-family: var(--font-family);
}
.btn-load-more:hover { background: var(--cta-bg); color: #FFF; }
.btn-load-more:disabled { opacity: 0.5; cursor: not-allowed; }

/* ═══ PAGINAÇÃO NUMÉRICA ═══ */
.pagination {
  display: flex; align-items: center; justify-content: center;
  gap: 6px; padding: 28px 0 8px; flex-wrap: wrap;
}
.page-btn {
  display: inline-flex; align-items: center; gap: 6px;
  padding: 10px 16px; background: #FFFFFF;
  border: 1px solid var(--border); border-radius: 6px;
  font-size: 14px; font-weight: 500; color: var(--text);
  text-decoration: none; transition: all 0.15s;
  cursor: pointer; font-family: var(--font-family);
}
.page-btn:hover { border-color: var(--cta-bg); color: var(--cta-bg); background: #F0F7FF; }
.page-num { min-width: 42px; justify-content: center; }
.page-num.active {
  background: var(--cta-bg); color: #FFF; border-color: var(--cta-bg);
  font-weight: 700; pointer-events: none;
}
.page-dots {
  padding: 0 4px; font-size: 14px; color: var(--subtle);
  display: inline-flex; align-items: center;
}
.page-prev svg, .page-next svg { flex-shrink: 0; }

/* Caixa de Confiança E-E-A-T */
.trust-box {
  background: #FFFFFF; border: 1px solid var(--border);
  border-top: 4px solid var(--cta-bg);
  border-radius: 8px; padding: 28px 24px;
  margin-top: 60px; margin-bottom: 40px;
  box-shadow: 0 1px 3px rgba(0,0,0,.06);
  text-align: center; max-width: 100%; margin-left: auto; margin-right: auto;
}
.trust-box h3 {
  font-size: 18px; font-weight: 700; color: var(--text); margin-bottom: 12px;
}
.trust-box p {
  font-size: 14px; color: var(--muted); line-height: 1.6; margin: 0;
}

/* ==========================================================================
   ARTIGO — Densidade mobile-first + SEO semântico
   ========================================================================== */
.article-page-wrapper { background-color: var(--card-bg); padding: 0 0 32px 0; flex: 1 0 auto; }
.article-container { max-width: var(--article-width); margin: 0 auto; padding: 0 16px; }

/* FIX: breadcrumb descolado do header */
.article-breadcrumb {
  font-size: 12px;
  color: var(--muted);
  margin-top: 20px;
  margin-bottom: 12px;
}
.article-breadcrumb a { color: var(--text); }
.article-breadcrumb a:hover { text-decoration: underline; }
.article-breadcrumb span { color: var(--subtle); margin: 0 4px; }

.article-meta { display: flex; align-items: center; gap: 8px; margin-bottom: 10px; }
.date { font-size: 12px; color: var(--subtle); }

/* Mobile-first: títulos compactos */
.article-title { font-size: 20px; font-weight: 700; line-height: 1.2; margin-bottom: 12px; }
.article-intro { font-size: 14px; color: var(--muted); margin-bottom: 24px; line-height: 1.5; }

/* ==========================================================================
   CARDS DE PRODUTOS — Todos com borda (.product-bordered)
   ========================================================================== */
.product-card { margin-bottom: 20px; display: flex; flex-direction: column; }

/* Card padronizado: borda fina, fundo branco, padding */
.product-bordered {
  background-color: var(--card-bg);
  border: 1px solid var(--border);
  border-radius: var(--radius);
  padding: 16px;
  box-shadow: var(--shadow);
}

/* Rank bar */
.product-rank-bar { display: flex; align-items: center; gap: 10px; margin-bottom: 10px; }

.rank-number {
  display: inline-flex; align-items: center; justify-content: center;
  width: 32px; height: 32px; border-radius: 50%;
  font-weight: 700; font-size: 16px; flex-shrink: 0;
}

/* Preço — FIX: blocos condicionais */
.price-block { margin-bottom: 4px; }
.price-original {
  font-size: 12px;
  color: var(--subtle);
  text-decoration: line-through;
  display: block;
  margin-bottom: -2px;
}
.price-wrapper {
  display: flex;
  align-items: center;
  flex-wrap: wrap;
  gap: 8px;
}
.price-current { font-size: 24px; font-weight: 700; color: var(--text); }
.price-cents { font-size: 0.75rem; font-weight: 700; vertical-align: super; }
.price-discount {
  font-size: 12px; font-weight: 600; color: var(--success);
  display: inline-flex; align-items: center;
  padding: 2px 6px; background: #D1FAE5; border-radius: 4px;
}

/* Shipping/Urgency tag */
.shipping-tag { font-size: 12px; font-weight: 600; color: var(--success); display: block; margin-top: 2px; margin-bottom: 8px; }

/* Layout mobile: empilhado */
.product-content-grid { display: flex; flex-direction: column; }

/* Imagem — 160px max no mobile */
.product-img { width: 100%; height: 160px; object-fit: contain; margin-bottom: 10px; }
.product-name { font-size: 16px; font-weight: 600; margin-bottom: 6px; line-height: 1.3; }

/* Review — 3 linhas max no mobile */
.product-review {
  font-size: 13px;
  color: var(--muted);
  line-height: 1.45;
  margin-bottom: 10px;
  display: -webkit-box;
  -webkit-line-clamp: 3;
  line-clamp: 3;
  -webkit-box-orient: vertical;
  overflow: hidden;
}

/* Features List unificada (prós + contras) */
.features-list { display: grid; grid-template-columns: 1fr; gap: 6px; margin-bottom: 16px; list-style: none; padding: 0; }
.features-list li {
  display: flex; align-items: flex-start; gap: 6px;
  font-size: 13px; color: var(--muted);
}
.features-list li svg { flex-shrink: 0; margin-top: 2px; }
.pro-icon { color: var(--success); fill: var(--success); width: 16px; height: 16px; }
.con-icon { color: var(--danger); fill: var(--danger); width: 16px; height: 16px; }

/* CTA Button */
.cta-btn {
  display: flex; align-items: center; justify-content: center; gap: 8px;
  width: 100%; background-color: var(--cta-bg); color: #FFFFFF;
  padding: 14px 16px; border-radius: 6px; font-size: 16px; font-weight: 600;
  transition: background-color 0.2s; border: none; cursor: pointer; text-decoration: none;
}
.cta-btn:hover { background-color: var(--cta-hover); color: #FFFFFF; }
.cta-btn img { height: 22px; width: auto; }

/* Internal Link (linkagem interna) */
.internal-link { color: var(--cta-bg); text-decoration: underline; text-decoration-color: transparent; transition: 0.2s; font-weight: 500; }
.internal-link:hover { text-decoration-color: var(--cta-bg); }

/* ==========================================================================
   TOP 3 — Pódio com linha colorida no topo
   ========================================================================== */
.product-bordered.rank-1 { border-top: 4px solid var(--gold); }
.product-bordered.rank-1 .rank-number { background-color: var(--gold); color: #333; }
.product-bordered.rank-1 .badge { background-color: #FFF8E1; color: #FF8F00; border: 1px solid #FFE082; }

.product-bordered.rank-2 { border-top: 4px solid var(--silver); }
.product-bordered.rank-2 .rank-number { background-color: var(--silver); color: #333; }
.product-bordered.rank-2 .badge { background-color: #F5F5F5; color: #616161; border: 1px solid #E0E0E0; }

.product-bordered.rank-3 { border-top: 4px solid var(--bronze); }
.product-bordered.rank-3 .rank-number { background-color: var(--bronze); color: #FFF; }
.product-bordered.rank-3 .badge { background-color: #FBE9E7; color: #D84315; border: 1px solid #FFAB91; }

/* ==========================================================================
   PRODUTOS 4+ — Mesma borda, sem linha colorida no topo
   ========================================================================== */
.product-bordered.rank-normal .rank-number { background-color: var(--text); color: #FFF; }
.product-bordered.rank-normal .badge { background-color: var(--bg); color: var(--muted); border: 1px solid var(--border); }

/* ==========================================================================
   FAQ — h3 para SEO
   ========================================================================== */
/* ═══ TABELA DE RESUMO RÁPIDO ═══ */
.quick-summary { background-color: #F9F9F9; border: 1px solid var(--border); border-radius: 6px; padding: 16px; margin-bottom: 24px; }
.quick-summary h2 { font-size: 14px; font-weight: 700; text-transform: uppercase; color: var(--text); margin-bottom: 12px; letter-spacing: 0.5px; }
.summary-list { display: flex; flex-direction: column; gap: 8px; }
.summary-item { display: flex; align-items: center; justify-content: space-between; background-color: var(--card-bg); border: 1px solid var(--border); padding: 10px 14px; border-radius: 6px; gap: 10px; cursor: pointer; text-decoration: none; transition: 0.2s; }
.summary-item:hover { border-color: var(--cta-bg); }
.summary-item-left { display: flex; align-items: center; gap: 12px; flex: 1; min-width: 0; }
.summary-name { font-size: 14px; font-weight: 600; color: var(--text); white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.summary-rank { width: 20px; height: 20px; border-radius: 50%; background-color: var(--text); color: #FFF; display: flex; align-items: center; justify-content: center; font-size: 11px; font-weight: 700; flex-shrink: 0; }
.summary-list .item-1 .summary-rank { background-color: var(--gold); color: #333; }
.summary-list .item-2 .summary-rank { background-color: var(--silver); color: #333; }
.summary-list .item-3 .summary-rank { background-color: var(--bronze); color: #FFF; }

/* Scroll anchor offset para header fixo */
.product-card { scroll-margin-top: calc(var(--header-height) + 20px); }

@media (min-width: 768px) {
  .quick-summary h2 { font-size: 16px; }
  /* Ranking: layout vertical (1 coluna) para dar espaço total aos nomes e badges */
  .summary-list { display: flex; flex-direction: column; gap: 10px; }
}

/* ═══ FICHA TÉCNICA (specs_json) ═══ */
.product-specs { display: grid; grid-template-columns: repeat(2, 1fr); gap: 6px; margin: 10px 0; }
.spec-item { display: flex; flex-direction: column; background: #F9F9F9; border: 1px solid var(--border); border-radius: 6px; padding: 8px 10px; min-width: 0; }
.spec-key { font-size: 10px; text-transform: uppercase; letter-spacing: 0.5px; color: var(--subtle); font-weight: 600; margin-bottom: 2px; }
.spec-val { font-size: 13px; font-weight: 700; color: var(--text); word-break: break-word; overflow-wrap: break-word; }

@media (min-width: 768px) {
  .product-specs { grid-template-columns: repeat(4, 1fr); gap: 8px; }
  .spec-item { min-width: 0; }
  .spec-val { font-size: 14px; }
}

/* ═══ COMPARISON TABLE (A Batalha) ═══ */
.comparison-section { margin: 32px 0; padding: 20px; background: #F9F9F9; border: 1px solid var(--border); border-radius: 8px; }
.comparison-section h2 { font-size: 16px; font-weight: 700; margin-bottom: 16px; color: var(--text); }
.comparison-table-wrapper table { width: 100%; border-collapse: collapse; font-size: 13px; }
.comparison-table-wrapper thead { background: var(--text); color: #fff; }
.comparison-table-wrapper th { padding: 10px 12px; text-align: left; font-weight: 600; font-size: 12px; }
.comparison-table-wrapper td { padding: 10px 12px; border-bottom: 1px solid var(--border); }
.comparison-table-wrapper tbody tr:nth-child(even) { background: #fff; }
.comparison-table-wrapper tbody tr:nth-child(odd) { background: #F9F9F9; }
.comparison-table-wrapper td:first-child { font-weight: 600; color: var(--muted); }

/* ═══ FAQ ═══ */
.faq-section { margin-top: 32px; padding-top: 24px; border-top: 1px solid var(--border); }
.faq-section h2 { font-size: 18px; margin-bottom: 16px; }

.faq-item { border: 1px solid var(--border); border-radius: 6px; margin-bottom: 8px; overflow: hidden; }
.faq-question {
  width: 100%; text-align: left; padding: 14px;
  background-color: var(--card-bg); border: none;
  font-size: 14px; font-weight: 600; color: var(--text);
  cursor: pointer; display: flex; justify-content: space-between; align-items: center;
  font-family: var(--font-family);
}
.faq-answer { padding: 0 14px 14px 14px; color: var(--muted); display: none; font-size: 13px; line-height: 1.55; }
.faq-item.active .faq-answer { display: block; }
.faq-item.active .faq-question { color: var(--cta-bg); }
.faq-chevron { transition: transform .2s; }
.faq-item.active .faq-chevron { transform: rotate(180deg); }

/* ═══ LEIA TAMBÉM (Cross-linking in-content) ═══ */
.read-also-box { background-color: #F0F7FF; border-left: 4px solid var(--cta-bg); padding: 16px; margin: 24px 0; border-radius: 0 6px 6px 0; }
.read-also-label { display: flex; align-items: center; gap: 6px; font-size: 11px; font-weight: 700; text-transform: uppercase; color: var(--cta-bg); margin-bottom: 6px; }
.read-also-label svg { width: 14px; height: 14px; }
.read-also-link { font-size: 15px; font-weight: 600; color: var(--text); text-decoration: none; transition: color 0.2s; }
.read-also-link:hover { color: var(--cta-hover); text-decoration: underline; }

/* ═══ BATALHA FINAL: O VEREDITO ═══ */
.battle-section { margin-top: 32px; padding-top: 24px; border-top: 1px solid var(--border); }
.battle-title { font-size: 22px; font-weight: 800; color: #333; margin-bottom: 24px; text-align: center; }
.battle-card { background-color: var(--card-bg); border: 1px solid var(--border); border-radius: 8px; box-shadow: 0 4px 15px rgba(0,0,0,0.03); overflow: hidden; }
.battle-table { width: 100%; border-collapse: collapse; table-layout: fixed; }
.battle-row { border-bottom: 1px solid var(--border); }
.battle-cell { padding: 12px; font-size: 13px; vertical-align: middle; }
.crit-cell { font-weight: 700; color: #333; text-transform: uppercase; font-size: 10px; letter-spacing: 0.5px; width: 30%; background-color: #FAFAFA; }
.data-cell { text-align: center; color: var(--text); line-height: 1.4; }
.champion-cell { background-color: #FFFDF3; }
.header-cell { text-align: center; padding: 16px 8px; }
.header-content-wrapper { display: flex; flex-direction: column; align-items: center; gap: 8px; }
.product-battle-img { width: 100%; height: 80px; object-fit: contain; margin: 4px 0; }
.product-link-name { font-size: 14px; font-weight: 700; color: #222; line-height: 1.3; cursor: pointer; text-decoration: none; }
.product-link-name:hover { color: var(--cta-bg); text-decoration: underline; }
.battle-veredito-text { font-size: 14px; color: var(--muted); line-height: 1.5; padding: 20px; background-color: #FAFAFA; border-top: 1px solid var(--border); text-align: center; }
.battle-cta-wrapper { display: grid; grid-template-columns: 1fr 1fr; border-top: 1px solid var(--border); }
.battle-cta-btn { display: flex; align-items: center; justify-content: center; gap: 6px; padding: 14px; color: #FFFFFF; font-size: 14px; font-weight: 600; text-align: center; border: none; text-decoration: none; }
.battle-cta-btn:hover { opacity: 0.9; text-decoration: none; }
.btn-top1 { background-color: var(--cta-bg); border-right: 1px solid rgba(255,255,255,0.2); }
.btn-top2 { background-color: var(--success); }

@media (min-width: 768px) {
  .battle-title { font-size: 28px; }
  .battle-cell { font-size: 14px; padding: 16px; }
  .crit-cell { font-size: 11px; }
  .product-battle-img { height: 100px; }
  .product-link-name { font-size: 16px; }
}

/* ═══ CONTINUE EXPLORANDO (Grid de relacionados — estilo ML) ═══ */
.related-grid-section { margin-top: 32px; padding-top: 24px; border-top: 1px solid var(--border); }
.related-grid-section h2 { font-size: 18px; font-weight: 700; margin-bottom: 16px; color: var(--text); }
.related-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 16px; }
.related-card {
  display: flex; flex-direction: column; background: #FFFFFF;
  border: 1px solid var(--border); border-radius: 4px; overflow: hidden;
  text-decoration: none; transition: box-shadow 0.2s, border-color 0.2s;
  box-shadow: 0 1px 2px 0 rgba(0,0,0,.12);
}
.related-card:hover { border-color: var(--cta-bg); box-shadow: 0 4px 12px rgba(0,0,0,.1); }
.related-card-img {
  width: 100%; height: 200px; overflow: hidden;
  background: #FFFFFF; display: flex; align-items: center; justify-content: center;
}
.related-card-img img { width: 100%; height: 100%; object-fit: contain; padding: 12px; }
.related-card-placeholder svg { width: 40px; height: 40px; color: var(--border); }
.related-card-body { padding: 12px 14px; }
.related-card-title {
  font-size: 14px; font-weight: 600; color: var(--text);
  display: -webkit-box; -webkit-line-clamp: 2; line-clamp: 2;
  -webkit-box-orient: vertical; overflow: hidden;
  line-height: 1.4; min-height: 2.8em;
}

@media (max-width: 767px) {
  .related-grid { grid-template-columns: 1fr; gap: 12px; }
  .related-card-img { height: 180px; }
}

/* ==========================================================================
   FOOTER
   ========================================================================== */
.pub-footer {
  background-color: var(--text);
  color: #FFFFFF;
  padding: 32px 0;
  text-align: center;
  flex-shrink: 0;
}
.pub-footer p { font-size: 12px; color: var(--subtle); max-width: 600px; margin: 0 auto; }

/* ==========================================================================
   MEDIA QUERIES — DESKTOP (min-width: 768px)
   ========================================================================== */
@media (min-width: 768px) {
  .hero h1 { font-size: 28px; }
  .hero p { font-size: 16px; }
  .article-grid { grid-template-columns: repeat(3, 1fr); gap: 24px; }

  /* Primeiro card hero — destaque visual */
  .article-grid .article-card:first-child {
    grid-column: span 2; grid-row: span 2;
  }
  .article-grid .article-card:first-child .card-img-wrapper {
    aspect-ratio: auto; flex: 1; min-height: 250px;
  }
  .article-grid .article-card:first-child .card-content {
    padding: 20px; flex-grow: 0;
  }
  .article-grid .article-card:first-child .card-title {
    font-size: 22px; -webkit-line-clamp: 3; line-clamp: 3; min-height: auto;
  }
  .article-grid .article-card:first-child .card-date { margin-top: 6px; }
  .article-grid .article-card:first-child .tag-category { font-size: 12px; }
  .article-title { font-size: 32px; }
  .article-intro { font-size: 16px; line-height: 1.6; }

  /* Logo desktop */
  .logo-bdo svg { width: 28px; height: 28px; }
  .logo-bdo .logo-text { font-size: 24px; }

  /* Produtos desktop: imagem à esquerda */
  .product-content-grid {
    display: grid;
    grid-template-columns: 280px 1fr;
    gap: 24px;
    align-items: flex-start;
  }
  .product-img { height: 220px; margin-bottom: 0; }
  .product-name { font-size: 20px; }
  .price-current { font-size: 32px; }
  .rank-number { width: 36px; height: 36px; font-size: 18px; }
  .product-bordered { padding: 20px; }

  /* Review: sem clamp no desktop */
  .product-review { -webkit-line-clamp: unset; line-clamp: unset; display: block; font-size: 15px; line-height: 1.6; }

  /* Features list: 2 colunas no desktop */
  .features-list { grid-template-columns: repeat(2, 1fr); gap: 8px 16px; margin-bottom: 20px; }
  .features-list li { font-size: 15px; }
  .pro-icon, .con-icon { width: 18px; height: 18px; }

  /* Admin */
  .grid-2 { grid-template-columns: 1fr 1fr; }
}

@media (max-width: 767px) {
  .admin-sidebar { display: none; }
  .admin-main, .admin-content { margin-left: 0; padding: 16px; }
  .grid-2 { grid-template-columns: 1fr; }
}

/* ==========================================================================
   PÁGINAS INSTITUCIONAIS
   ========================================================================== */
.institutional-page { flex: 1 0 auto; padding: 40px 0; background: var(--bg); }
.inst-container {
  max-width: 800px; margin: 0 auto;
  background: #FFFFFF; border-radius: 8px; border: 1px solid var(--border);
  padding: 40px; box-shadow: 0 1px 3px rgba(0,0,0,.06);
}
.inst-container h1 { font-size: 26px; font-weight: 700; margin-bottom: 20px; color: var(--text); }
.inst-container h2 { font-size: 18px; font-weight: 700; margin: 28px 0 10px; color: var(--text); }
.inst-container p { font-size: 15px; line-height: 1.7; color: var(--muted); margin-bottom: 14px; }
.inst-container ul { list-style: disc; padding-left: 24px; margin-bottom: 14px; }
.inst-container ul li { font-size: 15px; color: var(--muted); line-height: 1.7; margin-bottom: 6px; }
.inst-container a { color: #3483FA; text-decoration: underline; }
.faq-item { border: 1px solid var(--border); border-radius: 6px; margin-bottom: 10px; overflow: hidden; background: #FAFAFA; }
.faq-item summary { padding: 16px; font-size: 15px; font-weight: 600; cursor: pointer; list-style: none; color: var(--text); }
.faq-item summary::-webkit-details-marker { display: none; }
.faq-item[open] summary { border-bottom: 1px solid var(--border); }
.faq-item p { padding: 14px 16px; margin: 0; }
.inst-form { display: flex; flex-direction: column; gap: 16px; margin-top: 24px; }
.inst-form label { display: flex; flex-direction: column; gap: 6px; font-size: 14px; font-weight: 600; color: var(--text); }
.inst-form input, .inst-form textarea, .inst-form select { padding: 12px 14px; border: 1px solid var(--border); border-radius: 6px; font-size: 14px; font-family: var(--font-family); color: var(--text); background: #FAFAFA; transition: border-color 0.15s; }
.inst-form input:focus, .inst-form textarea:focus, .inst-form select:focus { border-color: #3483FA; outline: none; background: #FFF; }
.inst-btn { padding: 14px 28px; background: #3483FA; color: #FFF; border: none; border-radius: 6px; font-size: 15px; font-weight: 600; cursor: pointer; transition: background 0.15s; align-self: flex-start; font-family: var(--font-family); }
.inst-btn:hover { background: #2968C8; }
.inst-alert { padding: 14px 18px; border-radius: 6px; font-size: 14px; margin-bottom: 20px; font-weight: 500; }
.inst-alert--ok { background: #E8F5E9; color: #2E7D32; border: 1px solid #A5D6A7; }
.inst-alert--err { background: #FFF3E0; color: #E65100; border: 1px solid #FFCC80; }
.footer-links { display: flex; flex-wrap: wrap; justify-content: center; gap: 16px; margin: 12px 0; padding-top: 12px; border-top: 1px solid rgba(255,255,255,.1); }
.footer-links a { font-size: 13px; color: rgba(255,255,255,.7); text-decoration: none; transition: color 0.15s; }
.footer-links a:hover { color: #FFF; }
.footer-copy { font-size: 12px; color: rgba(255,255,255,.4); margin: 8px 0 0; }

/* ==========================================================================
   FLAT ML DESIGN SYSTEM v8 — Zero sombras, borda cinza, hover azul
   ========================================================================== */
:root {
  --ml-yellow: #FFE600;
  --ml-blue:   #3483FA;
  --ml-bg:     #EBEBEB;
  --ml-card:   #FFFFFF;
  --ml-border: #E0E0E0;
}

/* Flat Card — reset sombras, borda fina */
.flat-card {
  box-shadow: none !important;
  border: 1px solid var(--ml-border) !important;
  border-radius: 6px !important;
  background-color: var(--ml-card);
  transition: border-color 0.2s ease;
  text-decoration: none;
  color: inherit;
}
.flat-card:hover { border-color: var(--ml-blue) !important; }
.article-card { box-shadow: none !important; transition: border-color 0.2s ease, transform 0.2s; }
.article-card:hover { box-shadow: none !important; transform: translateY(-2px); border-color: var(--ml-blue) !important; }

/* Trust box sem sombra */
.trust-box { box-shadow: none !important; }

/* ── Hero + Busca ───────────────────────────────────── */
.ml-hero {
  background: var(--ml-yellow);
  padding: 18px 0 16px;
}
.ml-search-bar {
  display: flex; align-items: center; gap: 10px;
  background: #FFF; border-radius: 4px;
  padding: 10px 14px; border: 1px solid var(--ml-border);
  max-width: 700px; width: 100%;
  flex-wrap: nowrap;
}
.ml-search-bar input {
  border: none; outline: none; font-size: 14px;
  font-family: var(--font-family); flex: 1; background: transparent;
  color: var(--text);
  min-width: 0;
}
.ml-search-btn {
  background: var(--ml-blue); color: #FFF;
  border: none; border-radius: 3px; font-size: 13px;
  font-weight: 600; padding: 7px 16px; cursor: pointer;
  font-family: var(--font-family); white-space: nowrap;
  transition: background 0.15s;
  flex-shrink: 0;
}
.ml-search-btn:hover { background: #2968C8; }
.ml-hero-subtitle {
  font-size: 13px; color: rgba(0,0,0,0.6); margin-top: 10px;
}
.ml-search-result-info {
  font-size: 13px; color: rgba(0,0,0,0.7); margin-top: 10px;
}

/* ── Categorias Círculos ────────────────────────────── */
.ml-categories-wrap {
  background: #FFF;
  border-bottom: 1px solid var(--ml-border);
  padding: 12px 0 8px;
}
.circle-categories-nav {
  display: flex !important;
  flex-direction: row !important;
  flex-wrap: nowrap !important;
  overflow-x: auto;
  gap: 4px;
  scroll-behavior: smooth;
  -webkit-overflow-scrolling: touch;
  padding-bottom: 4px;
  padding-top: 2px;
  scrollbar-width: none;
  align-items: flex-start;
}
.circle-categories-nav::-webkit-scrollbar { display: none; }
.circle-item {
  display: flex !important;
  flex-direction: column !important;
  align-items: center !important;
  gap: 5px;
  text-decoration: none;
  flex-shrink: 0;
  cursor: pointer;
  padding: 4px 8px;
  min-width: 72px;
}
.circle-bg {
  width: 58px;
  height: 58px;
  border-radius: 50%;
  background: var(--ml-card);
  border: 1px solid var(--ml-border);
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  color: #555;
  transition: border-color 0.2s, background 0.2s;
  box-shadow: none !important;
  flex-shrink: 0;
}
.circle-item:hover .circle-bg,
.circle-item.active .circle-bg {
  border-color: var(--ml-blue) !important;
  background: #F0F7FF;
  color: var(--ml-blue);
}
.circle-item span {
  font-size: 11px;
  font-weight: 500;
  color: #444;
  text-align: center;
  width: 64px;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
  display: block;
}
.circle-item.active span { color: var(--ml-blue); font-weight: 700; }

/* ── Carrossel Ofertas — Estilo Mercado Livre ───────────── */
.ml-offers-section {
  background: #FFF;
  padding: 16px 0 0;
  border-bottom: 1px solid var(--ml-border);
  margin-bottom: 24px;
}

/* Cabeçalho: título à esq, tag + setas à dir */
.ml-offers-section .ml-section-header {
  margin-bottom: 12px;
}
.offers-header-right {
  display: flex; align-items: center; gap: 10px;
}
.ml-updated-tag {
  display: inline-flex; align-items: center; gap: 4px;
  font-size: 11px; font-weight: 600; color: #777;
  background: #F5F5F5; border: 1px solid #E8E8E8;
  border-radius: 20px; padding: 3px 10px;
  white-space: nowrap;
}

/* Botões de seta */
.offers-nav-arrows {
  display: flex; align-items: center; gap: 4px;
}
.offers-arrow {
  width: 30px; height: 30px;
  border-radius: 50%;
  border: 1px solid #E0E0E0;
  background: #FFF;
  display: flex; align-items: center; justify-content: center;
  cursor: pointer; transition: border-color 0.15s, background 0.15s;
  color: #555; padding: 0;
}
.offers-arrow:hover:not(:disabled) {
  border-color: var(--ml-blue); color: var(--ml-blue); background: #F0F7FF;
}
.offers-arrow:disabled { opacity: 0.4; cursor: default; }

/* Wrapper do carrossel com overflow */
.offers-carousel-wrapper { overflow: hidden; }
.offers-carousel {
  display: flex; overflow-x: auto; gap: 10px;
  padding-bottom: 18px; padding-top: 2px;
  scrollbar-width: none; -webkit-overflow-scrolling: touch;
  scroll-behavior: smooth;
}
.offers-carousel::-webkit-scrollbar { display: none; }

/* ── CARD individual ── */
.offer-card {
  flex-shrink: 0;
  width: 170px;
  border: 1px solid var(--ml-border);
  border-radius: 4px;
  background: #FFF;
  display: flex; flex-direction: column;
  text-decoration: none; color: inherit;
  transition: box-shadow 0.18s, border-color 0.18s;
  overflow: hidden;
}
.offer-card:hover {
  border-color: var(--ml-blue);
  box-shadow: 0 2px 10px rgba(52,131,250,0.12);
}

/* Imagem — quadrado com position:relative para o pill de desconto */
.offer-card-img {
  position: relative;
  width: 100%;
  height: 150px;
  background: #FFFFFF !important;
  display: flex; align-items: center; justify-content: center;
  padding: 10px;
  box-sizing: border-box;
  border-bottom: 1px solid #F0F0F0;
}
.offer-card-img img {
  max-width: 100%; max-height: 100%;
  object-fit: contain;
}

/* Pill de % OFF sobre a imagem (canto inferior esquerdo) */
.offer-card-pct-pill {
  position: absolute;
  bottom: 6px; left: 6px;
  font-size: 11px; font-weight: 800;
  color: #00A650;
  background: #E8F5E9;
  border: 1px solid #A5D6A7;
  border-radius: 4px;
  padding: 2px 6px;
  line-height: 1.3;
  white-space: nowrap;
}

/* Corpo do card */
.offer-card-body {
  padding: 10px 10px 12px;
  display: flex; flex-direction: column; gap: 3px;
  flex: 1;
}

/* Preço riscado */
.offer-original-price {
  font-size: 11px; color: #999; text-decoration: line-through; line-height: 1.2;
}
/* Preço atual grande */
.offer-price-current {
  font-size: 19px; font-weight: 700; color: #333; line-height: 1.15;
  margin-top: 1px;
}
/* Frete grátis */
.offer-frete {
  font-size: 11px; font-weight: 700; color: #00A650;
  display: flex; align-items: center; gap: 3px;
  margin-top: 1px;
}
/* Badges coloridos por tipo */
.offer-badge-label {
  display: inline-block;
  font-size: 10px; font-weight: 700;
  border-radius: 4px; padding: 2px 7px;
  width: fit-content; white-space: nowrap;
  margin-top: 2px;
}
.offer-badge-melhor-geral         { background: #FFF8E1; color: #FF8F00; border: 1px solid #FFE082; }
.offer-badge-custo-benef-cio,
[class*="offer-badge-custo"]       { background: #E8F5E9; color: #2E7D32; border: 1px solid #A5D6A7; }
.offer-badge-mais-barato          { background: #E3F2FD; color: #1565C0; border: 1px solid #90CAF9; }
/* fallback genérico */
.offer-badge-label:not([class*="offer-badge-m"]):not([class*="offer-badge-c"]) {
  background: #F5F5F5; color: #555; border: 1px solid #E0E0E0;
}

/* Nome do produto — 2 linhas max */
.offer-name {
  font-size: 12px; color: #555; line-height: 1.4;
  display: -webkit-box; -webkit-line-clamp: 2; line-clamp: 2;
  -webkit-box-orient: vertical; overflow: hidden;
  margin: 3px 0 0; font-weight: 400;
}

/* ── Responsividade mobile: cards ligeiramente menores ── */
@media (max-width: 480px) {
  .offer-card       { width: 148px; }
  .offer-card-img   { height: 130px; }
  .offer-price-current { font-size: 17px; }
  /* Ocultar setas no mobile (scroll touch é suficiente) */
  .offers-nav-arrows { display: none; }
}
@media (min-width: 768px) {
  .offer-card     { width: 186px; }
  .offer-card-img { height: 160px; }
}

/* ── Section Header ─────────────────────────────────── */
.ml-section-header {
  display: flex; align-items: center; justify-content: space-between; gap: 10px;
}
.ml-section-title {
  font-size: 16px; font-weight: 700; color: #333;
  display: flex; align-items: center; gap: 8px; margin: 0;
}
.ml-section-badge {
  font-size: 11px; background: #F0F7FF; color: var(--ml-blue);
  border: 1px solid #C4DFFF; border-radius: 20px;
  padding: 3px 10px; font-weight: 600; white-space: nowrap;
}

/* ── Estado Vazio ───────────────────────────────────── */
.ml-empty-state {
  text-align: center; padding: 60px 20px; color: #999;
}
.ml-empty-state p { font-size: 15px; margin: 14px 0 20px; }
.ml-btn-link {
  display: inline-block; padding: 10px 24px;
  background: var(--ml-blue); color: #FFF;
  border-radius: 4px; font-size: 14px; font-weight: 600;
  text-decoration: none; transition: background 0.15s;
}
.ml-btn-link:hover { background: #2968C8; }

/* ── Card Image Empty Slot ──────────────────────────── */
.card-img-empty {
  background: #F9F9F9; display: flex;
  align-items: center; justify-content: center;
}


/* ── Homepage Grid ML ───────────────────────────────── */
.homepage-main { padding-top: 24px; }

/* ══ PÓDIO MACRO GRID ══════════════════════════════ */
.podio-macro-grid {
  display: flex;
  flex-direction: column;
  gap: 20px;
  margin-bottom: 32px;
}
@media (min-width: 992px) {
  .podio-macro-grid {
    display: grid;
    grid-template-columns: 1.8fr 1fr;
    gap: 24px;
  }
}

/* ── Coluna Esquerda (list-cards) ── */
.podio-left {
  display: flex;
  flex-direction: column;
  gap: 16px;
  height: 100%;
}
@media (min-width: 992px) {
  .podio-left { gap: 20px; }
}

.list-card {
  flex: 1;
  display: flex;
  flex-direction: column;
  text-decoration: none;
  color: inherit;
  overflow: hidden;
  min-height: 110px;
}
@media (min-width: 576px) {
  .list-card { flex-direction: row; align-items: stretch; }
}

.list-card .list-img {
  width: 100%;
  height: 140px;
  flex-shrink: 0;
  border-bottom: 1px solid #E0E0E0;
  padding: 20px;
  align-items: center;
}
@media (min-width: 576px) {
  .list-card .list-img {
    width: 40%;
    height: auto;
    border-bottom: none;
    border-right: 1px solid #E0E0E0;
  }
}

.list-card-body {
  padding: 16px;
  display: flex;
  flex-direction: column;
  justify-content: center;
  flex: 1;
}
@media (min-width: 576px) {
  .list-card-body { padding: 24px 32px; }
}

/* ── Coluna Direita (normal-cards) ── */
.podio-right {
  display: flex;
  flex-direction: column;
  gap: 16px;
  height: 100%;
}
@media (min-width: 992px) {
  .podio-right { gap: 24px; }
}

.normal-card {
  display: flex;
  flex-direction: column;
  text-decoration: none;
  color: inherit;
  overflow: hidden;
  flex: 1;
}

.normal-card .normal-img {
  width: 100%;
  height: 160px;
  border-bottom: 1px solid #E0E0E0;
  flex-shrink: 0;
}
@media (min-width: 992px) {
  .normal-card .normal-img { height: 180px; }
}

.normal-card-body {
  padding: 16px;
  display: flex;
  flex-direction: column;
  justify-content: center;
  flex: 1;
}

/* ── Multi-Image Box (3 imagens lado a lado) ── */
.multi-img-box {
  display: flex;
  justify-content: center;
  align-items: center;
  gap: 8px;
  background: #FFF;
  padding: 12px;
  width: 100%;
  height: 100%;
  box-sizing: border-box;
}
.multi-img-box img {
  width: 28%;
  max-height: 100%;
  object-fit: contain;
  flex-shrink: 0;
}
.multi-img-ph {
  width: 28%;
  display: flex;
  align-items: center;
  justify-content: center;
  background: #F9F9F9;
  border-radius: 4px;
  aspect-ratio: 1;
}

/* ── Guide Badge (só categoria principal) ── */
.guide-badge {
  display: inline-block;
  font-size: 10px;
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: 0.06em;
  color: var(--ml-blue, #3483FA);
  background: #EFF6FF;
  border: 1px solid #BFDBFE;
  border-radius: 4px;
  padding: 2px 7px;
  margin-bottom: 4px;
  width: fit-content;
}

/* ── Grid Secundário (posts 6-8, 3 colunas) ── */
.guides-grid-secondary {
  display: grid;
  grid-template-columns: 1fr;
  gap: 16px;
  margin-bottom: 32px;
}
@media (min-width: 600px) {
  .guides-grid-secondary { grid-template-columns: repeat(2, 1fr); gap: 20px; }
}
@media (min-width: 900px) {
  .guides-grid-secondary { grid-template-columns: repeat(3, 1fr); gap: 24px; }
}

/* ==========================================================================
   VITRINE TOP 3 — HÍBRIDA (Lista mobile / Grid desktop)
   ========================================================================== */
.top3-showcase { margin-bottom: 32px; padding: 16px; background: #FAFAFA; border: 1px solid var(--border); border-radius: var(--radius, 8px); }
.top3-showcase-title { font-size: 14px; font-weight: 700; text-transform: uppercase; color: var(--text); margin-bottom: 16px; display: flex; justify-content: center; align-items: center; gap: 6px; letter-spacing: 0.5px; }

/* Grid: coluna no mobile, 3 colunas no desktop */
.top3-grid { display: flex; flex-direction: column; gap: 12px; }
@media (min-width: 768px) {
  .top3-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 16px; }
}

/* ── CARD ── */
.top3-card {
  background: var(--card-bg, #FFF);
  border: 1px solid var(--border);
  border-radius: 8px;
  display: flex;
  flex-direction: row;
  align-items: center;
  gap: 12px;
  padding: 12px;
  position: relative;
  transition: border-color 0.2s;
}
/* Mobile: borda esquerda colorida por rank */
.top3-card.rank-1 { border-left: 5px solid var(--gold, #FFD700); }
.top3-card.rank-2 { border-left: 5px solid var(--silver, #C0C0C0); }
.top3-card.rank-3 { border-left: 5px solid var(--bronze, #CD7F32); }
.top3-card:hover { border-color: var(--cta-bg, #3483FA); }

/* Desktop: card vira coluna centralizada com border-top colorida */
@media (min-width: 768px) {
  .top3-card {
    flex-direction: column;
    text-align: center;
    padding: 24px 16px 16px;
    border-left: 1px solid var(--border); /* Reset border-left no desktop */
    border-top-width: 5px;
    border-top-style: solid;
  }
  .top3-card.rank-1 { border-top-color: var(--gold, #FFD700); border-left-color: var(--border); }
  .top3-card.rank-2 { border-top-color: var(--silver, #C0C0C0); border-left-color: var(--border); }
  .top3-card.rank-3 { border-top-color: var(--bronze, #CD7F32); border-left-color: var(--border); }
}

/* ── RANK PILL ── */
.top3-rank-pill {
  position: absolute;
  top: -8px; left: 10px;
  font-size: 9px;
  font-weight: 800;
  padding: 2px 8px;
  border-radius: 100px;
  color: #333;
  box-shadow: 0 2px 4px rgba(0,0,0,0.1);
  white-space: nowrap;
}
.top3-rank-pill.rank-1 { background: var(--gold, #FFD700); }
.top3-rank-pill.rank-2 { background: var(--silver, #C0C0C0); }
.top3-rank-pill.rank-3 { background: var(--bronze, #CD7F32); color: #FFF; }
@media (min-width: 768px) {
  .top3-rank-pill { left: 50%; transform: translateX(-50%); top: -10px; padding: 3px 14px; font-size: 10px; }
}

/* ── IMAGEM ── */
.top3-thumb {
  width: 80px; height: 80px;
  flex-shrink: 0;
  display: flex; align-items: center; justify-content: center;
  cursor: pointer;
}
.top3-thumb img { max-width: 100%; max-height: 100%; object-fit: contain; }
@media (min-width: 768px) {
  .top3-thumb { width: auto; height: 110px; margin: 8px 0; }
}

/* ── BODY: conteúdo ── */
.top3-body { display: flex; flex-direction: column; flex: 1; min-width: 0; gap: 4px; }
@media (min-width: 768px) {
  .top3-body { align-items: center; gap: 6px; }
}

/* Badge label — chamativo com fundo colorido por rank */
.top3-badge-label {
  font-size: 10px;
  font-weight: 800;
  text-transform: uppercase;
  letter-spacing: 0.3px;
  padding: 3px 8px;
  border-radius: 4px;
  width: fit-content;
}
/* Cores por rank via parent */
.rank-1 .top3-badge-label { background: #FFF8E1; color: #FF8F00; border: 1px solid #FFE082; }
.rank-2 .top3-badge-label { background: #F5F5F5; color: #616161; border: 1px solid #E0E0E0; }
.rank-3 .top3-badge-label { background: #FFF3E0; color: #E65100; border: 1px solid #FFCC80; }

/* Título do produto */
.top3-title {
  font-size: 13px; font-weight: 600; color: var(--text);
  line-height: 1.3; margin: 0;
  display: -webkit-box; -webkit-line-clamp: 2; line-clamp: 2;
  -webkit-box-orient: vertical; overflow: hidden;
}
@media (min-width: 768px) {
  .top3-title { font-size: 14px; min-height: 36px; }
}

/* ── TAG % OFF (isca visível) ── */
.top3-off-tag {
  display: inline-flex; align-items: center; gap: 4px;
  background: #D1FAE5; color: var(--success, #00A650);
  font-size: 12px; font-weight: 700;
  padding: 2px 8px; border-radius: 4px;
  border: 1px solid #A3DFC0;
  width: fit-content;
}
.top3-off-tag svg { stroke: var(--success, #00A650); flex-shrink: 0; }

/* ── PREÇO OCULTO ── */
.top3-price-area {
  position: relative; cursor: pointer;
  min-height: 40px; display: flex; align-items: center;
}
.top3-price-hidden {
  display: flex; flex-direction: column; gap: 1px;
  opacity: 0; filter: blur(8px);
  transition: opacity 0.35s ease, filter 0.35s ease;
  user-select: none;
}
.top3-lock-msg {
  position: absolute; bottom: 0; left: 0;
  display: flex; align-items: center; justify-content: flex-start; gap: 6px;
  font-size: 13px; font-weight: 700;
  color: var(--muted, #333);
  background: rgba(255, 255, 255, 0.7);
  backdrop-filter: blur(4px);
  padding: 4px 8px;
  border-radius: 6px;
  white-space: nowrap;
  transition: opacity 0.3s ease;
}
.top3-lock-msg svg { flex-shrink: 0; color: var(--text, #333); }

@media (min-width: 768px) {
  .top3-lock-msg { left: 50%; transform: translateX(-50%); justify-content: center; width: max-content; }
}

/* ── CTA BUTTON ── */
.top3-cta {
  display: flex; align-items: center; justify-content: center; gap: 6px;
  width: 100%; padding: 10px 16px;
  background: var(--cta-bg, #3483FA); color: #FFF;
  font-size: 13px; font-weight: 700; border: none;
  border-radius: 6px; cursor: pointer;
  font-family: var(--font-family, 'Inter', sans-serif);
  transition: background 0.2s;
  text-decoration: none;
}
.top3-cta:hover { background: var(--cta-hover, #2968C8); }
.top3-cta svg { flex-shrink: 0; }

/* ── ESTADOS REVELADOS (Top 3) ── */
.top3-card.is-revealed .top3-price-hidden { opacity: 1; filter: blur(0); user-select: auto; }
.top3-card.is-revealed .top3-lock-msg { opacity: 0; visibility: hidden; pointer-events: none; display: none; }
.top3-card.is-revealed .top3-cta { background: var(--success, #00A650); }
.top3-card.is-revealed .top3-cta:hover { background: #15803D; }

/* ==========================================================================
   CLICK TO REVEAL — Preço Oculto + Gatilhos CRO
   ========================================================================== */
.reveal-container { display: flex; flex-direction: column; width: 100%; margin-top: auto; }
.price-original { font-size: 12px; color: var(--subtle, #999); text-decoration: line-through; display: block; margin-bottom: 2px; }

.price-value-wrapper { position: relative; display: flex; flex-direction: column; align-items: center; cursor: pointer; margin-bottom: 16px; min-height: 54px; justify-content: center; }
.price-real-box { display: flex; flex-direction: column; align-items: center; opacity: 0; filter: blur(8px); transition: all 0.3s ease; user-select: none; }
.price-wrapper { display: flex; align-items: center; gap: 6px; flex-wrap: wrap; justify-content: center; }
.price-current { font-size: 22px; font-weight: 700; color: var(--text); line-height: 1.1; }
.price-discount { font-size: 12px; font-weight: 600; color: var(--success, #00A650); background: #D1FAE5; border-radius: 4px; padding: 2px 6px; }
.shipping-tag { font-size: 12px; font-weight: 600; color: var(--success, #00A650); margin-top: 4px; }

/* Mensagem de Bloqueio (O Cadeado) */
.price-locked-msg { position: absolute; top: 0; left: 0; width: 100%; height: 100%; display: flex; align-items: center; justify-content: center; gap: 6px; font-size: 13px; font-weight: 700; color: var(--muted); background: transparent; transition: opacity 0.3s ease; }

.btn-revelar { background-color: var(--cta-bg, #3483FA); color: #FFF; padding: 12px; border-radius: 6px; font-size: 14px; font-weight: 600; border: none; cursor: pointer; display: flex; justify-content: center; align-items: center; gap: 8px; width: 100%; transition: background 0.2s; font-family: var(--font-family, 'Inter', sans-serif); text-decoration: none; }
.btn-revelar:hover { background-color: var(--cta-hover, #2968C8); }

/* Estados JS (Quando Clicado) */
.is-revealed .price-real-box { opacity: 1; filter: blur(0); user-select: auto; }
.is-revealed .price-locked-msg { opacity: 0; visibility: hidden; pointer-events: none; display: none; }
.is-revealed .btn-revelar { background-color: var(--success, #00A650); }

/* ==========================================================================
   CONVERSION BOX — Reveal com Gatilho % OFF nos Cards Detalhados
   ========================================================================== */
.conversion-box {
  background: #FAFAFA;
  border: 1px solid var(--border);
  border-radius: 8px;
  padding: 20px;
  margin-top: 20px;
  display: flex;
  flex-direction: column;
  gap: 16px;
  box-sizing: border-box;
  width: 100%;
}
/* Desktop revelado */
@media (min-width: 768px) {
  .conversion-box.is-revealed .cv-btn { max-width: 320px; }
}

/* Coluna de preço */
.cv-price-col {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  gap: 4px;
  flex: 1;
  min-width: 0;
}

/* Área clicável */
.cv-reveal-zone {
  display: flex;
  flex-direction: column;
  cursor: pointer;
}

/* === ESTADO 1: ISCA (Antes do clique) === */
.cv-bait-state {
  display: flex;
  flex-direction: column;
  gap: 12px;
  align-items: flex-start;
}
.cv-off-tag-alone {
  display: inline-flex;
  align-items: center;
  gap: 4px;
  background: var(--success, #00A650);
  color: #fff;
  font-size: 14px;
  font-weight: 800;
  padding: 5px 14px;
  border-radius: 4px;
}
.cv-locked-msg {
  display: flex;
  align-items: center;
  gap: 6px;
  font-size: 14px;
  font-weight: 600;
  color: var(--muted, #666);
  white-space: nowrap;
}
.cv-locked-msg svg { flex-shrink: 0; }

/* === ESTADO 2: PREÇO REVELADO (Identidade ML - Inicialmente Oculto) === */
.cv-real-prices-state {
  display: none;
  flex-direction: column;
  align-items: flex-start;
  gap: 2px;
}
.ml-price-old {
  font-size: 14px;
  text-decoration: line-through;
  color: var(--subtle, #999);
}
.ml-price-row {
  display: flex;
  align-items: baseline;
  gap: 8px;
  flex-wrap: wrap;
}
.ml-price-current {
  font-size: 28px;
  font-weight: 400;
  color: var(--text, #333);
  line-height: 1.2;
}
.ml-price-off {
  background: #D1FAE5;
  color: var(--success, #00A650);
  padding: 2px 8px;
  border-radius: 4px;
  font-size: 14px;
  font-weight: 700;
}
.conversion-box .shipping-tag {
  font-size: 14px;
  font-weight: 600;
  color: var(--success, #00A650);
  margin-top: 2px;
}

/* Botão CTA — Azul inicial */
.cv-btn {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 8px;
  width: 100%;
  padding: 14px 24px;
  background: var(--cta-bg, #3483FA);
  color: #FFF;
  font-size: 15px;
  font-weight: 700;
  border: none;
  border-radius: 8px;
  cursor: pointer;
  font-family: var(--font-family, 'Inter', sans-serif);
  transition: background 0.2s, transform 0.1s;
  white-space: nowrap;
}
.cv-btn:hover { background: var(--cta-hover, #2968C8); transform: translateY(-1px); }
.cv-btn:active { transform: translateY(0); }
.cv-btn svg { flex-shrink: 0; }

/* ── ESTADO REVELADO ── */
.conversion-box.is-revealed .cv-bait-state {
  display: none;
}
.conversion-box.is-revealed .cv-real-prices-state {
  display: flex;
}
.conversion-box.is-revealed .cv-btn {
  background: var(--success, #00A650);
}
.conversion-box.is-revealed .cv-btn:hover {
  background: #15803D;
}

/* ════════════════════════════════════════════════════════
   LAYOUT HÍBRIDO — Pódio + Lista Editorial + Grade Compacta
   hb-* prefix para não colidir com estilos existentes
   ════════════════════════════════════════════════════════ */

/* ── Grid do Pódio ── */
.hb-podio-grid {
  display: flex; flex-direction: column; gap: 14px; margin-bottom: 0;
}
@media (min-width: 900px) {
  .hb-podio-grid {
    display: grid;
    grid-template-columns: 1.8fr 1fr;
    align-items: stretch;
    gap: 20px;
  }
}

/* Coluna esquerda: 3 list-cards */
.hb-podio-left { display: flex; flex-direction: column; gap: 14px; }
@media (min-width: 900px) {
  .hb-podio-left { height: 100%; justify-content: space-between; gap: 0; }
}
.hb-list-card {
  display: flex; flex-direction: column; min-height: 110px;
  background: #fff; border: 1px solid var(--border); border-radius: 6px;
  overflow: hidden; transition: border-color .18s, box-shadow .18s;
}
.hb-list-card:hover { border-color: var(--cta-bg); box-shadow: 0 2px 12px rgba(52,131,250,.1); }
@media (min-width: 540px) { .hb-list-card { flex-direction: row; align-items: stretch; } }
@media (min-width: 900px) {
  .hb-list-card { flex: 1; margin-bottom: 14px; flex-direction: row; align-items: stretch; }
  .hb-list-card:last-child { margin-bottom: 0; }
}
.hb-list-img {
  width: 100%; height: 140px; flex-shrink: 0;
  border-bottom: 1px solid var(--border); background: #fff !important;
}
@media (min-width: 540px) {
  .hb-list-img { width: 38%; height: auto; border-bottom: none; border-right: 1px solid var(--border); }
}
.hb-list-body {
  padding: 14px 16px; display: flex; flex-direction: column;
  justify-content: center; gap: 5px; flex: 1;
}

/* Coluna direita: 2 normal-cards */
.hb-podio-right { display: flex; flex-direction: column; gap: 14px; }
.hb-normal-card {
  display: flex; flex-direction: column;
  background: #fff; border: 1px solid var(--border); border-radius: 6px;
  overflow: hidden; transition: border-color .18s, box-shadow .18s;
}
.hb-normal-card:hover { border-color: var(--cta-bg); box-shadow: 0 2px 12px rgba(52,131,250,.1); }
.hb-normal-img {
  width: 100%; height: 175px;
  border-bottom: 1px solid var(--border); background: #fff !important;
}
@media (min-width: 900px) { .hb-normal-img { height: 200px; } }
.hb-normal-body { padding: 14px; display: flex; flex-direction: column; gap: 5px; justify-content: center; }


/* ── Lista Editorial Ranqueada ── */
.hb-lista-wrap { padding: 12px 0 16px; }
.hb-grid-wrap { padding: 20px 0 28px; }
.hb-sec-label {
  font-size: 10px; font-weight: 800; text-transform: uppercase; letter-spacing: .8px;
  color: var(--subtle); display: flex; align-items: center; gap: 10px; margin-bottom: 12px;
}
.hb-sec-label::before, .hb-sec-label::after { content: ''; flex: 1; height: 1px; background: var(--border); }

.hb-editorial-list {
  display: flex; flex-direction: column; gap: 0;
  border: 1px solid var(--border); border-radius: 6px; overflow: hidden;
}
.hb-ei-item {
  display: flex; align-items: stretch;
  border-bottom: 1px solid var(--border);
  background: #fff; transition: background .15s;
  text-decoration: none; color: inherit;
}
.hb-ei-item:last-child { border-bottom: none; }
.hb-ei-item:hover { background: #f9fbff; }
.hb-ei-rank {
  width: 50px; flex-shrink: 0;
  display: flex; align-items: center; justify-content: center;
  font-size: 20px; font-weight: 800; color: #ddd;
  border-right: 1px solid var(--border);
}
.hb-ei-item:nth-child(1) .hb-ei-rank { color: #FFD700; }
.hb-ei-item:nth-child(2) .hb-ei-rank { color: #C0C0C0; }
.hb-ei-item:nth-child(3) .hb-ei-rank { color: #CD7F32; }
.hb-ei-img {
  width: 110px; flex-shrink: 0; height: 96px;
  border-right: 1px solid var(--border); background: #fff !important;
}
@media (max-width: 540px) { .hb-ei-img { width: 82px; } }
.hb-ei-body {
  padding: 12px 16px; display: flex; flex-direction: column;
  gap: 4px; justify-content: center; flex: 1; min-width: 0;
}
.hb-ei-title {
  font-size: 14px; font-weight: 700; line-height: 1.3; color: var(--text);
  display: -webkit-box; -webkit-line-clamp: 2; -webkit-box-orient: vertical; overflow: hidden;
}
.hb-ei-intro {
  font-size: 12px; color: var(--muted); line-height: 1.45;
  display: -webkit-box; -webkit-line-clamp: 2; -webkit-box-orient: vertical; overflow: hidden;
}
@media (max-width: 600px) { .hb-ei-intro { display: none; } }
.hb-ei-arrow {
  width: 38px; flex-shrink: 0; display: flex;
  align-items: center; justify-content: center; color: #ccc;
}
.hb-ei-item:hover .hb-ei-arrow { color: var(--cta-bg); }


/* ── Grade Compacta 4 Colunas ── */
.hb-compact-grid {
  display: grid; grid-template-columns: repeat(2, 1fr); gap: 12px;
}
@media (min-width: 540px) { .hb-compact-grid { grid-template-columns: repeat(3, 1fr); gap: 14px; } }
@media (min-width: 900px) { .hb-compact-grid { grid-template-columns: repeat(4, 1fr); gap: 16px; } }

.hb-mini-card {
  display: flex; flex-direction: column;
  background: #fff; border: 1px solid var(--border); border-radius: 6px;
  overflow: hidden; transition: border-color .18s, box-shadow .18s;
}
.hb-mini-card:hover { border-color: var(--cta-bg); box-shadow: 0 2px 12px rgba(52,131,250,.1); }
.hb-mini-img {
  width: 100%; height: 115px;
  border-bottom: 1px solid var(--border); background: #fff !important;
}
.hb-mini-body { padding: 10px 12px 12px; display: flex; flex-direction: column; gap: 5px; }
.hb-mini-title {
  font-size: 13px; font-weight: 700; line-height: 1.3; color: var(--text);
  display: -webkit-box; -webkit-line-clamp: 2; -webkit-box-orient: vertical; overflow: hidden;
}

/* Garante que flat-card seja display:block com herança de cor */
.flat-card { text-decoration: none; color: inherit; display: block; }

/* ── Correções layout híbrido: multi-img-box dentro dos cards hb-* ── */
/* A .multi-img-box no index.php usa display:flex interno, mas precisa de height para não colapsar */
.hb-list-img.multi-img-box,
.hb-normal-img.multi-img-box,
.hb-ei-img.multi-img-box,
.hb-mini-img.multi-img-box {
  display: flex; align-items: center; justify-content: center;
  background: #fff !important; padding: 10px; gap: 6px;
}
.hb-list-img.multi-img-box img,
.hb-normal-img.multi-img-box img,
.hb-ei-img.multi-img-box img,
.hb-mini-img.multi-img-box img {
  width: 30%; max-height: 100%; object-fit: contain; flex-shrink: 0;
}
/* Garante altura nos wrappers de imagem do pódio */
.hb-list-img { height: 140px; }
@media (min-width: 540px) {
  .hb-list-img { width: 38%; height: auto; border-bottom: none !important; border-right: 1px solid var(--border); }
}
.hb-normal-img { height: 175px; }
@media (min-width: 900px) { .hb-normal-img { height: 200px; } }
.hb-ei-img { height: 96px; width: 110px; flex-shrink: 0; border-right: 1px solid var(--border); }
@media (max-width: 540px) { .hb-ei-img { width: 82px; } }
.hb-mini-img { height: 115px; }


/* ════════════════════════════════════════════════════════════
   LAYOUT HÍBRIDO V2 — Pódio + Lista Editorial + Grade Compacta
   Migrado de preview-hibrido.php (aprovado)
   ════════════════════════════════════════════════════════════ */

/* ══ Section header partilhado ══ */
.sec-header {
  display: flex; align-items: center; justify-content: space-between;
  margin-bottom: 14px;
}
.sec-title {
  font-size: 16px; font-weight: 700; color: var(--text);
  display: flex; align-items: center; gap: 8px;
}
.sec-divider { font-size: 11px; color: var(--subtle, #999); font-weight: 600; display: flex; align-items: center; gap: 4px; }

/* ══ Cards base ══ */
.card-v2 {
  background: #fff; border: 1px solid var(--border); border-radius: 6px;
  overflow: hidden; display: block;
  transition: border-color .18s, box-shadow .18s;
  text-decoration: none; color: inherit;
}
.card-v2:hover { border-color: var(--ml-blue); box-shadow: 0 2px 12px rgba(52,131,250,.1); }

/* ══ Imagens 3 side-by-side (pi-box) ══ */
.pi-box {
  display: flex; align-items: center; justify-content: center;
  background: #fff !important; height: 100%; width: 100%; padding: 10px; gap: 6px;
  border-radius: 4px;
}
.pi-box img { width: 30%; max-height: 100%; object-fit: contain; flex-shrink: 0; }
.pi-ph { width: 30%; aspect-ratio: 1; background: #f5f5f5; border-radius: 4px; display: flex; align-items: center; justify-content: center; }

/* Badges */
.cat-pill {
  display: inline-block; font-size: 10px; font-weight: 700;
  text-transform: uppercase; letter-spacing: .06em;
  color: var(--ml-blue); background: #eff6ff; border: 1px solid #bfdbfe;
  border-radius: 4px; padding: 2px 7px; width: fit-content;
}
.meta-v2 { font-size: 12px; color: var(--subtle, #999); display: flex; align-items: center; gap: 5px; }
.meta-sep-v2 { color: #ddd; }


/* ════════════════════════════════════
   SEÇÃO 1 — PÓDIO
   ════════════════════════════════════ */
.podio-section-v2 { background: #fff; padding: 24px 0 0; }

.podio-grid-v2 {
  display: flex; flex-direction: column; gap: 14px; margin-bottom: 0;
}
@media (min-width: 900px) {
  .podio-grid-v2 {
    display: grid;
    grid-template-columns: 1.8fr 1fr;
    align-items: stretch;
    gap: 20px;
  }
}

/* Coluna esquerda: list-cards se distribuem para preencher toda a altura da célula */
.podio-left-v2 { display: flex; flex-direction: column; gap: 14px; }
@media (min-width: 900px) {
  .podio-left-v2 { height: 100%; justify-content: space-between; gap: 0; }
}
.list-card-v2 {
  display: flex; flex-direction: column; min-height: 110px;
}
@media (min-width: 540px) { .list-card-v2 { flex-direction: row; align-items: stretch; } }
@media (min-width: 900px) {
  .list-card-v2 { flex: 1; margin-bottom: 14px; flex-direction: row; align-items: stretch; }
  .list-card-v2:last-child { margin-bottom: 0; }
}
.list-img-wrap-v2 {
  width: 100%; height: 140px; border-bottom: 1px solid var(--border); flex-shrink: 0;
}
@media (min-width: 540px) {
  .list-img-wrap-v2 { width: 38%; height: auto; border-bottom: none; border-right: 1px solid var(--border); }
}
.list-body-v2 {
  padding: 14px 16px; display: flex; flex-direction: column;
  justify-content: center; gap: 5px; flex: 1;
}
.list-title-v2 { font-size: 14px; font-weight: 700; line-height: 1.35; color: var(--text); }

/* Coluna direita: 2 normal-cards com altura equilibrada */
.podio-right-v2 { display: flex; flex-direction: column; gap: 14px; }
.normal-card-v2 { display: flex; flex-direction: column; }
.normal-img-wrap-v2 {
  width: 100%; height: 175px;
  border-bottom: 1px solid var(--border); overflow: hidden;
}
@media (min-width: 900px) {
  .normal-img-wrap-v2 { height: 200px; }
}
.normal-body-v2 { padding: 14px; display: flex; flex-direction: column; gap: 5px; justify-content: center; }
.normal-title-v2 { font-size: 13px; font-weight: 700; line-height: 1.3; color: var(--text); }


/* ════════════════════════════════════
   SEÇÃO 2 — LISTA EDITORIAL (Opção B)
   ════════════════════════════════════ */
.lista-section-v2 { background: #fff; padding: 0 0 0; border-top: 1px solid var(--border); }

.editorial-list-v2 {
  display: flex; flex-direction: column; gap: 0;
  border: 1px solid var(--border); border-radius: 6px; overflow: hidden;
}
.editorial-item-v2 {
  display: flex; align-items: stretch;
  border-bottom: 1px solid var(--border);
  background: #fff; transition: background .15s;
  text-decoration: none; color: inherit;
}
.editorial-item-v2:last-child { border-bottom: none; }
.editorial-item-v2:hover { background: #f9fbff; }

/* Número ranqueado */
.ei-rank-v2 {
  width: 50px; flex-shrink: 0;
  display: flex; align-items: center; justify-content: center;
  font-size: 20px; font-weight: 800; color: #ddd;
  border-right: 1px solid var(--border);
}
.editorial-item-v2:nth-child(1) .ei-rank-v2 { color: #FFD700; }
.editorial-item-v2:nth-child(2) .ei-rank-v2 { color: #C0C0C0; }
.editorial-item-v2:nth-child(3) .ei-rank-v2 { color: #CD7F32; }

/* Imagem compacta */
.ei-img-v2 {
  width: 110px; flex-shrink: 0; height: 96px;
  border-right: 1px solid var(--border);
  background: #fff !important;
}
@media (max-width: 540px) { .ei-img-v2 { width: 82px; } }

/* Corpo */
.ei-body-v2 {
  padding: 12px 16px; display: flex; flex-direction: column;
  gap: 4px; justify-content: center; flex: 1; min-width: 0;
}
.ei-title-v2 {
  font-size: 14px; font-weight: 700; line-height: 1.3; color: var(--text);
  display: -webkit-box; -webkit-line-clamp: 2; -webkit-box-orient: vertical; overflow: hidden;
}
.ei-intro-v2 {
  font-size: 12px; color: var(--muted, #666); line-height: 1.45;
  display: -webkit-box; -webkit-line-clamp: 2; -webkit-box-orient: vertical; overflow: hidden;
}
@media (max-width: 600px) { .ei-intro-v2 { display: none; } }

/* Seta direita */
.ei-arrow-v2 {
  width: 38px; flex-shrink: 0; display: flex;
  align-items: center; justify-content: center; color: #ccc;
}
.editorial-item-v2:hover .ei-arrow-v2 { color: var(--ml-blue); }


/* ════════════════════════════════════
   SEÇÃO 3 — GRADE COMPACTA (Opção C)
   ════════════════════════════════════ */
.grid-section-v2 { background: var(--bg, #EBEBEB); padding: 24px 0 32px; }

.compact-grid-v2 {
  display: grid; grid-template-columns: repeat(2, 1fr); gap: 12px;
}
@media (min-width: 540px) { .compact-grid-v2 { grid-template-columns: repeat(3, 1fr); gap: 14px; } }
@media (min-width: 900px) { .compact-grid-v2 { grid-template-columns: repeat(4, 1fr); gap: 16px; } }

.mini-card-v2 { display: flex; flex-direction: column; }
.mini-img-v2 { width: 100%; height: 115px; border-bottom: 1px solid var(--border); background: #fff !important; }
.mini-body-v2 { padding: 10px 12px 12px; display: flex; flex-direction: column; gap: 5px; }
.mini-title-v2 {
  font-size: 13px; font-weight: 700; line-height: 1.3; color: var(--text);
  display: -webkit-box; -webkit-line-clamp: 2; -webkit-box-orient: vertical; overflow: hidden;
}
.mini-meta-v2 { font-size: 11px; color: var(--subtle, #999); display: flex; align-items: center; gap: 4px; }


/* ════ Wrappers de seção com padding / labels ════ */
.sec-wrap-v2 { padding: 12px 0 16px; }
.sec-wrap-v2 + .sec-wrap-v2 { padding-top: 0; }

/* Linha separadora entre seções 1 e 2 */
.sec-label-v2 {
  font-size: 10px; font-weight: 800; text-transform: uppercase; letter-spacing: .8px;
  color: var(--subtle, #999); display: flex; align-items: center; gap: 10px; margin-bottom: 12px;
}
.sec-label-v2::before, .sec-label-v2::after { content: ''; flex: 1; height: 1px; background: var(--border); }

/* ══ Lista Editorial — Ajustes Mobile (<540px) ══ */
@media (max-width: 539px) {
  .ei-img-v2 { display: none; }
  .ei-arrow-v2 { display: none; }
  .ei-rank-v2 { width: 36px; font-size: 16px; }
  .ei-body-v2 { padding: 10px 12px; }
  .ei-title-v2 { -webkit-line-clamp: 3; }
}

/* ==========================================================================
   BUYING GUIDE SEO — Flat ML Design
   Bordas #E0E0E0. Sem sombras. Fonte Inter. SVGs Lucide.
   ========================================================================== */

.buying-guide {
  margin: 40px 0 32px;
  padding: 28px 24px;
  border: 1px solid #E0E0E0;
  border-radius: 8px;
  background: #FAFAFA;
  font-family: 'Inter', sans-serif;
}

.buying-guide-title {
  font-size: 1.15rem;
  font-weight: 700;
  color: #1A1A1A;
  display: flex;
  align-items: center;
  gap: 10px;
  margin-bottom: 20px;
  padding-bottom: 14px;
  border-bottom: 1px solid #E0E0E0;
}
.buying-guide-title svg {
  flex-shrink: 0;
  color: #3483FA;
}

.buying-guide-section {
  margin-bottom: 18px;
  padding: 16px 18px;
  background: #FFF;
  border: 1px solid #E0E0E0;
  border-radius: 6px;
}
.buying-guide-section h3 {
  font-size: 0.95rem;
  font-weight: 600;
  color: #333;
  display: flex;
  align-items: center;
  gap: 8px;
  margin-bottom: 8px;
}
.buying-guide-section h3 svg {
  flex-shrink: 0;
  color: #3483FA;
}
.buying-guide-section p {
  font-size: 0.88rem;
  line-height: 1.6;
  color: #555;
  margin: 0;
}

.buying-guide-links {
  margin-top: 20px;
  padding-top: 16px;
  border-top: 1px solid #E0E0E0;
}
.buying-guide-links h3 {
  font-size: 0.9rem;
  font-weight: 600;
  color: #333;
  display: flex;
  align-items: center;
  gap: 8px;
  margin-bottom: 12px;
}
.buying-guide-links h3 svg {
  color: #3483FA;
}

.internal-links-grid {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(200px, 1fr));
  gap: 10px;
}

.internal-link-card {
  display: flex;
  align-items: center;
  gap: 10px;
  padding: 12px 14px;
  background: #FFF;
  border: 1px solid #E0E0E0;
  border-radius: 6px;
  text-decoration: none;
  transition: border-color 0.2s, background 0.2s;
}
.internal-link-card:hover {
  border-color: #3483FA;
  background: #F0F6FF;
}
.internal-link-card svg {
  flex-shrink: 0;
  color: #3483FA;
  margin-left: auto;
}

.il-anchor {
  font-size: 0.88rem;
  font-weight: 600;
  color: #1A1A1A;
  white-space: nowrap;
}
.il-context {
  font-size: 0.78rem;
  color: #888;
  flex: 1;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}

/* Mobile: buying guide */
@media (max-width: 600px) {
  .buying-guide { padding: 20px 16px; }
  .buying-guide-title { font-size: 1rem; }
  .internal-links-grid { grid-template-columns: 1fr; }
  .il-context { display: none; }
}

/* === LOGO v45 COM PISCADA ÚNICA === */
.logo-v45 {
  text-decoration: none;
  display: inline-flex;
  flex-direction: column;
  align-items: flex-start;
  font-size: 32px;
  font-weight: 700;
  letter-spacing: -1.2px;
  color: var(--text);
  cursor: pointer;
  user-select: none;
  outline: none;
  margin-top: 4px;
}
.logo-v45 .blue { color: var(--ml-blue); }
.logo-v45 .eye { display: inline-block; transform-origin: center; color: var(--text); }
.logo-v45:hover .eye, .logo-v45:active .eye { animation: blinkOnce 0.35s ease-in-out 1; }
@keyframes blinkOnce {
  0% { transform: scaleY(1); }
  50% { transform: scaleY(0.1); }
  100% { transform: scaleY(1); }
}
.smile-arrow {
  width: 100%;
  height: 12px;
  margin-top: -4px;
  stroke: var(--ml-blue);
  fill: none;
  stroke-width: 4;
  stroke-linecap: round;
}

/* Tamanho customizado para o mobile */
@media (max-width: 767px) {
  .logo-v45 { font-size: 24px; }
  .smile-arrow { height: 10px; margin-top: -3px; }
}

/* Header fix overrides for alignment */
.pub-header { padding: 4px 0 10px; }

/* ==========================================================================
   GUIA RÁPIDO DE DECISÃO
   ========================================================================== */
.quick-decision-guide {
  background: #fefefe;
  border: 1px solid #E5E7EB;
  padding: 30px;
  border-radius: 12px;
  box-shadow: 0 1px 2px rgba(0,0,0,0.02);
  margin-bottom: 32px;
  font-family: 'Inter', sans-serif; 
}

.qdg-title-group {
  text-align: center;
  margin-bottom: 24px;
}

.qdg-title {
  font-size: 18px;
  font-weight: 800;
  color: #111827;
  margin: 0 0 10px;
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 8px;
}

.qdg-subtitle {
  font-size: 13px;
  color: #6B7280;
  font-weight: 400;
  line-height: 1.5;
  display: inline-block;
  max-width: 600px;
  margin: 0 auto;
}

/* Container das Pílulas */
.qdg-cards {
  display: flex;
  flex-wrap: wrap;
  gap: 12px;
  justify-content: center; /* Centraliza no Desktop */
}

/* Estilo de cada Pílula */
.qdg-card {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  padding: 10px 20px;
  background: #FFFFFF;
  border: 1px solid #E5E7EB;
  border-radius: 50px; /* Borda bem arredondada */
  font-size: 14px;
  font-weight: 600;
  text-decoration: none;
  color: #111827;
  transition: all 0.2s;
  box-shadow: 0 1px 2px rgba(0,0,0,0.02);
}

.qdg-card:hover {
  border-color: #3483FA;
  color: #3483FA;
  box-shadow: 0 4px 12px rgba(52, 131, 250, 0.1);
  transform: translateY(-1px);
}

/* Ícones dentro da Pílula */
.qdg-icon-wrap {
  display: flex;
  align-items: center;
  justify-content: center;
}
.qdg-icon { 
  width: 18px; 
  height: 18px; 
}

/* Cores Dinâmicas nos Ícones */
.qdg-card:nth-child(5n+1) .qdg-icon-wrap { color: #D97706; }
.qdg-card:nth-child(5n+2) .qdg-icon-wrap { color: #16A34A; }
.qdg-card:nth-child(5n+3) .qdg-icon-wrap { color: #9333EA; }
.qdg-card:nth-child(5n+4) .qdg-icon-wrap { color: #2563EB; }
.qdg-card:nth-child(5n+5) .qdg-icon-wrap { color: #DC2626; }

/* Sistema de Toggle Visível / Oculto */
.qdg-hidden {
  display: none !important;
}
.qdg-hidden.qdg-show {
  display: inline-flex !important;
}

.qdg-expand-btn {
  display: inline-block;
  background: transparent;
  color: #6B7280;
  border: 1px solid #E5E7EB;
  padding: 8px 24px;
  border-radius: 20px;
  font-size: 13px;
  cursor: pointer;
  transition: all 0.2s;
  margin-top: 20px;
}

.qdg-expand-btn:hover {
  background: #F3F4F6;
  color: #374151;
}

/* Disposição Responsiva para Mobile */
@media (max-width: 640px) {
  .quick-decision-guide { padding: 20px; }
  .qdg-title-group { text-align: left; margin-bottom: 16px; }
  .qdg-title { justify-content: flex-start; font-size: 16px; }
  .qdg-subtitle { text-align: left; font-size: 12px; }
  
  .qdg-cards { 
    justify-content: flex-start; /* Alinha à esquerda no celular */
    gap: 8px; 
  }
  .qdg-card { 
    padding: 8px 16px; 
    font-size: 13px; 
  }
}

/* ==========================================================================
   ALERTA TRANSPARENTE
   ========================================================================== */
/* Novo: Ponto de Ouro / Grande Destaque */
.product-golden-highlight {
  display: flex;
  gap: 16px;
  background: linear-gradient(135deg, #FFFEF5 0%, #FFF9E6 100%);
  border: 1px solid #FDE047;
  border-radius: 12px;
  padding: 16px 20px;
  margin-top: 16px;
  margin-bottom: 24px;
  align-items: flex-start;
  transition: all 0.25s cubic-bezier(0.2, 0.8, 0.2, 1);
  box-shadow: 0 4px 12px rgba(253, 224, 71, 0.1);
}
.product-golden-highlight:hover {
  transform: translateY(-2px);
  box-shadow: 0 8px 18px rgba(253, 224, 71, 0.25);
  border-color: #FACC15;
}
.pgh-icon-wrap {
  flex-shrink: 0;
  display: flex;
  align-items: center;
  justify-content: center;
  width: 38px;
  height: 38px;
  background: linear-gradient(135deg, #FACC15 0%, #F59E0B 100%);
  border-radius: 50%;
  color: #FFFFFF;
  box-shadow: 0 4px 8px rgba(245, 158, 11, 0.25);
}
.pgh-icon-wrap svg {
  width: 20px;
  height: 20px;
}
.pgh-content {
  font-size: 14px;
  line-height: 1.5;
  color: #713F12;
  margin: 0;
  padding-top: 1px;
}
.pgh-content strong {
  display: block;
  font-weight: 800;
  font-size: 11px;
  text-transform: uppercase;
  letter-spacing: 0.5px;
  color: #422006;
  margin-bottom: 4px;
}

/* Antigo: Honest Alert */
.product-honest-alert {
  background-color: #FFF5F5;
  border: 1px solid #FECACA;
  border-radius: 6px;
  padding: 12px 14px;
  margin-bottom: 16px;
  display: flex;
  align-items: flex-start;
  gap: 12px;
}
.pha-icon-wrap {
  flex-shrink: 0;
  color: #DC2626;
  width: 20px;
  object-fit: contain;
  margin-top: 2px;
}
.pha-content {
  font-size: 13px;
  color: #7F1D1D;
  line-height: 1.5;
}
.pha-content strong {
  font-weight: 700;
}
