
/* ════════════════════════════════════════
   DESIGN TOKENS
════════════════════════════════════════ */
:root{
  color-scheme: light; /* Força light mode — desativa dark mode automático do browser */
  --b50:#EFF6FF;--b100:#DBEAFE;--b200:#BFDBFE;--b300:#93C5FD;
  --b500:#3B82F6;--b600:#2563EB;--b700:#1D4ED8;--b800:#1E40AF;--b900:#1E3A8A;
  --acc:#2563EB;--acc-d:#1D4ED8;--acc-l:#3B82F6;
  --txt:#0F172A;--txt-m:#475569;--txt-s:#94A3B8;
  --bg:#F8FAFC;--card:#FFFFFF;--brd:#E2E8F0;--brd-m:#CBD5E1;
  --ok:#059669;--warn:#D97706;--err:#DC2626;
  --fh:'Plus Jakarta Sans',sans-serif;
  --r:12px;--rl:18px;--rx:24px;
  --sh:0 4px 16px rgba(15,23,42,.08);
  --shl:0 12px 40px rgba(15,23,42,.12);
  --shxl:0 24px 64px rgba(15,23,42,.16);
}
*,*::before,*::after{margin:0;padding:0;box-sizing:border-box;}
html{scroll-behavior:smooth;}
body{font-family:var(--fh);background:var(--bg);color:var(--txt);line-height:1.6;-webkit-font-smoothing:antialiased;}
/* ── Skip Link (acessibilidade) ── */
.skip-link{position:absolute;top:-40px;left:0;background:var(--acc);color:#fff;padding:8px 16px;z-index:9999;font-weight:700;border-radius:0 0 8px 0;text-decoration:none;transition:top .2s;}
.skip-link:focus{top:0;}
/* ── Screen reader only ── */

/* ── Focus states acessíveis (WCAG 2.4.7) ── */
:focus-visible{outline:3px solid var(--acc);outline-offset:2px;border-radius:3px;}
button:focus-visible,a:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible{outline:3px solid var(--acc);outline-offset:2px;}
.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0;}

.container{width:92%;max-width:1200px;margin:0 auto;padding:0 16px;}

