/*
 * Phonema – tienda con el diseño de la web: tarjetas de producto, ficha, mini carrito, carrito y checkout.
 * Va después del CSS del «Agencia – Kit de tienda» (akt) y de Elementor; donde ellos usan !important, aquí también.
 */
:root {
	--phm-ink: #1B1A22;
	--phm-text: #4A4855;
	--phm-muted: #6B6676;
	--phm-brand: #7C6992;
	--phm-brand-2: #5F4F73;
	--phm-lilac: #BDA4D0;
	--phm-soft: #F6F3F9;
	--phm-line: #E7E2EE;
	--phm-line-2: #D7CFE2;
	--phm-shadow: 0 18px 40px -18px rgba(27, 26, 34, .28);
	--phm-ease: cubic-bezier(.22, 1, .36, 1);
}

/* Las entradas animadas desde un lado (fadeInRight de las fotos de cabecera) creaban scroll horizontal
   mientras se movían. «clip» corta sin crear contenedor de scroll, así que la cabecera fija sigue funcionando. */
html { overflow-x: clip; }
/* El body no puede tener scroll propio: si lo tiene (otro estilo le pone overflow-x: hidden y el eje y pasa a
   «auto»), la cabecera fija deja de funcionar. */
body { overflow-x: clip !important; overflow-y: visible !important; }

