/**
 * Atenea Cosmetics — hoja de estilos del tema.
 *
 *  1. Tokens
 *  2. Base y reset sobre Storefront
 *  3. Contenedores y utilidades
 *  4. Botones, enlaces y formularios
 *  5. Barra de anuncios
 *  6. Cabecera
 *  7. Menú lateral, buscador y navegación inferior (móvil)
 *  8. Portada
 *  9. Tarjeta de producto y grillas
 * 10. Tienda
 * 11. Ficha de producto
 * 12. Carrito
 * 13. Checkout
 * 14. Mi cuenta
 * 15. Blog y páginas
 * 16. Pie de página
 * 17. Adaptación móvil
 */

/* ==========================================================================
   1. Tokens
   ========================================================================== */

:root {
	--at-bg: #ffffff;
	--at-bg-soft: #fbf8fa;
	--at-bg-alt: #f7edf5;
	--at-ink: #1a1a1a;
	--at-ink-2: #2f2f2f;
	--at-muted: #6b6b6b;
	--at-muted-2: #8f8f8f;
	--at-line: #e6e6e6;
	--at-line-2: #ded3da;
	--at-accent: #c62bad;
	--at-accent-2: #e87fd5;
	--at-accent-ink: #ffffff;
	--at-dark: #1a1a1a;
	--at-on-dark: #ffffff;
	--at-on-dark-muted: #b3a9b0;

	--at-serif: "Adamina", Georgia, "Times New Roman", serif;
	--at-serif-italic: "Cormorant Garamond", "Adamina", Georgia, serif;
	--at-sans: "Raleway", -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif;

	--at-max: 1440px;
	--at-gutter: 56px;
	--at-radius: 0px;

	--at-t: 0.35s cubic-bezier(0.22, 0.61, 0.36, 1);
	--at-shadow: 0 18px 50px rgba(26, 16, 24, 0.12);
	--at-header-h: 84px;
}

/* ==========================================================================
   2. Base y reset sobre Storefront
   ========================================================================== */

body {
	background-color: var(--at-bg);
	color: var(--at-ink);
	font-family: var(--at-sans);
	font-weight: 400;
	font-size: 16px;
	line-height: 1.65;
	-webkit-font-smoothing: antialiased;
	-moz-osx-font-smoothing: grayscale;
}

body,
.site,
.site-content,
#page {
	background-color: var(--at-bg);
}

h1, h2, h3, h4, h5, h6,
.h1, .h2, .h3 {
	font-family: var(--at-serif);
	font-weight: 400;
	color: var(--at-ink);
	letter-spacing: 0;
	line-height: 1.18;
	text-wrap: pretty;
}

p {
	color: var(--at-ink-2);
}

a {
	color: var(--at-ink);
	text-decoration: none;
	transition: color var(--at-t), opacity var(--at-t);
}

a:hover,
a:focus {
	color: var(--at-accent);
}

img {
	max-width: 100%;
	height: auto;
}

hr {
	border: 0;
	border-top: 1px solid var(--at-line);
}

::selection {
	background: var(--at-accent);
	color: #fff;
}

:focus-visible {
	outline: 2px solid var(--at-accent);
	outline-offset: 3px;
}

/* Storefront pinta cabeceras y enlaces con sus propios colores: los neutralizamos. */
.site-header,
.storefront-primary-navigation,
.main-navigation ul.menu ul.sub-menu,
.main-navigation ul.nav-menu ul.children {
	background-color: transparent;
}

/* Storefront separa la cabecera con un margen grande en la portada. */
.site-header.atenea-header {
	margin-bottom: 0 !important;
	padding-top: 0;
	padding-bottom: 0;
}

.site-content {
	padding-top: 0;
}

/* Sin barra lateral: el contenido ocupa todo el ancho. */
.atenea-no-sidebar #primary,
.atenea-no-sidebar .content-area,
.woocommerce-cart #primary,
.woocommerce-checkout #primary,
.woocommerce-account #primary,
.single-product #primary,
.woocommerce-shop #primary,
.tax-product_cat #primary,
.tax-product_tag #primary {
	width: 100%;
	float: none;
	margin: 0;
}

.atenea-no-sidebar #secondary,
.atenea-no-sidebar .widget-area {
	display: none;
}

/* Los enlaces del tema padre llevan subrayado en varios contextos. */
.site-footer a,
.atenea-footer a,
.atenea-nav a,
.atenea-drawer a,
.woocommerce-breadcrumb a,
.atenea-card__title a,
.woocommerce ul.products li.product a {
	text-decoration: none;
}

.storefront-breadcrumb {
	margin: 0;
	padding: 0;
	background: transparent;
}

/* ==========================================================================
   3. Contenedores y utilidades
   ========================================================================== */

.atenea-container,
.col-full {
	max-width: var(--at-max);
	margin-left: auto;
	margin-right: auto;
	padding-left: var(--at-gutter);
	padding-right: var(--at-gutter);
	box-sizing: border-box;
	width: 100%;
}

.atenea-front #content > .col-full {
	max-width: none;
	padding-left: 0;
	padding-right: 0;
}

.atenea-section {
	padding: 100px 0;
}

.atenea-section + .atenea-section {
	padding-top: 0;
}

.atenea-section__head {
	display: flex;
	align-items: baseline;
	justify-content: space-between;
	gap: 24px;
	margin-bottom: 52px;
}

.atenea-section__cta {
	margin-top: 56px;
	text-align: center;
}

.atenea-eyebrow {
	display: block;
	font-family: var(--at-sans);
	font-size: 11px;
	font-weight: 600;
	letter-spacing: 0.26em;
	text-transform: uppercase;
	color: var(--at-accent);
	margin-bottom: 14px;
}

.atenea-eyebrow--center {
	text-align: center;
}

.atenea-section-title {
	font-size: 44px;
	margin: 0 0 56px;
}

.atenea-section-title.is-italic {
	font-family: var(--at-serif-italic);
	font-style: italic;
	font-weight: 400;
	font-size: 52px;
	letter-spacing: 0.005em;
}

.atenea-section-title--center,
.atenea-eyebrow--center + .atenea-section-title {
	text-align: center;
}

.atenea-section__head .atenea-section-title {
	margin-bottom: 0;
}

.atenea-grid {
	display: grid;
	gap: 32px;
}

.atenea-grid--2 { grid-template-columns: repeat(2, minmax(0, 1fr)); }
.atenea-grid--3 { grid-template-columns: repeat(3, minmax(0, 1fr)); }
.atenea-grid--4 { grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 28px; }

.atenea-link-underline {
	display: inline-block;
	font-size: 12px;
	font-weight: 600;
	letter-spacing: 0.14em;
	text-transform: uppercase;
	border-bottom: 1px solid currentColor;
	padding-bottom: 3px;
}

.atenea-icon {
	display: block;
	flex: none;
}

.screen-reader-text {
	border: 0;
	clip: rect(1px, 1px, 1px, 1px);
	clip-path: inset(50%);
	height: 1px;
	width: 1px;
	margin: -1px;
	overflow: hidden;
	padding: 0;
	position: absolute;
	word-wrap: normal !important;
}

.skip-link:focus {
	position: fixed;
	top: 12px;
	left: 12px;
	z-index: 999;
	clip: auto;
	clip-path: none;
	width: auto;
	height: auto;
	background: var(--at-ink);
	color: #fff;
	padding: 12px 20px;
}

/* ==========================================================================
   4. Botones, enlaces y formularios
   ========================================================================== */

.atenea-btn,
.woocommerce #respond input#submit,
.woocommerce a.button,
.woocommerce button.button,
.woocommerce input.button,
.woocommerce a.button.alt,
.woocommerce button.button.alt,
.woocommerce input.button.alt,
button.button,
input[type="submit"],
.button {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	gap: 10px;
	font-family: var(--at-sans);
	font-size: 12px;
	font-weight: 600;
	letter-spacing: 0.18em;
	text-transform: uppercase;
	line-height: 1;
	padding: 18px 36px;
	border: 1px solid var(--at-ink);
	border-radius: var(--at-radius);
	background: var(--at-ink);
	color: #fff;
	text-shadow: none;
	cursor: pointer;
	transition: background-color var(--at-t), color var(--at-t), border-color var(--at-t);
	-webkit-appearance: none;
	appearance: none;
}

.atenea-btn:hover,
.woocommerce #respond input#submit:hover,
.woocommerce a.button:hover,
.woocommerce button.button:hover,
.woocommerce input.button:hover,
.woocommerce a.button.alt:hover,
.woocommerce button.button.alt:hover,
.woocommerce input.button.alt:hover,
button.button:hover,
input[type="submit"]:hover,
.button:hover {
	background: var(--at-accent);
	border-color: var(--at-accent);
	color: #fff;
}

.atenea-btn--primary {
	background: var(--at-ink);
	border-color: var(--at-ink);
	color: #fff;
}

.atenea-btn--ghost,
.woocommerce a.button.alt.wc-forward,
.woocommerce .cart .button.wc-backward {
	background: transparent;
	color: var(--at-ink);
	border-color: var(--at-ink);
}

.atenea-btn--ghost:hover {
	background: var(--at-ink);
	color: #fff;
}

.atenea-btn--ghost-light {
	background: transparent;
	border-color: rgba(255, 255, 255, 0.85);
	color: #fff;
}

.atenea-btn--ghost-light:hover {
	background: #fff;
	border-color: #fff;
	color: var(--at-ink);
}

.atenea-btn--block {
	width: 100%;
}

.woocommerce .button.loading::after,
.woocommerce a.added_to_cart {
	font-size: 12px;
	letter-spacing: 0.12em;
}

.woocommerce a.added_to_cart {
	display: inline-block;
	margin-top: 10px;
	text-transform: uppercase;
	border-bottom: 1px solid currentColor;
}

/* Los formularios de búsqueda de WordPress y WooCommerce usan <button> pelado. */
.woocommerce-product-search button[type="submit"],
.wp-block-search__button,
.search-form button[type="submit"],
.search-form .search-submit,
input.search-submit {
	background: var(--at-ink);
	border: 1px solid var(--at-ink);
	border-radius: 0;
	color: #fff;
	font-family: var(--at-sans);
	font-size: 11px;
	font-weight: 600;
	letter-spacing: 0.16em;
	text-transform: uppercase;
	padding: 14px 22px;
	cursor: pointer;
	transition: background-color var(--at-t), border-color var(--at-t);
}

.woocommerce-product-search button[type="submit"]:hover,
.wp-block-search__button:hover,
.search-form button[type="submit"]:hover,
.search-form .search-submit:hover,
input.search-submit:hover {
	background: var(--at-accent);
	border-color: var(--at-accent);
	color: #fff;
}

.woocommerce-product-search,
.search-form {
	display: flex;
	gap: 0;
	margin: 0;
}

.woocommerce-product-search .search-field,
.search-form .search-field,
.search-form label {
	flex: 1;
	margin: 0;
}

.search-form label {
	display: flex;
}

input[type="text"],
input[type="email"],
input[type="password"],
input[type="search"],
input[type="tel"],
input[type="url"],
input[type="number"],
input[type="date"],
select,
textarea,
.select2-container .select2-selection--single {
	font-family: var(--at-sans);
	font-size: 15px;
	color: var(--at-ink);
	background: #fff;
	border: 1px solid var(--at-line-2);
	border-radius: 0;
	box-shadow: none;
	padding: 14px 16px;
	width: 100%;
	box-sizing: border-box;
	transition: border-color var(--at-t);
	-webkit-appearance: none;
	appearance: none;
}

textarea {
	min-height: 130px;
}

input:focus,
select:focus,
textarea:focus {
	border-color: var(--at-accent);
	outline: none;
}

::placeholder {
	color: var(--at-muted-2);
	opacity: 1;
}

label {
	display: block;
	font-size: 11px;
	font-weight: 600;
	letter-spacing: 0.2em;
	text-transform: uppercase;
	color: var(--at-muted);
	margin-bottom: 8px;
}

.woocommerce form .form-row label.checkbox,
.woocommerce-form__label-for-checkbox {
	display: flex;
	align-items: center;
	gap: 10px;
	font-size: 14px;
	font-weight: 400;
	letter-spacing: 0;
	text-transform: none;
	color: var(--at-muted);
}

.select2-container--default .select2-selection--single {
	height: auto;
	border-color: var(--at-line-2);
}

.select2-container--default .select2-selection--single .select2-selection__rendered {
	line-height: 1.4;
	padding: 0;
	color: var(--at-ink);
}

.select2-container--default .select2-selection--single .select2-selection__arrow {
	top: 50%;
	transform: translateY(-50%);
	right: 12px;
}

/* Selector de cantidad */
.woocommerce .quantity,
.quantity,
.atenea-qty {
	display: inline-flex;
	align-items: stretch;
	border: 1px solid var(--at-ink);
	border-radius: 0;
	background: #fff;
	width: auto;
	max-width: none;
}

.quantity input.qty,
.atenea-qty input.qty {
	width: 56px;
	border: 0;
	text-align: center;
	padding: 15px 0;
	font-size: 15px;
	-moz-appearance: textfield;
}

.quantity input.qty::-webkit-outer-spin-button,
.quantity input.qty::-webkit-inner-spin-button {
	-webkit-appearance: none;
	margin: 0;
}

.atenea-qty__btn {
	display: flex;
	align-items: center;
	justify-content: center;
	width: 46px;
	border: 0;
	background: transparent;
	color: var(--at-ink);
	cursor: pointer;
	padding: 0;
	transition: background-color var(--at-t), color var(--at-t);
}

.atenea-qty__btn:hover {
	background: var(--at-ink);
	color: #fff;
}

/* Avisos de WooCommerce */
.woocommerce-message,
.woocommerce-info,
.woocommerce-error,
.woocommerce-noreviews,
.woocommerce .woocommerce-message,
.woocommerce .woocommerce-info,
.woocommerce .woocommerce-error,
.woocommerce-page .woocommerce-info,
.woocommerce-page .woocommerce-message,
p.no-comments {
	background: var(--at-bg-alt);
	color: var(--at-ink);
	border-top: 2px solid var(--at-accent);
	border-radius: 0;
	font-size: 14px;
	/* WooCommerce coloca su icono en ::before, por eso el hueco a la izquierda. */
	padding: 20px 24px 20px 54px;
	margin: 0 0 28px;
	list-style: none;
}

.woocommerce-message li,
.woocommerce-info li,
.woocommerce-error li {
	list-style: none;
	margin: 0;
}

.woocommerce-error {
	border-top-color: #b3261e;
}

.woocommerce-message::before,
.woocommerce-info::before,
.woocommerce-error::before {
	color: var(--at-accent);
}

.woocommerce-message .button,
.woocommerce-info .button {
	padding: 12px 22px;
	font-size: 11px;
}

/* ==========================================================================
   5. Barra de anuncios
   ========================================================================== */

.atenea-topbar {
	background: var(--at-dark);
	color: var(--at-on-dark);
	overflow: hidden;
	position: relative;
}

.atenea-topbar__track {
	display: flex;
	justify-content: center;
	padding: 11px var(--at-gutter);
}

.atenea-topbar__text {
	font-size: 11px;
	font-weight: 500;
	letter-spacing: 0.2em;
	text-transform: uppercase;
	white-space: nowrap;
}

.atenea-topbar__text + .atenea-topbar__text {
	display: none;
}

/* ==========================================================================
   6. Cabecera
   ========================================================================== */

.atenea-header {
	position: relative;
	z-index: 60;
	background: var(--at-bg);
	border-bottom: 1px solid var(--at-line);
	padding: 0;
}

/* Fila 1: hamburguesa (movil) · logo · acciones */
.atenea-header__bar {
	display: grid;
	grid-template-columns: 1fr auto 1fr;
	align-items: center;
	gap: 24px;
	min-height: var(--at-header-h);
	padding-top: 20px;
	padding-bottom: 20px;
}

.atenea-header__left {
	display: flex;
	align-items: center;
	gap: 14px;
	min-width: 0;
}

/*
 * La hamburguesa solo existe en tablet/movil. Se fuerza por encima de
 * .atenea-iconbtn, que comparte especificidad y va despues en la hoja.
 */
.atenea-header .atenea-header__burger {
	display: none;
}

/* Fila 2: menu de categorias centrado (escritorio) */
.atenea-header__nav-row {
	border-top: 1px solid var(--at-line);
}

.atenea-nav__menu {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	justify-content: center;
	gap: 4px 34px;
	list-style: none;
	margin: 0;
	padding: 15px 0;
}

.atenea-nav__menu li {
	position: relative;
	margin: 0;
	list-style: none;
}

.atenea-nav__menu > li > a {
	display: block;
	font-size: 12px;
	font-weight: 600;
	letter-spacing: 0.12em;
	text-transform: uppercase;
	padding: 6px 0;
	white-space: nowrap;
	color: var(--at-ink-2);
}

.atenea-nav__menu > li > a:hover {
	color: var(--at-accent);
}

.atenea-nav__menu > li.current-menu-item > a,
.atenea-nav__menu > li.current_page_item > a,
.atenea-nav__menu > li.current-menu-parent > a {
	color: var(--at-ink);
}

.atenea-nav__menu > li.current-menu-item > a::after,
.atenea-nav__menu > li.current_page_item > a::after,
.atenea-nav__menu > li.current-menu-parent > a::after {
	content: "";
	position: absolute;
	left: 0;
	right: 0;
	bottom: -1px;
	height: 1px;
	background: var(--at-accent);
}

/* Submenus */
.atenea-nav__menu .sub-menu {
	position: absolute;
	top: 100%;
	left: 50%;
	min-width: 220px;
	background: #fff;
	border: 1px solid var(--at-line);
	box-shadow: var(--at-shadow);
	list-style: none;
	margin: 0;
	padding: 10px 0;
	opacity: 0;
	visibility: hidden;
	transform: translateX(-50%) translateY(8px);
	transition: opacity var(--at-t), transform var(--at-t), visibility var(--at-t);
	z-index: 70;
}

.atenea-nav__menu li:hover > .sub-menu,
.atenea-nav__menu li:focus-within > .sub-menu {
	opacity: 1;
	visibility: visible;
	transform: translateX(-50%) translateY(0);
}

.atenea-nav__menu .sub-menu li {
	text-align: center;
}

.atenea-nav__menu .sub-menu a {
	display: block;
	font-size: 14px;
	padding: 9px 22px;
	white-space: nowrap;
	text-transform: none;
	letter-spacing: 0.02em;
}

.atenea-nav__menu .sub-menu a:hover {
	background: var(--at-bg-alt);
	color: var(--at-accent);
}

