/* ============================================================
   Site Dr. José Roberto Stefani — Pediatra e Neonatologista
   Identidade: verde (#2E7D32) + azuis, layout moderno e limpo
   ============================================================ */

:root{
  --verde:#2E7D32;
  --verde-claro:#E8F5E9;
  --verde-medio:#66BB6A;
  --azul-escuro:#1F4D78;
  --azul-medio:#2E74B5;
  --azul-claro:#E3F0FB;
  --cinza:#555555;
  --escuro:#1A1A1A;
  --bg:#FAFCFA;
  --branco:#FFFFFF;
  --borda:#E2E8E2;
  --sombra:0 2px 8px rgba(31,77,120,.06), 0 8px 24px rgba(31,77,120,.06);
  --sombra-hover:0 6px 16px rgba(46,125,50,.12), 0 16px 40px rgba(46,125,50,.10);
  --raio:16px;
  --raio-sm:10px;
  --maxw:1120px;
  --fonte:Arial, "Helvetica Neue", Helvetica, system-ui, sans-serif;
}

*{box-sizing:border-box;margin:0;padding:0}
html{scroll-behavior:smooth}
body{
  font-family:var(--fonte);
  color:var(--escuro);
  background:var(--bg);
  line-height:1.65;
  -webkit-font-smoothing:antialiased;
}
img{max-width:100%;display:block}
a{color:var(--azul-medio);text-decoration:none}
a:hover{text-decoration:underline}
.container{max-width:var(--maxw);margin:0 auto;padding:0 20px}

