/* ==========================================================
   MedSênior — Queiroz Benefícios | style.css
   Vigência: Junho 2026 | Público: 49+ | WCAG AA/AAA
   ========================================================== */

/* ── TOKENS ──────────────────────────────────────────────── */
:root{
  --primary:#1B8F5E;
  --primary-dark:#145F3E;
  --primary-soft:#E6F4EE;
  --accent:#F2A900;
  --accent-dark:#C88A00;
  --header-bg:#FFFFFF;
  --text:#1A2620;
  --muted:#3D5046;
  --bg:#FFFFFF;
  --bg-soft:#F3F7F5;
  --border:#CDE0D6;
  --success:#1DB954;
  --wa:#25D366;
  --radius:12px;
  --shadow:0 2px 12px rgba(27,143,94,.12);
  --shadow-md:0 4px 24px rgba(27,143,94,.16);
  --font:'Segoe UI',system-ui,-apple-system,sans-serif;
  --max:1200px;
}

/* ── RESET ───────────────────────────────────────────────── */
*,*::before,*::after{box-sizing:border-box;margin:0;padding:0}
html{scroll-behavior:smooth;-webkit-text-size-adjust:100%}
body{font-family:var(--font);font-size:18px;line-height:1.7;color:var(--text);background:var(--bg)}
img{max-width:100%;height:auto;display:block}
a{color:var(--primary);text-decoration:none}
a:hover{text-decoration:underline}
ul,ol{padding-left:1.4em}
table{border-collapse:collapse;width:100%}

/* ── TIPOGRAFIA ──────────────────────────────────────────── */
h1{font-size:clamp(1.9rem,4vw,2.8rem);font-weight:800;line-height:1.2;color:var(--text)}
h2{font-size:clamp(1.5rem,3vw,2.1rem);font-weight:700;line-height:1.3;color:var(--text)}
h3{font-size:clamp(1.2rem,2.5vw,1.6rem);font-weight:600;line-height:1.4;color:var(--text)}
h4{font-size:1.1rem;font-weight:600}
p{margin-bottom:1rem}
p:last-child{margin-bottom:0}
small{font-size:.85rem}
strong{font-weight:700}

