/*
Theme Name:   Aventuras a Escala
Description:  Child theme de Kadence para Aventuras a Escala (diecast, ruedas, decals).
Template:     kadence
Version:      1.0.8
Requires PHP: 8.0
Text Domain:  aventuras-child
License:      GPL-2.0-or-later
*/

/* ---------- Fuentes locales (OFL) ---------- */
@font-face { font-family: "Barlow Condensed"; src: url("fonts/BarlowCondensed-700-latin.woff2") format("woff2"); font-weight: 700; font-style: normal; font-display: swap; }
@font-face { font-family: "IBM Plex Mono"; src: url("fonts/IBMPlexMono-500-latin.woff2") format("woff2"); font-weight: 500; font-style: normal; font-display: swap; }
@font-face { font-family: "Inter"; src: url("fonts/Inter-latin.woff2") format("woff2"); font-weight: 400 700; font-style: normal; font-display: swap; }

/* ---------- Tokens ---------- */
:root {
	--ae-carbon: #111111; --ae-graphite: #242424; --ae-bone: #F5F2EC;
	--ae-blue: #126BFF; --ae-blue-hover: #0B5BE0; --ae-blue-text: #5C97FF;
	--ae-muted: #A8A39A; --ae-white: #FFFFFF; --ae-ink: #111111; --ae-ink-muted: #5E5A54;
	--ae-line: rgba(245, 242, 236, .10); --ae-line-light: #E6E2DA;
	--ae-success: #1E9E5A; --ae-danger: #D93025;
	--ae-font-head: "Barlow Condensed", "Arial Narrow", sans-serif;
	--ae-font-mono: "IBM Plex Mono", ui-monospace, "Cascadia Mono", monospace;
	--ae-font-body: "Inter", "Segoe UI", system-ui, sans-serif;
	--ae-r-xs: 4px; --ae-r-sm: 6px; --ae-r-md: 8px; --ae-r-lg: 12px;
	--ae-shadow: 0 1px 2px rgba(0, 0, 0, .25); --ae-shadow-hover: 0 8px 24px rgba(0, 0, 0, .35);
	--ae-gutter: 16px; --ae-section: 48px; --ae-gap: 12px; --ae-max: 1280px;
}
@media (min-width: 768px)  { :root { --ae-gutter: 24px; --ae-gap: 16px; } }
@media (min-width: 1024px) { :root { --ae-gutter: 32px; --ae-section: 64px; --ae-gap: 20px; } }
@media (min-width: 1440px) { :root { --ae-section: 80px; } }

/* Mapeo a variables globales de Kadence (:root:root gana al CSS inline de Kadence) */
:root:root {
	--global-palette1: #126BFF; --global-palette2: #0B5BE0; --global-palette3: #F5F2EC; --global-palette4: #F5F2EC;
	--global-palette5: #A8A39A; --global-palette6: #5E5A54; --global-palette7: #242424; --global-palette8: #111111; --global-palette9: #111111;
	--global-body-font-family: var(--ae-font-body); --global-heading-font-family: var(--ae-font-head);
	--global-palette-btn-bg: #126BFF; --global-palette-btn-bg-hover: #0B5BE0; --global-palette-btn: #FFFFFF; --global-palette-btn-hover: #FFFFFF;
}

/* ---------- Base ---------- */
body { background: var(--ae-carbon); color: var(--ae-bone); font-family: var(--ae-font-body); font-size: 15px; line-height: 1.55; overflow-x: hidden; }
@media (min-width: 1024px) { body { font-size: 16px; line-height: 1.6; } }
h1, h2, h3, h4, .ae-head { font-family: var(--ae-font-head); font-weight: 700; letter-spacing: -.01em; }
a { color: var(--ae-blue-text); }
a:hover { color: var(--ae-bone); }
img { max-width: 100%; height: auto; }
:focus-visible { outline: 2px solid var(--ae-blue-text); outline-offset: 2px; }
.ae-wrap { max-width: var(--ae-max); margin-inline: auto; padding-inline: var(--ae-gutter); }
.ae-section { padding-block: var(--ae-section); }
.ae-section--light { background: var(--ae-bone); color: var(--ae-ink); }
.ae-section--light a:not(.ae-btn):not(.button) { color: var(--ae-blue-hover); }
.ae-visually-hidden { position: absolute !important; width: 1px; height: 1px; overflow: hidden; clip: rect(0 0 0 0); white-space: nowrap; }

/* Títulos de sección: "NUEVOS INGRESOS /" + "Ver todos →" */
.ae-section-head { display: flex; align-items: baseline; justify-content: space-between; gap: 12px; margin-bottom: 20px; }
.ae-section-head h2 { margin: 0; font-size: 24px; line-height: 1.1; text-transform: uppercase; }
.ae-section-head h2::after { content: " /"; color: var(--ae-blue); }
.ae-section-head .ae-link-more { font-weight: 600; font-size: 14px; white-space: nowrap; text-decoration: none; }
@media (min-width: 1024px) { .ae-section-head h2 { font-size: 32px; } }

