/*
 Theme Name:   Astra Child - Mi Terapia Lenguaje Peru
 Theme URI:    https://miterapialenguajeperu.com/
 Description:  Child theme de Astra para personalizaciones seguras del sitio Mi Terapia Lenguaje Peru.
 Author:       Mi Terapia Lenguaje Peru
 Template:     astra
 Version:      1.6.0
 Text Domain:  astra-child
*/

/* Agrega aqui tus ajustes de CSS personalizados */

:root {
	--mtl-accent: #7F3984;
	--mtl-accent-dark: #632C67;
}

/* Acento de marca en botones de llamada a la accion (Reservar Cita, WhatsApp, IR AHORA) */
.ast-custom-button-link .ast-custom-button,
a.elementor-button {
	background-color: var(--mtl-accent) !important;
	border-color: var(--mtl-accent) !important;
	color: #ffffff !important;
	fill: #ffffff !important;
	transition: background-color 0.2s ease, border-color 0.2s ease;
}

.ast-custom-button-link:hover .ast-custom-button,
a.elementor-button:hover {
	background-color: var(--mtl-accent-dark) !important;
	border-color: var(--mtl-accent-dark) !important;
	color: #ffffff !important;
	fill: #ffffff !important;
}

.ast-custom-button-link .ast-custom-button *,
a.elementor-button * {
	color: inherit !important;
	fill: inherit !important;
}

/* ==========================================================================
   Rediseno Home - inspirado en centrodelavoz.com, colores y contenido MTL
   ========================================================================== */