/* Logo */
.atenea-header__brand {
	display: flex;
	justify-content: center;
}

.atenea-logo {
	display: inline-flex;
	align-items: center;
	gap: 12px;
	color: var(--at-ink);
}

.atenea-logo:hover {
	color: var(--at-ink);
	opacity: 0.72;
}

.atenea-logo__mark {
	width: auto;
	height: 34px;
	/* El isotipo es un SVG dibujado por el tema: sin esto, un navegador que no
	   deduce la proporción del viewBox lo estira. */
	aspect-ratio: 3 / 2;
	overflow: visible;
}

.atenea-logo__custom {
	max-height: 52px;
	width: auto;
}

.atenea-logo__type {
	display: flex;
	flex-direction: column;
	line-height: 1;
	gap: 4px;
}

.atenea-logo__name {
	font-family: var(--at-serif);
	font-size: 22px;
	letter-spacing: 0.3em;
	text-indent: 0.3em;
}

.atenea-logo__suffix {
	font-family: var(--at-sans);
	font-size: 8.5px;
	font-weight: 600;
	letter-spacing: 0.34em;
	text-indent: 0.34em;
	color: var(--at-muted);
}

.atenea-logo--light,
.atenea-logo--light .atenea-logo__name {
	color: var(--at-on-dark);
}

.atenea-logo--light .atenea-logo__suffix {
	color: var(--at-on-dark-muted);
}

.atenea-logo--sm .atenea-logo__mark { height: 26px; }
.atenea-logo--sm .atenea-logo__name { font-size: 17px; }
.atenea-logo--footer .atenea-logo__mark { height: 30px; }

/* Acciones */
.atenea-header__actions {
	display: flex;
	align-items: center;
	justify-content: flex-end;
	gap: 8px;
}

.atenea-iconbtn {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	position: relative;
	width: 42px;
	height: 42px;
	border: 0;
	background: transparent;
	color: var(--at-ink);
	cursor: pointer;
	padding: 0;
	border-radius: 999px;
	transition: background-color var(--at-t), color var(--at-t);
}

.atenea-iconbtn:hover {
	background: var(--at-bg-alt);
	color: var(--at-accent);
}

.atenea-header__cart-count {
	position: absolute;
	top: 4px;
	right: 2px;
	min-width: 18px;
	height: 18px;
	padding: 0 5px;
	border-radius: 999px;
	background: var(--at-accent);
	color: #fff;
	font-size: 10px;
	font-weight: 700;
	line-height: 18px;
	text-align: center;
	box-sizing: border-box;
}

.atenea-header__cart-count.is-empty {
	display: none;
}

/* Panel de búsqueda */
.atenea-searchpanel {
	position: absolute;
	left: 0;
	right: 0;
	top: 100%;
	background: #fff;
	border-bottom: 1px solid var(--at-line);
	box-shadow: var(--at-shadow);
	padding: 34px 0;
	z-index: 80;
}

.atenea-searchpanel[hidden] {
	display: none;
}

.atenea-searchpanel .atenea-container {
	position: relative;
	display: flex;
	align-items: center;
	gap: 20px;
}

.atenea-searchpanel form {
	flex: 1;
	display: flex;
	gap: 0;
	margin: 0;
}

.atenea-searchpanel input[type="search"],
.atenea-searchpanel input[type="text"] {
	border-width: 0 0 1px 0;
	font-size: 22px;
	font-family: var(--at-serif);
	padding: 10px 0;
}

.atenea-searchpanel button[type="submit"] {
	white-space: nowrap;
}

.atenea-searchpanel__close {
	width: 42px;
	height: 42px;
	border: 0;
	background: transparent;
	color: var(--at-ink);
	cursor: pointer;
	display: flex;
	align-items: center;
	justify-content: center;
}

/* ==========================================================================
   7. Menú lateral, buscador y navegación inferior (móvil)
   ========================================================================== */

.atenea-drawer {
	position: fixed;
	inset: 0;
	z-index: 200;
	visibility: hidden;
	pointer-events: none;
}

.atenea-drawer.is-open {
	visibility: visible;
	pointer-events: auto;
}

.atenea-drawer__scrim {
	position: absolute;
	inset: 0;
	border: 0;
	padding: 0;
	background: rgba(26, 16, 24, 0.45);
	opacity: 0;
	transition: opacity var(--at-t);
	cursor: pointer;
	z-index: 1;
}

.atenea-drawer.is-open .atenea-drawer__scrim {
	opacity: 1;
}

.atenea-drawer__panel {
	position: absolute;
	top: 0;
	bottom: 0;
	left: 0;
	width: min(400px, 88vw);
	background: #fff;
	display: flex;
	flex-direction: column;
	transform: translateX(-100%);
	transition: transform var(--at-t);
	z-index: 2;
	overflow-y: auto;
	overscroll-behavior: contain;
	-webkit-overflow-scrolling: touch;
}

.atenea-drawer.is-open .atenea-drawer__panel {
	transform: translateX(0);
}

.atenea-drawer__head {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 16px;
	padding: 18px 22px;
	border-bottom: 1px solid var(--at-line);
	position: sticky;
	top: 0;
	background: #fff;
	z-index: 2;
}

.atenea-drawer__search {
	padding: 20px 22px;
	border-bottom: 1px solid var(--at-line);
}

.atenea-drawer__search form {
	display: flex;
	gap: 8px;
	margin: 0;
}

.atenea-drawer__search input[type="search"],
.atenea-drawer__search input[type="text"] {
	flex: 1;
	font-size: 15px;
	padding: 12px 14px;
}

.atenea-drawer__search button[type="submit"] {
	padding: 12px 18px;
	font-size: 10px;
	letter-spacing: 0.12em;
}

.atenea-drawer__nav {
	flex: 1;
	padding: 8px 0 20px;
}

.atenea-drawer__menu,
.atenea-drawer__menu .sub-menu {
	list-style: none;
	margin: 0;
	padding: 0;
}

.atenea-drawer__menu > li {
	border-bottom: 1px solid var(--at-line);
	margin: 0;
}

.atenea-drawer__menu a {
	display: block;
	padding: 17px 22px;
	font-size: 15px;
	font-weight: 500;
	letter-spacing: 0.04em;
}

.atenea-drawer__menu .menu-item-has-children {
	position: relative;
}

.atenea-drawer__toggle {
	position: absolute;
	top: 4px;
	right: 8px;
	width: 46px;
	height: 46px;
	border: 0;
	background: transparent;
	color: var(--at-muted);
	cursor: pointer;
	display: flex;
	align-items: center;
	justify-content: center;
	transition: transform var(--at-t);
}

.atenea-drawer__toggle[aria-expanded="true"] {
	transform: rotate(180deg);
	color: var(--at-accent);
}

.atenea-drawer__menu .sub-menu {
	display: none;
	background: var(--at-bg-soft);
	border-top: 1px solid var(--at-line);
}

.atenea-drawer__menu .sub-menu.is-open {
	display: block;
}

.atenea-drawer__menu .sub-menu a {
	padding: 14px 34px;
	font-size: 14px;
	font-weight: 400;
	color: var(--at-muted);
}

.atenea-drawer__foot {
	border-top: 1px solid var(--at-line);
	padding: 14px 22px 26px;
	display: flex;
	flex-direction: column;
	gap: 4px;
}

.atenea-drawer__link {
	display: flex;
	align-items: center;
	gap: 12px;
	padding: 12px 0;
	font-size: 14px;
	font-weight: 500;
}

.atenea-drawer__count {
	margin-left: auto;
	min-width: 22px;
	height: 22px;
	line-height: 22px;
	text-align: center;
	border-radius: 999px;
	background: var(--at-bg-alt);
	color: var(--at-accent);
	font-size: 11px;
	font-weight: 700;
}

body.atenea-locked {
	overflow: hidden;
}

/* Navegación inferior */
.atenea-bottomnav {
	display: none;
	position: fixed;
	left: 0;
	right: 0;
	bottom: 0;
	z-index: 150;
	background: rgba(255, 255, 255, 0.96);
	backdrop-filter: saturate(180%) blur(14px);
	-webkit-backdrop-filter: saturate(180%) blur(14px);
	border-top: 1px solid var(--at-line);
	padding-bottom: env(safe-area-inset-bottom);
}

.atenea-bottomnav__item {
	flex: 1;
	display: flex;
	flex-direction: column;
	align-items: center;
	gap: 4px;
	padding: 9px 4px 8px;
	color: var(--at-muted);
	font-size: 10px;
	letter-spacing: 0.04em;
}

.atenea-bottomnav__item.is-active,
.atenea-bottomnav__item:hover {
	color: var(--at-accent);
}

.atenea-bottomnav__icon {
	position: relative;
}

.atenea-bottomnav__badge {
	position: absolute;
	top: -5px;
	right: -8px;
	min-width: 16px;
	height: 16px;
	padding: 0 4px;
	border-radius: 999px;
	background: var(--at-accent);
	color: #fff;
	font-size: 9px;
	font-weight: 700;
	line-height: 16px;
	text-align: center;
	box-sizing: border-box;
}

.atenea-bottomnav__badge.is-empty {
	display: none;
}

/* ==========================================================================
   8. Portada
   ========================================================================== */

/* --- Hero --- */
.atenea-hero {
	--at-hero-h: 720px;
	position: relative;
	min-height: var(--at-hero-h);
	overflow: hidden;
	background: var(--at-ink);
}

.atenea-hero__slides {
	position: absolute;
	inset: 0;
}

.atenea-hero__slide {
	position: absolute;
	inset: 0;
	display: flex;
	align-items: flex-end;
	opacity: 0;
	visibility: hidden;
	transition: opacity 0.7s ease, visibility 0.7s ease;
}

.atenea-hero__slide.is-active {
	opacity: 1;
	visibility: visible;
}

/* Con una sola slide no hace falta transición ni apilado. */
.atenea-hero:not(.atenea-hero--slider) .atenea-hero__slides {
	position: relative;
}

.atenea-hero:not(.atenea-hero--slider) .atenea-hero__slide {
	position: relative;
	opacity: 1;
	visibility: visible;
	min-height: var(--at-hero-h);
}

.atenea-hero__bg {
	position: absolute;
	inset: 0;
	width: 100%;
	height: 100%;
	object-fit: cover;
	object-position: center 40%;
}

/*
 * Las fotos de catálogo son verticales y muy luminosas: el degradado tiene
 * que ser fuerte abajo para que el titular se lea siempre.
 */
.atenea-hero__veil {
	position: absolute;
	inset: 0;
	background:
		linear-gradient(to top,
			rgba(14, 8, 13, 0.95) 0%,
			rgba(14, 8, 13, 0.86) 24%,
			rgba(14, 8, 13, 0.52) 54%,
			rgba(14, 8, 13, 0.16) 82%,
			rgba(14, 8, 13, 0) 100%),
		rgba(14, 8, 13, 0.14);
}

/* Como en el template: el texto se apoya en la base del hero. */
.atenea-hero__inner {
	position: relative;
	width: 100%;
	align-self: end;
	z-index: 2;
	text-align: center;
	padding-top: 130px;
	padding-bottom: 58px;
	display: flex;
	flex-direction: column;
	align-items: center;
	gap: 0;
}

.atenea-hero__eyebrow {
	display: inline-block;
	font-size: 11px;
	font-weight: 600;
	letter-spacing: 0.28em;
	text-transform: uppercase;
	color: var(--at-accent-2);
	margin-bottom: 20px;
}

.atenea-hero__title {
	font-size: 74px;
	line-height: 1.08;
	color: #fff;
	margin: 0;
	max-width: 16ch;
	text-shadow: 0 2px 34px rgba(0, 0, 0, 0.42);
}

.atenea-hero__text {
	color: rgba(255, 255, 255, 0.88);
	font-size: 17px;
	line-height: 1.7;
	max-width: 46ch;
	margin: 24px 0 0;
}

.atenea-hero__cta {
	margin-top: 34px;
}

/* Dos botones: van juntos, el primero lleno y el segundo con borde. */
.atenea-hero__actions {
	display: flex;
	flex-wrap: wrap;
	justify-content: center;
	gap: 14px;
	margin-top: 34px;
}

.atenea-hero__actions .atenea-hero__cta {
	margin-top: 0;
}

.atenea-hero__actions--duo .atenea-hero__cta:first-child {
	background: #fff;
	border-color: #fff;
	color: var(--at-ink);
}

.atenea-hero__actions--duo .atenea-hero__cta:first-child:hover {
	background: var(--at-accent);
	border-color: var(--at-accent);
	color: #fff;
}

/* --- Controles del slider --- */
.atenea-hero__dots {
	position: absolute;
	left: 0;
	right: 0;
	bottom: 22px;
	z-index: 3;
	display: flex;
	justify-content: center;
	gap: 10px;
}

.atenea-hero__dot {
	width: 9px;
	height: 9px;
	border-radius: 999px;
	border: 0;
	background: rgba(255, 255, 255, 0.45);
	cursor: pointer;
	padding: 0;
	transition: background-color var(--at-t), transform var(--at-t);
}

.atenea-hero__dot.is-active {
	background: #fff;
	transform: scale(1.25);
}

.atenea-hero__arrow {
	position: absolute;
	top: 50%;
	transform: translateY(-50%);
	z-index: 3;
	width: 48px;
	height: 48px;
	display: flex;
	align-items: center;
	justify-content: center;
	border: 1px solid rgba(255, 255, 255, 0.4);
	border-radius: 999px;
	background: rgba(20, 12, 18, 0.25);
	color: #fff;
	cursor: pointer;
	opacity: 0;
	transition: opacity var(--at-t), background-color var(--at-t);
	backdrop-filter: blur(4px);
	-webkit-backdrop-filter: blur(4px);
}

.atenea-hero:hover .atenea-hero__arrow {
	opacity: 1;
}

.atenea-hero__arrow:hover {
	background: rgba(20, 12, 18, 0.55);
}

.atenea-hero__arrow--prev {
	left: 20px;
	transform: translateY(-50%) rotate(180deg);
}

.atenea-hero__arrow--next {
	right: 20px;
}

/* En pantallas táctiles no hay hover: mostramos las flechas siempre. */
@media (hover: none), (max-width: 767px) {
	.atenea-hero__arrow {
		opacity: 1;
		width: 40px;
		height: 40px;
	}
	.atenea-hero__arrow--prev { left: 12px; }
	.atenea-hero__arrow--next { right: 12px; }
}

/* --- WhatsApp flotante --- */
.atenea-wa {
	position: fixed;
	right: 20px;
	bottom: 22px;
	z-index: 140;
	width: 56px;
	height: 56px;
	display: flex;
	align-items: center;
	justify-content: center;
	border-radius: 999px;
	background: #25d366;
	color: #fff;
	box-shadow: 0 8px 26px rgba(0, 0, 0, 0.22);
	transition: transform var(--at-t), box-shadow var(--at-t);
}

.atenea-wa:hover {
	color: #fff;
	transform: translateY(-3px) scale(1.04);
	box-shadow: 0 12px 32px rgba(0, 0, 0, 0.28);
}

/* --- Cuotas en la ficha --- */
/* Ficha: etiqueta destacada, pegada al precio */
.atenea-installments {
	display: inline-flex;
	align-items: center;
	gap: 10px;
	align-self: flex-start;
	margin: 0 0 18px;
	padding: 11px 18px;
	border-radius: 999px;
	background: var(--at-accent);
	color: #fff;
	font-size: 15px;
	line-height: 1.2;
}

.atenea-installments svg {
	flex: none;
}

.atenea-installments strong {
	font-weight: 700;
	font-size: 17px;
}

/* Tarjetas: línea bajo el precio */
.atenea-card-installments {
	display: block;
	margin: 3px 0 0;
	font-size: 13px;
	font-weight: 500;
	color: var(--at-accent);
	line-height: 1.4;
}

.atenea-card-installments strong {
	font-weight: 700;
}

/* Consulta por WhatsApp desde la ficha */
.atenea-ask {
	display: inline-flex;
	align-items: center;
	gap: 10px;
	margin: 16px 0 0;
	font-size: 14px;
	font-weight: 600;
	color: #0b6b3a;
}

.atenea-ask:hover {
	color: #084f2b;
	text-decoration: underline;
}

/* Ficha: precio y stock */
.single-product .woocommerce div.product p.price,
.single-product .woocommerce div.product span.price,
.single-product div.product p.price,
.single-product div.product span.price {
	margin-bottom: 14px;
}

.single-product div.product .stock {
	display: inline-flex;
	align-items: center;
	align-self: flex-start;
	margin: 0 0 4px;
	padding: 6px 12px;
	border-radius: 999px;
	background: var(--at-bg-alt);
	font-size: 12px;
	font-weight: 600;
	letter-spacing: 0.04em;
	color: #8a1f78;
}

.single-product div.product .stock.out-of-stock {
	background: #fbe9e7;
	color: #b3261e;
}

/* Ficha: SKU y categoría, más discretos */
.single-product .product_meta {
	font-size: 12px;
	color: var(--at-muted-2);
	border-top: 0;
	padding-top: 6px;
	margin-top: 10px;
}

.single-product .product_meta > span {
	margin-bottom: 2px;
}

.single-product .product_meta a {
	color: var(--at-muted);
}

/* --- Barra de envío gratis --- */
.atenea-freeship {
	margin: 0 0 18px;
	padding: 14px 16px;
	background: var(--at-bg-alt);
	text-align: center;
}

.atenea-freeship__txt {
	margin: 0 0 10px;
	font-size: 13px;
	color: var(--at-ink);
}

.atenea-freeship__bar {
	display: block;
	height: 6px;
	border-radius: 999px;
	background: rgba(26, 26, 26, 0.12);
	overflow: hidden;
}

.atenea-freeship__bar > span {
	display: block;
	height: 100%;
	border-radius: 999px;
	background: var(--at-accent);
	transition: width 0.5s ease;
}

.atenea-freeship.is-done .atenea-freeship__bar > span {
	background: #2e9e5b;
}

/* --- Categorías --- */
.atenea-section--cats {
	padding-top: 100px;
}

/* Todas las categorías en un carrusel horizontal: 4 visibles en escritorio. */
.atenea-carousel {
	position: relative;
}

.atenea-cats {
	display: flex;
	gap: 24px;
	overflow-x: auto;
	overscroll-behavior-x: contain;
	scroll-snap-type: x mandatory;
	-webkit-overflow-scrolling: touch;
	scrollbar-width: none;
	padding-bottom: 4px;
}

.atenea-cats::-webkit-scrollbar {
	display: none;
}