/* ════════════════════════════════════════
   HEADER
════════════════════════════════════════ */
/* Share FAB */
#share-fab{position:fixed;bottom:24px;right:24px;z-index:800;display:flex;flex-direction:column;align-items:flex-end;gap:8px;}
#share-fab-btn{width:52px;height:52px;border-radius:50%;background:var(--acc);color:#fff;border:none;font-size:1.3rem;cursor:pointer;box-shadow:0 4px 18px rgba(37,99,235,.4);display:flex;align-items:center;justify-content:center;transition:all .2s;}
#share-fab-btn:hover{background:var(--acc-d);transform:scale(1.08);}
#share-fab-menu{display:none;flex-direction:column;gap:6px;align-items:flex-end;}
#share-fab-menu.open{display:flex;}
.share-fab-item{display:flex;align-items:center;gap:8px;padding:7px 14px;border-radius:999px;font-size:.78rem;font-weight:700;text-decoration:none;color:#fff;box-shadow:0 3px 12px rgba(0,0,0,.15);white-space:nowrap;}
.share-wpp{background:#25D366;}
.share-li{background:#0A66C2;}
.share-x{background:#000;}
.share-fb{background:#1877F2;}
.share-tg{background:#229ED9;}
.share-copy{background:var(--txt);cursor:pointer;border:none;font-family:var(--fh);}
@media(max-width:600px){#share-fab{bottom:16px;right:14px;}}
#hdr{background:rgba(255,255,255,.96);backdrop-filter:blur(12px);border-bottom:1px solid var(--brd);position:sticky;top:0;z-index:900;}
.hdr-inner{display:flex;align-items:center;height:52px;padding:0 14px;gap:4px;}
.logo{font-family:var(--fh);font-weight:800;font-size:1.05rem;color:var(--acc);text-decoration:none;letter-spacing:-.5px;display:flex;align-items:center;gap:7px;flex-shrink:0;white-space:nowrap;margin-right:4px;}
.logo-ic{width:26px;height:26px;background:var(--acc);border-radius:6px;display:flex;align-items:center;justify-content:center;color:#fff;font-size:.78rem;}
.logo span{color:var(--txt);}
.hdr-nav{display:flex;align-items:center;gap:2px;flex:1;}
.hdr-nav a{font-size:.8rem;font-weight:600;color:var(--txt-m);text-decoration:none;padding:5px 9px;border-radius:8px;transition:all .15s;white-space:nowrap;cursor:pointer;display:flex;align-items:center;}
.hdr-nav a:hover,.hdr-nav a.on{background:var(--b50);color:var(--acc);}
.nav-dropdown{position:relative;}
.nav-dropdown>a{gap:4px;}
.nav-dropdown>a::after{content:'▾';font-size:.65rem;opacity:.6;transition:transform .2s;margin-left:2px;}
.nav-dropdown.open>a::after{transform:rotate(180deg);}
.nav-drop-menu{position:fixed;top:52px;background:#fff;border:1px solid var(--brd);border-radius:var(--rl);box-shadow:0 8px 32px rgba(15,23,42,.2);padding:8px;min-width:240px;opacity:0;pointer-events:none;transform:translateY(-6px);transition:opacity .18s,transform .18s;z-index:9999;max-height:calc(100vh - 60px);overflow-y:auto;}
.nav-dropdown.open .nav-drop-menu{opacity:1;pointer-events:all;transform:translateY(0);}
.nav-drop-menu a{display:flex;align-items:center;gap:10px;padding:10px 12px;border-radius:8px;font-size:.84rem;font-weight:600;color:var(--txt-m);cursor:pointer;transition:background .15s;white-space:nowrap;}
.nav-drop-menu a:hover{background:var(--b50);color:var(--acc);}
.nav-drop-menu a .dm-icon{font-size:1rem;width:24px;text-align:center;flex-shrink:0;}
.nav-drop-divider{height:1px;background:var(--brd);margin:5px 4px;}
.hdr-right{display:flex;align-items:center;gap:6px;flex-shrink:0;}
/* Hamburger: oculto em desktop, visível via @media mobile */
.hdr-burger { display: none; }
.hdr-doacao{font-size:.78rem;font-weight:600;color:var(--txt-m);cursor:pointer;padding:5px 8px;border-radius:8px;white-space:nowrap;}
.hdr-doacao:hover{background:var(--b50);color:var(--acc);}
.btn-calc-nav{background:var(--acc);color:#fff !important;border-radius:8px;padding:7px 12px !important;font-size:.78rem !important;font-weight:700;cursor:pointer;white-space:nowrap;text-decoration:none;display:inline-flex;align-items:center;gap:4px;flex-shrink:0;}
.btn-calc-nav:hover{background:var(--acc-d) !important;}



/* ════════════════════════════════════════
   SECTIONS (SPA navigation)
════════════════════════════════════════ */
.sec{display:none;}
.sec.active{display:block;}

/* ════════════════════════════════════════
   HOME HERO
════════════════════════════════════════ */
.home-hero{
  background:linear-gradient(135deg,var(--b900) 0%,var(--b700) 55%,var(--b500) 100%);
  padding:64px 0 72px;position:relative;overflow:hidden;
}
.home-hero::before{content:'';position:absolute;top:-80px;right:-80px;width:420px;height:420px;border-radius:50%;background:rgba(255,255,255,.04);}
.home-hero::after{content:'';position:absolute;bottom:-60px;left:8%;width:260px;height:260px;border-radius:50%;background:rgba(255,255,255,.03);}
.hero-grid{position:relative;z-index:1;display:grid;grid-template-columns:1fr 440px;gap:56px;align-items:center;}
.hero-text h1{font-size:clamp(1.8rem,3.5vw,2.8rem);font-weight:800;color:#fff;letter-spacing:-1px;line-height:1.1;margin-bottom:16px;}
.hero-text h1 em{font-style:normal;color:var(--b200);}
.hero-text p{font-size:1rem;color:rgba(255,255,255,.72);margin-bottom:28px;line-height:1.7;max-width:440px;}
.hero-stats{display:flex;gap:28px;flex-wrap:wrap;}
.hs-num{font-size:1.7rem;font-weight:800;color:#fff;line-height:1;}
.hs-lbl{font-size:.76rem;color:rgba(255,255,255,.5);margin-top:2px;}
.hero-card{background:#fff;border-radius:var(--rx);padding:28px;box-shadow:var(--shxl);}
.hero-card h3{font-size:.97rem;font-weight:700;margin-bottom:14px;}
.quick-grid{display:grid;grid-template-columns:1fr 1fr;gap:7px;}
.qt{display:flex;align-items:center;gap:7px;padding:9px 11px;border:1.5px solid var(--brd);border-radius:var(--r);font-size:.81rem;font-weight:600;color:var(--txt-m);cursor:pointer;transition:all .15s;background:var(--bg);}
.qt:hover{border-color:var(--acc);color:var(--acc);background:var(--b50);}

/* ════════════════════════════════════════
   TOOLS GRID (home)
════════════════════════════════════════ */
.sec-title{font-size:clamp(1.3rem,2.5vw,1.8rem);font-weight:800;letter-spacing:-.4px;margin-bottom:6px;}
.sec-sub{color:var(--txt-m);font-size:.93rem;margin-bottom:28px;}
.cat-tabs{display:flex;gap:7px;flex-wrap:wrap;margin-bottom:32px;}
.ctab{padding:7px 16px;border:1.5px solid var(--brd);border-radius:999px;font-size:.83rem;font-weight:600;color:var(--txt-m);cursor:pointer;transition:all .15s;background:var(--card);}
.ctab:hover{border-color:var(--acc);color:var(--acc);}
.ctab.on{background:var(--acc);border-color:var(--acc);color:#fff;}
.tools-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(155px,1fr));gap:8px;margin-bottom:20px;}
.tc{background:var(--card);border:1.5px solid var(--brd);border-radius:10px;padding:11px;cursor:pointer;display:block;transition:all .2s;position:relative;overflow:hidden;}
.tc::before{content:'';position:absolute;top:0;left:0;right:0;height:3px;background:var(--acc);transform:scaleX(0);transform-origin:left;transition:transform .25s;}
.tc:hover{border-color:var(--b200);box-shadow:var(--sh);transform:translateY(-2px);}
.tc:hover::before{transform:scaleX(1);}
.tc-icon{width:28px;height:28px;background:var(--b50);border-radius:7px;display:flex;align-items:center;justify-content:center;font-size:.85rem;margin-bottom:6px;}
.tc-name{font-size:.76rem;font-weight:700;margin-bottom:2px;line-height:1.3;}
.tc-desc{font-size:.67rem;color:var(--txt-m);line-height:1.35;}
.tc-tag{display:inline-block;margin-top:6px;padding:2px 7px;border-radius:999px;font-size:.6rem;font-weight:700;background:var(--b50);color:var(--acc);}

/* ════════════════════════════════════════
   INNER TOOL PAGES
════════════════════════════════════════ */

.bsep{color:rgba(255,255,255,.3);}

/* cards */
.card{background:var(--card);border:1px solid var(--brd);border-radius:var(--rl);box-shadow:var(--sh);padding:13px;}
.card h2{font-size:.85rem;font-weight:800;margin-bottom:3px;}
.card .sub{font-size:.72rem;color:var(--txt-s);margin-bottom:9px;padding-bottom:8px;border-bottom:1px solid var(--brd);}
.card-sm{background:var(--card);border:1px solid var(--brd);border-radius:var(--rl);padding:10px;}

/* form elements */
.fg{margin-bottom:7px;}
.fg label,.flbl{display:block;font-size:.62rem;font-weight:700;text-transform:uppercase;letter-spacing:.05em;color:var(--txt-s);margin-bottom:2px;}
.fg input,.fg select,.fg textarea{width:100%;padding:5px 9px;border:1.5px solid var(--brd);border-radius:var(--r);font-size:.8rem;font-family:var(--fh);color:var(--txt);background:var(--bg);transition:border-color .18s,box-shadow .18s;appearance:none;}
.fg input:focus,.fg select:focus,.fg textarea:focus{outline:none;border-color:var(--acc);box-shadow:0 0 0 3px rgba(37,99,235,.1);background:#fff;}
.fg-row{display:grid;grid-template-columns:1fr 1fr;gap:7px;}
.pfx{position:relative;}.pfx-s{position:absolute;left:12px;top:50%;transform:translateY(-50%);font-weight:700;font-size:.85rem;color:var(--txt-s);pointer-events:none;}
.pfx input{padding-left:30px;}
.sfx{position:relative;}.sfx-s{position:absolute;right:12px;top:50%;transform:translateY(-50%);font-weight:700;font-size:.85rem;color:var(--txt-s);pointer-events:none;}
.sfx input{padding-right:34px;}

/* pills */
.pills{display:flex;gap:5px;flex-wrap:wrap;margin-bottom:9px;}
.pill{padding:5px 11px;border:1.5px solid var(--brd);border-radius:999px;font-size:.76rem;font-weight:600;color:var(--txt-m);cursor:pointer;transition:all .15s;background:var(--bg);}
.pill:hover{border-color:var(--acc);color:var(--acc);}
.pill.on{background:var(--acc);border-color:var(--acc);color:#fff;}
.pill-tabs{display:flex;gap:5px;margin-bottom:10px;}
.ptab{flex:1;text-align:center;padding:7px;border:1.5px solid var(--brd);border-radius:var(--r);font-size:.78rem;font-weight:700;color:var(--txt-m);cursor:pointer;transition:all .15s;background:var(--bg);}
.ptab.on{border-color:var(--acc);background:var(--b50);color:var(--acc);}

/* checkboxes */
.chk-row{display:flex;flex-wrap:wrap;gap:5px;margin-bottom:8px;}
.chk{position:relative;}
.chk input{display:none;}
.chk label{display:flex;align-items:center;gap:5px;padding:5px 9px;border:1.5px solid var(--brd);border-radius:8px;font-size:.74rem;font-weight:500;color:var(--txt-m);cursor:pointer;transition:all .15s;background:var(--bg);}
.chk label::before{content:'';width:14px;height:14px;border:2px solid var(--brd-m);border-radius:3px;flex-shrink:0;transition:all .15s;}
.chk input:checked+label{border-color:var(--acc);background:var(--b50);color:var(--acc);}
.chk input:checked+label::before{background:var(--acc);border-color:var(--acc);background-image:url("data:image/svg+xml,%3Csvg width='10' height='8' viewBox='0 0 10 8' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M1 4L3.5 6.5L9 1' stroke='white' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:center;}

/* toggle switch */
.tog{position:relative;width:42px;height:23px;flex-shrink:0;}
.tog input{display:none;}
.tog-tr{position:absolute;inset:0;background:var(--brd-m);border-radius:999px;cursor:pointer;transition:background .2s;}
.tog input:checked+.tog-tr{background:var(--acc);}
.tog-th{position:absolute;top:3px;left:3px;width:17px;height:17px;background:#fff;border-radius:50%;transition:transform .2s;box-shadow:0 1px 4px rgba(0,0,0,.2);pointer-events:none;}
.tog input:checked~.tog-th{transform:translateX(19px);}

/* buttons */
.btn{display:inline-flex;align-items:center;justify-content:center;gap:6px;padding:6px 12px;border:none;border-radius:var(--r);font-family:var(--fh);font-weight:700;font-size:.78rem;cursor:pointer;transition:all .18s;text-decoration:none;}
.btn-p{background:var(--acc);color:#fff;}
.btn-p:hover{background:var(--acc-d);transform:translateY(-1px);box-shadow:0 6px 20px rgba(37,99,235,.3);}
.btn-s{background:var(--b50);color:var(--acc);border:1.5px solid var(--b200);}
.btn-s:hover{background:var(--b100);}
.btn-g{background:transparent;color:var(--txt-m);border:1.5px solid var(--brd);}
.btn-g:hover{border-color:var(--acc);color:var(--acc);background:var(--b50);}
.btn-full{width:100%;padding:8px;font-size:.82rem;}

/* divider */
.div{height:1px;background:var(--brd);margin:10px 0;}

/* result box */
.res-box{background:linear-gradient(135deg,var(--b50),#fff);border:1.5px solid var(--b200);border-radius:var(--rl);padding:11px;display:none;}
.res-box.show{display:block;}
.res-box.err{background:#FFF5F5;border-color:#FCA5A5;}
.res-lbl{font-size:.62rem;font-weight:700;text-transform:uppercase;letter-spacing:.07em;color:var(--acc);margin-bottom:3px;}
.res-val{font-size:1.2rem;font-weight:800;color:var(--txt);letter-spacing:-.5px;line-height:1.2;margin-bottom:3px;}
.res-box.err .res-val{font-size:.9rem;color:var(--err);font-weight:600;}
.res-det{font-size:.76rem;color:var(--txt-s);line-height:1.4;}
.res-holidays{margin-top:7px;padding:6px 10px;background:rgba(5,150,105,.08);border-radius:7px;font-size:.74rem;color:var(--ok);font-weight:500;display:none;}
.res-holidays.show{display:block;}

/* result items grid */
.ri-grid{display:grid;grid-template-columns:1fr 1fr;gap:5px;margin-bottom:8px;}
.ri{background:var(--b50);border:1.5px solid var(--b100);border-radius:var(--r);padding:7px;}
.ri-lbl{font-size:.58rem;font-weight:700;text-transform:uppercase;letter-spacing:.05em;color:var(--acc);margin-bottom:2px;}
.ri-val{font-size:.86rem;font-weight:800;color:var(--txt);}
.ri.span2{grid-column:1/-1;background:var(--b100);border-color:var(--b200);}
.ri.span2 .ri-val{font-size:1rem;}

/* table */
.tbl-wrap{max-height:300px;overflow-y:auto;border-radius:var(--r);border:1px solid var(--brd);}
.tbl{width:100%;border-collapse:collapse;font-size:.82rem;}
.tbl th{background:var(--b900);color:#fff;padding:9px 11px;text-align:left;font-weight:700;position:sticky;top:0;}
.tbl td{padding:8px 11px;border-bottom:1px solid var(--brd);}
.tbl tr:nth-child(even) td{background:var(--b50);}

/* sidebar area menu */
.area-sidebar{position:sticky;top:76px;}
.area-title-sm{font-size:.7rem;font-weight:700;text-transform:uppercase;letter-spacing:.06em;color:var(--txt-s);margin-bottom:7px;padding:0 3px;}
.am-item{position:relative;margin-bottom:4px;}
.am-btn{width:100%;display:flex;align-items:center;gap:9px;padding:10px 13px;border:1.5px solid var(--brd);border-radius:var(--r);background:var(--card);font-size:.84rem;font-weight:600;color:var(--txt-m);cursor:pointer;transition:all .18s;text-align:left;}
.am-btn:hover,.am-item:hover .am-btn{border-color:var(--acc);color:var(--acc);background:var(--b50);}
.am-btn .arr{margin-left:auto;font-size:.68rem;transition:transform .2s;}
.am-item:hover .arr{transform:rotate(90deg);}
.am-drop{position:absolute;left:calc(100% + 8px);top:0;width:272px;background:var(--card);border:1.5px solid var(--brd);border-radius:var(--rl);box-shadow:var(--shl);padding:8px;z-index:200;opacity:0;pointer-events:none;transform:translateX(-8px);transition:opacity .18s,transform .18s;}
.am-item:hover .am-drop{opacity:1;pointer-events:all;transform:translateX(0);}
.am-drop-title{font-size:.67rem;font-weight:700;text-transform:uppercase;letter-spacing:.06em;color:var(--txt-s);padding:3px 7px 7px;border-bottom:1px solid var(--brd);margin-bottom:5px;}
.dp-item{display:flex;align-items:center;gap:9px;padding:8px 9px;border-radius:7px;cursor:pointer;transition:background .15s;border:none;background:none;width:100%;text-align:left;}
.dp-item:hover{background:var(--b50);}
.dp-badge{flex-shrink:0;width:34px;height:34px;background:var(--b50);color:var(--acc);border-radius:7px;font-weight:800;font-size:.66rem;display:flex;flex-direction:column;align-items:center;justify-content:center;line-height:1.1;}
.dp-badge .dn{font-size:.92rem;}
.dp-name{font-size:.8rem;font-weight:700;color:var(--txt);line-height:1.25;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;}
.dp-lei{font-size:.68rem;color:var(--txt-s);}

/* ════════════════════════════════════════
   CALCULADORA DE PRAZOS — design ref (azul)
════════════════════════════════════════ */
#sec-prazos { background: #F5F5F2; }
#sec-prazos > .container { padding-top: 0; padding-bottom: 20px; }

/* Main grid */
#p-main-grid {
  display: grid;
  grid-template-columns: 340px 1fr;
  gap: 16px;
  padding: 16px 0 24px;
  align-items: start;
}

/* Calc card */
#p-calc-card {
  background: #fff;
  border: 1px solid #E4E4EE;
  border-radius: 12px;
  box-shadow: 0 8px 40px rgba(26,26,46,.13);
  padding: 14px;
  position: sticky;
  top: 56px;
}
#p-calc-card h2 {
  font-size: .85rem; font-weight: 700; color: #1A1A2E;
  margin-bottom: 10px; padding-bottom: 8px;
  border-bottom: 1px solid #E4E4EE;
  display: flex; align-items: center; gap: 8px;
}

/* Form group */
.pfg { margin-bottom: 8px; }
.pfg label {
  display: block; font-size: .62rem; font-weight: 700;
  text-transform: uppercase; letter-spacing: .06em;
  color: #8888AA; margin-bottom: 3px;
}
.pfg input[type="date"],
.pfg input[type="number"],
.pfg input[type="text"],
.pfg select {
  width: 100%; padding: 6px 9px;
  border: 1.5px solid #E4E4EE; border-radius: 7px;
  font-size: .82rem; font-family: var(--fh); color: #1A1A2E;
  background: #F5F5F2;
  transition: border-color .2s, box-shadow .2s;
  appearance: none; -webkit-appearance: none;
}
.pfg input:focus, .pfg select:focus {
  border-color: var(--acc);
  box-shadow: 0 0 0 3px rgba(37,99,235,.1);
  outline: none; background: #fff;
}
.pfg-row { display: grid; grid-template-columns: 1fr 1fr; gap: 8px; }

/* Pills — corridos / úteis */
.p-pills { display: flex; gap: 6px; margin-bottom: 8px; }
.p-pills input[type="radio"] { display: none; }
.p-pills label {
  flex: 1; text-align: center; padding: 6px;
  border: 1.5px solid #E4E4EE; border-radius: 7px;
  font-size: .76rem; font-weight: 600; font-family: var(--fh);
  color: #4A4A6A; cursor: pointer;
  transition: all .18s; background: #F5F5F2;
}
.p-pills input[type="radio"]:checked + label {
  border-color: var(--acc);
  background: rgba(37,99,235,.07);
  color: var(--acc);
}

/* Checks */
.p-checks { display: grid; grid-template-columns: 1fr 1fr; gap: 5px; margin-bottom: 8px; }
.pchk { position: relative; }
.pchk input[type="checkbox"] { display: none; }
.pchk label {
  display: flex; align-items: center; gap: 5px;
  padding: 5px 8px;
  border: 1.5px solid #E4E4EE; border-radius: 6px;
  font-size: .74rem; font-weight: 500; color: #4A4A6A;
  cursor: pointer; transition: all .18s; background: #F5F5F2;
}
.pchk label::before {
  content: ''; width: 12px; height: 12px;
  border: 2px solid #E4E4EE; border-radius: 3px;
  flex-shrink: 0; transition: all .18s;
}
.pchk input[type="checkbox"]:checked + label {
  border-color: var(--acc);
  background: rgba(37,99,235,.07);
  color: var(--acc);
}
.pchk input[type="checkbox"]:checked + label::before {
  background: var(--acc); border-color: var(--acc);
  background-image: url("data:image/svg+xml,%3Csvg width='10' height='8' viewBox='0 0 10 8' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M1 4L3.5 6.5L9 1' stroke='white' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E");
  background-repeat: no-repeat; background-position: center;
}

/* Uteis opts */
#p-uteis-opts {
  background: #F5F5F2; border: 1.5px solid #E4E4EE;
  border-radius: 8px; padding: 9px; margin-bottom: 8px;
  display: none;
}
#p-uteis-opts.show { display: block; }

/* Divider */
.p-divider { height: 1px; background: #E4E4EE; margin: 9px 0; }

/* Botão calcular */
#p-btn-calc {
  width: 100%; padding: 9px 14px;
  background: var(--acc); color: #fff; border: none;
  border-radius: 8px; font-family: var(--fh);
  font-weight: 700; font-size: .85rem;
  cursor: pointer; transition: all .2s;
}
#p-btn-calc:hover {
  background: var(--acc-d);
  transform: translateY(-1px);
  box-shadow: 0 6px 20px rgba(37,99,235,.3);
}

/* Resultado */
#p-resultado {
  margin-top: 10px; padding: 12px 14px;
  background: linear-gradient(135deg, #EFF6FF, #DBEAFE);
  border: 1.5px solid rgba(37,99,235,.2);
  border-radius: 8px; display: none;
}
#p-resultado.show { display: block; }
#p-resultado.err { background: #FFF5F5; border-color: rgba(200,0,0,.2); }
.p-res-lbl {
  font-size: .6rem; font-weight: 700; text-transform: uppercase;
  letter-spacing: .07em; color: var(--acc); margin-bottom: 2px;
}
#p-res-txt {
  font-size: 1.25rem; font-weight: 800; color: #1A1A2E;
  letter-spacing: -.5px; line-height: 1.2; margin-bottom: 3px;
}
#p-resultado.err #p-res-txt { font-size: .85rem; color: #B00; font-weight: 600; }
#p-res-resumo { font-size: .74rem; color: #8888AA; line-height: 1.4; }
#p-res-feriados {
  margin-top: 6px; padding: 6px 9px;
  background: rgba(11,122,78,.08); border-radius: 6px;
  font-size: .74rem; color: #0B7A4E; font-weight: 500; display: none;
}
#p-res-feriados.show { display: block; }

/* Right panel */
#p-right-panel { display: flex; flex-direction: column; gap: 12px; }

/* Prazos card */
#p-prazos-card {
  background: #fff; border: 1px solid #E4E4EE;
  border-radius: 11px; box-shadow: 0 2px 16px rgba(26,26,46,.07);
  overflow: hidden;
}
#p-prazos-hd { padding: 11px 14px 0; }
#p-prazos-hd h2 {
  font-size: .84rem; font-weight: 700; color: #1A1A2E; margin-bottom: 8px;
}
.p-area-tabs {
  display: flex; gap: 5px; flex-wrap: wrap;
  padding: 0 14px 8px; border-bottom: 1px solid #E4E4EE;
}
.patab {
  padding: 4px 10px; border: 1.5px solid #E4E4EE; border-radius: 999px;
  font-size: .66rem; font-weight: 700; color: #4A4A6A;
  cursor: pointer; transition: all .18s; background: #F5F5F2;
  white-space: nowrap; font-family: var(--fh);
}
.patab:hover { border-color: var(--acc); color: var(--acc); }
.patab.active { background: var(--acc); border-color: var(--acc); color: #fff; }
.p-area-panel { display: none; padding: 8px 14px 12px; }
.p-area-panel.active { display: block; }
.p-prazo-grid {
  display: grid;
  grid-template-columns: repeat(auto-fill, minmax(160px,1fr));
  gap: 6px;
}

/* Prazo card item */
.ppc {
  display: flex; align-items: center; gap: 7px;
  padding: 7px 9px; border: 1.5px solid #E4E4EE;
  border-radius: 8px; cursor: pointer; transition: all .18s; background: #F5F5F2;
}
.ppc:hover {
  border-color: var(--acc); background: #fff;
  transform: translateY(-1px);
  box-shadow: 0 4px 14px rgba(37,99,235,.1);
}
.ppc-badge {
  flex-shrink: 0; width: 30px; height: 30px; border-radius: 6px;
  background: rgba(37,99,235,.08); color: var(--acc);
  font-weight: 800; font-size: .6rem; font-family: var(--fh);
  display: flex; flex-direction: column;
  align-items: center; justify-content: center; line-height: 1.1;
}
.ppc-badge .pn { font-size: .88rem; }
.ppc-body { flex: 1; min-width: 0; }
.ppc-nome {
  font-size: .7rem; font-weight: 700; color: #1A1A2E;
  line-height: 1.2; white-space: nowrap;
  overflow: hidden; text-overflow: ellipsis; font-family: var(--fh);
}
.ppc-lei { font-size: .62rem; color: #8888AA; }

/* Como card */
#p-como-card {
  background: #fff; border: 1px solid #E4E4EE;
  border-radius: 11px; box-shadow: 0 2px 16px rgba(26,26,46,.07);
  padding: 12px 14px;
}
#p-como-card h2 {
  font-size: .84rem; font-weight: 700; color: #1A1A2E; margin-bottom: 8px;
}
.p-como-steps { display: flex; flex-direction: column; gap: 6px; }
.p-como-step { display: flex; align-items: flex-start; gap: 8px; }
.p-como-num {
  flex-shrink: 0; width: 20px; height: 20px;
  background: var(--acc); color: #fff; border-radius: 50%;
  font-weight: 800; font-size: .68rem; font-family: var(--fh);
  display: flex; align-items: center; justify-content: center; margin-top: 1px;
}
.p-como-step p { font-size: .76rem; color: #4A4A6A; line-height: 1.4; }
.p-como-step strong { color: #1A1A2E; font-weight: 600; }

/* Modal de prazo */
#p-modal-overlay {
  position: fixed; inset: 0;
  background: rgba(26,26,46,.55);
  backdrop-filter: blur(4px);
  z-index: 800;
  display: flex; align-items: center; justify-content: center; padding: 20px;
  opacity: 0; pointer-events: none; transition: opacity .22s;
}
#p-modal-overlay.open { opacity: 1; pointer-events: all; }
#p-modal-box {
  background: #fff; border-radius: 18px; padding: 30px 34px;
  max-width: 490px; width: 100%;
  box-shadow: 0 24px 80px rgba(26,26,46,.22);
  position: relative;
  transform: translateY(14px) scale(.98); transition: transform .22s;
}
#p-modal-overlay.open #p-modal-box { transform: translateY(0) scale(1); }
#p-modal-close {
  position: absolute; top: 12px; right: 14px;
  background: #F5F5F2; border: 1.5px solid #E4E4EE; border-radius: 6px;
  width: 28px; height: 28px; cursor: pointer; font-size: .85rem;
  color: #4A4A6A; display: flex; align-items: center; justify-content: center;
  transition: all .15s;
}
#p-modal-close:hover { background: var(--acc); color: #fff; border-color: var(--acc); }
.pm-tag {
  display: inline-block; padding: 3px 10px; border-radius: 999px;
  font-size: .65rem; font-weight: 700; text-transform: uppercase; letter-spacing: .06em;
  background: rgba(37,99,235,.1); color: var(--acc); margin-bottom: 8px;
  font-family: var(--fh);
}
.pm-title {
  font-size: 1.2rem; font-weight: 800; color: #1A1A2E;
  margin-bottom: 10px; line-height: 1.25; font-family: var(--fh);
}
.pm-dias {
  font-size: 2rem; font-weight: 800; color: var(--acc);
  letter-spacing: -1px; line-height: 1; margin-bottom: 3px; font-family: var(--fh);
}
.pm-dias span { font-size: .88rem; font-weight: 500; color: #4A4A6A; letter-spacing: 0; }
.pm-tipo { font-size: .8rem; color: #8888AA; margin-bottom: 14px; }
.pm-row { display: flex; gap: 8px; padding: 10px 0; border-top: 1px solid #E4E4EE; }
.pm-lbl {
  font-size: .68rem; font-weight: 700; text-transform: uppercase; letter-spacing: .05em;
  color: #8888AA; min-width: 80px; padding-top: 1px; flex-shrink: 0; font-family: var(--fh);
}
.pm-val { font-size: .85rem; color: #4A4A6A; line-height: 1.5; }
.pm-obs {
  margin-top: 12px; padding: 11px 13px;
  background: #FFFBF0; border-left: 3px solid #F0A500;
  border-radius: 0 7px 7px 0;
  font-size: .81rem; color: #7A5800; line-height: 1.55; display: none;
}
.pm-obs strong {
  display: block; margin-bottom: 2px;
  font-size: .68rem; text-transform: uppercase; letter-spacing: .05em; font-family: var(--fh);
}
.pm-btn {
  margin-top: 18px; width: 100%; padding: 12px 16px;
  background: var(--acc); color: #fff; border: none; border-radius: 9px;
  font-family: var(--fh); font-weight: 700; font-size: .9rem;
  cursor: pointer; transition: all .2s;
  display: flex; align-items: center; justify-content: center; gap: 6px;
}
.pm-btn:hover {
  background: var(--acc-d); transform: translateY(-1px);
  box-shadow: 0 6px 20px rgba(37,99,235,.3);
}

/* Responsive */
@media(max-width:920px){
  #p-main-grid { grid-template-columns: 1fr; }
  #p-calc-card { position: static; }
  .p-prazo-grid { grid-template-columns: repeat(auto-fill,minmax(160px,1fr)); }
}
@media(max-width:600px){
  .p-area-tabs { gap: 5px; }
  .patab { font-size: .68rem; padding: 4px 10px; }
  .p-pills { flex-direction: column; }
  .pfg-row { grid-template-columns: 1fr; }
  #p-modal-box { padding: 22px 18px; }
}

/* ── AD BANNERS (estilo PrazoFácil) ── */
/* ── FAQ ── */
.faq-item{border:1px solid var(--brd);border-radius:var(--r);margin-bottom:7px;background:var(--card);overflow:hidden;}
.faq-q{padding:14px 18px;font-weight:600;font-size:.88rem;cursor:pointer;display:flex;justify-content:space-between;align-items:center;user-select:none;transition:background .15s;}
.faq-q:hover{background:var(--bg);}
.faq-q svg{flex-shrink:0;color:var(--acc);transition:transform .25s;}
.faq-item.open .faq-q svg{transform:rotate(180deg);}
.faq-a{max-height:0;overflow:hidden;transition:max-height .3s ease;}
.faq-item.open .faq-a{max-height:400px;}
.faq-ai{padding:0 18px 14px;font-size:.86rem;color:var(--txt-m);line-height:1.65;}

/* ── FOOTER ── */
#ftr{background:var(--txt);padding:44px 0 24px;margin-top:0;}
.ftr-grid{display:grid;grid-template-columns:1.4fr 1fr 1fr 1fr 1fr;gap:36px;margin-bottom:36px;}
.ftr-brand .logo{color:var(--acc-l);}
.ftr-brand .logo-ic{background:var(--acc);}
.ftr-brand .logo span{color:rgba(255,255,255,.5);}
.ftr-desc{font-size:.83rem;color:rgba(255,255,255,.4);margin-top:10px;line-height:1.6;}
.ftr-col h4{font-size:.72rem;font-weight:700;text-transform:uppercase;letter-spacing:.06em;color:rgba(255,255,255,.3);margin-bottom:12px;}
.ftr-col ul{list-style:none;display:flex;flex-direction:column;gap:7px;}
.ftr-col a{font-size:.83rem;color:rgba(255,255,255,.5);text-decoration:none;cursor:pointer;transition:color .2s;}
.ftr-col a:hover{color:#fff;}
.ftr-bot{border-top:1px solid rgba(255,255,255,.07);padding-top:20px;display:flex;justify-content:space-between;align-items:center;}
.ftr-copy{font-size:.76rem;color:rgba(255,255,255,.22);}

/* ── IMC ── */
.imc-meter{width:100%;height:16px;border-radius:999px;background:linear-gradient(to right,#3B82F6,#22C55E,#EAB308,#EF4444);margin-bottom:6px;position:relative;}
.imc-ptr{position:absolute;top:-4px;width:6px;height:24px;background:var(--txt);border-radius:3px;transform:translateX(-50%);transition:left .5s;}
.imc-ranges{display:flex;justify-content:space-between;font-size:.7rem;color:var(--txt-s);}

/* ── STRENGTH BAR ── */
.str-bar{height:6px;border-radius:999px;background:var(--brd);margin-bottom:5px;overflow:hidden;}
.str-fill{height:100%;border-radius:999px;transition:width .3s,background .3s;}
.str-lbl{font-size:.78rem;font-weight:600;margin-bottom:18px;}

/* ── PASSWORD OUTPUT ── */
.pw-out{position:relative;background:var(--txt);border-radius:var(--rl);padding:18px 52px 18px 18px;margin-bottom:8px;}
#pw-val{font-family:'Courier New',monospace;font-size:1.2rem;font-weight:700;color:#fff;letter-spacing:.08em;word-break:break-all;line-height:1.4;}
#pw-copy-btn{position:absolute;right:10px;top:50%;transform:translateY(-50%);background:rgba(255,255,255,.1);border:none;border-radius:7px;color:#fff;width:34px;height:34px;cursor:pointer;font-size:.9rem;display:flex;align-items:center;justify-content:center;transition:background .15s;}
#pw-copy-btn:hover{background:rgba(255,255,255,.2);}

/* QR */
.qr-type-tabs{display:flex;gap:6px;flex-wrap:wrap;margin-bottom:18px;}
.qrtt{padding:6px 12px;border:1.5px solid var(--brd);border-radius:999px;font-size:.78rem;font-weight:600;color:var(--txt-m);cursor:pointer;transition:all .15s;background:var(--bg);}
.qrtt:hover{border-color:var(--acc);color:var(--acc);}
.qrtt.on{background:var(--acc);border-color:var(--acc);color:#fff;}
.qr-f{display:none;}
.qr-f.on{display:block;}
.qr-out{display:flex;flex-direction:column;align-items:center;justify-content:center;min-height:180px;padding:16px;}
.qr-empty{text-align:center;color:var(--txt-s);}
.qr-empty .qi{font-size:2.5rem;margin-bottom:8px;}
.qr-empty p{font-size:.83rem;}

/* VALIDATION result */
.vr{margin-top:8px;padding:18px;border-radius:var(--rl);display:none;border:2px solid var(--brd);}
.vr.show{display:block;}
.vr.ok{background:rgba(5,150,105,.06);border-color:rgba(5,150,105,.25);}
.vr.fail{background:rgba(220,38,38,.05);border-color:rgba(220,38,38,.2);}
.vr-title{font-size:.97rem;font-weight:800;margin-bottom:8px;display:flex;align-items:center;gap:7px;}
.vr.ok .vr-title{color:var(--ok);}
.vr.fail .vr-title{color:var(--err);}
.vr-row{display:flex;gap:8px;margin-top:7px;font-size:.83rem;}
.vr-lbl{color:var(--txt-s);min-width:88px;}
.vr-val{font-weight:700;}
.big-input input{width:100%;padding:14px 16px;border:2px solid var(--brd);border-radius:var(--rl);font-size:1.2rem;font-family:var(--fh);font-weight:700;letter-spacing:.06em;transition:border-color .2s,box-shadow .2s;}
.big-input input:focus{outline:none;border-color:var(--acc);box-shadow:0 0 0 4px rgba(37,99,235,.1);background:#fff;}
.big-input input.ok{border-color:var(--ok);}
.big-input input.fail{border-color:var(--err);}

/* BENEFITS */
.ben-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(210px,1fr));gap:16px;}
.ben-card{padding:24px;border:1px solid var(--brd);border-radius:var(--rl);background:var(--card);transition:transform .2s,box-shadow .2s;}
.ben-card:hover{transform:translateY(-3px);box-shadow:var(--sh);}
.ben-icon{font-size:1.5rem;margin-bottom:10px;}
.ben-card h3{font-size:.93rem;font-weight:700;margin-bottom:6px;}
.ben-card p{font-size:.83rem;color:var(--txt-m);line-height:1.5;}

/* ── MOEDAS ── */
.moeda-display{background:var(--txt);border-radius:var(--rl);padding:20px 22px;margin-bottom:20px;}
.moeda-pair{display:grid;grid-template-columns:1fr auto 1fr;gap:12px;align-items:end;}
.moeda-val{font-family:'Courier New',monospace;font-size:1.6rem;font-weight:700;color:#fff;letter-spacing:.02em;}
.moeda-lbl-sm{font-size:.72rem;color:rgba(255,255,255,.5);margin-bottom:4px;}
.moeda-arrow{font-size:1.4rem;color:var(--b300);padding-bottom:4px;}
.moeda-rate-info{font-size:.78rem;color:rgba(255,255,255,.4);margin-top:8px;}
.currency-flags{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin-bottom:16px;}
.cf-item{display:flex;align-items:center;gap:9px;padding:11px 13px;border:1.5px solid var(--brd);border-radius:var(--r);cursor:pointer;transition:all .15s;background:var(--bg);}
.cf-item:hover,.cf-item.on{border-color:var(--acc);background:var(--b50);}
.cf-flag{font-size:1.2rem;}
.cf-name{font-size:.83rem;font-weight:700;}
.cf-code{font-size:.72rem;color:var(--txt-s);}

/* SLIDER */
.sl-row{display:flex;align-items:center;gap:10px;}
.sl-row label{font-size:.72rem;font-weight:700;text-transform:uppercase;letter-spacing:.05em;color:var(--txt-s);min-width:80px;}
.sl-row input[type=range]{flex:1;accent-color:var(--acc);}
.sl-val{font-family:var(--fh);font-weight:700;font-size:.88rem;color:var(--acc);min-width:44px;text-align:right;}

/* ── CORRECAO ── */
.idx-pills{display:flex;gap:6px;flex-wrap:wrap;margin-bottom:16px;}
.idx-pill{padding:7px 14px;border:1.5px solid var(--brd);border-radius:999px;font-size:.82rem;font-weight:700;color:var(--txt-m);cursor:pointer;transition:all .15s;background:var(--bg);}
.idx-pill:hover{border-color:var(--acc);color:var(--acc);}
.idx-pill.on{background:var(--acc);border-color:var(--acc);color:#fff;}
.note-box{background:var(--b50);border:1.5px solid var(--b200);border-radius:var(--r);padding:13px 15px;font-size:.82rem;color:var(--txt-m);line-height:1.55;margin-top:14px;}
.note-box strong{color:var(--acc);}

/* ── LAYOUT HELPERS ── */
.two-col{display:grid;grid-template-columns:220px 1fr;gap:22px;padding:10px 0 20px;align-items:start;}
.three-col{display:grid;grid-template-columns:220px 1fr 320px;gap:22px;padding:10px 0 20px;align-items:start;}
.right-col{display:flex;flex-direction:column;gap:18px;position:sticky;top:76px;}
.inner-pad{padding:10px 0 20px;}
.inner-2col{display:grid;grid-template-columns:1fr 1fr;gap:22px;align-items:start;padding:10px 0 20px;}
.inner-side{display:grid;grid-template-columns:1fr 300px;gap:22px;align-items:start;padding:10px 0 20px;}

/* ── RESPONSIVE ── */
@media(max-width:1060px){.three-col{grid-template-columns:200px 1fr;}.right-col{display:none;}}
@media(max-width:900px){
  .hero-grid{grid-template-columns:1fr;}
  .hero-card{max-width:460px;}
  .two-col,.three-col{grid-template-columns:1fr;}
  .area-sidebar{display:none;}
  .inner-2col{grid-template-columns:1fr;}
  .inner-side{grid-template-columns:1fr;}
  .ftr-grid{grid-template-columns:1fr 1fr;}
  .fg-row{grid-template-columns:1fr;}
  .ri-grid{grid-template-columns:1fr;}
}
@media(max-width:600px){
  .hdr-nav ul{gap:1px;}
  .hdr-nav a{font-size:.75rem;padding:5px 7px;}
  .home-hero{padding:44px 0 52px;}
  .quick-grid{grid-template-columns:1fr;}
  .ftr-grid{grid-template-columns:1fr;gap:22px;}
  .ftr-bot{flex-direction:column;gap:8px;text-align:center;}
  .currency-flags{grid-template-columns:1fr;}
  .moeda-pair{grid-template-columns:1fr;gap:6px;}
  .moeda-arrow{display:none;}
}

/* ════════════════════════════════════════
   HEADER MOBILE — correção de corte de texto
   Garante que "Ferramentas" não seja cortado
   em telas de até 320px
════════════════════════════════════════ */
@media(max-width:640px){.ctab{padding:5px 11px;font-size:.76rem;}}

/* Override: calculadora centralizada, sem grid lateral */
#p-main-grid { display: block !important; }
#p-right-panel { display: none !important; }
#p-calc-card { position: static !important; max-width: 520px; margin: 0 auto; }

/* ── Cookie Banner ── */
#cookie-banner{position:fixed;bottom:0;left:0;right:0;z-index:9998;background:#1A1A2E;color:#fff;padding:16px 24px;display:none;align-items:center;justify-content:space-between;gap:16px;box-shadow:0 -4px 20px rgba(0,0,0,.25);flex-wrap:wrap;}
#cookie-banner p{font-size:.82rem;color:rgba(255,255,255,.8);line-height:1.5;margin:0;flex:1;min-width:200px;}
#cookie-banner p a{color:var(--acc-l);text-decoration:underline;cursor:pointer;}
.cookie-btns{display:flex;gap:8px;flex-shrink:0;}
.cookie-btn-ok{background:var(--acc);color:#fff;border:none;padding:9px 20px;border-radius:var(--r);font-size:.83rem;font-weight:700;cursor:pointer;}
.cookie-btn-ok:hover{background:var(--b600);}
.cookie-btn-no{background:transparent;color:rgba(255,255,255,.5);border:1px solid rgba(255,255,255,.2);padding:9px 16px;border-radius:var(--r);font-size:.83rem;cursor:pointer;}
.cookie-btn-no:hover{color:#fff;border-color:rgba(255,255,255,.5);}

/* ── Tooltip médias salariais ── */
.t-tip{position:relative;display:inline-flex;align-items:center;justify-content:center;width:17px;height:17px;border-radius:50%;background:var(--b200);color:var(--acc);font-size:.68rem;font-weight:800;cursor:help;flex-shrink:0;}
.t-tip-box{display:none;position:absolute;bottom:calc(100% + 8px);left:50%;transform:translateX(-50%);background:#1a1a2e;color:#fff;font-size:.78rem;line-height:1.55;padding:14px 16px;border-radius:10px;width:290px;z-index:200;box-shadow:0 8px 24px rgba(0,0,0,.3);pointer-events:none;white-space:normal;}
.t-tip:hover .t-tip-box,.t-tip:focus .t-tip-box{display:block;}

/* mobile: stack & simplify */
@media(max-width:768px){
  /* on mobile hide 2nd ad in a section if within 600px of first */
  }

/* ════════════════════════════════════════
   ANÚNCIOS — containers padronizados
════════════════════════════════════════ */
.ad-container {
  min-height: 90px; /* Reserva espaço → reduz CLS */
  display: flex;
  justify-content: center;
  align-items: center;
  width: 100%;
  background: var(--card);
  border-top: 1px solid var(--brd);
  border-bottom: 1px solid var(--brd);
  padding: 8px 0;
  box-sizing: border-box;
}
.ad-container:empty {
  display: none !important;
  border: none;
  padding: 0;
  margin: 0;
}
.ad-container.ad-rect {
  min-height: 280px;       /* para formatos retângulo */
  border: none;
  background: transparent;
  padding: 12px 0;
}
.ad-container.ad-footer {
  background: #f8fafc;
  border-bottom: none;
  padding: 12px 0;
}
/* placeholder visual (substitua pela tag <ins> do AdSense) */
.ad-placeholder {
  width: 100%;
  max-width: 728px;
  min-height: 0;
  background: transparent;
  border: none;
  border-radius: 8px;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  color: #94A3B8;
  font-size: .7rem;
  font-family: var(--fh);
  gap: 3px;
}
.ad-placeholder.rect {
  max-width: 336px;
  min-height: 278px;
}
.ad-placeholder strong {
  font-size: .72rem;
  font-weight: 700;
  color: #64748B;
}
/* mobile: uma coluna, sem anúncios empilhados */
@media (max-width: 768px) {
  .ad-container { min-height: 50px; } /* mantém reserva mínima em mobile */
  .ad-container.ad-rect { min-height: 50px; }
  .ad-placeholder { min-height: 0; }
  .ad-placeholder.rect { min-height: 0; max-width: 100%; }
  .ad-desktop-only { display: none !important; }  /* oculta ad extra no mobile */
}

/* ════════════════════════════════════════
   CONTEÚDO SEO
════════════════════════════════════════ */
.seo-content {
  background: var(--bg);
  border-top: 1px solid var(--brd);
  margin-top: 8px;
}
.seo-grid {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 20px;
  margin-bottom: 4px;
}
.seo-h2 {
  font-size: .9rem;
  font-weight: 800;
  color: var(--txt);
  margin-bottom: 7px;
  letter-spacing: -.2px;
}
.seo-p {
  font-size: .82rem;
  color: var(--txt-m);
  line-height: 1.65;
}
.seo-p strong { color: var(--txt); }
.faq-list { margin-top: 8px; }
.faq-item { border: 1px solid var(--brd); border-radius: var(--r); margin-bottom: 6px; background: var(--card); overflow: hidden; }
.faq-q { padding: 11px 14px; font-weight: 600; font-size: .82rem; cursor: pointer; display: flex; justify-content: space-between; align-items: center; user-select: none; transition: background .15s; }
.faq-q:hover { background: var(--bg); }
.faq-q svg { flex-shrink: 0; color: var(--acc); transition: transform .25s; }
.faq-item.open .faq-q svg { transform: rotate(180deg); }
.faq-a { max-height: 0; overflow: hidden; transition: max-height .32s ease; }
.faq-item.open .faq-a { max-height: 400px; }
.faq-ai { padding: 0 14px 12px; font-size: .8rem; color: var(--txt-m); line-height: 1.6; }
@media (max-width: 700px) {
  .seo-grid { grid-template-columns: 1fr; gap: 10px; }
}

/* ── Banners laterais (somente desktop) ── */
.ad-sidebar-wrap {
  position: fixed;
  top: 50%;
  transform: translateY(-50%);
  z-index: 100;
  display: none; /* oculto no mobile */
}
.ad-sidebar-left  { left: 8px; }
.ad-sidebar-right { right: 8px; }
.ad-sidebar-slot {
  width: 160px;
  min-height: 600px;
  background: #f1f5f9;
  border: 1.5px dashed #CBD5E1;
  border-radius: 8px;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  color: #94A3B8;
  font-size: .7rem;
  font-family: var(--fh);
  text-align: center;
  padding: 8px;
  gap: 4px;
}
.ad-sidebar-slot strong { font-size: .72rem; font-weight: 700; color: #64748B; }
/* Mostra lateral apenas quando há espaço suficiente */
@media(min-width:1400px){
  .ad-sidebar-wrap { display: block; }
}






/* ═══════════════════════════
   HEADER MOBILE — duas linhas
═══════════════════════════ */






/* Spans para controle mobile/desktop */
.d-mob-hide { display: inline; }

@media (max-width: 768px) {
  /* Esconde partes longas no mobile */
  .d-mob-hide { display: none; }

  /* ── Botão hamburger ── */
  .hdr-burger {
    display: flex !important;
    flex-direction: column;
    justify-content: center;
    align-items: center;
    gap: 5px;
    width: 44px;
    height: 44px;
    background: none;
    border: none;
    cursor: pointer;
    padding: 8px;
    border-radius: 8px;
    flex-shrink: 0;
    margin-left: auto;
  }
  .hdr-burger span {
    display: block;
    width: 22px;
    height: 2px;
    background: var(--txt-m);
    border-radius: 2px;
    transition: transform .22s, opacity .18s;
  }
  /* Animação X ao abrir */
  .hdr-burger.is-open span:nth-child(1) { transform: translateY(7px) rotate(45deg); }
  .hdr-burger.is-open span:nth-child(2) { opacity: 0; }
  .hdr-burger.is-open span:nth-child(3) { transform: translateY(-7px) rotate(-45deg); }

  /* ── Header: linha única logo + burger ── */
  #hdr { height: auto !important; }
  .hdr-inner {
    flex-direction: row !important;
    height: 52px !important;
    padding: 0 12px !important;
    align-items: center !important;
    gap: 0 !important;
  }

  /* Esconde botão Doação do header */
  .hdr-right { display: none !important; }

  /* ── Nav: oculto por padrão, aparece ao abrir ── */
  .hdr-nav {
    display: none !important;
    position: absolute !important;
    top: 52px !important;
    left: 0 !important;
    right: 0 !important;
    background: var(--card) !important;
    border-bottom: 2px solid var(--acc) !important;
    box-shadow: 0 8px 24px rgba(0,0,0,.12) !important;
    z-index: 899 !important;
    flex-direction: column !important;
    padding: 8px 0 12px !important;
    max-height: 80vh !important;
    overflow-y: auto !important;
  }
  .hdr-nav.mob-open {
    display: flex !important;
  }
  .hdr-nav > a,
  .hdr-nav > .nav-dropdown {
    width: 100% !important;
    flex: none !important;
    border-radius: 0 !important;
    white-space: normal !important;
  }
  .hdr-nav > a {
    font-size: .93rem !important;
    padding: 13px 20px !important;
    border-bottom: 1px solid var(--brd) !important;
    display: flex !important;
    align-items: center !important;
  }
  .hdr-nav > .nav-dropdown > a {
    font-size: .93rem !important;
    padding: 13px 20px !important;
    width: 100% !important;
    display: flex !important;
    justify-content: space-between !important;
    align-items: center !important;
    border-bottom: 1px solid var(--brd) !important;
  }
  /* Dropdown vira accordion: sem position absolute, sem altura/largura fixa */
  .hdr-nav .nav-drop-menu {
    position: static !important;
    box-shadow: none !important;
    border: none !important;
    border-radius: 0 !important;
    background: var(--bg2) !important;
    padding: 4px 0 8px 0 !important;
    min-width: 0 !important;
    max-height: none !important;
    width: 100% !important;
    overflow: visible !important;
    /* Oculto por padrão no mobile — só abre com .open */
    display: none !important;
    opacity: 1 !important;
    transform: none !important;
    animation: none !important;
  }
  .hdr-nav .nav-dropdown.open .nav-drop-menu {
    display: block !important;
  }
  .hdr-nav .nav-drop-menu a {
    padding: 11px 20px 11px 28px !important;
    font-size: .88rem !important;
    display: flex !important;
    align-items: center !important;
    gap: 8px !important;
    border-bottom: none !important;
  }
  /* Sub-menus de conteúdo */
  .hdr-nav .nm-sub-wrap {
    padding-left: 16px !important;
  }
  .hdr-nav .nm-sub {
    padding: 9px 20px 9px 32px !important;
    font-size: .85rem !important;
  }
}

/* ── AdSense: colapsa blocos vazios até aprovação ── */

.nm-sec{display:flex;align-items:center;gap:10px;padding:9px 14px;font-size:.84rem;font-weight:600;color:var(--txt-m);cursor:pointer;transition:color .15s;position:relative;}
.nm-sec:hover{color:var(--acc);}
.nm-arr{margin-left:auto;font-size:.65rem;opacity:.45;transition:transform .2s;flex-shrink:0;}
.nm-arr.open{transform:rotate(90deg);}
.nm-sub-wrap{display:none;background:var(--b50);border-left:3px solid var(--b200);margin:0 10px 6px 10px;border-radius:0 8px 8px 0;}
.nm-sub-wrap.open{display:block;}
.nm-sub{display:block;padding:7px 14px 7px 16px;font-size:.8rem;color:var(--txt-m);cursor:pointer;transition:color .15s;text-decoration:none;}
.nm-sub:hover{color:var(--acc);}
.nm-outros{color:var(--txt-s);font-style:italic;font-size:.76rem;}

/* ════════════════════════════════════════
   REDESIGN HOME — prefixo .nh-
   Adicionado ao CSS existente sem substituir
════════════════════════════════════════ */

/* ── Tipografia base NH ── */
.nh-h1 {
  font-family:'Sora',var(--fh),sans-serif;
  font-size:clamp(2rem,3.8vw,3rem);
  font-weight:800;
  color:#fff;
  letter-spacing:-1.5px;
  line-height:1.08;
  margin:0 0 18px;
}
.nh-h1-grad {
  background:linear-gradient(90deg,#60A5FA,#93C5FD);
  -webkit-background-clip:text;
  -webkit-text-fill-color:transparent;
  background-clip:text;
}
.nh-h2 {
  font-family:'Sora',var(--fh),sans-serif;
  font-size:clamp(1.4rem,2.5vw,1.9rem);
  font-weight:800;
  color:var(--txt);
  letter-spacing:-0.5px;
  line-height:1.15;
  margin:6px 0 10px;
}
.nh-h2-light { color:#fff; }
.nh-eyebrow {
  display:flex;align-items:center;gap:8px;
  font-size:.65rem;font-weight:700;
  text-transform:uppercase;letter-spacing:.12em;
  color:var(--acc);
}
.nh-eyebrow-light { color:#60A5FA; }
.nh-eyebrow-line {
  display:inline-block;width:20px;height:2px;
  background:var(--acc);border-radius:2px;flex-shrink:0;
}
.nh-eyebrow-line-light { background:#60A5FA; }
.nh-sec-sub { font-size:.93rem;color:var(--txt-m);line-height:1.6;margin:0; }
.nh-ver-mais {
  display:inline-flex;align-items:center;
  font-size:.85rem;font-weight:600;color:var(--acc);
  border:1.5px solid var(--b200);border-radius:8px;
  padding:8px 16px;background:transparent;cursor:pointer;
  text-decoration:none;white-space:nowrap;flex-shrink:0;
  transition:all .2s;
}
.nh-ver-mais:hover { background:var(--b50);border-color:var(--b300); }
.nh-sec-head {
  display:flex;align-items:flex-end;
  justify-content:space-between;
  gap:16px;flex-wrap:wrap;
  margin-bottom:32px;
}
.nh-btn-primary {
  display:inline-flex;align-items:center;justify-content:center;gap:8px;
  background:var(--acc);color:#fff;border:none;
  border-radius:10px;padding:14px 26px;
  font-size:.95rem;font-weight:800;cursor:pointer;
  transition:all .2s;
}
.nh-btn-primary:hover { background:var(--acc-d);transform:translateY(-2px); }

/* ── HERO ── */
.nh-hero {
  background:linear-gradient(135deg,#0B1437 0%,#0F2057 50%,#162466 100%);
  padding:64px 0 56px;
}
.nh-hero-grid {
  display:grid;
  grid-template-columns:1fr 380px;
  gap:52px;
  align-items:center;
}
.nh-hero-sub {
  font-size:.97rem;font-weight:400;
  color:rgba(255,255,255,.55);
  max-width:440px;line-height:1.72;
  margin:0 0 20px;
}
.nh-hero-ctas {
  display:flex;gap:12px;flex-wrap:wrap;margin-bottom:40px;
}
.nh-btn-ghost {
  display:inline-flex;align-items:center;justify-content:center;gap:8px;
  background:rgba(255,255,255,.07);
  border:1.5px solid rgba(255,255,255,.15);
  color:#fff;border-radius:10px;padding:14px 26px;
  font-size:.95rem;font-weight:700;cursor:pointer;
  transition:all .2s;
}
.nh-btn-ghost:hover { background:rgba(255,255,255,.13);border-color:rgba(255,255,255,.28); }

/* Stats */
.nh-stats {
  display:flex;align-items:center;gap:0;flex-wrap:wrap;
}
.nh-stat { text-align:center;padding:0 24px; }
.nh-stat:first-child { padding-left:0; }
.nh-stat-num {
  font-size:1.8rem;font-weight:800;
  color:#fff;letter-spacing:-1px;line-height:1;
}
.nh-stat-lbl {
  font-size:.72rem;font-weight:500;
  color:rgba(255,255,255,.4);margin-top:4px;
}
.nh-stat-sep {
  width:1px;height:32px;
  background:rgba(255,255,255,.08);
}

/* Card Acesso Rápido */
.nh-quick-card {
  background:rgba(255,255,255,.06);
  border:1px solid rgba(255,255,255,.1);
  border-radius:16px;padding:24px;
  backdrop-filter:blur(8px);
}
.nh-quick-label {
  display:flex;align-items:center;gap:8px;
  font-size:.65rem;font-weight:700;
  text-transform:uppercase;letter-spacing:.1em;
  color:#60A5FA;margin-bottom:16px;
}
.nh-quick-line { width:16px;height:2px;background:#60A5FA;border-radius:2px;flex-shrink:0; }
.nh-quick-list { display:flex;flex-direction:column;gap:8px; }
.nh-quick-btn {
  display:flex;align-items:center;gap:12px;
  background:rgba(255,255,255,.05);
  border:1px solid rgba(255,255,255,.1);
  border-radius:10px;padding:11px 14px;
  cursor:pointer;text-align:left;width:100%;
  transition:all .2s;
}
.nh-quick-btn:hover {
  background:rgba(37,99,235,.25);
  border-color:rgba(96,165,250,.35);
  transform:translateX(3px);
}
.nh-quick-icon {
  width:36px;height:36px;border-radius:9px;
  display:flex;align-items:center;justify-content:center;
  font-size:1.1rem;flex-shrink:0;
}
.nh-quick-text { flex:1;min-width:0; }
.nh-quick-name {
  font-size:.84rem;font-weight:700;
  color:rgba(255,255,255,.9);line-height:1.2;
}
.nh-quick-desc {
  font-size:.68rem;color:rgba(255,255,255,.4);
  margin-top:2px;
}
.nh-quick-arr {
  font-size:1.1rem;color:rgba(255,255,255,.3);
  transition:color .2s;
}
.nh-quick-btn:hover .nh-quick-arr { color:#60A5FA; }

/* ── ARTIGOS ── */
.nh-artigos {
  background:var(--bg);
  padding:64px 0;
}
.nh-artigos-grid {
  display:grid;
  grid-template-columns:1fr 380px;
  gap:32px;
  align-items:start;
}
.nh-col-label {
  display:flex;align-items:center;gap:8px;
  font-size:.65rem;font-weight:700;
  text-transform:uppercase;letter-spacing:.12em;
  color:var(--acc);margin-bottom:16px;
}
.nh-col-line { width:16px;height:2px;background:var(--acc);border-radius:2px; }

/* Card artigo recente */
.nh-art-card {
  display:grid;
  grid-template-columns:180px 1fr;
  align-items:stretch;
  background:var(--card);
  border:1.5px solid var(--brd);
  border-radius:var(--rl);
  overflow:hidden;
  cursor:pointer;
  text-decoration:none;
  transition:all .2s;
  margin-bottom:12px;
  min-height:130px;
}
.nh-art-card:hover {
  border-color:var(--b200);
  box-shadow:0 12px 40px rgba(15,23,42,.12);
  transform:translateY(-2px);
}
.nh-art-img {
  width:180px;
  flex-shrink:0;
  overflow:hidden;
  position:relative;
  background:var(--b50);
}
.nh-art-img img {
  position:absolute;
  top:0;left:0;
  width:100%;
  height:100%;
  object-fit:cover;
  display:block;
}
.nh-art-img-emoji {
  position:absolute;top:50%;left:50%;
  transform:translate(-50%,-50%);
  font-size:2rem;
}
.nh-art-body {
  padding:12px 14px;
  flex:1;min-width:0;
  display:flex;flex-direction:column;
}
.nh-art-badge {
  display:inline-block;
  font-size:.6rem;font-weight:700;text-transform:uppercase;
  color:var(--acc);background:var(--b50);
  border:1px solid var(--b100);border-radius:999px;
  padding:2px 9px;margin-bottom:6px;
  align-self:flex-start;
}
.nh-art-title {
  font-size:.84rem;font-weight:700;color:var(--txt);
  line-height:1.35;margin-bottom:5px;
}
.nh-art-excerpt {
  font-size:.73rem;color:var(--txt-m);
  display:-webkit-box;-webkit-line-clamp:2;
  -webkit-box-orient:vertical;overflow:hidden;
  line-height:1.45;
  flex:1;
}
.nh-art-meta {
  display:flex;align-items:center;justify-content:space-between;
  margin-top:8px;
}
.nh-art-date { font-size:.67rem;color:var(--txt-s); }
.nh-art-ler {
  font-size:.74rem;font-weight:700;color:var(--acc);
}

/* Top 10 */
.nh-top10-wrap {
  background:var(--card);
  border:1.5px solid var(--brd);
  border-radius:var(--rl);
  padding:20px 18px;
  position:sticky;top:70px;
}
.nh-top10-head {
  font-size:.65rem;font-weight:700;
  text-transform:uppercase;color:var(--txt-m);
  border-bottom:1px solid var(--brd);
  padding-bottom:12px;margin-bottom:12px;
  letter-spacing:.1em;
}
.nh-top10-item {
  display:grid;
  grid-template-columns:22px 96px 1fr;
  align-items:center;
  gap:10px;
  padding:10px 0;
  cursor:pointer;
  border-bottom:1px solid var(--brd);
  text-decoration:none;
  transition:all .15s;
}
.nh-top10-item:last-child { border-bottom:none; }
.nh-top10-item:hover .nh-top10-title { color:var(--acc); }
.nh-top10-num {
  font-size:.75rem;font-weight:800;
  text-align:center;
}
.nh-top10-num.top { color:var(--acc); }
.nh-top10-num.rest { color:var(--txt-s); }
.nh-top10-thumb {
  width:96px;height:68px;flex-shrink:0;
  border-radius:7px;overflow:hidden;
  background:var(--b50);
  position:relative;
}
.nh-top10-thumb img {
  width:100%;height:100%;
  object-fit:cover;
  display:block;
}
.nh-top10-info { min-width:0; }
.nh-top10-title {
  font-size:.78rem;font-weight:700;color:var(--txt);
  line-height:1.35;
  transition:color .15s;
  display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;
}
.nh-top10-cat { font-size:.62rem;color:var(--txt-s);margin-top:3px; }

/* ── YOUTUBE ── */
.nh-youtube {
  background:#fff;
  border-top:1px solid var(--brd);
  padding:64px 0;
}
.nh-yt-grid {
  display:grid;
  grid-template-columns:repeat(4,1fr);
  gap:16px;
}

/* ── AUTORIDADE ── */
.nh-autoridade {
  background:linear-gradient(135deg,#0B1437 0%,#0F2057 100%);
  padding:72px 0;
  position:relative;overflow:hidden;
}
.nh-autoridade-deco {
  position:absolute;top:-60px;right:-60px;
  width:400px;height:400px;border-radius:50%;
  background:radial-gradient(circle,rgba(37,99,235,.15),transparent 70%);
  pointer-events:none;
}
.nh-autoridade-grid {
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:64px;align-items:center;
}
.nh-aut-left { position:relative;z-index:1; }
.nh-aut-sub {
  font-size:.93rem;color:rgba(255,255,255,.52);
  line-height:1.6;margin:10px 0 24px;
}
.nh-ben-grid {
  display:grid;grid-template-columns:1fr 1fr;
  gap:14px;position:relative;z-index:1;
}
.nh-ben-card {
  background:rgba(255,255,255,.05);
  border:1px solid rgba(255,255,255,.08);
  border-radius:12px;padding:18px 16px;
  transition:all .2s;
}
.nh-ben-card:hover {
  background:rgba(37,99,235,.15);
  border-color:rgba(96,165,250,.25);
  transform:translateY(-2px);
}
.nh-ben-icon { font-size:1.4rem;margin-bottom:10px; }
.nh-ben-name {
  font-size:.84rem;font-weight:700;color:#fff;margin-bottom:5px;
}
.nh-ben-desc { font-size:.74rem;color:rgba(255,255,255,.42);line-height:1.55; }

/* ── RESPONSIVO ── */
@media(max-width:1100px){
  .nh-hero-grid { grid-template-columns:1fr; }
  .nh-quick-card { max-width:480px; }
  .nh-artigos-grid { grid-template-columns:1fr 340px; }
  .nh-autoridade-grid { grid-template-columns:1fr; }
  .nh-yt-grid { grid-template-columns:repeat(2,1fr); }
}
@media(max-width:860px){
  .nh-artigos-grid { grid-template-columns:1fr; }
  .nh-top10-wrap { position:static; }
}
@media(max-width:640px){
  .nh-hero { padding:44px 0 40px; }
  .nh-h1 { font-size:1.9rem; }
  .nh-stats { gap:4px; }
  .nh-stat { padding:0 14px; }
  .nh-artigos,.nh-youtube,.nh-autoridade { padding:36px 0; }
  /* Hero: botões empilhados e com largura igual */
  .nh-hero-ctas { flex-direction:column; gap:10px; }
  .nh-btn-primary, .nh-btn-ghost { width:100%; font-size:.92rem; padding:13px 20px; }
  /* ben-grid: 2 colunas compactas no mobile */
  .nh-ben-grid { grid-template-columns:1fr 1fr; gap:10px; }
  .nh-aut-mob-hide { display:none !important; }
  .nh-autoridade-grid { grid-template-columns:1fr !important; }
  .nh-ben-card { padding:14px 12px; }
  .nh-ben-icon { font-size:1.2rem; margin-bottom:7px; }
  .nh-ben-name { font-size:.78rem; }
  .nh-ben-desc { font-size:.68rem; }
  /* art-card: imagem com largura e altura explícitas */
  .nh-art-card { grid-template-columns:120px 1fr; min-height:0; }
  .nh-art-img { width:120px; height:120px; flex-shrink:0; }
  .nh-top10-item { grid-template-columns:20px 72px 1fr; }
  .nh-top10-thumb { width:72px; height:52px; }
}
@media(max-width:480px){
  .nh-yt-grid { grid-template-columns:1fr; }
  .nh-art-card { grid-template-columns:105px 1fr; }
  .nh-art-img { width:105px; height:105px; }
  .nh-art-title { font-size:.8rem; }
  .nh-art-excerpt { -webkit-line-clamp:2; }
  .nh-top10-item { grid-template-columns:18px 64px 1fr; gap:8px; }
  .nh-top10-thumb { width:64px; height:46px; }
}

/* ═══════════════════════════════════════
   PRINT STYLES — @media print
   ═══════════════════════════════════════ */
@media print {
  /* Ocultar elementos desnecessários */
  #hdr, #ftr,
  .navbar, .nav-full, .nav-mobile,
  .nav-drop-menu, .nav-tools-btn,
  .ad-container, .ad-placeholder,
  ins.adsbygoogle,
  .seo-content,
  .faq-list,
  .nh-section,
  .share-btn, .share-bar,
  .sec-nav, .calc-nav,
  #sec-conteudo,
  .skip-link,
  [class*="ad-"],
  [id*="ad-"] { display: none !important; }

  /* Layout de impressão */
  body {
    background: #fff !important;
    color: #000 !important;
    font-size: 11pt;
  }

  /* Mostrar todas as seções (SPA oculta com display:none) */
  .sec { display: block !important; }

  /* Resultado da calculadora — destaque */
  .res-box {
    display: block !important;
    border: 1.5pt solid #000;
    padding: 12pt;
    margin: 12pt 0;
    page-break-inside: avoid;
  }
  .res-val {
    font-size: 18pt !important;
    font-weight: 700;
    color: #000 !important;
  }
  .res-lbl {
    font-size: 9pt;
    color: #333 !important;
  }

  /* Tabelas de resultado */
  table { border-collapse: collapse; width: 100%; }
  table th, table td {
    border: 0.5pt solid #999;
    padding: 4pt 6pt;
    font-size: 9pt;
  }
  table th { background: #eee !important; color: #000 !important; }

  /* Cards */
  .card {
    border: 0.5pt solid #ccc;
    page-break-inside: avoid;
  }

  /* Ocultar gráfico (não imprime bem) */
  #j-chart-box, canvas { display: none !important; }

  /* Rodapé de impressão com URL */
  body::after {
    content: "calculaprazo.com.br — " attr(data-page);
    display: block;
    text-align: center;
    font-size: 8pt;
    color: #666;
    margin-top: 24pt;
    border-top: 0.5pt solid #ccc;
    padding-top: 6pt;
  }
}


/* build: 20260606145327 */
