:root{
  --bg:#eef3ff;
  --surface:#ffffff;
  --surface-2:#f7f9ff;
  --line:#dbe4ff;
  --text:#111827;
  --muted:#5f6b85;
  --brand:#1f4fd8;
  --brand-2:#2f69ff;
  --shadow:0 12px 34px rgba(18,34,74,.08);
  --radius:18px;
  --radius-sm:12px;
}
*{box-sizing:border-box}
html,body{margin:0;padding:0}
body{
  font-family: Inter, ui-sans-serif, system-ui, -apple-system, Segoe UI, Roboto, Arial, sans-serif;
  color:var(--text);
  background:linear-gradient(180deg,#f4f7ff 0%, #eef3ff 280px, #eef3ff 100%);
}
a{color:inherit;text-decoration:none}
img{max-width:100%;display:block}
.container{width:min(1180px, calc(100% - 24px)); margin:0 auto}
.page-shell{min-height:calc(100vh - 180px)}
.muted{color:var(--muted)}
.desktop-only{display:flex}
.mobile-only{display:none}

/* Header */
.site-header{position:sticky; top:0; z-index:340}
.topbar-wrap{
  background:linear-gradient(180deg,#ffffff 0 58%, #1f4fd8 58% 100%);
  border-bottom:1px solid rgba(21,54,150,.15);
  box-shadow:0 10px 30px rgba(18,34,74,.06);
}
.topbar{
  display:flex; align-items:center; gap:14px;
  padding:10px 0;
  background:#fff;
  position:relative;
  z-index:240; /* above backdrop/menu stacking bug */
}
.brand{display:flex; align-items:center; gap:10px; min-width:max-content}
.brand-icon{width:40px; height:40px; object-fit:contain; border-radius:12px; background:#fff; box-shadow:inset 0 0 0 1px #dfe7ff}
.brand-full{height:34px; width:auto; object-fit:contain}
.header-search{
  flex:1; min-width:150px; display:flex; align-items:center; gap:8px;
  background:#f4f7ff; border:1px solid var(--line); border-radius:999px;
  padding:0 12px; height:44px;
}
.header-search input{border:0; outline:0; width:100%; background:transparent; font-size:14px; color:var(--text)}
.search-ico{opacity:.8}
.header-search{position:relative}
.search-suggest{
  position:absolute; top:calc(100% + 8px); left:0; right:0;
  background:#fff; border:1px solid #dfe8ff; border-radius:16px;
  box-shadow:0 20px 40px rgba(10,20,48,.18); padding:8px; z-index:370;
  display:grid; gap:6px; max-height:min(62vh, 420px); overflow:auto;
}
.search-suggest[hidden]{display:none !important}
.search-suggest-empty{
  padding:10px 12px; color:#5f6b85; font-size:13px; border-radius:12px;
  background:#f8fbff; border:1px dashed #e4ecff;
}
.search-suggest-item{
  display:grid; gap:4px; padding:10px 12px; border-radius:12px;
  border:1px solid #edf2ff; background:#fff; cursor:pointer;
}
.search-suggest-item:hover,
.search-suggest-item.is-active{background:#f6f9ff; border-color:#d9e6ff}
.search-suggest-top{display:flex; align-items:center; justify-content:space-between; gap:10px}
.search-suggest-name{font-weight:800; color:#1a2d5f; line-height:1.2}
.search-suggest-cat{font-size:11px; font-weight:700; color:#3d5cb2; background:#eff4ff; border:1px solid #dce7ff; border-radius:999px; padding:3px 8px}
.search-suggest-desc{font-size:12px; line-height:1.35; color:#5f6b85}
.search-suggest-footer{padding:6px 4px 2px; font-size:12px; color:#5f6b85}
.search-suggest mark{background:#fff0b8; color:inherit; padding:0 2px; border-radius:4px}

.header-actions{margin-left:auto; gap:8px; align-items:center}
.pill-btn{
  border:1px solid rgba(255,255,255,.28);
  color:#fff; background:rgba(255,255,255,.08);
  border-radius:999px; padding:10px 14px; font-weight:600; cursor:pointer;
  backdrop-filter: blur(8px);
}
.topbar .pill-btn.ghost{color:#1e3f9b; background:#f4f7ff; border:1px solid var(--line)}
.icon-btn{border:0;background:#f1f5ff;color:#1f3f98;width:34px;height:34px;border-radius:10px;cursor:pointer}

.quick-chips{
  display:flex; align-items:center; gap:8px; flex-wrap:wrap;
  padding:12px 0 14px;
}
.chip{
  display:inline-flex; align-items:center; gap:6px;
  padding:8px 12px; border-radius:999px;
  font-size:13px; font-weight:600;
  background:rgba(255,255,255,.14); color:#fff; border:1px solid rgba(255,255,255,.2);
}
.ghost-chip{background:rgba(255,255,255,.07); opacity:.9}
.mobile-toolbar{display:none; padding:0 0 10px; gap:8px; position:relative; z-index:240}
.mobile-toolbar .pill-btn{flex:1; justify-content:center; text-align:center}
.mobile-toolbar .pill-btn.ghost{color:#fff; background:rgba(255,255,255,.09); border-color:rgba(255,255,255,.25)}

/* Category menu + backdrop */
.menu-backdrop{
  position:fixed; inset:0; background:rgba(8,17,42,.38); backdrop-filter:blur(3px);
  opacity:0; pointer-events:none; transition:opacity .18s ease; z-index:250;
}
.menu-backdrop.show{opacity:1; pointer-events:auto}
body.menu-open{overflow:hidden}
.categories-menu{
  position:fixed; top:78px; right:calc((100vw - min(1180px, calc(100% - 24px))) / 2); width:min(430px, calc(100vw - 24px));
  max-height:75vh; overflow:auto; background:#fff; border-radius:20px; border:1px solid #e4ebff;
  box-shadow:0 24px 60px rgba(7,16,41,.26); padding:10px; z-index:360;
  opacity:0; transform:translateY(-8px) scale(.99); pointer-events:none; transition:all .15s ease;
}
.categories-menu.open{opacity:1; transform:translateY(0) scale(1); pointer-events:auto}
.menu-head{display:flex; align-items:flex-start; justify-content:space-between; gap:10px; padding:8px 8px 10px}
.menu-title{font-weight:800; font-size:16px}
.menu-body{display:grid; gap:8px}
.menu-home{display:block; padding:10px 12px; border:1px solid #edf2ff; border-radius:12px; background:#fafcff; font-weight:700}
.menu-group{border:1px solid #edf2ff; border-radius:14px; overflow:hidden; background:#fff}
.menu-item{
  width:100%; border:0; background:#fff; text-align:left; padding:12px; cursor:pointer;
  display:flex; align-items:center; justify-content:space-between; gap:10px; font-weight:700;
}
.menu-item:hover{background:#f8fbff}
.menu-item.open{background:#f5f9ff}
.submenu{display:none; padding:0 8px 8px; gap:6px; background:#f9fbff}
.submenu.open{display:grid}
.submenu-link{display:block; padding:10px; border-radius:10px; border:1px solid #ebf1ff; background:#fff}
.submenu-link:hover{border-color:#d6e2ff; background:#fbfdff}
.submenu-name{display:block; font-weight:700; margin-bottom:3px}
.submenu-link small{display:block; font-size:12px; line-height:1.25}

/* Home */
.home-grid{display:grid; grid-template-columns:1.7fr 1fr; gap:16px; margin-top:16px}
.hero-panel,.side-panel,.content-card,.vitrine-card{background:var(--surface); border:1px solid #e2eaff; border-radius:var(--radius); box-shadow:var(--shadow)}
.hero-panel{padding:18px}
.badge-row{display:inline-flex; align-items:center; gap:8px; background:#f7f9ff; border:1px solid #e3eaff; color:#34415f; padding:7px 12px; border-radius:999px; font-size:13px; font-weight:700}
.badge-dot{width:9px;height:9px;border-radius:50%; background:#f59e0b; box-shadow:0 0 0 3px rgba(245,158,11,.16)}
.hero-title{font-size:46px; line-height:1.03; margin:14px 0 10px; letter-spacing:-.03em}
.hero-subtitle{font-size:16px; line-height:1.6; color:#44506b; max-width:760px}
.chip-list{display:flex; flex-wrap:wrap; gap:8px; margin:14px 0}
.chip-list.compact .chip{font-size:12px; padding:7px 10px}
.chip-list .chip{background:#f3f7ff; color:#21439b; border:1px solid #dce7ff}
.hero-actions{display:flex; gap:10px; margin-top:10px}
.btn-primary{
  display:inline-flex; align-items:center; justify-content:center; gap:8px;
  background:linear-gradient(180deg,var(--brand-2), var(--brand)); color:#fff;
  border:0; border-radius:14px; padding:12px 16px; font-weight:800; cursor:pointer;
  box-shadow:0 8px 18px rgba(47,105,255,.22);
}
.feature-cards{display:grid; grid-template-columns:repeat(3,1fr); gap:12px; margin-top:16px}
.mini-card{padding:14px; border:1px solid #e7eeff; border-radius:14px; background:#fbfdff}
.mini-card p{margin:8px 0 0; color:#56637e; line-height:1.5}
.mini-title{font-weight:800}

.side-panel{padding:16px}
.side-panel h2{margin:2px 0 12px; font-size:28px; letter-spacing:-.02em}
.side-stat-grid{display:grid; grid-template-columns:1fr 1fr; gap:10px; margin-bottom:12px}
.stat-box{border:1px solid #e7edff; border-radius:14px; padding:12px; background:#fbfcff; display:grid; gap:5px}
.stat-box small{color:#637190}
.stat-box strong{font-size:24px; line-height:1.1}
.stat-box span{color:#66748f; font-size:12px}
.side-list{display:grid; gap:10px}
.side-item{border:1px solid #e9efff; border-radius:14px; padding:12px; background:#fff}
.side-item-top{display:flex; align-items:center; justify-content:space-between; gap:8px; margin-bottom:8px}
.pill{display:inline-flex; align-items:center; padding:5px 10px; border-radius:999px; background:#f4f7ff; border:1px solid #dfE8ff; color:#3853a4; font-size:12px; font-weight:700}
.side-item h3{margin:4px 0 6px; font-size:18px}
.side-item p{margin:0 0 10px; color:#59647d; line-height:1.45; font-size:14px}
.side-item a{font-weight:700; color:#1f4fd8}

.vitrines-section{margin:18px auto}
.section-header{display:flex; align-items:flex-end; justify-content:space-between; gap:12px; margin:22px 0 12px}
.section-header h2{margin:0; font-size:28px; letter-spacing:-.02em}
.section-header p{margin:0; color:#5f6b85}
.vitrine-grid{display:grid; grid-template-columns:repeat(3,1fr); gap:12px}
.vitrine-card{padding:14px; display:flex; flex-direction:column; gap:10px}
.vitrine-top{display:flex; justify-content:space-between; align-items:center; gap:8px}
.vitrine-card h3{margin:0; font-size:20px; letter-spacing:-.02em}
.vitrine-card p{margin:0; color:#5e6a84; line-height:1.45}
.vitrine-link{margin-top:auto; color:#1f4fd8; font-weight:800}
.hotsite-card{background:linear-gradient(180deg,#ffffff,#f7fbff)}
.hotsites-grid .hotsite-card h3{font-size:19px}

.faq-home{margin-bottom:22px}
.faq-grid{display:grid; gap:10px}
.faq-grid details{background:#fff; border:1px solid #e5ecff; border-radius:14px; padding:12px 14px}
.faq-grid summary{cursor:pointer; font-weight:800}
.faq-grid p{color:#5d6880; margin:10px 0 0; line-height:1.5}

/* Calc page */
.calc-page{margin-top:16px}
.breadcrumb{display:flex; flex-wrap:wrap; gap:7px; align-items:center; margin:0 0 12px; color:#5f6b85; font-size:14px}
.calc-hero{background:#fff; border:1px solid #e4ebff; border-radius:18px; box-shadow:var(--shadow); padding:18px}
.calc-hero h1{margin:12px 0 8px; font-size:36px; line-height:1.05; letter-spacing:-.025em}
.calc-subtitle{margin:0 0 6px; font-weight:600; color:#31456d}
.calc-intro{margin:0; color:#54627d; line-height:1.55; font-size:15px}
.calc-layout{display:grid; grid-template-columns:1.2fr .8fr; gap:14px; margin-top:14px}
.content-card{padding:16px}
.content-card h2,.content-card h3{margin:0 0 10px; letter-spacing:-.02em}
.content-card h2{font-size:24px}
.content-card h3{font-size:18px}
.calc-form-card{padding:18px}
.calc-sidebar{display:grid; gap:14px; align-content:start}
.formula-top-card{margin-top:14px}
.desktop-formula-card{display:block}
.formula-box{border:1px dashed #cedcff; background:#f8fbff; border-radius:14px; padding:12px}
.formula-box pre{margin:0; white-space:pre-wrap; font-family: ui-monospace, SFMono-Regular, Menlo, Consolas, monospace; font-size:13px; color:#27427d}
.list-simple{margin:0; padding-left:18px; display:grid; gap:8px}
.list-simple li{color:#54627d; line-height:1.45}
.warning-list li{color:#6a4f1b}
.content-grid-2{display:grid; grid-template-columns:1fr 1fr; gap:14px; margin-top:14px}
.examples-grid{display:grid; gap:10px}
.example-item{border:1px solid #e8efff; border-radius:14px; padding:12px; background:#fbfdff}
.example-item h4{margin:0 0 6px; font-size:16px}
.example-item p{margin:0; color:#5b6780; line-height:1.45}
.example-result{margin-top:8px; color:#1f4fd8; font-weight:800}
.calc-content-sections{margin-bottom:20px}

/* Calc form partial styles */
.calc-form{display:grid; gap:12px; margin-top:10px}
.calc-fields{display:grid; gap:10px}
.calc-field{display:grid; gap:6px}
.calc-field label{font-weight:700; color:#22314d; font-size:14px}
.calc-field input,.calc-field select,.calc-field textarea{
  width:100%; border:1px solid #dbe5ff; border-radius:12px; background:#fff; color:#0f172a;
  padding:12px 13px; font-size:15px; outline:none;
}
.calc-field input:focus,.calc-field select:focus,.calc-field textarea:focus{border-color:#9fbcff; box-shadow:0 0 0 4px rgba(47,105,255,.12)}
.calc-field small{color:#66748f; font-size:12px}
.calc-actions{display:flex; gap:10px; flex-wrap:wrap}
.calc-actions button,.calc-actions a{
  border-radius:12px; padding:11px 14px; font-weight:800; cursor:pointer; border:1px solid #dce6ff; background:#fff;
}
.calc-actions button[type="submit"]{background:linear-gradient(180deg,var(--brand-2), var(--brand)); color:#fff; border-color:transparent}
.result-card{border:1px dashed #cedbff; border-radius:14px; background:#fbfdff; padding:14px}
.result-card.is-error{border-color:#f3a5a5; background:#fff8f8}
.result-title{font-weight:800; margin-bottom:8px}
.result-output{font-size:18px; font-weight:800; color:#132a63; line-height:1.35; white-space:pre-wrap}
.result-card.is-error .result-output{color:#9a1c1c}
.result-lines{margin:10px 0 0; padding-left:18px; color:#51607b}
.result-table{display:grid; gap:6px; margin-top:10px; color:#4c5872}

.page-article-wrap{margin-top:16px; margin-bottom:22px}
.page-article h1{margin:0 0 8px; font-size:34px}
.rich-content{color:#4f5c76; line-height:1.7}
.rich-content h2,.rich-content h3{color:#13203e}
.rich-content p{margin:.8em 0}

/* Footer */
.site-footer{margin-top:26px; background:linear-gradient(180deg,#0e46b6 0%, #083694 100%); color:#eef4ff; border-top:1px solid rgba(255,255,255,.12)}
.footer-grid{display:grid; grid-template-columns:1.3fr 1fr 1fr 1fr; gap:16px; padding:22px 0}
.footer-brand-row{display:flex; align-items:center; gap:10px; margin-bottom:12px}
.footer-logo-icon{width:34px;height:34px;background:#fff;border-radius:10px;padding:2px}
.footer-logo-full{height:28px; width:auto; background:#fff; border-radius:10px; padding:4px 8px}
.footer-about{margin:0 0 12px; color:#d5e4ff; line-height:1.6}
.footer-contact{display:grid; gap:6px; color:#e1ebff; font-size:14px}
.site-footer h4{margin:4px 0 12px; font-size:16px}
.footer-links{display:grid; gap:8px}
.footer-links a{color:#eef4ff; opacity:.95}
.footer-links a:hover{text-decoration:underline}
.footer-card{border:1px solid rgba(255,255,255,.16); background:rgba(255,255,255,.06); border-radius:14px; padding:12px; display:grid; gap:8px}
.footer-product-note{font-weight:800}
.footer-branding-link{display:inline-flex; align-items:center; gap:6px}
.footer-codex-link{color:#fff; font-weight:700}
.footer-bottom{display:flex; flex-wrap:wrap; gap:10px; justify-content:space-between; padding:12px 0 18px; border-top:1px solid rgba(255,255,255,.14); color:#d9e6ff; font-size:13px}

/* Utility */
code{background:#f4f7ff; border:1px solid #e1eaff; padding:2px 6px; border-radius:8px}

/* Mobile */
@media (max-width: 1024px){
  .hero-title{font-size:38px}
  .home-grid{grid-template-columns:1fr}
  .vitrine-grid{grid-template-columns:repeat(2,1fr)}
  .calc-layout{grid-template-columns:1fr}
  .content-grid-2{grid-template-columns:1fr}
  .footer-grid{grid-template-columns:1fr 1fr}
}
@media (max-width: 740px){
  .desktop-only{display:none !important}
  .mobile-only{display:flex !important}
  .topbar-wrap{background:linear-gradient(180deg,#ffffff 0 50%, #1f4fd8 50% 100%)}
  .topbar{padding:8px 0; gap:8px; flex-wrap:wrap}
  .brand{width:100%; justify-content:flex-start}
  .brand-icon{width:34px;height:34px}
  .brand-full{height:26px; max-width:170px; object-fit:contain}
  /* mobile header simplificado: categoria + pesquisa (sem excesso de info) */
  .header-search{order:2; flex:1 1 100%; height:42px}
  .search-suggest{top:calc(100% + 6px); border-radius:14px; padding:6px}
  .search-suggest-item{padding:9px 10px}
  .mobile-toolbar{display:flex}
  .quick-chips{padding:8px 0 12px; gap:6px}
  .quick-chips .chip{font-size:12px; padding:7px 10px}
  .quick-chips .chip:nth-child(n+5){display:none}
  .categories-menu{top:116px; right:12px; width:calc(100vw - 24px); max-height:72vh}
  .hero-panel,.side-panel,.content-card,.vitrine-card{border-radius:16px}
  .hero-title{font-size:28px; margin-top:10px}
  .hero-subtitle{font-size:14px}
  .feature-cards{grid-template-columns:1fr}
  .section-header{align-items:flex-start; flex-direction:column}
  .section-header h2{font-size:22px}
  .side-panel h2{font-size:22px}
  .side-stat-grid{grid-template-columns:1fr 1fr}
  .vitrine-grid{grid-template-columns:1fr}
  .calc-hero{padding:14px}
  .calc-hero h1{font-size:26px}
  .calc-form-card{order:2}
  .calc-sidebar{order:3}
  .formula-top-card{order:1; margin-top:12px}
  .desktop-formula-card{display:none}
  .calc-form{gap:10px}
  .calc-field input,.calc-field select,.calc-field textarea{padding:11px 12px; font-size:16px}
  .calc-actions{display:grid; grid-template-columns:1fr 1fr}
  .calc-actions button,.calc-actions a{padding:11px 10px; text-align:center}
  .result-output{font-size:17px}
  .page-article h1{font-size:26px}
  .footer-grid{grid-template-columns:1fr; gap:14px; padding:18px 0}
  .footer-bottom{font-size:12px; padding-bottom:16px}
}


.brand .brand-full.only{height:32px;width:auto;max-width:220px;display:block}
.brand .brand-icon.fallback{height:32px;width:auto;display:block}
.footer-brand .footer-brand-full.only{height:32px;width:auto;max-width:220px;display:block}

.brand-full-only{height:34px;width:auto;max-width:220px;display:block}
.footer-logo-full-only{height:34px;width:auto;max-width:220px;display:block}

.brand:has(.brand-full-only){gap:0}
.footer-brand-row:has(.footer-logo-full-only){gap:0}


/* PATCH2 — resultados enriquecidos (alertas / notas / breakdown) */
.result-note{margin:8px 0 0; color:#55627d; line-height:1.45}
.result-alerts{margin-top:10px; display:grid; gap:8px}
.result-alert-item{border:1px solid #ffe2a4; background:#fff9e7; color:#6b4f00; padding:8px 10px; border-radius:10px; font-size:13px; line-height:1.35}
.result-section-title{margin:12px 0 6px; font-weight:800; color:#20345d; font-size:13px; letter-spacing:.01em}
.result-breakdown{display:grid; gap:6px; margin-top:8px}
.result-breakdown-row{display:flex; justify-content:space-between; gap:10px; border:1px solid #e7eefc; background:#fff; border-radius:10px; padding:8px 10px}
.result-breakdown-label{color:#55627d}
.result-breakdown-value{font-weight:700; color:#20345d; text-align:right}

@media (max-width: 640px){
  .result-breakdown-row{flex-direction:column; align-items:flex-start}
  .result-breakdown-value{text-align:left}
}


/* Related calculators */
.related-card{ margin-top: 18px; }
.related-grid{
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 12px;
}
@media (min-width: 900px){
  .related-grid{ grid-template-columns: repeat(4, minmax(0, 1fr)); }
}
.related-item{
  display:block;
  padding: 12px;
  border: 1px solid rgba(0,0,0,.08);
  border-radius: 12px;
  text-decoration:none;
  background: rgba(255,255,255,.7);
}
.related-item:hover{ transform: translateY(-1px); }
.related-title{ font-weight: 700; color: #0b1a3a; }
.related-desc{ margin-top: 6px; color: rgba(11,26,58,.75); font-size: 13px; line-height: 1.25; }



/* PATCH13 — Fase B (lapidação visual premium stage 1: header/busca + form/resultado + related CTA) */
.topbar{
  border-radius: 0 0 16px 16px;
}
.header-search{
  background: linear-gradient(180deg,#f8fbff,#f2f6ff);
  border-color:#d6e3ff;
  box-shadow: inset 0 1px 0 rgba(255,255,255,.85), 0 6px 14px rgba(22,49,115,.05);
  padding-right: 8px;
}
.header-search:focus-within{
  border-color:#9cbaff;
  box-shadow: inset 0 1px 0 rgba(255,255,255,.9), 0 0 0 4px rgba(47,105,255,.12), 0 10px 22px rgba(22,49,115,.10);
}
.search-clear-btn{
  border:0;
  background:#eaf1ff;
  color:#3752a5;
  width:28px; height:28px;
  border-radius:999px;
  cursor:pointer;
  display:grid; place-items:center;
  font-weight:700;
}
.search-clear-btn:hover{ background:#dde8ff; }
.search-suggest{
  border-color:#d7e4ff;
  box-shadow:0 26px 54px rgba(10,20,48,.18);
}
.search-suggest-meta{
  padding:8px 10px 4px;
  font-size:12px;
  color:#55627d;
}
.search-suggest-meta strong{ color:#20345d; }
.search-suggest-meta span{ color:#3f58a8; font-weight:600; }
.search-suggest-item{
  transition: transform .12s ease, box-shadow .12s ease, border-color .12s ease, background .12s ease;
}
.search-suggest-item:hover,
.search-suggest-item.is-active{
  background:linear-gradient(180deg,#f8fbff,#f5f9ff);
  border-color:#d8e5ff;
  box-shadow:0 8px 20px rgba(24,53,121,.05);
  transform: translateY(-1px);
}
.search-suggest-name{
  display:-webkit-box;
  -webkit-line-clamp:2;
  -webkit-box-orient:vertical;
  overflow:hidden;
}
.search-suggest-desc{
  display:-webkit-box;
  -webkit-line-clamp:2;
  -webkit-box-orient:vertical;
  overflow:hidden;
}
@media (max-width: 740px){
  .header-search{
    height:44px;
    border-radius:14px;
    padding-left:10px;
  }
  .search-suggest{
    left:-2px; right:-2px;
  }
}

.calc-form-card{
  border-color:#dce8ff;
  background:
    radial-gradient(circle at top right, rgba(47,105,255,.05), transparent 42%),
    linear-gradient(180deg,#ffffff,#fcfdff);
}
.calc-form{ gap:14px; }
.calc-fields{
  background:#f8fbff;
  border:1px solid #e5edff;
  border-radius:14px;
  padding:12px;
}
.calc-field{
  background:#fff;
  border:1px solid #edf2ff;
  border-radius:12px;
  padding:10px;
}
.calc-field label{ margin-bottom:2px; }
.calc-field input,.calc-field select,.calc-field textarea{ background:#fbfdff; }
.calc-actions{
  display:grid;
  grid-template-columns: 1fr 1.25fr;
}
.calc-actions button,.calc-actions a{ min-height:44px; }
.calc-actions button[type="submit"]{ box-shadow:0 10px 22px rgba(47,105,255,.22); }
.calc-actions .js-calc-reset{ background:#f8fbff; }
@media (max-width: 740px){ .calc-actions{ grid-template-columns:1fr 1fr; } }

.result-card{
  border-style:solid;
  border-color:#d8e5ff;
  background:
    radial-gradient(circle at top right, rgba(47,105,255,.08), transparent 48%),
    linear-gradient(180deg,#fbfdff,#f8fbff);
  box-shadow: inset 0 1px 0 rgba(255,255,255,.9);
}
.result-card[data-state="loading"]{ border-color:#bfd3ff; }
.result-card[data-state="success"]{ border-color:#cfe0ff; }
.result-card[data-state="error"]{ border-color:#f0bbbb; }
.result-head{
  display:flex;
  align-items:flex-start;
  justify-content:space-between;
  gap:10px;
  margin-bottom:8px;
}
.result-title-wrap{ display:grid; gap:2px; }
.result-title{ margin-bottom:0; }
.result-subtitle{ font-size:12px; color:#5d6b85; }
.result-copy-btn{
  border:1px solid #d8e5ff;
  background:#fff;
  color:#27427d;
  border-radius:10px;
  padding:7px 10px;
  font-weight:700;
  cursor:pointer;
  min-width:92px;
}
.result-copy-btn:disabled{ opacity:.55; cursor:not-allowed; }
.result-copy-btn:not(:disabled):hover{ background:#f6f9ff; }
.result-output{ font-size:20px; letter-spacing:-.02em; }
.result-extra{ margin-top:8px; }
.calc-transparency{
  font-size:12.8px;
  line-height:1.6;
  background:#f7faff;
  border:1px dashed #dbe6ff;
  border-radius:12px;
  padding:10px 12px;
}

.related-card{
  border-color:#dce8ff;
  background:
    radial-gradient(circle at top right, rgba(47,105,255,.05), transparent 50%),
    linear-gradient(180deg,#ffffff,#fbfdff);
}
.related-card-top{
  display:flex;
  align-items:flex-start;
  justify-content:space-between;
  gap:12px;
  margin-bottom:10px;
}
.related-card-top h2{ margin-bottom:6px; }
.btn-soft-link{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  border:1px solid #d9e6ff;
  background:#f6f9ff;
  color:#21439b;
  font-weight:700;
  border-radius:12px;
  padding:9px 12px;
  white-space:nowrap;
}
.btn-soft-link:hover{ background:#edf3ff; }
.related-item{
  border-color:#e4ecff;
  background:linear-gradient(180deg,#ffffff,#f9fbff);
  transition:transform .12s ease, box-shadow .12s ease, border-color .12s ease;
}
.related-item:hover{
  border-color:#cfe0ff;
  box-shadow:0 10px 20px rgba(17,34,74,.05);
  transform:translateY(-2px);
}
.related-chip-list{ display:flex; gap:8px; flex-wrap:wrap; margin:8px 0 10px; }
.related-chip{
  display:inline-flex;
  align-items:center;
  border:1px solid #dce7ff;
  background:#f5f8ff;
  color:#21439b;
  padding:6px 10px;
  border-radius:999px;
  font-size:12px;
  font-weight:700;
}
.related-chip:hover{ background:#ecf2ff; }
.mini-link{ color:#1f4fd8; font-weight:700; font-size:13px; }
.desktop-only-related{ display:block; }
@media (max-width: 1024px){ .desktop-only-related{ display:none; } }
@media (max-width: 740px){
  .related-card-top{ flex-direction:column; align-items:stretch; }
  .btn-soft-link{ width:100%; }
  .result-output{ font-size:18px; }
}



/* PATCH14 — Fase B stage 2 + base Fase C (ads/mobile cleaner/calc topo) */
.ad-slot-wrap{ margin: 10px auto 0; }
.ad-slot{
  position: relative;
  border: 1px dashed #cfe0ff;
  background: linear-gradient(180deg,#fbfdff,#f6f9ff);
  border-radius: 14px;
  padding: 14px;
  color: #42516f;
  overflow: hidden;
}
.ad-slot::before{
  content:'';
  position:absolute; inset:auto -20% -40% auto;
  width:180px; height:180px; border-radius:999px;
  background: radial-gradient(circle, rgba(47,105,255,.10), rgba(47,105,255,0));
  pointer-events:none;
}
.ad-slot-label{
  display:inline-flex; align-items:center;
  font-size:11px; font-weight:800; letter-spacing:.04em; text-transform:uppercase;
  color:#2f57c8; background:#eaf1ff; border:1px solid #d7e4ff; border-radius:999px; padding:4px 8px;
}
.ad-slot-body{ margin-top:8px; line-height:1.45; font-size:13px; }
.ad-slot-banner{ min-height: 108px; display:grid; align-content:start; }
.ad-slot-infeed{ min-height: 96px; margin: 12px 0 16px; }
.ad-slot-calc-top{ min-height: 90px; margin-top: 12px; }
.ad-slot-incontent{ min-height: 110px; margin: 16px 0; }

.calc-page{ padding-top: 6px; }
.calc-hero{ margin-bottom: 10px; }
.calc-hero .calc-intro{ max-width: 78ch; }
.calc-layout{ align-items: start; }
.calc-form-card{ scroll-margin-top: 90px; }

/* melhora visual mobile geral */
@media (max-width: 740px){
  .topbar-wrap{ background: #1f4fd8; }
  .topbar{
    background: transparent;
    border-radius: 0;
    padding: 10px 0 8px;
    gap: 10px;
  }
  .brand{ width:100%; justify-content:flex-start; }
  .brand-full-only{ height:30px; max-width:190px; filter: brightness(0) invert(1); }
  .header-search{
    order:2;
    height:46px;
    border-radius:16px;
    background: rgba(255,255,255,.96);
    border-color: rgba(255,255,255,.55);
    box-shadow: 0 8px 20px rgba(8,18,48,.12);
  }
  .header-search input{ color:#1a2750; }
  .header-search input::placeholder{ color:#66728f; }
  .search-ico{ font-size:20px; }
  .search-clear-btn{ width:30px; height:30px; }

  .mobile-toolbar{
    display:flex;
    gap:10px;
    padding: 0 0 10px;
  }
  .mobile-action-btn{
    flex:1;
    display:flex; align-items:center; justify-content:center; gap:6px;
    min-height:40px;
    border-radius:12px;
    border:1px solid rgba(255,255,255,.22);
    background: rgba(255,255,255,.10);
    color:#fff; font-weight:700;
    text-decoration:none;
    backdrop-filter: blur(6px);
    box-shadow:none;
  }
  .mobile-action-btn:hover{ background: rgba(255,255,255,.16); }
  .mobile-action-btn span{ white-space:nowrap; }

  .quick-chips{
    padding: 4px 0 10px;
    gap: 8px;
    overflow-x: auto;
    flex-wrap: nowrap;
    -webkit-overflow-scrolling: touch;
    scrollbar-width: none;
  }
  .quick-chips::-webkit-scrollbar{ display:none; }
  .quick-chips .chip{
    flex:0 0 auto;
    font-size:12px;
    padding:7px 10px;
    border-radius:999px;
    background: rgba(255,255,255,.12);
    color:#fff;
    border-color: rgba(255,255,255,.22);
  }
  .quick-chips .chip:hover{ background: rgba(255,255,255,.18); }
  .quick-chips .ghost-chip{ background: rgba(255,255,255,.08); }

  .categories-menu{ top: 128px; }

  .home-grid{ gap: 12px; margin-top: 10px; }
  .hero-panel{ padding: 16px; }
  .hero-title{ font-size: 24px; margin-top: 6px; line-height:1.15; }
  .hero-subtitle{ font-size: 13px; line-height: 1.45; }
  .side-panel{ padding: 14px; }
  .side-list{ gap:10px; }
  .side-item{ padding:12px; }
  .hotsites-block{ display:none; }

  .calc-page{ padding-top: 4px; }
  .breadcrumb{ margin-bottom: 8px; }
  .calc-hero{ padding: 12px; margin-bottom: 8px; }
  .calc-hero h1{ font-size: 22px; line-height:1.15; margin-bottom:8px; }
  .calc-intro{ font-size: 13px; line-height: 1.45; display:-webkit-box; -webkit-line-clamp:3; -webkit-box-orient:vertical; overflow:hidden; }
  .calc-hero .chip-list.compact{ gap:6px; margin-top:8px; }
  .calc-hero .chip-list.compact .chip{ font-size:11px; padding:5px 8px; }

  .formula-top-card.mobile-priority{ margin-top: 8px; }
  .calc-form-card{ margin-top: 0; }
  .calc-form-card h2{ font-size: 18px; margin-bottom: 4px; }
  .calc-form-card > .muted{ font-size: 12px; }
  .calc-fields{ padding:10px; }
  .calc-field{ padding:8px; }
  .result-card{ padding:10px; }
  .result-head{ gap:8px; }
  .result-title{ font-size: 15px; }
  .result-subtitle{ font-size: 11px; }
  .result-copy-btn{ min-width: 82px; padding:6px 8px; font-size: 12px; }

  .ad-slot-banner{ min-height: 92px; }
  .ad-slot-calc-top{ min-height: 86px; }
  .ad-slot-incontent{ min-height: 96px; }
}

/* Desktop/tablet ad slots */
@media (min-width: 741px){
  .ad-slot-banner{ min-height: 120px; }
  .ad-slot-calc-top{ min-height: 110px; }
  .ad-slot-incontent{ min-height: 130px; }
}


/* PATCH15 — Fase C base (SEO técnico + monetização preparada + legibilidade) */
.ad-slot[data-ad-ready="1"]{
  border-style: solid;
  background: #fff;
}
.ad-slot[data-ad-ready="1"] .ad-slot-label,
.ad-slot[data-ad-ready="1"] .ad-slot-body[data-placeholder="1"]{
  display:none;
}
.ad-slot .adsbygoogle{
  display:block;
  width:100%;
  min-height:inherit;
}
.content-card p,
.content-card li{
  line-height:1.62;
}
.content-card h2,
.content-card h3{
  line-height:1.2;
}
.calc-content-sections .content-card{
  scroll-margin-top: 92px;
}
.faq-item summary{
  line-height:1.35;
}
@media (max-width: 740px){
  .calc-page .content-card{
    padding: 12px;
  }
  .content-card p,
  .content-card li{
    font-size: 14px;
    line-height: 1.65;
  }
  .calc-content-sections .content-card{ scroll-margin-top: 74px; }
  .faq-item summary{ font-size: 14px; }
}

/* PATCH19_HOME_VITRINE_ORGANIZATION */
.home-showcase{margin-top:12px}
.showcase-card{background:#fff;border:1px solid #e3ebff;border-radius:18px;box-shadow:0 10px 26px rgba(18,34,74,.06);padding:14px}
.section-header.compact{margin-bottom:10px}
.showcase-rail{display:grid;grid-auto-flow:column;grid-auto-columns:minmax(220px, 1fr);gap:10px;overflow:auto;padding-bottom:4px;scroll-snap-type:x proximity}
.showcase-item{scroll-snap-align:start;display:grid;gap:8px;padding:12px;border:1px solid #e8efff;border-radius:14px;background:linear-gradient(180deg,#fff,#fbfdff)}
.showcase-item strong{font-size:15px;line-height:1.2;color:#18274f}
.showcase-item small{font-size:12px;line-height:1.35;color:#60708c;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}
.category-chip-rail{display:flex;flex-wrap:wrap;gap:8px;margin-top:10px}
.category-mini-chip{display:inline-flex;align-items:center;gap:8px;padding:8px 10px;border-radius:999px;border:1px solid #dbe6ff;background:#f6f9ff;color:#22449f;font-weight:700}
.category-mini-chip small{font-weight:600;color:#55678c}
.category-sections{display:grid;gap:14px}
.category-block{background:#fff;border:1px solid #e2eaff;border-radius:18px;box-shadow:0 10px 26px rgba(18,34,74,.05);padding:14px}
.category-block-head{display:flex;justify-content:space-between;align-items:flex-start;gap:10px;margin-bottom:12px}
.category-block-head h3{margin:0;font-size:22px;letter-spacing:-.02em}
.category-block-head p{margin:4px 0 0;color:#61708d;font-size:13px}
.btn-inline{display:inline-flex;align-items:center;justify-content:center;padding:9px 12px;border-radius:12px;border:1px solid #dce7ff;background:#f7faff;color:#21439b;font-weight:700;white-space:nowrap}
.vitrines-by-category{grid-template-columns:repeat(3,1fr)}
.ad-slot[data-placeholder-mode="compact"]{min-height:auto !important}
.ad-slot[data-placeholder-mode="compact"] .ad-slot-body[data-placeholder="1"]{font-size:12px;line-height:1.35;color:#5f6b85}
.ad-slot-home-top .ad-slot[data-placeholder-mode="compact"]{padding:10px 12px}
.ad-slot-home-top .ad-slot[data-placeholder-mode="compact"] .ad-slot-banner,
.ad-slot-home-top .ad-slot[data-placeholder-mode="compact"].ad-slot-banner{min-height:72px}
.ad-slot-infeed[data-placeholder-mode="compact"]{min-height:72px;margin:10px 0 14px}
@media (max-width: 980px){
  .vitrines-by-category{grid-template-columns:1fr 1fr}
  .category-block-head{flex-direction:column}
  .btn-inline{width:100%}
}
@media (max-width: 740px){
  .showcase-card{padding:12px}
  .showcase-rail{grid-auto-columns:88%}
  .vitrines-by-category{grid-template-columns:1fr}
  .ad-slot-home-top .ad-slot[data-placeholder-mode="compact"].ad-slot-banner{min-height:64px}
  .ad-slot-infeed[data-placeholder-mode="compact"]{min-height:64px}
}


/* PATCH19_1_HOME_PREMIUM_FILL */
.hero-fill-panel{
  margin-top:14px;
  border:1px solid #e4ecff;
  border-radius:16px;
  background:linear-gradient(180deg,#ffffff 0%, #f8fbff 100%);
  padding:12px;
}
.hero-fill-head{display:flex;align-items:flex-end;justify-content:space-between;gap:10px;margin-bottom:10px}
.hero-fill-head h2{
  margin:0;
  font-size:18px;
  line-height:1.1;
  letter-spacing:-.02em;
  color:#1d3f96;
}
.hero-fill-head p{margin:0;color:#63708b;font-size:12px}
.hero-quick-grid{display:grid;grid-template-columns:1fr 1fr;gap:10px}
.hero-quick-item{
  display:grid;
  gap:6px;
  padding:10px;
  border:1px solid #e7eeff;
  border-radius:12px;
  background:#fff;
}
.hero-quick-item strong{
  color:#1a2747;
  line-height:1.18;
  font-size:14px;
  display:-webkit-box;
  -webkit-line-clamp:2;
  -webkit-box-orient:vertical;
  overflow:hidden;
}
.hero-quick-item small{
  color:#5f6d87;
  font-size:12px;
  line-height:1.35;
  display:-webkit-box;
  -webkit-line-clamp:2;
  -webkit-box-orient:vertical;
  overflow:hidden;
}
.hero-quick-footer{display:flex;flex-wrap:wrap;gap:8px;margin-top:10px}
.hero-category-chip{
  display:inline-flex;align-items:center;gap:7px;padding:7px 10px;
  border:1px solid #dce7ff;border-radius:999px;background:#f4f8ff;
  color:#2448a2;font-weight:700;font-size:12px;
}
.hero-category-chip small{color:#5c6d90;font-weight:600}
.side-panel h2,
.section-header h2,
.category-block-head h3{
  color:#14367f;
}
.section-header h2{
  background:linear-gradient(180deg,#1f489f 0%, #173a83 100%);
  -webkit-background-clip:text;
  background-clip:text;
  color:transparent;
}
.category-block-head h3{font-size:20px}
.vitrine-card h3,.side-item h3{
  color:#1b2744;
}
.side-item .muted,.vitrine-top .muted,.category-block-head p{
  color:#6d7b95;
}
@media (max-width: 980px){
  .hero-fill-head{align-items:flex-start;flex-direction:column}
  .hero-quick-grid{grid-template-columns:1fr}
}
@media (max-width: 740px){
  .hero-fill-panel{padding:10px}
  .hero-fill-head h2{font-size:16px}
}

/* PATCH19_2_3_HOME_PREMIUM_VISUAL_INTENT */
.hero-explore-panel{
  background:linear-gradient(180deg,#ffffff 0%, #f5f9ff 100%);
}
.hero-macro-grid{
  display:grid;
  grid-template-columns:repeat(3,1fr);
  gap:10px;
}
.hero-macro-card{
  display:grid;
  gap:6px;
  padding:12px;
  border:1px solid #e2ebff;
  border-radius:14px;
  background:linear-gradient(180deg,#fff,#fbfdff);
  transition:transform .18s ease, box-shadow .18s ease, border-color .18s ease;
  animation:fadeLift .35s ease both;
}
.hero-macro-card:hover{
  transform:translateY(-2px);
  border-color:#cfe0ff;
  box-shadow:0 10px 22px rgba(25,55,120,.10);
}
.hero-macro-top{display:flex;align-items:center;justify-content:space-between;gap:8px}
.hero-macro-icon{
  width:34px;height:34px;border-radius:10px;display:grid;place-items:center;
  background:#eef4ff;border:1px solid #dfe9ff;font-size:18px;
}
.hero-macro-card strong{font-size:14px;line-height:1.2;color:#172a52}
.hero-macro-card small{font-size:12px;line-height:1.35;color:#60718d}
.hero-macro-footer .hero-category-chip{
  max-width:100%;
}
.hero-macro-footer .hero-category-chip span{
  display:block; white-space:nowrap; overflow:hidden; text-overflow:ellipsis; max-width:260px;
}

.home-strategic-block,
.macro-intent-block{
  background:#fff;
  border:1px solid #e2eaff;
  border-radius:18px;
  box-shadow:0 10px 26px rgba(18,34,74,.05);
  padding:14px;
  margin-bottom:12px;
}
.strategic-grid{
  display:grid;
  grid-template-columns:repeat(4,1fr);
  gap:10px;
}
.strategic-card{
  display:grid;gap:8px;
  padding:12px;border-radius:14px;
  border:1px solid #e6edff;
  background:linear-gradient(180deg,#fff,#fbfdff);
  transition:transform .18s ease, box-shadow .18s ease, border-color .18s ease;
}
.strategic-card:hover{
  transform:translateY(-2px);
  border-color:#cfe0ff;
  box-shadow:0 12px 24px rgba(21,47,104,.08);
}
.strategic-card strong{font-size:14px;line-height:1.2;color:#17274d}
.strategic-card small{font-size:12px;line-height:1.35;color:#62728c;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}

.macro-intent-grid{
  display:grid;
  grid-template-columns:repeat(5,1fr);
  gap:10px;
}
.macro-intent-card{
  display:grid;gap:8px;
  padding:12px;
  border-radius:14px;
  border:1px solid #e4ecff;
  background:linear-gradient(180deg,#ffffff,#f8fbff);
  transition:transform .18s ease, box-shadow .18s ease;
}
.macro-intent-card:hover{transform:translateY(-2px);box-shadow:0 10px 22px rgba(25,55,120,.08)}
.macro-intent-head{display:flex;align-items:center;justify-content:space-between;gap:8px}
.macro-intent-icon{width:32px;height:32px;border-radius:10px;display:grid;place-items:center;background:#eef4ff;border:1px solid #dfe9ff}
.macro-intent-card h3{margin:0;font-size:15px;line-height:1.15;color:#173a83}
.macro-intent-card p{margin:0;color:#61708d;font-size:12px;line-height:1.35;display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;overflow:hidden}

.showcase-item,.strategic-card,.macro-intent-card,.side-item,.vitrine-card{transition:transform .16s ease, box-shadow .16s ease, border-color .16s ease}
.showcase-item:hover,.side-item:hover,.vitrine-card:hover{transform:translateY(-2px);box-shadow:0 10px 22px rgba(23,49,104,.07)}
.btn-primary{position:relative;overflow:hidden}
.btn-primary::after{
  content:""; position:absolute; inset:-120% auto -120% -40%; width:42%;
  background:linear-gradient(90deg,transparent,rgba(255,255,255,.35),transparent);
  transform:rotate(18deg); opacity:.0; transition:opacity .2s ease;
}
.btn-primary:hover::after{opacity:1; animation:ctaSheen .8s ease}
@keyframes ctaSheen{from{left:-50%}to{left:110%}}
@keyframes fadeLift{from{opacity:0;transform:translateY(6px)}to{opacity:1;transform:translateY(0)}}

@media (max-width: 1100px){
  .macro-intent-grid{grid-template-columns:repeat(3,1fr)}
  .strategic-grid{grid-template-columns:repeat(3,1fr)}
}
@media (max-width: 980px){
  .hero-macro-grid{grid-template-columns:1fr 1fr}
  .macro-intent-grid{grid-template-columns:1fr 1fr}
  .strategic-grid{grid-template-columns:1fr 1fr}
}
@media (max-width: 740px){
  .hero-macro-grid{grid-template-columns:1fr}
  .home-strategic-block,.macro-intent-block{padding:12px}
  .macro-intent-grid,.strategic-grid{grid-template-columns:1fr}
  .hero-macro-footer .hero-category-chip span{max-width:200px}
}

/* PATCH19_4_5_HOME_CLEANUP_ADS_POLISH */
.strategic-quick-rail{
  display:grid;
  grid-template-columns:repeat(5,1fr);
  gap:10px;
}
.strategic-quick-item{
  display:grid;
  align-content:start;
  gap:8px;
  min-height:122px;
  padding:12px;
  border-radius:14px;
  border:1px solid #e4ecff;
  background:linear-gradient(180deg,#fff,#f9fbff);
  box-shadow:0 6px 18px rgba(21,47,104,.04);
}
.strategic-quick-item strong{
  font-size:14px;
  line-height:1.22;
  color:#17274d;
  display:-webkit-box;
  -webkit-line-clamp:3;
  -webkit-box-orient:vertical;
  overflow:hidden;
}
.strategic-quick-item .vitrine-link{font-size:13px}
.macro-intent-grid--premium{grid-template-columns:repeat(3,1fr); gap:12px;}
.macro-intent-card--premium{
  gap:10px;
  padding:14px;
  min-height:156px;
  border:1px solid #e3ebff;
  background:linear-gradient(180deg,#fff,#f7fbff);
  box-shadow:0 8px 20px rgba(18,34,74,.05);
}
.macro-intent-mini-chips{display:flex; flex-wrap:wrap; gap:6px}
.macro-mini-chip{
  display:inline-flex;
  align-items:center;
  max-width:100%;
  padding:5px 8px;
  border-radius:999px;
  background:#f2f6ff;
  border:1px solid #dfe8ff;
  color:#3a56a7;
  font-size:11px;
  font-weight:700;
  white-space:nowrap;
  overflow:hidden;
  text-overflow:ellipsis;
}
.home-strategic-block--clean .section-header.compact,
.macro-intent-block--premium .section-header.compact{margin-top:0}

/* placeholder de anúncio mais discreto e estável */
.ad-slot[data-placeholder-mode="compact"]{
  border-style:solid;
  border-color:#dfe8ff;
  background:linear-gradient(180deg,#fcfdff,#f8fbff);
}
.ad-slot[data-placeholder-mode="compact"] .ad-slot-label{
  background:#f1f5ff;
  color:#4460ae;
  border-color:#e0e9ff;
}
.ad-slot[data-placeholder-mode="compact"] .ad-slot-body[data-placeholder="1"]{
  position:relative;
  padding-left:14px;
}
.ad-slot[data-placeholder-mode="compact"] .ad-slot-body[data-placeholder="1"]::before{
  content:'';
  position:absolute;
  left:0; top:.45em;
  width:7px; height:7px; border-radius:50%;
  background:#90a8e8;
  box-shadow:0 0 0 4px rgba(144,168,232,.12);
}
.ad-slot[data-ad-status="pending"] .ad-slot-body[data-placeholder="0"]::after{
  content:'Carregando anúncio...';
  display:block;
  margin-top:8px;
  font-size:12px;
  color:#657495;
}

@media (max-width:1100px){
  .strategic-quick-rail{grid-template-columns:repeat(3,1fr)}
}
@media (max-width:980px){
  .macro-intent-grid--premium{grid-template-columns:repeat(2,1fr)}
}
@media (max-width:740px){
  .strategic-quick-rail{grid-template-columns:1fr 1fr}
  .strategic-quick-item{min-height:108px}
  .macro-intent-grid--premium{grid-template-columns:1fr}
  .macro-intent-card--premium{min-height:auto}
}


/* PATCH19.6-19.7 — Home premium hierarchy + category/list polish */
.section-header-premium{border:1px solid #e7eeff;background:linear-gradient(180deg,#ffffff,#f8fbff);border-radius:16px;padding:12px 14px;margin-top:16px}
.section-header-premium.compact{margin:0 0 12px}
.section-header-premium h2{background:linear-gradient(180deg,#17377f,#2356cc);-webkit-background-clip:text;background-clip:text;color:transparent;font-size:24px}
.section-kicker{display:inline-flex;align-items:center;font-size:11px;font-weight:800;letter-spacing:.08em;text-transform:uppercase;color:#3c5ab0;background:#eff4ff;border:1px solid #dfe8ff;border-radius:999px;padding:4px 8px;margin-bottom:6px}
.home-strategic-block--clean,.macro-intent-block--premium{margin-top:16px}
.strategic-card-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px}
.strategic-card{display:flex;flex-direction:column;gap:8px;padding:12px;border-radius:14px;border:1px solid #e6edff;background:linear-gradient(180deg,#fff,#fbfdff);min-height:168px;transition:transform .18s ease, box-shadow .18s ease, border-color .18s ease}
.strategic-card:hover{transform:translateY(-2px);box-shadow:0 10px 20px rgba(31,79,216,.08);border-color:#d5e3ff}
.strategic-card-top{display:flex;justify-content:space-between;align-items:center;gap:8px}
.strategic-card h3{margin:0;font-size:16px;line-height:1.2;letter-spacing:-.01em;color:#14213d}
.strategic-card p{margin:0;color:#5d6a84;font-size:13px;line-height:1.45;display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;overflow:hidden}
.strategic-card .vitrine-link{margin-top:auto;font-size:13px}
.macro-intent-grid--cards{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px}
.macro-intent-card--clean{border:1px solid #e7eeff;background:linear-gradient(180deg,#fff,#fbfdff);border-radius:14px;padding:12px;display:grid;gap:10px;min-height:170px}
.macro-intent-head{display:flex;align-items:center;gap:10px}
.macro-intent-icon-badge{width:40px;height:40px;border-radius:12px;display:flex;align-items:center;justify-content:center;background:#eef4ff;border:1px solid #dbe7ff;flex-shrink:0}
.macro-intent-icon{font-size:20px}
.macro-intent-meta h3{margin:0;font-size:16px;line-height:1.15;color:#14213d}
.macro-intent-meta small{color:#60708f}
.macro-intent-list{margin:0;padding-left:18px;color:#4f5f7d;display:grid;gap:6px}
.macro-intent-list li{font-size:13px;line-height:1.35;display:list-item}
.macro-intent-foot{margin-top:auto;display:flex;justify-content:space-between;align-items:center;gap:8px}
.category-block{border:1px solid #e6eeff;border-radius:16px;padding:12px;background:linear-gradient(180deg,#fff,#fbfdff)}
.category-block + .category-block{margin-top:12px}
.category-block-head{border-bottom:1px solid #edf2ff;padding-bottom:10px;margin-bottom:10px}
.category-block-head h3{margin:0;color:#17377f;font-size:20px}
.category-block-head p{margin:4px 0 0;color:#62718f}
.vitrines-by-category{grid-template-columns:repeat(3,minmax(0,1fr))}
.vitrines-by-category .vitrine-card{border:1px solid #e8efff;background:linear-gradient(180deg,#fff,#fbfdff);min-height:192px}
.vitrines-by-category .vitrine-card h3{font-size:17px;line-height:1.2;color:#152342}
.vitrines-by-category .vitrine-card p{font-size:13px;line-height:1.45;display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;overflow:hidden}
.vitrines-by-category .vitrine-link{font-size:13px}
@media (max-width: 1024px){.strategic-card-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.macro-intent-grid--cards{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media (max-width: 740px){.section-header-premium{padding:10px 12px}.section-header-premium h2{font-size:20px}.strategic-card-grid,.macro-intent-grid--cards,.vitrines-by-category{grid-template-columns:1fr}.strategic-card,.macro-intent-card--clean{min-height:auto}}


/* PATCH19.8 — AdSense UX polish (pending/no-fill states without CLS) */
.ad-slot{transition:border-color .2s ease, box-shadow .2s ease, background .2s ease}
.ad-slot[data-ad-status="pending"]{border-color:#d8e4ff;box-shadow: inset 0 0 0 1px rgba(255,255,255,.55)}
.ad-slot[data-ad-status="pending"] .ad-slot-label{position:relative;overflow:hidden}
.ad-slot[data-ad-status="pending"] .ad-slot-label::after{content:'';position:absolute;inset:0 auto 0 -40%;width:40%;background:linear-gradient(90deg, rgba(255,255,255,0), rgba(255,255,255,.7), rgba(255,255,255,0));animation: adShimmer 1.6s linear infinite}
@keyframes adShimmer{to{left:120%}}
.ad-slot[data-ad-status="nofill"]{border-style:solid;border-color:#e3ebff;background:linear-gradient(180deg,#fbfdff,#f6f9ff)}
.ad-slot[data-ad-status="nofill"] .ad-slot-body[data-placeholder="0"]{position:relative;min-height:inherit}
.ad-slot[data-ad-status="nofill"] .ad-slot-body[data-placeholder="0"]::after{content:'Anúncio indisponível no momento • espaço reservado para manter o layout estável';display:block;margin-top:8px;color:#6a7895;font-size:12px;line-height:1.35;padding:8px 10px;border-radius:10px;background:#f4f7ff;border:1px solid #e2eaff}
.ad-slot[data-ad-status="nofill"] .adsbygoogle{min-height:0 !important;height:0 !important}
@media (max-width:740px){.ad-slot[data-ad-status="nofill"] .ad-slot-body[data-placeholder="0"]::after{font-size:11px;padding:7px 8px}}

/* PATCH19.9 — Admin analytics emphasis on unique accesses */
.admin-analytics-unique-primary .kpis .kpi:nth-child(2){border-color:#d7e4ff;background:linear-gradient(180deg,#f8fbff,#f2f7ff);box-shadow:0 8px 18px rgba(31,79,216,.06)}
.admin-analytics-unique-primary .kpis .kpi:nth-child(2) strong{color:#1848c7}
.admin-analytics-note{margin-top:10px;padding:10px 12px;border-radius:12px;border:1px solid #e1eaff;background:#f8fbff;color:#50607d;font-size:13px}

/* PATCH19_10_11_HOME_HIERARCHY_CATEGORY_FLOW */
.section-header-premium{
  border:1px solid #e8efff;
  border-radius:16px;
  padding:12px 14px;
  background:linear-gradient(180deg,#fff 0%,#fbfdff 100%);
  box-shadow:0 6px 18px rgba(24,48,98,.04);
}
.section-header-premium h2{
  letter-spacing:-.02em;
  color:#16357a;
  margin-top:2px;
}
.section-header-premium p{
  color:#64738f;
  max-width:64ch;
}
.hero-macro-footer{
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:8px;
}
.hero-macro-footer .hero-category-chip{
  width:100%;
  justify-content:space-between;
  background:linear-gradient(180deg,#f7faff,#f0f6ff);
  border-color:#dbe7ff;
}
.hero-macro-footer .hero-category-chip span{font-weight:700;color:#1d3d8d}
.hero-macro-footer .hero-category-chip small{font-size:11px}
.more-categories-fold{
  margin-top:12px;
  border:1px solid #e6eeff;
  border-radius:16px;
  background:linear-gradient(180deg,#fff,#fbfdff);
  box-shadow:0 8px 20px rgba(24,48,98,.04);
  overflow:hidden;
}
.more-categories-fold > summary{
  cursor:pointer;
  list-style:none;
  padding:12px 14px;
  font-weight:800;
  color:#173a83;
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:12px;
}
.more-categories-fold > summary::-webkit-details-marker{display:none}
.more-categories-fold > summary::after{
  content:'▾';
  color:#4b63ad;
  font-size:14px;
  transition:transform .16s ease;
}
.more-categories-fold[open] > summary{border-bottom:1px solid #edf2ff;background:#f8fbff}
.more-categories-fold[open] > summary::after{transform:rotate(180deg)}
.more-categories-inner{padding:12px}
.more-categories-inner .category-block:first-child{margin-top:0}
.category-sections{display:grid;gap:12px}
.vitrines-by-category .vitrine-card{
  display:flex;
  flex-direction:column;
}
.vitrines-by-category .vitrine-card p{
  min-height:56px;
}
.vitrines-by-category .vitrine-link{margin-top:auto}
@media (max-width: 1024px){
  .hero-macro-footer{grid-template-columns:1fr}
  .section-header-premium p{max-width:none}
}
@media (max-width: 740px){
  .more-categories-fold > summary{padding:11px 12px;font-size:14px}
  .more-categories-inner{padding:10px}
  .vitrines-by-category .vitrine-card p{min-height:auto}
}
