/* ============================================================
   ESPAÇO SAÚDE MEDICINA — CSS GLOBAL
   ============================================================ */

/* ========== VARIABLES ========== */
:root {
    --azul-marinho: #1a3a5c;
    --azul-marinho-dark: #0f2440;
    --turquesa: #00b4c8;
    --turquesa-light: #00d4ec;
    --branco: #ffffff;
    --cinza-bg: #f4f6f8;
    --cinza-texto: #6c7a89;
    --cinza-borda: #e0e6ed;
    --verde-cta: #28a745;
    --verde-cta-hover: #218838;
    --verde-whatsapp: #25d366;
    --texto-escuro: #2c3e50;
    --font-titulo: 'Montserrat', sans-serif;
    --font-corpo: 'Nunito', sans-serif;
    --sombra-card: 0 4px 20px rgba(0,0,0,0.08);
    --sombra-elevada: 0 8px 30px rgba(0,0,0,0.12);
    --transicao: all 0.3s ease;
    --radius: 12px;
    --radius-sm: 8px;
}

/* ========== RESET ========== */
*, *::before, *::after { margin:0; padding:0; box-sizing:border-box; }
html { scroll-behavior:smooth; scroll-padding-top:80px; overflow-x:hidden; }
body { font-family:var(--font-corpo); color:var(--texto-escuro); line-height:1.7; background:var(--branco); overflow-x:hidden; min-width:0; }
h1,h2,h3,h4,h5,h6 { font-family:var(--font-titulo); line-height:1.3; word-wrap:break-word; overflow-wrap:break-word; }
a { text-decoration:none; color:inherit; transition:var(--transicao); }
img { max-width:100%; height:auto; display:block; }
select, input, textarea { max-width:100%; }
iframe { max-width:100%; }
ul { list-style:none; }

/* ========== LAYOUT ========== */
.container { max-width:1200px; margin:0 auto; padding:0 20px; }

/* ========== SECTION COMMON ========== */
.page-section { padding:100px 0; }
.page-section--gray { background:var(--cinza-bg); }
.page-section--white { background:var(--branco); }
.page-section--azul { background:var(--azul-marinho); }

.section-title { text-align:center; margin-bottom:16px; }
.section-title h2 { font-size:2.2rem; font-weight:800; color:var(--azul-marinho); display:inline-block; }
.section-title h2::after { content:''; display:block; width:60px; height:4px; background:var(--turquesa); border-radius:2px; margin:12px auto 0; }
.section-title--light h2 { color:var(--branco); }
.section-subtitle { text-align:center; color:var(--cinza-texto); font-size:1.1rem; max-width:650px; margin:0 auto 48px; }

/* ========== PAGE HEADER (internal pages) ========== */
.page-header {
    background: linear-gradient(135deg, var(--azul-marinho) 0%, var(--azul-marinho-dark) 100%);
    padding: 120px 0 60px;
    text-align: center;
    position: relative;
    overflow: hidden;
}
.page-header::before {
    content:''; position:absolute; width:400px; height:400px; border-radius:50%;
    background:rgba(0,180,200,0.08); top:-150px; right:-100px;
}
.page-header::after {
    content:''; position:absolute; width:250px; height:250px; border-radius:50%;
    background:rgba(0,180,200,0.05); bottom:-80px; left:-60px;
}
.page-header h1 { color:var(--branco); font-size:2.6rem; font-weight:800; margin-bottom:12px; position:relative; z-index:2; }
.page-header p { color:rgba(255,255,255,0.75); font-size:1.15rem; max-width:600px; margin:0 auto; position:relative; z-index:2; }
.page-header .breadcrumb { margin-top:16px; position:relative; z-index:2; }
.page-header .breadcrumb a { color:var(--turquesa); font-weight:600; font-size:0.9rem; }
.page-header .breadcrumb span { color:rgba(255,255,255,0.5); font-size:0.9rem; }
.breadcrumb-separator { color:rgba(255,255,255,0.4); margin:0 8px; }
ul.unidade-detail { list-style:none; }
ul.unidade-detail li { display:flex; align-items:flex-start; gap:10px; margin-bottom:12px; font-size:0.95rem; color:var(--cinza-texto); }
ul.unidade-detail li svg { width:16px; height:16px; fill:var(--turquesa); flex-shrink:0; margin-top:3px; }

/* ========== BUTTONS ========== */
.btn {
    display:inline-flex; align-items:center; gap:8px; padding:14px 32px;
    border-radius:50px; font-family:var(--font-titulo); font-weight:700;
    font-size:1rem; cursor:pointer; border:none; transition:var(--transicao);
    text-align:center; justify-content:center;
}
.btn-verde { background:var(--verde-cta); color:var(--branco); }
.btn-verde:hover { background:var(--verde-cta-hover); transform:translateY(-2px); box-shadow:0 6px 20px rgba(40,167,69,0.35); }
.btn-outline { background:transparent; color:var(--branco); border:2px solid var(--branco); }
.btn-outline:hover { background:var(--branco); color:var(--azul-marinho); }
.btn-outline-azul { background:transparent; color:var(--azul-marinho); border:2px solid var(--azul-marinho); }
.btn-outline-azul:hover { background:var(--azul-marinho); color:var(--branco); }
.btn-turquesa { background:var(--turquesa); color:var(--branco); }
.btn-turquesa:hover { background:var(--turquesa-light); transform:translateY(-2px); box-shadow:0 6px 20px rgba(0,180,200,0.35); }
.btn-branco { background:var(--branco); color:var(--azul-marinho); }
.btn-branco:hover { background:var(--cinza-bg); transform:translateY(-2px); box-shadow:0 6px 20px rgba(0,0,0,0.15); }
.btn-lg { padding:16px 40px; font-size:1.05rem; }

