/* ==========================================================================
   PLANOS DA SAÚDE — páginas de conteúdo
   Mesma identidade da home: azul #2B2E9B, dourado #F2B632, fonte Inter.
   ========================================================================== */

:root{
  --primary:#2B2E9B;
  --primary-dark:#12157a;
  --primary-mid:#1e2196;
  --accent:#F2B632;
  --accent-dark:#e8a520;
  --success:#2ecc71;

  --tinta:#0f172a;
  --texto:#334155;
  --texto-2:#64748b;
  --linha:#e2e8f0;
  --areia:#f6f7fb;
  --azul-luz:#eef0ff;

  --raio:14px;
  --raio-lg:22px;
  --sombra-1:0 2px 8px rgba(43,46,155,.06);
  --sombra-2:0 6px 24px rgba(43,46,155,.10);
  --sombra-3:0 18px 46px rgba(43,46,155,.16);

  --env:1120px;
}

*,*::before,*::after{box-sizing:border-box;}
html{scroll-behavior:smooth;scroll-padding-top:84px;-webkit-text-size-adjust:100%;}
body{
  margin:0;background:#fff;color:var(--texto);
  font-family:'Inter',system-ui,-apple-system,'Segoe UI',Roboto,Arial,sans-serif;
  font-size:17px;line-height:1.7;overflow-x:hidden;
  -webkit-font-smoothing:antialiased;
}
img{max-width:100%;height:auto;display:block;}
a{color:var(--primary);}
.icon{width:1em;height:1em;vertical-align:-.15em;display:inline-block;fill:currentColor;}

h1,h2,h3,h4{margin:0 0 .5em;color:var(--primary);font-weight:900;line-height:1.15;letter-spacing:-.03em;}
h1{font-size:clamp(2rem,1.4rem+2.6vw,3rem);}
h2{font-size:clamp(1.5rem,1.2rem+1.5vw,2.1rem);}
h3{font-size:clamp(1.15rem,1.05rem+.5vw,1.35rem);}
p{margin:0 0 1.1em;}
p:last-child{margin-bottom:0;}

.env{width:100%;max-width:var(--env);margin-inline:auto;padding-inline:20px;}
.secao{padding-block:72px;}
.secao--areia{background:var(--areia);}
.secao--curta{padding-block:48px;}
.estreito{max-width:760px;}
.centro{text-align:center;}

