/* =========================================================================
   Zhao Creative Solutions — alza visual 2026 (v0.2.2, sin Elementor Pro)
   -------------------------------------------------------------------------
   Capa ADITIVA sobre el diseño existente: no cambia textos, imágenes ni
   estructura. Conserva la marca: amarillo #F2CE1C, tinta #1B1A17, Manrope.

   Especificidad: Elementor escribe sus reglas por elemento con 4 clases
   (.elementor-83 .elementor-element.elementor-element-xxx .algo). Para
   ganarles SIN !important, todo cuelga de un único prefijo con la clase
   del body repetida: body.zhao-alza×4 = (0,4,1). Sólo se usa !important
   contra estilos en línea de terceros (GTranslate).
   ========================================================================= */

:root {
	/* Color — sólo la paleta de la marca y sus neutros */
	--z-amarillo: #F2CE1C;
	--z-amarillo-hondo: #E3BC00;          /* hover del amarillo */
	--z-amarillo-velo: #FBF3CC;           /* fondo de icono */
	--z-tinta: #1B1A17;                   /* texto principal, 17.4:1 sobre blanco */
	--z-tinta-2: #3B3934;                 /* texto de lectura, 11.3:1 */
	--z-gris: #66625A;                    /* texto secundario, 5.9:1 */
	--z-linea: #E6E3DA;                   /* filetes y bordes */
	--z-papel: #FAF9F5;                   /* superficie alterna */
	--z-blanco: #FFFFFF;

	/* Tipografía — una sola familia, tres pesos */
	--z-ff: "Manrope", system-ui, -apple-system, "Segoe UI", sans-serif;
	--z-t-display: clamp(2.75rem, 1.55rem + 3.4vw, 4.5rem);
	--z-t-h2: clamp(2rem, 1.45rem + 1.6vw, 3rem);
	--z-t-h3: clamp(1.25rem, 1.15rem + 0.3vw, 1.375rem);
	--z-t-lead: clamp(1.125rem, 1.05rem + 0.3vw, 1.3125rem);
	--z-t-base: 1rem;
	--z-t-sm: 0.875rem;
	--z-t-xs: 0.8125rem;

	/* Espacio — base 8 */
	--z-1: 4px;  --z-2: 8px;  --z-3: 12px; --z-4: 16px; --z-5: 24px;
	--z-6: 32px; --z-7: 48px; --z-8: 64px; --z-9: 96px;
	--z-seccion: clamp(64px, 3rem + 4vw, 112px);

	/* Forma */
	--z-radio: 16px;
	--z-radio-sm: 10px;
	--z-pill: 999px;
	--z-h-ctrl: 48px;
	--z-sombra: 0 1px 2px rgba(27, 26, 23, .06), 0 12px 32px -16px rgba(27, 26, 23, .22);
	--z-sombra-sm: 0 1px 2px rgba(27, 26, 23, .06), 0 4px 12px -6px rgba(27, 26, 23, .14);
	--z-dur: 180ms;
	--z-curva: cubic-bezier(.2, .7, .2, 1);
}