.atenea-cat {
	display: flex;
	flex-direction: column;
	gap: 18px;
	text-align: center;
	flex: 0 0 calc((100% - 72px) / 4);
	scroll-snap-align: start;
}

.atenea-carousel__arrow {
	position: absolute;
	top: 38%;
	z-index: 3;
	width: 48px;
	height: 48px;
	display: flex;
	align-items: center;
	justify-content: center;
	padding: 0;
	border: 1px solid var(--at-line-2);
	border-radius: 999px;
	background: #fff;
	color: var(--at-ink);
	box-shadow: 0 6px 22px rgba(26, 16, 24, 0.14);
	cursor: pointer;
	transform: translateY(-50%);
	transition: opacity var(--at-t), background-color var(--at-t), color var(--at-t), border-color var(--at-t);
}

.atenea-carousel__arrow:hover {
	background: var(--at-ink);
	border-color: var(--at-ink);
	color: #fff;
}

.atenea-carousel__arrow--prev {
	left: -24px;
	transform: translateY(-50%) rotate(180deg);
}

.atenea-carousel__arrow--next {
	right: -24px;
}

.atenea-carousel__arrow[disabled] {
	opacity: 0;
	pointer-events: none;
}

.atenea-carousel.is-static .atenea-carousel__arrow {
	display: none;
}

.atenea-cat__media {
	display: block;
	position: relative;
	overflow: hidden;
	aspect-ratio: 4 / 5;
	background: var(--at-bg-alt);
}

.atenea-cat__media img {
	width: 100%;
	height: 100%;
	object-fit: cover;
	transition: transform 0.8s cubic-bezier(0.22, 0.61, 0.36, 1);
}

.atenea-cat:hover .atenea-cat__media img {
	transform: scale(1.05);
}

.atenea-cat__name {
	font-family: var(--at-serif);
	font-size: 22px;
	color: var(--at-ink);
}

.atenea-cat__count {
	font-size: 11px;
	letter-spacing: 0.18em;
	text-transform: uppercase;
	color: var(--at-muted-2);
	margin-top: -10px;
}

/* --- Selección del mes --- */
/* Las tres fotos van del mismo tamaño, como en el resto del sitio. El diseño
   original hacía la del medio más alta, pero eso pide una foto vertical: con
   las fotos cuadradas del catálogo el recorte se come el producto. La
   proporción sale de la opción del tema, igual que en todas las demás
   tarjetas, así que cambiarla ahí la cambia en todos lados a la vez. */
.atenea-picks ul.products,
.atenea-picks--demo {
	align-items: start;
}

/* --- Editorial --- */
.atenea-story {
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	background: var(--at-bg-alt);
	margin-top: 100px;
}

.atenea-story__media {
	min-height: 620px;
}

.atenea-story__media img {
	width: 100%;
	height: 100%;
	object-fit: cover;
	object-position: center 22%;
	display: block;
}

.atenea-story__body {
	display: flex;
	align-items: center;
	padding: 80px 8%;
}

.atenea-story__inner {
	max-width: 480px;
}

.atenea-story__title {
	font-size: 42px;
	line-height: 1.2;
	margin: 0 0 22px;
}

.atenea-story__text {
	font-size: 15px;
	line-height: 1.85;
	color: var(--at-muted);
	margin: 0 0 32px;
}

/* --- Journal --- */
.atenea-section--journal {
	border-top: 1px solid var(--at-line);
	padding-top: 100px;
	margin-top: 100px;
}

.atenea-journal__item {
	display: flex;
	flex-direction: column;
	gap: 16px;
}

.atenea-journal__media {
	display: block;
	overflow: hidden;
	aspect-ratio: 16 / 10;
	background: var(--at-bg-alt);
}

.atenea-journal__media img {
	width: 100%;
	height: 100%;
	object-fit: cover;
	transition: transform 0.8s cubic-bezier(0.22, 0.61, 0.36, 1);
}

.atenea-journal__item:hover .atenea-journal__media img {
	transform: scale(1.04);
}

.atenea-journal__item .atenea-eyebrow {
	margin: 0;
}

.atenea-journal__title {
	font-family: var(--at-serif);
	font-size: 26px;
	line-height: 1.3;
	color: var(--at-ink);
}

/* --- Beneficios --- */
.atenea-perks {
	border-top: 1px solid var(--at-line);
	border-bottom: 1px solid var(--at-line);
	margin-top: 100px;
}

.atenea-perks__inner {
	display: grid;
	grid-template-columns: repeat(3, minmax(0, 1fr));
	padding-top: 38px;
	padding-bottom: 38px;
}

.atenea-perks__item {
	display: flex;
	align-items: center;
	justify-content: center;
	gap: 12px;
	font-size: 12px;
	font-weight: 600;
	letter-spacing: 0.14em;
	text-transform: uppercase;
	color: var(--at-muted);
}

.atenea-perks__item .atenea-icon {
	color: var(--at-accent);
}

/* --- Newsletter --- */
.atenea-news {
	padding: 100px 0;
}

.atenea-news__inner {
	display: flex;
	flex-direction: column;
	align-items: center;
	text-align: center;
}

.atenea-news .atenea-section-title {
	margin-bottom: 16px;
}

.atenea-news__text {
	font-size: 15px;
	color: var(--at-muted);
	max-width: 46ch;
	margin: 0 0 30px;
}

.atenea-news__form {
	display: flex;
	max-width: 520px;
	width: 100%;
}

.atenea-news__form input[type="email"] {
	border-right: 0;
	border-color: var(--at-ink);
	padding: 17px 20px;
}

.atenea-news__form .atenea-btn {
	flex: none;
	padding: 17px 32px;
}

.atenea-news__legal {
	font-size: 12px;
	color: var(--at-muted-2);
	margin: 16px 0 0;
}

.atenea-section--content {
	padding-top: 0;
}

/* ==========================================================================
   9. Tarjeta de producto y grillas
   ========================================================================== */

/*
 * Al hacer clic en una tarjeta no debe aparecer el resaltado de selección ni
 * el destello de "tap" del móvil. El foco de teclado sí se mantiene visible.
 */
.woocommerce ul.products li.product,
.woocommerce ul.products li.product a,
.atenea-card,
.atenea-cat,
.atenea-journal__item {
	-webkit-tap-highlight-color: transparent;
}

.woocommerce ul.products li.product a,
.atenea-card a,
.atenea-cat,
.atenea-journal__item {
	-webkit-user-select: none;
	user-select: none;
}

.woocommerce ul.products li.product a:focus:not(:focus-visible),
.atenea-cat:focus:not(:focus-visible),
.atenea-journal__item:focus:not(:focus-visible),
.atenea-card a:focus:not(:focus-visible) {
	outline: none;
}

.woocommerce ul.products li.product a img,
.atenea-card__media img,
.atenea-cat__media img {
	-webkit-user-drag: none;
	user-select: none;
}

.woocommerce ul.products,
ul.products {
	display: grid;
	grid-template-columns: repeat(var(--at-cols, 3), minmax(0, 1fr));
	gap: 44px 28px;
	margin: 0;
	padding: 0;
	list-style: none;
}

.woocommerce ul.products::before,
.woocommerce ul.products::after,
ul.products::before,
ul.products::after {
	display: none;
}

.woocommerce ul.products.columns-1 { --at-cols: 1; }
.woocommerce ul.products.columns-2 { --at-cols: 2; }
.woocommerce ul.products.columns-3 { --at-cols: 3; }
.woocommerce ul.products.columns-4 { --at-cols: 4; }
.woocommerce ul.products.columns-5 { --at-cols: 5; }
.woocommerce ul.products.columns-6 { --at-cols: 6; }
.atenea-best .woocommerce ul.products,
.atenea-best ul.products { --at-cols: 4; }

.woocommerce ul.products li.product,
ul.products li.product {
	width: auto !important;
	float: none !important;
	margin: 0 !important;
	padding: 0;
	clear: none !important;
	display: flex;
	flex-direction: column;
	gap: 12px;
	text-align: left;
	position: relative;
}

.woocommerce ul.products li.product a {
	display: block;
}

.atenea-card__media,
.woocommerce ul.products li.product .atenea-card__media {
	position: relative;
	display: block;
	overflow: hidden;
	aspect-ratio: var(--at-card-ratio, 4 / 5);
	background: var(--at-bg-alt);
	margin-bottom: 4px;
}

.atenea-card__media img,
.woocommerce ul.products li.product .atenea-card__media img,
.woocommerce ul.products li.product img {
	width: 100%;
	height: 100%;
	object-fit: cover;
	display: block;
	margin: 0;
	box-shadow: none;
	transition: transform 0.8s cubic-bezier(0.22, 0.61, 0.36, 1), opacity var(--at-t);
}

.woocommerce ul.products li.product:hover .atenea-card__media img {
	transform: scale(1.05);
}

/* Segunda imagen que aparece al pasar el cursor. */
.atenea-card__media-alt {
	position: absolute;
	inset: 0;
	width: 100%;
	height: 100%;
	object-fit: cover;
	opacity: 0;
	transition: opacity 0.5s ease;
	z-index: 2;
	pointer-events: none;
}

.woocommerce ul.products li.product:hover .atenea-card__media-alt {
	opacity: 1;
}

.atenea-card__eyebrow,
.woocommerce ul.products li.product .atenea-card__eyebrow {
	display: block;
	font-size: 10px;
	font-weight: 600;
	letter-spacing: 0.2em;
	text-transform: uppercase;
	color: var(--at-accent);
	margin: 0;
}

.atenea-card__title,
.woocommerce ul.products li.product h2.woocommerce-loop-product__title,
.woocommerce ul.products li.product .woocommerce-loop-product__title,
.woocommerce ul.products li.product h3 {
	font-family: var(--at-serif);
	font-size: 20px;
	font-weight: 400;
	line-height: 1.28;
	color: var(--at-ink);
	margin: 2px 0 0;
	padding: 0;
	display: -webkit-box;
	-webkit-line-clamp: 2;
	-webkit-box-orient: vertical;
	overflow: hidden;
}

.atenea-card__price,
.woocommerce ul.products li.product .price {
	display: flex;
	align-items: baseline;
	gap: 8px;
	font-family: var(--at-sans);
	font-size: 16px;
	font-weight: 700;
	letter-spacing: 0.01em;
	color: var(--at-ink);
	margin: 2px 0 0;
}

.woocommerce ul.products li.product .price del {
	color: var(--at-muted-2);
	font-weight: 400;
	opacity: 1;
	margin-right: 6px;
}

.woocommerce ul.products li.product .price ins {
	color: var(--at-accent);
	text-decoration: none;
	font-weight: 600;
	background: transparent;
}

.woocommerce ul.products li.product .star-rating {
	font-size: 12px;
	color: var(--at-accent);
	margin: 0;
}

/* Botón de la tarjeta: aparece sobre la imagen */
.woocommerce ul.products li.product .button,
.woocommerce ul.products li.product .added_to_cart {
	position: absolute;
	left: 14px;
	right: 14px;
	bottom: auto;
	top: calc(100% / 1);
	margin: 0;
	opacity: 0;
	transform: translateY(8px);
	transition: opacity var(--at-t), transform var(--at-t);
	pointer-events: none;
	font-size: 10px;
	padding: 14px 12px;
	letter-spacing: 0.16em;
	background: rgba(255, 255, 255, 0.96);
	color: var(--at-ink);
	border-color: transparent;
	text-align: center;
	z-index: 3;
}

.woocommerce ul.products li.product .atenea-card__media ~ .button {
	top: auto;
}

.woocommerce ul.products li.product .button {
	position: static;
	opacity: 1;
	transform: none;
	pointer-events: auto;
	background: transparent;
	border: 1px solid var(--at-line-2);
	color: var(--at-ink);
	margin-top: 6px !important;
	align-self: flex-start;
	padding: 13px 24px;
}

.woocommerce ul.products li.product .button:hover {
	background: var(--at-ink);
	border-color: var(--at-ink);
	color: #fff;
}

/* Etiquetas */
.atenea-badge,
.woocommerce ul.products li.product .onsale,
.woocommerce span.onsale {
	position: absolute;
	top: 12px;
	left: 12px;
	right: auto;
	min-height: 0;
	min-width: 0;
	margin: 0;
	padding: 6px 11px;
	border-radius: 999px;
	background: var(--at-ink);
	color: #fff;
	font-family: var(--at-sans);
	font-size: 10px;
	font-weight: 700;
	letter-spacing: 0.12em;
	text-transform: uppercase;
	line-height: 1;
	z-index: 4;
	box-shadow: 0 2px 10px rgba(26, 16, 24, 0.14);
}

/* Oferta: pill sólida en color de marca. */
.atenea-badge--sale,
.woocommerce span.onsale {
	background: var(--at-accent);
	color: #fff;
	box-shadow: 0 2px 10px rgba(198, 43, 173, 0.28);
}

/* Nuevo: pill clara con punto de acento, más sutil. */
.atenea-badge--new {
	display: inline-flex;
	align-items: center;
	gap: 6px;
	background: rgba(255, 255, 255, 0.94);
	color: var(--at-ink);
	backdrop-filter: saturate(160%) blur(4px);
	-webkit-backdrop-filter: saturate(160%) blur(4px);
	box-shadow: 0 2px 10px rgba(26, 16, 24, 0.12);
}

.atenea-badge--new::before {
	content: "";
	width: 6px;
	height: 6px;
	border-radius: 999px;
	background: var(--at-accent);
	flex: none;
}

/* Cuando hay oferta y nuevo a la vez, evitamos que se superpongan. */
.woocommerce ul.products li.product .onsale + .atenea-badge--new,
.woocommerce ul.products li.product .atenea-badge--new ~ .onsale {
	top: 46px;
}

/* ==========================================================================
   10. Tienda
   ========================================================================== */

.atenea-pagehead {
	text-align: center;
	padding: 44px 0 28px;
}

.atenea-pagehead__title {
	font-size: 58px;
	margin: 0;
}

.atenea-pagehead__lead {
	max-width: 60ch;
	margin: 18px auto 0;
	font-size: 15px;
	line-height: 1.8;
	color: var(--at-muted);
}

.atenea-pagehead--left {
	text-align: left;
	padding-bottom: 34px;
}

.atenea-pagehead--left .atenea-pagehead__title {
	font-size: 50px;
}

.atenea-pagehead .atenea-steps {
	justify-content: center;
	margin: 30px 0 0;
}

.atenea-breadcrumb,
.woocommerce-breadcrumb {
	font-size: 11px;
	font-weight: 600;
	letter-spacing: 0.16em;
	text-transform: uppercase;
	color: var(--at-muted-2);
	padding: 26px 0 0;
	margin: 0;
}

.woocommerce-breadcrumb a {
	color: var(--at-accent);
}

.atenea-crumb-sep {
	margin: 0 8px;
	color: var(--at-line-2);
}

/* Layout de tienda con filtros */
.woocommerce-shop #primary,
.tax-product_cat #primary,
.tax-product_tag #primary {
	width: 100%;
	float: none;
}

.atenea-shop-layout {
	display: grid;
	grid-template-columns: 260px minmax(0, 1fr);
	gap: 56px;
	align-items: start;
	padding-bottom: 100px;
}

.atenea-shop-aside {
	position: sticky;
	top: 24px;
	display: flex;
	flex-direction: column;
	gap: 38px;
	font-size: 14px;
}

.atenea-filter-widget .atenea-filter-widget__title,
.atenea-shop-aside .widget-title,
.atenea-shop-aside h3 {
	font-family: var(--at-sans);
	font-size: 11px;
	font-weight: 700;
	letter-spacing: 0.22em;
	text-transform: uppercase;
	color: var(--at-accent);
	border-bottom: 1px solid var(--at-line);
	padding-bottom: 12px;
	margin: 0 0 16px;
}

.atenea-shop-aside ul {
	list-style: none;
	margin: 0;
	padding: 0;
}

.atenea-shop-aside li {
	margin: 0;
	padding: 0;
	list-style: none;
}

.atenea-shop-aside li a {
	display: flex;
	justify-content: space-between;
	gap: 10px;
	padding: 9px 0;
	font-size: 14px;
	color: var(--at-ink-2);
}

.atenea-shop-aside li a:hover {
	color: var(--at-accent);
}

.atenea-shop-aside .count {
	color: var(--at-muted-2);
	font-size: 12px;
}

.atenea-shop-aside .children {
	padding-left: 14px;
	border-left: 1px solid var(--at-line);
	margin-left: 2px;
}

/* El encabezado del panel de filtros sólo aparece cuando es deslizante. */
.atenea-shop-aside__head {
	display: none;
}

/* Barra de herramientas */
.atenea-shop-toolbar {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 20px;
	padding-bottom: 22px;
	margin-bottom: 34px;
	border-bottom: 1px solid var(--at-line);
}

/* Storefront envuelve el contador y el orden en .storefront-sorting. */
.atenea-shop-toolbar .storefront-sorting {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 20px;
	flex: 1;
	margin: 0;
	padding: 0;
	border: 0;
}

.atenea-shop-toolbar .woocommerce-result-count { order: 1; }
.atenea-shop-toolbar .woocommerce-ordering { order: 2; }

.woocommerce .woocommerce-result-count {
	margin: 0;
	font-size: 13px;
	color: var(--at-muted);
	float: none;
}

.woocommerce .woocommerce-ordering {
	margin: 0;
	float: none;
}

.woocommerce .woocommerce-ordering select {
	border-width: 0 0 1px 0;
	padding: 6px 24px 6px 0;
	font-size: 13px;
	font-weight: 600;
	letter-spacing: 0.06em;
	background-image: linear-gradient(45deg, transparent 50%, var(--at-ink) 50%), linear-gradient(135deg, var(--at-ink) 50%, transparent 50%);
	background-position: calc(100% - 9px) 50%, calc(100% - 4px) 50%;
	background-size: 5px 5px, 5px 5px;
	background-repeat: no-repeat;
	width: auto;
	cursor: pointer;
}

.atenea-filter-toggle,
.atenea-shop-aside__apply {
	display: none;
}

/* El desplegable de orden, cuando se mueve al panel de filtros en móvil. */
.atenea-filter-widget--order .woocommerce-ordering select {
	width: 100%;
	border-width: 1px;
	padding: 13px 34px 13px 14px;
	background-position: calc(100% - 18px) 50%, calc(100% - 13px) 50%;
}

/* Paginación */
.woocommerce nav.woocommerce-pagination {
	margin: 70px 0 0;
	text-align: center;
}

.woocommerce nav.woocommerce-pagination ul {
	border: 0;
	display: inline-flex;
	gap: 8px;
	margin: 0;
	padding: 0;
}