/* ========== ANIMATIONS ========== */
.fade-in { opacity:0; transform:translateY(30px); transition:opacity 0.7s ease, transform 0.7s ease; }
.fade-in.visible { opacity:1; transform:translateY(0); }
.fade-in-left { opacity:0; transform:translateX(-40px); transition:opacity 0.7s ease, transform 0.7s ease; }
.fade-in-left.visible { opacity:1; transform:translateX(0); }
.fade-in-right { opacity:0; transform:translateX(40px); transition:opacity 0.7s ease, transform 0.7s ease; }
.fade-in-right.visible { opacity:1; transform:translateX(0); }

/* ========== TOPBAR ========== */
.topbar { background:var(--azul-marinho-dark); color:var(--branco); font-size:0.85rem; padding:8px 0; }
.topbar .container { display:flex; justify-content:space-between; align-items:center; flex-wrap:wrap; gap:8px; }
.topbar-left { display:flex; align-items:center; gap:20px; flex-wrap:wrap; }
.topbar-item { display:flex; align-items:center; gap:6px; opacity:0.9; }
.topbar-item svg { width:14px; height:14px; fill:var(--turquesa); flex-shrink:0; }
.topbar-right { display:flex; align-items:center; gap:16px; }
.topbar-right a { display:flex; align-items:center; justify-content:center; width:32px; height:32px; border-radius:50%; background:rgba(255,255,255,0.1); transition:var(--transicao); flex-shrink:0; }
.topbar-right a:hover { background:var(--turquesa); }
.topbar-right a svg { width:16px; height:16px; fill:var(--branco); }

/* ========== NAVBAR ========== */
.navbar { background:var(--branco); padding:12px 0; position:sticky; top:0; z-index:1000; transition:var(--transicao); }
.navbar.scrolled { box-shadow:0 2px 20px rgba(0,0,0,0.1); padding:8px 0; }
.navbar .container { display:flex; justify-content:space-between; align-items:center; }
.navbar-logo { display:flex; align-items:center; gap:10px; font-family:var(--font-titulo); }
.navbar-logo .logo-icon { width:48px; height:48px; }
.navbar-logo .logo-text { display:flex; flex-direction:column; line-height:1.2; }
.navbar-logo .logo-text .name { font-size:1.3rem; font-weight:800; color:var(--azul-marinho); }
.navbar-logo .logo-text .subtitle { font-size:0.7rem; font-weight:600; color:var(--cinza-texto); letter-spacing:3px; text-transform:uppercase; }
.nav-menu { display:flex; align-items:center; gap:4px; }
.nav-menu a { padding:8px 14px; font-size:0.9rem; font-weight:600; color:var(--texto-escuro); border-radius:var(--radius-sm); position:relative; }
.nav-menu a:hover, .nav-menu a.active { color:var(--turquesa); background:rgba(0,180,200,0.06); }
.nav-menu .btn-verde { padding:10px 24px; font-size:0.88rem; margin-left:8px; }
.nav-menu .btn-verde:hover { color:var(--branco); }
.hamburger { display:none; flex-direction:column; gap:5px; cursor:pointer; padding:8px; z-index:1001; }
.hamburger span { display:block; width:26px; height:3px; background:var(--azul-marinho); border-radius:3px; transition:var(--transicao); }
.hamburger.active span:nth-child(1) { transform:rotate(45deg) translate(5px,6px); }
.hamburger.active span:nth-child(2) { opacity:0; }
.hamburger.active span:nth-child(3) { transform:rotate(-45deg) translate(5px,-6px); }
.nav-overlay { position:fixed; inset:0; background:rgba(0,0,0,0.4); z-index:999; opacity:0; visibility:hidden; transition:var(--transicao); }
.nav-overlay.active { opacity:1; visibility:visible; }

