/*
Theme Name: Duratapas Ecológicas
Theme URI: https://duratapas.com/
Author: Duratapas Ecológicas
Author URI: https://duratapas.com/
Description: Tema oficial de Duratapas Ecológicas. Réplica del sitio de tapas plásticas para contenedores industriales de basura, lista para editarse con el editor de bloques de WordPress. Trae 14 secciones ya diseñadas (patrones) que se insertan con un clic: portada, datos clave, producto, resistencia con video, tablas de medidas, comparativa, proceso, sectores, sustentabilidad, galería, preguntas frecuentes, contacto y cierre. No necesitas tocar código: cambia textos e imágenes directamente en el editor.
Version: 1.0.0
Requires at least: 6.2
Tested up to: 6.7
Requires PHP: 7.4
License: GNU General Public License v2 or later
License URI: http://www.gnu.org/licenses/gpl-2.0.html
Text Domain: duratapas
Tags: block-patterns, full-width-template, custom-logo, custom-menu, featured-images, threaded-comments, translation-ready, business, industrial

Duratapas Ecológicas — Tema de bloques para WordPress.
Los estilos principales viven en assets/css/estilos.css
*/

/* =============================================================================
   AJUSTES DEL TEMA DENTRO DE WORDPRESS
   Este archivo solo corrige detalles para que el diseño se vea igual de bien
   dentro de WordPress. Los estilos de diseño están en assets/css/estilos.css
   ============================================================================= */

/* ---------------------------------------------------------------------------
   1. CONTENEDOR PRINCIPAL
   WordPress añade sus propias clases; aquí las alineamos con el diseño.
   --------------------------------------------------------------------------- */
.dt-main {
	display: block;
}

.dt-main > * {
	margin-block-start: 0;
}

/* Las secciones a ancho completo no deben tener padding lateral doble */
.dt-main > .alignfull {
	margin-inline: 0;
	max-inline-size: 100%;
}

/* ---------------------------------------------------------------------------
   2. PORTADA (patrón 1)
   --------------------------------------------------------------------------- */
.dt-portada {
	gap: clamp(1.5rem, 1rem + 3vw, 3.5rem);
}

.dt-portada__foto img {
	border-radius: var(--r-lg, 20px);
	box-shadow: var(--sh-3, 0 24px 48px -18px rgba(16,19,18,.28));
	inline-size: 100%;
	block-size: auto;
}