.woocommerce nav.woocommerce-pagination ul li {
	border: 0;
	margin: 0;
	overflow: visible;
}

.woocommerce nav.woocommerce-pagination ul li a,
.woocommerce nav.woocommerce-pagination ul li span {
	min-width: 42px;
	padding: 10px 8px;
	font-size: 13px;
	background: transparent;
	color: var(--at-muted);
	border-bottom: 1px solid transparent;
}

.woocommerce nav.woocommerce-pagination ul li span.current,
.woocommerce nav.woocommerce-pagination ul li a:hover {
	background: transparent;
	color: var(--at-ink);
	border-bottom-color: var(--at-ink);
}

/* ==========================================================================
   11. Ficha de producto
   ========================================================================== */

.single-product div.product {
	display: grid;
	grid-template-columns: minmax(0, 1.08fr) minmax(0, 1fr);
	column-gap: 72px;
	row-gap: 0;
	align-items: start;
	align-content: start;
	padding: 34px 0 90px;
	position: relative;
}

/* La etiqueta de oferta se ancla a la imagen principal de la galeria. */
.single-product .woocommerce-product-gallery__wrapper {
	position: relative;
}

.single-product .woocommerce-product-gallery .onsale {
	top: 14px;
	left: 14px;
	z-index: 5;
}

.single-product div.product::before,
.single-product div.product::after {
	display: none;
}

.single-product div.product > .woocommerce-product-gallery {
	grid-column: 1;
	width: 100% !important;
	float: none !important;
	margin: 0 !important;
	opacity: 1 !important;
}

.single-product div.product > .summary {
	grid-column: 2;
	width: 100% !important;
	float: none !important;
	margin: 0 !important;
	position: sticky;
	top: 28px;
	display: flex;
	flex-direction: column;
	gap: 0;
}

.single-product div.product > .woocommerce-tabs,
.single-product div.product > .related,
.single-product div.product > .upsells,
.single-product div.product > .woocommerce-product-gallery + .clear,
.single-product div.product > .up-sells {
	grid-column: 1 / -1;
	width: 100%;
	float: none;
}

/* Storefront añade extras en la ficha que el diseño no usa. */
.storefront-product-pagination,
.single-product .secondary-navigation,
.storefront-sticky-add-to-cart {
	display: none !important;
}

/* Galeria boutique: miniaturas verticales a la izquierda en escritorio */
.woocommerce-product-gallery {
	position: relative;
}

.woocommerce-product-gallery__wrapper {
	margin: 0;
	width: 100%;
}

.woocommerce div.product div.images,
.woocommerce div.product div.images .woocommerce-product-gallery__image,
.woocommerce div.product div.images .woocommerce-product-gallery__image > a {
	display: block;
	width: 100%;
}

.woocommerce div.product div.images img {
	width: 100%;
	box-shadow: none;
	border-radius: 0;
}

@media (min-width: 768px) {
	.single-product div.product div.images.woocommerce-product-gallery {
		display: flex;
		flex-direction: row;
		align-items: flex-start;
		gap: 16px;
	}

	.single-product div.product div.images.woocommerce-product-gallery .flex-viewport,
	.single-product div.product div.images.woocommerce-product-gallery > .woocommerce-product-gallery__wrapper {
		order: 2;
		flex: 1 1 auto;
		min-width: 0;
	}

	.single-product div.product div.images.woocommerce-product-gallery .flex-control-thumbs {
		order: 1;
		display: flex;
		flex-direction: column;
		gap: 12px;
		width: 92px;
		flex: 0 0 92px;
		margin: 0;
		grid-template-columns: none;
	}

	.single-product div.product div.images.woocommerce-product-gallery .flex-control-thumbs li {
		width: 100%;
	}

	.single-product div.product div.images.woocommerce-product-gallery .flex-control-thumbs img {
		width: 100% !important;
		height: auto !important;
	}
}

.woocommerce div.product div.images .flex-control-thumbs {
	display: grid;
	grid-template-columns: repeat(4, minmax(0, 1fr));
	gap: 12px;
	margin-top: 12px;
	padding: 0;
	list-style: none;
}

.woocommerce div.product div.images .flex-control-thumbs li {
	width: 100%;
	float: none;
	margin: 0;
	list-style: none;
}

.woocommerce div.product div.images .flex-control-thumbs img {
	opacity: 0.5;
	transition: opacity var(--at-t);
	aspect-ratio: 4 / 5;
	object-fit: cover;
	cursor: pointer;
}

.woocommerce div.product div.images .flex-control-thumbs img.flex-active,
.woocommerce div.product div.images .flex-control-thumbs img:hover {
	opacity: 1;
}

.woocommerce-product-gallery__trigger {
	background: #fff;
	border-radius: 999px;
	width: 42px;
	height: 42px;
	line-height: 42px;
	text-align: center;
	box-shadow: 0 4px 16px rgba(0, 0, 0, 0.1);
	top: 16px;
	right: 16px;
}

/* Resumen */
.single-product .summary .atenea-product-eyebrow {
	font-size: 11px;
	font-weight: 600;
	letter-spacing: 0.24em;
	text-transform: uppercase;
	color: var(--at-accent);
	margin-bottom: 14px;
}

.woocommerce div.product .product_title {
	font-size: 48px;
	line-height: 1.08;
	margin: 0 0 18px;
}

.woocommerce div.product .woocommerce-product-rating {
	display: flex;
	align-items: center;
	gap: 14px;
	margin: 0 0 20px;
}

.woocommerce div.product .woocommerce-product-rating .star-rating {
	margin: 0;
	color: var(--at-accent);
	float: none;
}

.woocommerce div.product .woocommerce-review-link {
	font-size: 13px;
	color: var(--at-muted);
	border-bottom: 1px solid var(--at-line);
}

.woocommerce div.product p.price,
.woocommerce div.product span.price {
	font-family: var(--at-serif);
	font-size: 30px;
	font-weight: 400;
	color: var(--at-ink);
	margin: 0 0 22px;
}

.woocommerce div.product p.price del {
	color: var(--at-muted-2);
	font-size: 22px;
}

.woocommerce div.product p.price ins {
	color: var(--at-accent);
	text-decoration: none;
	background: transparent;
}

.woocommerce div.product .woocommerce-product-details__short-description {
	font-size: 15px;
	line-height: 1.85;
	color: var(--at-muted);
	margin-bottom: 26px;
}

.woocommerce div.product form.cart {
	margin: 0 0 24px;
	display: flex;
	flex-wrap: wrap;
	gap: 14px;
	align-items: stretch;
}

.woocommerce div.product form.cart .variations {
	width: 100%;
	margin-bottom: 4px;
	border: 0;
}

/* Variaciones en bloque: etiqueta arriba, opciones como swatches debajo. */
.woocommerce div.product form.cart .variations,
.woocommerce div.product form.cart .variations tbody,
.woocommerce div.product form.cart .variations tr,
.woocommerce div.product form.cart .variations td,
.woocommerce div.product form.cart .variations th {
	display: block;
	width: 100%;
	padding: 0;
	border: 0;
	text-align: left;
}

.woocommerce div.product form.cart .variations tr {
	margin-bottom: 20px;
}

.woocommerce div.product form.cart .variations th.label {
	margin: 0 0 12px;
	font-size: 11px;
	font-weight: 600;
	letter-spacing: 0.2em;
	text-transform: uppercase;
	color: var(--at-muted);
}

.woocommerce div.product form.cart .variations label {
	margin: 0;
	font-size: 11px;
	font-weight: 600;
	letter-spacing: 0.2em;
	text-transform: uppercase;
	color: var(--at-muted);
}

/* Swatches generados desde el <select> de la variación. */
.atenea-swatches {
	display: flex;
	flex-wrap: wrap;
	gap: 10px;
}

.atenea-swatch {
	min-width: 52px;
	padding: 12px 18px;
	border: 1px solid var(--at-line-2);
	background: #fff;
	font-family: var(--at-sans);
	font-size: 13px;
	color: var(--at-ink);
	cursor: pointer;
	transition: border-color var(--at-t), color var(--at-t), background-color var(--at-t);
	text-align: center;
}

.atenea-swatch:hover {
	border-color: var(--at-ink);
}

.atenea-swatch.is-active {
	border-color: var(--at-ink);
	background: var(--at-ink);
	color: #fff;
}

.atenea-swatch.is-disabled {
	opacity: 0.4;
	cursor: not-allowed;
	text-decoration: line-through;
}

/* El <select> original queda accesible pero fuera de vista. */
.atenea-has-swatches .variations select {
	position: absolute;
	width: 1px;
	height: 1px;
	overflow: hidden;
	clip: rect(0 0 0 0);
	clip-path: inset(50%);
	white-space: nowrap;
}

.woocommerce div.product form.cart .reset_variations {
	font-size: 12px;
	color: var(--at-muted);
	display: inline-block;
	margin-top: 6px;
	border-bottom: 1px solid var(--at-line-2);
}

.woocommerce div.product form.cart .button {
	flex: 1;
	min-width: 200px;
	padding: 19px 32px;
}

.woocommerce div.product form.cart .group_table td {
	border: 0;
	padding: 12px 8px;
	vertical-align: middle;
}

.woocommerce div.product .woocommerce-variation-price {
	width: 100%;
}

.woocommerce div.product .stock {
	font-size: 13px;
	color: var(--at-accent);
	letter-spacing: 0.06em;
}

.woocommerce div.product .out-of-stock {
	color: #b3261e;
}

.atenea-assurances {
	list-style: none;
	margin: 6px 0 0;
	padding: 20px 0 0;
	border-top: 1px solid var(--at-line);
	display: flex;
	flex-direction: column;
	gap: 2px;
}

.atenea-assurances li {
	margin: 0;
	list-style: none;
}

.atenea-assurance {
	display: flex;
	align-items: center;
	gap: 12px;
	width: 100%;
	background: transparent;
	border: 0;
	border-bottom: 1px solid var(--at-line);
	padding: 15px 2px;
	cursor: pointer;
	text-align: left;
	color: var(--at-ink);
	transition: color var(--at-t);
}

.atenea-assurances li:last-child .atenea-assurance {
	border-bottom: 0;
}

.atenea-assurance__ic {
	display: flex;
	color: var(--at-accent);
	flex: none;
}

.atenea-assurance__txt {
	flex: 1;
	font-size: 12px;
	font-weight: 600;
	letter-spacing: 0.08em;
	text-transform: uppercase;
}

.atenea-assurance__go {
	display: flex;
	color: var(--at-muted-2);
	transition: transform var(--at-t), color var(--at-t);
}

/*
 * Storefront pinta un fondo gris en cualquier <button> al pasar el cursor.
 * Lo neutralizamos en nuestros botones planos (garantías, acordeón, etc.).
 */
.atenea-assurance,
.atenea-assurance:hover,
.atenea-assurance:focus,
.atenea-accordion__trigger,
.atenea-accordion__trigger:hover,
.atenea-accordion__trigger:focus,
.atenea-summary-toggle,
.atenea-summary-toggle:hover,
.atenea-summary-toggle:focus,
.atenea-drawer__toggle,
.atenea-drawer__toggle:hover,
.atenea-drawer__toggle:focus {
	background: transparent;
	box-shadow: none;
	-webkit-tap-highlight-color: transparent;
}

.atenea-assurance:hover {
	color: var(--at-accent);
}

.atenea-assurance:hover .atenea-assurance__go {
	color: var(--at-accent);
	transform: translateX(3px);
}

.product_meta {
	font-size: 13px;
	color: var(--at-muted);
	border-top: 1px solid var(--at-line);
	padding-top: 20px;
	margin-top: 22px;
}

.product_meta > span {
	display: block;
	margin-bottom: 6px;
}

/* Pestañas convertidas en acordeón */
.woocommerce div.product .woocommerce-tabs {
	padding: 0;
	margin: 10px 0 0;
	border-top: 1px solid var(--at-line);
}

.woocommerce div.product .woocommerce-tabs ul.tabs {
	display: none;
}

/* Storefront flota los paneles de pestañas a la derecha: los volvemos a fila completa. */
.woocommerce div.product .woocommerce-tabs .panel,
.atenea-accordion__panel {
	float: none;
	width: 100%;
	max-width: none;
	margin: 0;
	padding: 0;
}

.atenea-accordion__item {
	border-bottom: 1px solid var(--at-line);
}

.atenea-accordion__trigger {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 16px;
	width: 100%;
	background: transparent;
	border: 0;
	padding: 22px 0;
	font-family: var(--at-sans);
	font-size: 12px;
	font-weight: 600;
	letter-spacing: 0.16em;
	text-transform: uppercase;
	color: var(--at-ink);
	cursor: pointer;
	text-align: left;
}

.atenea-accordion__trigger .atenea-icon {
	transition: transform var(--at-t);
	color: var(--at-muted);
}

.atenea-accordion__trigger[aria-expanded="true"] .atenea-icon {
	transform: rotate(180deg);
	color: var(--at-accent);
}

/*
 * WooCommerce oculta los paneles con estilo en línea, por eso hace falta
 * !important para que el acordeón mande.
 */
.atenea-accordion__panel {
	display: none !important;
	padding: 0 0 26px;
	font-size: 15px;
	line-height: 1.85;
	color: var(--at-muted);
}

.atenea-accordion__panel.is-open {
	display: block !important;
}

.atenea-accordion__panel h2 {
	display: none;
}

/* Reseñas */
#reviews {
	padding: 6px 0 0;
	background: transparent;
}

/* Resumen: promedio + estrellas + cantidad */
.atenea-reviews-summary {
	margin: 0 0 30px;
}

.atenea-reviews-summary__score {
	display: flex;
	align-items: center;
	gap: 16px;
	flex-wrap: wrap;
}

.atenea-reviews-summary__avg {
	font-family: var(--at-serif);
	font-size: 44px;
	line-height: 1;
	color: var(--at-ink);
}

.atenea-reviews-summary .star-rating {
	color: var(--at-accent);
	font-size: 18px;
	margin: 0;
}

.atenea-reviews-summary__count {
	font-size: 13px;
	letter-spacing: 0.04em;
	color: var(--at-muted);
}

.atenea-reviews-summary__empty {
	font-size: 14px;
	color: var(--at-muted);
	margin: 16px 0 0;
}

.woocommerce #reviews .star-rating {
	color: var(--at-accent);
}

.woocommerce #reviews #comments h2 {
	position: absolute;
	width: 1px;
	height: 1px;
	overflow: hidden;
	clip: rect(0 0 0 0);
	clip-path: inset(50%);
}

.woocommerce #reviews #comments ol.commentlist {
	margin: 0;
	padding: 0;
	list-style: none;
}

.woocommerce #reviews #comments ol.commentlist li {
	margin: 0;
	padding: 0;
	list-style: none;
}

.woocommerce #reviews #comments ol.commentlist li .comment-text {
	border: 0;
	border-top: 1px solid var(--at-line);
	border-radius: 0;
	padding: 26px 0 26px 62px;
	margin: 0;
	min-height: 0;
}

.woocommerce #reviews #comments ol.commentlist li img.avatar {
	position: absolute;
	top: 26px;
	left: 0;
	float: none;
	width: 46px;
	height: 46px;
	border: 0;
	border-radius: 999px;
	padding: 0;
	margin: 0;
	background: var(--at-bg-alt);
}

.woocommerce #reviews #comments ol.commentlist li .comment-text .meta {
	font-size: 13px;
	color: var(--at-muted);
	margin: 0 0 8px;
}

.woocommerce #reviews #comments ol.commentlist li .comment-text .meta strong {
	font-family: var(--at-serif);
	font-size: 17px;
	font-weight: 400;
	color: var(--at-ink);
	display: inline-block;
	margin-right: 8px;
}

.woocommerce #reviews #comments ol.commentlist li .comment-text .woocommerce-review__verified {
	font-size: 11px;
	letter-spacing: 0.08em;
	text-transform: uppercase;
	color: var(--at-accent);
}

.woocommerce #reviews #comments ol.commentlist li .comment-text p {
	font-size: 15px;
	line-height: 1.8;
	color: var(--at-ink-2);
	margin: 8px 0 0;
}

/* El resumen ya muestra el estado vacío; ocultamos el banner por defecto. */
.woocommerce #reviews .woocommerce-noreviews {
	display: none;
}

/* Aviso de "solo compradores verificados" como caja elegante */
.woocommerce-verification-required,
p.woocommerce-verification-required {
	background: var(--at-bg-alt);
	border: 0;
	border-left: 3px solid var(--at-accent);
	border-radius: 0;
	padding: 20px 22px;
	margin: 24px 0 0;
	font-size: 14px;
	line-height: 1.7;
	color: var(--at-ink);
}

.woocommerce-verification-required::before {
	display: none;
}

/* Formulario de reseña */
.woocommerce #review_form #respond {
	background: var(--at-bg-alt);
	padding: 30px;
	margin-top: 26px;
}

.woocommerce #review_form #respond .comment-reply-title {
	font-family: var(--at-serif);
	font-size: 22px;
	display: block;
	margin-bottom: 18px;
}

.woocommerce #review_form #respond .comment-form-rating label {
	display: block;
	font-size: 11px;
	letter-spacing: 0.16em;
	text-transform: uppercase;
	color: var(--at-muted);
	margin-bottom: 8px;
}

.woocommerce p.stars a {
	color: var(--at-accent);
}

.woocommerce #review_form #respond textarea {
	min-height: 120px;
	background: #fff;
}

.woocommerce #review_form #respond .form-submit .submit {
	margin-top: 6px;
}

/* Relacionados */
.woocommerce div.product .related,
.woocommerce div.product .up-sells {
	padding-top: 90px;
	margin-top: 20px;
}

.woocommerce div.product .related > h2,
.woocommerce div.product .up-sells > h2,
.woocommerce .cross-sells > h2 {
	font-family: var(--at-serif-italic);
	font-style: italic;
	font-size: 42px;
	text-align: center;
	margin: 0 0 50px;
}

/* Relacionados como slider horizontal: 4 visibles en escritorio, 2 en móvil. */
.woocommerce div.product .related ul.products,
.woocommerce div.product .up-sells ul.products {
	display: grid;
	grid-auto-flow: column;
	grid-template-columns: none;
	grid-auto-columns: calc((100% - 3 * 28px) / 4);
	gap: 28px;
	overflow-x: auto;
	overscroll-behavior-x: contain;
	scroll-snap-type: x proximity;
	padding-bottom: 14px;
	margin: 0;
	scrollbar-width: thin;
	scrollbar-color: var(--at-line-2) transparent;
}

