/* hospitalconvenios.com.br — páginas de hospital (paleta Mecare) */
:root{
  --ink:#013243; --ink2:#3d6273; --ink3:#7d97a3;
  --bg:#ffffff; --bg2:#f4f7fb; --bg3:#e9eff7;
  --line:#dde8f4; --line2:#eef3f9;
  --cyan:#0e93d4; --cyanD:#0a6d9f; --indigo:#1c18a0;
  --ok:#12704a; --okbg:#eaf6f0; --alerta:#b4341f; --alertabg:#fdeceb;
  --grad:linear-gradient(100deg,#1c18a0,#0e93d4);
  --shadow:0 2px 4px rgba(1,50,67,.04),0 8px 24px rgba(1,50,67,.06);
}
*{box-sizing:border-box}
body{margin:0;background:var(--bg);color:var(--ink);
  font-family:"Segoe UI",-apple-system,BlinkMacSystemFont,Roboto,Arial,sans-serif;
  font-size:16.5px;line-height:1.6;-webkit-font-smoothing:antialiased}
.wrap{max-width:74rem;margin:0 auto;padding:0 clamp(1rem,3.5vw,2.5rem)}
a{color:var(--cyanD)}

header.site{border-bottom:1px solid var(--line);background:var(--bg);position:sticky;top:0;z-index:20}
header.site .wrap{display:flex;align-items:center;gap:2rem;padding-top:.9rem;padding-bottom:.9rem}
.logo{display:flex;align-items:center;gap:.6rem;font-weight:800;font-size:1.14rem;
  letter-spacing:-.02em;white-space:nowrap;color:var(--ink);text-decoration:none}
.logo svg{flex:none}
.logo i{font-style:normal;color:var(--cyan)}
nav.main{display:flex;gap:1.35rem;font-size:.9rem;margin-left:auto}
nav.main a{color:var(--ink2);text-decoration:none}
nav.main a:hover,nav.main a:focus-visible{color:var(--cyan)}
.btn{display:inline-flex;align-items:center;gap:.5rem;background:var(--grad);color:#fff;
  border:0;border-radius:999px;padding:.62rem 1.15rem;font:inherit;font-size:.88rem;
  font-weight:600;text-decoration:none;cursor:pointer;white-space:nowrap}
.btn:hover{filter:brightness(1.07)}
@media(max-width:64rem){nav.main{display:none}}

.crumb{font-size:.8rem;color:var(--ink3);padding:1.1rem 0 0}
.crumb a{color:var(--ink3);text-decoration:none}
.crumb a:hover{color:var(--cyan)}

.hero{padding:1.5rem 0 2.5rem;border-bottom:1px solid var(--line2)}
.hero h1{font-size:clamp(1.85rem,4.4vw,2.9rem);line-height:1.07;letter-spacing:-.033em;
  font-weight:800;margin:.4rem 0 1rem;text-wrap:balance;max-width:22ch}
.hero h1 em{font-style:normal;color:var(--cyan)}
.hero .sub{font-size:1.06rem;color:var(--ink2);max-width:44rem;margin:0}

.factbar{display:grid;gap:1px;margin-top:2rem;background:var(--line2);
  border:1px solid var(--line2);border-radius:12px;overflow:hidden;
  grid-template-columns:repeat(auto-fit,minmax(8.5rem,1fr))}
.fact{background:var(--bg);padding:1.1rem 1.15rem}
.fact b{display:block;font-size:1.5rem;font-weight:800;letter-spacing:-.03em;
  font-variant-numeric:tabular-nums;line-height:1.1}
.fact span{display:block;font-size:.76rem;color:var(--ink3);margin-top:.35rem}

.answer{margin:2.5rem 0 0;padding:1.6rem 1.7rem;border-radius:14px;background:var(--bg2);
  border-left:4px solid var(--cyan)}
.answer .q{font-size:1.06rem;font-weight:700;margin:0 0 .7rem}
.answer p{margin:0 0 .8rem;color:var(--ink2);font-size:.98rem}
.answer p:last-child{margin:0}
.answer strong{color:var(--ink)}
.answer .price{font-weight:800;color:var(--ink);font-variant-numeric:tabular-nums}
.stamp{font-size:.78rem;color:var(--ink3);margin-top:.9rem;display:flex;align-items:center;gap:.45rem}
.stamp .live{width:7px;height:7px;border-radius:50%;background:var(--ok);flex:none}

section{padding:2.9rem 0;border-top:1px solid var(--line2)}
.eyebrow{font-size:.72rem;font-weight:700;letter-spacing:.15em;text-transform:uppercase;
  color:var(--ink3);margin:0 0 .7rem}
h2{font-size:clamp(1.35rem,2.9vw,1.85rem);line-height:1.16;letter-spacing:-.025em;
  font-weight:800;margin:0 0 .7rem;text-wrap:balance;max-width:30ch}
.lede{font-size:1.02rem;color:var(--ink2);max-width:44rem;margin:0}

.simbox{margin-top:1.8rem;border:1px solid var(--line);border-radius:14px;background:var(--bg);
  box-shadow:var(--shadow);overflow:hidden}
.simhead{padding:1.3rem 1.5rem;border-bottom:1px solid var(--line2);background:var(--bg2)}
.simhead h3{margin:0 0 .25rem;font-size:1.05rem;font-weight:700}
.simhead p{margin:0;font-size:.87rem;color:var(--ink3)}
.simbody{padding:1.5rem}
.fieldlab{font-size:.78rem;font-weight:700;letter-spacing:.06em;text-transform:uppercase;
  color:var(--ink3);margin:0 0 .7rem}
.lives{display:flex;flex-wrap:wrap;gap:.6rem;align-items:center}
.life{display:flex;align-items:center;gap:.3rem;background:var(--bg2);border:1px solid var(--line);
  border-radius:10px;padding:.35rem .4rem .35rem .7rem}
.life label{font-size:.74rem;color:var(--ink3);margin-right:.15rem}
.life input{width:3.4rem;padding:.34rem .3rem;font:inherit;font-size:.94rem;
  font-variant-numeric:tabular-nums;text-align:center;border:1px solid var(--line);
  border-radius:7px;background:var(--bg);color:var(--ink)}
.life .x{border:0;background:transparent;color:var(--ink3);cursor:pointer;font-size:1.05rem;
  line-height:1;padding:.2rem .35rem;border-radius:6px}
.life .x:hover{color:var(--alerta);background:var(--bg3)}
.addlife{border:1px dashed var(--line);background:transparent;color:var(--cyanD);
  border-radius:10px;padding:.55rem .95rem;font:inherit;font-size:.88rem;font-weight:600;cursor:pointer}
.addlife:hover{border-color:var(--cyan);background:var(--bg2)}
.filters{display:flex;flex-wrap:wrap;gap:1.5rem;margin-top:1.6rem;padding-top:1.4rem;
  border-top:1px solid var(--line2)}
.fgroup{display:flex;flex-direction:column;gap:.55rem}
.pills{display:flex;flex-wrap:wrap;gap:.4rem}
.pill{border:1px solid var(--line);background:var(--bg);color:var(--ink2);border-radius:999px;
  padding:.36rem .85rem;font:inherit;font-size:.84rem;cursor:pointer}
.pill[aria-pressed="true"]{background:var(--grad);color:#fff;border-color:transparent;font-weight:600}

.results{border-top:1px solid var(--line2);background:var(--bg2)}
.rhead{display:flex;flex-wrap:wrap;gap:.75rem;justify-content:space-between;align-items:baseline;
  padding:1.1rem 1.5rem;font-size:.85rem;color:var(--ink3)}
.rhead b{color:var(--ink);font-weight:700}
.plist{list-style:none;margin:0;padding:0 1.5rem 1.5rem;display:flex;flex-direction:column;gap:.6rem}
.pcard{background:var(--bg);border:1px solid var(--line);border-radius:12px;overflow:hidden}
.pcard.best{border-color:var(--cyan);box-shadow:0 0 0 1px var(--cyan)}
.ptop{display:grid;grid-template-columns:1fr auto;gap:1rem;align-items:center;
  padding:1rem 1.15rem;cursor:pointer}
.ptop:focus-visible{outline:2px solid var(--cyan);outline-offset:-2px}
.pname{font-weight:700;font-size:.98rem;line-height:1.3}
.pname .op{display:block;font-size:.78rem;color:var(--ink3);font-weight:500;margin-top:.1rem}
.ptags{display:flex;flex-wrap:wrap;gap:.35rem;margin-top:.5rem}
.t{font-size:.71rem;padding:.16em .5em;border-radius:5px;background:var(--bg3);
  color:var(--ink2);white-space:nowrap}
.t.best{background:var(--okbg);color:var(--ok);font-weight:700}
.t.wide{background:var(--okbg);color:var(--ok);font-weight:700}
.t.narrow{background:var(--alertabg);color:var(--alerta);font-weight:700}
.pprice{text-align:right;white-space:nowrap}
.pprice b{display:block;font-size:1.3rem;font-weight:800;letter-spacing:-.025em;
  font-variant-numeric:tabular-nums;line-height:1.1}
.pprice span{font-size:.73rem;color:var(--ink3)}
.pdet{display:none;border-top:1px solid var(--line2);padding:1rem 1.15rem;background:var(--bg2)}
.pcard.open .pdet{display:block}
.brkwrap{overflow-x:auto}
.brk{width:100%;border-collapse:collapse;font-size:.85rem}
.brk th,.brk td{padding:.42rem .5rem;text-align:left;border-bottom:1px solid var(--line2)}
.brk th{font-size:.7rem;text-transform:uppercase;letter-spacing:.08em;color:var(--ink3);font-weight:700}
.brk td.n,.brk th.n{text-align:right}
.brk td.n{font-variant-numeric:tabular-nums}
.brk tr:last-child td{border-bottom:0;font-weight:700}
.cover{margin-top:1rem;padding-top:.9rem;border-top:1px solid var(--line2)}
.ctitle{margin:0 0 .55rem;font-size:.85rem;font-weight:700;display:flex;flex-wrap:wrap;
  gap:.5rem;align-items:baseline}
.cnum{font-weight:800;color:var(--cyanD);font-variant-numeric:tabular-nums}
.ulist{margin:0;padding:0;list-style:none;display:flex;flex-wrap:wrap;gap:.35rem}
.ulist li{font-size:.79rem;background:var(--bg3);border-radius:5px;padding:.2em .55em}
.cwarn{margin:.6rem 0 0;font-size:.79rem;color:var(--alerta)}
.cserv{margin:.6rem 0 0;font-size:.79rem;color:var(--ink3)}
.maisbox{display:flex;justify-content:center;padding-top:.4rem}
.empty{padding:2rem 1.5rem;text-align:center;color:var(--ink3);font-size:.92rem}

.pedra{margin-top:1.5rem;padding:1.1rem 1.3rem;border-radius:10px;background:var(--okbg);
  border-left:3px solid var(--ok);font-size:.88rem;color:var(--ink2)}
.pedra b{color:var(--ink)}

.tablewrap{overflow-x:auto;margin-top:1.6rem}
.faixas{border-collapse:collapse;min-width:22rem;font-size:.95rem}
.faixas th,.faixas td{padding:.6rem .9rem;text-align:left;border-bottom:1px solid var(--line2)}
.faixas th{font-size:.72rem;text-transform:uppercase;letter-spacing:.1em;color:var(--ink3)}
.faixas td.n,.faixas th.n{text-align:right;font-variant-numeric:tabular-nums;font-weight:600}

.ugrid{display:grid;gap:.6rem;margin-top:1.6rem;
  grid-template-columns:repeat(auto-fill,minmax(15rem,1fr))}
.u{display:flex;align-items:center;gap:.65rem;padding:.8rem 1rem;background:var(--bg2);
  border-radius:10px;font-size:.9rem}
.u svg{flex:none;color:var(--cyan)}

.faq{margin-top:1.6rem;border-top:1px solid var(--line2)}
details{border-bottom:1px solid var(--line2)}
summary{cursor:pointer;padding:1.05rem 0;font-weight:700;font-size:.98rem;list-style:none;
  display:flex;justify-content:space-between;gap:1rem;align-items:center}
summary::-webkit-details-marker{display:none}
summary::after{content:"+";color:var(--cyan);font-weight:400;font-size:1.4rem;line-height:1}
details[open] summary::after{content:"−"}
details p{margin:0 0 1.1rem;color:var(--ink2);font-size:.95rem;max-width:52rem}

.cta{margin-top:1.8rem;padding:1.8rem;border-radius:14px;background:var(--grad);color:#fff;
  display:flex;flex-wrap:wrap;gap:1.4rem;justify-content:space-between;align-items:center}
.cta h3{margin:0 0 .3rem;font-size:1.2rem;font-weight:800;letter-spacing:-.02em}
.cta p{margin:0;font-size:.92rem;opacity:.92;max-width:34rem}
.cta .btn{background:#fff;color:var(--indigo);font-weight:700}

.relnav{display:flex;flex-wrap:wrap;gap:.5rem;margin-top:1.4rem}
.relnav a{font-size:.88rem;background:var(--bg2);border:1px solid var(--line);
  border-radius:999px;padding:.45rem 1rem;text-decoration:none;color:var(--ink2)}
.relnav a:hover{border-color:var(--cyan);color:var(--cyanD)}

footer.site{background:var(--bg2);border-top:1px solid var(--line);padding:2.5rem 0;
  margin-top:3rem;font-size:.85rem;color:var(--ink3)}
footer.site .cols{display:grid;gap:2rem;grid-template-columns:repeat(auto-fit,minmax(12rem,1fr))}
footer.site b{color:var(--ink);display:block;margin-bottom:.6rem;font-size:.9rem}
footer.site a{color:var(--ink3);text-decoration:none;display:block;padding:.16rem 0}
footer.site a:hover{color:var(--cyan)}
footer.site .mini{font-size:.76rem;line-height:1.5}

/* Botão flutuante do WhatsApp — visível em TODAS as larguras (desktop incluso). */
.wa-sticky{position:fixed;right:1.25rem;bottom:1.25rem;z-index:30;display:inline-flex;
  align-items:center;gap:.5rem;background:#1faa53;color:#fff;font-weight:700;
  font-size:.9rem;text-decoration:none;border-radius:999px;padding:.75rem 1.2rem;
  box-shadow:0 6px 20px rgba(0,0,0,.25);transition:transform .15s}
.wa-sticky:hover{transform:scale(1.05)}
@media(max-width:44rem){.wa-sticky span{display:none}
  .wa-sticky{padding:.85rem;border-radius:50%}}

@media(max-width:38rem){
  .ptop{grid-template-columns:1fr;gap:.7rem}
  .pprice{text-align:left}
}
@media (prefers-reduced-motion:reduce){*{transition:none!important;animation:none!important}}
