@import url("https://fonts.googleapis.com/css2?family=Inter:wght@400;500;600;700;800&display=swap");
/* ===== Mobile polish: dropdowns como popover fixo + botão Bem-vindo mais clean ===== */
@media (max-width: 820px){

  /* Botão Bem-vindo mais compacto e com truncagem */
  .welcome-btn{
    padding-left: 12px;
    padding-right: 12px;
    border-radius: 999px;
    max-width: 100%;
  }
  .welcome-name{
    max-width: 190px;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
    display: inline-block;
  }

  /* 🔥 Dropdown (ddmenu) como popover fixo */
  .topnav .dd{ position: relative; }

  .topnav .ddmenu{
    position: fixed;              /* ✅ não depende de overflow do header */
    left: 12px;
    right: 12px;
    top: 118px;                   /* ✅ ajusta se o teu header for mais alto/baixo */
    max-height: 60vh;
    overflow: auto;
    border-radius: 18px;
    box-shadow: 0 18px 50px rgba(0,0,0,.45);
    border: 1px solid rgba(255,255,255,.08);
    backdrop-filter: blur(10px);
    -webkit-backdrop-filter: blur(10px);
  }

  /* Deixar o hero sempre “atrás” do dropdown, sem bugs de cliques */
  .hero{ position: relative; z-index: 1; }
}