/* ---------- Cabeçalho ---------- */
.topo{
  position:sticky;top:0;z-index:900;background:#fff;
  box-shadow:0 4px 24px rgba(0,0,0,.10);
}
.topo::after{
  content:'';position:absolute;bottom:0;left:0;right:0;height:2px;
  background:linear-gradient(90deg,var(--primary) 0%,#4e52d4 35%,var(--accent) 65%,var(--accent-dark) 100%);
}
.topo__int{display:flex;align-items:center;justify-content:space-between;gap:16px;min-height:64px;}
.marca{display:inline-flex;align-items:center;gap:10px;text-decoration:none;}
.marca__ico{
  width:36px;height:36px;border-radius:10px;flex-shrink:0;
  background:linear-gradient(135deg,var(--primary),#4e52d4);
  display:grid;place-items:center;color:var(--accent);font-weight:900;font-size:15px;
}
.marca__txt{display:block;color:var(--primary);font-weight:900;font-size:1rem;letter-spacing:-.02em;line-height:1.15;}
.marca__sub{display:block;color:var(--texto-2);font-size:.68rem;font-weight:700;letter-spacing:.06em;text-transform:uppercase;}

.menu{display:flex;align-items:center;gap:2px;}
.menu a{
  color:var(--primary);font-weight:700;font-size:.85rem;text-decoration:none;
  padding:8px 10px;border-radius:9px;transition:background .15s;white-space:nowrap;
}
.menu a:hover{background:rgba(43,46,155,.08);}
.menu a[aria-current="page"]{background:rgba(43,46,155,.10);}

/* Grupo "Convênios" do menu. No desktop abre em painel flutuante;
   no celular o painel vira lista recuada dentro do próprio menu. */
.menu__grupo{position:relative;}
.menu__grupo>summary{
  list-style:none;cursor:pointer;white-space:nowrap;
  color:var(--primary);font-weight:700;font-size:.85rem;
  padding:8px 10px;border-radius:9px;display:inline-flex;align-items:center;gap:6px;
}
.menu__grupo>summary::-webkit-details-marker{display:none;}
.menu__grupo>summary::after{
  content:'';width:6px;height:6px;flex-shrink:0;
  border-right:2px solid currentColor;border-bottom:2px solid currentColor;
  transform:translateY(-2px) rotate(45deg);transition:transform .2s;
}
.menu__grupo[open]>summary::after{transform:translateY(1px) rotate(-135deg);}
.menu__grupo>summary:hover{background:rgba(43,46,155,.08);}
.menu__grupo--ativo>summary{background:rgba(43,46,155,.10);}
.menu__painel a[aria-current="page"]{background:rgba(43,46,155,.10);}
.menu__painel{
  position:absolute;top:calc(100% + 10px);right:0;min-width:210px;z-index:1200;
  background:#fff;border:1px solid rgba(15,23,42,.10);border-radius:14px;
  box-shadow:0 18px 40px rgba(0,0,0,.18);padding:8px;
  display:flex;flex-direction:column;
}
.menu__painel a{display:block;padding:10px 12px;}

/* ---------- Marca oficial da operadora ---------- */
.marca-op{
  display:inline-flex;align-items:center;gap:14px;flex-wrap:wrap;
  margin-bottom:18px;
}
.marca-op__caixa{
  display:inline-grid;place-items:center;flex-shrink:0;
  background:#fff;border-radius:12px;padding:9px 16px;
  box-shadow:0 6px 18px rgba(0,0,0,.18);
}
.marca-op__img{width:auto;max-height:34px;object-fit:contain;}
.marca-op__txt{
  font-size:.78rem;line-height:1.5;color:rgba(255,255,255,.72);font-weight:600;
}
.marca-op__txt strong{color:var(--accent);font-weight:800;}
.marca-op--fila{gap:10px;}
.marca-op--fila .marca-op__caixa{padding:7px 12px;}
.marca-op--fila .marca-op__img{max-height:26px;}

.btn-topo{
  display:inline-flex;align-items:center;gap:8px;flex-shrink:0;
  background:var(--primary);color:#fff;text-decoration:none;
  padding:10px 16px;border-radius:11px;font-weight:800;font-size:.85rem;
  box-shadow:0 4px 14px rgba(43,46,155,.28);white-space:nowrap;
}
.btn-topo:hover{background:var(--primary-mid);}

.hamburguer{display:none;width:42px;height:42px;border:1px solid var(--linha);border-radius:10px;background:#fff;cursor:pointer;}
.hamburguer span{display:block;width:18px;height:2px;margin:4px auto;background:var(--primary);border-radius:2px;}

/* ---------- Trilha ---------- */
.trilha{background:var(--areia);border-bottom:1px solid var(--linha);font-size:.83rem;color:var(--texto-2);padding-block:12px;}
.trilha a{color:var(--texto-2);text-decoration:none;}
.trilha a:hover{color:var(--primary);}
.trilha span{margin-inline:7px;opacity:.5;}

/* ---------- Topo da página ---------- */
.capa{
  position:relative;overflow:hidden;color:#fff;
  background:linear-gradient(135deg,var(--primary-dark) 0%,var(--primary-mid) 45%,var(--primary) 75%,#3438b8 100%);
  padding-block:56px;
}
.capa::before{
  content:'';position:absolute;inset:0;opacity:.05;pointer-events:none;
  background-image:radial-gradient(circle,#fff 1px,transparent 1px);background-size:26px 26px;
}
.capa .env{position:relative;z-index:2;}
.capa h1{color:#fff;margin-bottom:14px;}
.capa h1 em{font-style:normal;color:var(--accent);}
.capa__sub{font-size:1.05rem;color:rgba(255,255,255,.75);max-width:640px;margin-bottom:24px;}
.capa__olho{
  display:inline-flex;align-items:center;gap:8px;margin-bottom:16px;
  background:rgba(255,255,255,.08);border:1px solid rgba(255,255,255,.18);
  border-radius:999px;padding:6px 14px;
  font-size:.72rem;font-weight:800;letter-spacing:.14em;text-transform:uppercase;color:var(--accent);
}
.capa__acoes{display:flex;flex-wrap:wrap;gap:12px;}

.bt{
  display:inline-flex;align-items:center;justify-content:center;gap:9px;
  padding:14px 26px;border:0;border-radius:12px;cursor:pointer;
  font-family:inherit;font-size:.95rem;font-weight:800;text-decoration:none;
  transition:transform .18s,box-shadow .18s,background .18s;
}
.bt:hover{transform:translateY(-1px);}
.bt--ouro{background:var(--accent);color:#1a1300;box-shadow:0 6px 22px rgba(242,182,50,.35);}
.bt--ouro:hover{background:var(--accent-dark);}
/* Verde escurecido de propósito. O #25d366 da marca WhatsApp dá
   contraste 1.98 com texto branco, muito abaixo do mínimo legível. */
.bt--zap{background:#108044;color:#fff;box-shadow:0 6px 22px rgba(16,128,68,.32);}
.bt--zap:hover{background:#0d6e3a;}
.bt--linha-clara{background:transparent;color:#fff;border:2px solid rgba(255,255,255,.35);}
.bt--linha-clara:hover{background:rgba(255,255,255,.1);}
.bt--azul{background:var(--primary);color:#fff;box-shadow:0 6px 20px rgba(43,46,155,.28);}
.bt--bloco{width:100%;}

/* ---------- Resposta rápida ---------- */
.resposta{
  background:var(--azul-luz);border:1px solid rgba(43,46,155,.14);
  border-left:5px solid var(--accent);
  border-radius:var(--raio);padding:24px 26px;margin-bottom:36px;
}
.resposta strong{color:var(--primary);}
.resposta__rot{
  display:block;margin-bottom:8px;color:var(--primary);
  font-size:.72rem;font-weight:900;letter-spacing:.14em;text-transform:uppercase;
}

/* ---------- Conteúdo ---------- */
.conteudo h2{margin-top:44px;}
.conteudo h2:first-child{margin-top:0;}
.conteudo h3{margin-top:28px;color:var(--tinta);}
.conteudo ul,.conteudo ol{margin:0 0 1.1em;padding-left:1.3em;}
.conteudo li{margin-bottom:.5em;}
.conteudo strong{color:var(--tinta);}

.destaque-box{
  background:#fffdf5;border:1px solid rgba(242,182,50,.4);
  border-radius:var(--raio);padding:20px 24px;margin:28px 0;
}
.destaque-box h3{margin-top:0;color:#92650a;font-size:1.05rem;}
.destaque-box p:last-child{margin-bottom:0;}

/* ---------- Tabela ---------- */
.tabela-rol{overflow-x:auto;-webkit-overflow-scrolling:touch;margin:28px 0;}
table.tab{width:100%;min-width:560px;border-collapse:collapse;background:#fff;
  border-radius:var(--raio);overflow:hidden;box-shadow:var(--sombra-1);font-size:.94rem;}
table.tab th,table.tab td{padding:13px 16px;text-align:left;border-bottom:1px solid var(--linha);}
table.tab thead th{background:var(--primary);color:#fff;font-weight:800;font-size:.8rem;letter-spacing:.05em;text-transform:uppercase;}
table.tab tbody tr:nth-child(even){background:var(--areia);}
table.tab tbody tr:last-child td{border-bottom:0;}
table.tab td strong{color:var(--primary);}

/* ---------- Cartões ---------- */
.grade{display:grid;gap:20px;}
.g-2{grid-template-columns:repeat(2,1fr);}
.g-3{grid-template-columns:repeat(3,1fr);}

.cartao{
  background:#fff;border:1px solid var(--linha);border-radius:var(--raio);
  padding:24px;box-shadow:var(--sombra-1);
  transition:transform .2s,box-shadow .2s,border-color .2s;
}
.cartao:hover{transform:translateY(-3px);box-shadow:var(--sombra-2);border-color:rgba(43,46,155,.25);}
.cartao__ico{
  width:44px;height:44px;border-radius:12px;margin-bottom:14px;
  background:var(--azul-luz);color:var(--primary);
  display:grid;place-items:center;
}
.cartao__ico svg{width:22px;height:22px;}
.cartao h3{font-size:1.05rem;margin-bottom:6px;color:var(--tinta);}
.cartao p{color:var(--texto-2);font-size:.94rem;margin:0;}

a.cartao{text-decoration:none;color:inherit;display:block;}
a.cartao .mais{
  display:inline-flex;align-items:center;gap:6px;margin-top:12px;
  color:var(--primary);font-weight:800;font-size:.88rem;
}

/* ---------- Lista com check ---------- */
.lista{list-style:none;margin:0 0 1.2em;padding:0;}
.lista li{display:flex;gap:11px;align-items:flex-start;padding:7px 0;}
.lista li::before{
  content:'';flex-shrink:0;width:20px;height:20px;margin-top:3px;border-radius:50%;
  background:var(--azul-luz) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='%232B2E9B'%3E%3Cpath d='M9 16.2 4.8 12l-1.4 1.4L9 19 21 7l-1.4-1.4z'/%3E%3C/svg%3E") center/12px no-repeat;
}

/* ---------- FAQ ---------- */
.faq{border-top:1px solid var(--linha);}
.faq details{border-bottom:1px solid var(--linha);}
.faq summary{
  position:relative;cursor:pointer;list-style:none;
  padding:18px 48px 18px 0;font-weight:700;color:var(--primary);font-size:1.02rem;
}
.faq summary::-webkit-details-marker{display:none;}
.faq summary::after,.faq summary::before{
  content:'';position:absolute;right:12px;top:50%;width:14px;height:2px;
  background:var(--accent-dark);transition:transform .2s;
}
.faq summary::before{transform:rotate(90deg);}
.faq details[open] summary::before{transform:rotate(0);}
.faq__r{padding:0 40px 20px 0;color:var(--texto);}

/* ---------- Formulário ---------- */
.form-bloco{
  background:#fff;border:1px solid var(--linha);border-radius:var(--raio-lg);
  padding:28px;box-shadow:var(--sombra-3);
}
.form-bloco h3{margin-bottom:4px;}
.form-bloco__ajuda{color:var(--texto-2);font-size:.93rem;margin-bottom:20px;}
.campo{margin-bottom:14px;}
.campo label{display:block;margin-bottom:5px;color:var(--tinta);font-size:.8rem;font-weight:800;text-transform:uppercase;letter-spacing:.04em;}
.campo input,.campo select,.campo textarea{
  width:100%;padding:12px 14px;border:1.5px solid var(--linha);border-radius:10px;
  font-family:inherit;font-size:.97rem;color:var(--tinta);background:#fff;transition:.18s;
}
.campo input:focus,.campo select:focus,.campo textarea:focus{
  outline:none;border-color:var(--accent);box-shadow:0 0 0 4px rgba(242,182,50,.18);
}
.campo--par{display:grid;grid-template-columns:1fr 1fr;gap:12px;}
.armadilha{position:absolute!important;left:-9999px!important;width:1px;height:1px;opacity:0;pointer-events:none;}
.form-nota{margin:12px 0 0;text-align:center;font-size:.78rem;color:var(--texto-2);}

/* ---------- Faixa final ---------- */
.convite{
  border-radius:var(--raio-lg);padding:44px 38px;text-align:center;color:#fff;
  background:linear-gradient(135deg,var(--primary-dark),var(--primary) 60%,#3438b8);
}
.convite h2{color:#fff;}
.convite p{color:rgba(255,255,255,.78);max-width:52ch;margin-inline:auto;margin-bottom:24px;}

/* ---------- Rodapé ---------- */
.rodape{background:#1e2460;color:#94a3b8;padding:40px 0 24px;font-size:.9rem;position:relative;}
.rodape::before{content:'';position:absolute;top:0;left:0;right:0;height:2px;
  background:linear-gradient(90deg,var(--primary) 0%,var(--accent) 50%,var(--primary) 100%);}
.rodape__grade{display:grid;grid-template-columns:1.5fr 1fr 1fr 1fr;gap:30px;padding-bottom:28px;}
.rodape h4{color:#e2e8f0;font-size:.78rem;font-weight:800;letter-spacing:.12em;text-transform:uppercase;margin-bottom:12px;}
.rodape ul{list-style:none;margin:0;padding:0;}
.rodape li{margin-bottom:8px;}
.rodape a{color:#94a3b8;text-decoration:none;}
.rodape a:hover{color:#fff;}
.rodape__base{border-top:1px solid rgba(255,255,255,.12);padding-top:18px;font-size:.76rem;color:#64748b;line-height:1.7;}
.rodape__base strong{color:#94a3b8;}

/* ---------- WhatsApp flutuante ---------- */
.zap-fixo{
  position:fixed;right:20px;bottom:20px;z-index:800;
  width:56px;height:56px;border-radius:16px;
  display:grid;place-items:center;color:#fff;background:#128C4B;text-decoration:none;
  box-shadow:0 0 0 7px rgba(18,140,75,.14),0 10px 28px rgba(18,140,75,.34);
  transition:transform .2s;
}
.zap-fixo:hover{transform:translateY(-2px) scale(1.04);}
.zap-fixo svg{width:26px;height:26px;}

/* ---------- Responsivo ---------- */
@media (max-width:900px){
  .g-3{grid-template-columns:repeat(2,1fr);}
  .rodape__grade{grid-template-columns:1fr 1fr;}
  .hamburguer{display:block;}
  .menu{
    position:absolute;top:100%;left:0;right:0;flex-direction:column;align-items:stretch;gap:0;
    background:#fff;padding:8px 20px 16px;box-shadow:0 12px 28px rgba(0,0,0,.14);
    max-height:0;overflow:hidden;visibility:hidden;transition:max-height .25s,visibility .25s;
  }
  .menu.aberto{max-height:70vh;overflow-y:auto;visibility:visible;}
  .menu a{padding:12px 4px;border-bottom:1px solid var(--linha);}

  /* No celular o painel deixa de flutuar: vira lista recuada, senão
     ficaria sobreposto ao conteúdo com o menu já em coluna. */
  .menu__grupo{position:static;}
  .menu__grupo>summary{
    padding:12px 4px;border-bottom:1px solid var(--linha);
    justify-content:space-between;font-size:.9rem;
  }
  .menu__painel{
    position:static;min-width:0;padding:0 0 0 14px;
    background:transparent;border:0;border-radius:0;box-shadow:none;
  }
  .menu__painel a{padding:11px 4px;font-size:.85rem;color:var(--texto);}
}
@media (max-width:640px){
  body{font-size:16px;}
  .secao{padding-block:52px;}
  .g-2,.g-3{grid-template-columns:1fr;}
  .campo--par{grid-template-columns:1fr;}
  .capa{padding-block:40px;}
  .capa__acoes .bt{width:100%;}
  .convite{padding:32px 22px;}
  .form-bloco{padding:22px 18px;}
  .faq summary{padding-right:40px;font-size:.97rem;}
  .faq__r{padding-right:0;}
  .rodape__grade{grid-template-columns:1fr;gap:24px;}
}
@media (prefers-reduced-motion:reduce){
  *{animation-duration:.01ms!important;transition-duration:.01ms!important;}
  html{scroll-behavior:auto;}
}