/* ---------- Avisos de WooCommerce ---------- */
.woocommerce-notices-wrapper:empty { display: none; }
.woocommerce-message, .woocommerce-info, .woocommerce-error {
	display: flex; flex-wrap: wrap; align-items: center; gap: 12px 20px;
	margin: 0 0 20px !important; padding: 16px 20px 16px 52px !important;
	background: var(--phm-soft) !important; color: var(--phm-ink) !important;
	border: 1px solid var(--phm-line) !important; border-left: 4px solid var(--phm-brand) !important; border-radius: 12px;
	font-family: Inter, sans-serif; font-size: 15px;
}
.woocommerce-message::before, .woocommerce-info::before { color: var(--phm-brand) !important; top: 50% !important; transform: translateY(-50%); left: 20px !important; }
.woocommerce-error { border-left-color: #B32D2E !important; }
.woocommerce-message .button, .woocommerce-info .button {
	order: 2; margin-left: auto !important; float: none !important; padding: 10px 18px !important;
	background: var(--phm-ink) !important; color: #fff !important; border-radius: 8px !important; font-weight: 600; font-size: 14px;
}
.woocommerce-message .button:hover, .woocommerce-info .button:hover { background: var(--phm-brand-2) !important; }

/* ---------- Archivo: cabecera, filtros por categoría y barra de orden ---------- */
.phm-shop-band .woocommerce-breadcrumb, .phm-p-crumbs .woocommerce-breadcrumb { margin: 0 !important; font-size: 14px; color: var(--phm-muted); }
.phm-shop-band .woocommerce-breadcrumb a, .phm-p-crumbs .woocommerce-breadcrumb a { color: var(--phm-text); text-decoration: none; }
.phm-shop-band .woocommerce-breadcrumb a:hover, .phm-p-crumbs .woocommerce-breadcrumb a:hover { color: var(--phm-brand-2); text-decoration: underline; }
.phm-shop-band .term-description p, .phm-shop-band .page-description p { margin: 0; font-size: 18px; line-height: 1.6; color: var(--phm-text); max-width: 720px; }
.phm-chips { display: flex; flex-wrap: wrap; gap: 10px; margin: 0; padding: 0; list-style: none; }
.phm-chip {
	display: inline-flex; align-items: center; gap: 8px; min-height: 44px; padding: 0 18px; border-radius: 999px;
	background: #fff; border: 1px solid var(--phm-line-2); color: var(--phm-ink) !important; text-decoration: none !important;
	font: 600 15px/1 Inter, sans-serif; transition: border-color .2s, background-color .2s, color .2s;
}
.phm-chip span { font-weight: 500; color: var(--phm-muted); }
.phm-chip:hover { border-color: var(--phm-brand); color: var(--phm-brand-2) !important; }
.phm-chip:focus-visible { outline: 3px solid var(--phm-brand); outline-offset: 2px; }
.phm-chip[aria-current] { background: var(--phm-ink); border-color: var(--phm-ink); color: #fff !important; }
.phm-chip[aria-current] span { color: #CFC8DA; }
.phm-chips--sub { margin-top: 12px; }
.phm-chips--sub .phm-chip { min-height: 40px; padding: 0 16px; font-size: 14px; background: transparent; }
.phm-chips--sub .phm-chip[aria-current] { background: var(--phm-brand-2); border-color: var(--phm-brand-2); }
.elementor-widget-wc-archive-products .woocommerce-result-count { margin: 0 0 24px !important; color: var(--phm-muted); font-size: 15px; line-height: 44px; }
.elementor-widget-wc-archive-products .woocommerce-ordering { margin: 0 0 24px !important; }
.elementor-widget-wc-archive-products .woocommerce-ordering select {
	height: 44px; padding: 0 42px 0 16px !important; border: 1px solid var(--phm-line-2) !important; border-radius: 10px !important;
	background: #fff url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%231B1A22' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='m6 9 6 6 6-6'/%3E%3C/svg%3E") no-repeat right 14px center / 16px !important;
	-webkit-appearance: none; appearance: none; color: var(--phm-ink) !important; font: 500 15px Inter, sans-serif !important; cursor: pointer;
}
.elementor-widget-wc-archive-products .woocommerce-ordering select:focus-visible { outline: 3px solid var(--phm-brand); outline-offset: 2px; }
.elementor-widget-wc-archive-products nav.woocommerce-pagination ul { border: 0 !important; display: flex; justify-content: center; gap: 8px; }
.elementor-widget-wc-archive-products nav.woocommerce-pagination ul li { border: 0 !important; }
.elementor-widget-wc-archive-products nav.woocommerce-pagination ul li a,
.elementor-widget-wc-archive-products nav.woocommerce-pagination ul li span {
	display: grid; place-items: center; min-width: 44px; height: 44px; padding: 0 12px !important; border-radius: 10px;
	border: 1px solid var(--phm-line-2); background: #fff; color: var(--phm-ink); font: 600 15px Inter, sans-serif;
}
.elementor-widget-wc-archive-products nav.woocommerce-pagination ul li a:hover { border-color: var(--phm-brand); color: var(--phm-brand-2); background: #fff; }
.elementor-widget-wc-archive-products nav.woocommerce-pagination ul li span.current { background: var(--phm-ink); border-color: var(--phm-ink); color: #fff; }

/* ---------- Tarjeta de producto (plantilla Jet 28353, también en «relacionados») ---------- */
.nvm-card {
	position: relative; height: 100%; background: #fff !important; border: 1px solid var(--phm-line) !important; border-radius: 18px !important; overflow: hidden;
	transition: transform .45s var(--phm-ease), box-shadow .45s var(--phm-ease), border-color .3s;
}
.nvm-card:hover { transform: translateY(-4px); box-shadow: var(--phm-shadow); border-color: #D9D0E4 !important; }
.nvm-card .nvm-card__media { position: relative; background: var(--phm-soft) !important; padding: 14px !important; border-radius: 0 !important; aspect-ratio: auto !important; height: auto !important; min-height: 0 !important; }
.nvm-card .nvm-card__media img { display: block; width: 100%; height: auto !important; aspect-ratio: 16 / 11; object-fit: contain; border-radius: 10px; transition: transform .7s var(--phm-ease); }
.nvm-card:hover .nvm-card__media img { transform: scale(1.03); }
.nvm-card .nvm-card__body { padding: 18px 20px 22px !important; gap: 6px !important; align-items: flex-start !important; text-align: left !important; flex-grow: 1; }
.nvm-card .nvm-card__body > .elementor-element { width: 100%; text-align: left !important; }
.nvm-card .nvm-card__body .elementor-widget-shortcode:first-child { display: none; } /* marca: todo es Phonema */
.nvm-card .elementor-widget-jet-woo-builder-archive-cats { order: -1; }
.nvm-card .jet-woo-builder-archive-cats ul { margin: 0; padding: 0; list-style: none; display: flex; flex-wrap: wrap; gap: 0 10px; text-align: left; }
.nvm-card .jet-woo-builder-archive-cats .separator { display: none; }
.nvm-card .jet-woo-builder-archive-cats a {
	position: relative; z-index: 2; font: 600 12px/1.4 Inter, sans-serif !important; letter-spacing: .08em; text-transform: uppercase; color: var(--phm-brand-2) !important; text-decoration: none;
}
.nvm-card .jet-woo-builder-archive-cats a:hover { text-decoration: underline; }
.nvm-card .jet-woo-builder-archive-product-title, .nvm-card .jet-woo-builder-archive-product-title a {
	margin: 0 !important; font: 700 18px/1.3 Montserrat, sans-serif !important; color: var(--phm-ink) !important; text-align: left !important; text-decoration: none;
}
.nvm-card .jet-woo-builder-archive-product-title a::after { content: ""; position: absolute; inset: 0; z-index: 1; } /* toda la tarjeta enlaza */
.nvm-card .akt-wl-card, .nvm-card .jet-wishlist-button { position: relative; z-index: 2; }
.nvm-card .nvm-card__rating:has(.jet-woo-product-rating.empty) { display: none !important; }
.nvm-card .nvm-card__price { margin-top: auto !important; padding-top: 10px; justify-content: flex-start !important; }
.nvm-card .nvm-card__price .price, .nvm-card .nvm-card__price .amount { font: 700 20px/1.2 Montserrat, sans-serif !important; color: var(--phm-ink) !important; }
.nvm-card .nvm-card__price del .amount { font-size: 15px !important; color: var(--phm-muted) !important; font-weight: 500 !important; }
.nvm-card .akt-wl-card .jet-wishlist-button__link { width: 42px !important; height: 42px !important; border-radius: 50% !important; background: #fff !important; box-shadow: 0 4px 14px -6px rgba(27, 26, 34, .35); }
@media (max-width: 767px) {
	.nvm-card .nvm-card__body { padding: 14px 14px 16px !important; }
	.nvm-card .jet-woo-builder-archive-product-title, .nvm-card .jet-woo-builder-archive-product-title a { font-size: 15px !important; }
	.nvm-card .nvm-card__price .price, .nvm-card .nvm-card__price .amount { font-size: 17px !important; }
	.nvm-card .nvm-card__media { padding: 8px !important; }
}

/* ---------- Ficha de producto (plantilla 28354) ---------- */
.phm-p-gallery .woocommerce-product-gallery { margin: 0 !important; width: 100% !important; float: none !important; }
.phm-p-gallery .woocommerce-product-gallery__image, .phm-p-gallery .flex-viewport { background: var(--phm-soft); border-radius: 22px; overflow: hidden; }
.phm-p-gallery .woocommerce-product-gallery__image img { width: 100%; height: auto; object-fit: contain; }
.phm-p-gallery .flex-control-thumbs { display: grid !important; grid-template-columns: repeat(5, minmax(0, 1fr)); gap: 10px; margin: 12px 0 0 !important; }
.phm-p-gallery .flex-control-thumbs li { width: auto !important; margin: 0 !important; }
.phm-p-gallery .flex-control-thumbs img { border-radius: 10px; background: var(--phm-soft); opacity: .6; transition: opacity .2s; }
.phm-p-gallery .flex-control-thumbs img.flex-active, .phm-p-gallery .flex-control-thumbs img:hover { opacity: 1; }
.phm-p-gallery .woocommerce-product-gallery__trigger {
	top: 16px !important; right: 16px !important; width: 44px !important; height: 44px !important; border-radius: 50% !important;
	background: #fff !important; display: grid !important; place-items: center; box-shadow: 0 4px 14px -6px rgba(27, 26, 34, .35); font-size: 0 !important; z-index: 2;
}
/* La cabecera (y su mini carrito) siempre por encima del contenido. */
.elementor-location-header { z-index: 1000; }
.phm-p-gallery .woocommerce-product-gallery__trigger img { width: 20px !important; height: 20px !important; }
@media (min-width: 1025px) { .phm-p-gallery { position: sticky; top: 112px; } }
.phm-p-brand a, .phm-p-brand span, .phm-p-brand p { font: 600 13px/1.4 Inter, sans-serif; letter-spacing: .1em; text-transform: uppercase; color: var(--phm-brand-2) !important; text-decoration: none; margin: 0; }
.phm-p-summary .product_title { margin: 0 !important; }
.phm-p-summary .woocommerce-product-rating { margin: 0 !important; }
.phm-p-price .price { margin: 0 !important; }
.phm-p-price .price del { font-size: .65em; color: var(--phm-muted) !important; font-weight: 500; }
.phm-p-price .price ins { text-decoration: none; }
.phm-p-short p { margin: 0 0 .8em; }
.phm-p-short p:last-child { margin-bottom: 0; }
.phm-p-atc .stock { margin: 0 0 14px !important; font: 600 14px Inter, sans-serif !important; color: #2E7D4F !important; display: flex; align-items: center; gap: 8px; }
.phm-p-atc .stock::before { content: ""; width: 8px; height: 8px; border-radius: 50%; background: currentColor; }
.phm-p-atc .stock.out-of-stock { color: #B32D2E !important; }
body.single-product .phm-p-atc form.cart { gap: 12px !important; margin: 0 !important; }
body.single-product .phm-p-atc form.cart .quantity.akt-qty { height: 54px; border: 1px solid var(--phm-line-2) !important; border-radius: 10px; overflow: hidden; grid-template-columns: 44px 48px 44px; }
body.single-product .phm-p-atc form.cart .quantity.akt-qty input.qty { height: 52px !important; color: var(--phm-ink); }
body.single-product .phm-p-atc form.cart .quantity.akt-qty .akt-qty__btn { height: 52px; width: 44px; color: var(--phm-ink) !important; }
body.single-product .phm-p-atc form.cart .single_add_to_cart_button {
	flex: 1 1 200px; min-height: 54px; border-radius: 10px !important; background: var(--phm-brand) !important; border-color: var(--phm-brand) !important;
	font: 700 15px/1 Inter, sans-serif !important; letter-spacing: .02em !important; text-transform: none !important;
	transition: background-color .25s, transform .25s var(--phm-ease) !important;
}
body.single-product .phm-p-atc form.cart .single_add_to_cart_button:hover:not(.disabled) { background: var(--phm-brand-2) !important; border-color: var(--phm-brand-2) !important; transform: translateY(-1px); filter: none; }
/* El kit pone dos botones de favoritos (corazón y «Add to wishlist» a lo ancho): se deja el corazón. */
body.single-product .phm-p-atc .akt-wl-btn--single { display: none !important; }
body.single-product .phm-p-atc .akt-wl-single .jet-wishlist-button__link {
	width: 54px !important; height: 54px !important; border: 1px solid var(--phm-line-2) !important; border-radius: 10px !important; background: #fff !important; color: var(--phm-ink) !important;
}
body.single-product .phm-p-atc .akt-wl-single .jet-wishlist-button__link:hover { border-color: var(--phm-brand) !important; color: var(--phm-brand-2) !important; }
.phm-p-trust .elementor-icon-box-wrapper { display: flex; align-items: center; gap: 14px; text-align: left; }
.phm-p-trust .elementor-icon-box-icon { margin: 0 !important; flex: 0 0 auto; }
.phm-p-trust .elementor-icon-box-title { margin: 0 0 2px !important; font: 500 13px/1.3 Inter, sans-serif !important; color: var(--phm-muted) !important; }
.phm-p-trust .elementor-icon-box-title a { color: inherit !important; }
.phm-p-trust .elementor-icon-box-description { margin: 0 !important; font: 600 15px/1.35 Inter, sans-serif !important; color: var(--phm-ink) !important; }
.phm-p-trust a.elementor-icon:focus-visible, .phm-p-trust .elementor-icon-box-title a:focus-visible { outline: 3px solid var(--phm-brand); outline-offset: 2px; }
.phm-p-more { display: inline-flex; align-items: center; gap: 4px; font: 600 16px/1.4 Inter, sans-serif; color: var(--phm-brand-2) !important; text-decoration: underline; text-underline-offset: 4px; }
.phm-p-more:hover { color: var(--phm-ink) !important; }
.phm-p-summary .elementor-widget-shortcode:has(.elementor-shortcode:empty) { display: none; }
.phm-p-meta .product_meta { display: flex; flex-wrap: wrap; gap: 6px 22px; font-size: 14px; color: var(--phm-muted); }
.phm-p-meta .product_meta > span { display: inline !important; }
.phm-p-meta .product_meta .sku, .phm-p-meta .product_meta a { color: var(--phm-ink); font-weight: 500; }
.phm-p-meta .product_meta a:hover { color: var(--phm-brand-2); }
/* Pestañas: Detalles (especificaciones) y Opiniones */
.phm-p-tabs .woocommerce-tabs ul.tabs { display: flex; flex-wrap: wrap; gap: 8px; padding: 0 !important; margin: 0 0 28px !important; border: 0 !important; }
.phm-p-tabs .woocommerce-tabs ul.tabs::before, .phm-p-tabs .woocommerce-tabs ul.tabs li::before, .phm-p-tabs .woocommerce-tabs ul.tabs li::after { display: none !important; }
.phm-p-tabs .woocommerce-tabs ul.tabs li { margin: 0 !important; padding: 0 !important; border: 0 !important; background: none !important; }
.phm-p-tabs .woocommerce-tabs ul.tabs li a {
	display: block; padding: 12px 22px !important; border-radius: 999px; border: 1px solid var(--phm-line-2);
	font: 600 15px/1 Inter, sans-serif !important; color: var(--phm-text) !important; text-transform: none !important; letter-spacing: 0 !important; background: #fff;
}
.phm-p-tabs .woocommerce-tabs ul.tabs li a:hover { border-color: var(--phm-brand); color: var(--phm-brand-2) !important; }
.phm-p-tabs .woocommerce-tabs ul.tabs li.active a { background: var(--phm-ink); border-color: var(--phm-ink); color: #fff !important; }
.phm-p-tabs .woocommerce-Tabs-panel { margin: 0 !important; padding: 0 !important; border: 0 !important; color: var(--phm-text); font: 400 16px/1.7 Inter, sans-serif; }
.phm-p-tabs .woocommerce-Tabs-panel > h2:first-child { font: 700 24px/1.3 Montserrat, sans-serif !important; color: var(--phm-ink); margin: 0 0 18px !important; }
.phm-p-tabs table.shop_attributes { width: 100%; max-width: 820px; margin: 0 !important; border: 0 !important; border-collapse: collapse; }
.phm-p-tabs table.shop_attributes tr { border-bottom: 1px solid var(--phm-line); }
.phm-p-tabs table.shop_attributes tr:first-child { border-top: 1px solid var(--phm-line); }
.phm-p-tabs table.shop_attributes th, .phm-p-tabs table.shop_attributes td { padding: 14px 16px 14px 0 !important; border: 0 !important; background: none !important; text-align: left; vertical-align: top; font-size: 15px; }
.phm-p-tabs table.shop_attributes th { width: 34%; font-weight: 500; color: var(--phm-muted); }
.phm-p-tabs table.shop_attributes td { font-style: normal !important; color: var(--phm-ink); font-weight: 500; }
.phm-p-tabs table.shop_attributes td p { margin: 0; padding: 0 !important; }
.phm-p-tabs #reviews .woocommerce-noreviews, .phm-p-tabs #reviews .woocommerce-verification-required { margin: 0 0 12px; }
.phm-docs-wrap:not(:has(.phm-docs)) { display: none !important; }
/* Relacionados */
.phm-p-related section.related > h2 { font: 700 32px/1.2 Montserrat, sans-serif !important; color: var(--phm-ink); margin: 0 0 28px !important; text-align: left; }
@media (max-width: 767px) { .phm-p-related section.related > h2 { font-size: 26px !important; } }
.phm-p-related ul.products { display: grid !important; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 24px; margin: 0 !important; }
.phm-p-related ul.products::before, .phm-p-related ul.products::after { display: none !important; }
.phm-p-related ul.products li.product { width: auto !important; margin: 0 !important; float: none !important; }
@media (max-width: 1024px) { .phm-p-related ul.products { grid-template-columns: repeat(2, minmax(0, 1fr)); } }
@media (max-width: 767px) { .phm-p-related ul.products { gap: 12px; } }

/* ---------- Mini carrito (widget Carrito de la cabecera) ---------- */
.elementor-menu-cart__container { background: rgba(27, 26, 34, .45) !important; }
.elementor-location-header .elementor-menu-cart__main { width: min(420px, 100vw) !important; padding: 28px 28px 32px !important; font-family: Inter, sans-serif; box-shadow: -24px 0 60px -30px rgba(27, 26, 34, .45); }
.elementor-location-header .elementor-menu-cart__main .widget_shopping_cart_content::before {
	content: "Your basket"; display: block; padding: 0 48px 18px 0; border-bottom: 1px solid var(--phm-line);
	font: 700 22px/1.2 Montserrat, sans-serif; color: var(--phm-ink);
}
html[lang^="es"] .elementor-location-header .elementor-menu-cart__main .widget_shopping_cart_content::before { content: "Tu cesta"; }
.elementor-location-header .elementor-menu-cart__main .elementor-menu-cart__close-button { position: absolute; top: 20px; right: 20px; width: 40px; height: 40px; border-radius: 50%; background: var(--phm-soft); margin: 0 !important; }
.elementor-location-header .elementor-menu-cart__main .elementor-menu-cart__close-button::before,
.elementor-location-header .elementor-menu-cart__main .elementor-menu-cart__close-button::after { background: var(--phm-ink) !important; width: 16px !important; left: 12px !important; top: 19px !important; }
.elementor-location-header .elementor-menu-cart__main .elementor-menu-cart__product { padding: 18px 0 !important; border-bottom: 1px solid var(--phm-line) !important; grid-template-columns: 76px auto; column-gap: 16px; }
.elementor-location-header .elementor-menu-cart__main .elementor-menu-cart__product-image img { border: 0 !important; border-radius: 12px !important; background: var(--phm-soft); aspect-ratio: 1; object-fit: cover; }
.elementor-location-header .elementor-menu-cart__main .elementor-menu-cart__product-name,
.elementor-location-header .elementor-menu-cart__main .elementor-menu-cart__product-name a { font: 600 15px/1.35 Montserrat, sans-serif !important; color: var(--phm-ink) !important; text-decoration: none; }
.elementor-location-header .elementor-menu-cart__main .nvm-mc, .elementor-location-header .elementor-menu-cart__main .akt-mc { display: flex; align-items: center; justify-content: space-between; gap: 12px; margin-top: 8px; }
.elementor-location-header .elementor-menu-cart__main .nvm-mc__stepper, .elementor-location-header .elementor-menu-cart__main .akt-mc__stepper { border: 1px solid var(--phm-line-2) !important; border-radius: 8px !important; background: #fff; }
.elementor-location-header .elementor-menu-cart__main .nvm-mc__btn, .elementor-location-header .elementor-menu-cart__main .akt-mc__btn { color: var(--phm-ink) !important; min-width: 34px; }
.elementor-location-header .elementor-menu-cart__main .nvm-mc__total, .elementor-location-header .elementor-menu-cart__main .nvm-mc__total .amount,
.elementor-location-header .elementor-menu-cart__main .akt-mc__total, .elementor-location-header .elementor-menu-cart__main .akt-mc__total .amount { font: 700 16px Inter, sans-serif !important; color: var(--phm-ink) !important; }
.elementor-location-header .elementor-menu-cart__main .elementor-menu-cart__product { position: relative; padding-right: 40px !important; }
.elementor-location-header .elementor-menu-cart__main .elementor-menu-cart__product-remove { position: absolute !important; top: 18px !important; right: 0 !important; bottom: auto !important; width: 30px !important; height: 30px !important; border: 1px solid var(--phm-line-2) !important; border-radius: 50%; }
.elementor-location-header .elementor-menu-cart__main .elementor-menu-cart__product-remove:hover { border-color: #B32D2E !important; }
.elementor-location-header .elementor-menu-cart__main .elementor-menu-cart__subtotal {
	display: flex; justify-content: space-between; align-items: baseline; padding: 20px 0 !important; border: 0 !important; text-align: left;
	font: 500 16px Inter, sans-serif !important; color: var(--phm-text) !important;
}
.elementor-location-header .elementor-menu-cart__main .elementor-menu-cart__subtotal strong { font-weight: 500; }
.elementor-location-header .elementor-menu-cart__main .elementor-menu-cart__subtotal .amount { font: 700 22px Montserrat, sans-serif !important; color: var(--phm-ink) !important; }
.elementor-location-header .elementor-menu-cart__main .elementor-menu-cart__footer-buttons { display: grid !important; grid-template-columns: 1fr; gap: 10px !important; }
.elementor-location-header .elementor-menu-cart__main .elementor-menu-cart__footer-buttons .elementor-button {
	min-height: 52px; display: flex !important; align-items: center; justify-content: center; border-radius: 10px !important;
	font: 700 15px/1 Inter, sans-serif !important; letter-spacing: 0 !important; text-transform: none !important; transition: background-color .2s, border-color .2s, color .2s;
}
.elementor-location-header .elementor-menu-cart__main .elementor-button--checkout { order: -1; background: var(--phm-brand) !important; border: 1px solid var(--phm-brand) !important; color: #fff !important; }
.elementor-location-header .elementor-menu-cart__main .elementor-button--checkout:hover { background: var(--phm-brand-2) !important; border-color: var(--phm-brand-2) !important; }
.elementor-location-header .elementor-menu-cart__main .elementor-button--view-cart { background: #fff !important; border: 1px solid var(--phm-line-2) !important; color: var(--phm-ink) !important; }
.elementor-location-header .elementor-menu-cart__main .elementor-button--view-cart:hover { border-color: var(--phm-ink) !important; background: #fff !important; color: var(--phm-ink) !important; }
.elementor-location-header .elementor-menu-cart__main .woocommerce-mini-cart__empty-message { padding: 32px 0; font: 500 17px Inter, sans-serif !important; color: var(--phm-text) !important; text-align: left; }
.elementor-location-header .elementor-menu-cart__main .akt-fs { border-radius: 12px; }

/* ---------- Carrito y checkout (bloques de WooCommerce vestidos por akt) ---------- */
/* Banda de cabecera (la misma que Contact, Support…) en las páginas que no son de Elementor. El fondo llega a
   todo el ancho con una sombra recortada, sin desbordar la página. */
.site-main:has(.phm-page-band) { width: 100%; max-width: 1288px !important; padding: 0 24px !important; margin: 0 auto; }
.site-main:has(.phm-page-band) .page-content > .product, .site-main:has(.phm-page-band) .akt-wrap { max-width: none; }
.phm-page-band {
	position: relative; margin: 0 0 16px; padding: 80px 0 64px;
	background: var(--phm-soft); box-shadow: 0 0 0 100vmax var(--phm-soft); clip-path: inset(0 -100vmax);
}
.phm-page-band__title { margin: 0 0 14px; max-width: 780px; font: 700 56px/1.1 Montserrat, sans-serif; letter-spacing: -.01em; color: var(--phm-ink); }
.phm-page-band__lead { margin: 0; max-width: 780px; font: 400 19px/1.6 Inter, sans-serif; color: var(--phm-text); }
@media (max-width: 1024px) { .phm-page-band__title { font-size: 44px; } }
@media (max-width: 767px) {
	.site-main:has(.phm-page-band) { padding: 0 16px !important; }
	.phm-page-band { padding: 52px 0 40px; }
	.phm-page-band__title { font-size: 34px; }
	.phm-page-band__lead { font-size: 17px; }
}
.akt-wrap { font-family: Inter, sans-serif; }
.akt-wrap h2, .akt-wrap .wc-block-components-title, .akt-wrap .wc-block-components-checkout-step__title,
.akt-wrap .wc-block-cart__totals-title, .akt-wrap .wc-block-components-order-summary__button-text {
	font-family: Montserrat, sans-serif !important; font-weight: 700 !important; color: var(--phm-ink) !important; text-transform: none !important; letter-spacing: 0 !important;
}
body .akt-cart-wrap .wc-block-cart__totals-title,
body .akt-checkout-wrap .wc-block-components-checkout-order-summary__title-text,
body .akt-checkout-wrap .wc-block-components-order-summary .wc-block-components-panel__button {
	font: 700 22px/1.3 Montserrat, sans-serif !important; color: var(--phm-ink) !important; text-transform: none !important; letter-spacing: 0 !important;
}
.akt-cart-wrap .wc-block-cart-items, .akt-cart-wrap table.wc-block-cart-items { border: 1px solid var(--phm-line) !important; border-radius: 18px; border-collapse: separate !important; overflow: hidden; background: #fff; }
.akt-cart-wrap .wc-block-cart-items th { padding: 18px 22px !important; background: var(--phm-soft); font: 600 13px Inter, sans-serif !important; letter-spacing: .06em; color: var(--phm-muted) !important; }
.akt-cart-wrap .wc-block-cart-items td { padding: 22px !important; border-top: 1px solid var(--phm-line) !important; }
.akt-cart-wrap .wc-block-cart-item__image img { border-radius: 12px; background: var(--phm-soft); }
.akt-wrap .wc-block-components-product-name { font: 700 17px/1.3 Montserrat, sans-serif !important; color: var(--phm-ink) !important; text-decoration: none !important; }
.akt-wrap .wc-block-components-product-metadata__description { color: var(--phm-text); font-size: 14px; }
.akt-cart-wrap .wc-block-cart__sidebar .wc-block-components-sidebar, .akt-cart-wrap .wp-block-woocommerce-cart-totals-block,
.akt-checkout-wrap .wp-block-woocommerce-checkout-totals-block {
	background: var(--phm-soft) !important; border: 1px solid var(--phm-line) !important; border-radius: 18px !important; padding: 26px !important;
}
.akt-checkout-wrap .wp-block-woocommerce-checkout-order-summary-block { border: 0 !important; background: transparent !important; }
.akt-wrap .wc-block-components-totals-item__label, .akt-wrap .wc-block-components-totals-item__value { color: var(--phm-ink); }
.akt-wrap .wc-block-components-totals-footer-item .wc-block-components-totals-item__label,
.akt-wrap .wc-block-components-totals-footer-item .wc-block-components-totals-item__value { font: 700 22px Montserrat, sans-serif !important; }
.akt-wrap .wc-block-components-totals-coupon, .akt-wrap .wc-block-components-panel.wc-block-components-totals-coupon { border-radius: 12px !important; border-color: var(--phm-line-2) !important; }
body .akt-cart-wrap .wc-block-cart__submit-button,
body .akt-checkout-wrap .wc-block-components-checkout-place-order-button {
	background: var(--phm-brand) !important; border-color: var(--phm-brand) !important; color: #fff !important; border-radius: 10px !important;
	font: 700 16px/1 Inter, sans-serif !important; letter-spacing: .01em !important; text-transform: none !important; min-height: 56px !important;
}
body .akt-cart-wrap .wc-block-cart__submit-button:hover,
body .akt-checkout-wrap .wc-block-components-checkout-place-order-button:hover:not(:disabled) { background: var(--phm-brand-2) !important; border-color: var(--phm-brand-2) !important; }
body .akt-wrap .wc-block-components-totals-coupon__button { background: var(--phm-ink) !important; border-color: var(--phm-ink) !important; color: #fff !important; border-radius: 10px !important; text-transform: none !important; letter-spacing: 0 !important; font: 600 15px Inter, sans-serif !important; }
body .akt-wrap .wc-block-components-totals-coupon__button:disabled { opacity: .55; }
.akt-checkout-wrap .wc-block-components-checkout-step__heading-container::before { background: var(--phm-brand) !important; }
/* Campos: la etiqueta flotante pisaba el valor en los desplegables (País/Provincia) por el relleno del kit de Elementor. */
.akt-checkout-wrap .wc-blocks-components-select .wc-blocks-components-select__select { height: 54px !important; padding: 22px 44px 6px 15px !important; line-height: 1.3 !important; font-size: 16px !important; }
.akt-checkout-wrap .wc-blocks-components-select .wc-blocks-components-select__label { top: 8px !important; left: 16px !important; transform: none !important; font-size: 12px !important; line-height: 1.2 !important; }
.akt-checkout-wrap .wc-block-components-text-input input, .akt-checkout-wrap .wc-block-components-address-autocomplete input { min-height: 54px; border-radius: 10px !important; }
.akt-checkout-wrap .wc-blocks-components-select .wc-blocks-components-select__select { border-radius: 10px !important; }
.akt-wrap .wc-block-components-notice-banner { border-radius: 12px !important; }
.akt-wrap a:not(.wc-block-components-button):not(.wc-block-components-product-name) { color: var(--phm-brand-2); }
@media (max-width: 767px) {
	.akt-cart-wrap .wc-block-cart-items td { padding: 16px !important; }
	.akt-cart-wrap .wc-block-cart__sidebar .wc-block-components-sidebar, .akt-cart-wrap .wp-block-woocommerce-cart-totals-block,
	.akt-checkout-wrap .wp-block-woocommerce-checkout-totals-block { padding: 18px !important; }
}

/* ---------- Mi cuenta y favoritos ---------- */
.woocommerce-account .woocommerce-form-login h2, .woocommerce-account .u-column1 h2, .woocommerce-account .u-column2 h2,
.woocommerce-account .akt-acc-title { font: 700 26px/1.25 Montserrat, sans-serif !important; color: var(--phm-ink) !important; text-transform: none !important; letter-spacing: 0 !important; }
html body.woocommerce-account .woocommerce button.button, html body.woocommerce-account .woocommerce a.button,
html body.woocommerce-account form .woocommerce-form-login__submit, html body.woocommerce-account form .woocommerce-form-register__submit {
	background: var(--phm-brand) !important; border-color: var(--phm-brand) !important; color: #fff !important; border-radius: 10px !important;
	font: 700 16px/1 Inter, sans-serif !important; letter-spacing: .01em !important; text-transform: none !important; min-height: 52px;
}
html body.woocommerce-account .woocommerce button.button:hover, html body.woocommerce-account .woocommerce a.button:hover,
html body.woocommerce-account form .woocommerce-form-login__submit:hover, html body.woocommerce-account form .woocommerce-form-register__submit:hover { background: var(--phm-brand-2) !important; border-color: var(--phm-brand-2) !important; }
.woocommerce-account .woocommerce-form-login, .woocommerce-account .woocommerce-form-register { border-radius: 18px !important; }
.phm-wl-empty, .akt-wl-empty { display: flex; flex-direction: column; align-items: center; gap: 18px; padding: 48px 24px; border: 1px dashed var(--phm-line-2); border-radius: 18px; background: var(--phm-soft); text-align: center; }
.phm-wl-empty p, .akt-wl-empty p { margin: 0; font: 500 18px/1.5 Inter, sans-serif !important; color: var(--phm-text) !important; }
.akt-wl-empty { font: 500 18px/1.5 Inter, sans-serif; color: var(--phm-text); }
.akt-wl-empty br { display: none; }
html body .akt-wl-list .akt-wl-empty a, .phm-wl-empty__btn, .akt-wl-empty .akt-btn-line {
	display: inline-flex; align-items: center; min-height: 50px; padding: 0 26px; border-radius: 10px !important; border: 0 !important;
	background: var(--phm-brand) !important; color: #fff !important; font: 700 15px/1 Inter, sans-serif !important; letter-spacing: 0 !important; text-transform: none !important; text-decoration: none !important;
}
html body .akt-wl-list .akt-wl-empty a:hover, .phm-wl-empty__btn:hover, .akt-wl-empty .akt-btn-line:hover { background: var(--phm-brand-2) !important; }
.woocommerce-account .woocommerce-MyAccount-navigation ul { list-style: none; margin: 0; padding: 0; display: flex; flex-direction: column; gap: 4px; }
.woocommerce-account .woocommerce-MyAccount-navigation a { display: block; padding: 12px 16px; border-radius: 10px; color: var(--phm-ink); text-decoration: none; font-weight: 500; }
.woocommerce-account .woocommerce-MyAccount-navigation a:hover { background: var(--phm-soft); }
.woocommerce-account .woocommerce-MyAccount-navigation .is-active a { background: var(--phm-ink); color: #fff; }

/* ---------- Cabecera: buscador a pantalla completa ---------- */
.elementor-search-form--skin-full_screen .elementor-search-form__container { background-color: rgba(27, 26, 34, .95) !important; }
.elementor-search-form--skin-full_screen .elementor-search-form__container .elementor-search-form__input,
.elementor-search-form--skin-full_screen .elementor-search-form__container input[type="search"] {
	background: transparent !important; color: #fff !important; caret-color: var(--phm-lilac);
	border: 0 !important; border-bottom: 2px solid rgba(255, 255, 255, .45) !important; border-radius: 0 !important; box-shadow: none !important;
	height: auto !important; padding: 14px 4px !important; text-align: left;
	font: 600 clamp(24px, 5vw, 44px)/1.25 Montserrat, sans-serif !important;
}
.elementor-search-form--skin-full_screen .elementor-search-form__container input[type="search"]:focus { border-bottom-color: var(--phm-lilac) !important; outline: none !important; }
.elementor-search-form--skin-full_screen .elementor-search-form__container input[type="search"]::placeholder { color: rgba(255, 255, 255, .55); opacity: 1; }
.elementor-search-form--skin-full_screen .elementor-search-form__container .dialog-lightbox-close-button { color: #fff !important; font-size: 28px; }
.elementor-search-form__toggle { cursor: pointer; }

/* ---------- Cabecera: selector de idioma ---------- */
.phm-lang { display: inline-flex; align-items: center; padding: 3px; border: 1px solid var(--phm-line-2); border-radius: 999px; background: #fff; }
.phm-lang__item {
	display: grid; place-items: center; min-width: 34px; height: 30px; padding: 0 8px; border-radius: 999px;
	font: 700 12px/1 Inter, sans-serif; letter-spacing: .06em; color: var(--phm-text) !important; text-decoration: none !important;
}
.phm-lang__item:hover { color: var(--phm-brand-2) !important; background: var(--phm-soft); }
.phm-lang__item.is-on { background: var(--phm-ink); color: #fff !important; }
.phm-lang__item:focus-visible { outline: 3px solid var(--phm-brand); outline-offset: 1px; }
.trp-language-switcher.trp-floating-switcher, #trp-floater-ls { display: none !important; }
@media (max-width: 767px) {
	/* en el móvil solo se ve el idioma al que se cambia, para que quepa todo en una fila */
	.phm-lang { border: 0; padding: 0; background: transparent; }
	.phm-lang__item.is-on { display: none; }
	.phm-lang__item { min-width: 32px; height: 32px; border: 1px solid var(--phm-line-2); }
	.phm-header .phm-hicons a, .phm-header .elementor-search-form__toggle { width: 36px !important; height: 36px !important; }
	.phm-header .phm-tools { gap: 0 !important; }
}
@media (max-width: 359px) { .phm-header .phm-hicons .phm-wl { display: none; } }

/* ---------- Cabecera: menú centrado ---------- */
/* Desde 1200 px: logo | menú centrado en el hueco libre | herramientas (el menú en castellano mide ~780 px y con el
   centrado exacto de la ventana se montaba sobre los iconos). */
@media (min-width: 1200px) {
	.phm-header > .e-con-inner { display: grid !important; grid-template-columns: auto minmax(0, 1fr) auto; align-items: center; column-gap: 24px; }
	.phm-header .phm-logo { justify-self: start; }
	.phm-header .phm-nav { justify-self: center; width: auto !important; max-width: 100% !important; min-width: 0; }
	.phm-header .phm-nav .elementor-nav-menu--main .elementor-nav-menu { justify-content: center; flex-wrap: nowrap; }
	.phm-header .phm-tools { justify-self: end; margin-left: 0 !important; }
}
@media (min-width: 1200px) and (max-width: 1279px) {
	.phm-header .phm-nav .elementor-nav-menu--main .elementor-item { padding-left: 7px !important; padding-right: 7px !important; font-size: 14px !important; }
}
/* De 1025 a 1199 px no cabe: botón de menú, como en tableta. */
@media (min-width: 1025px) and (max-width: 1199px) {
	.phm-header .phm-nav { order: 3; flex: 0 0 auto !important; width: auto !important; }
	.phm-header .phm-tools { margin-left: auto !important; }
	.phm-header .phm-nav .elementor-nav-menu--main { display: none !important; }
	.phm-header .phm-nav .elementor-menu-toggle { display: flex !important; }
	.phm-header .phm-nav .elementor-nav-menu--dropdown { display: block !important; }
}
/* Menú desplegable (tableta y móvil): opciones centradas. */
@media (max-width: 1199px) {
	.phm-header .elementor-nav-menu--dropdown .elementor-item,
	.phm-header .elementor-nav-menu--dropdown .elementor-sub-item { justify-content: center !important; text-align: center !important; }
	.phm-header .elementor-nav-menu--dropdown .sub-arrow { margin-left: 8px; }
}

/* ---------- Etiquetas de stock en las tarjetas ---------- */
/* Debajo de la foto, sin taparla: el shortcode de insignias pasa detrás de la imagen dentro de la zona de la foto. */
.nvm-card .nvm-card__media .elementor-element-53f2570 { order: 2; position: static !important; width: auto; align-self: flex-start; margin: 0 !important; }
.nvm-card .nvm-card__media .elementor-element-53f2570:has(.elementor-shortcode:empty) { display: none; }
.nvm-card .nvm-card__media .elementor-element-fa5a069 { order: 1; }
.nvm-card .phm-stock-badge {
	position: static; display: inline-flex; align-items: center; gap: 6px; margin-top: 10px;
	padding: 6px 12px; border-radius: 999px; font: 700 12px/1.2 Inter, sans-serif; letter-spacing: .03em;
}
.nvm-card .phm-stock-badge::before { content: ""; width: 7px; height: 7px; border-radius: 50%; background: currentColor; }
.nvm-card .phm-stock-badge--out { background: var(--phm-ink); color: #fff; }
.nvm-card .phm-stock-badge--low { background: #FEF3C7; color: #92400E; }
@media (max-width: 767px) { .nvm-card .phm-stock-badge { margin-top: 8px; padding: 5px 9px; font-size: 11px; } }

/* Con sesión iniciada, por debajo de 600 px la barra de WordPress deja de ser fija y se va al bajar: la cabecera no
   debe dejarle hueco (asomaba el contenido por encima). */
@media (max-width: 600px) { .admin-bar .elementor-location-header { top: 0 !important; } }
