/* =====================================================
STYLE.CSS
- Paleta, tipografia e layout responsivo
- Seções alternando fundos (#F6F5F2 e #D8B4A6)
- Divisores sutis com Vinho Marsala (#7D3C3F)
===================================================== */

/* ----------------------
Paleta (CSS Variables)
-----------------------*/
:root{
  --azul-petroleo:#264653;
  --vinho-marsala:#7D3C3F;
  --nude-rosado:#D8B4A6;
  --off-white:#F6F5F2;
  --marrom-avela:#5B4636;
  --lavanda:#C5C6D0;

  --text:#2b2b2b;
  --maxw:1200px;
  --radius:10px;
  --shadow:0 10px 30px rgba(0,0,0,.08);
}

/* ----------------------
Reset básico e base tipográfica
-----------------------*/
*{box-sizing:border-box}
html,body{height:100%}
body{
  margin:0;
  font-family: 'Montserrat', system-ui, -apple-system, Segoe UI, Roboto, Arial, sans-serif;
  color:var(--text);
  background:var(--off-white);
  line-height:1.6;
  -webkit-font-smoothing:antialiased;
  -moz-osx-font-smoothing:grayscale;
}
h1,h2,h3,h4{
  font-family:'Cormorant Garamond', Georgia, 'Times New Roman', serif;
  color:var(--azul-petroleo);
  line-height:1.2;
  margin:0 0 .6rem 0;
}
h1{font-size:clamp(2.2rem, 4vw, 3.5rem);}
h2{font-size:clamp(1.8rem, 3vw, 2.6rem);}
h3{font-size:clamp(1.2rem, 2vw, 1.6rem);}
p, li{font-size:clamp(1.05rem, 1.4vw, 1.15rem);}
img{max-width:100%; height:auto; border-radius:var(--radius); display:block}

/* ----------------------
Containers e seções
-----------------------*/
.container{
  width:100%;
  max-width:var(--maxw);
  margin-inline:auto;
  padding: clamp(16px, 2vw, 24px);
}
.section{
  min-height:80vh;
  display:flex;
  align-items:center;
  position:relative;
  padding-block: clamp(40px, 8vw, 100px);
  background:var(--off-white);
}
.section.alt{ background: var(--nude-rosado); }
.divider{
  border:none;
  border-top:1px solid var(--vinho-marsala);
  margin:0;
  opacity:.3;
}

.grid-2{
  display:grid;
  grid-template-columns:1fr;
  gap:clamp(20px, 4vw, 40px);
}
@media (min-width: 900px){
  .grid-2{ grid-template-columns: 1.1fr .9fr; }
}

