
/* Locarmédica - CSS minimalista e moderno */
:root{
  --brand:#0b2d5c; /* azul hospitalar */
  --accent:#2c9c3b; /* verde */
  --bg:#ffffff;
  --text:#1d2433;
  --muted:#65738a;
  --light:#f1f5f9;
  --radius:18px;
}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{margin:0;font-family:system-ui,-apple-system,Segoe UI,Roboto,Ubuntu,'Helvetica Neue',Arial,sans-serif;color:var(--text);background:var(--bg);line-height:1.55}
img{max-width:100%;height:auto;display:block}
a{color:var(--brand);text-decoration:none}
a:hover{text-decoration:underline}
.container{max-width:1180px;margin:0 auto;padding:0 16px}
.flex{display:flex}
.align-center{align-items:center}
.between{justify-content:space-between}
.grid-3{display:grid;grid-template-columns:repeat(3,1fr);gap:24px}
.grid-2{display:grid;grid-template-columns:repeat(2,1fr);gap:24px}
.grid-4{display:grid;grid-template-columns:repeat(4,1fr);gap:16px}
@media(max-width:960px){.grid-3,.grid-4{grid-template-columns:1fr 1fr}}
@media(max-width:640px){.grid-3,.grid-4,.grid-2{grid-template-columns:1fr}}

