
:root{
  --text:#1f2937;
  --muted:#6b7280;
  --brand:#1f4ea1;
  --line:#e5e7eb;
  --shadow:0 12px 28px rgba(16,24,40,.08);
  --radius:18px;
}
*{box-sizing:border-box}
html,body{margin:0;padding:0}
body{font-family:Inter,system-ui,-apple-system,Segoe UI,Roboto,Arial,sans-serif;color:var(--text);line-height:1.6}
img{max-width:100%;display:block}
.container{width:min(1120px,92%);margin:0 auto}
.header{position:fixed;left:0;right:0;top:0;z-index:60}
.header--overlay .header__wrap{display:flex;align-items:center;justify-content:space-between;padding:.75rem 0}
.header--overlay{background:linear-gradient(180deg,rgba(0,0,0,.35),rgba(0,0,0,0));}
.header--overlay .logo img{height:48px;width:auto;object-fit:contain;filter:drop-shadow(0 2px 10px rgba(0,0,0,.25))}
.nav__toggle{display:none}
.nav__list{display:flex;gap:1rem;list-style:none;margin:0;padding:0}
.nav__list a{color:#fff;text-decoration:none;font-weight:600;padding:.35rem .6rem;border-radius:10px}
.header__actions{display:flex;gap:.6rem;align-items:center}
.hide-mobile{display:inline-flex}
.social-ico{display:inline-flex;width:36px;height:36px;align-items:center;justify-content:center;border-radius:999px;background:rgba(255,255,255,.85)}
.social-ico svg{width:18px;height:18px;fill:#111827}
.hero{position:relative;display:flex;align-items:center;min-height:70vh}
.hero__bg{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;filter:brightness(.45)}
.hero__inner{position:relative;color:#fff;text-align:center;width:100%;padding:clamp(3rem,6vw,8rem) 0}
.hero__logo{width:min(360px,60%);margin:0 auto 1rem;filter:drop-shadow(0 2px 16px rgba(0,0,0,.35))}
.hero__inner h1{font-size:clamp(1.8rem,3.6vw,3rem);line-height:1.2;margin:.25rem 0 .75rem;color:#fff}
.btn{display:inline-flex;align-items:center;gap:.5rem;padding:.85rem 1.2rem;border-radius:999px;border:1px solid transparent;font-weight:700;box-shadow:var(--shadow)}
.btn--primary{background:#25D366;color:#fff}
.btn--primary:hover{filter:brightness(.96)}
.section{padding:clamp(2rem,4vw,4rem) 0}
.section--alt{background:#f8fafc}
h2{font-size:clamp(1.5rem,2.4vw,2rem);margin:0 0 .5rem}
.services-grid{display:grid;grid-template-columns:repeat( auto-fit, minmax(240px,1fr) );gap:1rem;margin-top:1rem}
.service{border:1px solid var(--line);border-radius:16px;overflow:hidden;background:#fff;box-shadow:var(--shadow)}
.service img{width:100%;height:200px;object-fit:cover}
.service figcaption{padding:1rem}
.service h3{margin:.25rem 0 .35rem}
.team{display:grid;grid-template-columns:repeat( auto-fit, minmax(260px,1fr) );gap:1rem;margin-top:1rem}
.team-card{border:1px solid var(--line);border-radius:18px;overflow:hidden;background:#fff;box-shadow:var(--shadow)}
.team-card img{width:100%;height:340px;object-fit:cover}
.team-card figcaption{padding:1rem}
.team-card--featured{border-color:var(--brand);box-shadow:0 16px 40px rgba(31,78,161,.18)}
.team-card--featured img{height:380px}
.cols{display:grid;gap:2rem}
.cols--2{grid-template-columns:1fr 1fr}
.contact-list{list-style:none;margin:0 0 1rem;padding:0}
.contact-list li{margin:.25rem 0}
.map-wrap{height:320px;border-radius:16px;overflow:hidden;border:1px solid var(--line);box-shadow:var(--shadow)}
.map-wrap iframe{width:100%;height:100%;border:0}
.footer{background:#0f172a;color:#e2e8f0}
.footer a{color:#cfe0ff;text-decoration:none}
.footer__grid{display:grid;grid-template-columns:1.2fr .8fr .6fr;gap:2rem;padding:2rem 0}
.footer__brand p{color:#a5b4fc;margin-top:.5rem}
.footer__bottom{display:flex;align-items:center;justify-content:space-between;border-top:1px solid rgba(226,232,240,.12);padding:1rem 0}
.whatsapp-fab{position:fixed;right:16px;bottom:16px;z-index:70}
.whatsapp-fab svg{width:56px;height:56px;filter:drop-shadow(0 12px 24px rgba(0,0,0,.22))}
.whatsapp-fab .tooltip{position:absolute;right:68px;bottom:50%;transform:translateY(50%);background:#111827;color:#fff;padding:.5rem .8rem;border-radius:10px;white-space:nowrap;opacity:0;pointer-events:none;transition:opacity .2s ease, transform .2s ease;box-shadow:var(--shadow)}
.whatsapp-fab:hover .tooltip{opacity:1;transform:translate(-2px, 50%)}
@media (max-width: 900px){
  .nav__toggle{display:inline-flex;align-items:center;gap:.4rem;border:1px solid rgba(255,255,255,.4);background:rgba(255,255,255,.15);color:#fff;padding:.45rem .7rem;border-radius:10px}
  .nav__list{display:none;flex-direction:column;position:absolute;right:1rem;top:64px;background:#fff;color:#111;border:1px solid var(--line);padding:.5rem;border-radius:12px}
  .nav__list a{color:#111}
  .nav__list.is-open{display:flex}
  .hide-mobile{display:none}
  .cols--2{grid-template-columns:1fr}
  .footer__grid{grid-template-columns:1fr}
}
/* --- ESTILO FINAL: LOGO NO BANNER (MISTURA DE FONTES) --- */

/* 1. Estiliza o bloco principal do logo (Hero__logo-text) */
.hero__logo-text {
    text-align: center;
    color: #ffffff; /* Cor do texto: Branco */
    margin-bottom: 40px; 
    /* Define uma fonte base elegante para o bloco */
    font-family: 'Times New Roman', serif; 
}

/* 2. Estilo para o H2 (LVI Odontologia): Cursiva/Elegante com Linhas */
.hero__logo-text h2 {
    font-style: italic; 
    font-size: 2.5rem; 
    font-weight: 400;
    margin: 0;
    padding: 10px 0;
    
    /* Tenta uma fonte cursiva elegante como primeira opção */
    font-family: 'Playfair Display', cursive, serif;
    
    /* Adiciona as linhas horizontais brancas */
    border-top: 1px solid white;
    border-bottom: 1px solid white;
    display: inline-block; 
    
    /* Garante que o texto fique em capitalização normal (não em maiúsculas) para a cursiva */
    text-transform: none; 
}

/* 3. Estilo para os SPANs (Subtítulos): Caixa Alta e Nítidos */
.hero__logo-text span {
    display: block; /* Cada subtítulo em sua própria linha */
    font-size: 0.8rem;
    letter-spacing: 2px; /* Espaçamento para modernizar */
    font-weight: 400; /* Peso normal/médio */
    margin-top: 5px;
    
    /* Deixa em caixa alta (maiúsculas) para o visual original */
    text-transform: uppercase; 
    
    /* Usa uma fonte simples e legível (Inter já está sendo carregada no seu site) */
    font-family: 'Inter', sans-serif; 
}
/* --- ESTILO FINAL: CÍRCULO VERDE, BALÃO BRANCO, TELEFONE VERDE --- */
.whatsapp-fab {
    /* CÍRCULO EXTERNO: VERDE */
    background-color: #25D366 !important; 
    width: 60px;
    height: 60px;
    border-radius: 50%; 
    
    border: none !important; 
    outline: none !important; 
    box-shadow: 0 4px 12px rgba(0, 0, 0, 0.4); 
    
    display: flex; 
    align-items: center;
    justify-content: center;
    
    position: fixed !important; 
    bottom: 20px;
    right: 20px;
    z-index: 9999; 
    transition: all 0.3s ease; 
}

/* Garante que o ícone SVG interno tenha o tamanho correto */
.whatsapp-fab svg {
    width: 32px;
    height: 32px;
}

/* 1. BALÃO INTERNO: BRANCO (Seleciona o primeiro PATH do SVG, o balão) */
.whatsapp-fab svg path:nth-child(1) {
    fill: #ffffff !important; 
}

/* 2. TELEFONE INTERNO: VERDE (Seleciona o segundo PATH do SVG, o telefone) */
.whatsapp-fab svg path:nth-child(2) {
    fill: #25D366 !important; 
}
/* [O restante do CSS para hover e tooltip] */

/* --- CORREÇÃO FINAL DAS FOTOS DA EQUIPE: Modo Contain e Cor de Fundo --- */

/* Aplica a cor branca ao contêiner para preencher o espaço vazio do "contain" */
.team-card {
    overflow: hidden; 
    height: auto; 
    background-color: #f7f7f7; /* Cor de fundo branca/cinza clara para preencher */
}

.team-card img {
    width: 100%;
    height: 350px; /* Altura original para dar espaço */

    /* A CHAVE DA CORREÇÃO: Garante que a imagem INTEIRA apareça */
    object-fit: contain; 

    /* Remove o object-position, pois o 'contain' centraliza automaticamente */
}