:root{
  --nav:#0b1a33;
  --nav2:#0a1730;
  --hero:#0c1f3d;
  --heroOverlay:rgba(10,21,45,.62);
  --bg:#eef2f6;
  --card:#ffffff;
  --text:#0b1220;
  --muted:#5b6b82;
  --blue:#2e6bff;
  --blue2:#1a5cff;
  --line:#d8e0ea;
  --shadow:0 14px 40px rgba(16,24,40,.12);
  --radius:14px;
}
*{box-sizing:border-box}
html,body{margin:0;padding:0;font-family:system-ui,-apple-system,Segoe UI,Roboto,Inter,Arial,sans-serif;color:var(--text);background:var(--bg)}
a{color:inherit;text-decoration:none}
.container{max-width:1120px;margin:0 auto;padding:0 16px}
.topnav{
  background:linear-gradient(180deg,var(--nav),var(--nav2));
  color:#fff;
  position:sticky;top:0;z-index:40;
  box-shadow:0 10px 30px rgba(0,0,0,.25);
}
.navrow{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:14px 0}
.brand{display:flex;align-items:center;gap:10px;font-weight:800;letter-spacing:.2px}
.brand .dot{width:10px;height:10px;border-radius:999px;background:var(--blue);box-shadow:0 0 0 6px rgba(46,107,255,.18)}
.menu{display:flex;align-items:center;gap:18px;flex-wrap:wrap}
.menu a{font-size:14px;opacity:.92}
.menu a.active{opacity:1;border-bottom:2px solid rgba(255,255,255,.55);padding-bottom:4px}
.menu a:hover{opacity:1}
.dd{position:relative}
.dd > button{
  all:unset;cursor:pointer;font-size:14px;opacity:.92;display:flex;gap:6px;align-items:center
}
.dd > button:hover{opacity:1}
.ddmenu{
  position:absolute;right:0;top:34px;min-width:210px;
  background:#0a0f1a;border:1px solid rgba(255,255,255,.12);
  border-radius:12px;box-shadow:0 20px 50px rgba(0,0,0,.45);
  padding:8px;display:none
}
.ddmenu a{display:block;padding:10px 10px;border-radius:10px;color:#fff;opacity:.9}
.ddmenu a:hover{background:rgba(255,255,255,.06);opacity:1}
.dd.open .ddmenu{display:block}
.cta{display:flex;gap:10px;align-items:center}
.btn{
  display:inline-flex;align-items:center;justify-content:center;gap:8px;
  padding:10px 16px;border-radius:999px;border:1px solid rgba(255,255,255,.18);
  color:#fff;background:rgba(255,255,255,.05);font-weight:700;font-size:14px;cursor:pointer
}
.btn:hover{background:rgba(255,255,255,.10)}
.btn.primary{background:linear-gradient(180deg,var(--blue),var(--blue2));border-color:transparent}
.btn.primary:hover{filter:brightness(.98)}
.btn.dark{background:rgba(0,0,0,.20)}
.hero{
  background:
    linear-gradient(180deg, var(--heroOverlay), rgba(10,21,45,.78)),
    url('/assets/hero-mobile.jpg');
  background-size:cover;background-position:center;
  color:#fff;padding:54px 0 40px;border-bottom:1px solid rgba(255,255,255,.08);
}
@media(min-width:900px){
  .hero{
    background:
      linear-gradient(180deg, var(--heroOverlay), rgba(10,21,45,.75)),
      url('/assets/hero.svg');
    background-size:cover;background-position:center;
  }
}
.hero h1{margin:10px 0 8px;font-size:42px;line-height:1.05}
.hero .sub{max-width:720px;opacity:.92;font-size:16px;line-height:1.55}
.hero .actions{display:flex;gap:12px;flex-wrap:wrap;margin-top:18px}
.section{padding:34px 0}
.h2{margin:0 0 14px;font-size:26px}
.hrline{height:4px;width:120px;background:var(--blue);border-radius:999px;margin:10px 0 18px}
.cards{display:grid;grid-template-columns:repeat(4,1fr);gap:12px}
@media(max-width:980px){.cards{grid-template-columns:repeat(2,1fr)}}
@media(max-width:520px){.cards{grid-template-columns:1fr}}
.tile{
  background:linear-gradient(180deg,var(--blue),#2b5fe8);
  color:#fff;border-radius:12px;padding:16px;box-shadow:var(--shadow);
  display:flex;align-items:center;gap:12px;cursor:pointer
}
.tile .icon{
  width:42px;height:42px;border-radius:10px;background:rgba(255,255,255,.15);
  display:flex;align-items:center;justify-content:center;font-weight:900;font-size:18px
}
.tile .t{font-weight:900}
.tile .d{opacity:.92;font-size:12px;margin-top:2px}
.tile:hover{filter:brightness(.98)}
.panel{background:var(--card);border:1px solid var(--line);border-radius:var(--radius);box-shadow:var(--shadow)}
.panel.pad{padding:18px}
/* Feature card (seguros) */
.feature-card{position:relative; overflow:hidden; text-align:left}
.feature-card::before{
  content:"";
  position:absolute;
  width:220px;height:220px;
  left:-120px;top:-120px;
  background:radial-gradient(circle, rgba(46,107,255,.18), transparent 62%);
  pointer-events:none;
}
.feature-top{position:relative}
.feature-title{font-weight:900;font-size:18px; margin:0 0 6px}
.feature-sub{color:var(--muted); line-height:1.55; margin:0}
.feature-list{
  list-style:none;
  padding:0;
  margin:14px 0 0;
  display:grid;
  gap:10px;
  position:relative;
}
.feature-list li{
  display:flex;
  gap:10px;
  align-items:flex-start;
  line-height:1.45;
  color:var(--text);
  font-weight:600;
}
.feature-list li::before{
  content:"";
  width:18px;height:18px;
  flex:0 0 18px;
  margin-top:2px;
  border-radius:999px;
  border:1px solid rgba(46,107,255,.35);
  background-color:rgba(46,107,255,.12);
  background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 20 20'%3E%3Cpath fill='%232e6bff' d='M7.7 14.6 3.9 10.8l1.4-1.4 2.4 2.4 6-6 1.4 1.4-7.4 7.4Z'/%3E%3C/svg%3E");
  background-repeat:no-repeat;
  background-position:center;
  background-size:12px;
}
.two{display:grid;grid-template-columns:1.1fr .9fr;gap:16px;align-items:start}
@media(max-width:980px){.two{grid-template-columns:1fr}}
.porq{display:grid;grid-template-columns:1.2fr .8fr;gap:18px;align-items:center}
@media(max-width:980px){.porq{grid-template-columns:1fr}}
.porq img{width:100%;max-width:320px;border-radius:18px;border:1px solid var(--line);box-shadow:var(--shadow)}
.porq p{color:var(--muted);line-height:1.65;margin:8px 0}
.kpis{display:grid;grid-template-columns:repeat(3,1fr);gap:12px;margin-top:12px}
@media(max-width:980px){.kpis{grid-template-columns:1fr}}
.kpi{background:#f7fbff;border:1px solid var(--line);border-radius:12px;padding:14px}
.kpi b{display:block}
.kpi span{color:var(--muted);font-size:13px}
.formgrid{display:grid;gap:12px}
.row2{display:grid;grid-template-columns:1fr 1fr;gap:12px}
@media(max-width:980px){.row2{grid-template-columns:1fr}}
.input,textarea,select{
  width:100%;padding:12px 12px;border-radius:12px;border:1px solid var(--line);background:#fff
}
textarea{min-height:110px;resize:vertical}
.note{font-size:12px;color:var(--muted)}
.bigcta{
  background:linear-gradient(180deg, #1d57e5, #1a4fda);
  color:#fff;border-radius:18px;padding:18px;display:flex;align-items:center;justify-content:space-between;gap:12px;flex-wrap:wrap
}
.bigcta .left{font-weight:900;font-size:18px}
.bigcta .right{display:flex;gap:10px;flex-wrap:wrap}
.stars{color:#ffcf4a;letter-spacing:2px}
.reviews{display:grid;grid-template-columns:repeat(3,1fr);gap:12px}
@media(max-width:980px){.reviews{grid-template-columns:1fr}}
.review{background:#2c2f33;color:#fff;border-radius:14px;padding:16px;min-height:160px;display:grid;gap:8px}
.review p{margin:0;opacity:.92;line-height:1.55}
.review .name{opacity:.8;font-weight:800}
.footer{
  background:linear-gradient(180deg,var(--nav),#071226);
  color:#fff;padding:28px 0;margin-top:28px
}
.footer .footgrid{display:flex;align-items:center;justify-content:space-between;gap:12px;flex-wrap:wrap}
.footer a{opacity:.9}
.footer a:hover{opacity:1}
.lang{background:rgba(255,255,255,.08);border:1px solid rgba(255,255,255,.14);padding:10px 12px;border-radius:12px}
.whatsapp{
  position:fixed;right:18px;bottom:18px;width:54px;height:54px;border-radius:999px;
  background:#25D366;display:flex;align-items:center;justify-content:center;color:#fff;
  font-weight:900;font-size:20px;box-shadow:0 18px 45px rgba(0,0,0,.28);z-index:60
}

/* ADMIN / PORTAL */
.appwrap{display:grid;grid-template-columns:260px 1fr;min-height:calc(100vh - 0px)}
@media(max-width:980px){.appwrap{grid-template-columns:1fr}}
.sidebar{
  background:linear-gradient(180deg,#0b1a33,#08152a);
  color:#fff;border-right:1px solid rgba(255,255,255,.08);padding:14px;position:sticky;top:0;height:100vh
}
@media(max-width:980px){.sidebar{position:relative;height:auto}}
.sbtitle{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-bottom:10px}
.sbtitle b{font-size:14px}
.sbnav{display:grid;gap:6px;margin-top:10px}
.sbnav a{
  padding:10px 10px;border-radius:12px;border:1px solid rgba(255,255,255,.10);
  background:rgba(255,255,255,.04);opacity:.92;font-size:13px
}
.sbnav a.active{background:rgba(46,107,255,.22);border-color:rgba(46,107,255,.32);opacity:1}
.sbnav a:hover{opacity:1}
.main{padding:18px}
.topmini{display:flex;align-items:center;justify-content:space-between;gap:10px;flex-wrap:wrap;margin-bottom:12px}
.search{display:flex;gap:10px;align-items:center}
.search input{width:280px;max-width:70vw}
.chip{font-size:12px;padding:6px 10px;border-radius:999px;background:#f1f5ff;border:1px solid var(--line);color:var(--muted)}
.table{width:100%;border-collapse:separate;border-spacing:0}
.table th,.table td{padding:10px 10px;border-bottom:1px solid var(--line);font-size:13px;text-align:left}
.table th{color:var(--muted);font-weight:800}
.status{font-size:12px;padding:6px 10px;border-radius:999px;border:1px solid var(--line);display:inline-block}
.status.open{background:#fff7ed;border-color:#ffd6a6}
.status.done{background:#ecfdf5;border-color:#a7f3d0}
.status.wait{background:#eff6ff;border-color:#bfdbfe}
.grid2{display:grid;grid-template-columns:1fr 1fr;gap:12px}
@media(max-width:980px){.grid2{grid-template-columns:1fr}}


/* === Modal (for forms) === */
.modal{position:fixed;inset:0;display:none;align-items:center;justify-content:center;z-index:9999;background:rgba(0,0,0,.55);padding:16px}
.modal.open{display:flex}
.modal-card{width:min(720px,100%);background:#fff;border-radius:22px;box-shadow:0 24px 80px rgba(0,0,0,.35);overflow:hidden;border:1px solid rgba(0,0,0,.08);max-height:calc(100dvh - 32px);display:flex;flex-direction:column}
.modal-head{display:flex;align-items:center;justify-content:space-between;padding:14px 16px;border-bottom:1px solid rgba(0,0,0,.08);position:sticky;top:0;background:#fff;z-index:2}
.modal-head .ttl{font-weight:900}
.modal-body{padding:16px;overflow:auto;-webkit-overflow-scrolling:touch}
.modal-close{border:0;background:#111827;color:#fff;border-radius:12px;padding:8px 10px;font-weight:800;cursor:pointer}
.modal-grid{display:grid;gap:10px}
.modal-grid .input{width:100%}

/* Modal wizard (footer + generic) */
.wizbar{display:flex;align-items:center;gap:10px;margin:10px 0 12px}
.wizprog{flex:1 1 auto;height:10px;background:rgba(15,23,42,.08);border-radius:999px;overflow:hidden}
.wizprog > div{height:100%;width:0%;background:linear-gradient(135deg, var(--primary), #22c55e);border-radius:999px;transition:width .18s ease}
.wizpill{font-size:12px;font-weight:900;padding:6px 10px;border-radius:999px;border:1px solid rgba(15,23,42,.10);background:rgba(15,23,42,.04)}
.wizstep{display:none}
.wizstep.active{display:block}
.wiznav{display:flex;gap:10px;justify-content:flex-end;flex-wrap:wrap;margin-top:10px}

/* Toast (success/error) */
.ps-toast{position:fixed;left:50%;bottom:18px;transform:translateX(-50%);z-index:10000;
  width:min(520px, calc(100vw - 22px));
  background:rgba(15,23,42,.92);color:#fff;
  border:1px solid rgba(255,255,255,.12);
  border-radius:18px;
  box-shadow:0 18px 50px rgba(0,0,0,.30);
  padding:12px 12px;
  transition:opacity .2s ease, transform .2s ease;
}
.ps-toast.tone-success{background:rgba(2,44,24,.92)}
.ps-toast.tone-warn{background:rgba(45,20,3,.92)}
.ps-toast__row{display:flex;gap:10px;align-items:flex-start}
.ps-toast__msg{flex:1 1 auto;font-weight:900;line-height:1.35}
.ps-toast__x{border:1px solid rgba(255,255,255,.14);background:rgba(255,255,255,.06);color:#fff;
  border-radius:12px;width:34px;height:34px;display:flex;align-items:center;justify-content:center;cursor:pointer;
}
.ps-toast__bar{margin-top:10px;height:6px;border-radius:999px;background:rgba(255,255,255,.18);overflow:hidden}
.ps-toast__bar>div{width:100%;height:100%;background:rgba(255,255,255,.70);border-radius:999px;transition:width 4.2s linear}

/* === Floating CTA Stack (mobile-like) === */
.fabstack{position:fixed;right:14px;bottom:86px;display:flex;flex-direction:column;gap:10px;z-index:9998}
.fabstack .fab{border:1px solid rgba(0,0,0,.08);background:#fff;border-radius:999px;padding:12px 14px;font-weight:900;box-shadow:0 12px 34px rgba(0,0,0,.18);text-decoration:none;color:#111827;display:inline-flex;align-items:center;justify-content:center;min-width:175px}
.fabstack .fab.primary{background:var(--primary);color:#fff;border-color:rgba(0,0,0,.0)}
.fabstack .fab.ghost{background:#fff}
@media(min-width:900px){
  .fabstack{right:24px;bottom:110px}
}

/* Tabs for product pages */
.tabs{display:flex;gap:10px;flex-wrap:wrap;margin-top:14px}
.tabbtn{border:1px solid rgba(0,0,0,.1);background:#fff;border-radius:12px;padding:10px 12px;font-weight:900;cursor:pointer}
.tabbtn.active{background:#eef2ff;border-color:rgba(59,130,246,.35)}
.tabpanel{display:none;margin-top:10px}
.tabpanel.active{display:block}


/* === Nav responsive fixes === */
@media(max-width:760px){
  .navrow{flex-wrap:wrap;align-items:center;gap:10px;padding:12px 0}
  .brand{flex:1 1 100%;justify-content:flex-start}
  .menu{flex:1 1 100%;justify-content:flex-start;gap:14px}
  .cta{flex:1 1 100%;justify-content:flex-end}
  .btn{padding:10px 14px;white-space:nowrap}
  .btn.primary{white-space:nowrap}
  .ddmenu{left:0;right:auto;top:42px;min-width:min(92vw,340px)}
}
@media(max-width:420px){
  .menu{gap:10px}
  .btn{padding:9px 12px;font-size:13px}
}



/* --- Mobile layout hardening (fixes "blank right side" / misalignment) --- */
html, body { width: 100%; max-width: 100%; overflow-x: hidden; }
img, svg, video, canvas { max-width: 100%; height: auto; }
.topnav, .hero, .section, .footer { width: 100%; }

/* Make containers truly center and never shrink unexpectedly */
.container { width: 100%; margin-left: auto; margin-right: auto; }

/* Safer flex wrapping for nav on small screens */
.navrow { display: flex; align-items: center; justify-content: space-between; gap: 14px; flex-wrap: wrap; }
.menu { display: flex; align-items: center; gap: 18px; flex-wrap: wrap; }
.cta { display: flex; align-items: center; gap: 10px; flex-wrap: wrap; }

/* Dropdown menu alignment */
.dropdown { position: relative; }
.dropdown-menu { right: auto; left: 0; min-width: 240px; max-width: calc(100vw - 32px); }

/* Ensure grids collapse nicely on mobile */
@media (max-width: 820px){
  .grid, .tiles { grid-template-columns: 1fr !important; }
  .cards { grid-template-columns: 1fr !important; }
  .topnav .container { padding-left: 14px; padding-right: 14px; }
}

/* v10 typography + layout fixes */
:root{ --font-sans: "Inter", system-ui, -apple-system, Segoe UI, Roboto, Arial, sans-serif; }
html, body{ font-family: var(--font-sans); overflow-x: hidden; }
*{ box-sizing: border-box; }

/* Header redesign (structure preserved) */
.header{
  position: sticky; top:0; z-index: 50;
  backdrop-filter: blur(10px);
  background: linear-gradient(180deg, rgba(6,16,32,.92), rgba(6,16,32,.75));
  border-bottom: 1px solid rgba(255,255,255,.08);
}
.navrow{ display:flex; align-items:center; justify-content:space-between; gap:14px; padding: 12px 14px; }
.brand{ display:flex; align-items:center; gap:10px; min-width: 160px; }
.brand .logo-dot{ width:14px; height:14px; border-radius: 8px; background:#2f7bff; box-shadow:0 10px 30px rgba(47,123,255,.35); }
.brand .name{ font-weight: 800; letter-spacing:.2px; line-height: 1.05; color:#fff; }
.navmid{ display:flex; align-items:center; gap:16px; justify-content:center; flex: 1 1 auto; }
.navmid a, .navmid button{
  color: rgba(255,255,255,.86);
  font-weight: 600;
  text-decoration:none;
  padding: 10px 10px;
  border-radius: 12px;
}
.navmid a:hover, .navmid button:hover{ background: rgba(255,255,255,.06); }
.navmid .active{ color:#fff; position:relative; }
.navmid .active::after{
  content:""; position:absolute; left:10px; right:10px; bottom:4px; height:2px;
  background:#2f7bff; border-radius:2px;
}
.navright{ display:flex; align-items:center; gap:10px; }
.navright .btn{ padding: 10px 14px; border-radius: 999px; }
.navright .btn.ghost{ border:1px solid rgba(255,255,255,.18); background: transparent; color:#fff; }
.navright .btn.primary{ background:#2f7bff; color:#fff; box-shadow:0 14px 30px rgba(47,123,255,.35); }

@media (max-width: 760px){
  .navrow{ flex-wrap: wrap; }
  .brand{ flex: 1 1 auto; }
  .navright{ margin-left:auto; }
  .navmid{ width:100%; justify-content:flex-start; gap:8px; flex-wrap:wrap; }
  .navmid a, .navmid button{ padding: 10px 12px; }
}

/* Home hero background mobile-first */
.hero{
  position: relative;
  background:
    linear-gradient(180deg, rgba(6,16,32,.80), rgba(6,16,32,.45)),
    url("/assets/hero-mobile.jpg");
  background-size: cover;
  background-position: center 18%;
}
.hero .hero-inner{ padding: 56px 14px 34px; }
.hero h1{ font-weight: 900; letter-spacing: -.6px; }
.hero .sub{ font-weight: 500; color: rgba(255,255,255,.88); }

/* Blog cards */
.blog-grid{ display:grid; grid-template-columns: repeat(3, 1fr); gap: 14px; }
.blog-card{
  background:#fff; border-radius:18px; overflow:hidden;
  box-shadow:0 12px 28px rgba(0,0,0,.08);
  border:1px solid rgba(0,0,0,.06);
}
.blog-card .img{ height: 96px; background: linear-gradient(135deg, rgba(47,123,255,.20), rgba(6,16,32,.05)); }
.blog-card .pad{ padding: 14px; }
.blog-card .t{ font-weight: 800; margin-bottom: 6px; }
.blog-card .p{ color: var(--muted); font-size: 14px; line-height: 1.35; }
.blog-card .a{ margin-top: 10px; display:inline-flex; align-items:center; gap:8px; font-weight:700; }
@media (max-width: 900px){ .blog-grid{ grid-template-columns: 1fr; } }

/* Footer upgrade */
.footer{
  background: linear-gradient(180deg, #07162f, #051022);
  color: rgba(255,255,255,.88);
  border-top: 1px solid rgba(255,255,255,.08);
  padding: 26px 14px;
}
.footer .fgrid{ display:grid; grid-template-columns: 1.2fr 1fr 1fr; gap: 18px; }
.footer .ft{ font-weight: 900; font-size: 18px; margin-bottom: 10px; }
.footer a{ color: rgba(255,255,255,.82); text-decoration:none; }
.footer a:hover{ color:#fff; }
.footer .small{ color: rgba(255,255,255,.62); font-size: 13px; margin-top: 10px; }
.footer .chips{ display:flex; gap:10px; flex-wrap:wrap; margin-top:12px; }
.footer .chip{ padding:8px 12px; border-radius:999px; background: rgba(255,255,255,.08); border:1px solid rgba(255,255,255,.10); font-weight:700; }
@media (max-width: 900px){ .footer .fgrid{ grid-template-columns: 1fr; } }


/* === Home hero typography === */
.hero h1 span{display:block;opacity:.98}
@media(max-width:520px){
  .hero{padding:46px 0 34px}
  .hero h1{font-size:34px}
}

/* === Blog cards on Home === */
.postgrid{display:grid;grid-template-columns:repeat(3,1fr);gap:12px}
@media(max-width:980px){.postgrid{grid-template-columns:1fr}}
.postcard{
  background:var(--card);border:1px solid var(--line);border-radius:16px;padding:16px;
  box-shadow:var(--shadow);display:grid;gap:10px;min-height:140px
}
.postcard:hover{transform:translateY(-1px)}
.posttag{display:inline-flex;align-items:center;justify-content:center;width:max-content;
  font-size:12px;font-weight:900;color:var(--blue2);
  background:#eef4ff;border:1px solid rgba(46,107,255,.18);
  padding:6px 10px;border-radius:999px
}
.posttitle{font-weight:900;font-size:16px}
.postdesc{color:var(--muted);font-size:13px;line-height:1.5}

/* === Footer v2 === */
.footer .footcols{display:grid;grid-template-columns:1.4fr 1fr 1fr 1fr;gap:16px}
@media(max-width:980px){.footer .footcols{grid-template-columns:1fr;gap:14px}}
.footer .footbrand{display:grid;gap:10px}
.footer .footlogo{display:flex;align-items:center;gap:10px;font-weight:900}
.footer .footlogo .dot{width:10px;height:10px;border-radius:999px;background:var(--blue);box-shadow:0 0 0 6px rgba(46,107,255,.18)}
.footer .footdesc{opacity:.88;line-height:1.55;font-size:13px}
.footer .footbadges{display:flex;gap:8px;flex-wrap:wrap}
.footer .footbadge{font-size:12px;padding:6px 10px;border-radius:999px;background:rgba(255,255,255,.08);border:1px solid rgba(255,255,255,.14);opacity:.95}
.footer .footcol{display:grid;gap:8px;align-content:start}
.footer .foottitle{font-weight:900;margin-bottom:2px}
.footer .footcol a{opacity:.88;font-size:13px}
.footer .footcol a:hover{opacity:1}
.footer .footnote{margin-top:6px;opacity:.75;font-size:12px;line-height:1.45}
.footer .footbottom{margin-top:18px;padding-top:14px;border-top:1px solid rgba(255,255,255,.12);
  display:flex;align-items:center;justify-content:space-between;gap:12px;flex-wrap:wrap}
  
/* =========================
   MODAL LEAD — Saude (pretty)
   Scope: #modal-lead only
   ========================= */
#modal-lead{
  --bg:#ffffff;
  --ink:#0f172a;
  --mut:rgba(15,23,42,.65);
  --line:rgba(15,23,42,.10);
  --p1:#0ea5e9;
  --p2:#22c55e;
}

#modal-lead .modal__card{
  background:var(--bg);
  border-radius:16px;
  box-shadow: 0 30px 80px rgba(0,0,0,.35);
  border:1px solid rgba(15,23,42,.10);
}

#modal-lead .modal__head{
  position:sticky; top:0; z-index:10;
  background:linear-gradient(180deg, rgba(255,255,255,.98), rgba(255,255,255,.92));
  backdrop-filter: blur(10px);
  border-bottom:1px solid var(--line);
  padding-bottom:10px;
  margin-bottom:6px;
}

#modal-lead .lh-section{
  border:1px solid var(--line);
  border-radius:16px;
  padding:14px;
  background:linear-gradient(180deg, rgba(255,255,255,.96), rgba(255,255,255,1));
}

#modal-lead .lh-sec-title{
  display:flex; align-items:center; gap:10px;
  font-weight:900; margin-bottom:10px;
}
#modal-lead .lh-sec-title i{ color:var(--p1); }
#modal-lead .lh-sec-sub{
  color:var(--mut);
  line-height:1.6;
  margin:-6px 0 10px;
  font-size:13px;
}

/* fields */
#modal-lead .field label{
  display:block;
  font-weight:800;
  font-size:13px;
  margin:0 0 6px;
  color:rgba(15,23,42,.85);
}

#modal-lead input[type="text"],
#modal-lead input[type="email"],
#modal-lead input[type="tel"],
#modal-lead input[type="number"],
#modal-lead input[type="date"],
#modal-lead select,
#modal-lead textarea{
  width:100%;
  border:1px solid rgba(15,23,42,.14);
  background:#fff;
  color:var(--ink);
  border-radius:12px;
  padding:11px 12px;
  outline:none;
  transition: box-shadow .15s ease, border-color .15s ease;
}

#modal-lead textarea{ resize:vertical; min-height:92px; }

#modal-lead input:focus,
#modal-lead select:focus,
#modal-lead textarea:focus{
  border-color:rgba(14,165,233,.45);
  box-shadow: 0 0 0 4px rgba(14,165,233,.12);
}

#modal-lead input[type="file"]{
  width:100%;
  border:1px dashed rgba(15,23,42,.20);
  border-radius:14px;
  padding:12px;
  background:rgba(15,23,42,.02);
}

/* grids */
#modal-lead .lh-grid{ display:grid; gap:10px; }
#modal-lead .lh-grid.cols-2{ grid-template-columns:repeat(2,1fr); }
#modal-lead .lh-grid.cols-3{ grid-template-columns:repeat(3,1fr); }
#modal-lead .lh-grid.cols-4{ grid-template-columns:repeat(4,1fr); }

@media (max-width: 860px){
  #modal-lead .lh-grid.cols-2,
  #modal-lead .lh-grid.cols-3,
  #modal-lead .lh-grid.cols-4{ grid-template-columns:1fr; }
}

/* radio cards */
#modal-lead .lh-radio-card{
  position:relative;
  border:1px solid rgba(15,23,42,.12);
  border-radius:14px;
  padding:12px;
  background:#fff;
  cursor:pointer;
  transition: transform .12s ease, box-shadow .12s ease, border-color .12s ease;
}
#modal-lead .lh-radio-card:hover{
  transform: translateY(-1px);
  box-shadow: 0 10px 22px rgba(0,0,0,.08);
  border-color:rgba(14,165,233,.25);
}
#modal-lead .lh-radio-card input{
  position:absolute;
  right:12px; top:12px;
  width:16px;height:16px;
}
#modal-lead .lh-radio-title{ font-weight:900; margin-top:2px; }
#modal-lead .lh-radio-desc{
  color:var(--mut);
  font-size:13px;
  line-height:1.45;
  margin-top:4px;
}
#modal-lead .lh-radio-card:has(input:checked){
  border-color: rgba(34,197,94,.45);
  box-shadow: 0 0 0 4px rgba(34,197,94,.12);
  background: linear-gradient(135deg, rgba(14,165,233,.04), rgba(34,197,94,.04));
}

/* checkbox rows */
#modal-lead .lh-check{
  display:flex;
  gap:10px;
  align-items:flex-start;
  padding:8px 10px;
  border:1px solid rgba(15,23,42,.10);
  border-radius:12px;
  background:#fff;
}
#modal-lead .lh-check:hover{ border-color:rgba(14,165,233,.20); }
#modal-lead .lh-check input{ margin-top:3px; }
#modal-lead .lh-check span{ color:var(--mut); line-height:1.45; }

#modal-lead #lh_submitBtn{
  border-radius:14px;
  padding:12px 14px;
  font-weight:900;
  box-shadow: 0 14px 34px rgba(14,165,233,.15);
}


/* === VIEWPORT HARDENING v1.0.2 === */
/* Goal: no horizontal scroll; keep layouts readable across admin/site/portal */
*, *::before, *::after { box-sizing: border-box; }
html, body { max-width: 100%; overflow-x: hidden; }
img, svg, video, canvas, iframe { max-width: 100%; height: auto; }

/* Prevent long strings/URLs from breaking layouts */
.break-anywhere { overflow-wrap: anywhere; word-break: break-word; }
.nowrap { white-space: nowrap; }

/* Tables: prefer wrapping over horizontal scrolling */
table { width: 100%; max-width: 100%; border-collapse: collapse; table-layout: fixed; }
th, td { overflow-wrap: anywhere; word-break: break-word; white-space: normal; }

/* Code blocks can explode width */
pre, code { white-space: pre-wrap; overflow-wrap: anywhere; word-break: break-word; }

@media (max-width: 760px){
  th, td { padding: 10px 10px !important; font-size: 13px; }
}