/* ----------------------
Header
-----------------------*/
.site-header{
  position:sticky; top:0; z-index:1000;
  background:rgba(246,245,242,.9);
  backdrop-filter: blur(6px);
  border-bottom:1px solid rgba(125,60,63,.12);
}
.header-inner{
  display:flex; align-items:center; justify-content:space-between;
}
.brand-logo{height:48px; width:auto}
.main-nav ul{display:flex; gap:clamp(10px, 2vw, 24px); list-style:none; padding:0; margin:0}
.main-nav a{
  text-decoration:none; color:var(--marrom-avela); font-weight:600;
  padding:.5rem .75rem; border-radius:8px; transition:.2s ease;
}
.main-nav a:hover{ background:var(--lavanda); color:#222; }

/* ----------------------
Hero
-----------------------*/
.section-hero{padding-block: clamp(80px, 12vw, 160px);}
.hero-bg{
  position:absolute; inset:0;
  background: linear-gradient( to bottom, rgba(246,245,242,.6), rgba(246,245,242,.95) ),
              var(--hero-url) center/cover no-repeat;
  z-index:0;
}
.hero-inner{position:relative; z-index:1; text-align:center}
.hero-title{ color:var(--azul-petroleo); }
.hero-subtitle{ max-width:900px; margin:0 auto 1.25rem; color:#333; }

.cta-row{ display:flex; gap:12px; justify-content:center; flex-wrap:wrap; }

.btn{
  display:inline-flex; align-items:center; gap:.5rem;
  border-radius:999px; padding:.9rem 1.25rem; text-decoration:none;
  font-weight:700; letter-spacing:.2px; transition: transform .15s ease, box-shadow .2s ease;
  box-shadow: var(--shadow);
}
.btn .icon{width:18px; height:18px}
.btn-primary{ background:var(--vinho-marsala); color:#fff; }
.btn-primary:hover{ transform:translateY(-2px) }
.btn-secondary{ background:var(--azul-petroleo); color:#fff }
.btn-secondary:hover{ transform:translateY(-2px) }
.btn-outline{
  border:2px solid var(--azul-petroleo);
  color:var(--azul-petroleo);
  background:transparent;
}
.btn-outline:hover{ background:var(--azul-petroleo); color:#fff }

.highlight{
  border-left:4px solid var(--vinho-marsala);
  padding:.5rem .75rem; background:rgba(197,198,208,.25);
  border-radius:8px;
  color:#222; font-style:italic;
}

/* ----------------------
Audience
-----------------------*/
.section-audience ul{
  display:grid; gap:.6rem;
  grid-template-columns: 1fr;
  padding:0; list-style: none;
}
.section-audience li{
  padding:.75rem 1rem; background:#fff; border-radius:12px;
  border:1px solid rgba(0,0,0,.06); box-shadow: var(--shadow);
}
@media (min-width: 900px){
  .section-audience ul{ grid-template-columns: repeat(2,1fr); }
}

/* ----------------------
About / Doctor Card
-----------------------*/
.section-about .about-text{ margin-bottom: 18px; }
.doctor-card{
  display:grid; grid-template-columns: 1fr; gap:20px; align-items:start;
}
.doctor-card figure{margin:0}
.doctor-card img{ border-radius: 14px; }
.mini-cv{
  background:#fff; border:1px solid rgba(0,0,0,.06); border-radius:12px; padding:1rem 1.25rem;
  box-shadow: var(--shadow);
}
.mini-cv h3{ margin-top:0; color:var(--vinho-marsala); }
.mini-cv ul{ margin:0; padding-left:1.1rem }
@media (min-width: 900px){
  .doctor-card{ grid-template-columns: .9fr 1.1fr; }
}

/* ----------------------
Location / Mapa
-----------------------*/
.map{
  width:100%; height: 420px; border-radius: 14px;
  box-shadow: var(--shadow);
  border:1px solid rgba(0,0,0,.08);
}

/* ----------------------
Footer
-----------------------*/
.site-footer{
  background:var(--off-white);
  padding: 24px 0; text-align:center;
  border-top:1px solid rgba(125,60,63,.12);
}
.site-footer small{ color:#444 }

/* ----------------------
Modais
-----------------------*/
.modal{
  position:fixed; inset:0; background: rgba(0,0,0,.5);
  display:none; align-items:center; justify-content:center; padding:20px; z-index:2000;
}
.modal.open{ display:flex; }
.modal-content{
  background:#fff; border-radius:16px; padding:10px; max-width:min(90vw, 980px);
  box-shadow: var(--shadow);
}
.modal-content img{ width:100%; height:auto; display:block; border-radius:12px }
.modal-close{
  position:absolute; top:14px; right:18px;
  background:var(--vinho-marsala); color:#fff; border:none; border-radius:999px;
  width:36px; height:36px; cursor:pointer; font-size:20px; line-height:0;
  box-shadow: var(--shadow);
}

/* ----------------------
Imagens clicáveis
-----------------------*/
.clickable{ cursor: zoom-in; }
.media-wrap{ align-self:stretch; display:flex; align-items:center }

/* ----------------------
Floating Buttons (WhatsApp/Instagram)
-----------------------*/
.floating-actions{
  position:fixed; right:18px; bottom:18px; display:flex; flex-direction:column;
  gap:12px; z-index:1500;
}
.float-btn{
  width:54px; height:54px; border-radius:50%; display:grid; place-items:center;
  box-shadow: var(--shadow); border:none; cursor:pointer; text-decoration:none;
  transition: transform .15s ease, box-shadow .2s ease;
}
.float-btn:hover{ transform:translateY(-2px) }
.float-btn svg{ width:28px; height:28px }
.float-btn.whatsapp{ background:#25D366 }


/* ----------------------
Utilidades
-----------------------*/
.header-spacer{ height:72px }
.main-nav a:focus, .btn:focus, .float-btn:focus{
  outline:3px solid var(--lavanda); outline-offset:2px;
}

/* ----------------------
Ajustes responsivos
-----------------------*/
@media (max-width: 480px){
  .brand-logo{ height:40px }
  .btn{ padding:.8rem 1.05rem }
}

/* Hero title line breaks */
.hero-title .line1{ display:block; font-weight:700; }
.hero-title .line2{ display:block; font-weight:500; color:var(--vinho-marsala); margin-top:.25rem; }

.float-btn svg{ width:26px; height:26px; }
.float-btn.whatsapp svg path{ fill:#fff !important; }


/* Ajuste: centraliza verticalmente o botão flutuante do WhatsApp */
.floating-actions {
  right: 20px;
  bottom: 50%;
  transform: translateY(50%);
}