.mtl-redesign {
	--mtl-primary: var(--ast-global-color-0, #3AA6B9);
	--mtl-primary-dark: var(--ast-global-color-1, #2997AA);
	--mtl-ink: var(--ast-global-color-2, #0F172A);
	--mtl-body: var(--ast-global-color-3, #454F5E);
	--mtl-tint: var(--ast-global-color-4, #E9F8F9);
	--mtl-white: var(--ast-global-color-5, #FFFFFF);
	--mtl-soft: var(--ast-global-color-6, #CAE6E8);
	overflow-x: hidden;
	color: var(--mtl-body);
	font-family: 'Mulish', sans-serif;
}

.mtl-redesign h1,
.mtl-redesign h2,
.mtl-redesign h3 {
	font-family: 'Montserrat', sans-serif;
	color: var(--mtl-ink);
	line-height: 1.25;
}

.mtl-wrap {
	max-width: 1180px;
	margin: 0 auto;
	padding: 0 24px;
}

.mtl-wrap-narrow {
	max-width: 820px;
}

.mtl-section {
	padding: 72px 0;
}

.mtl-eyebrow {
	display: inline-block;
	font-family: 'Montserrat', sans-serif;
	font-size: 13px;
	font-weight: 700;
	letter-spacing: .08em;
	text-transform: uppercase;
	color: var(--mtl-primary-dark);
	margin-bottom: 14px;
}

.mtl-eyebrow.center { display: block; text-align: center; }

.mtl-section-title {
	font-size: clamp(24px, 3vw, 32px);
	font-weight: 800;
	margin: 0 0 18px;
}

.mtl-section-title.center { text-align: center; }

.mtl-lead-sm { font-size: 16px; }

/* Buttons */
.mtl-btn {
	display: inline-flex;
	align-items: center;
	gap: 8px;
	font-family: 'Montserrat', sans-serif;
	font-weight: 700;
	font-size: 15px;
	padding: 14px 30px;
	border-radius: 8px;
	text-decoration: none;
	border: 2px solid transparent;
	transition: background-color .2s ease, color .2s ease, border-color .2s ease;
}

.mtl-btn-accent { background: var(--mtl-accent); color: #fff !important; }
.mtl-btn-accent:hover { background: var(--mtl-accent-dark); color: #fff !important; }
.mtl-btn-ghost { border-color: var(--mtl-primary); color: var(--mtl-primary-dark) !important; }
.mtl-btn-ghost:hover { background: var(--mtl-tint); }
.mtl-btn-white { background: #fff; color: var(--mtl-accent-dark) !important; }
.mtl-btn-white:hover { background: var(--mtl-tint); }

/* Hero */
.mtl-hero {
	background: linear-gradient(165deg, var(--mtl-tint) 0%, var(--mtl-soft) 100%);
	padding: 96px 0 64px;
	text-align: center;
}

.mtl-hero-inner { max-width: 760px; margin: 0 auto; }

.mtl-hero h1 {
	font-size: clamp(30px, 5vw, 46px);
	font-weight: 800;
	text-wrap: balance;
	margin: 0 0 20px;
}

.mtl-hero h1 span { color: var(--mtl-accent); }

.mtl-lead {
	font-size: 18px;
	max-width: 56ch;
	margin: 0 auto 32px;
}

.mtl-hero-ctas {
	display: flex;
	justify-content: center;
	gap: 14px;
	flex-wrap: wrap;
	margin-bottom: 36px;
}

.mtl-trust {
	list-style: none;
	display: flex;
	justify-content: center;
	gap: 28px;
	flex-wrap: wrap;
	padding: 0;
	margin: 0;
	font-size: 13.5px;
	font-weight: 600;
	color: var(--mtl-primary-dark);
}

.mtl-trust li::before { content: "✓ "; }

/* Checklist section */
.mtl-checklist-grid {
	display: grid;
	grid-template-columns: 1.1fr 0.9fr;
	gap: 40px;
	align-items: center;
}

@media (max-width: 860px) { .mtl-checklist-grid { grid-template-columns: 1fr; } }

.mtl-checklist-card {
	background: var(--mtl-white);
	border: 1px solid var(--mtl-soft);
	border-radius: 16px;
	padding: 32px;
	box-shadow: 0 12px 30px -18px rgba(15, 23, 42, .25);
}

.mtl-checklist-card h2 { font-size: 21px; margin: 0 0 18px; }

.mtl-checklist {
	list-style: none;
	padding: 0;
	margin: 0;
	display: flex;
	flex-direction: column;
	gap: 12px;
}

.mtl-checklist li {
	padding-left: 28px;
	position: relative;
	font-size: 14.5px;
}

.mtl-checklist li::before {
	content: "";
	position: absolute;
	left: 0; top: 3px;
	width: 16px; height: 16px;
	border: 2px solid var(--mtl-primary);
	border-radius: 4px;
}

.mtl-checklist-copy p { font-size: 16px; margin: 0 0 16px; }

/* Process */
.mtl-process-grid {
	display: grid;
	grid-template-columns: repeat(3, 1fr);
	gap: 28px;
	margin-top: 44px;
}

@media (max-width: 860px) { .mtl-process-grid { grid-template-columns: 1fr; } }

.mtl-process-step {
	background: var(--mtl-white);
	border: 1px solid var(--mtl-soft);
	border-radius: 14px;
	padding: 28px 24px;
}

.mtl-step-num {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 40px; height: 40px;
	border-radius: 50%;
	background: var(--mtl-primary);
	color: #fff;
	font-family: 'Montserrat', sans-serif;
	font-weight: 800;
	margin-bottom: 16px;
}

.mtl-process-step h3 { font-size: 17px; margin: 0 0 10px; }
.mtl-process-step p { font-size: 14px; margin: 0 0 14px; }

.mtl-step-tag {
	display: inline-block;
	font-size: 12px;
	font-weight: 700;
	color: var(--mtl-primary-dark);
	background: var(--mtl-tint);
	padding: 6px 12px;
	border-radius: 999px;
}

/* Services */
.mtl-services-section { background: var(--mtl-tint); }

.mtl-services-grid {
	display: grid;
	grid-template-columns: repeat(2, 1fr);
	gap: 24px;
	margin-top: 44px;
}

@media (max-width: 720px) { .mtl-services-grid { grid-template-columns: 1fr; } }

.mtl-service-card {
	background: var(--mtl-white);
	border-radius: 14px;
	padding: 28px;
	box-shadow: 0 12px 30px -20px rgba(15, 23, 42, .3);
}

.mtl-service-icon {
	width: 44px; height: 44px;
	border-radius: 10px;
	background: var(--mtl-accent);
	color: #fff;
	font-family: 'Montserrat', sans-serif;
	font-weight: 800;
	font-size: 13px;
	display: flex;
	align-items: center;
	justify-content: center;
	margin-bottom: 16px;
}

.mtl-service-card h3 { font-size: 18px; margin: 0 0 10px; }
.mtl-service-card p { font-size: 14px; margin: 0 0 16px; }

.mtl-card-link {
	font-family: 'Montserrat', sans-serif;
	font-weight: 700;
	font-size: 13px;
	color: var(--mtl-accent-dark);
	text-decoration: none;
}

.mtl-card-link:hover { text-decoration: underline; }

/* Why us */
.mtl-why-grid {
	display: grid;
	grid-template-columns: 1fr 1fr;
	gap: 44px;
	align-items: center;
}

@media (max-width: 860px) { .mtl-why-grid { grid-template-columns: 1fr; } }

.mtl-why-list {
	list-style: none;
	padding: 0;
	margin: 0;
	display: flex;
	flex-direction: column;
	gap: 14px;
}

.mtl-why-list li {
	padding-left: 30px;
	position: relative;
	font-size: 15px;
	color: var(--mtl-ink);
	font-weight: 600;
}

.mtl-why-list li::before {
	content: "✓";
	position: absolute;
	left: 0; top: 0;
	width: 22px; height: 22px;
	border-radius: 50%;
	background: var(--mtl-accent);
	color: #fff;
	font-size: 12px;
	display: flex;
	align-items: center;
	justify-content: center;
}

/* Testimonials */
.mtl-testimonials-grid {
	display: grid;
	grid-template-columns: repeat(3, 1fr);
	gap: 24px;
	margin-top: 44px;
}

@media (max-width: 900px) { .mtl-testimonials-grid { grid-template-columns: 1fr; } }

.mtl-testimonial {
	background: var(--mtl-tint);
	border-left: 4px solid var(--mtl-accent);
	border-radius: 4px 14px 14px 4px;
	padding: 26px 24px;
	margin: 0;
}

.mtl-testimonial p {
	font-size: 14px;
	font-style: italic;
	color: var(--mtl-ink);
	margin: 0 0 14px;
}

.mtl-testimonial cite {
	font-family: 'Montserrat', sans-serif;
	font-style: normal;
	font-weight: 700;
	font-size: 13px;
	color: var(--mtl-primary-dark);
}

/* FAQ */
.mtl-faq-list {
	display: flex;
	flex-direction: column;
	gap: 12px;
	margin-top: 40px;
}

.mtl-faq-item {
	background: var(--mtl-white);
	border: 1px solid var(--mtl-soft);
	border-radius: 12px;
	padding: 6px 22px;
}

.mtl-faq-item summary {
	cursor: pointer;
	font-family: 'Montserrat', sans-serif;
	font-weight: 700;
	font-size: 15px;
	color: var(--mtl-ink);
	padding: 16px 0;
	list-style: none;
}

.mtl-faq-item summary::-webkit-details-marker { display: none; }

.mtl-faq-item summary::after {
	content: "+";
	float: right;
	color: var(--mtl-accent);
	font-size: 20px;
	font-weight: 800;
}

.mtl-faq-item[open] summary::after { content: "−"; }

.mtl-faq-item p {
	font-size: 14px;
	padding-bottom: 18px;
	margin: 0;
}

/* Final CTA */
.mtl-final-cta {
	background: linear-gradient(135deg, var(--mtl-accent) 0%, var(--mtl-accent-dark) 100%);
	text-align: center;
}

.mtl-final-cta-inner { max-width: 620px; margin: 0 auto; }

.mtl-final-cta h2 {
	color: #fff;
	font-size: clamp(24px, 3.5vw, 32px);
	margin: 0 0 14px;
}

.mtl-final-cta p {
	color: rgba(255,255,255,.9);
	font-size: 16px;
	margin: 0 0 28px;
}

/* ==========================================================================
   Fichas de producto (tienda WooCommerce)
   ========================================================================== */

.woocommerce ul.products li.product {
	background: var(--ast-global-color-5, #fff);
	border: 1px solid var(--ast-global-color-6, #CAE6E8);
	border-radius: 14px;
	padding: 18px 18px 24px;
	box-shadow: 0 12px 30px -22px rgba(15, 23, 42, .35);
	transition: transform .18s ease, box-shadow .18s ease;
}

.woocommerce ul.products li.product:hover {
	transform: translateY(-4px);
	box-shadow: 0 16px 34px -18px rgba(15, 23, 42, .3);
}

.woocommerce ul.products li.product img {
	border-radius: 10px;
	aspect-ratio: 4 / 3;
	object-fit: cover;
}

.woocommerce ul.products li.product .woocommerce-loop-product__title {
	font-family: 'Montserrat', sans-serif;
	font-weight: 700;
	font-size: 17px;
	color: var(--ast-global-color-2, #0F172A);
	margin: 14px 0 8px;
}

.woocommerce ul.products li.product .woocommerce-loop-product__title + * {
	font-size: 13.5px;
	color: var(--ast-global-color-3, #454F5E);
}

.woocommerce ul.products li.product a.button {
	margin-top: 14px;
	border-radius: 8px !important;
}

.woocommerce div.product .woocommerce-product-details__short-description {
	font-size: 16px;
	color: var(--ast-global-color-3, #454F5E);
}

.woocommerce div.product .summary h4,
.woocommerce div.product .woocommerce-Tabs-panel h4 {
	font-family: 'Montserrat', sans-serif;
	font-size: 15px;
	font-weight: 700;
	color: var(--mtl-accent, #7F3984);
	text-transform: uppercase;
	letter-spacing: .04em;
	margin: 24px 0 10px;
}

.woocommerce div.product ul li,
.woocommerce div.product .woocommerce-Tabs-panel ul li {
	padding-left: 22px;
	position: relative;
	margin-bottom: 8px;
	list-style: none;
}

.woocommerce div.product ul li::before,
.woocommerce div.product .woocommerce-Tabs-panel ul li::before {
	content: "•";
	color: var(--mtl-accent, #7F3984);
	font-weight: 800;
	position: absolute;
	left: 4px;
}

.woocommerce div.product div.images img {
	border-radius: 14px;
}

/* Se retira el bloque de newsletter del footer global (ya hay suficientes CTA de WhatsApp en el sitio) */
.elementor-337 .elementor-element-7340877 {
	display: none !important;
}

/* ==========================================================================
   Ficha de especialista (Quienes Somos)
   ========================================================================== */

.mtl-specialist-card {
	display: flex;
	align-items: center;
	gap: 26px;
	background: var(--ast-global-color-5, #fff);
	border: 1px solid var(--ast-global-color-6, #CAE6E8);
	border-radius: 16px;
	padding: 28px;
	box-shadow: 0 12px 30px -22px rgba(15, 23, 42, .3);
}

@media (max-width: 560px) {
	.mtl-specialist-card { flex-direction: column; text-align: center; }
}

.mtl-specialist-avatar {
	flex: none;
	width: 84px;
	height: 84px;
	border-radius: 50%;
	background: linear-gradient(135deg, var(--ast-global-color-0, #3AA6B9), var(--mtl-accent, #7F3984));
	color: #fff;
	font-family: 'Montserrat', sans-serif;
	font-weight: 800;
	font-size: 26px;
	display: flex;
	align-items: center;
	justify-content: center;
}

.mtl-specialist-info h3 {
	font-size: 19px;
	margin: 0 0 4px;
}

.mtl-specialist-role {
	display: block;
	font-family: 'Montserrat', sans-serif;
	font-weight: 700;
	font-size: 13px;
	color: var(--mtl-accent, #7F3984);
	text-transform: uppercase;
	letter-spacing: .03em;
	margin-bottom: 12px;
}

.mtl-specialist-creds {
	list-style: none;
	padding: 0;
	margin: 0;
	display: flex;
	flex-direction: column;
	gap: 6px;
}

.mtl-specialist-creds li {
	font-size: 13.5px;
	color: var(--ast-global-color-3, #454F5E);
	padding-left: 20px;
	position: relative;
}

.mtl-specialist-creds li::before {
	content: "🎓";
	position: absolute;
	left: 0;
	font-size: 12px;
}

/* Mision / Vision */
.mtl-mv-grid {
	display: grid;
	grid-template-columns: 1fr 1fr;
	gap: 20px;
}

@media (max-width: 640px) { .mtl-mv-grid { grid-template-columns: 1fr; } }

.mtl-mv-card {
	background: var(--mtl-tint, #E9F8F9);
	border-radius: 14px;
	padding: 24px;
}

.mtl-mv-label {
	display: block;
	font-family: 'Montserrat', sans-serif;
	font-weight: 800;
	font-size: 14px;
	color: var(--ast-global-color-1, #2997AA);
	text-transform: uppercase;
	letter-spacing: .04em;
	margin-bottom: 10px;
}

.mtl-mv-card p {
	font-size: 14.5px;
	margin: 0;
}

/* Firma de autoria/revision de la especialista en paginas programaticas */
.mtl-author-byline {
	display: flex;
	align-items: center;
	gap: 12px;
	max-width: fit-content;
	margin: 0 auto 32px;
	padding: 10px 18px 10px 10px;
	background: var(--ast-global-color-5, #fff);
	border: 1px solid var(--ast-global-color-6, #CAE6E8);
	border-radius: 999px;
	box-shadow: 0 8px 20px -16px rgba(15, 23, 42, .3);
}

.mtl-author-avatar {
	flex: none;
	width: 34px;
	height: 34px;
	border-radius: 50%;
	background: linear-gradient(135deg, var(--ast-global-color-0, #3AA6B9), var(--mtl-accent, #7F3984));
	color: #fff;
	font-family: 'Montserrat', sans-serif;
	font-weight: 800;
	font-size: 12px;
	display: flex;
	align-items: center;
	justify-content: center;
}

.mtl-author-text {
	font-size: 12.5px;
	line-height: 1.35;
	color: var(--ast-global-color-3, #454F5E);
	text-align: left;
}

.mtl-author-text strong {
	display: block;
	font-family: 'Montserrat', sans-serif;
	font-size: 13px;
	color: var(--ast-global-color-2, #0F172A);
}

/* Aviso para familias peruanas en el extranjero (paginas de edades y distritos) */
.mtl-diaspora-callout {
	display: flex;
	gap: 16px;
	align-items: flex-start;
	max-width: 680px;
	margin: 28px auto 0;
	padding: 20px 24px;
	background: var(--accent-tint, #F2EBF3);
	border-left: 4px solid var(--mtl-accent, #7F3984);
	border-radius: 4px 14px 14px 4px;
	text-align: left;
}

.mtl-diaspora-icon {
	flex: none;
	font-size: 26px;
	line-height: 1;
}

.mtl-diaspora-callout strong {
	display: block;
	font-family: 'Montserrat', sans-serif;
	font-size: 15px;
	color: var(--ast-global-color-2, #0F172A);
	margin-bottom: 6px;
}

.mtl-diaspora-callout p {
	font-size: 13.5px;
	margin: 0;
	color: var(--ast-global-color-3, #454F5E);
}
