/*
Theme Name:        Progredir Ecossistema
Theme URI:         https://progredirrh.com.br
Author:            Progredir RH
Author URI:        https://progredirrh.com.br
Description:       Tema institucional do ecossistema Progredir RH. Landing page que apresenta a estrutura e as funcionalidades dos plugins do ecossistema (Núcleo, Segurança, Plataforma, Gestor de Vagas, Gestor de Experiência, Rotinas e Calc), com seções editáveis pelo Personalizador e formulário de contato com proteção anti-spam.
Version:           1.0.0
Requires at least: 5.5
Tested up to:      6.6
Requires PHP:      7.2
License:           GPL-2.0+
License URI:       https://www.gnu.org/licenses/gpl-2.0.html
Text Domain:       progredir-ecossistema
Tags:              landing-page, one-column, custom-menu, custom-logo, translation-ready, block-styles, wide-blocks

Progredir System:  site
Progredir Name:    Site do Ecossistema

Progredir Ecossistema — tema derivado da landing page oficial do produto.
Mantém o design system do ecossistema: azul #2D53D8, navy #0F1728 e as
famílias Plus Jakarta Sans / Inter / JetBrains Mono.
*/

  :root{
    --azul:#2D53D8;
    --azul-esc:#2443B0;
    --azul-claro:#DCE7FE;
    --navy:#0F1728;
    --navy2:#16223f;
    --muted:#475069;
    --borda:#E5E8F0;
    --bg-suave:#F4F6FA;
    --branco:#FFFFFF;
    --ok-bg:#DCE7FE;
    --ok-txt:#2443B0;
    --erro-bg:#FEE2E2;
    --erro-txt:#B91C1C;
    --radius-lg:20px;
    --radius-md:14px;
    --radius-sm:9px;
    --sombra: 0 10px 30px -16px rgba(15,23,42,.18);
    --sombra-lg: 0 24px 60px -20px rgba(15,23,42,.28);
  }
  *{box-sizing:border-box; margin:0; padding:0;}
  html{scroll-behavior:smooth;}
  body{
    font-family:'Inter', ui-sans-serif, system-ui, -apple-system, "Segoe UI", Roboto, Arial, sans-serif;
    color:var(--navy);
    background:var(--branco);
    -webkit-font-smoothing:antialiased;
    line-height:1.5;
  }
  img{max-width:100%; display:block;}
  a{color:inherit; text-decoration:none;}
  .mono{font-family:'JetBrains Mono', monospace;}
  .container{max-width:1180px; margin:0 auto; padding:0 24px;}
  section{position:relative;}
  h1,h2,h3,h4,h5,.brand,.plugin-intro h3,.feat-text h4,.dor-card h3,.pilar h3,.pricing-card h3,.lc-nome,.launcher-hero h5,.fluxo-box h4{
    font-family:'Plus Jakarta Sans','Inter',ui-sans-serif,system-ui,sans-serif;
  }

  /* ============ SCROLL REVEAL (JS liga a classe .in via IntersectionObserver) ============ */
  .dor-card, .pilar, .pricing-card, .fluxo-box{
    opacity:0; transform:translateY(22px);
    transition:opacity .65s cubic-bezier(.16,.8,.3,1), transform .65s cubic-bezier(.16,.8,.3,1);
  }
  .dor-card.in, .pilar.in, .pricing-card.in, .fluxo-box.in{opacity:1; transform:translateY(0);}
  @media (prefers-reduced-motion: reduce){
    .dor-card,.pilar,.pricing-card,.fluxo-box{opacity:1!important; transform:none!important; transition:none!important;}
  }

  /* ============ NAV ============ */
  .nav{position:sticky; top:0; z-index:60; background:rgba(255,255,255,.85); backdrop-filter:blur(10px); border-bottom:1px solid var(--borda); transition:box-shadow .25s ease, background .25s ease;}
  .nav.scrolled{background:rgba(255,255,255,.92); box-shadow:0 12px 34px -22px rgba(15,23,42,.35);}
  .nav-inner{display:flex; align-items:center; justify-content:space-between; padding:16px 24px; max-width:1180px; margin:0 auto;}
  .brand{display:flex; align-items:center; gap:10px; font-weight:800; font-size:17px; letter-spacing:-.01em;}
  .brand-mark{width:36px; height:36px; border-radius:10px; background:linear-gradient(135deg, var(--azul), var(--azul-esc)); display:flex; align-items:center; justify-content:center; box-shadow:0 6px 16px -6px rgba(45,83,216,.55);}
  .brand-mark svg{width:19px; height:19px; stroke:#fff;}
  .brand small{display:block; font-weight:600; font-size:11px; color:var(--muted); letter-spacing:.02em;}
  .nav-links{display:flex; gap:30px; font-size:14px; font-weight:600; color:var(--muted);}
  .nav-links a:hover{color:var(--azul);}
  .nav-cta{display:flex; align-items:center; gap:14px;}
  .btn{display:inline-flex; align-items:center; justify-content:center; gap:8px; border-radius:11px; font-weight:700; font-size:14px; padding:12px 20px; border:1px solid transparent; cursor:pointer; transition:.18s ease; white-space:nowrap;}
  .btn-primary{background:var(--azul); color:#fff; box-shadow:0 10px 24px -10px rgba(45,83,216,.55);}
  .btn-primary:hover{background:var(--azul-esc); transform:translateY(-1px); box-shadow:0 14px 28px -10px rgba(36,67,176,.55);}
  .btn-ghost{background:#fff; color:var(--navy); border-color:var(--borda);}
  .btn-ghost:hover{border-color:var(--azul); color:var(--azul);}
  .btn-lg{padding:16px 28px; font-size:15px; border-radius:13px;}
  .nav-toggle{display:none; align-items:center; justify-content:center; width:40px; height:40px; border-radius:10px; border:1px solid var(--borda); background:#fff; color:var(--navy); cursor:pointer;}
  .nav-toggle svg{width:20px; height:20px;}
  .nav-toggle:hover{border-color:var(--azul); color:var(--azul);}
  .mobile-menu{display:none; flex-direction:column; gap:2px; padding:10px 24px 20px; border-top:1px solid var(--borda); background:#fff;}
  .mobile-menu a{padding:12px 4px; font-size:15px; font-weight:700; color:var(--navy); border-bottom:1px solid #F0F2F7;}
  .mobile-menu-ctas{display:flex; flex-direction:column; gap:10px; margin-top:14px;}
  .nav.menu-open .mobile-menu{display:flex;}
  @media (max-width: 860px){
    .nav-links{display:none;}
    .nav-cta{display:none;}
    .nav-toggle{display:inline-flex;}
  }

  /* ============ Acessibilidade ============ */
  .skip-link{position:absolute; left:-999px; top:auto; background:var(--azul); color:#fff; font-weight:700; font-size:13px; padding:12px 18px; border-radius:0 0 10px 0; z-index:999;}
  .skip-link:focus{left:0; top:0;}
  a:focus-visible, button:focus-visible, summary:focus-visible, input:focus-visible, textarea:focus-visible{
    outline:2.5px solid var(--azul); outline-offset:2px; border-radius:6px;
  }
  section[id]{scroll-margin-top:88px;}
  .nav-links a[aria-current="page"]{color:var(--azul);}

  /* ============ Voltar ao topo ============ */
  .to-top{position:fixed; right:22px; bottom:22px; width:46px; height:46px; border-radius:50%; background:var(--navy); color:#fff; border:none; display:flex; align-items:center; justify-content:center; box-shadow:var(--sombra-lg); cursor:pointer; opacity:0; visibility:hidden; transform:translateY(10px); transition:.25s ease; z-index:55;}
  .to-top.show{opacity:1; visibility:visible; transform:translateY(0);}
  .to-top:hover{background:var(--azul-esc);}
  .to-top svg{width:20px; height:20px; stroke:currentColor;}
  @media (max-width: 860px){ .nav-links{display:none;} }

  /* ============ HERO ============ */
  .hero{background:radial-gradient(1100px 480px at 12% -10%, #EEF2FF 0%, rgba(238,242,255,0) 60%), radial-gradient(900px 500px at 100% 0%, #E7EEFF 0%, rgba(231,238,255,0) 55%), #fff; padding:76px 0 40px; overflow:hidden;}
  .hero-grid{display:grid; grid-template-columns:.92fr 1.08fr; gap:56px; align-items:center;}
  .eyebrow{display:inline-flex; align-items:center; gap:8px; background:var(--azul-claro); color:var(--azul-esc); font-size:12px; font-weight:800; letter-spacing:.06em; text-transform:uppercase; padding:7px 14px; border-radius:999px; margin-bottom:20px;}
  .eyebrow svg{width:13px; height:13px; stroke:var(--azul-esc);}
  h1{font-size:44px; line-height:1.1; letter-spacing:-.025em; font-weight:900; margin-bottom:20px;}
  h1 span.grad{background:linear-gradient(100deg, var(--azul) 15%, var(--azul-esc) 85%); -webkit-background-clip:text; background-clip:text; color:transparent;}
  .hero-sub{font-size:17.5px; color:var(--muted); max-width:520px; margin-bottom:30px;}
  .hero-ctas{display:flex; gap:14px; flex-wrap:wrap; margin-bottom:26px;}
  .hero-microcopy{font-size:13px; color:var(--muted); display:flex; align-items:center; gap:8px;}
  .hero-microcopy svg{width:15px; height:15px; stroke:var(--azul);}
  .trio-mini{display:flex; gap:10px; flex-wrap:wrap; margin-top:32px; padding-top:24px; border-top:1px solid var(--borda);}
  .trio-chip{display:flex; align-items:center; gap:8px; font-size:12.5px; font-weight:700; color:var(--navy); background:#fff; border:1px solid var(--borda); padding:8px 12px; border-radius:11px;}
  .trio-chip i{width:8px; height:8px; border-radius:50%; background:var(--azul); flex:none;}
  @media (max-width:960px){ .hero-grid{grid-template-columns:1fr;} h1{font-size:34px;} }

  /* ============ MOCK: APP SHELL (recriação real) ============ */
  .browser-frame{background:#fff; border:1px solid var(--borda); border-radius:var(--radius-lg); box-shadow:var(--sombra-lg); overflow:hidden;}
  .browser-top{display:flex; align-items:center; gap:8px; padding:12px 16px; background:linear-gradient(180deg,#FAFBFF,#F4F6FA); border-bottom:1px solid var(--borda);}
  .dot{width:9px; height:9px; border-radius:50%;}
  .dot.r{background:#F19A9A;} .dot.y{background:#F3CE7B;} .dot.g{background:#9BD3B0;}
  .browser-top span{font-size:11.5px; color:var(--muted); font-weight:600; margin-left:6px;}

  .app-shell{display:grid; grid-template-columns:200px 1fr; min-height:400px;}
  .app-sidebar{background:linear-gradient(180deg, var(--navy) 0%, var(--navy2) 100%); color:#fff; padding:18px 14px; display:flex; flex-direction:column;}
  .sb-logo{display:flex; align-items:center; gap:8px; font-weight:800; font-size:13.5px; margin-bottom:22px; padding:0 4px;}
  .sb-logo .ic{width:24px; height:24px; border-radius:7px; background:rgba(255,255,255,.14); display:flex; align-items:center; justify-content:center;}
  .sb-logo svg{width:13px; height:13px; stroke:#fff;}
  .sb-label{font-size:10px; font-weight:800; letter-spacing:.08em; text-transform:uppercase; color:rgba(255,255,255,.45); padding:0 4px 8px;}
  .sb-nav{display:flex; flex-direction:column; gap:2px; flex:1;}
  .sb-item{display:flex; align-items:center; gap:9px; padding:9px 10px; border-radius:9px; font-size:12.5px; font-weight:600; color:rgba(255,255,255,.72);}
  .sb-item svg{width:15px; height:15px; stroke:currentColor; flex:none;}
  .sb-item.active{background:rgba(255,255,255,.14); color:#fff;}
  .sb-foot{display:flex; align-items:center; gap:9px; padding-top:14px; margin-top:10px; border-top:1px solid rgba(255,255,255,.12);}
  .sb-avatar{width:28px; height:28px; border-radius:8px; background:var(--azul); display:flex; align-items:center; justify-content:center; font-size:11px; font-weight:800; flex:none;}
  .sb-foot b{font-size:11.5px; display:block;}
  .sb-foot span{font-size:10px; color:rgba(255,255,255,.5);}

  .app-main{display:flex; flex-direction:column; min-width:0;}
  .app-topbar{display:flex; align-items:center; gap:14px; padding:14px 22px; border-bottom:1px solid var(--borda);}
  .app-topbar b{font-size:13.5px; flex:1;}
  .topbar-search{display:flex; align-items:center; gap:8px; font-size:11.5px; color:var(--muted); background:var(--bg-suave); border:1px solid var(--borda); padding:7px 12px; border-radius:9px;}
  .topbar-search svg{width:13px; height:13px; stroke:var(--muted);}
  .kbd{font-size:9.5px; font-weight:700; background:#fff; border:1px solid var(--borda); border-radius:5px; padding:1px 5px; margin-left:6px;}
  .app-content{padding:22px; overflow:auto;}
  .content-title{display:flex; align-items:center; gap:9px; font-size:17px; font-weight:900; margin-bottom:4px;}
  .content-title svg{width:19px; height:19px; stroke:var(--azul-esc);}
  .content-sub{font-size:12.5px; color:var(--muted); margin-bottom:18px;}

  .kpi-row{display:grid; grid-template-columns:repeat(3,1fr); gap:12px; margin-bottom:20px;}
  .kpi{border:1px solid var(--borda); border-radius:var(--radius-md); padding:14px; background:linear-gradient(180deg,#fff,#FBFCFE);}
  .kpi-label{font-size:10.5px; color:var(--muted); font-weight:700; text-transform:uppercase; letter-spacing:.04em;}
  .kpi-num{font-size:24px; font-weight:900; margin-top:6px; color:var(--navy);}
  .kpi-link{font-size:11px; color:var(--azul-esc); font-weight:700; margin-top:6px; display:block;}

  .mini-table{border:1px solid var(--borda); border-radius:var(--radius-md); overflow:hidden;}
  .mini-row{display:grid; grid-template-columns:1.1fr 1fr .9fr .7fr; gap:8px; align-items:center; padding:10px 14px; font-size:12px; border-bottom:1px solid var(--borda);}
  .mini-row:last-child{border-bottom:none;}
  .mini-row.head{background:var(--bg-suave); color:var(--muted); font-weight:700; font-size:10.5px; text-transform:uppercase; letter-spacing:.03em;}
  .badge{display:inline-flex; align-items:center; gap:5px; font-size:10.5px; font-weight:700; padding:4px 9px; border-radius:999px; width:fit-content;}
  .badge.ok{background:var(--ok-bg); color:var(--ok-txt);}
  .badge.err{background:var(--erro-bg); color:var(--erro-txt);}
  .badge.neutro{background:var(--bg-suave); color:var(--muted);}
  .badge-dot{width:6px; height:6px; border-radius:50%; background:currentColor;}
  @media (max-width:960px){.app-shell{grid-template-columns:1fr;} .app-sidebar{display:none;}}

  /* ============ SEÇÃO GENÉRICA ============ */
  .section{padding:92px 0;}
  .section-tight{padding:64px 0;}
  .section-head{max-width:700px; margin:0 auto 52px; text-align:center;}
  .section-head .eyebrow{margin-left:auto; margin-right:auto;}
  h2{font-size:33px; font-weight:900; letter-spacing:-.02em; line-height:1.15; margin-bottom:14px;}
  .section-head p{font-size:16.5px; color:var(--muted);}
  .bg-suave{background:var(--bg-suave);}

  /* ============ DOR ============ */
  .dor-grid{display:grid; grid-template-columns:repeat(3,1fr); gap:20px;}
  .dor-card{background:#fff; border:1px solid var(--borda); border-radius:var(--radius-lg); padding:26px; transition:.2s ease;}
  .dor-card:hover{transform:translateY(-4px); box-shadow:var(--sombra-lg); border-color:#D8DEEC;}
  .dor-ico{width:44px; height:44px; border-radius:12px; background:var(--erro-bg); display:flex; align-items:center; justify-content:center; margin-bottom:16px;}
  .dor-ico svg{width:22px; height:22px; stroke:var(--erro-txt);}
  .dor-card h3{font-size:17px; font-weight:800; margin-bottom:8px;}
  .dor-card p{font-size:14.5px; color:var(--muted);}
  @media (max-width:860px){.dor-grid{grid-template-columns:1fr;}}

  /* ============ 3 PLUGINS TABS ============ */
  .tabs-plugins input{position:absolute; opacity:0; pointer-events:none;}
  .tabs-nav{display:flex; gap:10px; justify-content:center; flex-wrap:wrap; margin-bottom:44px;}
  .tabs-nav label{display:flex; align-items:center; gap:9px; padding:12px 20px; border-radius:13px; border:1.5px solid var(--borda); font-weight:800; font-size:14px; color:var(--muted); cursor:pointer; transition:.18s; background:#fff;}
  .tabs-nav label svg{width:17px; height:17px; stroke:currentColor;}
  .tabs-nav label:hover{border-color:var(--azul);}
  .tabs-nav-ordem{display:inline-flex; align-items:center; justify-content:center; width:18px; height:18px; border-radius:50%; background:var(--bg-suave); color:var(--muted); font-size:10px; font-weight:800;}
  #tab-seguranca:checked ~ .tabs-nav label[for="tab-seguranca"] .tabs-nav-ordem,
  #tab-plataforma:checked ~ .tabs-nav label[for="tab-plataforma"] .tabs-nav-ordem,
  #tab-nucleo:checked ~ .tabs-nav label[for="tab-nucleo"] .tabs-nav-ordem{background:rgba(255,255,255,.25); color:#fff;}
  #tab-nucleo:checked ~ .tabs-nav label[for="tab-nucleo"],
  #tab-seguranca:checked ~ .tabs-nav label[for="tab-seguranca"],
  #tab-plataforma:checked ~ .tabs-nav label[for="tab-plataforma"]{
    background:var(--azul); border-color:var(--azul); color:#fff;
  }
  .tab-panel{display:none;}
  #tab-nucleo:checked ~ .panel-nucleo{display:block;}
  #tab-seguranca:checked ~ .panel-seguranca{display:block;}
  #tab-plataforma:checked ~ .panel-plataforma{display:block;}

  .plugin-intro{max-width:760px; margin:0 auto 48px; text-align:center;}
  .plugin-intro .tag{display:inline-flex; align-items:center; gap:8px; font-size:12px; font-weight:800; color:var(--azul-esc); text-transform:uppercase; letter-spacing:.05em; margin-bottom:10px;}
  .plugin-intro h3{font-size:26px; font-weight:900; margin-bottom:10px;}
  .plugin-intro p{font-size:15.5px; color:var(--muted);}

  /* Feature rows dentro das tabs */
  .feat-row{display:grid; grid-template-columns:.95fr 1.05fr; gap:56px; align-items:center; padding:44px 0; border-bottom:1px solid var(--borda);}
  .feat-row:last-child{border-bottom:none;}
  .feat-row.rev{grid-template-columns:1.05fr .95fr;}
  .feat-row.rev .feat-text{order:2;} .feat-row.rev .feat-visual{order:1;}
  .feat-tag{display:inline-flex; align-items:center; gap:7px; font-size:12px; font-weight:800; color:var(--azul-esc); text-transform:uppercase; letter-spacing:.05em; margin-bottom:14px;}
  .feat-tag svg{width:14px; height:14px; stroke:var(--azul-esc);}
  .feat-text h4{font-size:22px; font-weight:900; letter-spacing:-.015em; margin-bottom:12px; line-height:1.25;}
  .feat-text p{font-size:15px; color:var(--muted); margin-bottom:18px;}
  .feat-list{list-style:none; display:flex; flex-direction:column; gap:10px;}
  .feat-list li{display:flex; gap:10px; font-size:14px; color:var(--navy); align-items:flex-start;}
  .feat-list svg{width:17px; height:17px; stroke:var(--azul); flex:none; margin-top:1px;}
  @media (max-width:900px){ .feat-row, .feat-row.rev{grid-template-columns:1fr; gap:28px;} .feat-row.rev .feat-text, .feat-row.rev .feat-visual{order:0;} }

  /* Cartão genérico de tela (screen-card) */
  .screen-card{background:#fff; border:1px solid var(--borda); border-radius:var(--radius-lg); box-shadow:var(--sombra); overflow:hidden;}
  .screen-head{display:flex; align-items:center; justify-content:space-between; gap:10px; padding:14px 18px; border-bottom:1px solid var(--borda); background:linear-gradient(180deg,#FAFBFF,#F4F6FA);}
  .screen-head b{font-size:12.5px; display:flex; align-items:center; gap:7px;}
  .screen-head b svg{width:14px; height:14px; stroke:var(--azul-esc);}
  .screen-body{padding:18px;}

  /* Matriz de permissões */
  table.matriz{width:100%; border-collapse:collapse; font-size:12px;}
  table.matriz th{text-align:center; padding:8px 5px; color:var(--muted); font-weight:700; font-size:10.5px; border-bottom:1px solid var(--borda);}
  table.matriz th:first-child{text-align:left;}
  table.matriz td{padding:9px 5px; text-align:center; border-bottom:1px solid #F0F2F7;}
  table.matriz td:first-child{text-align:left; font-weight:700; color:var(--navy);}
  .chk{width:18px; height:18px; border-radius:6px; border:1.5px solid var(--borda); display:inline-flex; align-items:center; justify-content:center;}
  .chk.on{background:var(--azul); border-color:var(--azul);}
  .chk.on svg{width:11px; height:11px; stroke:#fff; stroke-width:3;}

  /* Auditoria */
  .log-filtros{display:flex; gap:8px; flex-wrap:wrap; margin-bottom:12px;}
  .log-filtros span{font-size:11px; font-weight:700; color:var(--muted); background:#fff; border:1px solid var(--borda); padding:6px 11px; border-radius:999px;}
  .log-filtros span.on{background:var(--azul); color:#fff; border-color:var(--azul);}
  .log-item{display:flex; gap:11px; align-items:flex-start; padding:12px 0; border-bottom:1px solid #F0F2F7;}
  .log-item:last-child{border-bottom:none;}
  .log-ico{width:28px; height:28px; border-radius:9px; flex:none; display:flex; align-items:center; justify-content:center;}
  .log-ico.ok{background:var(--ok-bg);} .log-ico.err{background:var(--erro-bg);}
  .log-ico svg{width:14px; height:14px;}
  .log-ico.ok svg{stroke:var(--ok-txt);} .log-ico.err svg{stroke:var(--erro-txt);}
  .log-txt b{font-size:12.5px; display:block;}
  .log-txt span{font-size:11.5px; color:var(--muted);}
  .log-meta{margin-left:auto; text-align:right; font-size:10.5px; color:var(--muted); flex:none;}

  /* Config toggles */
  .cfg-item{display:flex; align-items:center; justify-content:space-between; gap:16px; padding:12px 0; border-bottom:1px solid #F0F2F7;}
  .cfg-item:last-child{border-bottom:none;}
  .cfg-item b{font-size:12.5px; display:block;}
  .cfg-item span{font-size:11px; color:var(--muted);}
  .switch{width:38px; height:22px; border-radius:999px; background:var(--borda); position:relative; flex:none;}
  .switch.on{background:var(--azul);}
  .switch i{position:absolute; top:3px; left:3px; width:16px; height:16px; border-radius:50%; background:#fff; box-shadow:0 1px 3px rgba(0,0,0,.25);}
  .switch.on i{left:19px;}

  /* 2FA conta */
  .totp-secret{font-family:'JetBrains Mono', monospace; font-size:15.5px; letter-spacing:3px; text-align:center; background:var(--bg-suave); border:1px dashed #C9D2E3; border-radius:10px; padding:11px; margin-bottom:12px; color:var(--navy);}
  .otp-boxes{display:flex; gap:7px; margin-bottom:14px;}
  .otp-boxes div{width:32px; height:38px; border:1.5px solid var(--borda); border-radius:8px; display:flex; align-items:center; justify-content:center; font-weight:800; font-size:15px; color:var(--navy); background:#FBFCFE;}
  .otp-boxes div.filled{border-color:var(--azul); color:var(--azul);}
  .badge-2fa{display:inline-flex; align-items:center; gap:6px; font-size:11px; font-weight:800; background:var(--ok-bg); color:var(--ok-txt); padding:4px 10px; border-radius:999px; margin-bottom:14px;}

  /* Unidades matriz */
  table.un{border-collapse:collapse; font-size:11.5px; width:100%;}
  table.un th{padding:7px 8px; color:var(--muted); font-weight:700; font-size:10px; text-transform:uppercase; text-align:center; border-bottom:1px solid var(--borda); white-space:nowrap;}
  table.un th:first-child{text-align:left;}
  table.un td{padding:8px 8px; text-align:center; border-bottom:1px solid #F0F2F7; white-space:nowrap;}
  table.un td:first-child{text-align:left; font-weight:700;}
  table.un td.all{color:var(--azul-esc); font-weight:700; font-size:10.5px;}

  /* Núcleo: cadastro de unidades */
  .un-list{display:flex; flex-direction:column; gap:0;}
  .un-row{display:flex; align-items:center; gap:12px; padding:11px 0; border-bottom:1px solid #F0F2F7;}
  .un-row:last-child{border-bottom:none;}
  .un-ico{width:34px; height:34px; border-radius:9px; background:var(--azul-claro); display:flex; align-items:center; justify-content:center; flex:none;}
  .un-ico svg{width:16px; height:16px; stroke:var(--azul-esc);}
  .un-row b{font-size:12.5px; display:block;}
  .un-row span{font-size:11px; color:var(--muted);}
  .un-row .badge{margin-left:auto;}

  /* Launcher (Plataforma) */
  .launcher-hero{background:linear-gradient(135deg, var(--azul-claro), #fff); border-radius:var(--radius-md); padding:18px; margin-bottom:16px;}
  .launcher-hero .lh-badge{display:inline-flex; align-items:center; gap:6px; font-size:9.5px; font-weight:800; color:var(--azul-esc); background:#fff; padding:4px 10px; border-radius:999px; text-transform:uppercase; letter-spacing:.05em; margin-bottom:8px;}
  .launcher-hero h5{font-size:16px; font-weight:900;}
  .launcher-hero p{font-size:11.5px; color:var(--muted); margin-top:3px;}
  .launcher-search{display:flex; align-items:center; gap:8px; background:#fff; border:1px solid var(--borda); border-radius:10px; padding:9px 12px; font-size:11.5px; color:var(--muted); margin-bottom:14px;}
  .launcher-search svg{width:14px; height:14px; stroke:var(--muted);}
  .launcher-grid{display:grid; grid-template-columns:1fr 1fr; gap:12px;}
  .launcher-card{border:1px solid var(--borda); border-radius:var(--radius-md); padding:14px; display:flex; flex-direction:column; gap:8px; transition:.18s;}
  .launcher-card:hover{border-color:var(--azul); box-shadow:var(--sombra);}
  .lc-ico{width:36px; height:36px; border-radius:10px; display:flex; align-items:center; justify-content:center;}
  .lc-ico svg{width:18px; height:18px; stroke:#fff;}
  .lc-nome{font-size:13px; font-weight:800;}
  .lc-desc{font-size:11px; color:var(--muted); line-height:1.4;}
  .lc-cta{font-size:11px; font-weight:800; color:var(--azul-esc); margin-top:auto;}

  /* Diagrama de integração */
  .fluxo{display:flex; align-items:center; justify-content:center; gap:0; flex-wrap:wrap;}
  .fluxo-box{background:#fff; border:1px solid var(--borda); border-radius:var(--radius-lg); padding:26px 22px; width:250px; text-align:center; box-shadow:var(--sombra); transition:.2s;}
  .fluxo-box:hover{transform:translateY(-4px); box-shadow:var(--sombra-lg);}
  .fluxo-ico{width:52px; height:52px; border-radius:14px; margin:0 auto 14px; display:flex; align-items:center; justify-content:center;}
  .fluxo-ico svg{width:26px; height:26px; stroke:#fff;}
  .fluxo-box h4{font-size:15.5px; font-weight:800; margin-bottom:6px;}
  .fluxo-box p{font-size:12.5px; color:var(--muted); line-height:1.5;}
  .fluxo-arrow{width:52px; display:flex; align-items:center; justify-content:center; color:var(--azul); flex:none;}
  .fluxo-arrow svg{width:28px; height:28px; stroke:currentColor;}
  @media (max-width:900px){ .fluxo{flex-direction:column;} .fluxo-arrow{transform:rotate(90deg); margin:6px 0;} }

  /* ============ FAQ ============ */
  .faq-list{max-width:820px; margin:0 auto; display:flex; flex-direction:column; gap:12px;}
  .faq-item{border:1px solid var(--borda); border-radius:var(--radius-md); padding:20px 22px; background:#fff;}
  .faq-item summary{cursor:pointer; font-weight:800; font-size:15.5px; list-style:none; display:flex; align-items:center; justify-content:space-between; gap:16px;}
  .faq-item summary::-webkit-details-marker{display:none;}
  .faq-plus{width:24px; height:24px; border-radius:50%; border:1.5px solid var(--borda); flex:none; display:flex; align-items:center; justify-content:center; font-size:16px; color:var(--azul); transition:.2s;}
  .faq-item[open] .faq-plus{background:var(--azul); color:#fff; border-color:var(--azul); transform:rotate(45deg);}
  .faq-item p{margin-top:12px; font-size:14.5px; color:var(--muted); line-height:1.65;}

  /* ============ CONTATO / FORMULÁRIO ============ */
  .contato-grid{display:grid; grid-template-columns:.85fr 1.15fr; gap:48px; align-items:flex-start;}
  .contato-info h2{margin-bottom:12px;}
  .contato-info p{color:var(--muted); font-size:15.5px; margin-bottom:26px;}
  .contato-item{display:flex; gap:12px; align-items:flex-start; padding:14px 0; border-top:1px solid var(--borda);}
  .contato-item:first-of-type{border-top:none;}
  .contato-ico{width:38px; height:38px; border-radius:10px; background:var(--azul-claro); display:flex; align-items:center; justify-content:center; flex:none;}
  .contato-ico svg{width:18px; height:18px; stroke:var(--azul-esc);}
  .contato-item b{font-size:13.5px; display:block;}
  .contato-item span, .contato-item a{font-size:13px; color:var(--muted);}
  .contato-item a:hover{color:var(--azul);}

  .form-card{background:#fff; border:1px solid var(--borda); border-radius:var(--radius-lg); padding:32px; box-shadow:var(--sombra);}
  .form-row{display:grid; grid-template-columns:1fr 1fr; gap:16px;}
  .campo{display:flex; flex-direction:column; gap:6px; margin-bottom:16px;}
  .campo label{font-size:12.5px; font-weight:700; color:var(--navy);}
  .campo input, .campo select, .campo textarea{
    border:1.5px solid var(--borda); border-radius:10px; padding:11px 13px; font-size:14px; font-family:inherit; color:var(--navy); background:#FBFCFE; transition:.15s;
  }
  .campo input:focus, .campo select:focus, .campo textarea:focus{border-color:var(--azul); outline:none; background:#fff; box-shadow:0 0 0 4px var(--azul-claro);}
  .campo textarea{resize:vertical; min-height:96px;}
  .campo .erro-msg{font-size:12px; color:var(--erro-txt); display:none;}
  .campo.invalido input, .campo.invalido select, .campo.invalido textarea{border-color:var(--erro-txt); background:#FFF7F7;}
  .campo.invalido .erro-msg{display:block;}
  .form-hp{position:absolute; left:-9999px; opacity:0;}
  .form-status{display:none; align-items:center; gap:10px; font-size:13.5px; font-weight:700; padding:12px 14px; border-radius:10px; margin-top:14px;}
  .form-status.ok{display:flex; background:var(--ok-bg); color:var(--ok-txt);}
  .form-status.err{display:flex; background:var(--erro-bg); color:var(--erro-txt);}
  .form-submit{width:100%; justify-content:center;}
  .form-submit[disabled]{opacity:.65; cursor:progress;}
  @media (max-width:900px){.contato-grid{grid-template-columns:1fr;} .form-row{grid-template-columns:1fr;}}

  /* ============ CTA FINAL ============ */
  .cta-final{background:linear-gradient(155deg, var(--navy) 0%, #16223f 60%, var(--azul-esc) 130%); border-radius:28px; padding:64px 48px; text-align:center; color:#fff; position:relative; overflow:hidden;}
  .cta-final::before{content:""; position:absolute; width:520px; height:520px; border-radius:50%; background:radial-gradient(circle, rgba(45,83,216,.45), transparent 70%); top:-260px; right:-160px;}
  .cta-final h2{color:#fff; max-width:640px; margin:0 auto 14px;}
  .cta-final p{color:rgba(255,255,255,.78); max-width:520px; margin:0 auto 30px; font-size:16px;}
  .cta-final .btn-primary{background:#fff; color:var(--azul-esc); box-shadow:0 14px 30px -10px rgba(0,0,0,.35);}
  .cta-final .btn-primary:hover{background:#EEF2FF;}
  .cta-final .hero-ctas{justify-content:center;}

  /* ============ FOOTER ============ */
  footer{padding:52px 0 32px; border-top:1px solid var(--borda);}
  .footer-top{display:flex; justify-content:space-between; align-items:flex-start; flex-wrap:wrap; gap:24px; margin-bottom:32px;}
  .footer-cols{display:flex; gap:64px; flex-wrap:wrap;}
  .footer-col h5{font-size:12px; font-weight:800; text-transform:uppercase; letter-spacing:.05em; color:var(--muted); margin-bottom:14px;}
  .footer-col a{display:block; font-size:13.5px; color:var(--navy); margin-bottom:10px;}
  .footer-col a:hover{color:var(--azul);}
  .footer-bottom{display:flex; justify-content:space-between; flex-wrap:wrap; gap:12px; font-size:12.5px; color:var(--muted); padding-top:24px; border-top:1px solid var(--borda);}

  ::selection{background:var(--azul-claro); color:var(--azul-esc);}

  /* ============ Tela extra: Usuários (Segurança) ============ */
  .user-row{display:flex; align-items:center; gap:11px; padding:10px 0; border-bottom:1px solid #F0F2F7;}
  .user-row:last-child{border-bottom:none;}
  .user-avatar{width:30px; height:30px; border-radius:9px; background:var(--azul-claro); color:var(--azul-esc); display:flex; align-items:center; justify-content:center; font-size:11px; font-weight:800; flex:none;}
  .user-info{flex:1; min-width:0;}
  .user-info b{font-size:12.5px; display:block;}
  .user-info span{font-size:11px; color:var(--muted);}
  .user-last{font-size:10.5px; color:var(--muted); flex:none; text-align:right;}

  /* ============ Tela extra: Paleta de comandos Ctrl+K (Plataforma) ============ */
  .cmd-search{display:flex; align-items:center; gap:8px; background:var(--bg-suave); border:1px solid var(--borda); border-radius:9px; padding:9px 12px; font-size:12px; color:var(--muted); margin-bottom:10px;}
  .cmd-search svg{width:14px; height:14px; stroke:var(--muted);}
  .cmd-item{display:flex; align-items:center; gap:9px; padding:9px 8px; border-radius:8px; font-size:12.5px; font-weight:600; transition:.15s;}
  .cmd-item:hover{background:var(--bg-suave);}
  .cmd-item svg{width:15px; height:15px; stroke:var(--azul-esc); flex:none;}
  .cmd-tag{margin-left:auto; font-size:9.5px; font-weight:700; color:var(--muted); background:var(--bg-suave); padding:2px 8px; border-radius:999px; flex:none;}

  /* ============ Tela extra: formulário de unidade (Núcleo) ============ */
  .form-mini-row{display:flex; gap:10px;}
  .form-mini{display:flex; flex-direction:column; gap:5px; margin-bottom:12px; flex:1;}
  .form-mini label{font-size:10px; font-weight:700; color:var(--muted); text-transform:uppercase; letter-spacing:.03em;}
  .input-mock{border:1px solid var(--borda); border-radius:8px; padding:9px 11px; font-size:12.5px; background:#FBFCFE; color:var(--navy);}

  /* ============ Chip de dependência (dentro de cada plugin-intro) ============ */
  .dep-chip{display:inline-flex; align-items:center; gap:7px; font-size:11.5px; font-weight:700; color:var(--muted); background:var(--bg-suave); border:1px solid var(--borda); padding:6px 13px; border-radius:999px; margin-top:6px;}
  .dep-chip svg{width:13px; height:13px; stroke:var(--azul-esc);}

  /* ============ Banner de dependência (seção Integração) ============ */
  .dep-banner{display:flex; gap:20px; align-items:flex-start; background:#fff; border:1px solid var(--borda); border-radius:var(--radius-lg); padding:28px; margin-top:36px; box-shadow:var(--sombra);}
  .dep-banner-ico{width:48px; height:48px; border-radius:13px; background:var(--azul-claro); display:flex; align-items:center; justify-content:center; flex:none;}
  .dep-banner-ico svg{width:23px; height:23px; stroke:var(--azul-esc);}
  .dep-banner b.dep-title{font-size:16px; display:block; margin-bottom:6px;}
  .dep-banner > div > p{font-size:13.5px; color:var(--muted); margin-bottom:14px; line-height:1.6;}
  .dep-list{list-style:none; display:flex; flex-direction:column; gap:10px;}
  .dep-list li{font-size:13.5px; color:var(--navy); display:flex; gap:9px; align-items:flex-start;}
  .dep-list li svg{width:16px; height:16px; stroke:var(--azul); flex:none; margin-top:2px;}
  @media (max-width:640px){.dep-banner{flex-direction:column;}}

  /* ============ PREÇOS ============ */
  .pricing-grid{display:grid; grid-template-columns:repeat(4,1fr); gap:18px; align-items:stretch;}
  .pricing-card{background:#fff; border:1px solid var(--borda); border-radius:var(--radius-lg); padding:28px 24px; display:flex; flex-direction:column;}
  .pricing-card.destaque{background:linear-gradient(155deg, var(--azul) 0%, var(--azul-esc) 100%); color:#fff; border:none; box-shadow:var(--sombra-lg); position:relative;}
  .price-tag{align-self:flex-start; font-size:10.5px; font-weight:800; text-transform:uppercase; letter-spacing:.05em; background:var(--azul-claro); color:var(--azul-esc); padding:4px 11px; border-radius:999px;}
  .pricing-card.destaque .price-tag{background:rgba(255,255,255,.2); color:#fff;}
  .pricing-card h3{font-size:19px; font-weight:900; margin-top:12px;}
  .price-desc{font-size:13px; color:var(--muted); margin:4px 0 2px; min-height:34px;}
  .pricing-card.destaque .price-desc{color:rgba(255,255,255,.85);}
  .price-amount{font-size:32px; font-weight:900; margin:8px 0 2px; font-family:'Plus Jakarta Sans','Inter',sans-serif;}
  .price-amount span{font-size:13px; font-weight:600; color:var(--muted);}
  .pricing-card.destaque .price-amount span{color:rgba(255,255,255,.75);}
  .price-economia{display:inline-block; font-size:11px; font-weight:700; background:rgba(255,255,255,.2); padding:4px 10px; border-radius:999px; width:fit-content; margin-bottom:6px;}
  .price-list{list-style:none; display:flex; flex-direction:column; gap:9px; font-size:13px; margin:12px 0 16px; flex:1;}
  .price-list li{padding-left:20px; position:relative;}
  .price-list li::before{content:"✓"; position:absolute; left:0; color:var(--azul); font-weight:800;}
  .pricing-card.destaque .price-list li::before{color:#fff;}
  .pricing-card.destaque .price-list{color:rgba(255,255,255,.92);}
  .price-note{font-size:11.5px; color:var(--muted); line-height:1.5; margin-bottom:14px; min-height:44px;}
  .pricing-card.destaque .price-note{color:rgba(255,255,255,.78);}
  .price-footnote{text-align:center; font-size:12px; color:var(--muted); margin-top:26px;}
  @media (max-width:1020px){.pricing-grid{grid-template-columns:1fr 1fr;}}
  @media (max-width:620px){.pricing-grid{grid-template-columns:1fr;}}

  /* =====================================================================
   * ACRÉSCIMOS DO TEMA WORDPRESS
   * A partir daqui está tudo o que não existia na landing estática:
   * abas para os 7 plugins, mapa de arquitetura, integração com o WP
   * (admin bar, menus, logo, blocos) e utilitários de acessibilidade.
   * ================================================================== */

  /* ============ Abas dos plugins (agora via JS, para escalar a 7) ============
   * A landing usava radio + :checked com 3 abas. Com 7 plugins a lista de
   * seletores ficaria impraticável, então o estado passou para JS/ARIA.
   * Sem JS, todos os painéis aparecem empilhados (progressive enhancement). */
  .tabs-nav{gap:9px; margin-bottom:20px;}
  .tabs-nav button{
    display:flex; align-items:center; gap:9px; padding:11px 17px; border-radius:13px;
    border:1.5px solid var(--borda); font-weight:800; font-size:13.5px; color:var(--muted);
    cursor:pointer; transition:.18s; background:#fff; font-family:inherit; white-space:nowrap;
  }
  .tabs-nav button svg{width:16px; height:16px; stroke:currentColor; flex:none;}
  .tabs-nav button:hover{border-color:var(--azul);}
  .tabs-nav button[aria-selected="true"]{background:var(--azul); border-color:var(--azul); color:#fff;}
  .tabs-nav button[aria-selected="true"] .tabs-nav-ordem{background:rgba(255,255,255,.25); color:#fff;}
  .tabs-ajuda{text-align:center; font-size:12.5px; color:var(--muted); margin:0 auto 44px; max-width:620px;}

  .js .tab-panel[hidden]{display:none;}
  .js .tab-panel{display:block;}
  /* Sem JS: nada fica escondido e cada painel ganha um respiro entre si. */
  html:not(.js) .tab-panel{display:block; padding-top:28px; border-top:1px solid var(--borda);}
  html:not(.js) .tabs-nav{display:none;}

  /* ============ Menus vindos do WordPress ============
   * wp_nav_menu devolve <ul><li><a>; a landing original tinha <a> soltos.
   * Estes seletores fazem as duas formas renderizarem igual. */
  .nav-links .menu-lista{list-style:none; display:flex; gap:30px; margin:0; padding:0;}
  .nav-links .menu-lista li{margin:0;}
  .mobile-menu .menu-lista{list-style:none; display:flex; flex-direction:column; gap:0; margin:0; padding:0;}
  .mobile-menu .menu-lista li{margin:0;}
  .footer-col .menu-lista{list-style:none; margin:0; padding:0;}

  /* ============ Cabeçalho de cada plugin ============ */
  .plugin-meta{display:flex; flex-wrap:wrap; justify-content:center; gap:8px; margin-top:14px;}
  .plugin-meta span{
    display:inline-flex; align-items:center; gap:6px; font-size:11px; font-weight:700;
    color:var(--muted); background:var(--bg-suave); border:1px solid var(--borda);
    padding:5px 11px; border-radius:999px;
  }
  .plugin-meta span code{font-family:'JetBrains Mono', monospace; font-size:10.5px; color:var(--navy);}
  .plugin-camada{
    display:inline-flex; align-items:center; gap:6px; font-size:10.5px; font-weight:800;
    text-transform:uppercase; letter-spacing:.05em; padding:4px 11px; border-radius:999px;
    background:var(--azul-claro); color:var(--azul-esc);
  }

  /* ============ Mapa de arquitetura (seção Integração) ============ */
  .arq-camadas{display:flex; flex-direction:column; gap:16px; margin-bottom:36px;}
  .arq-camada{
    display:grid; grid-template-columns:230px 1fr; gap:28px; align-items:center;
    background:#fff; border:1px solid var(--borda); border-radius:var(--radius-lg);
    padding:24px 26px; box-shadow:var(--sombra);
  }
  .arq-camada-cab{display:flex; align-items:center; gap:14px;}
  .arq-camada-ico{width:46px; height:46px; border-radius:13px; display:flex; align-items:center; justify-content:center; flex:none;}
  .arq-camada-ico svg{width:22px; height:22px; stroke:#fff;}
  .arq-camada-cab h4{font-size:15.5px; font-weight:900;}
  .arq-camada-cab span{font-size:11.5px; color:var(--muted); font-weight:600;}
  .arq-camada-desc{font-size:13.5px; color:var(--muted); margin-bottom:14px; line-height:1.6;}
  .arq-modulos{display:grid; grid-template-columns:repeat(auto-fit, minmax(190px, 1fr)); gap:10px;}
  .arq-modulo{
    display:block; border:1px solid var(--borda); border-radius:var(--radius-md);
    padding:13px 15px; background:linear-gradient(180deg,#fff,#FBFCFE); transition:.18s;
  }
  .arq-modulo:hover{border-color:var(--azul); box-shadow:var(--sombra);}
  .arq-modulo b{font-size:12.5px; display:block; margin-bottom:3px;}
  .arq-modulo span{font-size:11px; color:var(--muted); line-height:1.45; display:block;}
  .arq-seta{display:flex; justify-content:center; color:var(--azul); margin:-6px 0;}
  .arq-seta svg{width:24px; height:24px; stroke:currentColor;}
  @media (max-width:860px){
    .arq-camada{grid-template-columns:1fr; gap:18px;}
  }

  /* ============ Preços: grade com número variável de cards ============
   * A landing tinha 4 planos fixos. Como os cards agora saem do catálogo,
   * a grade se ajusta à quantidade em vez de assumir 4 colunas. */
  .pricing-grid.cols-3{grid-template-columns:repeat(3,1fr);}
  .pricing-grid.cols-5{grid-template-columns:repeat(5,1fr);}
  .pricing-grid.cols-5 .pricing-card{padding:26px 20px;}
  .pricing-grid.cols-5 .price-list{font-size:12.5px;}
  /* Faixa de grade "1fr" tem mínimo "auto": sem isto o card mais largo
   * empurra a grade para fora do container e cria rolagem horizontal. */
  .pricing-card{min-width:0;}
  .pricing-card h3, .price-desc, .price-list li{overflow-wrap:anywhere;}
  @media (max-width:1240px){.pricing-grid.cols-5{grid-template-columns:repeat(3,1fr);}}
  @media (max-width:1020px){
    .pricing-grid.cols-3{grid-template-columns:1fr 1fr;}
    .pricing-grid.cols-5{grid-template-columns:1fr 1fr;}
  }
  @media (max-width:620px){
    .pricing-grid.cols-3, .pricing-grid.cols-5{grid-template-columns:1fr;}
  }
  /* "Sob consulta" não cabe no corpo de 32px pensado para "R$ 167". */
  .price-amount.consulta{font-size:22px; line-height:1.4;}

  /* ============ Integração com o WordPress ============ */
  /* A barra de administração empurra o topo da página; a nav é sticky. */
  .admin-bar .nav{top:32px;}
  @media screen and (max-width:782px){ .admin-bar .nav{top:46px;} }
  .admin-bar section[id]{scroll-margin-top:120px;}

  .brand-logo img{max-height:44px; width:auto;}

  /* Conteúdo editorial (páginas e posts fora da home) */
  .conteudo-wp{max-width:820px; margin:0 auto; padding:72px 0;}
  .conteudo-wp h1{font-size:36px; margin-bottom:18px;}
  .conteudo-wp h2{font-size:26px; margin:34px 0 12px;}
  .conteudo-wp h3{font-size:20px; margin:26px 0 10px;}
  .conteudo-wp p, .conteudo-wp li{font-size:16px; color:var(--muted); line-height:1.75;}
  .conteudo-wp p, .conteudo-wp ul, .conteudo-wp ol, .conteudo-wp figure, .conteudo-wp table{margin-bottom:18px;}
  .conteudo-wp ul, .conteudo-wp ol{padding-left:22px;}
  .conteudo-wp a{color:var(--azul-esc); text-decoration:underline;}
  .conteudo-wp blockquote{border-left:3px solid var(--azul); padding-left:18px; color:var(--navy); font-style:italic;}
  .conteudo-wp img{border-radius:var(--radius-md);}
  .conteudo-wp code, .conteudo-wp pre{font-family:'JetBrains Mono', monospace; font-size:13.5px;}
  .conteudo-wp pre{background:var(--bg-suave); border:1px solid var(--borda); border-radius:var(--radius-md); padding:16px; overflow:auto;}

  /* Classes de alinhamento exigidas pelo WordPress */
  .alignleft{float:left; margin:0 20px 16px 0;}
  .alignright{float:right; margin:0 0 16px 20px;}
  .aligncenter{margin-left:auto; margin-right:auto;}
  .alignwide{max-width:1100px; margin-left:auto; margin-right:auto;}
  .alignfull{max-width:none; width:100%;}
  .wp-caption{max-width:100%;}
  .wp-caption-text, .wp-element-caption{font-size:12.5px; color:var(--muted); text-align:center; margin-top:8px;}
  .sticky, .gallery-caption, .bypostauthor{}

  /* Acessibilidade: texto só para leitores de tela (padrão do WP) */
  .screen-reader-text{
    border:0; clip:rect(1px,1px,1px,1px); clip-path:inset(50%); height:1px; margin:-1px;
    overflow:hidden; padding:0; position:absolute; width:1px; word-wrap:normal !important;
  }
  .screen-reader-text:focus{
    background:#fff; clip:auto; clip-path:none; color:var(--azul-esc); display:block;
    font-size:14px; font-weight:700; height:auto; left:6px; line-height:normal; padding:14px 22px;
    text-decoration:none; top:6px; width:auto; z-index:100000;
  }

  /* ============ Página 404 e listagens ============ */
  .erro-404{text-align:center; padding:110px 0;}
  .erro-404 .cod{font-family:'JetBrains Mono', monospace; font-size:64px; font-weight:700; color:var(--azul-claro); line-height:1;}
  .erro-404 h1{font-size:30px; margin:14px 0 12px;}
  .erro-404 p{color:var(--muted); font-size:16px; margin-bottom:26px;}

  .lista-posts{display:grid; grid-template-columns:repeat(auto-fit, minmax(280px,1fr)); gap:20px;}
  .post-card{background:#fff; border:1px solid var(--borda); border-radius:var(--radius-lg); padding:24px; transition:.2s;}
  .post-card:hover{transform:translateY(-4px); box-shadow:var(--sombra-lg);}
  .post-card h2{font-size:19px; margin-bottom:8px;}
  .post-card .meta{font-size:11.5px; color:var(--muted); text-transform:uppercase; letter-spacing:.04em; font-weight:700; margin-bottom:10px;}
  .post-card p{font-size:14px; color:var(--muted);}
  .paginacao{display:flex; gap:8px; justify-content:center; margin-top:38px; flex-wrap:wrap;}
  .paginacao .page-numbers{
    display:inline-flex; align-items:center; justify-content:center; min-width:38px; height:38px;
    padding:0 12px; border:1px solid var(--borda); border-radius:10px; font-size:13.5px; font-weight:700; background:#fff;
  }
  .paginacao .page-numbers.current, .paginacao .page-numbers:hover{background:var(--azul); border-color:var(--azul); color:#fff;}

  /* ============ Feedback do formulário quando enviado sem JS ============ */
  .form-status[data-persistente]{display:flex;}