/* ── LAYOUT ──────────────────────────────────────────────── */
.container{max-width:var(--max);margin-inline:auto;padding-inline:20px}
.section{padding:64px 0}
.section--soft{background:var(--bg-soft)}
.section--primary{background:var(--primary);color:#fff}
.section--primary h2,.section--primary h3,.section--primary p{color:#fff}
.grid-2{display:grid;grid-template-columns:1fr 1fr;gap:32px}
.grid-3{display:grid;grid-template-columns:repeat(3,1fr);gap:24px}
.grid-4{display:grid;grid-template-columns:repeat(4,1fr);gap:20px}
.flex{display:flex;align-items:center;gap:16px}
.flex-between{display:flex;align-items:center;justify-content:space-between;gap:16px}
.text-center{text-align:center}
.text-muted{color:var(--muted)}
.mt-8{margin-top:8px}.mt-16{margin-top:16px}.mt-24{margin-top:24px}.mt-32{margin-top:32px}
.mb-8{margin-bottom:8px}.mb-16{margin-bottom:16px}.mb-24{margin-bottom:24px}.mb-32{margin-bottom:32px}

/* ── HEADER ──────────────────────────────────────────────── */
.site-header{position:sticky;top:0;z-index:100;background:var(--header-bg);border-bottom:2px solid var(--primary-soft);box-shadow:var(--shadow)}
.header-inner{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:12px 20px;max-width:var(--max);margin-inline:auto}
.header-logos{display:flex;align-items:center;gap:16px;flex-shrink:0}
.header-logos img{height:44px;width:auto}
.logo-sep{width:1px;height:36px;background:var(--border)}
.site-nav{display:flex;align-items:center;gap:4px;flex-wrap:wrap}
.site-nav a{font-size:.95rem;font-weight:600;padding:8px 12px;border-radius:8px;color:var(--text);transition:background .2s,color .2s;white-space:nowrap}
.site-nav a:hover,.site-nav a.active{background:var(--primary-soft);color:var(--primary);text-decoration:none}
.header-ctas{display:flex;align-items:center;gap:10px;flex-shrink:0}
.hamburger{display:none;background:none;border:none;cursor:pointer;padding:8px;color:var(--text)}
.hamburger svg{display:block}

/* ── BOTÕES ──────────────────────────────────────────────── */
.btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;padding:14px 28px;border-radius:10px;font-size:1rem;font-weight:700;border:none;cursor:pointer;transition:background .2s,transform .1s,box-shadow .2s;min-height:48px;text-decoration:none;line-height:1.2}
.btn:hover{transform:translateY(-1px);box-shadow:var(--shadow-md);text-decoration:none}
.btn:active{transform:translateY(0)}
.btn-primary{background:var(--primary);color:#fff}
.btn-primary:hover{background:var(--primary-dark);color:#fff}
.btn-accent{background:var(--accent);color:#1A2620}
.btn-accent:hover{background:var(--accent-dark);color:#1A2620}
.btn-wa{background:var(--wa);color:#fff}
.btn-wa:hover{background:#1aa34a;color:#fff}
.btn-outline{background:transparent;color:var(--primary);border:2px solid var(--primary)}
.btn-outline:hover{background:var(--primary);color:#fff}
.btn-lg{padding:18px 36px;font-size:1.15rem}
.btn-sm{padding:10px 20px;font-size:.9rem;min-height:40px}

/* ── HERO ────────────────────────────────────────────────── */
.hero{background:linear-gradient(135deg,var(--primary) 0%,var(--primary-dark) 60%,#0D4028 100%);color:#fff;padding:72px 0 80px}
.hero h1{color:#fff;margin-bottom:20px}
.hero .subtitle{font-size:1.25rem;opacity:.92;max-width:600px;margin-bottom:32px}
.hero-badges{display:flex;flex-wrap:wrap;gap:12px;margin-bottom:36px}
.badge{display:inline-flex;align-items:center;gap:6px;background:rgba(255,255,255,.15);border:1px solid rgba(255,255,255,.3);padding:8px 16px;border-radius:100px;font-size:.9rem;font-weight:600;color:#fff}
.badge svg{flex-shrink:0}
.hero-ctas{display:flex;flex-wrap:wrap;gap:14px}

/* ── BLOCO RESPOSTA DIRETA ───────────────────────────────── */
.resposta-direta{background:var(--primary-soft);border-left:5px solid var(--primary);border-radius:0 var(--radius) var(--radius) 0;padding:24px 28px;margin:32px 0}
.resposta-direta p{margin:0;font-size:1.05rem;line-height:1.65}

/* ── CARDS ───────────────────────────────────────────────── */
.card{background:#fff;border-radius:var(--radius);box-shadow:var(--shadow);padding:28px;transition:box-shadow .2s,transform .2s}
.card:hover{box-shadow:var(--shadow-md);transform:translateY(-2px)}
.card-icon{width:56px;height:56px;background:var(--primary-soft);border-radius:14px;display:flex;align-items:center;justify-content:center;margin-bottom:16px}
.card-icon svg{color:var(--primary)}
.card h3{margin-bottom:8px;font-size:1.15rem}

/* ── TABELA DE PREÇOS ────────────────────────────────────── */
.price-table-wrap{overflow-x:auto;-webkit-overflow-scrolling:touch;margin:24px 0}
.price-table{width:100%;border-radius:var(--radius);overflow:hidden;box-shadow:var(--shadow)}
.price-table thead tr{background:var(--primary);color:#fff}
.price-table th{padding:14px 16px;text-align:left;font-size:.95rem;font-weight:700;white-space:nowrap}
.price-table td{padding:13px 16px;border-bottom:1px solid var(--border);font-size:1rem}
.price-table tbody tr:last-child td{border-bottom:none}
.price-table tbody tr:nth-child(even){background:var(--bg-soft)}
.price-table .price-val{font-weight:700;color:var(--primary);white-space:nowrap}
.price-disclaimer{font-size:.82rem;color:var(--muted);margin-top:10px;line-height:1.5;font-style:italic}

/* ── SIMULADOR ───────────────────────────────────────────── */
.simulator{background:var(--bg-soft);border-radius:var(--radius);padding:36px;box-shadow:var(--shadow)}
.sim-row{display:flex;gap:16px;flex-wrap:wrap;margin-bottom:20px}
.sim-field{flex:1;min-width:200px}
.sim-field label{display:block;font-weight:700;margin-bottom:6px;font-size:.95rem}
.sim-field select{width:100%;padding:13px 16px;border:2px solid var(--border);border-radius:8px;font-size:1rem;font-family:var(--font);color:var(--text);background:#fff;cursor:pointer;min-height:48px}
.sim-field select:focus{outline:none;border-color:var(--primary);box-shadow:0 0 0 3px rgba(27,143,94,.15)}
.sim-result{background:#fff;border-radius:10px;padding:24px;margin-top:20px;border:2px solid var(--primary);display:none}
.sim-result.visible{display:block}
.sim-price-big{font-size:2.6rem;font-weight:800;color:var(--primary);line-height:1}
.sim-price-label{font-size:1rem;color:var(--muted);margin-top:4px}
.sim-cta-row{display:flex;flex-wrap:wrap;gap:12px;margin-top:20px}

/* ── FAQ / ACCORDION ─────────────────────────────────────── */
.faq-list{display:flex;flex-direction:column;gap:12px}
.faq-item{background:#fff;border-radius:10px;box-shadow:var(--shadow);overflow:hidden}
.faq-q{width:100%;background:none;border:none;padding:20px 24px;text-align:left;font-size:1.05rem;font-weight:700;cursor:pointer;display:flex;align-items:center;justify-content:space-between;gap:16px;color:var(--text);font-family:var(--font);min-height:64px}
.faq-q svg{flex-shrink:0;transition:transform .3s;color:var(--primary)}
.faq-q[aria-expanded="true"] svg{transform:rotate(180deg)}
.faq-a{padding:0 24px;max-height:0;overflow:hidden;transition:max-height .35s ease,padding .3s}
.faq-a.open{max-height:800px;padding:0 24px 20px}
.faq-a p,.faq-a ul{font-size:1rem}

/* ── FORMULÁRIO ──────────────────────────────────────────── */
.form-wrap{background:var(--bg-soft);border-radius:var(--radius);padding:36px;box-shadow:var(--shadow)}
.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:16px}
.form-field{display:flex;flex-direction:column;gap:6px}
.form-field.full{grid-column:1/-1}
.form-field label{font-weight:700;font-size:.95rem}
.form-field input,.form-field select,.form-field textarea{padding:13px 16px;border:2px solid var(--border);border-radius:8px;font-size:1rem;font-family:var(--font);color:var(--text);background:#fff;transition:border-color .2s;min-height:48px}
.form-field textarea{resize:vertical;min-height:100px}
.form-field input:focus,.form-field select:focus,.form-field textarea:focus{outline:none;border-color:var(--primary);box-shadow:0 0 0 3px rgba(27,143,94,.15)}
.form-success{background:#E6F9EF;border:2px solid var(--success);border-radius:10px;padding:24px;text-align:center;display:none}
.form-success.visible{display:block}

/* ── REDE CREDENCIADA ────────────────────────────────────── */
.rede-section h3{color:var(--primary);margin-bottom:16px;padding-top:16px;border-top:2px solid var(--primary-soft)}
.rede-section h3:first-child{border-top:none;padding-top:0}
.rede-table td:first-child{font-weight:600}
.rede-table th{background:var(--primary);color:#fff}

/* ── BLOCO ESPECIALISTA ──────────────────────────────────── */
.especialista-box{background:var(--primary-soft);border-radius:var(--radius);padding:28px 32px;display:flex;align-items:center;gap:24px;border:1px solid var(--border)}
.especialista-box img{width:80px;height:80px;border-radius:50%;object-fit:cover;flex-shrink:0;border:3px solid var(--primary)}
.especialista-box h4{margin-bottom:4px;color:var(--primary)}

/* ── AVISO LEGAL ─────────────────────────────────────────── */
.aviso-legal{background:#FFF8E1;border-left:4px solid var(--accent);border-radius:0 8px 8px 0;padding:16px 20px;font-size:.88rem;color:#5D4500;line-height:1.6;margin:24px 0}
.aviso-corretora{background:var(--bg-soft);border-radius:8px;padding:14px 18px;font-size:.82rem;color:var(--muted);line-height:1.5;margin-top:16px;border:1px solid var(--border)}

/* ── BOTÃO WA FLUTUANTE ──────────────────────────────────── */
.wa-float{position:fixed;bottom:24px;right:24px;z-index:200;background:var(--wa);color:#fff;border-radius:100px;padding:16px 24px;font-size:1rem;font-weight:700;display:flex;align-items:center;gap:10px;box-shadow:0 4px 20px rgba(37,211,102,.4);text-decoration:none;min-height:56px;transition:box-shadow .2s,transform .2s}
.wa-float:hover{box-shadow:0 6px 28px rgba(37,211,102,.5);transform:translateY(-2px);color:#fff;text-decoration:none}
.wa-float svg{flex-shrink:0}

/* ── BREADCRUMB ──────────────────────────────────────────── */
.breadcrumb{font-size:.88rem;color:var(--muted);padding:12px 0;display:flex;flex-wrap:wrap;gap:6px;align-items:center}
.breadcrumb a{color:var(--primary);font-weight:600}
.breadcrumb span{color:var(--muted)}

/* ── STAT NUMBERS ────────────────────────────────────────── */
.stat-block{text-align:center;padding:24px 16px}
.stat-num{font-size:clamp(2.2rem,5vw,3.2rem);font-weight:800;color:var(--primary);line-height:1}
.stat-label{font-size:1rem;color:var(--muted);margin-top:6px}

/* ── SECTION TITLE ───────────────────────────────────────── */
.section-title{text-align:center;margin-bottom:40px}
.section-title h2{margin-bottom:12px}
.section-title p{font-size:1.1rem;color:var(--muted);max-width:680px;margin-inline:auto}

/* ── TAG / PILL ──────────────────────────────────────────── */
.tag{display:inline-block;background:var(--primary-soft);color:var(--primary);border-radius:100px;padding:5px 14px;font-size:.85rem;font-weight:700}
.tag-accent{background:#FFF3CC;color:#7A5200}

/* ── FOOTER ──────────────────────────────────────────────── */
.site-footer{background:#0D2B1A;color:#C8DDD4;padding:56px 0 0}
.footer-grid{display:grid;grid-template-columns:2fr 1fr 1fr 1fr;gap:40px;padding-bottom:40px}
.footer-brand img{height:44px;width:auto;margin-bottom:16px}
.footer-brand p{font-size:.92rem;line-height:1.7;color:#A8C4B8}
.footer-col h4{color:#fff;font-size:1rem;margin-bottom:14px}
.footer-col ul{list-style:none;padding:0;display:flex;flex-direction:column;gap:8px}
.footer-col ul li a{color:#A8C4B8;font-size:.92rem;transition:color .2s}
.footer-col ul li a:hover{color:#fff;text-decoration:none}
.footer-bottom{border-top:1px solid rgba(255,255,255,.1);padding:20px 0;display:flex;flex-wrap:wrap;gap:16px;align-items:center;justify-content:space-between;font-size:.82rem;color:#7A9B8A}

/* ── PROGRAMA CARDS (página de diferenciais) ─────────────── */
.programa-card{background:#fff;border-radius:var(--radius);box-shadow:var(--shadow);padding:32px;border-top:4px solid var(--primary);transition:box-shadow .2s,transform .2s}
.programa-card:hover{box-shadow:var(--shadow-md);transform:translateY(-2px)}
.programa-icon{font-size:2.4rem;margin-bottom:16px;line-height:1}
.programa-card h3{color:var(--primary);margin-bottom:10px;font-size:1.2rem}

/* ── HIGHLIGHT BOX ───────────────────────────────────────── */
.highlight-box{border-radius:var(--radius);padding:32px;border:2px solid var(--primary)}
.highlight-box.green{background:var(--primary-soft)}
.highlight-box.gold{background:#FFF8E1;border-color:var(--accent)}

/* ── SKIP LINK ───────────────────────────────────────────── */
.skip-link{position:absolute;top:-100px;left:16px;background:var(--primary);color:#fff;padding:12px 20px;border-radius:0 0 8px 8px;font-weight:700;z-index:999;transition:top .2s}
.skip-link:focus{top:0}

/* ── MOBILE ──────────────────────────────────────────────── */
@media(max-width:900px){
  .grid-3,.grid-4{grid-template-columns:1fr 1fr}
  .footer-grid{grid-template-columns:1fr 1fr}
}
@media(max-width:768px){
  body{font-size:17px}
  .site-nav{display:none;position:absolute;top:100%;left:0;right:0;background:#fff;border-bottom:2px solid var(--primary-soft);flex-direction:column;align-items:stretch;padding:12px}
  .site-nav.open{display:flex}
  .site-nav a{padding:12px 16px;border-radius:8px}
  .hamburger{display:block}
  .header-logos a:last-child{display:none}
  .logo-sep{display:none}
  .grid-2{grid-template-columns:1fr}
  .grid-3,.grid-4{grid-template-columns:1fr}
  .form-grid{grid-template-columns:1fr}
  .sim-row{flex-direction:column}
  .footer-grid{grid-template-columns:1fr}
  .hero{padding:48px 0 56px}
  .section{padding:48px 0}
  .especialista-box{flex-direction:column;text-align:center}
  .wa-float .wa-text{display:none}
  .wa-float{padding:16px}
}
@media(max-width:480px){
  .hero-ctas{flex-direction:column}
  .btn-lg{width:100%;justify-content:center}
}

/* ==========================================================
   BLOG, POSTS E COMPONENTES COMPLEMENTARES
   ========================================================== */

/* ── Cabeçalho de página (hero claro) ───────────────────── */
.hero-inner{background:linear-gradient(135deg,var(--primary-soft),#fff);border-bottom:1px solid var(--border);padding:48px 0}
.hero-inner h1{margin-bottom:14px}
.hero-inner .hero-sub{font-size:1.12rem;color:var(--muted);max-width:780px;margin:0}

/* hero-sub dentro do hero verde (igual ao .subtitle) */
.hero .hero-sub{font-size:1.25rem;opacity:.92;max-width:600px;margin-bottom:32px;color:#fff}

.section-gap{padding:56px 0}

/* ── Breadcrumb (consistência entre páginas) ────────────── */
.breadcrumb{max-width:var(--max);margin-inline:auto;padding:14px 20px}
.breadcrumb .container{padding:0;max-width:none;margin:0}
.breadcrumb ol{list-style:none;padding:0;margin:0;display:flex;flex-wrap:wrap;gap:6px;align-items:center}
.breadcrumb li{display:flex;align-items:center;gap:6px}
.breadcrumb li[aria-current]{color:var(--muted)}
.breadcrumb li+li::before{content:"›";color:var(--border);margin-right:2px}

/* ── Cards do blog ──────────────────────────────────────── */
.blog-card{display:flex;flex-direction:column;background:#fff;border:1px solid var(--border);border-radius:var(--radius);overflow:hidden;box-shadow:var(--shadow);transition:box-shadow .2s,transform .2s}
.blog-card::before{content:"";display:block;height:6px;background:linear-gradient(90deg,var(--primary),var(--accent))}
.blog-card:hover{box-shadow:var(--shadow-md);transform:translateY(-4px)}
.blog-card-body{display:flex;flex-direction:column;gap:12px;padding:24px;flex:1}
.blog-date{display:inline-block;align-self:flex-start;background:var(--primary-soft);color:var(--primary-dark);font-size:.78rem;font-weight:700;padding:5px 12px;border-radius:100px;text-transform:uppercase;letter-spacing:.03em}
.blog-card-title{font-size:1.2rem;line-height:1.35;font-weight:700;margin:0}
.blog-card-title a{color:var(--text)}
.blog-card-title a:hover{color:var(--primary);text-decoration:none}
.blog-card-excerpt{color:var(--muted);font-size:.98rem;line-height:1.6;flex:1;margin:0}
.blog-card-link{align-self:flex-start;margin-top:4px;font-weight:700;color:var(--primary);display:inline-flex;align-items:center;gap:6px}
.blog-card-link::after{content:"→";transition:transform .2s}
.blog-card-link:hover{text-decoration:none}
.blog-card-link:hover::after{transform:translateX(4px)}

/* ── Caixa de CTA destacada ─────────────────────────────── */
.cta-box{background:linear-gradient(135deg,var(--primary),var(--primary-dark));color:#fff;border-radius:var(--radius);padding:40px;text-align:center;box-shadow:var(--shadow-md)}
.cta-box h2{color:#fff;margin-bottom:10px}
.cta-box p{color:rgba(255,255,255,.92);max-width:600px;margin:0 auto 24px}
.cta-box .btn{margin:6px}

/* ── Layout de artigo (posts) ───────────────────────────── */
.post-container{max-width:780px;margin-inline:auto;padding:32px 20px}
.post-header{margin-bottom:28px;padding-bottom:20px;border-bottom:1px solid var(--border)}
.post-header h1{margin-bottom:16px}
.post-meta{display:flex;flex-wrap:wrap;gap:16px;font-size:.92rem;color:var(--muted)}
.post-meta a{font-weight:700}
.post-body{font-size:1.06rem;line-height:1.8}
.post-body h2{margin:36px 0 14px;font-size:clamp(1.35rem,3vw,1.6rem)}
.post-body h3{margin:28px 0 10px;font-size:1.22rem;color:var(--primary-dark)}
.post-body p{margin-bottom:1.1rem}
.post-body ul,.post-body ol{margin:0 0 1.1rem;padding-left:1.5em}
.post-body li{margin-bottom:.5rem}
.post-body a{font-weight:600;text-decoration:underline}
.post-cta{background:var(--primary-soft);border-radius:var(--radius);padding:28px;text-align:center;margin:36px 0}
.post-cta p{font-size:1.1rem;margin-bottom:16px}
.post-cta .btn{margin:6px}
.post-related{margin-top:36px;padding-top:24px;border-top:1px solid var(--border)}
.post-related h2{font-size:1.3rem;margin-bottom:14px}
.post-related ul{list-style:none;padding:0;margin:0;display:flex;flex-direction:column;gap:8px}
.post-related a{font-weight:600}
.post-container .aviso-corretora{margin-top:28px}

/* ── Tabela comparativa (posts/páginas) ─────────────────── */
.table-responsive{overflow-x:auto;-webkit-overflow-scrolling:touch;margin:24px 0}
.comparison-table{width:100%;border-radius:var(--radius);overflow:hidden;box-shadow:var(--shadow)}
.comparison-table thead tr{background:var(--primary);color:#fff}
.comparison-table th{padding:13px 16px;text-align:left;font-size:.95rem;font-weight:700}
.comparison-table td{padding:12px 16px;border-bottom:1px solid var(--border);font-size:.98rem}
.comparison-table tbody tr:nth-child(even){background:var(--bg-soft)}
.comparison-table tbody tr:last-child td{border-bottom:none}

/* ── Caixa de informação ────────────────────────────────── */
.info-box{background:#FFF8E1;border:1px solid var(--accent);border-left:5px solid var(--accent);border-radius:8px;padding:18px 22px;margin:24px 0}
.info-box p{margin:0;font-size:1rem}

/* ── FAQ em <details>/<summary> ─────────────────────────── */
details.faq-item{padding:0}
details.faq-item summary{padding:18px 24px;font-size:1.05rem;font-weight:700;cursor:pointer;list-style:none;min-height:56px;display:flex;align-items:center;gap:12px}
details.faq-item summary::-webkit-details-marker{display:none}
details.faq-item summary::after{content:"+";margin-left:auto;color:var(--primary);font-size:1.4rem;font-weight:700;line-height:1}
details.faq-item[open] summary::after{content:"–"}
details.faq-item[open] summary{color:var(--primary)}
details.faq-item>p,details.faq-item>ul,details.faq-item>div{padding:0 24px 18px;margin:0}

@media(max-width:768px){
  .hero-inner{padding:36px 0}
  .section-gap{padding:40px 0}
  .cta-box{padding:28px 20px}
  .post-container{padding:24px 16px}
}