.woocommerce div.product .related ul.products::-webkit-scrollbar,
.woocommerce div.product .up-sells ul.products::-webkit-scrollbar {
	height: 6px;
}

.woocommerce div.product .related ul.products::-webkit-scrollbar-thumb,
.woocommerce div.product .up-sells ul.products::-webkit-scrollbar-thumb {
	background: var(--at-line-2);
	border-radius: 999px;
}

.woocommerce div.product .related ul.products li.product,
.woocommerce div.product .up-sells ul.products li.product {
	scroll-snap-align: start;
}

/* Barra fija de compra en móvil */
.atenea-sticky-atc {
	display: none;
	position: fixed;
	left: 0;
	right: 0;
	bottom: 0;
	z-index: 160;
	background: #fff;
	border-top: 1px solid var(--at-line);
	box-shadow: 0 -8px 28px rgba(26, 16, 24, 0.08);
	padding: 10px 16px calc(10px + env(safe-area-inset-bottom));
	align-items: center;
	gap: 14px;
	transform: translateY(110%);
	transition: transform var(--at-t);
}

.atenea-sticky-atc.is-visible {
	transform: translateY(0);
}

.atenea-sticky-atc__info {
	flex: 1;
	min-width: 0;
	display: flex;
	flex-direction: column;
	gap: 2px;
}

.atenea-sticky-atc__title {
	font-family: var(--at-serif);
	font-size: 14px;
	white-space: nowrap;
	overflow: hidden;
	text-overflow: ellipsis;
}

.atenea-sticky-atc__price {
	font-size: 13px;
	font-weight: 600;
	color: var(--at-accent);
}

.atenea-sticky-atc__price del {
	color: var(--at-muted-2);
	font-weight: 400;
}

.atenea-sticky-atc .atenea-btn {
	flex: none;
	padding: 15px 22px;
	font-size: 10px;
}

/* ==========================================================================
   12. Carrito
   ========================================================================== */

.woocommerce-cart .atenea-pagehead {
	padding-bottom: 46px;
}

/* El envoltorio vacío de avisos no debe ocupar espacio. */
#content > .col-full > .woocommerce:empty,
.woocommerce-notices-wrapper:empty {
	display: none;
}

/* Sólo el carrito clásico (con formulario) usa esta maquetación. */
.woocommerce-cart .woocommerce:has(form.woocommerce-cart-form) {
	display: grid;
	grid-template-columns: minmax(0, 1fr) 380px;
	gap: 60px;
	align-items: start;
	padding-bottom: 100px;
}

.woocommerce-cart .woocommerce:has(form.woocommerce-cart-form) > .woocommerce-notices-wrapper {
	grid-column: 1 / -1;
}

.woocommerce-cart form.woocommerce-cart-form {
	grid-column: 1;
	margin: 0;
}

.woocommerce-cart .cart-collaterals {
	grid-column: 2;
	width: 100%;
	float: none;
	position: sticky;
	top: 24px;
}

.woocommerce-cart .cart-collaterals .cart_totals {
	width: 100%;
	float: none;
	background: var(--at-bg-alt);
	padding: 34px;
	box-sizing: border-box;
}

.woocommerce-cart .cart-collaterals .cross-sells {
	width: 100%;
	float: none;
	margin-top: 40px;
}

.woocommerce-cart .cart_totals h2 {
	font-size: 26px;
	margin: 0 0 20px;
}

.woocommerce table.shop_table {
	border: 0;
	border-radius: 0;
	border-collapse: collapse;
	margin: 0;
	width: 100%;
}

.woocommerce table.shop_table th {
	font-family: var(--at-sans);
	font-size: 10px;
	font-weight: 700;
	letter-spacing: 0.22em;
	text-transform: uppercase;
	color: var(--at-accent);
	border-bottom: 1px solid var(--at-line);
	padding: 0 0 14px;
	text-align: left;
}

.woocommerce table.shop_table td {
	border: 0;
	border-bottom: 1px solid var(--at-line);
	padding: 24px 0;
	vertical-align: middle;
}

.woocommerce table.shop_table_responsive tr td::before {
	font-size: 10px;
	letter-spacing: 0.18em;
	text-transform: uppercase;
	color: var(--at-accent);
	font-weight: 700;
}

.woocommerce table.cart img,
.woocommerce-cart table.cart img,
.woocommerce-cart table.cart td.product-thumbnail img {
	width: 88px;
	max-width: none;
	height: 110px;
	object-fit: cover;
	box-shadow: none;
	border-radius: 0;
}

/*
 * Ni filas alternadas ni celdas grises: WordPress pinta los <th> de las tablas
 * con `table:not(.has-background) th`, y WooCommerce usa <th> dentro del tbody.
 */
.woocommerce table.shop_table tbody tr,
.woocommerce table.shop_table tbody tr:nth-child(2n),
.woocommerce table.shop_table tbody td,
.woocommerce table.shop_table tbody th,
.woocommerce table.shop_table thead th,
.woocommerce-cart table.cart tbody tr,
.woocommerce-cart table.cart tbody td,
.woocommerce-account table.my_account_orders tbody th,
.woocommerce-account .woocommerce-MyAccount-content table th,
.woocommerce-account .woocommerce-MyAccount-content table td,
.woocommerce-account table tbody tr,
.woocommerce-account table tbody tr:nth-child(2n) {
	background: transparent;
}

.woocommerce table.cart td.product-name a,
.woocommerce-cart table.cart td.product-name a {
	text-decoration: none;
}

.woocommerce-cart .wc-proceed-to-checkout a.checkout-button,
.woocommerce .wc-proceed-to-checkout a.button.alt {
	background: var(--at-ink);
	border-color: var(--at-ink);
	color: #fff;
}

.woocommerce-cart .wc-proceed-to-checkout a.checkout-button:hover,
.woocommerce .wc-proceed-to-checkout a.button.alt:hover {
	background: var(--at-accent);
	border-color: var(--at-accent);
	color: #fff;
}

.woocommerce table.cart td.product-thumbnail {
	width: 108px;
	padding-right: 20px;
}

.woocommerce table.cart td.product-name a {
	font-family: var(--at-serif);
	font-size: 19px;
}

.woocommerce table.cart td.product-name .variation {
	font-size: 12px;
	color: var(--at-muted);
	margin-top: 4px;
}

.woocommerce table.cart td.product-price,
.woocommerce table.cart td.product-subtotal {
	font-size: 15px;
	font-weight: 500;
}

.woocommerce a.remove {
	width: 30px;
	height: 30px;
	line-height: 28px;
	font-size: 20px;
	color: var(--at-muted-2) !important;
	border: 1px solid var(--at-line);
	border-radius: 999px;
}

.woocommerce a.remove:hover {
	background: var(--at-accent) !important;
	border-color: var(--at-accent);
	color: #fff !important;
}

.woocommerce table.cart td.actions {
	border-bottom: 0;
	padding-top: 28px;
}

.woocommerce table.cart td.actions .coupon {
	display: flex;
	gap: 0;
	float: none;
	max-width: 420px;
}

.woocommerce table.cart td.actions .coupon .input-text {
	width: auto;
	flex: 1;
	border-right: 0;
	padding: 14px 16px;
	margin: 0;
}

.woocommerce table.cart td.actions .coupon .button {
	padding: 14px 24px;
	white-space: nowrap;
}

.woocommerce table.cart td.actions > .button {
	float: right;
	padding: 14px 24px;
}

.woocommerce-cart .cart_totals table.shop_table {
	margin-bottom: 22px;
}

.woocommerce-cart .cart_totals table.shop_table th,
.woocommerce-cart .cart_totals table.shop_table td {
	padding: 14px 0;
	border-bottom: 1px solid var(--at-line-2);
	color: var(--at-ink);
	font-size: 14px;
	letter-spacing: 0;
	text-transform: none;
	font-weight: 400;
	font-family: var(--at-sans);
}

.woocommerce-cart .cart_totals table.shop_table th {
	color: var(--at-muted);
	font-size: 13px;
}

.woocommerce-cart .cart_totals .order-total th,
.woocommerce-cart .cart_totals .order-total td {
	font-family: var(--at-serif);
	font-size: 22px;
	border-bottom: 0;
	padding-top: 20px;
}

.woocommerce-cart .wc-proceed-to-checkout {
	padding: 0;
}

.woocommerce-cart .wc-proceed-to-checkout a.checkout-button {
	display: flex;
	width: 100%;
	margin: 0;
	padding: 19px 30px;
	font-size: 12px;
}

.woocommerce .cart-empty,
.woocommerce .return-to-shop {
	text-align: center;
}

.woocommerce .cart-empty {
	font-family: var(--at-serif);
	font-size: 34px;
	margin: 60px 0 24px;
	color: var(--at-ink);
}

.woocommerce .return-to-shop {
	margin-bottom: 90px;
}

/* ==========================================================================
   13. Checkout
   ========================================================================== */

.atenea-steps {
	display: flex;
	align-items: center;
	gap: 26px;
	list-style: none;
	margin: 0 0 44px;
	padding: 0;
}

.atenea-steps__item {
	display: flex;
	align-items: center;
	gap: 10px;
	font-size: 11px;
	font-weight: 600;
	letter-spacing: 0.16em;
	text-transform: uppercase;
	color: var(--at-muted-2);
	margin: 0;
	list-style: none;
}

.atenea-steps__item + .atenea-steps__item::before {
	content: "";
	width: 26px;
	height: 1px;
	background: var(--at-line);
	margin-right: 16px;
}

.atenea-steps__num {
	width: 24px;
	height: 24px;
	border-radius: 999px;
	border: 1px solid currentColor;
	display: flex;
	align-items: center;
	justify-content: center;
	font-size: 11px;
}

.atenea-steps__item.is-current {
	color: var(--at-ink);
}

.atenea-steps__item.is-current .atenea-steps__num {
	background: var(--at-ink);
	border-color: var(--at-ink);
	color: #fff;
}

.woocommerce-checkout form.checkout {
	display: grid;
	grid-template-columns: minmax(0, 1fr) 420px;
	gap: 64px;
	align-items: start;
	padding-bottom: 100px;
}

.woocommerce-checkout form.checkout #customer_details {
	grid-column: 1;
}

.woocommerce-checkout form.checkout .atenea-checkout__aside {
	grid-column: 2;
	position: sticky;
	top: 24px;
	background: var(--at-bg-alt);
	padding: 36px;
	box-sizing: border-box;
}

/* Storefront flota el resumen: lo devolvemos a ancho completo del panel. */
.woocommerce-checkout form.checkout #order_review_heading,
.woocommerce-checkout form.checkout #order_review,
.woocommerce-checkout .atenea-checkout__aside > * {
	float: none;
	width: 100%;
	margin-left: 0;
	margin-right: 0;
}

/* Botón que pliega el resumen del pedido. */
.atenea-summary-toggle {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 12px;
	width: 100%;
	background: transparent;
	border: 0;
	padding: 0;
	margin: 0;
	cursor: pointer;
	font-family: var(--at-serif);
	font-size: 24px;
	line-height: 1.2;
	color: var(--at-ink);
	text-align: left;
	letter-spacing: 0;
	text-transform: none;
}

.atenea-summary-toggle:hover {
	background: transparent;
	color: var(--at-accent);
}

.woocommerce-checkout form.checkout .col2-set,
.woocommerce-checkout form.checkout .col2-set .col-1,
.woocommerce-checkout form.checkout .col2-set .col-2 {
	width: 100%;
	float: none;
	margin: 0;
}

.woocommerce-checkout form.checkout .col2-set .col-2 {
	margin-top: 40px;
}

.woocommerce-checkout h3,
.woocommerce-checkout #order_review_heading {
	font-size: 26px;
	margin: 0 0 22px;
}

.woocommerce-checkout #order_review_heading {
	margin-bottom: 18px;
}

.woocommerce form .form-row {
	padding: 0;
	margin: 0 0 18px;
}

.woocommerce form .form-row-first,
.woocommerce form .form-row-last {
	width: calc(50% - 9px);
	float: left;
}

.woocommerce form .form-row-last {
	float: right;
}

.woocommerce form .form-row label {
	line-height: 1.5;
}

.woocommerce form.checkout_coupon,
.woocommerce form.login,
.woocommerce form.register {
	border: 1px solid var(--at-line);
	border-radius: 0;
	padding: 26px;
	margin: 0 0 28px;
}

.woocommerce-checkout table.shop_table {
	background: transparent;
}

.woocommerce-checkout #order_review table.shop_table th,
.woocommerce-checkout #order_review table.shop_table td {
	padding: 12px 0;
	font-size: 14px;
	border-bottom: 1px solid var(--at-line-2);
}

.woocommerce-checkout #order_review table.shop_table thead th {
	font-size: 10px;
	letter-spacing: 0.2em;
}

.woocommerce-checkout #order_review .order-total th,
.woocommerce-checkout #order_review .order-total td {
	font-family: var(--at-serif);
	font-size: 22px;
	border-bottom: 0;
	padding-top: 18px;
}

.woocommerce-checkout #payment {
	background: transparent;
	border-radius: 0;
	margin-top: 24px;
}

.woocommerce-checkout #payment ul.payment_methods {
	border-bottom: 0;
	padding: 0;
	margin: 0 0 18px;
	list-style: none;
}

.woocommerce-checkout #payment ul.payment_methods li {
	border: 1px solid var(--at-line-2);
	background: #fff;
	padding: 16px 18px;
	margin: 0 0 -1px;
	list-style: none;
	font-size: 14px;
}

.woocommerce-checkout #payment ul.payment_methods li label {
	display: inline;
	font-size: 14px;
	font-weight: 500;
	letter-spacing: 0;
	text-transform: none;
	color: var(--at-ink);
	margin: 0;
}

.woocommerce-checkout #payment div.payment_box {
	background: var(--at-bg-soft);
	color: var(--at-muted);
	font-size: 13px;
	margin: 12px 0 0;
	border-radius: 0;
}

.woocommerce-checkout #payment div.payment_box::before {
	display: none;
}

.woocommerce-checkout #payment .form-row.place-order {
	padding: 0;
	margin-top: 22px;
}

.woocommerce-checkout #payment #place_order {
	width: 100%;
	float: none;
	padding: 20px 30px;
	font-size: 12px;
}

.woocommerce-checkout .woocommerce-privacy-policy-text {
	font-size: 12px;
	color: var(--at-muted-2);
}

.woocommerce-checkout .woocommerce-privacy-policy-text p {
	font-size: 12px;
	color: var(--at-muted-2);
}

.atenea-secure-note {
	display: flex;
	align-items: center;
	justify-content: center;
	gap: 8px;
	font-size: 12px;
	color: var(--at-muted);
	margin: 16px 0 0;
}

.woocommerce ul.order_details {
	display: grid;
	grid-template-columns: repeat(auto-fit, minmax(160px, 1fr));
	gap: 18px;
	background: var(--at-bg-alt);
	padding: 30px;
	margin: 0 0 40px;
	list-style: none;
}

.woocommerce ul.order_details li {
	border: 0;
	margin: 0;
	padding: 0;
	float: none;
	font-size: 10px;
	letter-spacing: 0.2em;
	text-transform: uppercase;
	color: var(--at-accent);
	font-weight: 700;
	list-style: none;
}

.woocommerce ul.order_details li strong {
	display: block;
	font-family: var(--at-serif);
	font-size: 18px;
	font-weight: 400;
	letter-spacing: 0;
	text-transform: none;
	color: var(--at-ink);
	margin-top: 6px;
}

/* ==========================================================================
   13b. Bloques Carrito y Pago de WooCommerce
        (WooCommerce 8+ los usa por defecto en instalaciones nuevas)
   ========================================================================== */

.wp-block-woocommerce-cart,
.wp-block-woocommerce-checkout {
	margin: 0 0 90px;
	font-family: var(--at-sans);
	color: var(--at-ink);
}

.wc-block-components-sidebar-layout {
	gap: 0;
}

/* Columnas */
.wc-block-components-main {
	padding-right: 56px;
}

.wc-block-components-sidebar {
	padding-left: 0;
}

/* El panel lateral ya tiene fondo propio: quitamos las cajas internas. */
.wc-block-cart__sidebar .wc-block-components-sidebar,
.wc-block-checkout__sidebar .wc-block-components-sidebar,
.wc-block-cart__sidebar .wc-block-components-panel,
.wc-block-checkout__sidebar .wc-block-components-panel,
.wc-block-components-order-summary,
.wc-block-components-totals-wrapper,
.wc-block-cart__sidebar > .wc-block-components-sidebar,
.wc-block-checkout__sidebar .wc-block-components-order-summary {
	background: transparent !important;
	box-shadow: none;
	border-radius: 0;
}

.wc-block-checkout__sidebar .wc-block-components-sidebar,
.wc-block-cart__sidebar .wc-block-components-sidebar {
	padding: 0;
	border: 0;
}

.wc-block-cart .wc-block-cart__sidebar,
.wc-block-checkout .wc-block-checkout__sidebar {
	background: var(--at-bg-alt);
	padding: 32px;
	box-sizing: border-box;
	position: sticky;
	top: 24px;
	align-self: start;
}

/* Ningún enlace de los bloques va subrayado. */
.wp-block-woocommerce-cart a,
.wp-block-woocommerce-checkout a,
.wc-block-components-button,
.wc-block-components-product-name {
	text-decoration: none;
}

.wp-block-woocommerce-cart a:hover,
.wp-block-woocommerce-checkout a:hover {
	color: var(--at-accent);
}

/* Títulos */
.wc-block-components-title,
.wc-block-components-checkout-step__title,
.wc-block-cart__totals-title,
.wc-block-components-order-summary .wc-block-components-panel__button {
	font-family: var(--at-serif) !important;
	font-weight: 400 !important;
	color: var(--at-ink);
	letter-spacing: 0;
	text-transform: none;
}

.wc-block-components-title.wc-block-components-title {
	font-size: 24px;
}

.wc-block-cart__totals-title {
	font-size: 22px !important;
	letter-spacing: 0 !important;
	text-transform: none !important;
	padding-bottom: 6px;
}

.wc-block-components-checkout-step__heading {
	margin-top: 0;
	margin-bottom: 14px;
}

.wc-block-components-checkout-step__description {
	font-size: 13px;
	color: var(--at-muted);
}

.wc-block-components-checkout-step {
	padding-left: 0;
	border: 0;
}

.wc-block-components-checkout-step__container::before,
.wc-block-components-checkout-step__container::after {
	display: none;
}