body.zhao-alza.zhao-alza.zhao-alza.zhao-alza {

	/* ---------------------------------------------------------------- Base */
	font-family: var(--z-ff);
	color: var(--z-tinta-2);
	-webkit-font-smoothing: antialiased;
	text-rendering: optimizeLegibility;

	& :is(p, li, label, input, select, textarea, button, td, th, dd, dt, small, address,
	      .elementor-widget-text-editor, .elementskit-infobox, .elementor-icon-list-text,
	      .elementor-image-box-description, .elementor-icon-box-description,
	      .woocommerce, .woocommerce-loop-product__title, .price, .elementor-button,
	      .elementskit-btn, .elementskit-navbar-nav a, .wpforms-container) {
		font-family: var(--z-ff);
		letter-spacing: 0;
	}

	& :is(h1, h2, h3, h4, h5, h6, .elementor-heading-title) {
		font-family: var(--z-ff);
		text-wrap: balance;
	}

	& :is(p, li) { text-wrap: pretty; }

	/* Foco visible y único en todo el sitio (WCAG 2.4.7 / 2.4.11) */
	& :is(a, button, input, select, textarea, summary, [tabindex]):focus-visible {
		outline: 3px solid var(--z-tinta);
		outline-offset: 3px;
		border-radius: 6px;
	}
	& :is(.zhao-oscuro, [data-id="7ae8a31"], [data-id="1f43cc29"], [data-id="c7f5eb6"])
	  :is(a, button):focus-visible { outline-color: var(--z-amarillo); }

	/* ------------------------------------------------------------- Cabecera */
	& [data-id="69e01d9e"] {
		box-shadow: none;
		border-bottom: 1px solid var(--z-linea);
		padding-block: var(--z-2);
		background: var(--z-blanco);
	}
	& .elementskit-navbar-nav > li > a {
		font-size: 0.9375rem;
		font-weight: 600;
		text-transform: none;
		color: var(--z-tinta);
		text-decoration: underline 2px transparent;
		text-underline-offset: 8px;
		transition: text-decoration-color var(--z-dur) var(--z-curva);
	}
	& .elementskit-navbar-nav > li > a:hover,
	& .elementskit-navbar-nav > li.current-menu-item > a {
		color: var(--z-tinta);
		text-decoration-color: var(--z-amarillo);
	}
	& .elementor-menu-cart__toggle_button {
		font-size: var(--z-t-sm);
		font-weight: 600;
		gap: var(--z-2);
		min-height: 44px;
		color: var(--z-tinta);
	}
	& .elementor-menu-cart__toggle_button .elementor-button-icon-qty {
		background: var(--z-tinta);
		color: var(--z-blanco);
		font-weight: 700;
	}

	/* -------------------------------------------------------------- Botones */
	/* Primario: amarillo macizo con tinta (antes, texto blanco: 1.5:1). */
	& a.elementor-button:not(.elementor-menu-cart__toggle_button),
	& .single_add_to_cart_button,
	& .wpforms-submit,
	& :is(a.button.alt, button.button.alt, #place_order),
	& .wc-proceed-to-checkout a.checkout-button {
		display: inline-flex;
		align-items: center;
		justify-content: center;
		gap: var(--z-2);
		min-height: var(--z-h-ctrl);
		padding: 0 var(--z-5);
		border: 0;
		border-radius: var(--z-pill);
		background: var(--z-amarillo);
		color: var(--z-tinta);
		font-size: 0.9375rem;
		font-weight: 700;
		line-height: 1;
		text-transform: none;
		letter-spacing: 0;
		box-shadow: inset 0 -2px 0 rgba(27, 26, 23, .12);
		transition: background-color var(--z-dur) var(--z-curva), box-shadow var(--z-dur) var(--z-curva);
	}
	& a.elementor-button:not(.elementor-menu-cart__toggle_button) :is(.elementor-button-text, .elementor-button-icon, svg, i) {
		color: inherit;
		fill: currentColor;
	}
	& a.elementor-button:not(.elementor-menu-cart__toggle_button):hover,
	& .single_add_to_cart_button:hover,
	& .wpforms-submit:hover,
	& :is(a.button.alt, button.button.alt, #place_order):hover {
		background: var(--z-amarillo-hondo);
		color: var(--z-tinta);
	}
	& a.elementor-button:not(.elementor-menu-cart__toggle_button):active { box-shadow: inset 0 2px 0 rgba(27, 26, 23, .16); }
	& a.elementor-button:not(.elementor-menu-cart__toggle_button) .elementor-button-icon { transition: transform var(--z-dur) var(--z-curva); }
	& a.elementor-button:not(.elementor-menu-cart__toggle_button):hover .elementor-button-icon { transform: translateX(3px); }

	/* Enlace de acción: los botones transparentes («Ver servicios», «Portfolios»,
	   «Contratar» de las tarjetas). Tinta con subrayado amarillo; área táctil de 44 px. */
	& :is([data-id="3ca61451"], [data-id="5da9a2d"]) a.elementor-button,
	& [data-id="ae699ad"] .elementor-widget-button + .elementor-widget-button a.elementor-button,
	& a.elementskit-btn {
		min-height: 44px;
		padding: 0;
		background: transparent;
		box-shadow: none;
		border-radius: 0;
		color: var(--z-tinta);
		font-size: 0.9375rem;
		font-weight: 700;
		text-transform: none;
		text-decoration: underline 2px var(--z-amarillo);
		text-underline-offset: 7px;
		display: inline-flex;
		align-items: center;
		gap: var(--z-2);
	}
	& :is([data-id="3ca61451"], [data-id="5da9a2d"]) a.elementor-button:hover,
	& [data-id="ae699ad"] .elementor-widget-button + .elementor-widget-button a.elementor-button:hover,
	& a.elementskit-btn:hover {
		background: transparent;
		text-decoration-color: var(--z-tinta);
	}
	& a.elementskit-btn i { color: var(--z-tinta); }
	& a.elementskit-btn:not(#z) { color: var(--z-tinta); transition: text-decoration-color var(--z-dur) var(--z-curva); }
	/* ElementsKit deja el enlace de la tarjeta a medio desvanecer (17 %): siempre visible. */
	& .elementskit-infobox :is(.box-footer, .btn-wraper, a.elementskit-btn) { opacity: 1; visibility: visible; transform: none; }

	/* Botones del bloqueo de mapas (Cookie Rocket): blanco sobre amarillo con filete rosa.
	   Aquí se iguala al primario; lo correcto es fijarlo en los ajustes del plugin. */
	& .cookroco-embed__load:not(#z) {
		background: var(--z-amarillo);
		color: var(--z-tinta);
		border: 0;
		border-radius: var(--z-pill);
		min-height: var(--z-h-ctrl);
		padding-inline: var(--z-5);
		font-weight: 700;
		text-transform: none;
	}
	& .cookroco-embed__always:not(#z) {
		background: transparent;
		color: var(--z-tinta);
		border: 0;
		min-height: 44px;
		font-size: var(--z-t-sm);
		font-weight: 600;
		text-transform: none;
		text-decoration: underline 1px;
		text-underline-offset: 4px;
	}

	/* La primera sección de cada página se ve al instante: sus animaciones de entrada esperaban
	   al JavaScript y retrasaban el LCP móvil (Inicio 3.0 → 4.8 s al retirar el parche de Pro).
	   El resto de la página conserva sus animaciones. */
	& #content > [data-elementor-type] > .elementor-element:first-child:is(.elementor-invisible, .animated),
	& #content > [data-elementor-type] > .elementor-element:first-child :is(.elementor-invisible, .animated) {
		opacity: 1;
		visibility: visible;
		animation: none;
	}

	/* ----------------------------------------------------------------- Hero */
	/* El Lottie decorativo crecía al cargar y empujaba el hero (CLS 0.46–0.57): caja reservada y contenida. */
	& [data-id="6196b001"] { aspect-ratio: 600 / 636; contain: layout paint; pointer-events: none; }
	& [data-id="6196b001"] :is(.elementor-widget-container, .ekit-wid-con, .ekit_lottie, svg) { width: 100%; height: 100%; }
	& [data-id="ae699ad"] {
		overflow-x: clip;               /* el cohete decorativo ya no saca la página de 320 px */
		padding-top: clamp(40px, 2rem + 3vw, 80px);
		padding-bottom: var(--z-seccion);
	}
	& [data-id="ae699ad"] h1.elementor-heading-title {
		font-size: var(--z-t-display);
		line-height: 1.02;
		font-weight: 800;
		letter-spacing: -0.035em;
	}
	& [data-id="ae699ad"] .elementor-widget-text-editor {
		font-size: var(--z-t-lead);
		line-height: 1.55;
		color: var(--z-tinta-2);
		max-width: 34ch;
	}
	& [data-id="ae699ad"] .elementor-star-rating__title,
	& [data-id="ae699ad"] .elementor-widget-star-rating { color: var(--z-gris); font-weight: 600; }
	& [data-id="ae699ad"] .elementor-widget-image img {
		border-radius: var(--z-radio);
		box-shadow: var(--z-sombra);
	}

	/* ------------------------------------------------------- Ritmo vertical */
	& :is([data-id="3ca61451"], [data-id="7f0ce6fa"], [data-id="78fbda21"], [data-id="c0b0ac5"], [data-id="9df0bbf"]) {
		padding-top: var(--z-seccion);
		padding-bottom: var(--z-seccion);
	}
	/* El texto de «Servicios» y sus tarjetas son UNA sección: antes 150 px de hueco entre ellos. */
	& [data-id="3ca61451"] { padding-bottom: var(--z-6); }
	& :is([data-id="56ad125"], [data-id="3259c2b4"]) { padding-top: 0; padding-bottom: var(--z-5); }
	& :is([data-id="a8679f4"], [data-id="ccc16af"]) { padding-top: 0; padding-bottom: var(--z-seccion); }

	/* Títulos de sección */
	& :is([data-id="3ca61451"], [data-id="5da9a2d"], [data-id="7f0ce6fa"]) h2.elementor-heading-title,
	& [data-id="28a5b876"] .elementor-heading-title:not(h6):not(.zhao-antetitulo .elementor-heading-title) {
		font-size: var(--z-t-h2);
		line-height: 1.08;
		font-weight: 800;
		letter-spacing: -0.025em;
	}
	& [data-id="3ca61451"] .elementor-widget-text-editor,
	& [data-id="7f0ce6fa"] .elementor-widget-text-editor {
		font-size: 1.0625rem;
		line-height: 1.65;
		color: var(--z-tinta-2);
		max-width: 62ch;
	}

	/* Antetítulo (h6 en mayúsculas). Antes amarillo sobre blanco (1.6:1). */
	& .elementor-top-section:not(:has(.elementor-background-overlay)) :is(h6, .zhao-antetitulo .elementor-heading-title) { color: var(--z-gris); }
	& :is(h6.elementor-heading-title, .zhao-antetitulo .elementor-heading-title) {
		font-size: var(--z-t-xs);
		font-weight: 700;
		letter-spacing: .1em;
		text-transform: uppercase;
	}
	& .elementor-top-section:has(.elementor-background-overlay) :is(h6, .zhao-antetitulo .elementor-heading-title) { color: var(--z-amarillo); }

	/* --------------------------------------------- Tarjetas de servicio (ekit) */
	& .elementskit-infobox {
		background: var(--z-blanco);
		border: 1px solid var(--z-linea);
		border-radius: var(--z-radio);
		padding: var(--z-6);
		box-shadow: none;
		transition: border-color var(--z-dur) var(--z-curva), box-shadow var(--z-dur) var(--z-curva);
	}
	& .elementskit-infobox:hover {
		border-color: #D6D2C6;
		box-shadow: var(--z-sombra-sm);
	}
	& .elementskit-info-box-icon {
		display: inline-grid;
		place-items: center;
		width: 48px;
		height: 48px;
		margin-bottom: var(--z-4);
		border-radius: 12px;
		background: var(--z-amarillo-velo);
	}
	& .elementskit-info-box-icon > i { font-size: 24px; color: var(--z-tinta); }
	& .elementskit-info-box-title {
		font-size: var(--z-t-h3);
		line-height: 1.3;
		font-weight: 700;
		letter-spacing: -0.01em;
		margin-bottom: var(--z-3);
	}
	& .elementskit-infobox .box-body p {
		font-size: 0.9375rem;
		line-height: 1.65;
		color: var(--z-tinta-2);
	}
	& .elementskit-infobox .box-body p strong { color: var(--z-tinta); font-weight: 700; }
	& .elementskit-infobox .box-footer { margin-top: var(--z-4); }
	& .elementskit-infobox .btn-wraper { opacity: 1; transform: none; }

	/* -------------------------- Banda «Construyendo una mejor experiencia digital» */
	/* Antes: degradado blanco + velo gris al 44 %: se leía como foto que no cargó. */
	& [data-id="7ae8a31"] .elementor-widget-wrap.elementor-element-populated {
		border-radius: 24px;
		overflow: hidden;
		background-position: center 40%;
	}
	& [data-id="7ae8a31"] .elementor-background-overlay {
		background: linear-gradient(180deg, rgba(27, 26, 23, .78), rgba(27, 26, 23, .86));
		opacity: 1;
	}
	& [data-id="7ae8a31"] h2.elementor-heading-title,
	& [data-id="7ae8a31"] h1.elementor-heading-title {
		color: var(--z-blanco);
		font-size: var(--z-t-h2);
		line-height: 1.1;
		font-weight: 800;
		letter-spacing: -0.025em;
	}

	/* ------------------------------------------------ Bloque de diferenciadores */
	& :is([data-id="78fbda21"], [data-id="c0b0ac5"]) .elementor-icon-box-title { font-size: 1.125rem; font-weight: 700; }
	& :is([data-id="78fbda21"], [data-id="c0b0ac5"]) .elementor-icon-box-description { font-size: 0.9375rem; line-height: 1.65; color: var(--z-tinta-2); }
	& :is([data-id="78fbda21"], [data-id="c0b0ac5"]) .elementor-widget-image img { border-radius: var(--z-radio); }
	& .elementor-counter { border-radius: var(--z-radio); }
	& .elementor-counter .elementor-counter-number-wrapper { color: var(--z-tinta); font-weight: 800; }

	/* ---------------------------------------------------- Trabajos destacados */
	& [data-id="5da9a2d"] .elementor-image-box-img img { border-radius: var(--z-radio); }
	& [data-id="5da9a2d"] .elementor-image-box-title { font-size: 1.125rem; font-weight: 700; letter-spacing: -0.01em; margin-top: var(--z-3); }
	& [data-id="5da9a2d"] .elementor-image-box-description { font-size: var(--z-t-sm); color: var(--z-gris); }

	/* ----------------------------------------------- «Construimos y potenciamos» */
	& [data-id="7f0ce6fa"] .elementor-widget-image img { border-radius: var(--z-radio); box-shadow: var(--z-sombra); }

	/* ------------------------------------------------- Pasos «1, 2, 3» */
	/* Los numerales son de contorno en el original: se respeta (no se rellenan). */
	& [data-id="6bb38121"] .elementor-widget-heading .elementor-heading-title { color: transparent; }
	& [data-id="6bb38121"] .elementor-image-box-title { font-size: 1.125rem; font-weight: 700; }
	& [data-id="6bb38121"] .elementor-image-box-description { font-size: 0.9375rem; line-height: 1.65; color: var(--z-tinta-2); }

	/* ----------------------------------------------- Llamado final (losa oscura) */
	& :is([data-id="1f43cc29"], [data-id="c7f5eb6"]) .elementor-container,
	& :is([data-id="1f43cc29"], [data-id="c7f5eb6"]) .elementor-widget-wrap.elementor-element-populated { border-radius: 24px; }
	& :is([data-id="1f43cc29"], [data-id="c7f5eb6"]) h2.elementor-heading-title {
		color: var(--z-blanco);
		font-size: clamp(1.75rem, 1.4rem + 1.2vw, 2.5rem);
		font-weight: 800;
		letter-spacing: -0.02em;
	}
	& :is([data-id="1f43cc29"], [data-id="c7f5eb6"]) .elementor-widget-text-editor { color: rgba(255, 255, 255, .82); font-size: 1rem; line-height: 1.6; }

	/* -------------------------------------------------------- Encabezado de página interior */
	& [data-id="28a5b876"] .elementor-widget-wrap.elementor-element-populated { border-radius: 24px; overflow: hidden; }
	& [data-id="28a5b876"] .elementor-heading-title:not(h6):not(.zhao-antetitulo .elementor-heading-title) { color: var(--z-blanco); }
	& [data-id="28a5b876"] .elementor-widget-text-editor { color: rgba(255, 255, 255, .88); font-size: 1.0625rem; }
	& [data-id="28a5b876"] .elementor-widget-wrap > .elementor-background-overlay { background: rgba(27, 26, 23, .62); opacity: 1; }
	& [data-id="3259c2b4"] { padding-top: var(--z-7); }

	/* ------------------------------------------------------------------ Pie */
	& [data-elementor-type="footer"] { border-top: 1px solid var(--z-linea); background: var(--z-papel); }
	& [data-elementor-type="footer"] :is(.elementor-widget-text-editor, .elementor-icon-list-text) {
		font-size: 0.9375rem;
		line-height: 1.65;
		color: var(--z-tinta-2);
	}
	& [data-elementor-type="footer"] :is(h6, .zhao-antetitulo .elementor-heading-title),
	& [data-elementor-type="footer"] [data-id="14ffdde4"] .elementor-heading-title {
		color: var(--z-gris);
		font-size: var(--z-t-xs);
		font-weight: 700;
		letter-spacing: .1em;
		text-transform: uppercase;
	}
	& [data-elementor-type="footer"] .elementor-icon-list-item a { min-height: 32px; display: inline-flex; align-items: center; }
	& [data-elementor-type="footer"] .elementor-icon-list-item a:hover .elementor-icon-list-text { color: var(--z-tinta); text-decoration: underline 1px; text-underline-offset: 4px; }
	& [data-elementor-type="footer"] .elementor-icon-list-icon :is(i, svg) { color: var(--z-tinta); fill: var(--z-tinta); }
	& [data-elementor-type="footer"] [data-id="30f47047"] :is(.elementor-widget-text-editor, p) { font-size: var(--z-t-sm); color: var(--z-gris); }
	& [data-elementor-type="footer"] .elementor-divider-separator { border-color: var(--z-linea); }

	/* ---------------------------------------------------------- Tienda (Woo) */
	/* Rejilla propia: corrige el desborde a 768/1024 px (ZS-005). */
	& ul.products {
		display: grid;
		grid-template-columns: repeat(3, minmax(0, 1fr));
		gap: var(--z-7) var(--z-5);
		margin: 0;
	}
	& ul.products::before,
	& ul.products::after { content: none; }
	& ul.products li.product {
		width: auto;
		margin: 0;
		float: none;
		display: flex;
		flex-direction: column;
	}
	& ul.products li.product a img {
		aspect-ratio: 1 / 1;
		width: 100%;
		object-fit: cover;
		border-radius: var(--z-radio);
		margin-bottom: var(--z-4);
		transition: box-shadow var(--z-dur) var(--z-curva);
	}
	& ul.products li.product a:hover img { box-shadow: var(--z-sombra); }
	& ul.products li.product .woocommerce-loop-product__title:not(#z) {
		font-size: 1.0625rem;
		line-height: 1.35;
		font-weight: 700;
		text-transform: none;
		letter-spacing: -0.005em;
		color: var(--z-tinta);
		padding: 0;
		margin-bottom: var(--z-2);
	}
	& :is(ul.products li.product, div.product) .price:not(#z) {
		color: var(--z-tinta);
		font-weight: 600;
		font-size: 0.9375rem;
	}
	& :is(ul.products li.product, div.product) .price :is(small, .woocommerce-price-suffix):not(#z) {
		color: var(--z-gris);
		font-weight: 500;
		font-size: var(--z-t-xs);
	}
	& .woocommerce-result-count { color: var(--z-gris); font-size: var(--z-t-sm); }
	& .woocommerce-ordering select,
	& :is(.woocommerce input.qty, .woocommerce .input-text, .woocommerce-ordering select, .woocommerce form select):not(#z),
	& .wpforms-container :is(input[type=text], input[type=email], input[type=tel], input[type=number], select, textarea) {
		min-height: var(--z-h-ctrl);
		border: 1.5px solid var(--z-linea);
		border-radius: var(--z-radio-sm);
		background-color: var(--z-blanco);
		color: var(--z-tinta);
		font-size: 1rem;
		padding-inline: var(--z-4);
		transition: border-color var(--z-dur) var(--z-curva);
	}
	& .wpforms-container textarea { padding-block: var(--z-3); min-height: 140px; }
	& .wpforms-container :is(input, select, textarea):hover { border-color: #CFCABC; }
	& .wpforms-container :is(input, select, textarea):focus { border-color: var(--z-tinta); outline: none; box-shadow: 0 0 0 3px var(--z-amarillo-velo); }
	& .wpforms-container .wpforms-field-label { font-weight: 600; color: var(--z-tinta); font-size: 0.9375rem; }
	& .wpforms-container .wpforms-field-sublabel { color: var(--z-gris); font-size: var(--z-t-xs); }
	& .wpforms-container .wpforms-error { color: #B42318; font-weight: 600; }

	/* Filtros YITH */
	& .yith-wcan-filters .filter-title { font-size: 1.125rem; font-weight: 700; color: var(--z-tinta); }
	& .yith-wcan-filters .filter-item label { text-transform: none; font-size: 0.9375rem; font-weight: 500; color: var(--z-tinta-2); min-height: 36px; display: inline-flex; align-items: center; gap: var(--z-2); }
	& .yith-wcan-filters .filter-item .item-count { color: var(--z-gris); }
	& .yith-wcan-filters .filter-item :is(label, a):is(:hover, :focus-visible):not(#z),
	& .yith-wcan-filters .filter-item.active :is(label, a):not(#z) { color: var(--z-tinta); text-decoration: underline 2px var(--z-amarillo); text-underline-offset: 4px; }
	& .yith-wcan-filters input[type=checkbox] { width: 20px; height: 20px; accent-color: var(--z-tinta); }

	/* Paginación: el actual era blanco sobre amarillo (1.5:1). */
	& nav.woocommerce-pagination ul { border: 0; display: inline-flex; gap: var(--z-2); }
	& nav.woocommerce-pagination ul li { border: 0; }
	& nav.woocommerce-pagination ul li :is(a, span) {
		min-width: 44px; min-height: 44px; display: inline-grid; place-items: center;
		border-radius: var(--z-radio-sm); border: 1px solid var(--z-linea); color: var(--z-tinta); font-weight: 600;
	}
	& nav.woocommerce-pagination ul li span.current { background: var(--z-tinta); border-color: var(--z-tinta); color: var(--z-blanco); }

	/* Ficha de producto */
	& [data-id="5d616cac"] h2.elementor-heading-title:not(#z) {
		font-size: var(--z-t-h2); line-height: 1.08; font-weight: 800; letter-spacing: -0.025em; color: var(--z-tinta);
	}
	& div.product form.cart { display: flex; align-items: center; gap: var(--z-3); }
	& input.qty:not(#z) { width: 88px; text-align: center; padding-inline: var(--z-2); }
	& .elementor-widget-woocommerce-product-title .product_title {
		font-size: clamp(2rem, 1.5rem + 1.6vw, 3rem);
		line-height: 1.08; font-weight: 800; letter-spacing: -0.025em;
	}
	& .elementor-widget-woocommerce-product-price .price { font-size: 1.5rem; font-weight: 700; }
	& .woocommerce-product-gallery img { border-radius: var(--z-radio); }
	& .elementor-widget-woocommerce-product-content { font-size: 1.0625rem; line-height: 1.7; color: var(--z-tinta-2); max-width: 62ch; }

	/* -------------------------------------------- Selector de idioma flotante */
	& #gt_float_wrapper { left: 16px !important; bottom: 16px !important; }
	& #gt_float_wrapper .gt_float_switcher {
		font-size: 14px !important;
		border-radius: var(--z-pill) !important;
		box-shadow: var(--z-sombra-sm) !important;
		overflow: hidden;
	}
	& #gt_float_wrapper .gt_float_switcher img { width: 20px !important; height: auto !important; }


	/* ======================= Marcado sin Elementor Pro (v0.2.0) ======================= */

	/* Cabecera fija con CSS (sustituye al sticky de Pro y a su clon en el DOM). */
	& #zhao-cabecera {
		position: sticky;
		top: 0;
		z-index: 100;
		background: var(--z-blanco);
	}
	&.admin-bar #zhao-cabecera { top: 32px; }
	& .zhao-carrito {
		display: inline-flex;
		align-items: center;
		gap: var(--z-2);
		min-height: 44px;
		padding-inline: var(--z-2);
		color: var(--z-tinta);
		font-size: var(--z-t-sm);
		font-weight: 600;
		text-decoration: none;
		white-space: nowrap;
	}
	& .zhao-carrito:hover { color: var(--z-tinta); }
	& .zhao-carrito .zhao-icono { flex: none; }
	& .zhao-carrito__n {
		display: inline-grid;
		place-items: center;
		min-width: 20px;
		height: 20px;
		padding-inline: 5px;
		margin-left: -14px;
		margin-top: -16px;
		border-radius: var(--z-pill);
		background: var(--z-tinta);
		color: var(--z-blanco);
		font-size: 11px;
		font-weight: 700;
		line-height: 1;
	}
	& [data-id="50fff47d"] > .elementor-widget-wrap { gap: var(--z-4); align-items: center; }

	/* Tienda */
	& .zhao-woo { max-width: 1200px; margin-inline: auto; padding: 0 20px var(--z-seccion); }
	& .zhao-tienda__cabeza { text-align: center; padding-block: clamp(48px, 2rem + 4vw, 96px) var(--z-7); }
	& .zhao-tienda__titulo {
		font-size: var(--z-t-display);
		line-height: 1.04;
		font-weight: 800;
		letter-spacing: -0.035em;
		color: var(--z-tinta);
		margin: 0 0 var(--z-3);
	}
	& .zhao-tienda__bajada { margin: 0 auto; color: var(--z-tinta-2); font-size: var(--z-t-lead); max-width: 48ch; }
	& .zhao-tienda {
		display: grid;
		grid-template-columns: 240px minmax(0, 1fr);
		gap: var(--z-7);
		align-items: start;
	}
	& .zhao-tienda__filtros { position: sticky; top: 112px; }
	& .zhao-tienda__resultados > :is(.woocommerce-result-count, .woocommerce-ordering) { margin-bottom: var(--z-5); }
	& .zhao-tienda__resultados > .woocommerce-ordering { float: right; }
	& .zhao-tienda__resultados > .woocommerce-result-count { float: left; line-height: var(--z-h-ctrl); margin: 0; }
	& .zhao-tienda__resultados > ul.products { clear: both; }
	& nav.woocommerce-pagination { text-align: center; margin-top: var(--z-7); }

	/* Ficha: resumen a la izquierda y foto a la derecha, como la plantilla #431. */
	& div.product.type-product {
		display: grid;
		grid-template-columns: repeat(2, minmax(0, 1fr));
		gap: var(--z-7);
		align-items: start;
		padding-top: clamp(32px, 1.5rem + 3vw, 80px);
	}
	& div.product.type-product > .woocommerce-product-gallery:not(#z) { order: 2; width: 100%; max-width: none; float: none; margin: 0; }
	& div.product.type-product > .summary:not(#z) { order: 1; width: 100%; max-width: none; float: none; margin: 0; }
	& div.product.type-product > :is(.related, .up-sells, .woocommerce-tabs) { order: 3; grid-column: 1 / -1; }
	& div.product .product_title:not(#z) {
		font-size: clamp(2rem, 1.5rem + 1.6vw, 3rem);
		line-height: 1.08; font-weight: 800; letter-spacing: -0.025em; color: var(--z-tinta);
		margin-bottom: var(--z-4);
	}
	& .zhao-producto__descripcion { font-size: 1.0625rem; line-height: 1.7; color: var(--z-tinta-2); max-width: 62ch; margin-bottom: var(--z-5); }
	& div.product .summary p.price:not(#z) { font-size: 1.5rem; font-weight: 700; margin-bottom: var(--z-5); }
	& div.product .summary p.price:not(#z) .amount { font-size: inherit; }
	& .related.products { padding-top: var(--z-seccion); }
	& .related.products > h2:not(#z) {
		font-size: var(--z-t-h2); line-height: 1.08; font-weight: 800; letter-spacing: -0.025em;
		color: var(--z-tinta); margin-bottom: var(--z-6);
	}

	@media (max-width: 1024px) {
		& .zhao-tienda { grid-template-columns: minmax(0, 1fr); gap: var(--z-5); }
		& .zhao-tienda__filtros { position: static; }
		& .zhao-tienda__filtros .filter-items { display: flex; flex-wrap: wrap; gap: var(--z-2) var(--z-4); }
		& div.product.type-product { grid-template-columns: minmax(0, 1fr); }
		& div.product.type-product > .woocommerce-product-gallery { order: 0; }
	}
	@media (max-width: 767px) {
		& .zhao-carrito__total { display: none; }
		& .zhao-tienda__resultados > :is(.woocommerce-ordering, .woocommerce-result-count) { float: none; }
		& .zhao-tienda__resultados > .woocommerce-ordering select { width: 100%; }
	}

	/* ------------------------------------------------------------------ Móvil */
	@media (max-width: 767px) {
		/* El texto del hero antes que el collage: el H1 vuelve a la primera vista. */
		& [data-id="ae699ad"] [data-id="79280026"] { order: 1; }
		& [data-id="ae699ad"] [data-id="166232b2"] { order: 2; margin-top: var(--z-6); }
		& ul.products { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: var(--z-6) var(--z-4); }
		& .elementskit-infobox { padding: var(--z-5); }
	}
	@media (min-width: 768px) and (max-width: 1024px) {
		& ul.products { grid-template-columns: repeat(2, minmax(0, 1fr)); }
	}
	@media (max-width: 400px) {
		& ul.products { grid-template-columns: minmax(0, 1fr); }
	}

	/* ------------------------------------------------------------ Movimiento */
	@media (prefers-reduced-motion: reduce) {
		& *, & *::before, & *::after { transition-duration: 1ms !important; }
	}
}
