/* ============================================================
   BREAKPOINT — 320px a 630px (móvil)
   ============================================================ */
:root {
	--section-py: 36px; 
	--px: 1rem;
}
/* ── Header: hamburguesa ───────────────────────────────────── */
.header-urgencias { display: none; }
.header-hamburger { display: flex; }
.header-cta { padding: 8px 14px; font-size: 0.75rem; }
.header-logo-nombre { font-size: 1rem; }
.header-logo-img { height: 44px; }
.header-inner { padding: 0 16px; }

#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 16px 16px;
}

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

.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; }

/* ── Hero ──────────────────────────────────────────────────── */
#hero { min-height: 700px; }
.hero-inner { padding: 32px 16px 0; }
.hero-badge { font-size: 0.75rem; padding: 6px 12px; }
.hero-title { font-size: 2rem; margin-bottom: 16px; }
.hero-desc { font-size: 0.9375rem; margin-bottom: 24px; }
.hero-actions { flex-direction: column; width: 100%; gap: 12px; margin-bottom: 32px; }
.hero-btn-primary, .hero-btn-ghost { width: 100%; text-align: center; padding: 14px 20px; }
.hero-info { flex-direction: column; gap: 16px; }
.hero-info-divider { display: none; }

/* ── Welcome ───────────────────────────────────────────────── */
#welcome { padding: 30px 0; }
.welcome-inner { padding: 0 16px; gap: 30px;flex-direction: column; }
.welcome-img-col{
	width: 100%;
}
.welcome-content{
	width: 100%;
}
.welcome-img-wrap { height: 280px; }
.welcome-badge { position: static; margin-top: -5px; margin-left: 16px; max-width: calc(100% - 32px); }
.welcome-titulo { font-size: 1.625rem; }
.welcome-parrafo { font-size: 1rem; }
.welcome-equipo { flex-wrap: wrap; }

/* ── Specialties ───────────────────────────────────────────── */
#specialties { padding: 56px 0; }
.specialties-inner { padding: 0 16px; }
.specialties-header { margin-bottom: 40px; }
.specialties-titulo { font-size: 1.75rem; }
.specialties-subtitulo { font-size: 1rem; }
.specialties-grid { grid-template-columns: 1fr; gap: 20px; }

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

/* ── Procedure ─────────────────────────────────────────────── */
#procedure { padding: 56px 0; }
.procedure-inner { padding: 0 16px; flex-direction: column; gap: 32px; }
.procedure-content, .procedure-img-col { width: 100%; }
.procedure-titulo { font-size: 1.625rem; }
.procedure-desc { font-size: 0.9375rem; }
.procedure-checklist span:last-child { font-size: 0.9375rem; }
.procedure-cta { width: 100%; justify-content: center; padding: 14px 20px; font-size: 1rem; }

/* ── Advantages ────────────────────────────────────────────── */
#advantages { padding: 56px 0; }
.advantages-inner { padding: 0 16px; }
.advantages-header { margin-bottom: 40px; }
.advantages-titulo { font-size: 1.75rem; }
.advantages-subtitulo { font-size: 1rem; }
.advantages-row { flex-direction: column; gap: 24px; }
.advantages-img-col { width: 100%; aspect-ratio: 4 / 3; }
.advantages-grid { width: 100%; grid-template-columns: 1fr; gap: 16px; }
.adv-card { padding: 20px; }

/* ── Results ───────────────────────────────────────────────── */
#results { padding: 56px 0; }
.results-inner { padding: 0 16px; }
.results-header { margin-bottom: 32px; }
.results-titulo { font-size: 1.75rem; }
.results-subtitulo { font-size: 1rem; }
.results-slide { grid-template-columns: 1fr; gap: 16px; }
.res-card-overlay-titulo { font-size: 1rem; }
.res-card-meta { gap: 12px; }
.results-nav-btn { width: 44px; height: 44px; top: calc(50% - 22px); font-size: 0.95rem; }
.results-nav-btn--prev { left: 0.5rem; }
.results-nav-btn--next { right: 0.5rem; }

/* ── FAQ ───────────────────────────────────────────────────── */
#faq { padding: 56px 0; }
.faq-inner { padding: 0 16px; }
.faq-header { margin-bottom: 32px; }
.faq-titulo { font-size: 1.75rem; }
.faq-subtitulo { font-size: 1rem; }
.faq-grid { grid-template-columns: 1fr; gap: 12px; }
.faq-trigger { padding: 16px; }
.faq-pregunta { font-size: 0.9375rem; }
.faq-answer { padding: 0 16px 16px; }

/* ── Contact (Home) ────────────────────────────────────────── */
#contact { padding: 40px 0; }
.hcontact-inner { padding: 0 16px; grid-template-columns: 1fr; gap: 24px; }
.hcontact-form-card { padding: 24px; border-radius: 16px; }
.hcontact-form-titulo { font-size: 1.5rem; }
#contact .cf7-row-2 { grid-template-columns: 1fr; gap: 12px; }
.hcontact-map-wrap { height: 280px; border-radius: 16px; }

/* ── WA chicklet ───────────────────────────────────────────── */
#wa-chicklet { width: 48px; height: 48px; font-size: 1.5rem; bottom: 16px; right: 16px; }

/* 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: 1; --team-gap: 16px; }
.team-inner { padding: 0 16px; }
.team-header { margin-bottom: 24px; }
.team-titulo { font-size: 1.75rem; }
.team-subtitulo { font-size: 1rem; }
.team-nav { margin-bottom: 16px; }
.team-card-body { padding: 20px; }
.team-dots { margin-top: 24px; }
#team.team--admin-preview .team-inner { outline-offset: 6px; }