/* Campos */
.wc-block-components-text-input input[type="text"],
.wc-block-components-text-input input[type="email"],
.wc-block-components-text-input input[type="tel"],
.wc-block-components-text-input input[type="number"],
.wc-block-components-combobox .components-combobox-control__input,
.wc-block-components-form .wc-block-components-text-input input,
.wc-block-components-select .wc-blocks-components-select__select,
.wc-block-components-textarea {
	border: 1px solid var(--at-line-2) !important;
	border-radius: 0 !important;
	background: #fff;
	font-family: var(--at-sans);
	font-size: 15px;
	color: var(--at-ink);
	box-shadow: none;
}

.wc-block-components-text-input.is-active input:focus,
.wc-block-components-text-input input:focus,
.wc-block-components-select .wc-blocks-components-select__select:focus {
	outline: none;
	border-color: var(--at-accent) !important;
	box-shadow: none;
}

.wc-block-components-text-input label,
.wc-block-components-select__label,
.wc-block-components-combobox label {
	font-family: var(--at-sans);
	font-size: 14px;
	letter-spacing: 0;
	text-transform: none;
	color: var(--at-muted);
	font-weight: 400;
}

.wc-block-components-text-input.is-active label {
	font-size: 11px;
	letter-spacing: 0.14em;
	text-transform: uppercase;
	color: var(--at-accent);
}

/* Botones */
.wc-block-components-button:not(.is-link),
.wc-block-cart__submit-button,
.wc-block-components-checkout-place-order-button {
	border-radius: 0 !important;
	background: var(--at-ink) !important;
	color: #fff !important;
	border: 1px solid var(--at-ink) !important;
	font-family: var(--at-sans);
	font-size: 12px;
	font-weight: 600;
	letter-spacing: 0.18em;
	text-transform: uppercase;
	padding: 19px 32px;
	min-height: 0;
	box-shadow: none;
	transition: background-color var(--at-t), border-color var(--at-t);
}

.wc-block-components-button:not(.is-link):hover,
.wc-block-cart__submit-button:hover,
.wc-block-components-checkout-place-order-button:hover {
	background: var(--at-accent) !important;
	border-color: var(--at-accent) !important;
	color: #fff !important;
}

.wc-block-components-button.is-link,
.wc-block-cart-item__remove-link,
.wc-block-components-panel__button {
	color: var(--at-muted);
	font-family: var(--at-sans);
}

.wc-block-components-button.is-link:hover,
.wc-block-cart-item__remove-link:hover {
	color: var(--at-accent);
}

/* Líneas del carrito */
.wc-block-cart-items__header {
	font-family: var(--at-sans);
	font-size: 10px;
	font-weight: 700;
	letter-spacing: 0.22em;
	text-transform: uppercase;
	color: var(--at-accent);
	border-bottom: 1px solid var(--at-line);
}

.wc-block-cart-items__row {
	border-bottom: 1px solid var(--at-line);
}

.wc-block-cart-item__image img {
	width: 88px;
	height: 110px;
	object-fit: cover;
	border-radius: 0;
}

.wc-block-components-product-name {
	font-family: var(--at-serif);
	font-size: 19px;
	font-weight: 400;
	color: var(--at-ink);
	text-decoration: none;
}

.wc-block-components-product-metadata,
.wc-block-components-product-metadata__description {
	font-size: 12px;
	color: var(--at-muted);
}

.wc-block-components-product-price {
	font-family: var(--at-sans);
	font-weight: 600;
	color: var(--at-ink);
}

.wc-block-components-product-price del,
.wc-block-components-formatted-money-amount del {
	color: var(--at-muted-2);
	font-weight: 400;
}

.wc-block-components-product-price ins {
	color: var(--at-accent);
	text-decoration: none;
	background: transparent;
}

/* Selector de cantidad */
.wc-block-components-quantity-selector {
	border: 1px solid var(--at-line-2);
	border-radius: 0;
	background: #fff;
}

.wc-block-components-quantity-selector::after {
	display: none;
}

.wc-block-components-quantity-selector__input {
	font-family: var(--at-sans);
	font-size: 15px;
	color: var(--at-ink);
}

.wc-block-components-quantity-selector__button {
	color: var(--at-ink);
	font-weight: 400;
	transition: background-color var(--at-t), color var(--at-t);
}

.wc-block-components-quantity-selector__button:hover {
	background: var(--at-ink);
	color: #fff;
}

/* Totales */
.wc-block-components-totals-item {
	font-family: var(--at-sans);
	font-size: 14px;
	color: var(--at-ink);
	padding: 12px 0;
}

.wc-block-components-totals-item__label {
	color: var(--at-muted);
	font-weight: 400;
}

.wc-block-components-totals-wrapper {
	border-top: 1px solid var(--at-line-2);
	padding: 6px 0;
}

.wc-block-components-totals-wrapper::after {
	display: none;
}

.wc-block-components-totals-footer-item,
.wc-block-components-totals-footer-item .wc-block-components-totals-item__label,
.wc-block-components-totals-footer-item .wc-block-components-totals-item__value {
	font-family: var(--at-serif);
	font-size: 22px;
	font-weight: 400;
	color: var(--at-ink);
}

.wc-block-components-panel__button {
	font-size: 13px;
	letter-spacing: 0.04em;
	color: var(--at-ink);
}

/* Métodos de pago y envío */
.wc-block-components-radio-control__option,
.wc-block-components-radio-control-accordion-option {
	border: 1px solid var(--at-line-2);
	border-radius: 0;
	margin-bottom: -1px;
	background: #fff;
}

.wc-block-components-radio-control__label {
	font-size: 14px;
	color: var(--at-ink);
}

.wc-block-components-radio-control__option-checked,
.wc-block-components-radio-control-accordion-option--checked-option-highlighted {
	border-color: var(--at-ink);
}

/* Avisos */
.wc-block-components-notice-banner {
	border-radius: 0;
	border-left-width: 0;
	border-top: 2px solid var(--at-accent);
	background: var(--at-bg-alt);
	color: var(--at-ink);
	font-family: var(--at-sans);
	font-size: 14px;
}

.wc-block-components-notice-banner.is-error {
	border-top-color: #b3261e;
}

.wc-block-components-notice-banner.is-success {
	border-top-color: var(--at-accent);
}

.wc-block-components-notice-banner > svg {
	fill: var(--at-accent);
	background: transparent;
}

/* Resumen del pedido */
.wc-block-components-order-summary-item__description .wc-block-components-product-name {
	font-size: 16px;
}

.wc-block-components-order-summary-item__image img {
	border-radius: 0;
}

/* Carrito vacío */
.wp-block-woocommerce-empty-cart-block {
	text-align: center;
	padding: 40px 0 70px;
}

.wp-block-woocommerce-empty-cart-block h2 {
	font-family: var(--at-serif);
	font-size: 34px;
}

/* ==========================================================================
   14. Mi cuenta
   ========================================================================== */

.atenea-account-head {
	padding: 60px 0 40px;
}

.atenea-account-head .atenea-pagehead__title {
	text-align: left;
	font-size: 50px;
}

.atenea-account-head__meta {
	font-size: 14px;
	color: var(--at-muted);
	margin: 10px 0 0;
}

.atenea-account-head__meta a {
	border-bottom: 1px solid var(--at-line-2);
}

.atenea-dot {
	margin: 0 8px;
	color: var(--at-line-2);
}

.woocommerce-account .woocommerce-MyAccount-navigation {
	width: 250px;
	float: left;
	margin-right: 56px;
}

.woocommerce-account .woocommerce-MyAccount-navigation ul {
	list-style: none;
	margin: 0;
	padding: 0;
	border-top: 1px solid var(--at-line);
}

.woocommerce-account .woocommerce-MyAccount-navigation li {
	margin: 0;
	list-style: none;
	border-bottom: 1px solid var(--at-line);
}

.woocommerce-account .woocommerce-MyAccount-navigation li a {
	display: block;
	padding: 15px 2px;
	font-size: 14px;
	color: var(--at-muted);
}

/* Storefront añade iconos con ::after; el diseño va sin ellos. */
.woocommerce-account .woocommerce-MyAccount-navigation li a::after,
.woocommerce-account .woocommerce-MyAccount-navigation li a::before {
	display: none;
	content: none;
}

.woocommerce-account .woocommerce-MyAccount-navigation li.is-active a,
.woocommerce-account .woocommerce-MyAccount-navigation li a:hover {
	color: var(--at-ink);
	font-weight: 600;
}

.woocommerce-account .woocommerce-MyAccount-content {
	width: calc(100% - 306px);
	float: right;
	padding-bottom: 90px;
}

.woocommerce-account .woocommerce-MyAccount-content h2,
.woocommerce-account .woocommerce-MyAccount-content h3 {
	font-size: 28px;
	margin: 0 0 22px;
}

.woocommerce-account table.my_account_orders td,
.woocommerce-account table.my_account_orders th {
	padding: 18px 10px 18px 0;
	font-size: 14px;
}

.woocommerce-account table.my_account_orders .woocommerce-orders-table__cell-order-number a {
	font-family: var(--at-serif);
	font-size: 17px;
}

.woocommerce-account table.my_account_orders tbody tr,
.woocommerce-account table.my_account_orders tbody td,
.woocommerce-account table.woocommerce-orders-table tbody td {
	background: transparent;
}

.woocommerce-account table.my_account_orders .woocommerce-orders-table__cell-order-number a {
	text-decoration: none;
}

/* Estado del pedido con el tono del diseño. */
.woocommerce-account table.my_account_orders td.woocommerce-orders-table__cell-order-status {
	font-size: 11px;
	font-weight: 600;
	letter-spacing: 0.12em;
	text-transform: uppercase;
	color: var(--at-accent);
}

.atenea-account-promo {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 28px;
	background: var(--at-bg-alt);
	padding: 30px 34px;
	margin-top: 40px;
}

.atenea-account-promo__body {
	display: flex;
	flex-direction: column;
	gap: 6px;
}

.atenea-account-promo__title {
	font-family: var(--at-serif);
	font-size: 22px;
	color: var(--at-ink);
}

.atenea-account-promo__text {
	font-size: 13px;
	color: var(--at-muted);
}

.atenea-account-promo .atenea-btn {
	flex: none;
	padding: 14px 30px;
}

.woocommerce-account .woocommerce-Address {
	border: 1px solid var(--at-line);
	padding: 26px;
	width: 100%;
	box-sizing: border-box;
}

.woocommerce-account .addresses .title h3 {
	font-size: 22px;
}

/* Acceso / registro centrados. */
.woocommerce-account:not(.logged-in) .woocommerce {
	max-width: 480px;
	margin: 0 auto;
	padding-bottom: 90px;
}

.woocommerce-account:not(.logged-in) .woocommerce:has(.u-columns) {
	max-width: 940px;
}

.woocommerce-account:not(.logged-in) .woocommerce > h2,
.woocommerce-account:not(.logged-in) .u-column1 > h2,
.woocommerce-account:not(.logged-in) .u-column2 > h2 {
	font-size: 26px;
	text-align: center;
	margin: 0 0 20px;
}

.woocommerce-account .woocommerce-form-login,
.woocommerce-account .woocommerce-form-register {
	margin-left: auto;
	margin-right: auto;
}

.woocommerce-account:not(.logged-in) .u-columns.col2-set {
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	gap: 56px;
	padding-bottom: 90px;
}

.woocommerce-account:not(.logged-in) .u-columns.col2-set .col-1,
.woocommerce-account:not(.logged-in) .u-columns.col2-set .col-2 {
	width: 100%;
	float: none;
	margin: 0;
}

/* ==========================================================================
   15. Blog y páginas
   ========================================================================== */

.atenea-prose {
	max-width: 760px;
	font-size: 16px;
	line-height: 1.85;
}

.atenea-prose h2 { font-size: 34px; margin: 44px 0 16px; }
.atenea-prose h3 { font-size: 26px; margin: 34px 0 14px; }
.atenea-prose img { margin: 24px 0; }

.hentry .entry-title {
	font-size: 38px;
}

.hentry {
	margin-bottom: 60px;
	padding-bottom: 0;
	border-bottom: 1px solid var(--at-line);
}

.entry-content {
	font-size: 16px;
	line-height: 1.85;
}

.site-main .storefront-sorting,
.widget {
	font-size: 15px;
}

/* ==========================================================================
   16. Pie de página
   ========================================================================== */

.atenea-footer {
	background: var(--at-dark);
	color: var(--at-on-dark-muted);
	padding: 76px 0 34px;
	margin-top: 0;
}

.atenea-front .atenea-footer {
	margin-top: 0;
}

.atenea-footer__grid {
	display: grid;
	grid-template-columns: 2fr repeat(var(--at-fcols, 3), minmax(0, 1fr));
	gap: 48px;
	padding-bottom: 52px;
	border-bottom: 1px solid rgba(255, 255, 255, 0.12);
}

.atenea-footer__about {
	font-size: 13px;
	line-height: 1.8;
	color: var(--at-on-dark-muted);
	max-width: 300px;
	margin: 20px 0 0;
}

.atenea-footer__heading {
	font-family: var(--at-sans);
	font-size: 10px;
	font-weight: 700;
	letter-spacing: 0.24em;
	text-transform: uppercase;
	color: #fff;
	margin: 0 0 18px;
}

.atenea-footer__menu {
	list-style: none;
	margin: 0;
	padding: 0;
}

.atenea-footer__menu li {
	margin: 0 0 11px;
	list-style: none;
}

.atenea-footer__menu a {
	font-size: 13px;
	color: var(--at-on-dark-muted);
}

.atenea-footer__menu a:hover {
	color: #fff;
}

.atenea-footer__menu--placeholder li {
	font-size: 12px;
	opacity: 0.5;
}

.atenea-footer__bar {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 20px;
	padding-top: 26px;
	font-size: 12px;
	color: rgba(255, 255, 255, 0.45);
}

.atenea-footer__legal {
	display: flex;
	gap: 24px;
	list-style: none;
	margin: 0;
	padding: 0;
}

.atenea-footer__legal li {
	margin: 0;
	list-style: none;
}

.atenea-footer__legal a {
	color: rgba(255, 255, 255, 0.45);
	font-size: 12px;
}

.atenea-footer__legal a:hover {
	color: #fff;
}

/* ==========================================================================
   16b. Overlays: scrim, modal de cuenta, drawers (carrito e info)
   ========================================================================== */

.atenea-ov-scrim {
	position: fixed;
	inset: 0;
	z-index: 300;
	background: rgba(20, 12, 18, 0.5);
	opacity: 0;
	/* Sin abrir no debe capturar clics: si no, queda una capa invisible
	   bloqueando toda la tienda tras cerrar un panel. */
	pointer-events: none;
	transition: opacity var(--at-t);
	border: 0;
	padding: 0;
}

.atenea-ov-scrim.is-open {
	opacity: 1;
	pointer-events: auto;
}

.atenea-ov-scrim[hidden] {
	display: none;
}

/* --- Drawer a la derecha (carrito e info) --- */
.atenea-panel {
	position: fixed;
	top: 0;
	right: 0;
	bottom: 0;
	width: min(420px, 92vw);
	z-index: 320;
	background: #fff;
	display: flex;
	flex-direction: column;
	transform: translateX(100%);
	transition: transform var(--at-t);
	box-shadow: -18px 0 50px rgba(26, 16, 24, 0.14);
	visibility: hidden;
}

.atenea-panel.is-open {
	transform: translateX(0);
	visibility: visible;
}

.atenea-panel__head {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 16px;
	padding: 22px 24px;
	border-bottom: 1px solid var(--at-line);
	flex: none;
}

.atenea-panel__title {
	font-family: var(--at-serif);
	font-size: 24px;
	margin: 0;
}

.atenea-panel__body {
	flex: 1;
	overflow-y: auto;
	overscroll-behavior: contain;
	-webkit-overflow-scrolling: touch;
	padding: 24px;
}

.atenea-panel__hero {
	width: 54px;
	height: 54px;
	border-radius: 999px;
	background: var(--at-bg-alt);
	color: var(--at-accent);
	display: flex;
	align-items: center;
	justify-content: center;
	margin: 6px 0 22px;
}

.atenea-panel__prose p {
	font-size: 15px;
	line-height: 1.8;
	color: var(--at-ink-2);
	margin: 0 0 16px;
}

.atenea-panel__note {
	font-size: 12px;
	line-height: 1.7;
	color: var(--at-muted-2);
	border-top: 1px solid var(--at-line);
	padding-top: 18px;
	margin: 26px 0 0;
}

/* --- Grilla de medios de pago --- */
.atenea-paylogos {
	margin-top: 26px;
}

.atenea-paylogos__title {
	font-family: var(--at-sans);
	font-size: 11px;
	font-weight: 700;
	letter-spacing: 0.2em;
	text-transform: uppercase;
	color: var(--at-accent);
	margin: 0 0 16px;
}

.atenea-paylogos__grid {
	display: grid;
	grid-template-columns: repeat(auto-fill, minmax(72px, 1fr));
	gap: 10px;
	list-style: none;
	margin: 0;
	padding: 0;
}

.atenea-paylogos__item {
	list-style: none;
	margin: 0;
	aspect-ratio: 8 / 5;
	border: 1px solid var(--at-line);
	border-radius: 6px;
	display: flex;
	align-items: center;
	justify-content: center;
	padding: 8px 10px;
	background: #fff;
}

.atenea-paylogos__item img {
	max-width: 100%;
	max-height: 26px;
	width: auto;
	height: auto;
	object-fit: contain;
	display: block;
}

.atenea-paylogos__empty {
	font-size: 13px;
	color: var(--at-muted-2);
	border: 1px dashed var(--at-line-2);
	padding: 16px;
	border-radius: 6px;
}

/* --- Mini-cart dentro del drawer --- */
.atenea-panel--cart .woocommerce-mini-cart {
	list-style: none;
	margin: 0;
	padding: 0;
}

.atenea-panel--cart .woocommerce-mini-cart__empty-message,
.widget_shopping_cart .woocommerce-mini-cart__empty-message {
	font-family: var(--at-serif);
	font-size: 20px;
	color: var(--at-ink);
	text-align: center;
	padding: 30px 0;
}

.atenea-panel--cart li.woocommerce-mini-cart-item {
	position: relative;
	display: block;
	padding: 16px 34px 16px 0;
	border-bottom: 1px solid var(--at-line);
	margin: 0;
}

/* En WooCommerce la imagen y el nombre van dentro del mismo enlace:
   lo convertimos en grilla de dos columnas (imagen · nombre). */
