/* =========================================================================
   ATLÁNTICO MANTEMENTOS — Sistema de diseño
   Tema hijo de Astra · v1.0.0
   -------------------------------------------------------------------------
   1. Tokens (color, tipografía, espaciado, radios, sombras)
   2. Base y utilidades de layout
   3. Tipografía y encabezados de sección
   4. Botones
   5. Tarjetas, listas y grids
   6. Bloques: hero, planes, checklist, informes, contacto
   7. Cabecera, pie y botón flotante de WhatsApp
   8. Integración con Astra
   9. Responsive
   10. Accesibilidad, impresión y movimiento reducido
   ========================================================================= */

/* -------------------------------------------------------------------------
   1. TOKENS
   ---------------------------------------------------------------------- */
:root {
	/* Marca — extraídos del logotipo y del diseño original */
	--atl-navy:          #00367a; /* Azul Atlántico, color principal */
	--atl-navy-900:      #002453;
	--atl-navy-700:      #0b4c8c;
	--atl-blue:          #1b6ca8; /* Azul medio: filetes y subtítulos */
	--atl-blue-bright:   #38b6ff; /* Azul faro: CTA principal */
	--atl-blue-wave:     #0099d9; /* Azul ola: acentos y enlaces */
	--atl-sun:           #fab42e; /* Naranja amanecer: destacados */

	/* Superficies */
	--atl-surface:       #ffffff;
	--atl-surface-alt:   #eaf4fb; /* Azul hielo: secciones alternas */
	--atl-surface-soft:  #f5f9fd;
	--atl-border:        #cfe2f3;
	--atl-border-strong: #1b6ca8;

	/* Texto */
	--atl-text:          #24313f;
	--atl-text-soft:     #4d5f70;
	--atl-text-invert:   #ffffff;

	/* Semánticos */
	--atl-whatsapp:      #16a34a;
	--atl-whatsapp-dark: #0f7f39;
	--atl-mail:          #f4525c;
	--atl-mail-dark:     #d93b45;
	--atl-ok:            #16a34a;
	--atl-warn:          #fab42e;
	--atl-alert:         #f4525c;

	/* Tipografía */
	--atl-font-head: "Poppins", -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif;
	--atl-font-body: "Poppins", -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif;

	--atl-fs-hero:   clamp(1.9rem, 1.15rem + 2.6vw, 3.1rem);
	--atl-fs-h2:     clamp(1.6rem, 1.05rem + 1.9vw, 2.5rem);
	--atl-fs-h3:     clamp(1.15rem, 1rem + 0.6vw, 1.45rem);
	--atl-fs-lead:   clamp(1.02rem, 0.97rem + 0.35vw, 1.2rem);
	--atl-fs-body:   1rem;
	--atl-fs-small:  0.875rem;

	--atl-lh-tight:  1.18;
	--atl-lh-body:   1.65;

	/* Espaciado (escala de 4) */
	--atl-space-1:  0.25rem;
	--atl-space-2:  0.5rem;
	--atl-space-3:  0.75rem;
	--atl-space-4:  1rem;
	--atl-space-5:  1.5rem;
	--atl-space-6:  2rem;
	--atl-space-7:  3rem;
	--atl-space-8:  4rem;
	--atl-space-9:  6rem;

	--atl-section-y: clamp(3rem, 2rem + 4vw, 5.5rem);
	--atl-container: 1140px;
	--atl-container-narrow: 820px;

	/* Formas */
	--atl-radius-sm: 6px;
	--atl-radius:    12px;
	--atl-radius-lg: 20px;
	--atl-radius-pill: 999px;

	/* Sombras */
	--atl-shadow-sm: 0 1px 2px rgba(0, 54, 122, .08);
	--atl-shadow:    0 6px 20px rgba(0, 54, 122, .10);
	--atl-shadow-lg: 0 16px 40px rgba(0, 54, 122, .16);

	--atl-transition: 180ms ease;
}

/* -------------------------------------------------------------------------
   2. BASE Y LAYOUT
   ---------------------------------------------------------------------- */