.dt-portada__etiqueta {
	display: inline-flex;
	align-items: center;
	gap: .5rem;
	margin-block-start: 1rem;
	padding: .55rem 1rem;
	font-size: var(--fs-sm, .9rem);
	font-weight: 600;
	color: var(--dt-ink, #1A1D1B);
	background: #fff;
	border: 1px solid var(--dt-line, #E2E6E3);
	border-radius: var(--r-full, 999px);
	box-shadow: var(--sh-1, 0 1px 3px rgba(16,19,18,.06));
}

/* En fondo oscuro, el eyebrow y la nota se aclaran */
.dt-seccion--oscura .dt-eyebrow,
.dt-seccion--oscura .dt-nota {
	color: #9BDFA4;
}

/* ---------------------------------------------------------------------------
   3. SECCIONES
   --------------------------------------------------------------------------- */
.dt-seccion {
	padding-block: clamp(3rem, 2rem + 5vw, 6rem);
}

.dt-seccion--gris {
	background: var(--dt-bg-soft, #F5F7F5);
}

.dt-seccion--oscura {
	background: var(--dt-bg-dark, #101312);
	color: rgba(255, 255, 255, .82);
}

.dt-seccion--oscura h1,
.dt-seccion--oscura h2,
.dt-seccion--oscura h3,
.dt-seccion--oscura h4 {
	color: #fff;
}

.dt-seccion--oscura a {
	color: #9BDFA4;
}

.dt-eyebrow {
	display: inline-flex;
	align-items: center;
	gap: .6rem;
	margin-block-end: .75rem;
	font-size: var(--fs-eyebrow, .78rem);
	font-weight: 700;
	letter-spacing: .12em;
	text-transform: uppercase;
	color: var(--dt-green-700, #1E7A2E);
}

.dt-eyebrow::before {
	content: "";
	inline-size: 1.75rem;
	block-size: 2px;
	background: currentColor;
	border-radius: 999px;
}

.dt-nota {
	font-size: var(--fs-sm, .9rem);
	color: var(--dt-muted-2, #616A66);
}

.dt-subtitulo {
	margin-block: clamp(2.5rem, 2rem + 2vw, 3.5rem) 1.25rem;
}

/* ---------------------------------------------------------------------------
   4. DATOS CLAVE (patrón 2)
   --------------------------------------------------------------------------- */
.dt-stats .dt-stat__num {
	margin-block-end: .25rem;
	font-family: var(--font-display, sans-serif);
	font-size: var(--fs-stat, clamp(2.3rem, 1.5rem + 3vw, 3.6rem));
	font-weight: 800;
	line-height: 1.05;
	letter-spacing: -.02em;
	color: var(--dt-ink, #1A1D1B);
	font-variant-numeric: tabular-nums lining-nums;
}

.dt-stats .dt-stat__lbl {
	margin: 0;
	font-size: var(--fs-xs, .8rem);
	font-weight: 700;
	letter-spacing: .08em;
	text-transform: uppercase;
	color: var(--dt-muted-2, #616A66);
}

/* ---------------------------------------------------------------------------
   5. TABLAS (patrón 5 y 6)
   --------------------------------------------------------------------------- */
.dt-tabla {
	overflow-x: auto;
	-webkit-overflow-scrolling: touch;
}

.dt-tabla table {
	inline-size: 100%;
	min-inline-size: 32rem;
	border: 1px solid var(--dt-line, #E2E6E3);
	border-radius: var(--r-md, 12px);
	border-collapse: separate;
	border-spacing: 0;
	overflow: hidden;
	font-size: var(--fs-sm, .9rem);
}

.dt-tabla thead th {
	padding: .85rem 1rem;
	background: var(--dt-dark, #14171A);
	color: #fff;
	font-family: var(--font-display, sans-serif);
	font-size: .76rem;
	font-weight: 700;
	letter-spacing: .06em;
	text-transform: uppercase;
	text-align: start;
	white-space: nowrap;
}

.dt-tabla tbody th,
.dt-tabla tbody td {
	padding: .8rem 1rem;
	text-align: start;
	border-block-end: 1px solid var(--dt-line, #E2E6E3);
}

.dt-tabla tbody th {
	background: var(--dt-bg-soft, #F5F7F5);
	font-weight: 700;
}

.dt-tabla tbody tr:nth-child(even) td {
	background: #FAFBFA;
}

.dt-tabla tbody tr:last-child th,
.dt-tabla tbody tr:last-child td {
	border-block-end: 0;
}

/* ---------------------------------------------------------------------------
   6. CITA DESTACADA (patrón 6)
   --------------------------------------------------------------------------- */
.dt-destacado {
	margin-block: clamp(2rem, 1.5rem + 2vw, 3rem);
	padding: clamp(1.5rem, 1.2rem + 1.5vw, 2.5rem);
	background: var(--dt-green-050, #EEF8EF);
	border: 0;
	border-inline-start: 4px solid var(--dt-green, #44AE4F);
	border-radius: var(--r-md, 12px);
}

.dt-destacado p {
	margin: 0 0 .75rem;
	font-family: var(--font-display, sans-serif);
	font-size: clamp(1.1rem, 1rem + .8vw, 1.45rem);
	font-weight: 600;
	line-height: 1.5;
	color: var(--dt-ink, #1A1D1B);
}

.dt-destacado cite {
	display: block;
	font-size: var(--fs-sm, .9rem);
	font-weight: 700;
	font-style: normal;
	color: var(--dt-green-700, #1E7A2E);
}

/* ---------------------------------------------------------------------------
   7. SELLOS DE CONFIANZA (bloque propio)
   --------------------------------------------------------------------------- */
.dt-sellos {
	display: flex;
	flex-wrap: wrap;
	gap: .6rem;
	margin: clamp(1.5rem, 1rem + 1.5vw, 2.5rem) 0 0;
	padding: 0;
	list-style: none;
}

.dt-sello {
	display: inline-flex;
	align-items: center;
	gap: .5rem;
	padding: .5rem .9rem;
	font-size: var(--fs-sm, .9rem);
	font-weight: 600;
	line-height: 1.3;
	color: var(--dt-ink, #1A1D1B);
	background: #fff;
	border: 1px solid var(--dt-line, #E2E6E3);
	border-radius: var(--r-full, 999px);
	box-shadow: var(--sh-1, 0 1px 3px rgba(16,19,18,.06));
}

.dt-sello span {
	color: var(--dt-green-700, #1E7A2E);
	font-weight: 800;
}

/* ---------------------------------------------------------------------------
   8. DATOS DE CONTACTO (bloque propio)
   --------------------------------------------------------------------------- */
.dt-datos {
	display: grid;
	gap: 1rem;
	margin: 0 0 1.5rem;
	padding: 0;
	list-style: none;
}

.dt-datos li {
	display: flex;
	align-items: flex-start;
	gap: .85rem;
	font-size: var(--fs-sm, .9rem);
	line-height: 1.6;
	color: var(--dt-body, #454C48);
}

.dt-datos strong {
	display: block;
	color: var(--dt-ink, #1A1D1B);
}

.dt-datos a {
	color: var(--dt-green-700, #1E7A2E);
	font-weight: 600;
	text-decoration: none;
}

.dt-datos a:hover {
	text-decoration: underline;
}

.dt-datos__ico {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	flex: 0 0 auto;
	inline-size: 2.4rem;
	block-size: 2.4rem;
	font-size: 1rem;
	background: var(--dt-green-050, #EEF8EF);
	border-radius: var(--r-full, 999px);
}

/* ---------------------------------------------------------------------------
   9. VIDEO (patrón 4)
   --------------------------------------------------------------------------- */
.dt-video video {
	inline-size: 100%;
	border-radius: var(--r-lg, 20px);
	box-shadow: var(--sh-3, 0 24px 48px -18px rgba(16,19,18,.28));
}

.dt-video figcaption {
	margin-block-start: .75rem;
	font-size: var(--fs-sm, .9rem);
	color: var(--dt-muted-2, #616A66);
}

/* ---------------------------------------------------------------------------
   10. GALERÍA (patrón 10)
   --------------------------------------------------------------------------- */
.dt-galeria {
	gap: .75rem;
}

.dt-galeria .wp-block-image img {
	border-radius: var(--r-md, 12px);
	transition: scale var(--t-slow, .6s) var(--ease, cubic-bezier(.22,.61,.36,1));
}

.dt-galeria .wp-block-image:hover img {
	scale: 1.04;
}

/* ---------------------------------------------------------------------------
   11. PREGUNTAS FRECUENTES (patrón 11)
   --------------------------------------------------------------------------- */
.dt-faq {
	margin-block-end: .75rem;
	background: #fff;
	border: 1px solid var(--dt-line, #E2E6E3);
	border-radius: var(--r-md, 12px);
	box-shadow: var(--sh-1, 0 1px 3px rgba(16,19,18,.06));
	overflow: hidden;
}

.dt-faq summary {
	padding: 1.1rem 1.25rem;
	font-family: var(--font-display, sans-serif);
	font-size: 1.02rem;
	font-weight: 700;
	line-height: 1.4;
	color: var(--dt-ink, #1A1D1B);
	cursor: pointer;
	list-style: none;
	position: relative;
}

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

.dt-faq summary::after {
	content: "+";
	position: absolute;
	inset-inline-end: 1.25rem;
	font-size: 1.4rem;
	font-weight: 400;
	color: var(--dt-green-700, #1E7A2E);
}

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

.dt-faq[open] summary {
	border-block-end: 1px solid var(--dt-line, #E2E6E3);
}

.dt-faq > *:not(summary) {
	padding-inline: 1.25rem;
}

.dt-faq > p:last-child {
	padding-block-end: 1.25rem;
}

/* ---------------------------------------------------------------------------
   12. BOTONES DEL TEMA
   --------------------------------------------------------------------------- */
.dt-btn-wrap {
	margin-block: 1.25rem;
}

.dt-btn {
	display: inline-flex !important;
	align-items: center;
	gap: .5rem;
	padding: .85rem 1.6rem !important;
	font-family: var(--font-body, sans-serif);
	font-size: var(--fs-body, 1rem);
	font-weight: 700;
	line-height: 1.2;
	text-decoration: none;
	border-radius: var(--r-full, 999px);
	transition: transform var(--t-fast, .18s) var(--ease, cubic-bezier(.22,.61,.36,1)),
		background-color var(--t-fast, .18s) var(--ease, cubic-bezier(.22,.61,.36,1)),
		box-shadow var(--t-fast, .18s) var(--ease, cubic-bezier(.22,.61,.36,1));
}

.dt-btn--lg {
	padding: 1rem 2rem !important;
	font-size: 1.05rem;
}

.dt-btn--wa {
	background: var(--dt-wa, #25D366) !important;
	color: #fff !important;
	box-shadow: var(--sh-2, 0 6px 18px -6px rgba(16,19,18,.14));
}

.dt-btn--wa:hover {
	background: var(--dt-wa-dark, #128C4A) !important;
	transform: translateY(-2px);
}

/* ---------------------------------------------------------------------------
   13. LOGO Y MENÚ
   --------------------------------------------------------------------------- */
.brand img,
.custom-logo {
	inline-size: auto;
	max-block-size: 3rem;
	block-size: auto;
}

.brand__texto,
.footer__logo-texto {
	display: block;
	font-family: var(--font-display, sans-serif);
	font-size: 1.35rem;
	font-weight: 800;
	line-height: 1;
	letter-spacing: -.02em;
	color: var(--dt-ink, #1A1D1B);
}

.brand__texto small,
.footer__logo-texto small {
	display: block;
	margin-block-start: .2rem;
	font-size: .72rem;
	font-weight: 700;
	letter-spacing: .16em;
	text-transform: uppercase;
	color: var(--dt-green-700, #1E7A2E);
}

.footer__logo-texto {
	color: #fff;
}

.footer__logo-texto small {
	color: #9BDFA4;
}

/* El menú de WordPress llega como <ul class="nav__menu"> con <li> */
.nav__menu li {
	list-style: none;
	margin: 0;
}

.nav__menu .sub-menu {
	position: absolute;
	z-index: 200;
	min-inline-size: 13rem;
	margin-block-start: .35rem;
	padding: .5rem;
	background: #fff;
	border: 1px solid var(--dt-line, #E2E6E3);
	border-radius: var(--r-md, 12px);
	box-shadow: var(--sh-2, 0 6px 18px -6px rgba(16,19,18,.14));
	list-style: none;
	opacity: 0;
	visibility: hidden;
	transition: opacity var(--t-fast, .18s) var(--ease, cubic-bezier(.22,.61,.36,1));
}

.nav__menu li:hover > .sub-menu,
.nav__menu li:focus-within > .sub-menu {
	opacity: 1;
	visibility: visible;
}

.nav__menu li {
	position: relative;
}

/* ---------------------------------------------------------------------------
   14. WIDGETS EN EL PIE
   --------------------------------------------------------------------------- */
.site-footer .widget {
	margin-block-end: 1.5rem;
}

.site-footer .widget:last-child {
	margin-block-end: 0;
}

.site-footer .widget ul {
	margin: 0;
	padding: 0;
	list-style: none;
}

.site-footer .widget li {
	margin-block-end: .5rem;
}

/* ---------------------------------------------------------------------------
   15. ENTRADAS Y PÁGINAS (por si se usa el blog)
   --------------------------------------------------------------------------- */
.dt-entrada {
	max-inline-size: 48rem;
	margin-inline: auto;
	padding-block: clamp(2rem, 1.5rem + 3vw, 4rem);
}

.dt-entrada__meta {
	margin-block-end: 1.5rem;
	font-size: var(--fs-sm, .9rem);
	color: var(--dt-muted-2, #616A66);
}

.dt-entrada__contenido {
	line-height: 1.78;
}

.dt-entrada__contenido h2 {
	margin-block: 2.2em .7em;
}

/* ---------------------------------------------------------------------------
   16. PAGINACIÓN Y COMENTARIOS
   --------------------------------------------------------------------------- */
.pagination,
.nav-links {
	display: flex;
	flex-wrap: wrap;
	gap: .5rem;
	margin-block: 2rem;
	justify-content: center;
}

.page-numbers {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	min-inline-size: 2.5rem;
	min-block-size: 2.5rem;
	padding: .4rem .7rem;
	font-weight: 600;
	font-size: var(--fs-sm, .9rem);
	color: var(--dt-ink, #1A1D1B);
	background: #fff;
	border: 1px solid var(--dt-line, #E2E6E3);
	border-radius: var(--r-sm, 6px);
	text-decoration: none;
}

.page-numbers.current,
.page-numbers:hover {
	background: var(--dt-green, #44AE4F);
	border-color: var(--dt-green, #44AE4F);
	color: #fff;
}

/* ---------------------------------------------------------------------------
   17. BLOQUES QUE NO USAN EL DISEÑO DEL SITIO
   Alineación segura para que nada se desborde.
   --------------------------------------------------------------------------- */
.dt-main .wp-block {
	max-inline-size: 100%;
}

/* Las secciones creadas con los patrones usan el layout "constrained" de
   WordPress. Este padding evita que el texto toque los bordes en celular,
   igual que hace .wrap en el sitio estático. */
.dt-main .dt-seccion.is-layout-constrained {
	padding-inline: var(--gutter, clamp(1rem, .5rem + 2vw, 2rem));
}

.dt-main .wp-block-embed iframe,
.dt-main .wp-block-video video {
	max-inline-size: 100%;
}

.alignwide {
	max-inline-size: var(--wp--style--global--wide-size, 1200px);
}

.alignfull {
	max-inline-size: 100vw;
}

/* ---------------------------------------------------------------------------
   18. ESTADOS DE FOCO VISIBLE (accesibilidad)
   --------------------------------------------------------------------------- */
.dt-main a:focus-visible,
.dt-faq summary:focus-visible,
.dt-btn:focus-visible {
	outline: 3px solid var(--dt-green, #44AE4F);
	outline-offset: 2px;
	border-radius: var(--r-sm, 6px);
}

/* ---------------------------------------------------------------------------
   19. MOVIMIENTO REDUCIDO
   --------------------------------------------------------------------------- */
@media (prefers-reduced-motion: reduce) {
	.dt-btn,
	.dt-galeria .wp-block-image img {
		transition: none;
	}

	.dt-btn--wa:hover {
		transform: none;
	}

	.dt-galeria .wp-block-image:hover img {
		scale: none;
	}
}

/* ---------------------------------------------------------------------------
   20. IMPRESIÓN
   --------------------------------------------------------------------------- */
@media print {
	.site-header,
	.site-footer,
	.fab,
	.volver-arriba,
	.barra-progreso,
	.dt-btn-wrap {
		display: none !important;
	}

	.dt-seccion,
	.dt-seccion--gris,
	.dt-seccion--oscura {
		background: #fff !important;
		color: #000 !important;
		padding-block: 1rem !important;
	}

	.dt-seccion--oscura h1,
	.dt-seccion--oscura h2,
	.dt-seccion--oscura h3,
	.dt-seccion--oscura h4 {
		color: #000 !important;
	}

	.dt-tabla table {
		min-inline-size: 0;
	}

	.dt-tabla thead th {
		background: #eee !important;
		color: #000 !important;
	}
}

/* =============================================================================
   SECCIONES V2 — PRUEBA 44 °C Y VIDEO-RESPUESTA DEL FAQ
   ============================================================================= */

/* Prueba de calor 44 °C (columnas dentro de la sección oscura) */
.dt-main .dt-prueba-calor { margin-block-start: 2.6rem; }
.dt-main .dt-prueba-calor h3,
.dt-main .dt-prueba-calor p,
.dt-main .dt-prueba-calor li { color: inherit; }

/* Video-respuesta dentro del FAQ */
.dt-main .dt-faq-v { margin-block-start: .8rem; }
.dt-main .dt-faq-v video { inline-size: 100%; max-height: 420px; border-radius: 10px; background: #101312; }