/* ---------- Botones ---------- */
.ae-btn, .wp-block-button.ae-btn .wp-block-button__link,
.woocommerce a.button, .woocommerce button.button, .woocommerce input.button, .woocommerce #respond input#submit,
.woocommerce a.button.alt, .woocommerce button.button.alt {
	display: inline-flex; align-items: center; justify-content: center; gap: 8px; min-height: 48px; padding: 0 20px;
	background: var(--ae-blue); color: var(--ae-white); border: 0; border-radius: var(--ae-r-sm);
	font: 600 14px/1 var(--ae-font-body); text-transform: uppercase; text-decoration: none; cursor: pointer;
	transition: background-color .15s, transform .15s;
}
@media (min-width: 1024px) { .ae-btn, .wp-block-button.ae-btn .wp-block-button__link { min-height: 44px; } }
.ae-btn:hover, .wp-block-button.ae-btn .wp-block-button__link:hover, .woocommerce a.button:hover, .woocommerce button.button:hover,
.woocommerce a.button.alt:hover, .woocommerce button.button.alt:hover { background: var(--ae-blue-hover); color: var(--ae-white); }
.ae-btn:active, .woocommerce .button:active { transform: translateY(1px); }
.ae-btn--ghost, .wp-block-button.ae-btn--ghost .wp-block-button__link { background: transparent; color: var(--ae-bone); box-shadow: inset 0 0 0 1.5px var(--ae-bone); }
.ae-btn--ghost:hover, .wp-block-button.ae-btn--ghost .wp-block-button__link:hover { background: var(--ae-bone); color: var(--ae-ink); }
.woocommerce .button:disabled, .woocommerce .button.disabled { opacity: .45; cursor: not-allowed; }

/* ---------- Hero ---------- */
.ae-hero { position: relative; isolation: isolate; overflow: hidden; min-height: 520px; display: flex; align-items: flex-start; }
.ae-hero .ae-media { position: absolute; inset: 0; z-index: -2; }
.ae-hero .ae-media img { width: 100%; height: 100%; object-fit: cover; object-position: 60% 100%; }
.ae-hero::before { content: ""; position: absolute; inset: 0; z-index: -1; background: linear-gradient(180deg, rgba(17,17,17,.92) 0%, rgba(17,17,17,.55) 45%, rgba(17,17,17,.15) 70%, rgba(17,17,17,.6) 100%); }
.ae-hero__content { padding: 32px var(--ae-gutter) 220px; max-width: 640px; }
.ae-kicker { margin: 0 0 12px; font: 600 13px/1.3 var(--ae-font-body); letter-spacing: .08em; text-transform: uppercase; color: var(--ae-bone); }
.ae-kicker em { font-style: normal; color: var(--ae-blue-text); }
.ae-hero h1 { margin: 0 0 16px; font-size: 40px; line-height: 1; text-transform: uppercase; color: var(--ae-bone); }
.ae-hero h1 strong, .ae-accent { color: var(--ae-blue); font-weight: 700; }
.ae-hero p { max-width: 460px; margin: 0 0 24px; font-size: 16px; color: var(--ae-bone); }
.ae-hero .wp-block-buttons { gap: 12px; }
@media (min-width: 768px) { .ae-hero { min-height: 520px; } .ae-hero h1 { font-size: 56px; } }
@media (min-width: 1024px) {
	.ae-hero { min-height: 560px; align-items: center; }
	.ae-hero::before { background: linear-gradient(90deg, rgba(17,17,17,.88) 0%, rgba(17,17,17,.6) 40%, transparent 70%); }
	.ae-hero .ae-media img { object-position: center; }
	.ae-hero__content { padding: 48px var(--ae-gutter); margin-left: max(0px, calc((100vw - var(--ae-max)) / 2)); }
	.ae-hero h1 { font-size: 72px; line-height: .95; }
	.ae-kicker { font-size: 16px; }
}

/* ---------- Beneficios ---------- */
.ae-benefits { list-style: none; margin: 0; padding: 16px var(--ae-gutter); display: grid; grid-template-columns: repeat(2, 1fr); gap: 16px; background: var(--ae-graphite); }
.ae-benefits li { display: flex; align-items: center; gap: 10px; font: 600 13px/1.3 var(--ae-font-body); color: var(--ae-bone); }
.ae-benefits svg { flex: 0 0 28px; width: 28px; height: 28px; color: var(--ae-blue); }
.ae-benefits--bar { padding: 0; display: flex; justify-content: center; gap: 32px; background: none; }
.ae-benefits--bar li { font-weight: 500; font-size: 12px; }
.ae-benefits--bar svg { width: 16px; height: 16px; flex-basis: 16px; }
@media (min-width: 1024px) {
	.ae-hero .ae-benefits { position: absolute; right: max(var(--ae-gutter), calc((100vw - var(--ae-max)) / 2)); top: 50%; transform: translateY(-50%);
		grid-template-columns: 1fr; gap: 28px; padding: 0; background: none; width: 190px; }
	.ae-home-benefits { display: none; }
}
@media (max-width: 1023px) { .ae-hero .ae-benefits { display: none; } }

/* ---------- Categorías ---------- */
.ae-cats { display: grid; grid-auto-flow: column; grid-auto-columns: 75%; gap: var(--ae-gap); overflow-x: auto; scroll-snap-type: x mandatory; padding: 0 var(--ae-gutter) 8px; margin: 0; list-style: none; scrollbar-width: none; }
.ae-cats::-webkit-scrollbar { display: none; }
.ae-cats li { scroll-snap-align: start; }
.ae-cat { position: relative; display: block; aspect-ratio: 4 / 5; border-radius: var(--ae-r-md); overflow: hidden; background: var(--ae-graphite); color: var(--ae-bone); text-decoration: none; box-shadow: var(--ae-shadow); transition: box-shadow .15s, transform .15s; }
.ae-cat img { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; }
.ae-cat::after { content: ""; position: absolute; inset: 0; background: linear-gradient(180deg, transparent 40%, rgba(17,17,17,.92) 100%); }
.ae-cat__text { position: absolute; z-index: 1; left: 16px; right: 44px; bottom: 16px; }
.ae-cat__title { display: block; font: 700 18px/1.2 var(--ae-font-head); text-transform: uppercase; }
.ae-cat__sub { display: block; font-size: 12px; color: var(--ae-bone); opacity: .85; }
.ae-cat__arrow { position: absolute; z-index: 1; right: 14px; bottom: 16px; width: 20px; height: 20px; color: var(--ae-blue); }
.ae-cat:hover { box-shadow: var(--ae-shadow-hover); transform: translateY(-2px); color: var(--ae-bone); }
@media (min-width: 600px)  { .ae-cats { grid-auto-flow: row; grid-template-columns: repeat(3, 1fr); overflow: visible; padding-bottom: 0; } }
@media (min-width: 1024px) {
	.ae-cats { grid-template-columns: repeat(5, 1fr); max-width: var(--ae-max); margin: -40px auto 0; position: relative; z-index: 2; }
	.ae-cat { aspect-ratio: 4 / 3.2; }
	.ae-cat__title { font-size: 20px; }
}