.atl-page {
	font-family: var(--atl-font-body);
	color: var(--atl-text);
	line-height: var(--atl-lh-body);
}

.atl-page *,
.atl-page *::before,
.atl-page *::after { box-sizing: border-box; }

.atl-section {
	padding-block: var(--atl-section-y);
	background: var(--atl-surface);
}

.atl-section--alt   { background: var(--atl-surface-alt); }
.atl-section--soft  { background: var(--atl-surface-soft); }
.atl-section--navy  {
	background: linear-gradient(160deg, var(--atl-navy) 0%, var(--atl-navy-900) 100%);
	color: var(--atl-text-invert);
}
.atl-section--navy .atl-section__title,
.atl-section--navy p,
.atl-section--navy li { color: var(--atl-text-invert); }
.atl-section--navy .atl-section__title::after { background: var(--atl-blue-bright); }
.atl-section--tight { padding-block: clamp(2rem, 1.5rem + 2vw, 3rem); }

.atl-container {
	width: min(100% - 2.5rem, var(--atl-container));
	margin-inline: auto;
}
.atl-container--narrow { width: min(100% - 2.5rem, var(--atl-container-narrow)); }

.atl-stack > * + * { margin-top: var(--atl-space-4); }
.atl-center { text-align: center; }
.atl-mt-6 { margin-top: var(--atl-space-6); }
.atl-mt-7 { margin-top: var(--atl-space-7); }

/* -------------------------------------------------------------------------
   3. TIPOGRAFÍA
   ---------------------------------------------------------------------- */
.atl-page h1,
.atl-page h2,
.atl-page h3,
.atl-page h4 {
	font-family: var(--atl-font-head);
	color: var(--atl-navy);
	line-height: var(--atl-lh-tight);
	font-weight: 700;
	margin: 0 0 var(--atl-space-4);
}

.atl-section__head {
	text-align: center;
	margin-bottom: var(--atl-space-7);
}

.atl-section__title {
	font-size: var(--atl-fs-h2);
	letter-spacing: -0.02em;
	margin-bottom: var(--atl-space-4);
}

/* Filete azul bajo cada título, como en el diseño original */
.atl-section__title::after {
	content: "";
	display: block;
	width: min(100%, 880px);
	height: 4px;
	margin: var(--atl-space-4) auto 0;
	background: var(--atl-blue);
	border-radius: var(--atl-radius-pill);
}
.atl-section__title--plain::after { display: none; }

.atl-section__lead {
	font-size: var(--atl-fs-lead);
	color: var(--atl-text-soft);
	max-width: 68ch;
	margin-inline: auto;
}
.atl-section--navy .atl-section__lead { color: rgba(255, 255, 255, .88); }

.atl-eyebrow {
	display: inline-block;
	font-size: var(--atl-fs-small);
	font-weight: 600;
	letter-spacing: .14em;
	text-transform: uppercase;
	color: var(--atl-blue-wave);
	margin-bottom: var(--atl-space-3);
}

.atl-quote {
	font-size: var(--atl-fs-lead);
	color: var(--atl-navy-700);
	text-align: center;
	font-weight: 500;
	max-width: 60ch;
	margin-inline: auto;
}

/* Enlaces de texto (los botones y tarjetas-enlace se excluyen). */
.atl-page a:not([class*="atl-btn"]):not(.atl-contact-method) { color: var(--atl-blue-wave); }
.atl-page a:not([class*="atl-btn"]):not(.atl-contact-method):hover,
.atl-page a:not([class*="atl-btn"]):not(.atl-contact-method):focus { color: var(--atl-navy); }

/* -------------------------------------------------------------------------
   4. BOTONES
   ---------------------------------------------------------------------- */
.atl-btn {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	gap: var(--atl-space-2);
	padding: 0.9rem 2rem;
	min-height: 48px;
	border: 2px solid transparent;
	border-radius: var(--atl-radius-pill);
	font-family: var(--atl-font-head);
	font-size: 1rem;
	font-weight: 600;
	line-height: 1.2;
	text-align: center;
	text-decoration: none;
	cursor: pointer;
	transition: background-color var(--atl-transition), color var(--atl-transition),
	            transform var(--atl-transition), box-shadow var(--atl-transition);
}
.atl-btn:hover  { transform: translateY(-2px); box-shadow: var(--atl-shadow); }
.atl-btn:active { transform: translateY(0); }
.atl-btn:focus-visible {
	outline: 3px solid var(--atl-sun);
	outline-offset: 3px;
}

