/* ============================================================
   BREAKPOINT — 631px a 1000px (tablet vertical)
   ============================================================ */
:root {
	--section-py: 36px; 
	--px: 1rem;
}
/* ── Header: hamburguesa (igual que 1125x1001) ────────────── */
.header-urgencias { display: none; }
.header-hamburger { display: flex; }

#header-nav {
	display: none;
	position: absolute;
	top: 80px;
	left: 0;
	right: 0;
	background: var(--white);
	border-top: 1px solid var(--gray-100);
	box-shadow: var(--shadow-lg);
	max-height: calc(100vh - 80px);
	overflow-y: auto;
}

#header-nav.is-open { display: block; }

.header-menu {
	flex-direction: column;
	align-items: stretch;
	gap: 0;
	padding: 8px var(--px) 16px;
}

.header-menu a {
	display: block;
	padding: 14px 0;
	border-bottom: 1px solid var(--gray-100);
}

.header-menu li:last-child a { border-bottom: none; }

.header-hamburger.is-open span:nth-child(1) { transform: translateY(7px) rotate(45deg); }
.header-hamburger.is-open span:nth-child(2) { opacity: 0; }
.header-hamburger.is-open span:nth-child(3) { transform: translateY(-7px) rotate(-45deg); }
.header-hamburger span { transition: transform 0.25s ease, opacity 0.25s ease; }

.menu-item-has-children > a { display: flex; align-items: center; justify-content: space-between; }
.sub-menu { display: none; padding-left: 16px; }
.menu-item-has-children.is-open .sub-menu { display: block; }

/* CTA se reduce un poco para dejar aire junto al logo/hamburguesa */
.header-cta { padding: 8px 16px; font-size: 0.8rem; }
.header-logo-img { height: 56px; }

/* ── Hero ──────────────────────────────────────────────────── */
#hero { min-height: 640px; }
.hero-title { font-size: 2.5rem; }
.hero-desc { font-size: 1rem; margin-bottom: 32px; }
.hero-actions { flex-wrap: wrap; justify-content: center; margin-bottom: 40px; }
.hero-btn-primary, .hero-btn-ghost { padding: 14px 24px; font-size: 1rem; }
.hero-info { flex-wrap: wrap; justify-content: center; gap: 20px; }

/* ── Welcome: pasa a columna ───────────────────────────────── */
.welcome-inner { flex-direction: column; gap: 48px; }
.welcome-img-col, .welcome-content { width: 100%; }
.welcome-img-wrap { height: 380px; }
.welcome-badge { right: 16px; bottom: -20px; }
.welcome-titulo { font-size: 1.875rem; }

/* ── Specialties ───────────────────────────────────────────── */
.specialties-grid { grid-template-columns: repeat(2, 1fr); gap: 16px; }
.specialties-titulo { font-size: 2rem; }

/* ── Footer ────────────────────────────────────────────────── */
.footer-inner { flex-direction: column; text-align: center; gap: 16px; }

/* ── Procedure ─────────────────────────────────────────────── */
.procedure-inner { flex-direction: column; gap: 32px; }
.procedure-content, .procedure-img-col { width: 100%; }
.procedure-titulo { font-size: 1.875rem; }
.procedure-desc { font-size: 1rem; }
.procedure-cta { width: 100%; justify-content: center; }

.advantages-titulo { font-size: 2rem; }
.advantages-row { flex-direction: column; gap: 32px; }
.advantages-img-col { width: 100%; aspect-ratio: 16 / 9; }
.advantages-grid { width: 100%; grid-template-columns: repeat(2, 1fr); gap: 16px; }
.adv-card { padding: 20px; }

.results-titulo { font-size: 2rem; }
.results-slide { grid-template-columns: 1fr; }

.faq-titulo { font-size: 2rem; }
.faq-grid { grid-template-columns: 1fr; }

.hcontact-inner { grid-template-columns: 1fr; gap: 32px; }
.hcontact-form-card { padding: 28px; }
.hcontact-map-wrap { height: 360px; }

/* Estado activo en menú móvil apilado: barra lateral en vez del
   subrayado de desktop, que no combina con el panel apilado. */
.header-menu .current-menu-item > a::after,
.header-menu .current_page_item > a::after,
.header-menu .current-menu-parent > a::after,
.header-menu .current_page_parent > a::after,
.header-menu .current-menu-ancestor > a::after,
.header-menu .current_page_ancestor > a::after {
	display: none;
}

.header-menu .current-menu-item > a,
.header-menu .current_page_item > a,
.header-menu .current-menu-parent > a,
.header-menu .current_page_parent > a,
.header-menu .current-menu-ancestor > a,
.header-menu .current_page_ancestor > a {
	background: var(--teal-soft);
	border-left: 3px solid var(--teal);
	padding-left: 13px;
}

/* ── NUESTRA HISTORIA ────────────────────────────────────── */
#about-story .about-story-grid{grid-template-columns: 1fr;}
#about-valor .about-valor-banner{grid-template-columns: 1fr;}
#about-valor .about-valor-cards{ grid-template-columns: repeat(1, 1fr);}
#about-facilities .about-video-wrap{height: 400px;}
#about-facilities .about-video-wrap img{object-position: top;}
#about-facilities .about-facilities-grid{    grid-template-columns: 1fr;}
#contacto .contacto-grid{grid-template-columns: 1fr;}

/* ── GALERÍA SLIDER ──────────────────────────────────────── */
#serv-galeria .serv-gal-stats{  grid-template-columns: repeat(2, 1fr);}

/* ── ESPECIALISTAS ─────────────────────────────────────────── */
#team { --team-per-view: 2; }
.team-titulo { font-size: 2rem; }