/* ---------- Header / navegação ---------- */
.site-header{
  position:sticky;top:0;z-index:50;
  background:rgba(255,255,255,.92);
  backdrop-filter:saturate(140%) blur(8px);
  border-bottom:1px solid var(--borda);
}
.nav{
  display:flex;align-items:center;gap:18px;
  max-width:var(--maxw);margin:0 auto;padding:10px 20px;
}
.brand{display:flex;align-items:center;gap:12px;flex:0 0 auto}
.brand img{height:46px;width:auto}
.brand .brand-text strong{
  display:block;color:var(--verde);font-size:1.02rem;line-height:1.15;font-weight:bold;
}
.brand .brand-text span{display:block;color:var(--azul-escuro);font-size:.74rem;font-weight:bold}
.nav-links{display:flex;gap:4px;margin-left:auto;align-items:center;flex-wrap:wrap}
.nav-links a{
  color:var(--escuro);padding:8px 12px;border-radius:999px;font-size:.92rem;font-weight:bold;
  white-space:nowrap;transition:background .15s,color .15s;
}
.nav-links a:hover{background:var(--verde-claro);color:var(--verde);text-decoration:none}
.nav-links a.cta{background:var(--verde);color:#fff}
.nav-links a.cta:hover{background:#256528;color:#fff}
.nav-toggle{
  display:none;margin-left:auto;background:none;border:1px solid var(--borda);
  border-radius:8px;padding:8px 10px;cursor:pointer;font-size:1.2rem;color:var(--verde)
}

/* dropdown de especialidades */
.nav-item{position:relative}
.nav-item .nav-parent{
  display:inline-block;color:var(--escuro);padding:8px 12px;border-radius:999px;
  font-size:.92rem;font-weight:bold;white-space:nowrap;cursor:pointer;transition:background .15s,color .15s
}
.nav-item .nav-parent:hover{background:var(--verde-claro);color:var(--verde);text-decoration:none}
.nav-item .caret{font-size:.7em;opacity:.8}
.nav-dropdown{
  position:absolute;top:calc(100% + 6px);left:0;min-width:250px;background:#fff;
  border:1px solid var(--borda);border-radius:12px;box-shadow:var(--sombra-hover);
  padding:8px;display:none;z-index:60
}
.nav-dropdown a{
  display:block;padding:9px 14px;border-radius:8px;color:var(--escuro);font-size:.92rem;font-weight:bold;white-space:nowrap
}
.nav-dropdown a:hover{background:var(--verde-claro);color:var(--verde);text-decoration:none}
.nav-item:hover .nav-dropdown,.nav-item:focus-within .nav-dropdown{display:block}

/* ---------- Hero ---------- */
.hero{
  background:linear-gradient(135deg,var(--verde-claro) 0%,var(--azul-claro) 100%);
  padding:56px 0;
}
.hero .container{display:grid;grid-template-columns:1.1fr .9fr;gap:40px;align-items:center}
.hero h1{font-size:2.3rem;color:var(--verde);line-height:1.2;margin-bottom:14px}
.hero h1 span{color:var(--azul-escuro)}
.hero p.lead{font-size:1.1rem;color:var(--cinza);margin-bottom:24px;max-width:46ch}
.hero-photo{
  border-radius:var(--raio);overflow:hidden;box-shadow:var(--sombra);
  background:var(--branco);min-height:280px;
}
.hero-photo img{width:100%;height:100%;object-fit:cover}
.photo-placeholder{
  display:flex;align-items:center;justify-content:center;text-align:center;
  min-height:300px;color:var(--cinza);background:var(--branco);
  border:2px dashed var(--borda);border-radius:var(--raio);padding:24px;font-size:.92rem;
}
.btn{
  display:inline-block;padding:13px 24px;border-radius:999px;font-weight:bold;
  font-size:1rem;cursor:pointer;border:none;transition:transform .12s,box-shadow .15s,background .15s
}
.btn-primary{background:var(--verde);color:#fff}
.btn-primary:hover{background:#256528;color:#fff;text-decoration:none;transform:translateY(-1px);box-shadow:var(--sombra-hover)}
.btn-ghost{background:#fff;color:var(--verde);border:1.5px solid var(--verde);margin-left:10px}
.btn-ghost:hover{background:var(--verde-claro);text-decoration:none}
.hero-actions{display:flex;flex-wrap:wrap;gap:10px;align-items:center}

/* ---------- Busca ---------- */
.search-wrap{position:relative;max-width:560px;margin:0 auto}
.search-box{
  display:flex;align-items:center;gap:10px;background:#fff;border:1.5px solid var(--borda);
  border-radius:999px;padding:12px 20px;box-shadow:var(--sombra)
}
.search-box input{border:none;outline:none;flex:1;font-size:1rem;font-family:var(--fonte);background:transparent}
.search-box .icon{color:var(--verde);font-size:1.1rem}
.search-results{
  position:absolute;left:0;right:0;top:calc(100% + 8px);background:#fff;
  border:1px solid var(--borda);border-radius:var(--raio-sm);box-shadow:var(--sombra-hover);
  z-index:40;overflow:hidden;display:none
}
.search-results.show{display:block}
.search-results a{display:block;padding:12px 18px;color:var(--escuro);border-bottom:1px solid var(--borda)}
.search-results a:last-child{border-bottom:none}
.search-results a:hover{background:var(--verde-claro);text-decoration:none}
.search-results .res-area{display:block;font-size:.76rem;color:var(--azul-medio);font-weight:bold}
.search-results .empty{padding:14px 18px;color:var(--cinza);font-size:.9rem}

/* ---------- Seções ---------- */
section{padding:54px 0}
.section-title{text-align:center;margin-bottom:8px;color:var(--verde);font-size:1.7rem}
.section-sub{text-align:center;color:var(--cinza);margin-bottom:36px;max-width:60ch;margin-left:auto;margin-right:auto}

/* destaque neonatologia */
.neo-highlight{
  background:linear-gradient(120deg,var(--azul-escuro),var(--azul-medio));
  color:#fff;border-radius:var(--raio);padding:40px;box-shadow:var(--sombra);
  display:grid;grid-template-columns:1.3fr 1fr;gap:30px;align-items:center
}
.neo-highlight h2{color:#fff;font-size:1.8rem;margin-bottom:10px}
.neo-highlight p{color:#Eaf2fb;margin-bottom:20px}
.neo-highlight .btn-primary{background:#fff;color:var(--azul-escuro)}
.neo-highlight .btn-primary:hover{background:var(--verde-claro)}
.neo-tags{display:flex;flex-wrap:wrap;gap:8px}
.neo-tags span{background:rgba(255,255,255,.18);padding:6px 12px;border-radius:999px;font-size:.82rem}

/* cards de áreas */
.cards{display:grid;grid-template-columns:repeat(2,1fr);gap:22px}
.card{
  background:#fff;border:1px solid var(--borda);border-radius:var(--raio);padding:28px;
  box-shadow:var(--sombra);transition:transform .15s,box-shadow .15s;display:flex;flex-direction:column
}
.card:hover{transform:translateY(-3px);box-shadow:var(--sombra-hover);text-decoration:none}
.card .card-icon{
  width:52px;height:52px;border-radius:14px;display:flex;align-items:center;justify-content:center;
  font-size:1.5rem;margin-bottom:16px;background:var(--verde-claro)
}
.card h3{color:var(--azul-escuro);font-size:1.25rem;margin-bottom:8px}
.card p{color:var(--cinza);font-size:.95rem;margin-bottom:14px;flex:1}
.card .card-sub{font-size:.85rem;color:var(--verde);font-weight:bold}
.card .arrow{margin-top:14px;color:var(--verde);font-weight:bold}

/* ---------- Página de seção ---------- */
.page-head{
  background:linear-gradient(135deg,var(--verde-claro) 0%,var(--azul-claro) 100%);
  padding:48px 0
}
.breadcrumb{font-size:.85rem;color:var(--cinza);margin-bottom:10px}
.breadcrumb a{color:var(--azul-medio)}
.page-head h1{color:var(--verde);font-size:2rem}
.page-head p{color:var(--cinza);max-width:65ch;margin-top:8px}

.subfolders{display:grid;grid-template-columns:repeat(3,1fr);gap:18px}
.subfolder{
  background:#fff;border:1px solid var(--borda);border-radius:var(--raio-sm);padding:22px;
  box-shadow:var(--sombra);transition:transform .15s,box-shadow .15s
}
.subfolder:hover{transform:translateY(-2px);box-shadow:var(--sombra-hover);text-decoration:none}
.subfolder h3{color:var(--azul-escuro);font-size:1.05rem;margin-bottom:6px}
.subfolder p{color:var(--cinza);font-size:.88rem}
.subfolder .count{display:inline-block;margin-top:10px;font-size:.78rem;color:var(--verde);font-weight:bold;background:var(--verde-claro);padding:3px 10px;border-radius:999px}

/* lista de documentos */
.doc-list{list-style:none}
.doc-list li{
  background:#fff;border:1px solid var(--borda);border-radius:var(--raio-sm);
  padding:16px 20px;margin-bottom:12px;box-shadow:var(--sombra);
  display:flex;align-items:center;gap:14px;justify-content:space-between;flex-wrap:wrap
}
.doc-list .doc-main{display:flex;align-items:center;gap:14px}
.doc-list .doc-icon{font-size:1.4rem}
.doc-list h4{color:var(--azul-escuro);font-size:1.02rem}
.doc-list small{color:var(--cinza)}
.doc-actions a{margin-left:10px;font-size:.88rem;font-weight:bold}
.empty-state{
  background:var(--verde-claro);border-radius:var(--raio);padding:30px;text-align:center;color:var(--cinza)
}

/* ---------- Página de documento (modelo) ---------- */
.doc-article{background:#fff;max-width:820px;margin:30px auto;padding:48px 56px;border-radius:var(--raio);box-shadow:var(--sombra)}
.doc-article h1{color:var(--verde);font-size:1.7rem;margin-bottom:6px}
.doc-article .doc-meta{color:var(--cinza);font-size:.85rem;border-bottom:2px solid var(--verde-claro);padding-bottom:14px;margin-bottom:24px}
.doc-article h2{color:var(--azul-escuro);font-size:1.3rem;margin:26px 0 10px}
.doc-article h3{color:var(--verde);font-size:1.1rem;margin:20px 0 8px}
.doc-article p,.doc-article li{color:var(--escuro);margin-bottom:10px}
.doc-article ul,.doc-article ol{margin-left:22px;margin-bottom:14px}
.doc-article table{width:100%;border-collapse:collapse;margin:16px 0}
.doc-article th{background:var(--verde);color:#fff;padding:10px;text-align:left;font-size:.9rem}
.doc-article td{padding:10px;border:1px solid #C8E6C9;font-size:.92rem}
.doc-article tr:nth-child(even) td{background:var(--verde-claro)}
.callout{background:var(--azul-claro);border-left:4px solid var(--azul-medio);padding:14px 18px;border-radius:8px;margin:16px 0;color:var(--azul-escuro)}

/* ---------- Agenda / contato ---------- */
.info-grid{display:grid;grid-template-columns:1fr 1fr;gap:26px}
.info-card{background:#fff;border:1px solid var(--borda);border-radius:var(--raio);padding:28px;box-shadow:var(--sombra)}
.info-card h3{color:var(--verde);margin-bottom:14px}
.info-card p{margin-bottom:10px;color:var(--escuro)}
.info-card .label{font-size:.78rem;color:var(--azul-medio);font-weight:bold;text-transform:uppercase;letter-spacing:.03em}
.cal-embed{background:var(--verde-claro);border:2px dashed var(--verde-medio);border-radius:var(--raio);padding:40px;text-align:center;color:var(--cinza)}
.gallery{display:grid;grid-template-columns:repeat(3,1fr);gap:14px}
.gallery .photo-placeholder{min-height:180px}

/* ---------- Rodapé ---------- */
.site-footer{background:var(--azul-escuro);color:#cfe0f0;padding:40px 0 24px;margin-top:40px}
.site-footer .container{display:grid;grid-template-columns:1.4fr 1fr 1fr;gap:30px}
.site-footer h4{color:#fff;margin-bottom:12px;font-size:1rem}
.site-footer a{color:#cfe0f0}
.site-footer a:hover{color:#fff}
.site-footer p,.site-footer li{font-size:.9rem;margin-bottom:6px;list-style:none}
.footer-bottom{text-align:center;border-top:1px solid rgba(255,255,255,.15);margin-top:26px;padding-top:16px;font-size:.8rem;color:#9fb8d4}

/* ---------- Responsivo ---------- */
@media(max-width:860px){
  .hero .container{grid-template-columns:1fr;text-align:center}
  .hero-actions{justify-content:center}
  .hero p.lead{margin-left:auto;margin-right:auto}
  .neo-highlight{grid-template-columns:1fr;text-align:center}
  .neo-tags{justify-content:center}
  .cards{grid-template-columns:1fr}
  .subfolders{grid-template-columns:1fr 1fr}
  .info-grid{grid-template-columns:1fr}
  .site-footer .container{grid-template-columns:1fr}
  .gallery{grid-template-columns:1fr 1fr}
  .nav-links{
    display:none;position:absolute;top:100%;left:0;right:0;background:#fff;
    flex-direction:column;align-items:stretch;padding:10px 16px;border-bottom:1px solid var(--borda);
    box-shadow:var(--sombra)
  }
  .nav-links.open{display:flex}
  .nav-links a{padding:12px;border-radius:8px}
  .nav-toggle{display:block}
  /* dropdown vira lista expandida no celular */
  .nav-item{width:100%}
  .nav-item .nav-parent{display:block;width:100%}
  .nav-dropdown{position:static;display:block;border:none;box-shadow:none;
    padding:0 0 6px 14px;min-width:0;background:transparent}
  .nav-dropdown a{padding:10px 12px}
  .nav-item .caret{display:none}
  .doc-article{padding:30px 22px}
}
@media(max-width:520px){
  .subfolders{grid-template-columns:1fr}
  .gallery{grid-template-columns:1fr}
  .hero h1{font-size:1.8rem}
}