.atl-page .atl-btn--primary,
.atl-btn--primary  { background: var(--atl-blue-bright); color: #04263f; }
.atl-page .atl-btn--primary:hover,
.atl-page .atl-btn--primary:focus { background: #12a2f5; color: #04263f; }

.atl-page .atl-btn--navy,
.atl-btn--navy     { background: var(--atl-navy); color: #fff; }
.atl-page .atl-btn--navy:hover,
.atl-page .atl-btn--navy:focus { background: var(--atl-navy-700); color: #fff; }

.atl-page .atl-btn--whatsapp,
.atl-btn--whatsapp { background: var(--atl-whatsapp); color: #fff; }
.atl-page .atl-btn--whatsapp:hover,
.atl-page .atl-btn--whatsapp:focus { background: var(--atl-whatsapp-dark); color: #fff; }

.atl-page .atl-btn--mail,
.atl-btn--mail     { background: var(--atl-mail); color: #fff; }
.atl-page .atl-btn--mail:hover,
.atl-page .atl-btn--mail:focus { background: var(--atl-mail-dark); color: #fff; }

.atl-page .atl-btn--ghost,
.atl-btn--ghost {
	background: transparent;
	color: var(--atl-navy);
	border-color: var(--atl-navy);
}
.atl-page .atl-btn--ghost:hover,
.atl-page .atl-btn--ghost:focus { background: var(--atl-navy); color: #fff; }

.atl-btn--block { display: flex; width: 100%; }
.atl-btn--lg    { padding: 1.05rem 2.6rem; font-size: 1.06rem; }

.atl-btn__icon { width: 1.15em; height: 1.15em; flex: none; fill: currentColor; }

.atl-btn-row {
	display: flex;
	flex-wrap: wrap;
	gap: var(--atl-space-4);
	justify-content: center;
}
.atl-btn-row--stack {
	flex-direction: column;
	align-items: center;
	max-width: 340px;
	margin-inline: auto;
}
.atl-btn-row--stack .atl-btn { width: 100%; }

/* -------------------------------------------------------------------------
   5. TARJETAS, LISTAS Y GRIDS
   ---------------------------------------------------------------------- */
.atl-grid { display: grid; gap: var(--atl-space-5); }
.atl-grid--2 { grid-template-columns: repeat(2, minmax(0, 1fr)); }
.atl-grid--3 { grid-template-columns: repeat(3, minmax(0, 1fr)); }
.atl-grid--4 { grid-template-columns: repeat(4, minmax(0, 1fr)); }

.atl-card {
	background: var(--atl-surface);
	border: 1px solid var(--atl-border);
	border-radius: var(--atl-radius);
	padding: var(--atl-space-5);
	box-shadow: var(--atl-shadow-sm);
	transition: transform var(--atl-transition), box-shadow var(--atl-transition);
}
.atl-card:hover { transform: translateY(-3px); box-shadow: var(--atl-shadow); }
.atl-card__title {
	font-size: var(--atl-fs-h3);
	display: flex;
	align-items: center;
	gap: var(--atl-space-2);
	margin-bottom: var(--atl-space-3);
}
.atl-card--soft {
	background: var(--atl-surface-alt);
	border-color: transparent;
	border-radius: var(--atl-radius-lg);
}
.atl-card--plain { box-shadow: none; }

/* Listas con check */
.atl-list { list-style: none; margin: 0; padding: 0; }
.atl-list li {
	position: relative;
	padding-left: 1.75rem;
	margin-bottom: var(--atl-space-2);
	color: var(--atl-text);
}
.atl-list li::before {
	content: "";
	position: absolute;
	left: 0;
	top: .55em;
	width: 1rem;
	height: .55rem;
	border-left: 2.5px solid var(--atl-blue-wave);
	border-bottom: 2.5px solid var(--atl-blue-wave);
	transform: rotate(-45deg);
}
.atl-list--dot li::before {
	top: .62em;
	width: .5rem; height: .5rem;
	border: 0;
	border-radius: 50%;
	background: var(--atl-blue-wave);
	transform: none;
}
.atl-list--warn li::before {
	border-color: var(--atl-alert);
}
.atl-section--navy .atl-list li::before { border-color: var(--atl-blue-bright); }

/* Bloque de dolor (dos columnas de problemas) */
.atl-pain {
	background: #fff;
	border-left: 4px solid var(--atl-alert);
	border-radius: var(--atl-radius-sm);
	padding: var(--atl-space-5);
	box-shadow: var(--atl-shadow-sm);
}

/* Ítem con icono */
.atl-feature {
	display: flex;
	gap: var(--atl-space-4);
	align-items: flex-start;
}
.atl-feature__icon {
	flex: none;
	width: 44px; height: 44px;
	display: grid;
	place-items: center;
	border-radius: var(--atl-radius);
	background: var(--atl-surface-alt);
	color: var(--atl-navy);
	font-size: 1.25rem;
}
.atl-feature__body p { margin: 0; color: var(--atl-text-soft); }
.atl-feature__title {
	font-family: var(--atl-font-head);
	font-weight: 600;
	color: var(--atl-navy);
	margin: 0 0 var(--atl-space-1);
}

/* Píldoras de zona */
.atl-pills {
	display: flex;
	flex-wrap: wrap;
	gap: var(--atl-space-3);
	justify-content: center;
	list-style: none;
	padding: 0;
	margin: 0;
}
.atl-pills li {
	background: #fff;
	border: 1px solid var(--atl-border);
	border-radius: var(--atl-radius-pill);
	padding: .55rem 1.4rem;
	font-weight: 600;
	color: var(--atl-navy);
	box-shadow: var(--atl-shadow-sm);
}

/* -------------------------------------------------------------------------
   6. BLOQUES
   ---------------------------------------------------------------------- */

/* --- Hero --- */
.atl-hero {
	position: relative;
	display: grid;
	place-items: center;
	text-align: center;
	min-height: clamp(480px, 62vh, 680px);
	padding-block: var(--atl-space-8);
	background: var(--atl-navy) center/cover no-repeat;
	color: var(--atl-text-invert);
	isolation: isolate;
}
.atl-hero::before {
	content: "";
	position: absolute;
	inset: 0;
	background: linear-gradient(180deg, rgba(0, 40, 85, .72) 0%, rgba(0, 54, 122, .78) 100%);
	z-index: -1;
}
.atl-hero__inner { width: min(100% - 2.5rem, 900px); }
.atl-hero__logo {
	width: clamp(180px, 24vw, 260px);
	height: auto;
	margin: 0 auto var(--atl-space-5);
	display: block;
	filter: drop-shadow(0 6px 18px rgba(0, 0, 0, .35));
}
.atl-hero__title {
	font-size: var(--atl-fs-hero);
	color: #fff !important;
	margin-bottom: var(--atl-space-4);
	text-wrap: balance;
}
.atl-hero__subtitle {
	font-size: var(--atl-fs-lead);
	color: rgba(255, 255, 255, .95);
	margin-bottom: var(--atl-space-3);
}
.atl-hero__claim {
	color: rgba(255, 255, 255, .88);
	max-width: 62ch;
	margin: 0 auto var(--atl-space-6);
}
.atl-hero__rule {
	width: min(100%, 720px);
	height: 2px;
	background: rgba(255, 255, 255, .55);
	border: 0;
	margin: 0 auto var(--atl-space-5);
}

/* --- Planes / precios --- */
.atl-plans {
	display: grid;
	grid-template-columns: repeat(3, minmax(0, 1fr));
	gap: var(--atl-space-5);
	align-items: start;
}
.atl-plan {
	display: flex;
	flex-direction: column;
	height: 100%;
	background: #fff;
	border: 2px solid var(--atl-blue);
	border-radius: var(--atl-radius);
	padding: var(--atl-space-5);
	box-shadow: var(--atl-shadow-sm);
	transition: transform var(--atl-transition), box-shadow var(--atl-transition);
}
.atl-plan:hover { transform: translateY(-4px); box-shadow: var(--atl-shadow); }
.atl-plan--featured {
	border-color: var(--atl-sun);
	box-shadow: var(--atl-shadow);
}
.atl-plan__badge {
	align-self: flex-start;
	background: var(--atl-sun);
	color: #3d2600;
	font-size: .74rem;
	font-weight: 700;
	letter-spacing: .08em;
	text-transform: uppercase;
	padding: .25rem .7rem;
	border-radius: var(--atl-radius-pill);
	margin-bottom: var(--atl-space-3);
}
.atl-plan__name {
	display: flex;
	align-items: baseline;
	flex-wrap: wrap;
	gap: .5rem;
	font-size: var(--atl-fs-h3);
	margin-bottom: var(--atl-space-2);
}
.atl-plan__price {
	font-family: var(--atl-font-head);
	font-weight: 700;
	color: var(--atl-navy);
	white-space: nowrap;
}
.atl-plan__price span { font-size: .8rem; font-weight: 500; color: var(--atl-text-soft); }
.atl-plan__tagline {
	font-size: var(--atl-fs-small);
	font-weight: 600;
	color: var(--atl-text-soft);
	margin-bottom: var(--atl-space-4);
}
.atl-plan__features { flex: 1 1 auto; margin-bottom: var(--atl-space-5); }
.atl-plan__features li { font-size: .95rem; }
.atl-plan .atl-btn { margin-top: auto; }

/* --- Informes premium --- */
.atl-reports {
	display: grid;
	grid-template-columns: repeat(3, minmax(0, 1fr));
	gap: var(--atl-space-5);
}
.atl-report {
	background: #fff;
	border: 2px solid var(--atl-blue);
	border-radius: var(--atl-radius);
	padding: var(--atl-space-3);
	box-shadow: var(--atl-shadow-sm);
	overflow: hidden;
}
.atl-report img {
	display: block;
	width: 100%;
	height: auto;
	border-radius: var(--atl-radius-sm);
}
.atl-report figcaption {
	font-size: var(--atl-fs-small);
	color: var(--atl-text-soft);
	text-align: center;
	padding-top: var(--atl-space-3);
}

/* --- Sobre mí --- */
.atl-about {
	display: grid;
	grid-template-columns: 260px 1fr;
	gap: var(--atl-space-7);
	align-items: center;
}
.atl-about__media img {
	width: 100%;
	height: auto;
	border-radius: var(--atl-radius-lg);
}
.atl-about__body p { color: var(--atl-text-soft); }
.atl-about__body p + p { margin-top: var(--atl-space-4); }

/* --- Contacto --- */
.atl-contact {
	display: grid;
	grid-template-columns: 1fr 1fr;
	gap: var(--atl-space-7);
	align-items: center;
}
.atl-contact__brand { text-align: center; }
.atl-contact__brand img { width: min(100%, 320px); height: auto; }
.atl-contact__note { color: var(--atl-text-soft); margin-top: var(--atl-space-5); }

.atl-form-card {
	background: var(--atl-surface-alt);
	border: 2px solid var(--atl-navy);
	border-radius: var(--atl-radius-lg);
	padding: clamp(1.5rem, 1rem + 2vw, 2.5rem);
}
.atl-form-card h2,
.atl-form-card h3 { margin-bottom: var(--atl-space-5); }

/* Campos (aplica también a Contact Form 7, WPForms y Forminator) */
.atl-page .atl-form-card input[type="text"],
.atl-page .atl-form-card input[type="email"],
.atl-page .atl-form-card input[type="tel"],
.atl-page .atl-form-card textarea,
.atl-page .atl-form-card select {
	width: 100%;
	padding: .8rem 1rem;
	background: #fff;
	border: 1px solid var(--atl-border);
	border-radius: var(--atl-radius-sm);
	font-family: inherit;
	font-size: 1rem;
	color: var(--atl-text);
	transition: border-color var(--atl-transition), box-shadow var(--atl-transition);
}
.atl-page .atl-form-card input:focus,
.atl-page .atl-form-card textarea:focus,
.atl-page .atl-form-card select:focus {
	outline: none;
	border-color: var(--atl-blue-wave);
	box-shadow: 0 0 0 3px rgba(0, 153, 217, .18);
}
.atl-page .atl-form-card label {
	display: block;
	font-weight: 600;
	color: var(--atl-navy);
	margin-bottom: var(--atl-space-2);
}
.atl-field + .atl-field { margin-top: var(--atl-space-4); }
.atl-field__hint { font-size: var(--atl-fs-small); color: var(--atl-text-soft); }
.atl-page .atl-form-card input[type="submit"],
.atl-page .atl-form-card button[type="submit"] {
	width: 100%;
	margin-top: var(--atl-space-5);
	padding: .9rem 2rem;
	background: #fff;
	color: var(--atl-navy);
	border: 2px solid var(--atl-navy);
	border-radius: var(--atl-radius-pill);
	font-family: var(--atl-font-head);
	font-weight: 600;
	font-size: 1rem;
	cursor: pointer;
	transition: background-color var(--atl-transition), color var(--atl-transition);
}
.atl-page .atl-form-card input[type="submit"]:hover,
.atl-page .atl-form-card button[type="submit"]:hover {
	background: var(--atl-navy);
	color: #fff;
}

.atl-contact-methods {
	display: grid;
	gap: var(--atl-space-4);
	margin-top: var(--atl-space-6);
}
.atl-contact-method {
	display: flex;
	align-items: center;
	text-align: left;
	gap: var(--atl-space-4);
	background: #fff;
	border: 1px solid var(--atl-border);
	border-radius: var(--atl-radius);
	padding: var(--atl-space-4);
	text-decoration: none;
	color: var(--atl-text);
	box-shadow: var(--atl-shadow-sm);
	transition: transform var(--atl-transition), box-shadow var(--atl-transition);
}
.atl-contact-method:hover { transform: translateY(-2px); box-shadow: var(--atl-shadow); }
.atl-contact-method strong { display: block; color: var(--atl-navy); }
.atl-contact-method span { font-size: var(--atl-fs-small); color: var(--atl-text-soft); }

/* --- Precios simples (fincas) --- */
.atl-pricelist { list-style: none; margin: 0; padding: 0; }
.atl-pricelist li {
	background: #fff;
	border: 1px solid var(--atl-border);
	border-left: 4px solid var(--atl-blue-wave);
	border-radius: var(--atl-radius-sm);
	padding: var(--atl-space-4) var(--atl-space-5);
	margin-bottom: var(--atl-space-4);
	box-shadow: var(--atl-shadow-sm);
}
.atl-pricelist strong { color: var(--atl-navy); }

/* --- Contenido legal --- */
.atl-legal { max-width: 75ch; margin-inline: auto; }
.atl-legal h2 { font-size: var(--atl-fs-h3); margin-top: var(--atl-space-7); }
.atl-legal p, .atl-legal li { color: var(--atl-text-soft); }

/* -------------------------------------------------------------------------
   7. CABECERA, PIE Y WHATSAPP FLOTANTE
   ---------------------------------------------------------------------- */
.atl-wa-float {
	position: fixed;
	right: clamp(1rem, 2vw, 1.75rem);
	bottom: clamp(1rem, 2vw, 1.75rem);
	z-index: 999;
	display: inline-flex;
	align-items: center;
	gap: .6rem;
	padding: .85rem 1.2rem;
	background: var(--atl-whatsapp);
	color: #fff;
	font-family: var(--atl-font-head);
	font-weight: 600;
	font-size: .95rem;
	text-decoration: none;
	border-radius: var(--atl-radius-pill);
	box-shadow: var(--atl-shadow-lg);
	transition: background-color var(--atl-transition), transform var(--atl-transition);
}
.atl-wa-float:hover { background: var(--atl-whatsapp-dark); color: #fff; transform: translateY(-2px); }
.atl-wa-float:focus-visible { outline: 3px solid var(--atl-sun); outline-offset: 3px; }
.atl-wa-float svg { width: 22px; height: 22px; fill: currentColor; }

.atl-footer-note {
	background: var(--atl-navy);
	color: rgba(255, 255, 255, .85);
	text-align: center;
	padding: var(--atl-space-5) var(--atl-space-4);
	font-size: var(--atl-fs-small);
}
.atl-footer-note a { color: #fff; text-decoration: underline; }

/* Salto al contenido */
.atl-skip-link {
	position: absolute;
	left: -9999px;
	top: 0;
	background: var(--atl-navy);
	color: #fff;
	padding: .75rem 1.25rem;
	z-index: 1000;
	border-radius: 0 0 var(--atl-radius-sm) 0;
}
.atl-skip-link:focus { left: 0; color: #fff; }

/* -------------------------------------------------------------------------
   8. INTEGRACIÓN CON ASTRA
   ---------------------------------------------------------------------- */
/* Las plantillas de landing van a ancho completo, sin margen del contenedor */
.atl-fullwidth .site-content .ast-container { max-width: 100%; padding: 0; }
.atl-fullwidth .entry-content > .atl-page > * { max-width: none; }
.atl-fullwidth .ast-single-entry-banner,
.atl-fullwidth .entry-header,
.atl-fullwidth .ast-archive-description { display: none; }
.atl-fullwidth #primary { margin: 0; padding: 0; }
.atl-fullwidth .site-content > .ast-container { display: block; }

/* Botones nativos de Astra con la marca */
.ast-button,
.ast-custom-button,
.wp-block-button__link {
	border-radius: var(--atl-radius-pill);
}

/* Cabecera fija con sombra al hacer scroll */
.ast-sticky-active .site-header,
.atl-header-scrolled .site-header { box-shadow: var(--atl-shadow); }

/* -------------------------------------------------------------------------
   9. RESPONSIVE
   ---------------------------------------------------------------------- */
@media (max-width: 992px) {
	.atl-plans,
	.atl-reports,
	.atl-grid--3,
	.atl-grid--4 { grid-template-columns: repeat(2, minmax(0, 1fr)); }
	.atl-about { grid-template-columns: 1fr; text-align: center; }
	.atl-about__media { max-width: 240px; margin-inline: auto; }
}

@media (max-width: 782px) {
	.atl-contact { grid-template-columns: 1fr; }
	.atl-grid--2 { grid-template-columns: 1fr; }
}

@media (max-width: 600px) {
	.atl-plans,
	.atl-reports,
	.atl-grid--3,
	.atl-grid--4 { grid-template-columns: 1fr; }
	.atl-btn-row { flex-direction: column; align-items: stretch; }
	.atl-btn-row .atl-btn { width: 100%; }
	.atl-wa-float span { display: none; }
	.atl-wa-float { padding: .9rem; }
}

/* -------------------------------------------------------------------------
   10. ACCESIBILIDAD, MOVIMIENTO E IMPRESIÓN
   ---------------------------------------------------------------------- */
.atl-visually-hidden {
	position: absolute !important;
	width: 1px; height: 1px;
	padding: 0; margin: -1px;
	overflow: hidden;
	clip: rect(0, 0, 0, 0);
	white-space: nowrap;
	border: 0;
}

.atl-reveal {
	opacity: 0;
	transform: translateY(18px);
	transition: opacity .55s ease, transform .55s ease;
}
.atl-reveal.is-visible { opacity: 1; transform: none; }

@media (prefers-reduced-motion: reduce) {
	.atl-page *,
	.atl-page *::before,
	.atl-page *::after {
		animation-duration: .01ms !important;
		transition-duration: .01ms !important;
	}
	.atl-reveal { opacity: 1; transform: none; }
	.atl-btn:hover, .atl-card:hover, .atl-plan:hover { transform: none; }
}

@media print {
	.atl-wa-float,
	.atl-hero::before,
	.site-header,
	.site-footer { display: none !important; }
	.atl-section { padding-block: 1rem; break-inside: avoid; }
	.atl-page { color: #000; }
}