.atenea-panel--cart li.woocommerce-mini-cart-item > a:not(.remove_from_cart_button) {
	display: grid;
	grid-template-columns: 60px 1fr;
	column-gap: 14px;
	align-items: center;
	font-family: var(--at-serif);
	font-size: 15px;
	line-height: 1.35;
	color: var(--at-ink);
	text-decoration: none;
}

.atenea-panel--cart li.woocommerce-mini-cart-item img {
	grid-column: 1;
	width: 60px;
	height: 74px;
	object-fit: cover;
	float: none;
	margin: 0;
}

.atenea-panel--cart li.woocommerce-mini-cart-item .quantity {
	display: block;
	margin: 8px 0 0 74px;
	font-family: var(--at-sans);
	font-size: 13px;
	letter-spacing: 0.02em;
	color: var(--at-muted);
	border: 0;
	width: auto;
}

.atenea-panel--cart li.woocommerce-mini-cart-item .quantity .amount {
	color: var(--at-ink);
	font-weight: 600;
}

.atenea-panel--cart li.woocommerce-mini-cart-item a.remove_from_cart_button {
	position: absolute;
	top: 16px;
	right: 0;
	display: flex;
	align-items: center;
	justify-content: center;
	width: 24px;
	height: 24px;
	line-height: 1;
	text-align: center;
	border: 1px solid var(--at-line);
	border-radius: 999px;
	color: var(--at-muted-2) !important;
	font-size: 15px;
	background: #fff;
	transition: background-color var(--at-t), color var(--at-t), border-color var(--at-t);
}

.atenea-panel--cart li.woocommerce-mini-cart-item a.remove_from_cart_button:hover {
	background: var(--at-accent) !important;
	border-color: var(--at-accent);
	color: #fff !important;
}

.atenea-panel--cart .woocommerce-mini-cart__total {
	display: flex;
	align-items: baseline;
	justify-content: space-between;
	border: 0;
	padding: 20px 0 8px;
	margin: 0;
	font-family: var(--at-serif);
	font-size: 20px;
}

.atenea-panel--cart .woocommerce-mini-cart__total strong {
	font-weight: 400;
}

.atenea-panel--cart .woocommerce-mini-cart__total .amount {
	color: var(--at-ink);
	font-weight: 400;
}

.atenea-panel--cart .woocommerce-mini-cart__buttons {
	display: flex;
	flex-direction: column;
	gap: 10px;
	margin: 8px 0 0;
	padding: 0;
}

.atenea-panel--cart .woocommerce-mini-cart__buttons .button {
	width: 100%;
	margin: 0;
}

.atenea-panel--cart .woocommerce-mini-cart__buttons .checkout {
	background: var(--at-ink);
	border-color: var(--at-ink);
	color: #fff;
}

.atenea-panel--cart .woocommerce-mini-cart__buttons .checkout:hover {
	background: var(--at-accent);
	border-color: var(--at-accent);
}

.atenea-panel--cart .woocommerce-mini-cart__buttons .button:not(.checkout) {
	background: transparent;
	color: var(--at-ink);
	border-color: var(--at-line-2);
}

.atenea-panel--cart .woocommerce-mini-cart__buttons .button:not(.checkout):hover {
	border-color: var(--at-ink);
	background: transparent;
}

/* --- Modal centrado (cuenta) --- */
.atenea-modal {
	position: fixed;
	inset: 0;
	z-index: 320;
	display: flex;
	align-items: center;
	justify-content: center;
	padding: 24px;
	visibility: hidden;
	opacity: 0;
	transition: opacity var(--at-t), visibility var(--at-t);
}

.atenea-modal.is-open {
	visibility: visible;
	opacity: 1;
}

.atenea-modal__box {
	position: relative;
	width: min(420px, 100%);
	max-height: 90vh;
	overflow-y: auto;
	background: #fff;
	padding: 40px 34px 34px;
	box-shadow: var(--at-shadow);
	transform: translateY(12px) scale(0.98);
	transition: transform var(--at-t);
}

.atenea-modal.is-open .atenea-modal__box {
	transform: none;
}

.atenea-modal__close {
	position: absolute;
	top: 14px;
	right: 14px;
	width: 40px;
	height: 40px;
	border: 0;
	background: transparent;
	color: var(--at-ink);
	cursor: pointer;
	display: flex;
	align-items: center;
	justify-content: center;
}

.atenea-modal__head {
	text-align: center;
	margin-bottom: 26px;
}

.atenea-modal__icon {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 58px;
	height: 58px;
	border-radius: 999px;
	background: var(--at-bg-alt);
	color: var(--at-accent);
	margin-bottom: 16px;
}

.atenea-modal__title {
	font-family: var(--at-serif);
	font-size: 28px;
	margin: 0 0 10px;
}

.atenea-modal__lead {
	font-size: 14px;
	line-height: 1.7;
	color: var(--at-muted);
	margin: 0;
}

.atenea-modal__actions {
	display: flex;
	flex-direction: column;
	gap: 10px;
}

.atenea-modal__perks {
	list-style: none;
	margin: 26px 0 0;
	padding: 22px 0 0;
	border-top: 1px solid var(--at-line);
	display: flex;
	flex-direction: column;
	gap: 12px;
}

.atenea-modal__perks li {
	display: flex;
	align-items: center;
	gap: 12px;
	margin: 0;
	list-style: none;
	font-size: 13px;
	color: var(--at-ink-2);
}

.atenea-modal__perks .atenea-icon {
	color: var(--at-accent);
	flex: none;
}

.atenea-modal__links {
	display: flex;
	flex-direction: column;
	margin: 0 0 22px;
	border-top: 1px solid var(--at-line);
}

.atenea-modal__links a {
	display: flex;
	align-items: center;
	gap: 14px;
	padding: 16px 4px;
	border-bottom: 1px solid var(--at-line);
	font-size: 15px;
	color: var(--at-ink);
}

.atenea-modal__links a span {
	flex: 1;
}

.atenea-modal__links a:hover {
	color: var(--at-accent);
}

.atenea-modal__links a .atenea-icon:first-child {
	color: var(--at-accent);
}

.atenea-modal__links a .atenea-icon:last-child {
	color: var(--at-muted-2);
}

/* --- Modal de búsqueda --- */
.atenea-modal--search { align-items: flex-start; padding-top: 12vh; }

.atenea-search-modal {
	width: min(620px, 100%);
	text-align: left;
	padding: 40px 34px 34px;
}

.atenea-search-modal__eyebrow {
	display: block;
	font-family: var(--at-serif);
	font-size: 26px;
	color: var(--at-ink);
	margin: 0 0 20px;
}

.atenea-search-modal__form form,
.atenea-search-modal__form .woocommerce-product-search,
.atenea-search-modal__form .search-form {
	display: flex;
	gap: 0;
	margin: 0;
	width: 100%;
}

.atenea-search-modal__form label { flex: 1; margin: 0; display: block; }

.atenea-search-modal__form input[type="search"],
.atenea-search-modal__form input[type="text"] {
	width: 100%;
	border: 1px solid var(--at-ink);
	border-right: 0;
	font-size: 17px;
	padding: 16px 18px;
	border-radius: 0;
}

.atenea-search-modal__form button[type="submit"] {
	flex: none;
	padding: 16px 26px;
	font-size: 11px;
	border-radius: 0;
}

.atenea-search-modal__suggest { margin-top: 24px; }

.atenea-search-modal__suggest-label {
	display: block;
	font-size: 11px;
	font-weight: 600;
	letter-spacing: 0.16em;
	text-transform: uppercase;
	color: var(--at-muted);
	margin-bottom: 12px;
}

.atenea-search-modal__tags {
	display: flex;
	flex-wrap: wrap;
	gap: 8px;
}

.atenea-search-modal__tags a {
	font-size: 13px;
	color: var(--at-ink);
	background: var(--at-bg-alt);
	padding: 8px 14px;
	border-radius: 999px;
	transition: background-color var(--at-t), color var(--at-t);
}

.atenea-search-modal__tags a:hover {
	background: var(--at-accent);
	color: #fff;
}

/* ==========================================================================
   17. Adaptación móvil
   ========================================================================== */

/* --- Portátiles y tablets grandes --- */
@media (max-width: 1200px) {
	:root {
		--at-gutter: 34px;
	}

	.atenea-hero__title { font-size: 66px; }
	.atenea-section-title { font-size: 38px; }
	.atenea-section-title.is-italic { font-size: 44px; }
	.atenea-pagehead__title { font-size: 48px; }
	.woocommerce div.product .product_title { font-size: 40px; }
	.single-product div.product { gap: 48px; }
	.atenea-shop-layout { grid-template-columns: 220px minmax(0, 1fr); gap: 40px; }
	.woocommerce-cart .woocommerce { grid-template-columns: minmax(0, 1fr) 330px; gap: 40px; }
	.woocommerce-checkout form.checkout { grid-template-columns: minmax(0, 1fr) 360px; gap: 44px; }
	.atenea-story__body { padding: 64px 6%; }
}

/* --- Tablets --- */
@media (max-width: 1024px) {
	:root {
		--at-gutter: 26px;
		--at-header-h: 68px;
	}

	/* La navegación de categorías pasa al menú lateral. */
	.atenea-header__nav-row { display: none; }
	.atenea-header .atenea-header__burger { display: inline-flex; }

	.atenea-header__bar {
		padding-top: 12px;
		padding-bottom: 12px;
	}

	.atenea-header {
		position: sticky;
		top: 0;
	}

	.admin-bar .atenea-header { top: 32px; }

	.atenea-hero { --at-hero-h: 560px; }
	.atenea-cat { flex-basis: calc((100% - 48px) / 3); }
	.atenea-carousel__arrow--prev { left: -8px; }
	.atenea-carousel__arrow--next { right: -8px; }
	.atenea-hero__title { font-size: 52px; }
	.atenea-hero__inner { padding-top: 100px; padding-bottom: 56px; }

	.atenea-section { padding: 72px 0; }
	.atenea-section--journal,
	.atenea-perks,
	.atenea-story { margin-top: 72px; }
	.atenea-section--journal { padding-top: 72px; }

	.atenea-story { grid-template-columns: 1fr; }
	.atenea-story__media { min-height: 0; aspect-ratio: 3 / 2; }
	.atenea-story__body { padding: 54px var(--at-gutter); }
	.atenea-story__inner { max-width: none; }

	.woocommerce ul.products.columns-4 { --at-cols: 3; }

	/* Filtros de tienda: pasan a panel deslizante. */
	.atenea-shop-layout { grid-template-columns: 1fr; gap: 0; }

	.atenea-shop-aside {
		position: fixed;
		inset: 0;
		z-index: 200;
		background: #fff;
		padding: 0 var(--at-gutter) 40px;
		overflow-y: auto;
		overscroll-behavior: contain;
		transform: translateY(100%);
		transition: transform var(--at-t);
		visibility: hidden;
		gap: 30px;
	}

	.atenea-shop-aside.is-open {
		transform: translateY(0);
		visibility: visible;
	}

	.atenea-shop-aside__head {
		display: flex;
		align-items: center;
		justify-content: space-between;
		position: sticky;
		top: 0;
		background: #fff;
		padding: 18px 0;
		margin-bottom: 6px;
		border-bottom: 1px solid var(--at-line);
		z-index: 2;
	}

	.atenea-shop-aside__title {
		font-size: 22px;
		margin: 0;
	}

	.atenea-filter-toggle {
		display: inline-flex;
		align-items: center;
		gap: 9px;
		background: transparent;
		border: 1px solid var(--at-line-2);
		color: var(--at-ink);
		font-size: 11px;
		font-weight: 600;
		letter-spacing: 0.14em;
		text-transform: uppercase;
		padding: 11px 18px;
		cursor: pointer;
	}

	.atenea-shop-aside__apply {
		display: flex;
		position: sticky;
		bottom: 0;
		width: 100%;
		margin-top: auto;
	}

	/* En móvil el orden se muestra dentro del panel de filtros. */
	.atenea-shop-toolbar .woocommerce-ordering {
		display: none;
	}

	.atenea-filter-widget--order .woocommerce-ordering {
		display: block;
	}

	.single-product div.product {
		grid-template-columns: 1fr;
		gap: 36px;
	}

	.single-product div.product > .woocommerce-product-gallery,
	.single-product div.product > .summary {
		grid-column: 1;
		position: static;
	}

	.woocommerce-cart .woocommerce,
	.woocommerce-checkout form.checkout {
		grid-template-columns: 1fr;
		gap: 40px;
	}

	.woocommerce-cart form.woocommerce-cart-form,
	.woocommerce-cart .cart-collaterals,
	.woocommerce-checkout form.checkout #customer_details,
	.woocommerce-checkout form.checkout .atenea-checkout__aside {
		grid-column: 1;
		position: static;
	}

	#reviews { padding: 54px var(--at-gutter); }

	/* Bloques Carrito y Pago: una sola columna */
	.wc-block-components-sidebar-layout {
		display: flex;
		flex-direction: column;
	}

	.wc-block-components-main {
		padding-right: 0;
		width: 100%;
		order: 1;
	}

	/* En el pago el resumen va arriba; en el carrito, debajo de los productos. */
	.wc-block-checkout__sidebar { order: 0; }
	.wc-block-cart__sidebar { order: 2; }

	.wc-block-cart .wc-block-cart__sidebar,
	.wc-block-checkout .wc-block-checkout__sidebar {
		width: 100%;
		padding: 24px 20px;
		position: static;
		margin-top: 32px;
	}

	.wc-block-checkout .wc-block-checkout__sidebar {
		margin-top: 0;
		margin-bottom: 32px;
	}
}