/* ---------- Marcas ---------- */
.ae-brands { list-style: none; margin: 0; padding: 0; display: grid; grid-auto-flow: column; grid-auto-columns: 40%; gap: 8px; overflow-x: auto; scroll-snap-type: x mandatory; scrollbar-width: none; }
.ae-brands li { scroll-snap-align: start; }
.ae-brand { display: flex; align-items: center; justify-content: center; height: 64px; padding: 8px 12px; border-radius: var(--ae-r-sm); background: var(--ae-carbon); color: var(--ae-bone); font: 700 15px/1.1 var(--ae-font-head); text-transform: uppercase; text-align: center; text-decoration: none; }
.ae-brand img { max-height: 40px; width: auto; }
@media (min-width: 768px)  { .ae-brands { grid-auto-flow: row; grid-template-columns: repeat(4, 1fr); overflow: visible; } }
@media (min-width: 1024px) { .ae-brands { grid-template-columns: repeat(8, 1fr); } }

/* ---------- Banner ---------- */
.ae-banner { position: relative; isolation: isolate; overflow: hidden; min-height: 360px; display: flex; align-items: flex-start; }
.ae-banner .ae-media { position: absolute; inset: 0; z-index: -2; }
.ae-banner .ae-media img { width: 100%; height: 100%; object-fit: cover; object-position: right center; }
.ae-banner::before { content: ""; position: absolute; inset: 0; z-index: -1; background: linear-gradient(180deg, rgba(17,17,17,.92) 0%, rgba(17,17,17,.3) 70%); }
.ae-banner__content { padding: 32px var(--ae-gutter); }
.ae-banner h2 { margin: 0 0 8px; font-size: 32px; line-height: 1; text-transform: uppercase; color: var(--ae-bone); }
.ae-banner h2 strong { color: var(--ae-blue); font-weight: 700; }
.ae-banner p { margin: 0 0 20px; max-width: 320px; color: var(--ae-bone); }
@media (min-width: 1024px) {
	.ae-banner { min-height: 280px; align-items: center; }
	.ae-banner::before { background: linear-gradient(90deg, rgba(17,17,17,.9) 0%, rgba(17,17,17,.5) 35%, transparent 60%); }
	.ae-banner__content { margin-left: max(0px, calc((100vw - var(--ae-max)) / 2)); }
	.ae-banner h2 { font-size: 44px; }
}

/* ---------- Instagram ---------- */
.ae-ig__grid { list-style: none; margin: 0; padding: 0; display: grid; grid-template-columns: repeat(2, 1fr); gap: 8px; }
.ae-ig__grid li:nth-child(n+5) { display: none; }
.ae-ig__grid a { display: block; aspect-ratio: 1; border-radius: var(--ae-r-sm); overflow: hidden; }
.ae-ig__grid img { width: 100%; height: 100%; object-fit: cover; transition: opacity .15s; }
.ae-ig__grid a:hover img { opacity: .85; }
@media (min-width: 768px)  { .ae-ig__grid { grid-template-columns: repeat(3, 1fr); } .ae-ig__grid li:nth-child(n+5) { display: block; } }
@media (min-width: 1024px) { .ae-ig__grid { grid-template-columns: repeat(6, 1fr); } }