.skip-link{position:absolute;left:-9999px;top:auto;width:1px;height:1px;overflow:hidden}
.skip-link:focus{left:16px;top:16px;width:auto;height:auto;padding:8px 12px;background:var(--brand);color:#fff;border-radius:8px}

.nav-header{position:sticky;top:0;z-index:1000;background:#fff;border-bottom:1px solid #e2e8f0}
.nav-header .brand img{height:44px}
#menu ul{display:flex;gap:18px;list-style:none;margin:0;padding:0}
#menu a{display:block;padding:16px 10px;border-radius:10px}
#menu a.active,#menu a:hover{background:var(--light)}
.hamburger{display:none;background:none;border:0;cursor:pointer;padding:12px;margin-left:8px}
.hamburger span{display:block;width:24px;height:2px;background:var(--text);margin:5px 0;border-radius:2px}
@media(max-width:880px){
  #menu{position:absolute;right:16px;top:64px;background:#fff;border:1px solid #e2e8f0;border-radius:12px;box-shadow:0 10px 30px rgba(0,0,0,.06);display:none}
  #menu.open{display:block}
  #menu ul{flex-direction:column}
  .hamburger{display:block}
}

.hero{background:linear-gradient(120deg, rgba(11,45,92,.08), transparent) ;padding:48px 0}
.hero .wrap{display:grid;grid-template-columns:1.1fr .9fr;gap:24px;align-items:center}
.hero h1{font-size:clamp(28px,5vw,44px);margin:0 0 8px}
.hero p{font-size:clamp(16px,2.5vw,18px);color:var(--muted)}
.button, button{display:inline-block;background:var(--brand);color:#fff;padding:12px 18px;border-radius:12px;border:0;font-weight:600}
.button.secondary{background:var(--accent)}
.card{background:#fff;border:1px solid #e2e8f0;border-radius:var(--radius);padding:18px;box-shadow:0 4px 16px rgba(0,0,0,.04)}
.badge{display:inline-block;padding:6px 10px;border-radius:999px;background:var(--light);color:var(--brand);font-size:12px}
.section{padding:56px 0}
.section h2{font-size:clamp(22px,4vw,32px);margin-top:0}
.list-plain{list-style:none;margin:0;padding:0}
.kpis{display:grid;grid-template-columns:repeat(4,1fr);gap:16px}
.kpi{background:var(--light);padding:16px;border-radius:14px;text-align:center;font-weight:700}
@media(max-width:700px){.hero .wrap{grid-template-columns:1fr} .kpis{grid-template-columns:1fr 1fr}}

.product-card img{border-radius:12px;border:1px solid #e2e8f0}
.product-card h3{margin:.6rem 0 .4rem}
.product-card .meta{color:var(--muted);font-size:14px}

.site-footer{background:#0b2d5c;color:#a5b4c7;margin-top:40px}
.site-footer h4{color:#fff;margin-top:0}
.site-footer a{color:#c9e1ff}
.site-footer .copy{border-top:1px solid rgba(255,255,255,.15);text-align:center;padding:12px 0;margin-top:18px;color:#d6e2f0}

.whatsapp-fab{position:fixed;left:16px;bottom:16px;z-index:999}
.whatsapp-fab a{background:#25D366;color:#fff;padding:12px 18px;border-radius:999px;box-shadow:0 6px 18px rgba(0,0,0,.16);font-weight:700}

.form{display:grid;gap:12px}
.form input,.form textarea, .form select{width:100%;padding:12px 14px;border:1px solid #cbd5e1;border-radius:12px}
.form label{font-weight:600}
.alert{padding:10px 12px;border-radius:12px;background:#f1f5f9;border:1px dashed #cbd5e1}
.table{width:100%;border-collapse:collapse}
.table th,.table td{border-bottom:1px solid #e5e7eb;padding:10px 8px;text-align:left}

blockquote{border-left:4px solid var(--accent);margin:0;padding:8px 12px;background:var(--light);border-radius:12px}

/* --- Hero Banner B override --- */
.hero.hero-bannerB {
  background: url('../img/banner-locarmedica-B.png') center/cover no-repeat;
  position: relative;
  padding: 96px 0; /* Altura confortável para Desktop */
  width: 100%;
}

.hero.hero-bannerB::before {
  content: '';
  position: absolute; 
  inset: 0;
  background: linear-gradient(90deg, rgba(11,45,92,0.70), rgba(11,45,92,0.35), rgba(0,0,0,0.00));
}

.hero.hero-bannerB .wrap { 
  display: grid; /* Garantindo o comportamento de grid */
  grid-template-columns: 1fr; 
  position: relative; 
  z-index: 1; 
  width: 100%;
  max-width: 1200px; /* Evita que o texto encoste nas bordas em telas grandes */
  margin: 0 auto;
  padding: 0 20px; /* Margem de segurança nas laterais em telas menores */
  box-sizing: border-box;
}

.hero.hero-bannerB h1,
.hero.hero-bannerB p { 
  color: #fff; 
}

.hero.hero-bannerB .kpi { 
  background: rgba(255,255,255,0.85); 
}

/* --- RESPONSIVIDADE (Celulares e Tablets) --- */
@media (max-width: 768px) {
  .hero.hero-bannerB {
    padding: 60px 0; /* Reduz a altura do banner no celular para não sumir com a imagem de fundo */
    background-position: 35% center; /* Ajuste sutil: move a imagem um pouco para o lado se o foco do banner (ex: uma foto de produto/paciente) estiver sumindo no corte do celular */
  }

  /* Se o gradiente estiver escurecendo demais o texto no celular, mudamos para uma cobertura vertical */
  .hero.hero-bannerB::before {
    background: linear-gradient(180deg, rgba(11,45,92,0.80), rgba(11,45,92,0.50));
  }

  /* Ajuste de tipografia para o celular não quebrar linhas de forma estranha */
  .hero.hero-bannerB h1 {
    font-size: 1.8rem; /* Diminui o tamanho do título principal no celular */
    line-height: 1.2;
  }
  
  .hero.hero-bannerB p {
    font-size: 1rem; /* Ajusta o tamanho do subtítulo */
  }
}

  :root{
      --primary:#0ea5e9; /* azul hospitalar */
      --primary-700:#0284c7;
      --bg:#f6f9fc;
      --text:#0f172a;
      --muted:#64748b;
      --ok:#16a34a;
      --warn:#f59e0b;
      --danger:#ef4444;
      --card:#ffffff;
      --shadow:0 10px 30px rgba(2,8,23,.08);
    }
    html,body{height:100%}
    body{margin:0;font-family:Inter,system-ui,Segoe UI,Roboto,Helvetica,Arial,sans-serif;background:var(--bg);color:var(--text)}
    /* Floating button */
    .chat-launch{
      position:fixed;right:20px;bottom:20px;z-index:40;
      background:var(--primary);color:#fff;border:none;border-radius:999px;
      padding:14px 18px;font-weight:700;display:flex;gap:10px;align-items:center;
      box-shadow:var(--shadow);cursor:pointer
    }
    .chat-launch .dot{width:10px;height:10px;background:#22c55e;border-radius:999px}

    /* Panel */
    .chat-panel{position:fixed;right:20px;bottom:90px;width:360px;max-width:92vw;z-index:50;
      background:var(--card);border-radius:18px;box-shadow:var(--shadow);overflow:hidden;display:none;flex-direction:column}
    .chat-header{display:flex;align-items:center;gap:12px;padding:14px 16px;background:#eaf6ff;border-bottom:1px solid #dbeafe}
    .logo{width:34px;height:34px;display:grid;place-items:center;border-radius:8px;background:var(--primary);color:#fff;font-weight:800}
    .brand h1{font-size:16px;line-height:1.1;margin:0}
    .brand p{margin:3px 0 0;color:var(--muted);font-size:12px}
    .chat-body{padding:14px 14px 8px;display:flex;flex-direction:column;gap:12px;max-height:64vh;overflow:auto}

    .msg{display:flex;gap:8px}
    .msg.agent{justify-content:flex-start}
    .msg.client{justify-content:flex-end}
    .bubble{max-width:86%;padding:10px 12px;border-radius:14px;box-shadow:0 2px 8px rgba(2,8,23,.05)}
    .agent .bubble{background:#f1f5f9;color:#0f172a;border-top-left-radius:6px}
    .client .bubble{background:var(--primary);color:#fff;border-top-right-radius:6px}

    .chips{display:flex;flex-wrap:wrap;gap:8px;margin-top:6px}
    .chip{padding:8px 10px;border-radius:999px;border:1px solid #e2e8f0;background:#fff;cursor:pointer;font-size:13px}
    .chip:hover{border-color:var(--primary);}

    .field{display:flex;flex-direction:column;gap:6px}
    .field label{font-size:12px;color:var(--muted)}
    .field input,.field select,.field textarea{
      border:1px solid #e2e8f0;border-radius:12px;padding:10px 12px;font-size:14px;background:#fff
    }
    .hint{font-size:12px;color:var(--muted)}
    .price{font-weight:700}

    .chat-footer{border-top:1px solid #e2e8f0;padding:10px;display:flex;gap:8px;align-items:center}
    .chat-footer input{flex:1;border:1px solid #e2e8f0;border-radius:12px;padding:10px 12px}
    .chat-footer button{background:var(--primary);color:#fff;border:none;border-radius:12px;padding:10px 12px;font-weight:700}

    .actions{display:flex;gap:10px;margin-top:8px}
    .btn{border:none;border-radius:12px;padding:10px 12px;font-weight:700;cursor:pointer}
    .btn-primary{background:var(--primary);color:#fff}
    .btn-ghost{background:#fff;border:1px solid #e2e8f0}
    .btn-success{background:var(--ok);color:#fff}
    .divider{height:1px;background:#e2e8f0;margin:4px 0}
    .summary{background:#f8fafc;border:1px dashed #e2e8f0;border-radius:12px;padding:10px;font-size:13px}
    .small{font-size:12px;color:var(--muted)}