/* ========== CTA BANNER ========== */
.cta-banner { padding:56px 0; text-align:center; position:relative; overflow:hidden; }
.cta-banner--turquesa { background:linear-gradient(135deg, var(--turquesa) 0%, #009db0 100%); }
.cta-banner--azul { background:linear-gradient(135deg, var(--azul-marinho) 0%, var(--azul-marinho-dark) 100%); }
.cta-banner--verde { background:linear-gradient(135deg, var(--verde-cta) 0%, #1e8a3b 100%); }
.cta-banner--gradient { background:linear-gradient(135deg, var(--azul-marinho-dark) 0%, var(--turquesa) 100%); }
.cta-banner::before { content:''; position:absolute; width:300px; height:300px; border-radius:50%; background:rgba(255,255,255,0.05); top:-100px; right:-50px; }
.cta-banner .container { position:relative; z-index:2; }
.cta-banner h3 { color:var(--branco); font-size:1.6rem; font-weight:800; margin-bottom:8px; }
.cta-banner p { color:rgba(255,255,255,0.85); font-size:1.05rem; margin-bottom:24px; max-width:550px; margin-left:auto; margin-right:auto; }
.cta-banner-buttons { display:flex; gap:16px; justify-content:center; flex-wrap:wrap; }
.cta-banner-content { position:relative; z-index:2; }
.cta-banner-content h2 { color:var(--branco); font-size:1.8rem; font-weight:800; margin-bottom:12px; }
.cta-banner-content p { color:rgba(255,255,255,0.85); font-size:1.05rem; margin-bottom:24px; max-width:550px; margin-left:auto; margin-right:auto; }

/* ========== HERO ========== */
.hero { position:relative; min-height:92vh; display:flex; align-items:center; background-size:cover; background-position:center; background-repeat:no-repeat; overflow:hidden; }
.hero-video { position:absolute; top:50%; left:50%; min-width:100%; min-height:100%; width:auto; height:auto; transform:translate(-50%,-50%); object-fit:cover; z-index:0; }
.hero::before { content:''; position:absolute; inset:0; background:linear-gradient(135deg, rgba(15,36,64,0.88) 0%, rgba(26,58,92,0.78) 50%, rgba(0,180,200,0.3) 100%); z-index:1; }
.hero-overlay { position:absolute; inset:0; background:linear-gradient(135deg, rgba(15,36,64,0.88) 0%, rgba(26,58,92,0.78) 50%, rgba(0,180,200,0.3) 100%); z-index:1; }
.hero .container { position:relative; z-index:2; text-align:center; padding:80px 20px 60px; }
.hero-content { position:relative; z-index:2; }
.hero-badge { display:inline-block; background:rgba(0,180,200,0.2); border:1px solid rgba(0,180,200,0.4); color:var(--turquesa-light); font-size:0.9rem; font-weight:600; padding:8px 24px; border-radius:50px; margin-bottom:24px; backdrop-filter:blur(4px); }
.hero h1 { font-size:3.2rem; font-weight:800; color:var(--branco); max-width:800px; margin:0 auto 20px; line-height:1.15; }
.hero p, .hero-subtitle { font-size:1.2rem; color:rgba(255,255,255,0.88); max-width:620px; margin:0 auto 36px; line-height:1.7; }
.hero-buttons { display:flex; gap:16px; justify-content:center; flex-wrap:wrap; margin-bottom:40px; }
.btn-outline-light { background:transparent; color:var(--branco); border:2px solid rgba(255,255,255,0.6); }
.btn-outline-light:hover { background:var(--branco); color:var(--azul-marinho); border-color:var(--branco); }
.hero-stats { display:flex; justify-content:center; gap:48px; flex-wrap:wrap; }
.hero-stat { text-align:center; color:var(--branco); }
.hero-stat .stat-icon { width:44px; height:44px; border-radius:50%; background:rgba(0,180,200,0.2); display:flex; align-items:center; justify-content:center; margin:0 auto 8px; border:1px solid rgba(0,180,200,0.3); }
.hero-stat .stat-icon svg { width:22px; height:22px; fill:var(--turquesa-light); }
.hero-stat .stat-number, .hero-stat-number { font-family:var(--font-titulo); font-size:1.5rem; font-weight:800; display:block; }
.hero-stat .stat-label, .hero-stat-label { font-size:0.85rem; opacity:0.8; display:block; }

/* ========== DIFERENCIAIS ========== */
.diferenciais { background:var(--azul-marinho); padding:60px 0; }
.diferenciais-grid { display:grid; grid-template-columns:repeat(3,1fr); gap:32px; }
.diferencial-card { text-align:center; padding:32px 24px; border-radius:var(--radius); background:rgba(255,255,255,0.06); border:1px solid rgba(255,255,255,0.1); transition:var(--transicao); }
.diferencial-card:hover { background:rgba(255,255,255,0.1); transform:translateY(-4px); }
.diferencial-icon { width:64px; height:64px; border-radius:50%; background:rgba(0,180,200,0.15); display:flex; align-items:center; justify-content:center; margin:0 auto 16px; font-size:1.8rem; }
.diferencial-card h3 { color:var(--branco); font-size:1.15rem; font-weight:700; margin-bottom:8px; }
.diferencial-card p { color:rgba(255,255,255,0.7); font-size:0.95rem; }
.diferencial-card svg { width:28px; height:28px; fill:var(--turquesa-light); }
.diferenciais-cta { text-align:center; margin-top:40px; }

/* ========== HOME PREVIEW CARDS ========== */
.section-header { text-align:center; margin-bottom:48px; }
.section-header .section-title { margin-bottom:16px; }
.preview-grid { display:grid; grid-template-columns:repeat(3,1fr); gap:32px; margin-bottom:48px; }
.preview-card { background:var(--branco); border-radius:var(--radius); overflow:hidden; box-shadow:var(--sombra-card); transition:var(--transicao); border:1px solid var(--cinza-borda); }
.preview-card:hover { transform:translateY(-6px); box-shadow:var(--sombra-elevada); }
.preview-card-img { position:relative; overflow:hidden; }
.preview-card-img img { width:100%; height:220px; object-fit:cover; display:block; transition:transform 0.4s ease; }
.preview-card:hover .preview-card-img img { transform:scale(1.05); }
.preview-card-content { padding:24px; }
.preview-card-content h3 { font-size:1.15rem; font-weight:700; color:var(--azul-marinho); margin-bottom:8px; }
.preview-card-content p { color:var(--cinza-texto); font-size:0.95rem; margin-bottom:16px; }
.preview-card-link { color:var(--turquesa); font-weight:700; font-size:0.95rem; display:inline-flex; align-items:center; gap:4px; }
.preview-card-link:hover { color:var(--azul-marinho); gap:8px; }

/* ========== SOBRE ========== */
.sobre-grid { display:grid; grid-template-columns:1fr 1fr; gap:60px; align-items:center; margin-bottom:60px; }
.sobre-texto .tag { display:inline-block; color:var(--turquesa); font-weight:700; font-size:0.9rem; text-transform:uppercase; letter-spacing:2px; margin-bottom:12px; }
.sobre-texto h2 { font-size:2.2rem; font-weight:800; color:var(--azul-marinho); margin-bottom:20px; }
.sobre-texto p { color:var(--cinza-texto); font-size:1.05rem; margin-bottom:16px; }
.sobre-texto strong { color:var(--azul-marinho); }
.sobre-imagem { border-radius:var(--radius); overflow:hidden; box-shadow:var(--sombra-elevada); position:relative; }
.sobre-imagem img { width:100%; height:400px; object-fit:cover; }
.sobre-imagem .sobre-badge { position:absolute; bottom:20px; left:20px; background:var(--turquesa); color:var(--branco); padding:12px 24px; border-radius:var(--radius-sm); font-family:var(--font-titulo); font-weight:700; font-size:0.95rem; }
.responsaveis { margin-top:48px; }
.responsaveis h3 { font-size:1.4rem; font-weight:700; color:var(--azul-marinho); margin-bottom:24px; text-align:center; }
.responsaveis-grid { display:grid; grid-template-columns:repeat(2,1fr); gap:24px; max-width:800px; margin:0 auto; }
.responsavel-card { display:flex; align-items:center; gap:16px; padding:20px; background:var(--cinza-bg); border-radius:var(--radius); border-left:4px solid var(--turquesa); }
.responsavel-card img { width:64px; height:64px; border-radius:50%; object-fit:cover; }
.responsavel-info h4 { font-size:1rem; font-weight:700; color:var(--azul-marinho); }
.responsavel-info span { font-size:0.85rem; color:var(--cinza-texto); display:block; }

/* ========== ESPECIALISTAS ========== */
.especialistas-grid { display:grid; grid-template-columns:repeat(4,1fr); gap:24px; margin-bottom:32px; }
.especialista-card { background:var(--branco); border-radius:var(--radius); padding:32px 20px; text-align:center; box-shadow:var(--sombra-card); transition:var(--transicao); border:1px solid transparent; }
.especialista-card:hover { transform:translateY(-6px); box-shadow:var(--sombra-elevada); border-color:var(--turquesa); }
.especialista-card img { width:100px; height:100px; border-radius:50%; object-fit:cover; margin:0 auto 16px; border:3px solid var(--cinza-bg); }
.especialista-card h4 { font-size:1rem; font-weight:700; color:var(--azul-marinho); margin-bottom:4px; }
.especialista-card .especialidade { color:var(--turquesa); font-size:0.9rem; font-weight:600; margin-bottom:4px; }
.especialista-card .crm { color:var(--cinza-texto); font-size:0.8rem; margin-bottom:12px; }
.especialista-card .badge-disponivel { display:inline-block; background:rgba(40,167,69,0.1); color:var(--verde-cta); font-size:0.78rem; font-weight:700; padding:4px 12px; border-radius:50px; margin-bottom:16px; }
.especialista-card .btn { padding:10px 24px; font-size:0.85rem; width:100%; }
.especialistas-nota { text-align:center; color:var(--cinza-texto); font-style:italic; font-size:0.95rem; margin-bottom:32px; }

/* ========== SERVIÇOS ========== */
.servicos-grid { display:grid; grid-template-columns:repeat(4,1fr); gap:24px; margin-bottom:48px; }
.servico-card { background:var(--branco); border-radius:var(--radius); padding:32px 24px; text-align:center; box-shadow:var(--sombra-card); border-bottom:3px solid transparent; transition:var(--transicao); }
.servico-card:hover { transform:translateY(-6px); box-shadow:var(--sombra-elevada); border-bottom-color:var(--turquesa); }
.servico-icon { width:56px; height:56px; border-radius:50%; background:linear-gradient(135deg, rgba(0,180,200,0.1), rgba(26,58,92,0.08)); display:flex; align-items:center; justify-content:center; margin:0 auto 16px; font-size:1.6rem; }
.servico-card h4 { font-size:1rem; font-weight:700; color:var(--azul-marinho); margin-bottom:8px; }
.servico-card p { color:var(--cinza-texto); font-size:0.9rem; line-height:1.5; }

/* ========== UNIDADES ========== */
.unidades-grid { display:grid; grid-template-columns:repeat(2,1fr); gap:32px; }
.unidade-card { background:var(--branco); border-radius:var(--radius); overflow:hidden; box-shadow:var(--sombra-card); transition:var(--transicao); }
.unidade-card:hover { box-shadow:var(--sombra-elevada); }
.unidade-mapa { width:100%; height:220px; background:var(--cinza-bg); }
.unidade-mapa iframe { width:100%; height:100%; border:0; }
.unidade-mapa-placeholder { width:100%; height:100%; display:flex; align-items:center; justify-content:center; background:linear-gradient(135deg, var(--cinza-bg), #e8ecf0); color:var(--cinza-texto); font-size:0.95rem; }
.unidade-info { padding:28px; }
.unidade-info .unidade-cidade { display:flex; align-items:center; gap:8px; margin-bottom:16px; }
.unidade-info .unidade-cidade svg { width:20px; height:20px; fill:var(--turquesa); }
.unidade-info .unidade-cidade h3 { font-size:1.3rem; font-weight:700; color:var(--azul-marinho); }
/* unidade-detail is a UL - styles already defined above at line 76-78 */
.unidade-nota { background:rgba(0,180,200,0.08); padding:12px 16px; border-radius:var(--radius-sm); color:var(--turquesa); font-size:0.88rem; font-weight:600; margin-top:12px; }
.unidade-buttons { display:flex; gap:12px; flex-wrap:wrap; margin-top:16px; }

/* ========== AGENDAMENTO ========== */
.agendamento-section { background:linear-gradient(135deg, var(--azul-marinho) 0%, var(--azul-marinho-dark) 100%); position:relative; overflow:hidden; }
.agendamento-section::before { content:''; position:absolute; width:500px; height:500px; border-radius:50%; background:rgba(0,180,200,0.06); top:-200px; right:-200px; }
.agendamento-grid { display:grid; grid-template-columns:1.4fr 1fr; gap:48px; position:relative; z-index:2; }
.form-agendamento { background:var(--branco); border-radius:var(--radius); padding:40px; box-shadow:var(--sombra-elevada); }
.form-row { display:grid; grid-template-columns:1fr 1fr; gap:16px; }
.form-group { margin-bottom:20px; }
.form-group.full { grid-column:1/-1; }
.form-group label { display:block; font-weight:700; font-size:0.88rem; color:var(--azul-marinho); margin-bottom:6px; }
.form-group label .required { color:#e74c3c; }
.form-group input, .form-group select, .form-group textarea { width:100%; padding:12px 16px; border:2px solid var(--cinza-borda); border-radius:var(--radius-sm); font-family:var(--font-corpo); font-size:0.95rem; color:var(--texto-escuro); transition:var(--transicao); background:var(--branco); }
.form-group input:focus, .form-group select:focus, .form-group textarea:focus { outline:none; border-color:var(--turquesa); box-shadow:0 0 0 3px rgba(0,180,200,0.15); }
.form-group textarea { resize:vertical; min-height:100px; }
.form-group input.error, .form-group select.error { border-color:#e74c3c; }
.form-group .error-msg { color:#e74c3c; font-size:0.8rem; margin-top:4px; display:none; }
.form-group .form-hint { display:block; font-size:0.78rem; color:rgba(255,255,255,0.5); margin-top:4px; font-style:italic; }
.form-group select option:disabled { color:#aaa; }
.periodo-options { display:flex; gap:12px; }
.periodo-option { flex:1; }
.periodo-option input[type="radio"] { display:none; }
.periodo-option label { display:flex; align-items:center; justify-content:center; padding:12px; border:2px solid var(--cinza-borda); border-radius:var(--radius-sm); cursor:pointer; transition:var(--transicao); font-weight:600; text-align:center; }
.periodo-option input:checked + label { border-color:var(--turquesa); background:rgba(0,180,200,0.08); color:var(--turquesa); }
.btn-enviar { width:100%; padding:16px; font-size:1.1rem; background:var(--verde-cta); color:var(--branco); border:none; border-radius:var(--radius-sm); font-family:var(--font-titulo); font-weight:700; cursor:pointer; transition:var(--transicao); display:flex; align-items:center; justify-content:center; gap:10px; }
.btn-enviar:hover { background:var(--verde-cta-hover); transform:translateY(-2px); box-shadow:0 6px 20px rgba(40,167,69,0.35); }
.contato-lateral { display:flex; flex-direction:column; gap:24px; }
.contato-box { background:rgba(255,255,255,0.08); border:1px solid rgba(255,255,255,0.12); border-radius:var(--radius); padding:28px; backdrop-filter:blur(4px); }
.contato-box h3 { color:var(--branco); font-size:1.2rem; font-weight:700; margin-bottom:20px; }
.contato-box-item { display:flex; align-items:center; gap:12px; margin-bottom:16px; color:rgba(255,255,255,0.85); font-size:0.95rem; }
.contato-box-item:last-child { margin-bottom:0; }
.contato-box-item .icon-circle { width:40px; height:40px; border-radius:50%; background:rgba(0,180,200,0.15); display:flex; align-items:center; justify-content:center; flex-shrink:0; }
.contato-box-item svg { width:18px; height:18px; fill:var(--turquesa); }
.contato-box-item a { color:rgba(255,255,255,0.85); }
.contato-box-item a:hover { color:var(--turquesa); }
.form-success { display:none; text-align:center; padding:60px 40px; }
.form-success.show { display:block; }
.form-success svg { width:80px; height:80px; fill:var(--verde-cta); margin-bottom:20px; }
.form-success h3 { font-size:1.5rem; color:var(--azul-marinho); margin-bottom:12px; }
.form-success p { color:var(--cinza-texto); }

/* ========== DEPOIMENTOS ========== */
.depoimentos-grid { display:grid; grid-template-columns:repeat(3,1fr); gap:32px; }
.depoimento-card { background:var(--branco); border-radius:var(--radius); padding:32px; box-shadow:var(--sombra-card); position:relative; transition:var(--transicao); }
.depoimento-card:hover { transform:translateY(-4px); box-shadow:var(--sombra-elevada); }
.depoimento-card .aspas { font-size:3rem; color:var(--turquesa); opacity:0.3; font-family:Georgia,serif; line-height:1; position:absolute; top:16px; right:24px; }
.depoimento-card .estrelas { color:#f5a623; font-size:0.9rem; margin-bottom:12px; letter-spacing:2px; }
.depoimento-card blockquote { color:var(--cinza-texto); font-size:0.95rem; font-style:italic; line-height:1.7; margin-bottom:20px; }
.depoimento-card .autor { display:flex; align-items:center; gap:12px; }
.depoimento-card .autor img { width:48px; height:48px; border-radius:50%; object-fit:cover; }
.depoimento-card .autor-inicial { width:48px; height:48px; border-radius:50%; background:var(--turquesa); color:#fff; display:flex; align-items:center; justify-content:center; font-weight:700; font-size:1.2rem; font-family:var(--font-titulo); flex-shrink:0; }
.depoimento-card .autor-info strong { display:block; color:var(--azul-marinho); font-size:0.9rem; }
.depoimento-card .autor-info span { color:var(--cinza-texto); font-size:0.8rem; }
.depoimento-card--medico { border-left:4px solid var(--turquesa); }
.depoimento-card--paciente { border-left:4px solid var(--verde-cta); }
.depoimentos-filter { display:flex; justify-content:center; gap:12px; margin-bottom:40px; }
.depoimentos-filter .filter-btn { padding:10px 24px; border-radius:50px; border:2px solid var(--cinza-borda); background:var(--branco); font-family:var(--font-titulo); font-weight:600; font-size:0.9rem; cursor:pointer; transition:var(--transicao); color:var(--cinza-texto); }
.depoimentos-filter .filter-btn.active, .depoimentos-filter .filter-btn:hover { border-color:var(--turquesa); background:var(--turquesa); color:var(--branco); }

/* ========== ARTIGOS ========== */
.artigos-grid { display:grid; grid-template-columns:repeat(2,1fr); gap:32px; align-items:start; }
.artigo-card { background:var(--branco); border-radius:var(--radius); box-shadow:var(--sombra-card); transition:var(--transicao); }
.artigo-card:hover { box-shadow:var(--sombra-elevada); }
.artigo-card > img { width:100%; height:220px; object-fit:cover; border-radius:var(--radius) var(--radius) 0 0; }
.artigo-card .artigo-body { padding:24px; }
.artigo-card .artigo-tag { display:inline-block; background:rgba(0,180,200,0.1); color:var(--turquesa); font-size:0.78rem; font-weight:700; padding:4px 12px; border-radius:50px; margin-bottom:12px; text-transform:uppercase; }
.artigo-card h3 { font-size:1.1rem; font-weight:700; color:var(--azul-marinho); margin-bottom:8px; line-height:1.4; }
.artigo-card .artigo-body > p { color:var(--cinza-texto); font-size:0.95rem; margin-bottom:16px; line-height:1.6; }
.artigo-card .artigo-meta { display:flex; align-items:center; justify-content:space-between; font-size:0.82rem; color:var(--cinza-texto); padding-top:16px; border-top:1px solid var(--cinza-borda); }
.artigo-card .artigo-meta .author { font-weight:600; color:var(--azul-marinho); }
.btn-leia-mais { background:none; border:2px solid var(--turquesa); color:var(--turquesa); padding:8px 20px; border-radius:50px; font-family:var(--font-titulo); font-weight:600; font-size:0.85rem; cursor:pointer; transition:var(--transicao); margin-bottom:16px; }
.btn-leia-mais:hover { background:var(--turquesa); color:var(--branco); }
.artigo-completo { padding-top:20px; border-top:1px solid var(--cinza-borda); margin-top:8px; animation:fadeIn 0.4s ease; }
.artigo-completo p { color:var(--texto-escuro); font-size:0.93rem; line-height:1.75; margin-bottom:14px; }
.artigo-completo h4 { font-size:1rem; font-weight:700; color:var(--azul-marinho); margin:20px 0 10px; }
.artigo-completo ul { margin:0 0 16px 20px; color:var(--texto-escuro); font-size:0.93rem; line-height:1.75; }
.artigo-completo li { margin-bottom:6px; }
.artigo-completo .btn { margin-top:16px; display:inline-block; }

/* ========== GALERIA ========== */
.galeria-tabs { display:flex; justify-content:center; gap:12px; margin-bottom:40px; }
.galeria-tabs .tab-btn { padding:10px 28px; border-radius:50px; border:2px solid var(--cinza-borda); background:var(--branco); font-family:var(--font-titulo); font-weight:600; font-size:0.9rem; cursor:pointer; transition:var(--transicao); color:var(--cinza-texto); }
.galeria-tabs .tab-btn.active, .galeria-tabs .tab-btn:hover { border-color:var(--turquesa); background:var(--turquesa); color:var(--branco); }
.galeria-fotos { display:grid; grid-template-columns:repeat(4,1fr); gap:16px; }
.galeria-fotos .foto-item { border-radius:var(--radius); overflow:hidden; position:relative; cursor:pointer; aspect-ratio:4/3; }
.galeria-fotos .foto-item img { width:100%; height:100%; object-fit:cover; transition:var(--transicao); }
.galeria-fotos .foto-item:hover img { transform:scale(1.05); }
.galeria-fotos .foto-item .foto-overlay { position:absolute; inset:0; background:rgba(26,58,92,0.6); display:flex; align-items:center; justify-content:center; opacity:0; transition:var(--transicao); }
.galeria-fotos .foto-item:hover .foto-overlay { opacity:1; }
.galeria-fotos .foto-item .foto-overlay span { color:var(--branco); font-weight:700; font-size:0.9rem; }
.galeria-videos { display:grid; grid-template-columns:repeat(2,1fr); gap:24px; }
.galeria-videos .video-item { border-radius:var(--radius); overflow:hidden; background:#000; aspect-ratio:16/9; position:relative; }
.galeria-videos .video-item img { width:100%; height:100%; object-fit:cover; opacity:0.7; }
.galeria-videos .video-item .play-btn { position:absolute; top:50%; left:50%; transform:translate(-50%,-50%); width:64px; height:64px; border-radius:50%; background:rgba(0,180,200,0.9); display:flex; align-items:center; justify-content:center; transition:var(--transicao); cursor:pointer; }
.galeria-videos .video-item:hover .play-btn { transform:translate(-50%,-50%) scale(1.1); background:var(--turquesa); }
.galeria-videos .video-item .play-btn svg { width:28px; height:28px; fill:var(--branco); margin-left:4px; }
.galeria-videos .video-item .video-title { position:absolute; bottom:0; left:0; right:0; padding:16px 20px; background:linear-gradient(transparent, rgba(0,0,0,0.8)); color:var(--branco); font-weight:700; font-size:0.95rem; }
.galeria-unidade-title { text-align:center; margin:48px 0 24px; font-size:1.3rem; font-weight:700; color:var(--azul-marinho); }
.galeria-unidade-title:first-of-type { margin-top:0; }

/* ========== FOOTER ========== */
.footer { background:var(--azul-marinho-dark); color:rgba(255,255,255,0.8); padding:60px 0 0; }
.footer-grid { display:grid; grid-template-columns:1.3fr 1fr 1fr 1fr; gap:40px; margin-bottom:40px; }
.footer-col h4 { color:var(--branco); font-size:1.1rem; font-weight:700; margin-bottom:20px; position:relative; }
.footer-col h4::after { content:''; display:block; width:40px; height:3px; background:var(--turquesa); border-radius:2px; margin-top:8px; }
.footer-col p { font-size:0.92rem; line-height:1.7; margin-bottom:12px; }
.footer-col ul li { margin-bottom:8px; }
.footer-col ul li a { font-size:0.92rem; color:rgba(255,255,255,0.7); display:flex; align-items:center; gap:8px; }
.footer-col ul li a:hover { color:var(--turquesa); padding-left:4px; }
.footer-col .contact-item { display:flex; align-items:flex-start; gap:10px; margin-bottom:12px; font-size:0.9rem; }
.footer-col .contact-item svg { width:16px; height:16px; fill:var(--turquesa); flex-shrink:0; margin-top:3px; }
.footer-social { display:flex; flex-direction:column; gap:12px; margin-top:16px; }
.footer-social a { display:flex; align-items:center; gap:8px; transition:var(--transicao); }
.footer-social a:hover { background:var(--turquesa); transform:translateY(-2px); }
.footer-social a svg { width:18px; height:18px; fill:var(--branco); }
.footer-bottom { border-top:1px solid rgba(255,255,255,0.1); padding:20px 0; text-align:center; font-size:0.85rem; color:rgba(255,255,255,0.5); }
.footer-bottom-inner { max-width:800px; margin:0 auto; }
.footer-bottom .responsaveis-footer { margin-top:8px; font-size:0.82rem; }
.footer-responsavel { font-size:0.82rem; margin-top:4px; }
.footer-logo { display:flex; align-items:center; gap:10px; font-family:var(--font-titulo); margin-bottom:16px; }
.footer-logo .logo-icon { width:40px; height:40px; }
.footer-logo .logo-text .name { font-size:1.2rem; font-weight:800; color:var(--branco); }
.footer-logo .logo-text .subtitle { font-size:0.65rem; font-weight:600; color:rgba(255,255,255,0.5); letter-spacing:3px; text-transform:uppercase; }
.footer-about-text { font-size:0.92rem; line-height:1.7; margin-bottom:12px; }
.footer-links li { margin-bottom:8px; }
.footer-links li a { font-size:0.92rem; color:rgba(255,255,255,0.7); }
.footer-links li a:hover { color:var(--turquesa); padding-left:4px; }
.footer-contact li { display:flex; align-items:flex-start; gap:10px; margin-bottom:12px; font-size:0.9rem; }
.footer-contact li svg { width:16px; height:16px; fill:var(--turquesa); flex-shrink:0; margin-top:3px; }
.footer-contact li a { color:rgba(255,255,255,0.7); }
.footer-contact li a:hover { color:var(--turquesa); }
.footer-social a { display:flex; align-items:center; gap:8px; color:rgba(255,255,255,0.7); font-size:0.92rem; }
.footer-social a:hover { color:var(--turquesa); }
.footer-social a svg { width:20px; height:20px; fill:currentColor; flex-shrink:0; }
.footer-social a span { display:inline; }

/* ========== WHATSAPP FLOAT ========== */
.whatsapp-float { position:fixed; bottom:24px; right:24px; z-index:999; display:flex; align-items:center; gap:10px; }
.whatsapp-float .tooltip { background:var(--branco); color:var(--texto-escuro); font-size:0.85rem; font-weight:600; padding:8px 16px; border-radius:var(--radius-sm); box-shadow:var(--sombra-card); white-space:nowrap; opacity:0; transform:translateX(10px); transition:var(--transicao); pointer-events:none; }
.whatsapp-float:hover .tooltip { opacity:1; transform:translateX(0); }
.whatsapp-float a { width:60px; height:60px; border-radius:50%; background:var(--verde-whatsapp); display:flex; align-items:center; justify-content:center; box-shadow:0 4px 16px rgba(37,211,102,0.4); transition:var(--transicao); animation:pulse-whatsapp 2s infinite; }
.whatsapp-float a:hover { transform:scale(1.1); box-shadow:0 6px 24px rgba(37,211,102,0.5); }
.whatsapp-float a svg { width:32px; height:32px; fill:var(--branco); }
@keyframes pulse-whatsapp { 0%,100%{box-shadow:0 4px 16px rgba(37,211,102,0.4)} 50%{box-shadow:0 4px 24px rgba(37,211,102,0.6)} }

/* ========== SCROLL TOP ========== */
.scroll-top { position:fixed; bottom:96px; right:32px; width:44px; height:44px; border-radius:50%; background:var(--azul-marinho); color:var(--branco); display:flex; align-items:center; justify-content:center; cursor:pointer; z-index:998; opacity:0; visibility:hidden; transform:translateY(10px); transition:var(--transicao); border:none; box-shadow:var(--sombra-card); }
.scroll-top.visible { opacity:1; visibility:visible; transform:translateY(0); }
.scroll-top:hover { background:var(--turquesa); transform:translateY(-2px); }
.scroll-top svg { width:20px; height:20px; fill:var(--branco); }

/* ========== TEXT CENTER ========== */
.text-center { text-align:center; }
.mt-48 { margin-top:48px; }
.mb-48 { margin-bottom:48px; }

/* ========== RESPONSIVE ========== */
@media (max-width:1280px) {
    .especialistas-grid { grid-template-columns:repeat(3,1fr); }
}
@media (max-width:1024px) {
    .nav-menu { position:fixed; top:0; right:-100%; width:300px; height:100vh; background:var(--branco); flex-direction:column; padding:80px 32px 32px; box-shadow:-4px 0 20px rgba(0,0,0,0.1); transition:right 0.35s ease; gap:4px; align-items:stretch; z-index:1000; overflow-y:auto; }
    .nav-menu.active { right:0; }
    .nav-menu a { padding:12px 16px; font-size:1rem; }
    .nav-menu .btn-verde { margin-left:0; margin-top:12px; text-align:center; }
    .hamburger { display:flex; }
    .hero h1 { font-size:2.4rem; }
    .servicos-grid { grid-template-columns:repeat(3,1fr); }
    .especialistas-grid { grid-template-columns:repeat(2,1fr); }
    .agendamento-grid { grid-template-columns:1fr; }
    .footer-grid { grid-template-columns:repeat(2,1fr); }
    .sobre-grid { grid-template-columns:1fr; }
    .preview-grid { grid-template-columns:repeat(2,1fr); }
    .galeria-fotos { grid-template-columns:repeat(3,1fr); }
}
@media (max-width:768px) {
    .topbar { font-size:0.72rem; padding:6px 0; }
    .topbar-left { gap:8px; flex-wrap:wrap; }
    .topbar-item:nth-child(2) { display:none; }
    .topbar-item:nth-child(3) { display:none; }
    .topbar-item a, .topbar-item span { font-size:0.72rem; white-space:nowrap; }
    .container { padding:0 16px; }
    .page-section { padding:48px 0; }
    .hero { min-height:auto; padding:0 16px; background-position:center top; }
    .hero .container { padding:60px 16px 32px; }
    .hero h1 { font-size:1.8rem; line-height:1.2; margin-bottom:12px; }
    .hero p { font-size:0.92rem; margin-bottom:20px; }
    .hero-stats { gap:16px; flex-wrap:wrap; justify-content:center; margin-top:8px; }
    .hero-stat .stat-number, .hero-stat-number { font-size:1.3rem; }
    .hero-stat .stat-label, .hero-stat-label { font-size:0.75rem; }
    .hero-badge { font-size:0.78rem; padding:6px 14px; margin-bottom:12px; }
    .hero-buttons { flex-direction:column; gap:10px; align-items:center; margin-bottom:20px; }
    .hero-buttons .btn { width:100%; max-width:300px; text-align:center; padding:12px 20px; font-size:0.9rem; }
    .diferenciais { padding:40px 0; }
    .diferenciais-grid { grid-template-columns:1fr; gap:16px; }
    .diferencial-card { padding:20px 16px; }
    .diferencial-card h3 { font-size:1rem; }
    .diferencial-card p { font-size:0.85rem; }
    .diferenciais-cta { margin-top:24px; }
    .servicos-grid { grid-template-columns:repeat(2,1fr); gap:16px; }
    .servico-card { padding:20px 16px; }
    .especialistas-grid { grid-template-columns:repeat(2,1fr); gap:16px; }
    .especialista-card { padding:20px 12px; }
    .especialista-card img { width:90px; height:90px; }
    .unidades-grid { grid-template-columns:1fr; }
    .unidade-card iframe { height:200px; }
    .responsaveis-grid { grid-template-columns:1fr; }
    .form-row { grid-template-columns:1fr; }
    .section-title h2 { font-size:1.6rem; }
    .section-subtitle { font-size:0.9rem; padding:0 8px; }
    .page-header h1 { font-size:1.8rem; }
    .page-header p { font-size:0.9rem; padding:0 8px; }
    .depoimentos-grid { grid-template-columns:1fr; }
    .artigos-grid { grid-template-columns:1fr; }
    .artigo-card img { height:180px; }
    .galeria-fotos { grid-template-columns:repeat(2,1fr); gap:8px; }
    .galeria-videos { grid-template-columns:1fr; }
    .cta-banner { padding:36px 0; }
    .cta-banner h2, .cta-banner h3 { font-size:1.3rem; padding:0 8px; margin-bottom:8px; }
    .cta-banner p, .cta-banner-content p { font-size:0.88rem; padding:0 8px; margin-bottom:16px; }
    .cta-banner .btn { font-size:1rem; padding:14px 32px; font-weight:700; }
    .preview-grid { grid-template-columns:1fr; gap:20px; }
    .preview-card-img img { height:200px; object-position:center 20%; }
    .footer-grid { grid-template-columns:1fr; gap:24px; }
    .footer-col { text-align:center; }
    .footer-contact li { justify-content:center; flex-wrap:wrap; }
    .footer-bottom { flex-direction:column; gap:8px; text-align:center; font-size:0.75rem; }
    .contato-lateral { margin-top:24px; }
    .contato-box { padding:20px 16px; }
    .sobre-grid { gap:32px; }
    .sobre-imagem { max-height:300px; }
    .galeria-unidade-title { font-size:1.3rem; }
    .navbar { padding:10px 0; }
    .navbar .container { padding:0 12px; }
    .logo-text .name { font-size:1.1rem; }
    .whatsapp-float { bottom:20px; right:12px; width:48px; height:48px; }
    .whatsapp-float svg { width:24px; height:24px; }
    .scroll-top { bottom:20px; right:68px; width:36px; height:36px; font-size:0.8rem; }
    table { display:block; overflow-x:auto; white-space:nowrap; }
}
@media (max-width:480px) {
    .topbar-left { justify-content:center; }
    .topbar-right { display:none; }
    .hero { min-height:auto; }
    .hero .container { padding:48px 12px 24px; }
    .hero h1 { font-size:1.4rem; }
    .hero p { font-size:0.85rem; margin-bottom:16px; }
    .hero-stat .stat-number, .hero-stat-number { font-size:1.2rem; }
    .hero-stat .stat-label, .hero-stat-label { font-size:0.7rem; }
    .hero-stats { flex-direction:row; gap:24px; }
    .hero-buttons .btn { padding:10px 16px; font-size:0.85rem; }
    .cta-banner-buttons { flex-direction:column; gap:10px; }
    .cta-banner-buttons .btn { width:100%; max-width:320px; }
    .servicos-grid { grid-template-columns:1fr; gap:12px; }
    .servico-icon svg { width:32px; height:32px; }
    .especialistas-grid { grid-template-columns:1fr; }
    .especialista-card img { width:80px; height:80px; }
    .footer-grid { grid-template-columns:1fr; }
    .hero-stats { flex-direction:column; gap:12px; }
    .form-agendamento { padding:20px 16px; }
    .nav-menu { width:100%; }
    .galeria-fotos { grid-template-columns:1fr 1fr; gap:6px; }
    .preview-card-img img { height:150px; }
    .depoimento-card { padding:20px 16px; }
    .periodo-options { flex-direction:column; gap:8px; }
    .breadcrumb { font-size:0.8rem; }
    .btn { padding:10px 20px; font-size:0.88rem; }
    .btn-lg { padding:12px 24px; font-size:0.95rem; }
}