/* ---------- Contacto / redes ---------- */
.ae-social { list-style: none; display: flex; gap: 16px; margin: 0; padding: 0; }
.ae-social a { display: inline-flex; width: 44px; height: 44px; align-items: center; justify-content: center; color: var(--ae-bone); }
.ae-social a:hover { color: var(--ae-blue-text); }
.ae-social svg { width: 22px; height: 22px; }
.ae-wa { display: inline-flex; align-items: center; gap: 12px; padding: 12px 16px; border: 1px solid var(--ae-line); border-radius: var(--ae-r-md); color: var(--ae-bone); text-decoration: none; }
.ae-wa svg { width: 32px; height: 32px; color: #25D366; flex: 0 0 32px; }
.ae-wa small { display: block; color: var(--ae-muted); font-size: 12px; }
.ae-wa strong { font-size: 15px; }
.ae-wa:hover { border-color: var(--ae-blue-text); color: var(--ae-bone); }

/* ---------- Tarjetas de producto (loop WooCommerce) ---------- */
.woocommerce ul.products { display: grid; grid-template-columns: repeat(2, 1fr); gap: var(--ae-gap); margin: 0; }
.woocommerce ul.products::before, .woocommerce ul.products::after { display: none; }
.woocommerce ul.products li.product { width: auto !important; margin: 0 !important; float: none; display: flex; flex-direction: column; background: var(--ae-white); color: var(--ae-ink); border: 1px solid var(--ae-line-light); border-radius: var(--ae-r-md); overflow: hidden; box-shadow: var(--ae-shadow); position: relative; transition: box-shadow .15s, transform .15s; }
.woocommerce ul.products li.product:hover { box-shadow: var(--ae-shadow-hover); transform: translateY(-2px); }
.woocommerce ul.products li.product img { aspect-ratio: 1; width: 100%; object-fit: contain; background: var(--ae-white); padding: 12px; margin: 0; }
.woocommerce ul.products li.product .woocommerce-loop-product__title { padding: 0 12px; margin: 4px 0; font: 600 14px/1.35 var(--ae-font-body); color: var(--ae-ink); display: -webkit-box; -webkit-line-clamp: 2; -webkit-box-orient: vertical; overflow: hidden; text-transform: none; }
.woocommerce ul.products li.product .price { padding: 0 12px; margin-bottom: 12px; font: 700 18px/1.2 var(--ae-font-body); color: var(--ae-blue-hover); }
.woocommerce ul.products li.product .price del { color: var(--ae-ink-muted); font-weight: 400; font-size: 14px; }
.woocommerce ul.products li.product .button { margin: auto 12px 12px; min-height: 40px; text-transform: none; }
.woocommerce ul.products li.product .ae-meta { padding: 0 12px; font-size: 12px; color: var(--ae-ink-muted); }
.ae-badge, .woocommerce span.onsale { position: absolute; top: 10px; left: 10px; z-index: 2; min-height: 0; min-width: 0; padding: 3px 8px; border-radius: var(--ae-r-xs); background: var(--ae-blue); color: var(--ae-white); font: 600 11px/1.3 var(--ae-font-body); }
.woocommerce span.onsale { left: auto; right: 10px; background: var(--ae-danger); }
.woocommerce ul.products li.product.outofstock .button { background: var(--ae-line-light); color: var(--ae-ink-muted); }
@media (min-width: 600px)  { .woocommerce ul.products { grid-template-columns: repeat(3, 1fr); } }
@media (min-width: 900px)  { .woocommerce ul.products { grid-template-columns: repeat(4, 1fr); } }
@media (min-width: 1200px) { .woocommerce ul.products { grid-template-columns: repeat(5, 1fr); } .woocommerce ul.products li.product .woocommerce-loop-product__title { font-size: 15px; } .woocommerce ul.products li.product .price { font-size: 20px; } }
@media (max-width: 599px) { .ae-new ul.products li.product:nth-child(n+5) { display: none; } }
.ae-empty { padding: 32px; text-align: center; border: 1px dashed var(--ae-line-light); border-radius: var(--ae-r-md); color: var(--ae-ink-muted); }

/* ---------- Ficha de producto ---------- */
.single-product div.product .woocommerce-product-gallery { background: var(--ae-white); border-radius: var(--ae-r-md); overflow: hidden; }
.single-product div.product .woocommerce-product-gallery img { object-fit: contain; aspect-ratio: 1; }
.single-product div.product .product_title { font-size: 24px; line-height: 1.15; color: var(--ae-bone); }
.single-product div.product p.price, .single-product div.product span.price { font: 700 26px/1.2 var(--ae-font-body); color: var(--ae-blue-text); }
.single-product div.product .stock { font-weight: 600; }
.single-product div.product .stock.in-stock { color: #4CC38A; }
.single-product div.product .stock.out-of-stock { color: #FF6B5E; }
.single-product div.product .stock.ae-low-stock { color: #F2B544; }
.single-product div.product form.cart .button { width: 100%; }
.single-product .variations select { min-height: 48px; border-radius: var(--ae-r-sm); background: var(--ae-graphite); color: var(--ae-bone); border: 1px solid var(--ae-line); padding: 0 12px; }
.single-product .product_meta { font-size: 13px; color: var(--ae-muted); }
.ae-trust { list-style: none; margin: 20px 0 0; padding: 16px 0 0; border-top: 1px solid var(--ae-line); display: grid; gap: 10px; font-size: 13px; }
.ae-trust li { display: flex; align-items: center; gap: 10px; }
.ae-trust svg { width: 20px; height: 20px; color: var(--ae-blue); flex: 0 0 20px; }
@media (min-width: 900px) { .single-product div.product .product_title { font-size: 32px; } .single-product div.product form.cart .button { width: auto; } }

/* ---------- Páginas de catálogo ---------- */
.ae-page-head { background: var(--ae-graphite); padding: 32px var(--ae-gutter); }
.ae-page-head h1 { margin: 0 0 6px; font-size: 32px; text-transform: uppercase; }
.ae-page-head p { margin: 0; color: var(--ae-muted); }
@media (min-width: 1024px) { .ae-page-head h1 { font-size: 44px; } }

/* ---------- Movimiento reducido ---------- */
@media (prefers-reduced-motion: reduce) { *, *::before, *::after { transition: none !important; scroll-behavior: auto !important; } }

/* ---------- Composición de la Home ---------- */
.ae-home-cats { padding-top: 16px; }
.ae-home-cats > .ae-wrap { margin-top: var(--ae-section); }
@media (min-width: 1024px) { .ae-home-cats { padding-top: 0; } }

/* ---------- Compatibilidad Kadence (validado en local) ---------- */
/* Kadence aplica padding/margin a .single-content ul/li: se anulan en nuestros componentes */
.entry-content ul[class*="ae-"], .entry-content ul.ae-ig__grid { margin: 0; padding: 0; list-style: none; }
.entry-content ul[class*="ae-"] > li { margin: 0; }
@media (min-width: 1024px) { .entry-content ul.ae-cats { margin: -40px auto 0; } }
/* Títulos y enlaces sobre secciones claras */
.ae-section--light .ae-section-head h2 { color: var(--ae-ink); }
.ae-section--light .ae-cat, .ae-section--light .ae-cat:hover, .ae-section--light .ae-brand { color: var(--ae-bone); }
/* Botón secundario: sin doble borde */
.wp-block-button.ae-btn--ghost .wp-block-button__link { border: 0; }
/* Navegación principal */
.main-navigation .primary-menu-container > ul > li.menu-item > a { font: 600 13px/1 var(--ae-font-body); text-transform: uppercase; color: var(--ae-bone); padding: 12px 14px; border-radius: var(--ae-r-xs); }
.main-navigation .primary-menu-container > ul > li.menu-item > a:hover { color: var(--ae-blue-text); }
.main-navigation .primary-menu-container > ul > li.current-menu-item > a { background: var(--ae-blue); color: var(--ae-white); }
/* Top bar: beneficios + Mi cuenta en una línea */
.header-html-inner { display: flex; align-items: center; gap: 32px; }
.ae-account { color: var(--ae-bone); font: 500 12px/1 var(--ae-font-body); text-decoration: none; white-space: nowrap; }
/* Buscador de productos en el header (sustituye al icono de Kadence) */
.ae-search { width: min(420px, 100%); }
.ae-search form { display: flex; }
.ae-search input[type="search"] { flex: 1; min-width: 0; height: 44px; border: 0; border-radius: var(--ae-r-sm) 0 0 var(--ae-r-sm); background: var(--ae-white); color: var(--ae-ink); padding: 0 14px; font: 400 14px var(--ae-font-body); }
.ae-search button { height: 44px; min-width: 48px; border: 0; border-radius: 0 var(--ae-r-sm) var(--ae-r-sm) 0; background: var(--ae-blue); color: var(--ae-white); font: 600 13px var(--ae-font-body); cursor: pointer; }
.ae-search button:hover { background: var(--ae-blue-hover); }
.site-mobile-header-wrap .ae-search { width: 100%; padding: 0 0 12px; }
/* Tarjetas: markup real de Kadence (li.content-bg > a.woocommerce-loop-image-link + .product-details.content-bg > .product-action-wrap) */
.woocommerce ul.products li.product.content-bg { background: var(--ae-white); }
.woocommerce ul.products li.product .product-details.content-bg { background: transparent; padding: 0; display: flex; flex-direction: column; flex: 1; }
.woocommerce ul.products li.product .woocommerce-loop-product__title a { color: var(--ae-ink); text-decoration: none; }
.woocommerce ul.products li.product .product-action-wrap { margin-top: auto; } /* Kadence: Catálogo → Estilo de acción = Siempre visible (action-visible) */
.woocommerce ul.products li.product .product-action-wrap .button { display: flex; width: calc(100% - 24px); }
.woocommerce ul.products li.product .woocommerce-loop-image-link { display: block; position: relative; }
/* Categorías y marcas: texto claro aunque Kadence coloree los enlaces del contenido */
.entry-content a.ae-cat .ae-cat__title, .entry-content a.ae-cat .ae-cat__sub, .entry-content a.ae-brand { color: var(--ae-bone); }
.ae-home-cats .ae-wrap { margin-top: var(--ae-section); }
.ae-ig__grid .ae-media { display: block; height: 100%; }
.woocommerce ul.products li.product .button, .woocommerce ul.products li.product .button:hover { color: var(--ae-white); font-size: 13px; line-height: 1.2; padding: 8px 10px; overflow-wrap: normal; word-break: normal; hyphens: none; text-align: center; }
/* Gutter de componentes cuyo padding anula el reset de Kadence */
.entry-content ul.ae-cats { padding: 0 var(--ae-gutter) 8px; }
.entry-content ul.ae-benefits:not(.ae-benefits--bar) { padding: 16px var(--ae-gutter); }
@media (min-width: 600px) { .entry-content ul.ae-cats { padding-bottom: 0; } }
@media (min-width: 1024px) and (max-width: 1199px) { .ae-cat__title { font-size: 14px; } .ae-cat__text { right: 12px; left: 12px; } .ae-cat__arrow { display: none; } }
.ae-cat__title { overflow-wrap: normal; word-break: keep-all; }
.ae-hero .entry-content ul.ae-benefits, .ae-hero ul.ae-benefits { padding: 0; }
/* Footer (markup Kadence): 2 columnas en tablet, logo acotado */
@media (min-width: 768px) and (max-width: 1024px) { .site-footer-row.site-footer-row-columns-4.site-footer-row-tablet-column-layout-default { grid-template-columns: 1fr 1fr; } }
.footer-widget1 .ae-media img { max-width: 220px; height: auto; }
/* Carrito/checkout de bloques (WooCommerce 11): campos claros con texto oscuro (máxima legibilidad) */
body .wc-block-components-form .wc-block-components-text-input input[type], body .wc-block-components-text-input input[type],
body .wc-block-components-form .wc-block-components-textarea, body .wc-blocks-components-select .wc-blocks-components-select__container,
body .wc-blocks-components-select .wc-blocks-components-select__select { background: var(--ae-white); color: var(--ae-ink); }
body .wc-block-components-form .wc-block-components-text-input label, body .wc-block-components-text-input label,
body .wc-blocks-components-select .wc-blocks-components-select__label { color: var(--ae-ink-muted); }
body .wc-block-components-button:not(.is-link), body .wc-block-cart__submit-button, body .wc-block-components-checkout-place-order-button {
	background: var(--ae-blue); color: var(--ae-white); border-radius: var(--ae-r-sm); font-weight: 600;
}
body .wc-block-components-button:not(.is-link):hover { background: var(--ae-blue-hover); color: var(--ae-white); }
body .wc-block-components-radio-control__option, body .wc-block-components-checkout-step__description { color: var(--ae-bone); }
body .wc-block-components-panel, body .wc-block-components-totals-wrapper, body .wc-block-components-order-summary { border-color: var(--ae-line); }
body .wc-block-components-product-name { color: var(--ae-bone); }

/* =====================================================================
 * v1.0.2 — auditoría visual (frontend-design · ui-ux-pro-max · impeccable ·
 * emil-design-eng · mobile-native)
 * ================================================================== */
:root { --ae-ease: cubic-bezier(0.23, 1, 0.32, 1); --ae-press: 160ms; }
::selection { background: var(--ae-blue); color: var(--ae-white); }

/* Toque: sin destello gris, sin retardo de 300 ms (mobile-native) */
a, button, .button, input[type="submit"], select, summary { -webkit-tap-highlight-color: transparent; touch-action: manipulation; }

/* Botones: feedback de pulsación (scale .97, ease-out, 160 ms) */
.ae-btn, .wp-block-button.ae-btn .wp-block-button__link, .woocommerce a.button, .woocommerce button.button,
.woocommerce a.button.alt, .woocommerce button.button.alt, .ae-search button {
	transition: background-color var(--ae-press) var(--ae-ease), transform var(--ae-press) var(--ae-ease);
}
.ae-btn:active, .wp-block-button.ae-btn .wp-block-button__link:active, .woocommerce .button:active, .ae-search button:active { transform: scale(.97); }

/* Tarjetas: sin "salto" en todas; hover solo con puntero real, borde + sombra sutil */
.woocommerce ul.products li.product, .ae-cat { transition: box-shadow 200ms var(--ae-ease), border-color 200ms var(--ae-ease); }
.woocommerce ul.products li.product:hover, .ae-cat:hover { transform: none; }
.ae-cat__arrow { transition: transform 200ms var(--ae-ease); }
@media (hover: hover) and (pointer: fine) {
	.woocommerce ul.products li.product:hover { border-color: #CFC9BE; box-shadow: 0 6px 18px rgba(0, 0, 0, .18); }
	.ae-cat:hover { box-shadow: 0 6px 18px rgba(0, 0, 0, .35); }
	.ae-cat:hover .ae-cat__arrow { transform: translateX(3px); }
}
@media (hover: none) { .woocommerce ul.products li.product:hover, .ae-cat:hover { box-shadow: var(--ae-shadow); } }

/* Menos azul: precios en tinta (tarjeta) y hueso (ficha); azul solo para acción/acento */
.woocommerce ul.products li.product .price, .woocommerce ul.products li.product .price ins { color: var(--ae-ink); font-variant-numeric: tabular-nums; }
.single-product div.product p.price, .single-product div.product span.price, .single-product .woocommerce-variation-price .price { color: var(--ae-bone); font-variant-numeric: tabular-nums; }
.woocommerce ul.products li.product .ae-meta { margin: 0 0 6px; line-height: 1.35; }

/* Contraste (medido): marcas, meta de ficha, lupa de galería */
.entry-content .ae-brands a.ae-brand, .entry-content .ae-brands a.ae-brand:hover { color: var(--ae-bone); }
.single-product div.product .product_meta, .single-product div.product .product_meta span, .single-product div.product .product_meta a { color: var(--ae-muted); }
.single-product div.product .product_meta a { display: inline-block; padding-block: 4px; }
.single-product .product_meta a:hover { color: var(--ae-bone); }
.woocommerce-product-gallery__trigger { background: var(--ae-white) !important; color: var(--ae-ink) !important; border-radius: 50% !important; box-shadow: var(--ae-shadow); }

/* Ficha técnica (Información adicional) como hoja de especificaciones */
.woocommerce table.shop_attributes { border: 0; border-top: 1px solid var(--ae-line); font-variant-numeric: tabular-nums; }
.woocommerce table.shop_attributes th, .woocommerce table.shop_attributes td { border: 0; border-bottom: 1px solid var(--ae-line); padding: 12px 8px; background: none; font-style: normal; }
.woocommerce table.shop_attributes th { width: 40%; color: var(--ae-muted); font-weight: 500; text-align: left; }
.woocommerce table.shop_attributes td p { margin: 0; color: var(--ae-bone); font-style: normal; }

/* Objetivos táctiles ≥ 44 px (medidos < 24) */
.header-cart-button, .header-mobile-cart-wrap .header-cart-button { min-width: 44px; min-height: 44px; display: inline-flex; align-items: center; justify-content: center; }
.ae-section-head .ae-link-more { display: inline-flex; align-items: center; min-height: 44px; }
.ae-email { display: inline-block; padding-block: 12px; }
.kadence-breadcrumbs a { display: inline-block; padding-block: 5px; }
.woocommerce a.added_to_cart { display: inline-flex; align-items: center; min-height: 44px; margin: 0 12px 8px; font-size: 13px; font-weight: 600; color: var(--ae-blue-hover); }

/* iOS: campos < 16 px hacen zoom al enfocar */
@media (max-width: 1023px) { input, select, textarea, .ae-search input[type="search"], .woocommerce .woocommerce-ordering select.orderby { font-size: 16px; } }
.single-product .variations select:focus-visible, .ae-search input[type="search"]:focus-visible { outline: 2px solid var(--ae-blue-text); outline-offset: 2px; }

@media (prefers-reduced-motion: reduce) { .ae-btn:active, .woocommerce .button:active, .ae-search button:active { transform: none; } }

/* Web Interface Guidelines (Vercel) */
:root { color-scheme: dark; }
h1, h2, h3, .ae-cat__title { text-wrap: balance; }
.woocommerce .woocommerce-ordering select.orderby { background-color: var(--ae-graphite); color: var(--ae-bone); }

/* =====================================================================
 * v1.0.3 — pasada premium (composición, jerarquía, detalle técnico)
 * ================================================================== */
/* Header: línea fina de separación y buscador más protagonista */
.site-header .site-bottom-header-wrap, .site-header .site-main-header-wrap { border-bottom: 1px solid var(--ae-line); }
@media (min-width: 1025px) { .ae-search { width: min(520px, 100%); } }
.site-top-header-wrap .ae-benefits--bar li span { letter-spacing: .01em; }

/* Hero: beneficios separados por líneas finas (ficha), sin cajas */
@media (min-width: 1024px) {
	.ae-hero .ae-benefits { gap: 0; width: 210px; }
	.ae-hero .ae-benefits li { padding: 14px 0; border-top: 1px solid var(--ae-line); }
	.ae-hero .ae-benefits li:last-child { border-bottom: 1px solid var(--ae-line); }
}

/* Categorías: conteo real de productos como dato técnico */
.ae-cat__count { position: absolute; z-index: 1; top: 12px; left: 12px; padding: 3px 8px; border: 1px solid rgba(245, 242, 236, .35); border-radius: var(--ae-r-xs); background: rgba(17, 17, 17, .55); color: var(--ae-bone); font: 500 11px/1.3 var(--ae-font-body); font-variant-numeric: tabular-nums; }

/* Tarjetas: reposo plano (solo borde fino), jerarquía nombre → ficha → precio */
.woocommerce ul.products li.product { box-shadow: none; border-color: #E2DDD3; }
.woocommerce ul.products li.product img { padding: 16px; }
.woocommerce ul.products li.product .woocommerce-loop-product__title { margin-top: 8px; }
.woocommerce ul.products li.product .price { margin-top: 2px; padding-top: 10px; border-top: 1px solid var(--ae-line-light); margin-inline: 12px; padding-inline: 0; }
@media (min-width: 1200px) { .woocommerce ul.products li.product .price { font-size: 20px; } }
.woocommerce ul.products li.product .button.loading { opacity: .7; cursor: progress; }

/* Catálogo: contador y orden discretos */
.woocommerce-result-count { color: var(--ae-muted); font-size: 13px; }

/* Ficha: descripción corta como línea de especificaciones */
.single-product div.product .woocommerce-product-details__short-description { margin: 4px 0 20px; padding: 12px 0; border-block: 1px solid var(--ae-line); color: var(--ae-bone); font-size: 14px; font-variant-numeric: tabular-nums; }
.single-product div.product .woocommerce-product-details__short-description p { margin: 0; }
.single-product div.product .variations th.label label { font: 600 13px/1.2 var(--ae-font-body); color: var(--ae-muted); }

/* Swatches de color (botones accesibles con texto + muestra) */
.ae-swatches-select { position: absolute !important; width: 1px; height: 1px; overflow: hidden; clip: rect(0 0 0 0); white-space: nowrap; }
.ae-swatches { display: flex; flex-wrap: wrap; gap: 8px; }
.ae-swatch { display: inline-flex; align-items: center; gap: 8px; min-height: 44px; padding: 0 14px 0 10px; border: 1px solid rgba(245, 242, 236, .28); border-radius: var(--ae-r-sm); background: transparent; color: var(--ae-bone); font: 500 14px/1 var(--ae-font-body); cursor: pointer; transition: border-color var(--ae-press) var(--ae-ease), transform var(--ae-press) var(--ae-ease); }
.ae-swatch__dot { width: 18px; height: 18px; border-radius: 50%; box-shadow: inset 0 0 0 1px rgba(245, 242, 236, .4); flex: 0 0 18px; }
.ae-swatch[aria-pressed="true"] { border-color: var(--ae-blue); box-shadow: inset 0 0 0 1px var(--ae-blue); }
.ae-swatch:active:not(:disabled) { transform: scale(.97); }
.ae-swatch:disabled { opacity: .4; cursor: not-allowed; text-decoration: line-through; }
@media (hover: hover) and (pointer: fine) { .ae-swatch:hover:not(:disabled):not([aria-pressed="true"]) { border-color: var(--ae-bone); } }
.single-product .variations td.value .reset_variations { display: inline-block; margin-top: 8px; padding-block: 10px; font-size: 13px; }

/* Footer: títulos coherentes (todos iguales), líneas finas */
.site-footer .widget-title, .site-footer .widget h3, .site-footer .wp-block-heading { font: 700 13px/1.3 var(--ae-font-head); text-transform: uppercase; letter-spacing: .06em; color: var(--ae-bone); margin: 0 0 14px; }
.site-footer .widget + .widget { margin-top: 24px; }
.site-middle-footer-wrap { border-top: 1px solid var(--ae-line); }
.site-bottom-footer-wrap { border-top: 1px solid var(--ae-line); color: var(--ae-muted); font-size: 13px; }
.site-footer .footer-html-inner p { display: flex; flex-wrap: wrap; justify-content: space-between; gap: 8px 24px; margin: 0; }
.site-footer .widget_nav_menu a { color: var(--ae-bone); opacity: .85; }
.site-footer .widget_nav_menu a:hover { opacity: 1; color: var(--ae-blue-text); }

@media (prefers-reduced-motion: reduce) { .ae-swatch:active:not(:disabled) { transform: none; } }
@media (max-width: 599px) {
	.single-product .variations, .single-product .variations tbody, .single-product .variations tr, .single-product .variations th, .single-product .variations td { display: block; width: 100%; padding: 0; }
	.single-product .variations th.label { margin-bottom: 8px; }
}

/* =====================================================================
 * v1.0.5 — microinteracciones (emil-design-eng · improve-animations · mobile-native)
 * Solo transform/opacity, 120–220 ms, ease-out; hover solo con puntero fino.
 * ================================================================== */
/* Tarjetas: sombra en pseudo-elemento (anima opacity, no box-shadow) + zoom leve de imagen */
.woocommerce ul.products li.product { transition: border-color 200ms var(--ae-ease); }
.woocommerce ul.products li.product::after { content: ""; position: absolute; inset: -1px; border-radius: inherit; box-shadow: 0 6px 18px rgba(0, 0, 0, .18); opacity: 0; pointer-events: none; transition: opacity 200ms var(--ae-ease); }
.woocommerce ul.products li.product .woocommerce-loop-image-link { overflow: hidden; }
.woocommerce ul.products li.product .woocommerce-loop-image-link img { transition: transform 220ms var(--ae-ease); }
.ae-cat img { transition: transform 220ms var(--ae-ease); }
@media (hover: hover) and (pointer: fine) {
	.woocommerce ul.products li.product:hover { box-shadow: none; }
	.woocommerce ul.products li.product:hover::after { opacity: 1; }
	.woocommerce ul.products li.product:hover .woocommerce-loop-image-link img { transform: scale(1.03); }
	.ae-cat:hover img { transform: scale(1.04); }
	.ae-cat:hover { box-shadow: var(--ae-shadow); }
}
/* Enlaces "Ver todos": subrayado que aparece (sin mover el layout) */
.ae-section-head .ae-link-more { text-decoration: underline; text-underline-offset: 4px; text-decoration-color: transparent; transition: text-decoration-color 160ms var(--ae-ease); }
.ae-section-head .ae-link-more:hover, .ae-section-head .ae-link-more:focus-visible { text-decoration-color: currentColor; }
/* Swatch seleccionado: la muestra crece levemente */
.ae-swatch__dot { transition: transform 160ms var(--ae-ease); }
.ae-swatch[aria-pressed="true"] .ae-swatch__dot { transform: scale(1.12); }
/* Carrito lateral y menú móvil (Kadence): sin ease-in; curva de drawer */
.popup-drawer { transition-timing-function: ease-out; }
.popup-drawer .drawer-overlay { transition-timing-function: cubic-bezier(0.23, 1, 0.32, 1); }
.popup-drawer .drawer-inner { transition-timing-function: cubic-bezier(0.32, 0.72, 0, 1); }
/* Foco: aparece al instante (accesibilidad), sin animación */
:focus-visible { transition: none; }
@media (prefers-reduced-motion: reduce) {
	.woocommerce ul.products li.product:hover .woocommerce-loop-image-link img, .ae-cat:hover img, .ae-swatch[aria-pressed="true"] .ae-swatch__dot { transform: none; }
}

/* =====================================================================
 * v1.0.6 — tipografía: Barlow Condensed (títulos) · Inter (texto/UI) · IBM Plex Mono (datos)
 * ================================================================== */
h1, h2, h3, h4, .ae-head { letter-spacing: 0; }
.ae-hero h1 { font-size: 54px; line-height: .92; }
@media (min-width: 768px)  { .ae-hero h1 { font-size: 72px; } }
@media (min-width: 1024px) { .ae-hero h1 { font-size: 96px; line-height: .9; } }
.ae-section-head h2 { font-size: 30px; letter-spacing: .01em; }
@media (min-width: 1024px) { .ae-section-head h2 { font-size: 40px; } }
.ae-cat__title { font-size: 22px; letter-spacing: .02em; }
@media (min-width: 1024px) and (max-width: 1199px) { .ae-cat__title { font-size: 18px; } }
@media (min-width: 1200px) { .ae-cat__title { font-size: 24px; } }
.ae-banner h2 { font-size: 40px; line-height: .95; }
@media (min-width: 1024px) { .ae-banner h2 { font-size: 56px; } }
.ae-page-head h1 { font-size: 40px; letter-spacing: .01em; }
@media (min-width: 1024px) { .ae-page-head h1 { font-size: 56px; } }
.single-product div.product .product_title { font-size: 32px; line-height: 1.05; letter-spacing: .01em; }
@media (min-width: 900px) { .single-product div.product .product_title { font-size: 44px; } }
.ae-brand { font-size: 17px; letter-spacing: .03em; }
.site-footer .widget-title, .site-footer .widget h3, .site-footer .wp-block-heading { font-size: 16px; letter-spacing: .06em; }
/* Datos técnicos en mono (no párrafos ni botones) */
.single-product div.product .product_meta .sku, .single-product div.product .product_meta .sku_wrapper,
.woocommerce ul.products li.product .ae-meta, .woocommerce table.shop_attributes td, .woocommerce table.shop_attributes td p,
.ae-cat__count, .single-product div.product .woocommerce-product-details__short-description {
	font-family: var(--ae-font-mono); font-weight: 500; letter-spacing: 0;
}
.single-product div.product .product_meta { font-size: 12px; }
.woocommerce ul.products li.product .ae-meta { font-size: 11.5px; }
.single-product div.product .woocommerce-product-details__short-description { font-size: 13px; }
.woocommerce ul.products li.product .ae-meta { display: -webkit-box; -webkit-line-clamp: 2; -webkit-box-orient: vertical; overflow: hidden; min-height: calc(2 * 1.35em); }