/* --- Móvil --- */
@media (max-width: 767px) {
	:root {
		--at-gutter: 18px;
	}

	body {
		font-size: 15px;
	}

	/* Barra inferior de navegación */
	.atenea-bottomnav { display: flex; }

	/* WhatsApp: por encima de la barra inferior o de la barra fija de compra. */
	.atenea-wa {
		right: 14px;
		bottom: calc(78px + env(safe-area-inset-bottom));
		width: 50px;
		height: 50px;
	}

	.single-product .atenea-wa {
		bottom: calc(92px + env(safe-area-inset-bottom));
	}

	.woocommerce-checkout .atenea-wa {
		display: none;
	}

	.atenea-has-bottomnav .atenea-footer {
		padding-bottom: calc(34px + 62px + env(safe-area-inset-bottom));
	}

	.atenea-topbar__track {
		padding: 9px 14px;
		justify-content: flex-start;
		gap: 60px;
		animation: atenea-marquee 22s linear infinite;
		width: max-content;
	}

	.atenea-topbar__text {
		font-size: 10px;
		letter-spacing: 0.16em;
	}

	.atenea-topbar__text + .atenea-topbar__text {
		display: block;
	}

	@keyframes atenea-marquee {
		from { transform: translateX(0); }
		to { transform: translateX(-50%); }
	}

	@media (prefers-reduced-motion: reduce) {
		.atenea-topbar__track {
			animation: none;
			justify-content: center;
			width: 100%;
		}
		.atenea-topbar__text + .atenea-topbar__text { display: none; }
	}

	/* Cabecera compacta */
	.atenea-header__bar {
		gap: 6px;
		min-height: 58px;
	}

	.atenea-logo__mark { height: 26px; }
	.atenea-logo__name { font-size: 16px; letter-spacing: 0.24em; text-indent: 0.24em; }
	.atenea-logo__suffix { font-size: 7px; letter-spacing: 0.26em; text-indent: 0.26em; }
	.atenea-logo { gap: 8px; }

	.atenea-iconbtn { width: 38px; height: 38px; }
	.atenea-header__actions { gap: 0; }
	.atenea-header__account { display: none; }

	.atenea-searchpanel { padding: 20px 0; }
	.atenea-searchpanel .atenea-container { gap: 8px; }
	.atenea-searchpanel input[type="search"],
	.atenea-searchpanel input[type="text"] { font-size: 17px; }
	.atenea-searchpanel button[type="submit"] { padding: 12px 16px; font-size: 10px; }

	/* Hero */
	.atenea-hero {
		--at-hero-h: max(520px, min(78vh, 620px));
	}

	.atenea-hero__inner {
		padding-top: 80px;
		padding-bottom: 44px;
	}

	.atenea-hero__eyebrow { font-size: 10px; letter-spacing: 0.24em; margin-bottom: 14px; }
	.atenea-hero__title { font-size: 38px; max-width: 100%; }
	.atenea-hero__text { font-size: 15px; margin-top: 16px; }
	.atenea-hero__cta { margin-top: 26px; padding: 15px 28px; font-size: 11px; }
	.atenea-hero__actions { margin-top: 26px; gap: 10px; flex-direction: column; align-items: stretch; width: 100%; max-width: 320px; }
	.atenea-hero__actions .atenea-hero__cta { margin-top: 0; text-align: center; justify-content: center; }

	/* Secciones */
	.atenea-section { padding: 56px 0; }
	.atenea-section--journal,
	.atenea-perks,
	.atenea-story { margin-top: 56px; }
	.atenea-section--journal { padding-top: 56px; }
	.atenea-news { padding: 56px 0; }

	.atenea-section-title { font-size: 28px; margin-bottom: 32px; }
	.atenea-section-title.is-italic { font-size: 32px; }
	.atenea-eyebrow { font-size: 10px; letter-spacing: 0.22em; }

	.atenea-section__head {
		margin-bottom: 28px;
		align-items: center;
	}

	.atenea-section__head .atenea-link-underline { font-size: 10px; }
	.atenea-section__cta { margin-top: 34px; }

	/* Categorías: carrusel que se desliza con el dedo (se asoma la siguiente) */
	.atenea-cats {
		gap: 12px;
		margin: 0 calc(var(--at-gutter) * -1);
		padding: 0 var(--at-gutter) 6px;
		scroll-padding-left: var(--at-gutter);
	}

	.atenea-cat {
		flex-basis: 44%;
		gap: 12px;
	}

	.atenea-carousel__arrow { display: none; }

	.atenea-cat__name { font-size: 17px; }
	.atenea-cat__count { font-size: 10px; margin-top: -8px; }

	/* Grillas de producto a 2 columnas */
	.woocommerce ul.products,
	ul.products,
	.woocommerce ul.products.columns-3,
	.woocommerce ul.products.columns-4,
	.woocommerce ul.products.columns-5,
	.woocommerce ul.products.columns-6,
	.atenea-best ul.products {
		--at-cols: 2;
		gap: 30px 12px;
	}

	.atenea-grid--2,
	.atenea-grid--3,
	.atenea-grid--4 {
		grid-template-columns: repeat(2, minmax(0, 1fr));
		gap: 30px 12px;
	}

	.atenea-card__title,
	.woocommerce ul.products li.product h2.woocommerce-loop-product__title,
	.woocommerce ul.products li.product .woocommerce-loop-product__title {
		font-size: 15px;
	}

	.atenea-card__eyebrow,
	.woocommerce ul.products li.product .atenea-card__eyebrow { font-size: 9px; }

	.woocommerce ul.products li.product .price,
	.atenea-card__price { font-size: 13px; }

	.woocommerce ul.products li.product .button {
		width: 100%;
		align-self: stretch;
		padding: 11px 10px;
		font-size: 9px;
		letter-spacing: 0.12em;
	}

	.atenea-badge,
	.woocommerce ul.products li.product .onsale,
	.woocommerce span.onsale {
		top: 8px;
		left: 8px;
		padding: 5px 9px;
		font-size: 9px;
	}

	/* Journal a una columna */
	.atenea-journal { grid-template-columns: 1fr; gap: 34px; }
	.atenea-journal__title { font-size: 21px; }

	/* Editorial */
	.atenea-story__title { font-size: 28px; }
	.atenea-story__text { font-size: 14px; margin-bottom: 24px; }
	.atenea-story__body { padding: 40px var(--at-gutter) 46px; }

	/* Beneficios apilados */
	.atenea-perks__inner {
		grid-template-columns: 1fr;
		gap: 14px;
		padding-top: 26px;
		padding-bottom: 26px;
	}

	.atenea-perks__item {
		justify-content: flex-start;
		font-size: 11px;
		letter-spacing: 0.1em;
	}

	/* Newsletter */
	.atenea-news__form { flex-direction: column; gap: 10px; }
	.atenea-news__form input[type="email"] { border-right: 1px solid var(--at-ink); }
	.atenea-news__form .atenea-btn { width: 100%; }

	/* Cabeceras de página */
	.atenea-pagehead { padding: 40px 0 30px; }
	.atenea-pagehead__title { font-size: 32px; }
	.atenea-breadcrumb, .woocommerce-breadcrumb { font-size: 10px; padding-top: 16px; }

	/* Tienda */
	.atenea-shop-toolbar {
		gap: 12px;
		padding-bottom: 16px;
		margin-bottom: 24px;
	}

	.woocommerce .woocommerce-result-count { font-size: 12px; }
	.atenea-shop-layout { padding-bottom: 60px; }

	/* Ficha de producto */
	.single-product div.product { padding: 20px 0 60px; gap: 28px; }
	.woocommerce div.product .product_title { font-size: 30px; }
	.woocommerce div.product p.price,
	.woocommerce div.product span.price { font-size: 24px; }
	.atenea-installments { font-size: 14px; padding: 10px 16px; }
	.atenea-installments strong { font-size: 16px; }
	.woocommerce div.product .woocommerce-product-details__short-description { font-size: 14px; }

	.woocommerce div.product div.images .flex-control-thumbs {
		grid-template-columns: repeat(4, minmax(0, 1fr));
		gap: 8px;
	}

	.woocommerce div.product form.cart { gap: 10px; }
	.woocommerce div.product form.cart .button { min-width: 0; width: 100%; padding: 17px 24px; }
	.quantity input.qty { width: 46px; padding: 13px 0; }
	.atenea-qty__btn { width: 42px; }

	.woocommerce div.product .related > h2,
	.woocommerce div.product .up-sells > h2,
	.woocommerce .cross-sells > h2 { font-size: 26px; margin-bottom: 28px; }

	.woocommerce div.product .related ul.products,
	.woocommerce div.product .up-sells ul.products {
		grid-auto-columns: calc((100% - 14px) / 2);
		gap: 14px;
	}

	.woocommerce div.product .related,
	.woocommerce div.product .up-sells { padding-top: 56px; }

	.atenea-sticky-atc { display: flex; }

	/* Sin distracciones donde hay una acción principal fija. */
	.single-product .atenea-bottomnav,
	.woocommerce-checkout .atenea-bottomnav {
		display: none;
	}

	.atenea-assurances { padding-top: 16px; }
	.atenea-assurance { padding: 14px 2px; }
	.atenea-assurance__txt { font-size: 11px; letter-spacing: 0.06em; }

	/* Carrito: tarjetas en lugar de tabla */
	.woocommerce-cart .woocommerce { gap: 30px; padding-bottom: 60px; }

	.woocommerce table.shop_table_responsive thead { display: none; }

	.woocommerce table.shop_table_responsive tr.woocommerce-cart-form__cart-item {
		display: grid;
		grid-template-columns: 92px minmax(0, 1fr);
		grid-template-areas:
			"thumb name"
			"thumb price"
			"thumb qty"
			"thumb total";
		gap: 4px 16px;
		align-items: start;
		padding: 20px 0;
		border-bottom: 1px solid var(--at-line);
		margin: 0;
		position: relative;
	}

	.woocommerce table.shop_table_responsive tr td {
		display: block;
		border: 0;
		padding: 0;
		text-align: left !important;
	}

	.woocommerce table.shop_table_responsive tr td::before {
		display: none;
	}

	.woocommerce-cart table.cart td.product-remove {
		position: absolute;
		top: 18px;
		right: 0;
		grid-area: unset;
	}

	.woocommerce-cart table.cart td.product-thumbnail {
		grid-area: thumb;
		display: block !important;
		width: 92px;
		padding: 0;
	}

	.woocommerce-cart table.cart img,
	.woocommerce table.cart img { width: 92px; height: 115px; }

	.woocommerce-cart table.cart td.product-name { grid-area: name; padding-right: 34px; }
	.woocommerce-cart table.cart td.product-name a { font-size: 16px; }
	.woocommerce-cart table.cart td.product-price { grid-area: price; font-size: 13px; color: var(--at-muted); }
	.woocommerce-cart table.cart td.product-quantity { grid-area: qty; margin-top: 8px; }
	.woocommerce-cart table.cart td.product-subtotal { grid-area: total; margin-top: 8px; font-weight: 600; }

	.woocommerce table.cart td.actions {
		display: flex !important;
		flex-direction: column;
		gap: 12px;
		padding-top: 22px;
	}

	.woocommerce table.cart td.actions .coupon { max-width: none; }
	.woocommerce table.cart td.actions > .button { float: none; width: 100%; }

	.woocommerce-cart .cart-collaterals .cart_totals { padding: 24px 20px; }
	.woocommerce .cart-empty { font-size: 26px; }

	/* Checkout */
	.atenea-steps { gap: 12px; margin-bottom: 30px; flex-wrap: wrap; }
	.atenea-steps__item { font-size: 10px; letter-spacing: 0.1em; }
	.atenea-steps__item + .atenea-steps__item::before { width: 14px; margin-right: 6px; }

	.woocommerce-checkout form.checkout { padding-bottom: 60px; }

	.woocommerce form .form-row-first,
	.woocommerce form .form-row-last {
		width: 100%;
		float: none;
	}

	.woocommerce-checkout form.checkout .atenea-checkout__aside {
		padding: 24px 20px;
		order: -1;
	}

	/* Resumen del pedido plegable en móvil */
	.atenea-checkout__aside .atenea-summary-toggle { font-size: 20px; }
	.atenea-checkout__aside.is-collapsed #order_review { display: none; }

	.woocommerce-checkout h3,
	.woocommerce-checkout #order_review_heading { font-size: 21px; }

	/* Mi cuenta */
	.atenea-account-head { padding: 34px 0 24px; }
	.atenea-account-head .atenea-pagehead__title { font-size: 30px; }

	.woocommerce-account .woocommerce-MyAccount-navigation,
	.woocommerce-account .woocommerce-MyAccount-content {
		width: 100%;
		float: none;
		margin: 0;
	}

	.woocommerce-account .woocommerce-MyAccount-navigation {
		margin-bottom: 28px;
		border-bottom: 1px solid var(--at-line);
		overflow-x: auto;
		scrollbar-width: none;
	}

	.woocommerce-account .woocommerce-MyAccount-navigation::-webkit-scrollbar { display: none; }

	.woocommerce-account .woocommerce-MyAccount-navigation ul {
		display: flex;
		gap: 22px;
		border-top: 0;
		width: max-content;
	}

	.woocommerce-account .woocommerce-MyAccount-navigation li {
		border-bottom: 0;
	}

	.woocommerce-account .woocommerce-MyAccount-navigation li a {
		padding: 12px 0;
		white-space: nowrap;
		font-size: 13px;
	}

	.woocommerce-account .woocommerce-MyAccount-navigation li.is-active a {
		border-bottom: 2px solid var(--at-accent);
	}

	.woocommerce-account:not(.logged-in) .u-columns.col2-set {
		grid-template-columns: 1fr;
		gap: 34px;
		padding-bottom: 60px;
	}

	.woocommerce-account table.my_account_orders td,
	.woocommerce-account table.my_account_orders th { font-size: 13px; }

	.atenea-account-promo {
		flex-direction: column;
		align-items: flex-start;
		gap: 18px;
		padding: 24px 20px;
	}

	.atenea-account-promo__title { font-size: 19px; }
	.atenea-account-promo .atenea-btn { width: 100%; }

	/* Pie */
	.atenea-footer { padding: 48px 0 28px; }

	.atenea-footer__grid {
		grid-template-columns: 1fr;
		gap: 30px;
		padding-bottom: 32px;
	}

	.atenea-footer__about { max-width: none; font-size: 13px; }

	.atenea-footer__bar {
		flex-direction: column;
		align-items: flex-start;
		gap: 12px;
		font-size: 11px;
	}

	.atenea-footer__legal { flex-wrap: wrap; gap: 16px; }

	/* Contenido */
	.hentry .entry-title { font-size: 26px; }
	#reviews { padding: 40px var(--at-gutter); margin: 0 calc(var(--at-gutter) * -1); }
	.woocommerce #reviews #comments h2 { font-size: 26px; }
}

/* --- Móviles pequeños --- */
@media (max-width: 400px) {
	.atenea-logo__suffix { display: none; }
	.atenea-hero__title { font-size: 32px; }
	.atenea-section-title.is-italic { font-size: 27px; }
	.woocommerce table.shop_table_responsive tr.woocommerce-cart-form__cart-item {
		grid-template-columns: 76px minmax(0, 1fr);
		gap: 4px 12px;
	}
	.woocommerce-cart table.cart img,
	.woocommerce table.cart img { width: 76px; height: 95px; }
	.atenea-bottomnav__label { font-size: 9px; }
}

/* --- Movimiento reducido --- */

/* ==========================================================================
   v2.0 — Rediseño «Boutique»
   (va al final para ganar sobre las reglas anteriores)
   ========================================================================== */

/* --- Menú: resaltar un ítem (CSS class «atenea-hot» en Apariencia → Menús) --- */
.atenea-nav__menu > li.atenea-hot > a {
	color: var(--at-accent);
}

/* --- Hero partido: texto claro a la izquierda, foto a la derecha --- */
.atenea-hero--split {
	--at-hero-h: 600px;
	background: var(--at-bg-alt);
}

.atenea-hero--split .atenea-hero__slide {
	background: var(--at-bg-alt);
	align-items: stretch;
}

.atenea-hero--split .atenea-hero__bg {
	inset: 0 0 0 auto;
	width: 50%;
	height: 100%;
	object-position: center 30%;
}

.atenea-hero--split .atenea-hero__veil {
	display: none;
}

.atenea-hero--split .atenea-hero__inner {
	width: 50%;
	max-width: none;
	margin: 0;
	align-self: stretch;
	align-items: flex-start;
	justify-content: center;
	text-align: left;
	box-sizing: border-box;
	padding: 72px 56px 72px max(40px, calc((100vw - 1280px) / 2 + 40px));
}

.atenea-hero--split .atenea-hero__eyebrow {
	color: var(--at-accent);
	margin-bottom: 18px;
}

.atenea-hero--split .atenea-hero__title {
	color: var(--at-ink);
	font-size: 56px;
	max-width: 14ch;
	text-shadow: none;
}

.atenea-hero--split .atenea-hero__text {
	color: #4d4d4d;
	max-width: 42ch;
}

.atenea-hero--split .atenea-hero__cta,
.atenea-hero--split .atenea-hero__actions .atenea-hero__cta {
	background: transparent;
	border-color: var(--at-ink);
	color: var(--at-ink);
}

.atenea-hero--split .atenea-hero__cta:hover {
	background: var(--at-ink);
	border-color: var(--at-ink);
	color: #fff;
}

.atenea-hero--split .atenea-hero__actions {
	justify-content: flex-start;
}

.atenea-hero--split .atenea-hero__actions--duo .atenea-hero__cta:first-child {
	background: var(--at-ink);
	border-color: var(--at-ink);
	color: #fff;
}

.atenea-hero--split .atenea-hero__actions--duo .atenea-hero__cta:first-child:hover {
	background: var(--at-accent);
	border-color: var(--at-accent);
	color: #fff;
}

.atenea-hero--split .atenea-hero__dot {
	background: rgba(26, 26, 26, 0.3);
}

.atenea-hero--split .atenea-hero__dot.is-active {
	background: var(--at-ink);
}

.atenea-hero--split .atenea-hero__arrow {
	background: rgba(255, 255, 255, 0.85);
	border-color: rgba(26, 26, 26, 0.25);
	color: var(--at-ink);
}

/* --- Franja de confianza, justo debajo del hero --- */
.atenea-perks {
	margin-top: 0;
	border-top: 0;
}

.atenea-perks__inner {
	padding-top: 28px;
	padding-bottom: 28px;
}

/* --- Regalos por presupuesto --- */
.atenea-section--gifts {
	padding-bottom: 0;
}

.atenea-gifts__head {
	display: flex;
	flex-wrap: wrap;
	align-items: flex-end;
	justify-content: space-between;
	gap: 12px 32px;
	margin-bottom: 40px;
}

.atenea-gifts__head .atenea-section-title {
	margin: 0;
	font-size: 42px;
}

.atenea-gifts__text {
	margin: 0;
	max-width: 38ch;
	font-size: 15px;
	line-height: 1.7;
	color: var(--at-muted);
}

.atenea-gifts {
	display: grid;
	grid-template-columns: repeat(4, minmax(0, 1fr));
	gap: 20px;
}

.atenea-gift {
	display: flex;
	flex-direction: column;
	justify-content: space-between;
	gap: 36px;
	min-height: 220px;
	padding: 28px;
	box-sizing: border-box;
	background: var(--at-bg-alt);
	color: var(--at-ink);
	transition: transform var(--at-t), background-color var(--at-t);
}

.atenea-gift:hover {
	color: var(--at-ink);
	transform: translateY(-4px);
	background: #f1dcee;
}

.atenea-gift__title {
	font-family: var(--at-serif);
	font-size: 32px;
	line-height: 1.12;
}

.atenea-gift__cta {
	font-size: 12px;
	font-weight: 700;
	letter-spacing: 0.16em;
	text-transform: uppercase;
}

.atenea-gift.is-dark {
	background: var(--at-ink);
	color: #fff;
}

.atenea-gift.is-dark:hover {
	background: #000;
	color: #fff;
}

.atenea-gift.is-dark .atenea-gift__cta {
	color: var(--at-accent-2);
}

/* --- «Nuestra casa» en oscuro --- */
.atenea-story {
	background: var(--at-dark);
}

.atenea-story .atenea-eyebrow {
	color: var(--at-accent-2);
}

.atenea-story__title {
	color: #fff;
}

.atenea-story__text {
	color: #d9ccd6;
}

.atenea-story .atenea-btn--ghost {
	border-color: #fff;
	color: #fff;
}

.atenea-story .atenea-btn--ghost:hover {
	background: #fff;
	border-color: #fff;
	color: var(--at-ink);
}

/* --- Tablet --- */
@media (max-width: 1024px) {
	.atenea-hero--split .atenea-hero__title { font-size: 44px; }
	.atenea-hero--split .atenea-hero__inner { padding: 56px 32px 56px 40px; }
	.atenea-gifts { grid-template-columns: repeat(2, minmax(0, 1fr)); }
	.atenea-gift { min-height: 180px; }
}

/* --- Celular --- */
@media (max-width: 767px) {
	.atenea-hero--split { --at-hero-h: 840px; }
	.atenea-hero--split:not(.atenea-hero--slider) { --at-hero-h: 0px; }

	.atenea-hero--split .atenea-hero__slide { flex-direction: column; }

	.atenea-hero--split .atenea-hero__bg {
		position: relative;
		inset: auto;
		order: 2;
		flex: none;
		width: 100%;
		height: 320px;
	}

	.atenea-hero--split .atenea-hero__inner {
		order: 1;
		width: 100%;
		padding: 40px var(--at-gutter) 34px;
	}

	.atenea-hero--split .atenea-hero__title { font-size: 36px; max-width: none; }
	.atenea-hero--split .atenea-hero__text { font-size: 15px; }

	.atenea-hero--split .atenea-hero__actions {
		max-width: none;
		width: 100%;
	}

	.atenea-hero--split .atenea-hero__dots { bottom: 336px; }
	.atenea-hero--split .atenea-hero__arrow { display: none; }

	.atenea-gifts { gap: 12px; }
	.atenea-gifts__head { margin-bottom: 24px; }
	.atenea-gifts__head .atenea-section-title { font-size: 30px; }
	.atenea-gift { min-height: 130px; padding: 16px; gap: 18px; }
	.atenea-gift__title { font-size: 21px; }
	.atenea-gift__cta { font-size: 11px; letter-spacing: 0.12em; }
}

@media (prefers-reduced-motion: reduce) {
	*,
	*::before,
	*::after {
		animation-duration: 0.001ms !important;
		animation-iteration-count: 1 !important;
		transition-duration: 0.001ms !important;
	}
}

/* --- Impresión --- */
@media print {
	.atenea-topbar,
	.atenea-header,
	.atenea-footer,
	.atenea-bottomnav,
	.atenea-sticky-atc,
	.atenea-drawer {
		display: none !important;
	}
}

/* --- Subcategorías dentro del filtro de la tienda --- */
/* Aparecen sangradas bajo la categoría en la que se está parado. Más chicas y
   más claras que la madre, para que se lea cuál es la rama y cuál la hoja. */
.atenea-filter-widget__sub {
	list-style: none;
	margin: 4px 0 10px;
	padding: 0 0 0 14px;
	border-left: 1px solid var(--at-line);
}

.atenea-filter-widget__sub li {
	margin: 0;
}

.atenea-filter-widget__sub a {
	font-size: 13px;
	color: var(--at-muted);
	padding: 4px 0;
}

.atenea-filter-widget__sub a:hover,
.atenea-filter-widget__sub .is-active > a {
	color: var(--at-accent);
}
