/*
Theme Name: p-marc Child Theme
Description: Tema hijo de Storefront para personalizaciones de p-marc.
Author: p-marc
Template: storefront
Version: 1.0.0
Text Domain: p-marc-child-theme
Domain Path: /languages
*/

:root {
	--pmarc-ink: #172033;
	--pmarc-blue: #1f4d7a;
	--pmarc-soft: #f5f3ed;
	--pmarc-line: #e3e6ea;
	--pmarc-muted: #5f6875;
	--pmarc-container-width: 1200px;
	--pmarc-outer-width: 1400px;
	--pmarc-page-gutter: 2.5rem;
	--pmarc-section-space: 3rem;
}

body { color: var(--pmarc-ink); }
.col-full { max-width: calc(var(--pmarc-container-width) + (2 * var(--pmarc-page-gutter))); padding-right: var(--pmarc-page-gutter); padding-left: var(--pmarc-page-gutter); }
body:not(.woocommerce-checkout) .col-full { box-sizing: content-box; width: auto; max-width: var(--pmarc-outer-width); }
.site-content { padding-top: 2.5rem; }
.site-main { margin-bottom: var(--pmarc-section-space); }
.site-content .widget-area { display: none; }
body:not(.woocommerce-checkout) .site-content #primary.content-area { float: none; width: 100%; min-width: 0; max-width: none; margin-right: 0; margin-left: 0; }
.woocommerce-message, .woocommerce-info { border-top-color: var(--pmarc-blue); }
a { color: var(--pmarc-blue); }
.button, button, input[type="button"], input[type="reset"], input[type="submit"], .added_to_cart { min-height: 42px; padding: .72rem 1.05rem; border-radius: 4px; font-weight: 700; transition: background-color .18s ease, color .18s ease, transform .18s ease; }
.button:focus-visible, button:focus-visible, input:focus-visible, select:focus-visible, textarea:focus-visible, a:focus-visible { outline: 3px solid rgba(31, 77, 122, .28); outline-offset: 2px; }

/* Cabecera y navegación. */
.site-header .site-search, .site-header .storefront-product-search { display: none; }
.site-header .custom-logo-link img, .site-header .site-branding img { display: block; width: clamp(280px, 26vw, 320px); max-width: 100%; height: auto; max-height: none; }
.main-navigation ul.menu > li > a, .main-navigation ul.nav-menu > li > a { color: var(--pmarc-ink); font-weight: 600; }
.site-header .pmarc-header-languages { float: right; display: flex; align-items: center; gap: .35rem; margin: .25rem 0; font-size: .85rem; font-weight: 700; line-height: 1; }
.site-header .pmarc-header-languages a, .site-header .pmarc-header-languages span { display: inline-block; padding: .4rem .3rem; color: var(--pmarc-ink); text-decoration: none; }
.site-header .pmarc-header-languages [aria-current="page"] { color: var(--pmarc-blue); }
.site-header .pmarc-header-languages a:hover, .site-header .pmarc-header-languages a:focus-visible { color: var(--pmarc-blue); text-decoration: underline; }
.site-header .pmarc-header-languages a + span::before, .site-header .pmarc-header-languages span + a::before { content: "/"; margin-right: .6rem; color: var(--pmarc-muted); font-weight: 400; }

/* Mini-carrito Storefront: dropdown desktop independiente del ancho estrecho del icono. */
@media (min-width: 768px) {
	.woocommerce-active .site-header .site-branding, .storefront-secondary-navigation.woocommerce-active .site-header .site-branding { width: min(40%, 390px); margin-right: 3%; padding-top: 10px; }
	.woocommerce-active .site-header .site-branding .custom-logo-link img.custom-logo, .storefront-secondary-navigation.woocommerce-active .site-header .site-branding .custom-logo-link img.custom-logo { width: 360px; max-width: 100%; }
	/* Compact header trigger; keep the independently sized dropdown below unchanged. */
	.woocommerce-active .site-header .site-header-cart { position: relative; width: 48px; min-width: 0; margin-top: 1em; }
	.site-header .site-header-cart > li > a.cart-contents { box-sizing: border-box; display: flex; align-items: center; justify-content: center; width: 48px; height: 48px; padding: 0; }
	.site-header .site-header-cart > li > a.cart-contents::after { float: none; height: auto; line-height: 1; }
	/* El widget se controla como una unidad: Storefront no puede dejar hijos visibles con el dropdown cerrado. */
	.site-header .site-header-cart .widget_shopping_cart { position: absolute; top: 100%; right: 0; left: auto; display: block !important; box-sizing: border-box; width: 360px; min-width: 320px; max-width: calc(100vw - 2rem); height: auto !important; max-height: none !important; overflow: hidden; visibility: hidden; opacity: 0; pointer-events: none; transform: translateY(-.25rem); transition: opacity .18s ease, transform .18s ease, visibility 0s linear .18s; background: #fff; border: 1px solid var(--pmarc-line); box-shadow: 0 10px 24px rgba(23, 32, 51, .12); }
	.site-header-cart:hover .widget_shopping_cart, .site-header-cart.focus .widget_shopping_cart, .site-header-cart:focus-within .widget_shopping_cart { visibility: visible; opacity: 1; pointer-events: auto; transform: translateY(0); transition-delay: 0s; }
	.site-header-cart:hover .widget_shopping_cart .product_list_widget, .site-header-cart.focus .widget_shopping_cart .product_list_widget, .site-header-cart:focus-within .widget_shopping_cart .product_list_widget { height: auto; }
	.site-header .widget_shopping_cart .product_list_widget { margin: 0; }
	.site-header .widget_shopping_cart .product_list_widget li { position: relative; clear: both; min-height: 64px; margin: 0; padding: .75rem 2.5rem .75rem 1rem; border-bottom: 1px solid var(--pmarc-line); }
	.site-header .widget_shopping_cart .product_list_widget li > a:not(.remove) { display: block; min-height: 48px; color: var(--pmarc-ink); line-height: 1.35; }
	.site-header .widget_shopping_cart .product_list_widget li > a:not(.remove) img { float: left; width: 48px; max-width: 48px; height: 48px; margin: 0 .75rem .25rem 0; object-fit: cover; }
	.site-header .widget_shopping_cart .product_list_widget li a.remove { position: absolute; top: .75rem; right: .75rem; left: auto; float: none; }
	.site-header .widget_shopping_cart .product_list_widget li .quantity { display: block; margin-top: .25rem; color: var(--pmarc-muted); }
	.site-header .widget_shopping_cart p.total, .site-header .widget_shopping_cart p.buttons { box-sizing: border-box; margin: 0; padding: .85rem 1rem; }
	.site-header .widget_shopping_cart p.total { display: flex; justify-content: space-between; gap: .75rem; text-align: left; border-bottom: 1px solid var(--pmarc-line); }
	.site-header .widget_shopping_cart p.buttons { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: .5rem; }
	.site-header .widget_shopping_cart .buttons a { width: 100%; min-height: 42px; margin: 0; padding: .65rem .5rem; text-align: center; }
}

/* Home y páginas por uso. */
/* El wrapper real de la Home no duplica el gutter global del content area. */
.home .entry-content > .pm-home-v1 { padding-right: 0; padding-left: 0; }
/* Storefront reserva 67.7728 px bajo la cabecera; la Home controla un único espacio. */
.home .site-header { margin-bottom: 0; }
.home .site-content { padding-top: 0; }
.home .pmh-hero { margin-top: 2.25rem; }
.pmh-grid-sports, .pmh-grid-products, .pmarc-use-products { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 1.25rem; }
.pmh-sport-card, .pmh-product-card { position: relative; display: block; overflow: hidden; color: inherit; text-decoration: none; background: #fff; border: 1px solid var(--pmarc-line); border-radius: 8px; box-shadow: 0 8px 22px rgba(23, 32, 51, .05); }
.pmh-sport-card img, .pmh-product-card img { display: block; width: 100%; aspect-ratio: 1 / 1; object-fit: cover; }
.home .pmh-grid-sports .pmh-sport-card[href="/tenis-playa/"] img { object-position: center 5%; }
.home .pmh-grid-sports .pmh-sport-card[href="/voley-playa/"] img { object-position: center 20%; }
.home .pmh-grid-sports .pmh-sport-card[href="/futbol-playa/"] img { object-position: center 20%; }
.home .pmh-products-section .pmh-product-card > a:first-child { display: block; width: 100%; aspect-ratio: 1 / 1; overflow: hidden; background: #fff; border-radius: 8px 8px 0 0; }
.home .pmh-products-section .pmh-product-card > a:first-child > img { width: 100%; height: 100%; aspect-ratio: 1 / 1; object-fit: contain; border-radius: inherit; }
.pmh-sport-card span, .pmh-product-body { display: block; padding: 1rem; }
.pmh-product-body h3 { min-height: 2.7em; margin: 0 0 .5rem; color: var(--pmarc-ink); font-size: 1rem; line-height: 1.35; }
.pmh-product-card { display: flex; flex-direction: column; }
.pmh-product-body { display: flex; flex: 1; flex-direction: column; padding-bottom: 1.25rem; }
.pmh-card-link { margin-top: .8rem; }
.pmh-card-link, .pmh-button { font-weight: 700; }
.pmh-product-body .pmh-product-price { margin: auto 0 .1rem; font-size: 1rem; font-weight: 700; }
.pmh-product-body .pmarc-tax-note { margin: 0 0 0; }
body a.pmarc-card-cta, body a.pmarc-card-cta:link, body a.pmarc-card-cta:visited { box-sizing: border-box; display: inline-flex; min-height: 42px; max-width: 100%; flex: 0 0 auto; align-items: center; justify-content: center; margin-bottom: .125rem; padding: .55rem .85rem; overflow: visible; color: var(--pmarc-ink) !important; -webkit-text-fill-color: var(--pmarc-ink); font-size: .9rem; font-weight: 700; line-height: 1.2; white-space: normal; text-decoration: none !important; text-shadow: none; background: #fff !important; border: 1px solid var(--pmarc-blue) !important; border-radius: 4px; box-shadow: none !important; transition: color .18s ease, background-color .18s ease, border-color .18s ease; }
body a.pmarc-card-cta > * { color: inherit !important; -webkit-text-fill-color: inherit !important; }
body a.pmarc-card-cta:hover, body a.pmarc-card-cta:focus, body a.pmarc-card-cta:focus-visible { color: #fff !important; -webkit-text-fill-color: #fff; background: var(--pmarc-ink) !important; border-color: var(--pmarc-ink) !important; }
body a.pmarc-card-cta:focus-visible { outline: 3px solid rgba(31, 77, 122, .38); outline-offset: 2px; }
body a.pmarc-card-cta:active { color: #fff !important; -webkit-text-fill-color: #fff; background: var(--pmarc-blue) !important; border-color: var(--pmarc-blue) !important; }
body a.pmarc-card-cta[aria-disabled="true"] { color: #68717e !important; -webkit-text-fill-color: #68717e; cursor: not-allowed; background: #eef0f2 !important; border-color: #c6cbd1 !important; }
.pmh-card-link.pmarc-card-cta { position: static; align-self: flex-start; }
.pmh-product-card .pmh-card-link::after { position: absolute; z-index: 1; inset: 0; content: ''; }
.pmh-product-card .pmh-card-link:focus-visible::after { outline: 3px solid rgba(31, 77, 122, .28); outline-offset: -3px; }

/* Consultation CTAs reuse card geometry while the server blocks purchasing. */
body button.pmarc-inquiry-trigger { box-sizing: border-box; display: inline-flex; min-width: min(100%, 11rem); min-height: 42px; max-width: 100%; flex: 0 0 auto; align-items: center; justify-content: center; padding: .55rem .85rem; color: var(--pmarc-ink); font-size: .9rem; font-weight: 700; line-height: 1.2; white-space: normal; background: #fff; border: 1px solid var(--pmarc-blue); border-radius: 4px; box-shadow: none; cursor: pointer; }
body button.pmarc-inquiry-trigger:hover, body button.pmarc-inquiry-trigger:focus, body button.pmarc-inquiry-trigger:focus-visible { color: #fff !important; -webkit-text-fill-color: #fff; background: var(--pmarc-ink); border-color: var(--pmarc-ink); }
body button.pmarc-inquiry-trigger:focus-visible { outline: 3px solid rgba(31, 77, 122, .38); outline-offset: 2px; }
/* Legacy .pmh-card-link rules remove the lower edge with !important. */
.pmh-product-body > button.pmarc-inquiry-trigger.pmh-card-link { border-bottom: 1px solid var(--pmarc-blue) !important; }
.pmh-product-body > button.pmarc-inquiry-trigger.pmh-card-link:is(:hover, :focus, :focus-visible) { border-bottom-color: var(--pmarc-ink) !important; }
.pmh-product-body > .pmarc-inquiry-trigger, .pmarc-sport-product-card__body > .pmarc-inquiry-trigger { margin-top: auto; }
.pmh-product-card .pmarc-inquiry-trigger::after { content: none; }
.pmarc-inquiry-single { margin: 1rem 0; }
.pmarc-inquiry-single .pmarc-inquiry-trigger { min-width: 12rem; padding: .8rem 1.1rem; background: #f7ce39; border-color: #d5ac20; }
.pmarc-inquiry-dialog { box-sizing: border-box; width: min(92vw, 34rem); max-height: min(90vh, 48rem); padding: 1.4rem; color: var(--pmarc-ink); background: #fff; border: 1px solid var(--pmarc-line); border-radius: 12px; box-shadow: 0 16px 60px rgba(23, 32, 51, .2); }
.pmarc-inquiry-dialog::backdrop { background: rgba(14, 24, 42, .58); }
.pmarc-inquiry-dialog__heading { display: flex; align-items: start; justify-content: space-between; gap: 1rem; }
.pmarc-inquiry-dialog__heading h2 { margin: 0 0 .75rem; font-size: 1.5rem; }
.pmarc-inquiry-dialog__close { flex: 0 0 auto; width: 2rem; height: 2rem; padding: 0; background: #fff; border: 1px solid var(--pmarc-line); border-radius: 50%; cursor: pointer; }
.pmarc-inquiry-dialog__product { margin: 0 0 1rem; font-weight: 700; }
.pmarc-inquiry-dialog label { display: block; margin: .75rem 0; font-weight: 600; }
.pmarc-inquiry-dialog input[type=email], .pmarc-inquiry-dialog textarea { box-sizing: border-box; display: block; width: 100%; max-width: 100%; margin-top: .35rem; }
.pmarc-inquiry-dialog__privacy, .pmarc-inquiry-dialog__status { margin: .8rem 0; font-size: .85rem; }
.pmarc-inquiry-dialog__trap { position: absolute; width: 1px; height: 1px; overflow: hidden; clip-path: inset(50%); }
.pmarc-inquiry-dialog__submit { min-width: 8rem; }
.pmarc-inquiry-toast[hidden] { display: none !important; }
.pmarc-inquiry-toast { position: fixed; z-index: 10000; right: 1.25rem; bottom: 1.25rem; box-sizing: border-box; display: grid; grid-template-columns: 2rem minmax(0, 1fr) 1.5rem; align-items: start; gap: .7rem; width: min(25rem, calc(100vw - 2rem)); padding: .85rem; color: var(--pmarc-ink); background: #fff; border: 1px solid #c8dfcd; border-left: 4px solid #277a44; border-radius: 10px; box-shadow: 0 10px 30px rgba(23, 32, 51, .16); }
.pmarc-inquiry-toast__icon { display: flex; align-items: center; justify-content: center; width: 2rem; height: 2rem; color: #fff; font-size: 1.15rem; font-weight: 700; background: #277a44; border-radius: 50%; }
.pmarc-inquiry-toast__message { display: grid; min-width: 0; gap: .1rem; font-size: .9rem; line-height: 1.4; overflow-wrap: anywhere; }
.pmarc-inquiry-toast__message strong { font-weight: 700; }
body .pmarc-inquiry-toast__close { width: 1.5rem; height: 1.5rem; padding: 0; color: var(--pmarc-ink); font-size: 1.25rem; line-height: 1; background: transparent; border: 0; cursor: pointer; }
body .pmarc-inquiry-toast__close:focus-visible { outline: 3px solid rgba(31, 77, 122, .38); outline-offset: 2px; }
@media (max-width: 600px) { .pmarc-inquiry-toast { right: 1rem; bottom: 1rem; left: 1rem; width: auto; } }
@media (max-width: 390px) { .pmarc-inquiry-dialog { padding: 1rem; } }
.pmh-hero, .pmh-outdoor { position: relative; isolation: isolate; padding: 5rem 2rem; overflow: hidden; color: var(--pmarc-ink); background-position: center; background-size: cover; }
.pmh-hero::before, .pmh-outdoor::before { position: absolute; z-index: 0; inset: 0; content: ''; pointer-events: none; background: linear-gradient(90deg, rgba(255, 255, 255, .90) 0%, rgba(255, 255, 255, .67) 35%, rgba(255, 255, 255, .18) 58%, rgba(255, 255, 255, 0) 78%); }
.pmh-hero-content, .pmh-outdoor-content { position: relative; z-index: 1; max-width: 38rem; padding: 1.25rem 0; }
.home .pmh-hero { display: flex; align-items: center; height: auto !important; min-height: 350px !important; padding: 2rem !important; }
.home .pmh-hero::before { content: none !important; display: none !important; background: none !important; }
.home .pmh-hero-content { box-sizing: border-box; width: min(100%, 29rem) !important; height: auto !important; max-width: none; padding: 1.5rem 1.75rem !important; background: rgba(255, 255, 255, .84); border-radius: 24px; box-shadow: 0 6px 22px rgba(23, 32, 51, .06); }
.pmh-hero-content h1, .pmh-outdoor-content h2, .pmh-hero-content p, .pmh-outdoor-content p { color: var(--pmarc-ink); }
.pmh-hero-content .pmh-button, .pmh-outdoor-content .pmh-button { display: inline-flex; align-items: center; min-height: 42px; padding: .72rem 1.05rem; color: #fff; font-weight: 700; text-decoration: none; background: #111; border-radius: 4px; }
.pmh-hero-content .pmh-button:hover, .pmh-hero-content .pmh-button:focus, .pmh-outdoor-content .pmh-button:hover, .pmh-outdoor-content .pmh-button:focus { color: #fff; background: #000; }
.home .pmh-hero h1 { max-width: 21rem !important; color: #071b3a !important; font-size: clamp(2rem, 2.8vw, 2.55rem) !important; font-weight: 700 !important; line-height: 1.09 !important; letter-spacing: -.035em !important; }
.home .pmh-hero p { color: #173b60 !important; font-weight: 400 !important; }
.home .pmh-hero .pmh-button { padding: .7rem 1rem !important; color: #fff !important; font-weight: 700 !important; background: #0b74db !important; border-radius: 9px !important; }
.home .pmh-hero .pmh-button:hover, .home .pmh-hero .pmh-button:focus-visible { color: #fff !important; background: #0b63bf !important; }
.home .pmh-hero .pmh-button:focus-visible { outline: 3px solid #071b3a; outline-offset: 3px; }
@media (max-width: 768px) {
	.home .pmh-hero { align-items: flex-end; min-height: 420px !important; }
	.home .pmh-hero-content { width: min(100%, 20rem) !important; min-height: 0 !important; padding: .8rem 1rem !important; }
	.home .pmh-hero h1 { font-size: clamp(1.7rem, 5vw, 2.1rem) !important; }
}
.pmh-section-title { margin: 2.5rem 0 1rem; text-align: center; }
.pmh-benefits { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 1rem; width: 100%; margin: 2.5rem 0; }
.pmh-benefit { display: grid; grid-template-columns: 1.6rem minmax(0, 1fr); column-gap: .75rem; align-items: start; padding: 1rem; background: #f4f6f8; }
.pmh-benefit-icon { grid-row: span 2; width: 1.6rem; height: 1.6rem; margin-top: .1rem; color: currentColor; stroke: currentColor; fill: none; stroke-linecap: round; stroke-linejoin: round; stroke-width: 1.7; }
.pmh-benefit h3 { margin: 0 0 .25rem; font-size: .98rem; line-height: 1.25; }
.pmh-benefit p { margin: 0; color: var(--pmarc-muted); font-size: .88rem; line-height: 1.45; }
.pmarc-use-card { padding: 1rem; background: #f4f6f8; }
.pmarc-use-page { max-width: var(--pmarc-container-width); margin: auto; }
.pmarc-use-hero { display: grid; grid-template-columns: 1fr 1fr; gap: 2rem; align-items: center; }
.pmarc-use-hero img { width: 100%; height: auto; }
.pmarc-use-page .pmarc-use-cta { margin: 2rem 0; text-align: center; }
.pmh-products-section { margin-top: var(--pmarc-section-space); }
.pmh-products-section--accessories { margin-top: 4rem; padding-top: .5rem; border-top: 1px solid var(--pmarc-line); }

/* Tienda: una cuadrícula real y tarjetas comparables. */
.pm-home-v1, .pmarc-use-page { width: 100%; max-width: var(--pmarc-container-width); margin-right: auto; margin-left: auto; }
.home #primary.content-area, .home .content-area, .home .site-main { float: none; width: 100%; min-width: 0; max-width: none; margin-right: 0; margin-left: 0; }
.home .hentry, .home .entry-content { width: 100%; max-width: none; margin-right: 0; margin-left: 0; }
.woocommerce-result-count, .woocommerce-pagination { display: none; }
.pmarc-shop-layout #primary.content-area { float: none; width: 100%; max-width: none; margin-right: 0; }
.pmarc-shop-layout .site-main { display: grid; grid-template-areas: 'heading heading' 'products products'; grid-template-columns: minmax(0, 1fr) auto; column-gap: 2rem; align-items: center; }
.pmarc-shop-layout .woocommerce-products-header { grid-area: heading; margin: 0 0 .75rem; }
.pmarc-shop-layout .woocommerce-products-header .page-title, .woocommerce-account .entry-title { margin: 0; font-size: clamp(2rem, 4vw, 2.8rem); font-weight: 400; line-height: 1.2; text-align: center; }
.pmarc-shop-layout .storefront-sorting { z-index: 1; display: block; grid-area: heading; justify-self: end; clear: none; margin: 0; }
.pmarc-shop-layout .woocommerce-ordering { float: none; margin: 0; }
/* La CSS heredada de Tienda fuerza márgenes !important incluso sin selector. */
.woocommerce-shop.pmarc-shop-layout .woocommerce-products-header { margin-bottom: .5rem !important; }
.woocommerce-shop.pmarc-shop-layout .storefront-sorting { margin: 0 !important; padding: 0 !important; }
:is(.woocommerce, .pmarc-sport-page) .site-main ul.products, .woocommerce-page .site-main ul.products, .pmarc-cart-cross-sells ul.products { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 1.5rem; clear: both; }
.pmarc-shop-layout .site-main ul.products { grid-area: products; clear: none; }
:is(.woocommerce, .pmarc-sport-page) .site-main ul.products::before, :is(.woocommerce, .pmarc-sport-page) .site-main ul.products::after, .pmarc-cart-cross-sells ul.products::before, .pmarc-cart-cross-sells ul.products::after { display: none; }
:is(.woocommerce, .pmarc-sport-page) .site-main ul.products li.product, .pmarc-cart-cross-sells ul.products li.product { position: relative; display: flex; float: none; flex-direction: column; width: auto; margin: 0; padding: 0 0 1.25rem; overflow: hidden; text-align: left; background: #fff; border: 1px solid var(--pmarc-line); border-radius: 8px; box-shadow: 0 8px 22px rgba(23, 32, 51, .05); }
:is(.woocommerce, .pmarc-sport-page) .site-main ul.products li.product > a:first-child, .pmarc-cart-cross-sells ul.products li.product > a:first-child { display: flex; flex: 1; flex-direction: column; }
:is(.woocommerce, .pmarc-sport-page) .site-main ul.products li.product > a.woocommerce-LoopProduct-link, .pmarc-cart-cross-sells ul.products li.product > a.woocommerce-LoopProduct-link { display: flex; flex: 1; flex-direction: column; }
:is(.woocommerce, .pmarc-sport-page) .site-main ul.products li.product img, .pmarc-cart-cross-sells ul.products li.product img { width: 100%; margin: 0 0 1rem; aspect-ratio: 1 / 1; object-fit: cover; background: #fff; }
:is(.woocommerce, .pmarc-sport-page) .site-main ul.products li.product .woocommerce-loop-product__title, :is(.woocommerce, .pmarc-sport-page) .site-main ul.products li.product .price, :is(.woocommerce, .pmarc-sport-page) .site-main ul.products li.product .pmarc-tax-note, :is(.woocommerce, .pmarc-sport-page) .site-main ul.products li.product .pmarc-card-cta, .pmarc-cart-cross-sells ul.products li.product .woocommerce-loop-product__title, .pmarc-cart-cross-sells ul.products li.product .price, .pmarc-cart-cross-sells ul.products li.product .pmarc-tax-note, .pmarc-cart-cross-sells ul.products li.product .pmarc-card-cta { margin-right: 1rem; margin-left: 1rem; }
:is(.woocommerce, .pmarc-sport-page) .site-main ul.products li.product .woocommerce-loop-product__title, .pmarc-cart-cross-sells ul.products li.product .woocommerce-loop-product__title { min-height: 2.7em; color: var(--pmarc-ink); font-size: 1rem; font-weight: 700; line-height: 1.35; }
:is(.woocommerce, .pmarc-sport-page) .site-main ul.products li.product .price, .pmarc-cart-cross-sells ul.products li.product .price { margin-top: auto; margin-bottom: .1rem; font-size: 1rem; font-weight: 700; }
:is(.woocommerce, .pmarc-sport-page) .site-main ul.products li.product .pmarc-card-cta, .pmarc-cart-cross-sells ul.products li.product .pmarc-card-cta { align-self: flex-start; max-width: calc(100% - 2rem); margin-top: .8rem; }
:is(.woocommerce, .pmarc-sport-page) .site-main ul.products li.product > .woocommerce-LoopProduct-link::after, .pmarc-cart-cross-sells ul.products li.product > .woocommerce-LoopProduct-link::after { position: absolute; z-index: 1; inset: 0; content: ''; }
:is(.woocommerce, .pmarc-sport-page) .site-main ul.products li.product > .woocommerce-LoopProduct-link:focus-visible::after, .pmarc-cart-cross-sells ul.products li.product > .woocommerce-LoopProduct-link:focus-visible::after { outline: 3px solid rgba(31, 77, 122, .28); outline-offset: -3px; }
:is(.woocommerce, .pmarc-sport-page) .site-main ul.products li.product .pmarc-card-cta, .pmarc-cart-cross-sells ul.products li.product .pmarc-card-cta { position: relative; z-index: 2; }
.pmarc-tax-note { display: block; margin: -.55rem 0 .9rem; color: var(--pmarc-muted); font-size: .78rem; }

/* Producto: galería y compra alineadas, descripción a ancho completo. */
.single-product #primary.content-area, .single-product .content-area, .single-product .site-main { float: none; width: 100%; max-width: none; margin-right: 0; }
.single-product div.product { display: grid; grid-template-columns: minmax(0, 47fr) minmax(0, 53fr); gap: 1.75rem 3rem; align-items: start; width: 100%; margin-bottom: 0; }
.single-product div.product .woocommerce-product-gallery, .single-product div.product .summary { float: none; width: auto; margin: 0; }
.single-product div.product .woocommerce-product-gallery { grid-column: 1; min-width: 0; max-width: 560px; overflow: hidden; }
.single-product div.product .summary { grid-column: 2; max-width: none; }
/* Prueba 304 ES/EN: la galería sticky termina con la fila superior, antes de los detalles. */
.single-product.pmarc-product-pack-plus-beach-tennis div.product > .pmarc-pack-plus-sticky-row { grid-column: 1 / -1; display: grid; grid-template-columns: minmax(0, 47fr) minmax(0, 53fr); gap: 1.75rem 3rem; align-items: start; min-width: 0; }
@media (min-width: 901px) {
	body.single-product.pmarc-product-pack-plus-beach-tennis, .single-product.pmarc-product-pack-plus-beach-tennis #page { overflow-x: clip; }
	.single-product.pmarc-product-pack-plus-beach-tennis div.product { overflow: visible; }
	.single-product.pmarc-product-pack-plus-beach-tennis .pmarc-pack-plus-sticky-row > .woocommerce-product-gallery { position: sticky; top: calc(24px + var(--wp-admin--admin-bar--height, 0px)); align-self: start; }
}
/* Solo 305/306 ES/EN: la galería termina al acabar la columna de compra. */
.single-product:is(.postid-305, .postid-485, .postid-306, .postid-479) div.product > .pmarc-other-pack-plus-sticky-row { grid-column: 1 / -1; display: grid; grid-template-columns: minmax(0, 47fr) minmax(0, 53fr); gap: 1.75rem 3rem; align-items: start; min-width: 0; }
@media (min-width: 901px) {
	body.single-product:is(.postid-305, .postid-485, .postid-306, .postid-479), .single-product:is(.postid-305, .postid-485, .postid-306, .postid-479) #page { overflow-x: clip; }
	.single-product:is(.postid-305, .postid-485, .postid-306, .postid-479) div.product { overflow: visible; }
	.single-product:is(.postid-305, .postid-485, .postid-306, .postid-479) .pmarc-other-pack-plus-sticky-row > .woocommerce-product-gallery { position: sticky; top: calc(24px + var(--wp-admin--admin-bar--height, 0px)); align-self: start; }
}
@media (max-width: 900px) {
	.single-product:is(.postid-305, .postid-485, .postid-306, .postid-479) div.product > .pmarc-other-pack-plus-sticky-row { grid-template-columns: minmax(0, 1fr); }
	.single-product:is(.postid-305, .postid-485, .postid-306, .postid-479) .pmarc-other-pack-plus-sticky-row > .woocommerce-product-gallery { position: static; }
}
/* Solo 310 ES/EN: el sticky termina antes del diseñador posterior. */
.single-product:is(.postid-310, .postid-470) div.product > .pmarc-flag-sticky-row { grid-column: 1 / -1; display: grid; grid-template-columns: minmax(0, 47fr) minmax(0, 53fr); gap: 1.75rem 3rem; align-items: start; min-width: 0; }
@media (min-width: 901px) {
	body.single-product:is(.postid-310, .postid-470), .single-product:is(.postid-310, .postid-470) #page { overflow-x: clip; }
	.single-product:is(.postid-310, .postid-470) div.product { overflow: visible; }
	.single-product:is(.postid-310, .postid-470) .pmarc-flag-sticky-row > .woocommerce-product-gallery { position: sticky; top: calc(24px + var(--wp-admin--admin-bar--height, 0px)); align-self: start; }
}
@media (max-width: 900px) {
	.single-product:is(.postid-310, .postid-470) div.product > .pmarc-flag-sticky-row { grid-template-columns: minmax(0, 1fr); }
	.single-product:is(.postid-310, .postid-470) .pmarc-flag-sticky-row > .woocommerce-product-gallery { position: static; }
}
/* Solo 308/309 ES/EN: la fila superior limita la galería antes de los detalles. */
.single-product:is(.postid-308, .postid-451, .postid-309, .postid-474) div.product > .pmarc-beach-tennis-scoreboard-sticky-row { grid-column: 1 / -1; display: grid; grid-template-columns: minmax(0, 47fr) minmax(0, 53fr); gap: 1.75rem 3rem; align-items: start; min-width: 0; }
@media (min-width: 901px) {
	body.single-product:is(.postid-308, .postid-451, .postid-309, .postid-474), .single-product:is(.postid-308, .postid-451, .postid-309, .postid-474) #page { overflow-x: clip; }
	.single-product:is(.postid-308, .postid-451, .postid-309, .postid-474) div.product { overflow: visible; }
	.single-product:is(.postid-308, .postid-451, .postid-309, .postid-474) .pmarc-beach-tennis-scoreboard-sticky-row > .woocommerce-product-gallery { position: sticky; top: calc(24px + var(--wp-admin--admin-bar--height, 0px)); align-self: start; }
}
@media (max-width: 900px) {
	.single-product:is(.postid-308, .postid-451, .postid-309, .postid-474) div.product > .pmarc-beach-tennis-scoreboard-sticky-row { grid-template-columns: minmax(0, 1fr); }
	.single-product:is(.postid-308, .postid-451, .postid-309, .postid-474) .pmarc-beach-tennis-scoreboard-sticky-row > .woocommerce-product-gallery { position: static; }
}
@media (max-width: 900px) {
	.single-product.pmarc-product-pack-plus-beach-tennis div.product > .pmarc-pack-plus-sticky-row { grid-template-columns: minmax(0, 1fr); }
	.single-product.pmarc-product-pack-plus-beach-tennis .pmarc-pack-plus-sticky-row > .woocommerce-product-gallery { position: static; }
}
.single-product div.product .woocommerce-tabs { grid-column: 1 / -1; width: 100%; margin: 0; padding: 2.25rem 0 0; border-top: 1px solid var(--pmarc-line); }
.single-product div.product .woocommerce-tabs .panel { float: none; width: 100%; max-width: 1050px; margin: 0; padding: 0; background: transparent; }
.single-product div.product .woocommerce-tabs ul.tabs { display: none; }
.single-product div.product .woocommerce-product-gallery .flex-viewport { box-sizing: border-box; width: 100%; max-width: 100%; overflow: hidden !important; border-radius: 10px; }
.single-product div.product .woocommerce-product-gallery__wrapper { min-width: 0; margin: 0 !important; will-change: transform; }
.single-product div.product .woocommerce-product-gallery .woocommerce-product-gallery__image { box-sizing: border-box; width: 100%; aspect-ratio: 1 / 1; overflow: hidden; }
.single-product div.product .woocommerce-product-gallery .woocommerce-product-gallery__image > a { display: block; box-sizing: border-box; width: 100%; height: 100%; padding: .4rem; overflow: hidden; line-height: 0; background: #fff; border: 1px solid var(--pmarc-line); border-radius: 10px; box-shadow: 0 6px 18px rgba(23, 32, 51, .06); }
.single-product div.product .woocommerce-product-gallery .woocommerce-product-gallery__image img:not(.zoomImg), .single-product div.product .woocommerce-product-gallery__wrapper img:not(.zoomImg) { display: block; width: 100% !important; height: 100% !important; max-height: none; object-fit: contain; object-position: center; border-radius: 6px; }
.single-product div.product .woocommerce-product-gallery ol.flex-control-thumbs { display: grid !important; grid-template-columns: repeat(auto-fill, 76px) !important; gap: .75rem !important; align-items: start; margin: 1rem 0 0; padding: 0; list-style: none; }
.single-product div.product .woocommerce-product-gallery ol.flex-control-thumbs::before, .single-product div.product .woocommerce-product-gallery ol.flex-control-thumbs::after { display: none !important; content: none !important; }
.single-product div.product .woocommerce-product-gallery ol.flex-control-thumbs > li, .single-product div.product .woocommerce-product-gallery ol.flex-control-thumbs > li:nth-child(n) { display: block !important; box-sizing: border-box; clear: none !important; float: none !important; width: 76px !important; min-width: 76px !important; max-width: 76px !important; height: 76px !important; margin: 0 !important; overflow: hidden !important; font-size: 0; background: #fff; border: 1px solid var(--pmarc-line); border-radius: 5px; transition: border-color .16s ease, box-shadow .16s ease; }
.single-product div.product .woocommerce-product-gallery ol.flex-control-thumbs > li:hover, .single-product div.product .woocommerce-product-gallery ol.flex-control-thumbs > li:focus-within { border-color: #aeb8c5; box-shadow: 0 3px 10px rgba(23, 32, 51, .08); }
.single-product div.product .woocommerce-product-gallery ol.flex-control-thumbs > li > img { display: block !important; width: 100% !important; min-width: 100% !important; max-width: none !important; height: 100% !important; margin: 0 !important; padding: 3px !important; visibility: visible !important; opacity: .78 !important; object-fit: contain !important; border: 2px solid transparent; border-radius: 4px; }
.single-product div.product .woocommerce-product-gallery ol.flex-control-thumbs img.flex-active { opacity: 1 !important; border-color: var(--pmarc-blue); }
.single-product div.product .summary .product_title { margin-bottom: .5rem; font-size: clamp(1.8rem, 3vw, 2.55rem); line-height: 1.12; }
.single-product div.product .summary .price { margin-bottom: .8rem; font-size: 1.55rem; font-weight: 700; }
.single-product div.product .summary .woocommerce-product-details__short-description { color: #343d4b; font-size: 1rem; line-height: 1.65; }
.single-product.postid-308 div.product .summary .price,
.single-product.postid-309 div.product .summary .price,
.single-product.postid-310 div.product .summary .price,
.single-product.postid-315 div.product .summary .price,
.single-product.postid-418 div.product .summary .price { margin-top: 1.25rem; }
.single-product.postid-308 div.product .summary .woocommerce-product-details__short-description > :last-child,
.single-product.postid-309 div.product .summary .woocommerce-product-details__short-description > :last-child,
.single-product.postid-310 div.product .summary .woocommerce-product-details__short-description > :last-child,
.single-product.postid-315 div.product .summary .woocommerce-product-details__short-description > :last-child,
.single-product.postid-418 div.product .summary .woocommerce-product-details__short-description > :last-child { margin-bottom: .65rem; }
.single-product.postid-308 .pmarc-clamp-choice,
.single-product.postid-309 .pmarc-clamp-choice,
.single-product.postid-310 .pmarc-clamp-choice,
.single-product.postid-315 .pmarc-clamp-choice,
.single-product.postid-418 .pmarc-clamp-choice { margin-top: .5rem; }
.single-product div.product .single_add_to_cart_button { padding: .9rem 1.3rem; }
.pmarc-back-link { margin: 0 0 .8rem; font-size: .92rem; }
.pmarc-back-link--mobile { display: none; }
.pmarc-free-shipping-note { box-sizing: border-box; grid-column: 1 / -1; justify-self: center; width: fit-content; min-width: 0; max-width: 100%; margin: .25rem auto 0; padding: .8rem 1rem; color: var(--pmarc-blue); font-weight: 700; line-height: 1.5; overflow-wrap: anywhere; text-align: center; background: #f1f7fb; border: 1px solid #d8e7f2; border-radius: 12px; }
.single-product div.product > .pmarc-logo-upload { grid-column: 1 / -1; width: 100%; }
.pmarc-logo-upload { box-sizing: border-box; margin: .25rem 0 0; padding: clamp(1.1rem, 2.5vw, 1.75rem); background: #f4f6f8; border: 1px solid var(--pmarc-line); border-left: 3px solid var(--pmarc-blue); border-radius: 8px; }
.pmarc-logo-upload h3 { margin: 0 0 .3rem; font-size: 1.3rem; }
.pmarc-logo-upload label, .pmarc-logo-upload small { display: block; }
.pmarc-logo-upload input { max-width: 100%; margin: .6rem 0; }
.pmarc-logo-upload small { color: var(--pmarc-muted); }
.pmarc-flag-brief { margin-top: 1rem; padding: 1rem; background: #fff; border: 1px solid var(--pmarc-line); border-radius: 6px; }
.pmarc-flag-brief h4 { margin: 0 0 .8rem; font-size: 1rem; }
.pmarc-flag-brief textarea { box-sizing: border-box; display: block; width: 100%; margin: .35rem 0 .45rem; resize: vertical; }
.pmarc-flag-brief label:not(:first-of-type) { margin-top: 1rem; }
.pmarc-personalization-tabs { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: .5rem; margin: 1rem 0; }
.pmarc-personalization-tab { min-height: 44px; color: var(--pmarc-ink); background: #fff; border: 1px solid var(--pmarc-line); }
.pmarc-personalization-tab.is-active { color: #fff; background: var(--pmarc-ink); border-color: var(--pmarc-ink); }
.pmarc-personalization-panel[hidden] { display: none; }
.pmarc-upload-workflow { width: 100%; max-width: none; }
.pmarc-upload-workflow input[type="file"] { box-sizing: border-box; width: 100%; overflow: hidden; }
.pmarc-upload-file, .pmarc-upload-status, .pmarc-upload-ratio-note { margin: .75rem 0 0; overflow-wrap: anywhere; }
.pmarc-upload-file { color: var(--pmarc-ink); font-weight: 700; }
.pmarc-upload-status { padding: .75rem .85rem; color: var(--pmarc-muted); background: #fff; border: 1px solid var(--pmarc-line); border-radius: 5px; }
.pmarc-upload-status.is-success { color: #185f3d; background: #f0f8f4; border-color: #a9d4bd; }
.pmarc-upload-status.is-error { color: #942a2a; background: #fff4f4; border-color: #e2b2b2; }
.pmarc-upload-ratio-note { padding: .7rem .85rem; color: #694d12; background: #fff9e8; border-left: 3px solid #c89522; }
.pmarc-upload-preview { margin-top: 1rem; padding-top: 1rem; border-top: 1px solid var(--pmarc-line); }
.pmarc-upload-preview[hidden] { display: none; }
.pmarc-upload-actions { display: flex; flex-wrap: wrap; gap: .65rem 1rem; align-items: center; margin-top: 1rem; }
.pmarc-upload-actions .pmarc-text-action { margin: 0; }
.pmarc-upload-actions .button { min-height: 44px; margin: 0; }
.pmarc-upload-actions .button:disabled { cursor: not-allowed; opacity: .55; }
.pmarc-flag-designer { display: grid; grid-template-columns: minmax(260px, .8fr) minmax(420px, 1.45fr); gap: 1.5rem; align-items: start; margin-top: .5rem; }
.pmarc-flag-designer__intro { max-width: 58ch; margin: .65rem 0 1rem; color: var(--pmarc-muted); font-size: .9rem; }
.pmarc-flag-designer textarea, .pmarc-flag-designer input[type="range"] { display: block; width: 100%; margin: .35rem 0 .9rem; }
.pmarc-designer-group { margin: 0 0 .8rem; padding: 1rem; background: #fff; border: 1px solid var(--pmarc-line); border-radius: 6px; }
.pmarc-designer-group h4 { margin: 0 0 .8rem; font-size: 1rem; }
.pmarc-designer-controls { display: grid; grid-template-columns: minmax(8rem, .55fr) minmax(10rem, 1fr); gap: .1rem 1rem; align-items: center; margin-top: 1rem; padding: 1rem; background: #fff; border: 1px solid var(--pmarc-line); border-radius: 6px; }
.pmarc-text-action { min-height: 0; margin: 0 0 .8rem; padding: .25rem 0; color: var(--pmarc-blue); background: transparent; border: 0; box-shadow: none; text-decoration: underline; }
.pmarc-color-control { display: grid !important; grid-template-columns: minmax(0, 1fr) 44px auto; gap: .65rem; align-items: center; margin: .5rem 0; }
.pmarc-color-control input[type="color"] { box-sizing: border-box; width: 44px; height: 44px; margin: 0; padding: 3px; background: #fff; border: 1px solid var(--pmarc-line); border-radius: 4px; cursor: pointer; }
.pmarc-color-control output { min-width: 4.7rem; color: var(--pmarc-muted); font: .82rem/1.2 monospace; text-transform: lowercase; }
.pmarc-preview-tabs { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: .5rem; margin: 0 0 .8rem; }
.pmarc-preview-tab { min-height: 44px; color: var(--pmarc-ink); background: #fff; border: 1px solid var(--pmarc-line); }
.pmarc-preview-tab.is-active { color: #fff; background: var(--pmarc-ink); border-color: var(--pmarc-ink); }
.pmarc-preview-panel[hidden] { display: none; }
.pmarc-preview-panel > p { margin: .65rem 0 .5rem; }
.pmarc-design-surface { position: relative; box-sizing: border-box; container-type: inline-size; width: 100%; aspect-ratio: 43 / 13; overflow: hidden; color: var(--pmarc-ink); background: #fff; }
.pmarc-design-surface img, .pmarc-design-surface span { position: absolute; transform: translate(-50%, -50%); }
.pmarc-design-surface img { max-width: none; max-height: 90%; object-fit: contain; }
.pmarc-design-surface[data-pmarc-upload-surface] img { width: 100%; height: 100%; max-height: none; object-fit: cover; }
.pmarc-design-surface span { max-width: 90%; font-size: calc(var(--pmarc-text-size, 5.82) * 1cqw); white-space: pre-wrap; text-align: center; line-height: 1.05; }
.pmarc-flag-preview { margin-top: .5rem; border: 1px dashed var(--pmarc-line); }
.pmarc-flag-product { position: relative; width: 100%; overflow: hidden; background: #cfebf8; border: 1px solid var(--pmarc-line); border-radius: 6px; }
.pmarc-flag-product-composition { position: relative; width: 100%; aspect-ratio: 16 / 9; overflow: hidden; }
.pmarc-flag-product-scene { position: absolute; top: 50%; left: 50%; width: 100%; aspect-ratio: 1262 / 1246; transform: translate(-50%, -50%); }
.pmarc-flag-product-scene__photo { display: block; width: 100%; height: 100%; object-fit: fill; }
.pmarc-flag-product-scene__surface { position: absolute; top: var(--pmarc-mockup-y); left: var(--pmarc-mockup-x); width: var(--pmarc-mockup-width); border: 0; box-shadow: 0 0 0 2px #090d12, 0 2px 5px rgba(9, 19, 31, .2); }
.pmarc-flag-product-actions { display: flex; flex-wrap: wrap; gap: .75rem 1rem; align-items: center; justify-content: space-between; margin-top: .65rem; }
.pmarc-flag-product-actions small { flex: 1 1 20rem; }
.pmarc-flag-product-zoom { position: absolute; inset: 0; display: block; width: 100%; min-height: 0; margin: 0; padding: 0; color: var(--pmarc-ink); background: transparent; border: 0; border-radius: inherit; box-shadow: none; cursor: zoom-in; }
.pmarc-flag-product-zoom:hover, .pmarc-flag-product-zoom:active { color: var(--pmarc-ink); background: transparent; box-shadow: none; transform: none; }
.pmarc-flag-product-zoom:focus-visible { outline: 0; box-shadow: inset 0 0 0 3px rgba(31, 77, 122, .36); }
.pmarc-flag-product-zoom__icon { position: absolute; top: .75rem; right: .75rem; display: grid; place-items: center; width: 44px; height: 44px; color: var(--pmarc-ink); background: rgba(255, 255, 255, .94); border: 1px solid rgba(23, 32, 51, .2); border-radius: 50%; box-shadow: 0 4px 14px rgba(9, 19, 31, .18); }
.pmarc-flag-product-zoom__icon svg { width: 21px; height: 21px; fill: none; stroke: currentColor; stroke-width: 1.8; stroke-linecap: round; stroke-linejoin: round; }
.pmarc-flag-zoom { box-sizing: border-box; width: min(1100px, calc(100vw - 2rem)); max-width: none; max-height: calc(100vh - 2rem); padding: 0; overflow: hidden; color: var(--pmarc-ink); background: #fff; border: 1px solid var(--pmarc-line); border-radius: 8px; box-shadow: 0 20px 60px rgba(9, 19, 31, .28); }
.pmarc-flag-zoom::backdrop { background: rgba(9, 19, 31, .72); }
.pmarc-flag-zoom__window { display: grid; grid-template-rows: auto auto minmax(0, 1fr); max-height: calc(100vh - 2rem); }
.pmarc-flag-zoom__window > header { display: flex; gap: 1rem; align-items: center; justify-content: space-between; padding: .8rem 1rem; border-bottom: 1px solid var(--pmarc-line); }
.pmarc-flag-zoom__window h4 { margin: 0; font-size: 1.05rem; }
.pmarc-flag-zoom__close, .pmarc-flag-zoom__controls button { display: inline-grid; place-items: center; width: 44px; min-width: 44px; height: 44px; min-height: 44px; margin: 0; padding: 0; color: var(--pmarc-ink); background: #fff; border: 1px solid var(--pmarc-line); border-radius: 4px; box-shadow: none; }
.pmarc-flag-zoom__close { font-size: 1.6rem; font-weight: 400; line-height: 1; }
.pmarc-flag-zoom__controls { display: flex; gap: .6rem; align-items: center; justify-content: center; padding: .65rem 1rem; background: var(--pmarc-soft); border-bottom: 1px solid var(--pmarc-line); }
.pmarc-flag-zoom__controls output { min-width: 4.5rem; text-align: center; font-weight: 700; }
.pmarc-flag-zoom__controls button:disabled { cursor: not-allowed; opacity: .4; }
.pmarc-flag-zoom__close:focus-visible, .pmarc-flag-zoom__controls button:focus-visible, .pmarc-flag-zoom-open:focus-visible { outline: 3px solid rgba(31, 77, 122, .3); outline-offset: 2px; }
.pmarc-flag-zoom__viewport { box-sizing: border-box; width: 100%; max-height: calc(100vh - 10rem); overflow: auto; background: #cfebf8; }
.pmarc-flag-product-composition--zoom { min-width: 100%; }
.pmarc-designer-actions { display: flex; flex-wrap: wrap; gap: .6rem; margin: 1rem 0 .5rem; }
.pmarc-clamp-choice { margin: 1.25rem 0; padding: 0; border: 0; }
.pmarc-clamp-choice legend { margin-bottom: .2rem; font-weight: 700; }
.pmarc-clamp-required { margin: 0 0 .8rem; color: var(--pmarc-muted); font-size: .9rem; }
.single-product:is(.postid-70, .postid-494) form.cart .pmarc-clamp-submit-error { clear: both; margin: .65rem 0 0; color: #a11919; font-weight: 700; line-height: 1.4; }
.single-product:is(.postid-70, .postid-494) form.cart .pmarc-clamp-submit-error[hidden] { display: none; }
.pmarc-clamp-help { margin: -.35rem 0 .8rem; font-size: .9rem; }
.pmarc-clamp-help summary { width: fit-content; color: var(--pmarc-blue); cursor: pointer; text-decoration: underline; text-underline-offset: 2px; }
.pmarc-clamp-help p { margin: .45rem 0 0; color: var(--pmarc-muted); }
.pmarc-choice-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: .65rem; }
.pmarc-choice-card { position: relative; display: block; min-width: 0; cursor: pointer; }
.pmarc-choice-card input { position: absolute; width: 1px; height: 1px; opacity: 0; }
.pmarc-choice-card > span { display: grid; grid-template-rows: 78px minmax(0, 1fr); height: 100%; overflow: hidden; background: #fff; border: 1px solid var(--pmarc-line); border-radius: 7px; }
.pmarc-choice-card__media { display: block; overflow: hidden; background: var(--pmarc-soft); }
.pmarc-choice-card__media img { display: block; width: 100%; height: 100%; object-fit: cover; }
.pmarc-choice-card__media--standard img { transform: scale(1.9); transform-origin: 58% 58%; }
.pmarc-choice-card__media--universal img { transform: scale(1.9); transform-origin: 35% 52%; }
.pmarc-choice-card__media--both img { object-position: center 58%; }
.pmarc-clamp-choice--wide-images .pmarc-choice-card > span { grid-template-rows: auto minmax(0, 1fr); }
.pmarc-clamp-choice--wide-images .pmarc-choice-card__media { aspect-ratio: 16 / 9; }
.pmarc-clamp-choice--wide-images .pmarc-choice-card__media img { object-fit: contain; object-position: center; transform: none; }
.pmarc-choice-card__copy { display: block; padding: .75rem; }
.pmarc-choice-card strong, .pmarc-choice-card small { display: block; }
.pmarc-choice-card small { margin-top: .35rem; color: var(--pmarc-muted); font-weight: 400; line-height: 1.4; }
.pmarc-choice-card input:checked + span { border-color: var(--pmarc-blue); box-shadow: 0 0 0 2px rgba(31, 77, 122, .15); }
.pmarc-choice-card input:focus-visible + span { outline: 3px solid rgba(31, 77, 122, .28); outline-offset: 2px; }
.pmarc-live-price { margin: .75rem 0 0; }
/* Patrón visual aprobado para 308–310 y sus traducciones WPML. */
.pmarc-clamp-choice--visual-cards { box-sizing: border-box; width: 100%; min-width: 0; margin: 1.2rem 0; padding: 1.2rem; background: #f5f9fc; border: 1px solid #d7e5ee; border-radius: 12px; }
.pmarc-clamp-choice--visual-cards legend { max-width: 100%; margin: 0 0 .3rem; padding: 0 .35rem; color: var(--pmarc-ink); font-size: 1.28rem; line-height: 1.25; }
.pmarc-clamp-choice--visual-cards .pmarc-clamp-choice__question { margin: .15rem 0 .3rem; color: var(--pmarc-ink); font-weight: 600; }
.pmarc-clamp-choice--visual-cards .pmarc-clamp-choice__intro { margin: 0 0 .55rem; color: var(--pmarc-muted); line-height: 1.45; }
.pmarc-clamp-choice--visual-cards .pmarc-clamp-required { margin-bottom: 1rem; }
.pmarc-clamp-choice--visual-cards .pmarc-choice-grid { gap: .8rem; }
.pmarc-clamp-choice--visual-cards .pmarc-choice-card > span { min-width: 0; border: 2px solid #d7e2ea; border-radius: 10px; transition: border-color .15s ease, background-color .15s ease, box-shadow .15s ease; }
.pmarc-clamp-choice--visual-cards .pmarc-choice-card:hover > span { border-color: #8bb6d1; }
.pmarc-clamp-choice--visual-cards .pmarc-choice-card input:checked + span { background: #eaf5fc; border-color: var(--pmarc-blue); box-shadow: 0 0 0 2px rgba(31, 77, 122, .14); }
.pmarc-clamp-choice--visual-cards .pmarc-choice-card input:focus-visible + span { outline: 3px solid var(--pmarc-blue); outline-offset: 3px; }
.pmarc-clamp-choice--visual-cards .pmarc-choice-card__copy { display: flex; flex-direction: column; gap: .45rem; padding: .85rem; }
.pmarc-clamp-choice--visual-cards .pmarc-choice-card__heading { display: flex; align-items: flex-start; justify-content: space-between; gap: .5rem; }
.pmarc-clamp-choice--visual-cards .pmarc-choice-card__heading strong { min-width: 0; line-height: 1.25; }
.pmarc-clamp-choice--visual-cards .pmarc-choice-card__indicator { flex: 0 0 18px; box-sizing: border-box; width: 18px; height: 18px; border: 2px solid #7891a3; border-radius: 50%; background: #fff; }
.pmarc-clamp-choice--visual-cards .pmarc-choice-card input:checked + span .pmarc-choice-card__indicator { border-color: var(--pmarc-blue); background: var(--pmarc-blue); box-shadow: inset 0 0 0 4px #fff; }
.pmarc-clamp-choice--visual-cards .pmarc-choice-card small { margin: 0; }
.pmarc-clamp-choice--visual-cards .pmarc-choice-card__surcharge { align-self: flex-start; margin-top: auto; padding: .15rem .5rem; color: var(--pmarc-blue); background: #e6f2fa; border-radius: 999px; font-weight: 700; white-space: nowrap; }
.pmarc-clamp-choice--visual-cards .pmarc-live-price { margin: 1rem 0; font-weight: 600; }
.pmarc-clamp-choice--visual-cards .pmarc-clamp-choice__help { margin: 1rem 0 0; min-width: 0; background: #fff; border: 1px solid #d3e2ec; border-radius: 9px; }
.pmarc-clamp-choice--visual-cards .pmarc-clamp-choice__help-row { box-sizing: border-box; display: flex; align-items: center; justify-content: space-between; gap: 1rem; width: 100%; padding: .9rem 1rem; }
.pmarc-clamp-choice--visual-cards .pmarc-clamp-choice__help-row > span { min-width: 0; }
.pmarc-clamp-choice--visual-cards .pmarc-clamp-choice__help-row strong, .pmarc-clamp-choice--visual-cards .pmarc-clamp-choice__help-row small { display: block; }
.pmarc-clamp-choice--visual-cards .pmarc-clamp-choice__help-row small { margin-top: .2rem; color: var(--pmarc-muted); line-height: 1.4; }
.pmarc-clamp-choice--visual-cards .pmarc-clamp-choice__help-action { box-sizing: border-box; flex: 0 0 auto; max-width: 100%; padding: .55rem .75rem; color: #fff; background: var(--pmarc-blue); border-radius: 6px; font-weight: 600; text-align: center; white-space: normal; overflow-wrap: anywhere; }
.pmarc-clamp-choice--visual-cards .pmarc-clamp-choice__help-action:focus-visible { outline: 3px solid var(--pmarc-blue); outline-offset: 3px; }
.pmarc-clamp-choice--visual-cards .pmarc-clamp-choice__help-notice { margin: 0; padding: 0 1rem .9rem; color: var(--pmarc-ink); line-height: 1.45; overflow-wrap: anywhere; }
@media (max-width: 767px) {
	.pmarc-clamp-choice--visual-cards { padding: 1rem; }
	.pmarc-clamp-choice--visual-cards .pmarc-choice-grid { grid-template-columns: minmax(0, 1fr); }
	.pmarc-clamp-choice--visual-cards .pmarc-clamp-choice__help-row { align-items: stretch; flex-direction: column; }
	.pmarc-clamp-choice--visual-cards .pmarc-clamp-choice__help-action { align-self: flex-start; }
}
/* Selector único de packs 70 y 304–306: una composición 16:9 y una lupa por tarjeta. */
.pmarc-pack-clamp-choice .pmarc-pack-clamp-choice__photos { box-sizing: border-box; display: block; padding: .35rem; aspect-ratio: auto; }
.pmarc-pack-clamp-choice__photo { display: block; min-width: 0; aspect-ratio: 16 / 9; overflow: hidden; border-radius: 6px; pointer-events: none; }
.pmarc-pack-clamp-choice .pmarc-pack-clamp-choice__photo img { display: block; width: 100%; height: 100%; object-fit: contain; object-position: center; }
.pmarc-pack-clamp-choice__uses-title { margin: 1rem 0 .3rem; font-weight: 700; }
.pmarc-pack-clamp-choice__uses { margin: 0 0 1rem 1.35rem; }
.pmarc-pack-clamp-choice__option { position: relative; min-width: 0; }
.pmarc-pack-clamp-choice__option .pmarc-choice-card { height: 100%; }
.pmarc-pack-clamp-choice__zoom { box-sizing: border-box; position: absolute; z-index: 1; top: .9rem; right: .9rem; display: grid; place-items: center; width: 2.2rem; min-width: 2.2rem; max-width: 2.2rem; height: 2.2rem; min-height: 2.2rem; max-height: 2.2rem; aspect-ratio: 1 / 1; padding: 0; color: #132f48; background: rgba(255,255,255,.8); border: 1px solid #bdceda; border-radius: 50%; cursor: zoom-in; }
.pmarc-pack-clamp-choice__zoom svg { display: block; width: 1.1rem; height: 1.1rem; fill: none; stroke: currentColor; stroke-width: 2; stroke-linecap: round; }
.pmarc-pack-clamp-choice__zoom:focus-visible { outline: 3px solid var(--pmarc-blue); outline-offset: 2px; }
.pmarc-pack-clamp-lightbox { box-sizing: border-box; width: min(1050px, calc(100vw - 2rem)); max-width: none; max-height: min(900px, calc(100dvh - 2rem)); margin: auto; padding: 1rem; overflow: auto; color: var(--pmarc-ink); background: #fff; border: 1px solid #cedee9; border-radius: 14px; box-shadow: 0 20px 60px rgba(5,29,47,.22); }
.pmarc-pack-clamp-lightbox::backdrop { background: rgba(8,24,38,.74); }
.pmarc-pack-clamp-lightbox__header { position: sticky; z-index: 2; top: -1rem; display: flex; align-items: center; justify-content: space-between; gap: 1rem; padding: .4rem 0 .7rem; background: #fff; }
.pmarc-pack-clamp-lightbox__header h2 { margin: 0; font-size: 1.25rem; }
.pmarc-pack-clamp-lightbox__header button { flex: 0 0 auto; width: 2.5rem; height: 2.5rem; padding: 0; border: 1px solid #c5d5df; border-radius: 50%; background: #fff; color: var(--pmarc-ink); font-size: 1.6rem; line-height: 1; }
.pmarc-pack-clamp-lightbox__image { display: grid; place-items: center; min-height: 14rem; background: #f7f9fb; }
.pmarc-pack-clamp-lightbox__image img { display: block; width: auto; max-width: 100%; height: auto; max-height: min(70vh, 680px); object-fit: contain; }
.pmarc-pack-clamp-lightbox button:focus-visible { outline: 3px solid var(--pmarc-blue); outline-offset: 2px; }
@media (max-width: 600px) {
	.pmarc-pack-clamp-lightbox { width: calc(100vw - 1rem); max-height: calc(100dvh - 1rem); padding: .65rem; }
	.pmarc-pack-clamp-lightbox__header { top: -.65rem; }
	.pmarc-pack-clamp-lightbox__image img { max-height: calc(100dvh - 9rem); }
}
.pmarc-spares-form fieldset { margin: 1rem 0; padding: 0; border: 0; }
.pmarc-spares-form legend { font-size: 1.15rem; font-weight: 700; }
.pmarc-spares-intro { color: var(--pmarc-muted); }
.single-product div.product > .pmarc-spares-form { grid-column: 1 / -1; width: 100%; }
.pmarc-spares-list { display: grid; grid-template-columns: minmax(0, 1fr); gap: .65rem; }
.single-product div.product > .pmarc-spares-form .pmarc-spares-list { grid-template-columns: repeat(2, minmax(0, 1fr)); }
.pmarc-spare-row { display: grid; grid-template-columns: minmax(0, 1fr) auto; gap: .65rem; align-items: center; min-width: 0; padding: .6rem; background: #fff; border: 1px solid var(--pmarc-line); border-radius: 6px; }
.pmarc-spare-row.is-selected { border-color: var(--pmarc-blue); box-shadow: 0 0 0 2px rgba(31, 77, 122, .1); }
.pmarc-spare-row > label, .pmarc-spare-option { display: grid; grid-template-columns: auto 58px minmax(0, 1fr); gap: .55rem; align-items: center; min-width: 0; margin: 0; cursor: pointer; }
.pmarc-spares-form .pmarc-spare-thumb { box-sizing: border-box; display: block; width: 58px; height: 58px; overflow: hidden; background: #fff; border: 1px solid #dfe4e8; border-radius: 5px; }
.pmarc-spare-thumb img { display: block; width: 100%; height: 100%; object-fit: contain; }
.pmarc-spare-thumb--standard img { transform: scale(1.65); transform-origin: 58% 58%; }
.pmarc-spare-thumb--universal img { transform: scale(1.65); transform-origin: 34% 52%; }
.pmarc-spare-thumb--parts img { object-position: center; }
/* Recambios 245/513: ampliar la pieza, conservando su marco y archivo. */
.pmarc-spares-form .pmarc-spare-thumb--parts.pmarc-spare-thumb--pz002 img { transform: scale(2.35); transform-origin: 48.26% 50.87%; }
.pmarc-spares-form .pmarc-spare-thumb--parts.pmarc-spare-thumb--pz007 img { transform: scale(4.9); transform-origin: 55.03% 47.91%; }
/* Ampliación solo en Recambios 245/513: conserva miniaturas y selección. */
.pmarc-spare-media { position: relative; display: block; width: 58px; height: 58px; }
.pmarc-spare-media > label { display: block; margin: 0; cursor: pointer; }
.pmarc-spare-option > .pmarc-spare-copy { margin: 0; cursor: pointer; }
.pmarc-spare-media .pmarc-spare-zoom { top: 50%; right: auto; left: 50%; transform: translate(-50%, -50%); width: 44px; min-width: 44px; max-width: 44px; height: 44px; min-height: 44px; max-height: 44px; }
.pmarc-spare-hover-preview { display: none; }
@media (hover: hover) and (pointer: fine) {
	.pmarc-spare-hover-preview:not([hidden]) { box-sizing: border-box; display: block; position: fixed; z-index: 40; margin: 0; padding: 8px; pointer-events: none; object-fit: contain; background: #fff; border: 1px solid var(--pmarc-line); border-radius: 8px; box-shadow: 0 6px 24px rgba(5,29,47,.18); }
}
.pmarc-spare-copy { min-width: 0; }
.pmarc-spare-row strong, .pmarc-spare-row small, .pmarc-spare-row .price { display: block; }
.pmarc-spare-row small { margin-top: .2rem; color: var(--pmarc-muted); }
.pmarc-spare-description { display: block; margin-top: .3rem; color: var(--pmarc-muted); font-size: .84rem; line-height: 1.4; }
.pmarc-spare-description p { margin: 0 0 .25rem; }
.pmarc-spare-description p:last-child { margin-bottom: 0; }
.pmarc-spare-row .price { margin-top: .35rem; font-weight: 700; }
.pmarc-spare-quantity { display: grid; grid-template-columns: 34px 44px 34px; align-items: center; }
.pmarc-spare-quantity button, .pmarc-spare-quantity input { box-sizing: border-box; width: 100%; min-height: 36px; margin: 0; padding: .35rem .2rem; text-align: center; }
.pmarc-spare-quantity input { border-right: 0; border-left: 0; }
.pmarc-spares-summary { margin: 1rem 0; }
.pmarc-spares-summary p { margin: 0; font-weight: 700; }
.pmarc-spares-summary ul { display: flex; flex-wrap: wrap; gap: .3rem .9rem; margin: .45rem 0 0 1.2rem; }
.pmarc-spares-summary li { margin: 0; }
.pmarc-resource-pending { display: inline-flex; min-height: 42px; align-items: center; padding: .55rem .85rem; color: var(--pmarc-muted); background: var(--pmarc-soft); border: 1px solid var(--pmarc-line); border-radius: 4px; }
.pmarc-product-instructions > :last-child { margin-bottom: 0; }
.pmarc-provisional { margin: 1rem 0; padding: .85rem 1rem; color: #6f263d; background: #faf5f7; border-left: 3px solid #6f263d; }
.pmarc-provisional strong { display: block; margin-bottom: .2rem; font-size: .78rem; letter-spacing: .06em; text-transform: uppercase; }
.pmarc-sport-page #primary.content-area, .pmarc-sport-page .content-area, .pmarc-sport-page .site-main { float: none; width: 100%; max-width: none; margin-right: 0; }
.pmarc-sport-page .entry-header { display: none; }
.pmarc-sport-page .pmarc-use-page { max-width: none; }
.pmarc-sport-page .pmarc-use-points { width: 100%; max-width: var(--pmarc-container-width); margin-right: auto; margin-left: auto; }
.pmarc-use-hero { grid-template-columns: minmax(0, 1.05fr) minmax(0, .95fr); gap: 0; overflow: hidden; background: var(--pmarc-soft); border: 1px solid var(--pmarc-line); border-radius: 10px; }
.pmarc-use-hero > div { align-self: center; padding: clamp(1.4rem, 4vw, 3rem); }
.pmarc-use-hero h1 { max-width: 15ch; margin-bottom: .75rem; color: var(--pmarc-ink); font-size: clamp(2rem, 4vw, 3.2rem); line-height: 1.05; }
.pmarc-use-hero p { max-width: 54ch; color: #343d4b; line-height: 1.65; }
.pmarc-use-hero img { width: 100%; height: 100%; min-height: 330px; max-height: 460px; aspect-ratio: 4 / 3; object-fit: cover; }
.page-id-317 .pmarc-use-hero > img { object-position: center 7%; }
.page-id-319 .pmarc-use-hero > img { object-position: center 20%; }
.page-id-321 .pmarc-use-hero > img { object-position: center 37%; }
.pmarc-use-points ul { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: .9rem; margin: 1.25rem 0 0; padding: 0; list-style: none; }
.pmarc-use-points li { position: relative; min-height: 100%; padding: 1rem 1rem 1rem 2.75rem; background: linear-gradient(145deg, #fff 0%, #f7f9fb 100%); border: 1px solid var(--pmarc-line); border-radius: 8px; box-shadow: 0 6px 18px rgba(23, 32, 51, .04); }
.pmarc-use-points li::before { position: absolute; top: 1rem; left: 1rem; width: 1rem; height: 1rem; content: ''; border: 2px solid var(--pmarc-blue); border-radius: 50%; box-shadow: inset 0 0 0 3px #fff; background: var(--pmarc-blue); }
.pmarc-sport-back { margin: 0 0 1rem; }
.pmarc-sport-back a { display: inline-flex; min-height: 42px; align-items: center; padding: .55rem .85rem; color: var(--pmarc-ink); font-size: .94rem; font-weight: 700; text-decoration: none; background: #fff; border: 1px solid var(--pmarc-blue); border-radius: 4px; }
.pmarc-sport-back a:hover, .pmarc-sport-back a:focus { color: #fff; background: var(--pmarc-blue); }
.pmarc-sport-catalog { margin-top: 2.5rem; padding-top: 2rem; border-top: 1px solid var(--pmarc-line); }
.pmarc-sport-catalog > h2 { margin-bottom: 1.2rem; font-size: clamp(1.45rem, 2.5vw, 1.9rem); }
.pmarc-sport-main-product { max-width: none; margin-bottom: 2.25rem; }
.pmarc-sport-related-title { padding-top: 1.75rem; border-top: 1px solid var(--pmarc-line); }
.pmarc-sport-secondary-products { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 1.5rem; }
.pmarc-sport-product-card { position: relative; display: flex; min-width: 0; flex-direction: column; overflow: hidden; background: #fff; border: 1px solid var(--pmarc-line); border-radius: 8px; box-shadow: 0 8px 22px rgba(23, 32, 51, .05); }
.pmarc-sport-product-card--featured { display: grid; grid-template-columns: minmax(0, .72fr) minmax(0, 1.28fr); background: var(--pmarc-soft); }
.pmarc-sport-product-card__image img { display: block; width: 100%; aspect-ratio: 1 / 1; object-fit: cover; }
.pmarc-sport-product-card__image::after { position: absolute; z-index: 1; inset: 0; content: ''; }
.pmarc-sport-product-card__image:focus-visible::after { outline: 3px solid rgba(31, 77, 122, .28); outline-offset: -3px; }
.pmarc-sport-product-card--featured .pmarc-sport-product-card__image img { height: auto; aspect-ratio: 1 / 1; }
.pmarc-sport-product-card__body { display: flex; flex: 1; flex-direction: column; align-items: flex-start; padding: 1rem 1rem 1.25rem; }
.pmarc-sport-product-card--featured .pmarc-sport-product-card__body { justify-content: center; padding: clamp(1.25rem, 3vw, 2rem); }
.pmarc-sport-product-card__body h3 { margin: 0 0 .7rem; font-size: 1rem; }
.pmarc-sport-product-card--featured .pmarc-sport-product-card__body h3 { font-size: clamp(1.35rem, 3vw, 2rem); }
.pmarc-sport-product-card__body h3 a { color: var(--pmarc-ink); text-decoration: none; }
.pmarc-sport-product-card__body h3 a:hover, .pmarc-sport-product-card__body h3 a:focus { color: var(--pmarc-blue); text-decoration: underline; text-decoration-thickness: 1px; text-underline-offset: .16em; }
.pmarc-sport-product-card__excerpt { margin: 0 0 .9rem; color: var(--pmarc-muted); line-height: 1.55; }
.pmarc-sport-product-card__body .price { margin: auto 0 .8rem; }
.pmarc-sport-product-card__body h3 a, .pmarc-sport-product-card__body .pmarc-card-cta { position: relative; z-index: 2; }
.pmarc-sport-secondary-products .pmarc-sport-product-card { min-height: 100%; }
.pmarc-sport-secondary-products .pmarc-sport-product-card__body h3 { min-height: 2.7em; line-height: 1.35; }
.pmarc-product-resources a { display: inline-block; margin: .35rem .8rem .35rem 0; }
.pmarc-details-link { margin: 1.1rem 0 0; }
.pmarc-details-link a, .pmarc-back-link a { display: inline-flex; min-height: 42px; align-items: center; padding: .55rem .85rem; color: var(--pmarc-ink); font-size: .94rem; font-weight: 700; text-decoration: none; background: #fff; border: 1px solid var(--pmarc-blue); border-radius: 4px; }
.pmarc-details-link a:hover, .pmarc-details-link a:focus, .pmarc-back-link a:hover, .pmarc-back-link a:focus { color: #fff; background: var(--pmarc-blue); }
.single-product .pmarc-pack-quick-links { display: grid; gap: .6rem; margin: 1.1rem 0 0; }
.single-product .pmarc-pack-quick-links--1 { grid-template-columns: minmax(0, 1fr); }
.single-product .pmarc-pack-quick-links--2 { grid-template-columns: repeat(2, minmax(0, 1fr)); }
.single-product .pmarc-pack-quick-links--3 { grid-template-columns: repeat(3, minmax(0, 1fr)); }
.single-product .pmarc-pack-quick-links--4 { grid-template-columns: repeat(2, minmax(0, 1fr)); }
.single-product .pmarc-pack-quick-links a, .single-product .pmarc-pack-quick-links .pmarc-replacement-catalog-pending { box-sizing: border-box; display: inline-flex; width: 100%; min-width: 0; max-width: 100%; min-height: 42px; height: auto; align-items: center; justify-content: center; padding: .55rem .85rem; overflow-wrap: anywhere; color: var(--pmarc-ink); font-size: .9rem; font-weight: 700; line-height: 1.25; white-space: normal; text-align: center; text-decoration: none; background: #fff; border: 1px solid var(--pmarc-blue); border-radius: 4px; }
.single-product .pmarc-replacement-catalog-pending { flex-direction: column; gap: .2rem; opacity: .7; cursor: default; }
.single-product .pmarc-replacement-catalog-pending small { font-size: .75rem; font-weight: 400; }
.single-product .pmarc-pack-quick-links a:hover, .single-product .pmarc-pack-quick-links a:active, .single-product .pmarc-pack-quick-links a:focus-visible { color: #fff; background: var(--pmarc-blue); }
/* Keep documentary focus inside its box: Storefront/product and accordion wrappers may clip external outlines. */
.single-product .pmarc-pack-quick-links a:focus,
.single-product .pmarc-product-details a.button:focus,
.single-product .pmarc-details-link a:focus { outline-offset: -3px; }
.single-product .pmarc-flag-entry { box-sizing: border-box; margin: .85rem 0 0; padding: 1rem 1.1rem; text-align: center; background: #f7fafc; border: 1px solid var(--pmarc-line); border-radius: 6px; }
.single-product form.cart > .pmarc-flag-entry { margin-bottom: 1rem; }
.single-product .pmarc-flag-entry p { margin: 0 0 .5rem; color: var(--pmarc-muted); line-height: 1.45; }
.single-product .pmarc-flag-entry .pmarc-flag-entry__title { color: var(--pmarc-ink); font-weight: 700; }
.single-product .pmarc-flag-entry__cta { display: inline-flex; min-height: 42px; max-width: 100%; align-items: center; justify-content: center; margin-top: .35rem; padding: .55rem 1rem; color: #fff; font-weight: 700; text-align: center; text-decoration: none; overflow-wrap: anywhere; background: var(--pmarc-blue); border: 1px solid var(--pmarc-blue); border-radius: 4px; }
.single-product .pmarc-flag-entry__cta:hover, .single-product .pmarc-flag-entry__cta:focus-visible { color: var(--pmarc-blue); background: #fff; }
.single-product.pmarc-product-flag-designer:not(.pmarc-product-designer-mode) .pmarc-logo-upload--dedicated { display: none; }
.single-product.pmarc-product-flag-designer.pmarc-product-designer-mode div.product { grid-template-columns: minmax(0, 1fr); }
.single-product.pmarc-product-flag-designer.pmarc-product-designer-mode div.product > :is(.pmarc-other-pack-plus-sticky-row, .pmarc-flag-sticky-row) { display: none; }
.single-product.pmarc-product-flag-designer.pmarc-product-designer-mode div.product > .pmarc-pack-plus-sticky-row { display: contents; }
.single-product.pmarc-product-flag-designer.pmarc-product-designer-mode .pmarc-pack-plus-sticky-row > :is(.woocommerce-product-gallery, .summary) { display: none !important; }
.single-product.pmarc-product-flag-designer.pmarc-product-designer-mode .pmarc-pack-plus-sticky-row > .pmarc-logo-upload--dedicated { display: block; grid-column: 1 / -1; width: min(100%, 1120px); margin: 0 auto; }
.single-product.pmarc-product-flag-designer.pmarc-product-designer-mode div.product > .woocommerce-product-gallery,
.single-product.pmarc-product-flag-designer.pmarc-product-designer-mode div.product > .summary,
.single-product.pmarc-product-flag-designer.pmarc-product-designer-mode div.product > .pmarc-free-shipping-note,
.single-product.pmarc-product-flag-designer.pmarc-product-designer-mode div.product > .pmarc-product-details,
.single-product.pmarc-product-flag-designer.pmarc-product-designer-mode div.product > .related.products,
.single-product.pmarc-product-flag-designer.pmarc-product-designer-mode .pmarc-back-link--mobile { display: none !important; }
.single-product.pmarc-product-flag-designer.pmarc-product-designer-mode div.product > .pmarc-logo-upload--dedicated { display: block; grid-column: 1 / -1; width: min(100%, 1120px); margin: 0 auto; }
.pmarc-designer-screen__header { margin: 0 0 1.35rem; padding-bottom: 1.2rem; border-bottom: 1px solid var(--pmarc-line); }
.pmarc-designer-screen__eyebrow { margin: 0 0 .4rem; color: var(--pmarc-blue); font-size: .82rem; font-weight: 700; letter-spacing: .06em; text-transform: uppercase; }
.pmarc-designer-screen__header h1 { max-width: 24ch; margin: 0 0 .65rem; font-size: clamp(1.65rem, 4vw, 2.45rem); line-height: 1.12; }
.pmarc-designer-screen__header h1:focus { outline: 0; }
.pmarc-designer-screen__header p:not(.pmarc-designer-screen__eyebrow) { max-width: 68ch; margin: 0 0 .8rem; color: var(--pmarc-muted); line-height: 1.6; }
.pmarc-designer-screen__back { display: inline-flex; min-height: 44px; align-items: center; color: var(--pmarc-blue); font-weight: 700; }
.pmarc-designer-screen__actions { display: flex; flex-wrap: wrap; gap: .75rem 1rem; align-items: center; margin-top: 1.25rem; padding-top: 1.25rem; border-top: 1px solid var(--pmarc-line); }
.pmarc-designer-screen__actions .button { min-height: 44px; height: auto; margin: 0; padding: .75rem 1rem; white-space: normal; }
.pmarc-designer-screen__status { flex: 1 1 18rem; margin: 0; color: #185f3d; line-height: 1.45; }
.pmarc-designer-screen__status.is-error { color: #942a2a; }
.single-product.pmarc-product-pack-plus-beach-tennis .pmarc-logo-upload .pmarc-upload-actions .button,
.single-product.pmarc-product-pack-plus-beach-tennis .pmarc-logo-upload .pmarc-designer-actions .button,
.single-product.pmarc-product-content-sheet .pmarc-product-details .button,
.single-product.pmarc-product-pack-plus-beach-tennis .single_add_to_cart_button { max-width: 100%; height: auto; min-height: 44px; overflow-wrap: anywhere; white-space: normal; }

/* Un único bloque de venta cruzada a ancho completo; las fichas con PDF lo sitúan tras sus detalles. */
.single-product div.product > .related.products { grid-column: 1 / -1; width: 100%; margin: .5rem 0 0; padding-top: 2rem; border-top: 1px solid var(--pmarc-line); }
.single-product div.product > .related.products > h2 { margin-bottom: 1.2rem; font-size: clamp(1.45rem, 2.5vw, 1.9rem); }
.single-product div.product > .related.products ul.products { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 1.25rem; }
.single-product div.product > .related.products ul.products li.product { font-size: .92rem; }
.single-product div.product > .related.products ul.products li.product .woocommerce-loop-product__title { min-height: 3em; font-size: .95rem; }
.single-product div.product > .related.products ul.products li.product .pmarc-card-cta { padding: .6rem .8rem; font-size: .84rem; }
.pmarc-product-details { grid-column: 1 / -1; width: 100%; margin: 0; padding-top: 2rem; border-top: 1px solid var(--pmarc-line); scroll-margin-top: 2rem; }
.single-product.pmarc-product-content-sheet #pmarc-detalles-producto, .single-product.pmarc-product-content-sheet #pmarc-personalizacion { scroll-margin-top: 2rem; }
.pmarc-product-details > h2 { margin: 0 0 1.25rem; font-size: clamp(1.55rem, 2.5vw, 2rem); }
.pmarc-product-accordions { width: 100%; max-width: 1050px; }
.pmarc-product-accordions details { margin: 0; background: #fff; border-top: 1px solid var(--pmarc-line); }
.pmarc-product-accordions details:last-child { border-bottom: 1px solid var(--pmarc-line); }
.pmarc-product-accordions summary { position: relative; padding: 1rem 2.75rem 1rem 0; font-size: 1.05rem; font-weight: 700; cursor: pointer; list-style: none; }
.pmarc-product-accordions summary::-webkit-details-marker { display: none; }
.pmarc-product-accordions summary::after { position: absolute; top: .9rem; right: .25rem; content: '+'; color: var(--pmarc-blue); font-size: 1.35rem; line-height: 1; }
.pmarc-product-accordions details[open] summary::after { content: '−'; }
.pmarc-accordion-content { padding: 0 2.75rem 1.25rem 0; color: #343d4b; line-height: 1.7; }
.pmarc-accordion-content > :last-child { margin-bottom: 0; }
.pmarc-secondary-button { background: var(--pmarc-soft); color: var(--pmarc-ink); }
.single-product.pmarc-product-content-sheet .pmarc-product-accordions { max-width: none; }
.single-product.pmarc-product-content-sheet .pmarc-product-accordions details { margin-bottom: .65rem; overflow: hidden; border: 1px solid var(--pmarc-line); border-radius: 6px; }
.single-product.pmarc-product-content-sheet .pmarc-product-accordions details:last-child { border-bottom: 1px solid var(--pmarc-line); }
.single-product.pmarc-product-content-sheet .pmarc-product-accordions summary { display: flex; min-height: 52px; align-items: center; justify-content: space-between; gap: 1rem; padding: .85rem 1rem; background: #fff; transition: background-color .16s ease, color .16s ease; }
.single-product.pmarc-product-content-sheet .pmarc-product-accordions summary::after { display: none; content: none; }
.single-product.pmarc-product-content-sheet .pmarc-product-accordions summary:hover { background: var(--pmarc-soft); }
.single-product.pmarc-product-content-sheet .pmarc-product-accordions summary:focus-visible { outline: 3px solid rgba(31, 77, 122, .28); outline-offset: -3px; }
.single-product.pmarc-product-content-sheet .pmarc-product-accordions details[open] summary { color: var(--pmarc-blue); background: #f7fafc; border-bottom: 1px solid var(--pmarc-line); }
.single-product.pmarc-product-content-sheet .pmarc-accordion-indicator { display: inline-grid; flex: 0 0 32px; place-items: center; width: 32px; height: 32px; color: var(--pmarc-blue); border: 1px solid #c9d7e3; border-radius: 50%; transition: transform .16s ease; }
.single-product.pmarc-product-content-sheet .pmarc-accordion-indicator svg { width: 18px; height: 18px; fill: none; stroke: currentColor; stroke-width: 1.8; stroke-linecap: round; stroke-linejoin: round; }
.single-product.pmarc-product-content-sheet .pmarc-product-accordions details[open] .pmarc-accordion-indicator { transform: rotate(180deg); }
.single-product.pmarc-product-content-sheet .pmarc-product-accordions .pmarc-accordion-content { padding: 1rem; }
/* Prueba de compactación exclusivamente en Pack marcador ES/EN; tipografía intacta. */
.single-product:is(.postid-70, .postid-494) .summary .woocommerce-product-details__short-description > :is(p, ul, ol) { margin-bottom: .7rem; }
.single-product:is(.postid-70, .postid-494) .pmarc-product-details > h2 { margin-bottom: .9rem; }
.single-product:is(.postid-70, .postid-494).pmarc-product-content-sheet .pmarc-product-accordions details { margin-bottom: .5rem; }
.single-product:is(.postid-70, .postid-494).pmarc-product-content-sheet .pmarc-product-accordions summary { min-height: 48px; padding: .7rem 1rem; }
.single-product:is(.postid-70, .postid-494).pmarc-product-content-sheet .pmarc-product-accordions .pmarc-accordion-content { padding: .75rem 1rem; }
.single-product:is(.postid-70, .postid-494) .pmarc-accordion-content :is(p, ul, ol) { margin-top: 0; margin-bottom: .65rem; }
.single-product:is(.postid-70, .postid-494) .pmarc-accordion-content :is(h3, h4) { margin-top: .9rem; margin-bottom: .4rem; }
.single-product:is(.postid-70, .postid-494) .pmarc-accordion-content > :last-child { margin-bottom: 0; }

/* Solo la composición de producto: jerarquía legible sin espacios de artículo largo. */
.single-product .pmarc-product-accordions .pmarc-product-includes .pmarc-accordion-content :is(h3, h4, h5) { margin: 1.1rem 0 .4rem; font-size: 1.05rem; font-weight: 700; line-height: 1.35; }
.single-product .pmarc-product-accordions .pmarc-product-includes .pmarc-accordion-content > :is(h3, h4, h5):first-child { margin-top: 0; }
.single-product .pmarc-product-accordions .pmarc-product-includes .pmarc-accordion-content :is(ul, ol) { margin: .25rem 0 .8rem; padding-left: 1.35rem; }
.single-product .pmarc-product-accordions .pmarc-product-includes .pmarc-accordion-content li + li { margin-top: .2rem; }
.single-product .pmarc-product-accordions .pmarc-product-includes .pmarc-accordion-content p { margin: 0 0 .7rem; }
.single-product .pmarc-product-accordions .pmarc-product-includes .pmarc-accordion-content .pmarc-contents-pdf-link { margin-top: 1rem; }
.single-product .pmarc-product-accordions .pmarc-product-includes .pmarc-accordion-content > :last-child { margin-bottom: 0; }


/* Placeholder con el logo real de la biblioteca de medios. */
.pmarc-placeholder-product img { padding: 22%; object-fit: contain !important; background: var(--pmarc-soft) !important; }
.pmarc-placeholder-notice { display: inline-block; margin: 0 1rem .8rem; padding: .28rem .55rem; color: var(--pmarc-muted); font-size: .78rem; background: var(--pmarc-soft); border-radius: 999px; }
.single-product .summary > .pmarc-placeholder-notice { margin-left: 0; }

/* Mi cuenta: presentación sobre los endpoints y formularios nativos de WooCommerce. */
.woocommerce-account #primary.content-area, .woocommerce-account .content-area, .woocommerce-account .site-main { float: none; width: 100%; max-width: none; margin-right: 0; }
.woocommerce-account .hentry { margin-bottom: 0; }
.woocommerce-account .entry-header { margin-bottom: 1.75rem; }
.logged-in.woocommerce-account .woocommerce { display: grid; grid-template-columns: 245px minmax(0, 1fr); gap: clamp(1.25rem, 2.4vw, 2rem); align-items: start; width: 100%; max-width: none; margin-right: auto; margin-left: auto; }
.woocommerce-account .woocommerce-MyAccount-navigation, .woocommerce-account .woocommerce-MyAccount-content { float: none; width: auto; min-width: 0; max-width: none; }
.woocommerce-account .woocommerce-MyAccount-navigation { padding: .55rem; background: #fff; border: 1px solid var(--pmarc-line); border-radius: 12px; box-shadow: 0 8px 22px rgba(23, 32, 51, .04); }
.woocommerce-account .woocommerce-MyAccount-navigation ul { margin: 0; padding: 0; list-style: none; }
.woocommerce-account .woocommerce-MyAccount-navigation li { margin: 0; border-bottom: 1px solid rgba(23, 32, 51, .07); }
.woocommerce-account .woocommerce-MyAccount-navigation li:last-child, .woocommerce-account .woocommerce-MyAccount-navigation .woocommerce-MyAccount-navigation-link--customer-logout { border-bottom: 0; }
.woocommerce-account .woocommerce-MyAccount-navigation a { display: block; padding: .78rem .85rem; padding-left: calc(.85rem + 10px); color: var(--pmarc-ink); font-weight: 600; line-height: 1.35; border-left: 3px solid transparent; border-radius: 7px; text-decoration: none; }
.woocommerce-account .woocommerce-MyAccount-navigation a::before { display: none !important; content: none !important; }
.woocommerce-account .woocommerce-MyAccount-navigation a:hover, .woocommerce-account .woocommerce-MyAccount-navigation a:focus-visible { color: var(--pmarc-ink); background: #f9f4e3; }
.woocommerce-account .woocommerce-MyAccount-navigation .is-active a, .woocommerce-account .woocommerce-MyAccount-navigation .is-active a:hover, .woocommerce-account .woocommerce-MyAccount-navigation .is-active a:focus-visible { color: var(--pmarc-ink); background: #fff3c9; border-left-color: #d8aa12; }
.woocommerce-account .woocommerce-MyAccount-navigation .woocommerce-MyAccount-navigation-link--customer-logout { margin-top: .4rem; padding-top: .4rem; border-top: 1px solid var(--pmarc-line); }
.woocommerce-account .woocommerce-MyAccount-navigation .woocommerce-MyAccount-navigation-link--customer-logout a { color: var(--pmarc-muted); font-weight: 500; }
.woocommerce-account .woocommerce-MyAccount-content { box-sizing: border-box; min-height: 0; padding: clamp(1.25rem, 2.4vw, 2rem); background: #fff; border: 1px solid var(--pmarc-line); border-radius: 12px; box-shadow: 0 8px 22px rgba(23, 32, 51, .04); overflow-wrap: anywhere; }
.woocommerce-account .woocommerce-MyAccount-content > p { max-width: 72ch; }
.woocommerce-account .woocommerce-MyAccount-content > :first-child { margin-top: 0; }
.woocommerce-account .woocommerce-MyAccount-content > :last-child { margin-bottom: 0; }
.woocommerce-account .pmarc-account-intro { position: relative; max-width: 68ch; margin-bottom: 1.65rem; }
.woocommerce-account .pmarc-account-intro h2 { margin: 0 0 .65rem; color: var(--pmarc-ink); font-size: clamp(1.45rem, 2.3vw, 1.8rem); line-height: 1.25; }
.woocommerce-account .pmarc-account-intro p { margin: 0 0 .5rem; color: var(--pmarc-muted); }
.woocommerce-account .pmarc-account-logout { display: inline-block; padding: .35rem 0; color: var(--pmarc-muted); font-size: .9rem; font-weight: 500; text-underline-offset: .2em; }
.woocommerce-account .pmarc-account-shortcuts { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: .85rem; margin-bottom: 2rem; }
.woocommerce-account .pmarc-account-shortcut { display: flex; flex-direction: column; align-items: flex-start; min-width: 0; min-height: 190px; box-sizing: border-box; padding: 1.15rem; color: var(--pmarc-ink); background: #fff; border: 1px solid #e6e4dc; border-radius: 10px; text-decoration: none; box-shadow: 0 3px 12px rgba(23, 32, 51, .035); }
.woocommerce-account .pmarc-account-shortcut:hover, .woocommerce-account .pmarc-account-shortcut:focus-visible { color: var(--pmarc-ink); border-color: #d8aa12; box-shadow: 0 6px 18px rgba(23, 32, 51, .08); }
.woocommerce-account .pmarc-account-shortcut__icon { display: grid; place-items: center; width: 34px; height: 34px; margin-bottom: .7rem; color: var(--pmarc-blue); background: #f6f8f9; border-radius: 8px; }
.woocommerce-account .pmarc-account-shortcut__icon svg { width: 19px; height: 19px; stroke: currentColor; stroke-width: 1.7; stroke-linecap: round; stroke-linejoin: round; }
.woocommerce-account .pmarc-account-shortcut strong { margin-bottom: .25rem; font-size: 1.04rem; }
.woocommerce-account .pmarc-account-shortcut > span:not(.pmarc-account-shortcut__icon, .pmarc-account-shortcut__action) { color: var(--pmarc-muted); font-size: .88rem; line-height: 1.45; }
.woocommerce-account .pmarc-account-shortcut__action { margin-top: auto; padding-top: .85rem; color: var(--pmarc-blue); font-size: .88rem; font-weight: 700; }
.woocommerce-account .pmarc-account-recent__header { display: flex; flex-wrap: wrap; align-items: baseline; justify-content: space-between; gap: .4rem 1rem; margin-bottom: .85rem; }
.woocommerce-account .pmarc-account-recent__header h2 { margin: 0; color: var(--pmarc-ink); font-size: 1.35rem; }
.woocommerce-account .pmarc-account-recent__header a { font-size: .9rem; font-weight: 600; }
.woocommerce-account .pmarc-account-recent__list { margin: 0; padding: 0; list-style: none; }
.woocommerce-account .pmarc-account-order { display: grid; grid-template-columns: 56px minmax(0, 1fr) auto auto; gap: .85rem; align-items: center; min-width: 0; margin-bottom: .65rem; padding: .85rem; border: 1px solid var(--pmarc-line); border-radius: 9px; }
.woocommerce-account .pmarc-account-order__thumbnail { width: 56px; height: 56px; background: #fafafa; border-radius: 7px; overflow: hidden; }
.woocommerce-account .pmarc-account-order__thumbnail img { display: block; width: 100%; height: 100%; object-fit: contain; }
.woocommerce-account .pmarc-account-order__details, .woocommerce-account .pmarc-account-order__summary { display: flex; flex-direction: column; gap: .15rem; min-width: 0; }
.woocommerce-account .pmarc-account-order__details > :not(strong), .woocommerce-account .pmarc-account-order__status { color: var(--pmarc-muted); font-size: .85rem; }
.woocommerce-account .pmarc-account-order__action { display: inline-block; padding: .55rem .7rem; color: var(--pmarc-blue); font-size: .87rem; font-weight: 700; text-align: center; border: 1px solid var(--pmarc-line); border-radius: 6px; text-decoration: none; white-space: nowrap; }
.woocommerce-account .pmarc-account-order__action:hover, .woocommerce-account .pmarc-account-order__action:focus-visible { background: #fff3c9; }
.woocommerce-account .pmarc-account-recent__empty { padding: 1rem; color: var(--pmarc-muted); background: #fafaf8; border: 1px solid var(--pmarc-line); border-radius: 8px; }
/* Endpoints nativos: apariencia común sin sustituir tablas, campos, acciones ni notices. */
.woocommerce-account .woocommerce-MyAccount-content :is(h2, h3) { color: var(--pmarc-ink); }
.woocommerce-account .woocommerce-MyAccount-content :is(.woocommerce-orders-table, .woocommerce-table--order-details, .woocommerce-table--order-downloads, .woocommerce-MyAccount-paymentMethods) { width: 100%; margin-bottom: 1.5rem; border: 1px solid var(--pmarc-line); border-radius: 9px; border-collapse: separate; border-spacing: 0; overflow: hidden; }
.woocommerce-account .woocommerce-MyAccount-content :is(.woocommerce-orders-table, .woocommerce-table--order-details, .woocommerce-table--order-downloads, .woocommerce-MyAccount-paymentMethods) :is(th, td) { padding: .8rem .9rem; border-bottom: 1px solid var(--pmarc-line); overflow-wrap: anywhere; }
.woocommerce-account .woocommerce-MyAccount-content :is(.woocommerce-orders-table, .woocommerce-table--order-details, .woocommerce-table--order-downloads, .woocommerce-MyAccount-paymentMethods) th { color: var(--pmarc-ink); background: #fafaf8; }
.woocommerce-account .woocommerce-table--order-details td.product-name > a { color: var(--pmarc-ink); font-weight: 700; }
.woocommerce-account .woocommerce-table--order-details td.product-name .wc-item-meta { margin: .4rem 0 0; color: var(--pmarc-muted); font-size: .85rem; font-weight: 400; }
.woocommerce-account .woocommerce-MyAccount-content :is(.woocommerce-order-details, .woocommerce-customer-details, .woocommerce-order-downloads) { margin-top: 1.8rem; }
.woocommerce-account .woocommerce-MyAccount-content .woocommerce-Addresses { display: grid; grid-template-columns: repeat(auto-fit, minmax(min(100%, 280px), 1fr)); gap: 1rem; margin: 1.25rem 0; }
.woocommerce-account .woocommerce-MyAccount-content .woocommerce-Addresses::before, .woocommerce-account .woocommerce-MyAccount-content .woocommerce-Addresses::after { display: none; }
.woocommerce-account .woocommerce-MyAccount-content .woocommerce-Addresses > div { float: none; box-sizing: border-box; width: auto; min-width: 0; margin: 0; padding: 1.2rem; border: 1px solid var(--pmarc-line); border-radius: 9px; }
.woocommerce-account .woocommerce-MyAccount-content .woocommerce-Addresses h3 { margin-top: 0; }
.woocommerce-account .woocommerce-MyAccount-content .woocommerce-Addresses address, .woocommerce-account .woocommerce-MyAccount-content .woocommerce-customer-details address { padding: 0; border: 0; font-style: normal; line-height: 1.65; }
.woocommerce-account .woocommerce-MyAccount-content .form-row { max-width: 100%; }
.woocommerce-account .woocommerce-MyAccount-content form :is(input:not([type="checkbox"]), select, textarea) { box-sizing: border-box; max-width: 100%; border: 1px solid #cfd5dc; border-radius: 6px; background: #fff; }
.woocommerce-account .woocommerce-MyAccount-content form :is(input, select, textarea):focus-visible { border-color: var(--pmarc-blue); }
.woocommerce-account .woocommerce-MyAccount-content form label { color: var(--pmarc-ink); font-weight: 600; }
.woocommerce-account .woocommerce-MyAccount-content form fieldset { margin: 1.5rem 0; padding: 1.2rem; border: 1px solid var(--pmarc-line); border-radius: 8px; }
.woocommerce-account .woocommerce-MyAccount-content :is(.button, button, input[type="submit"]) { border-radius: 6px; }
@media (max-width: 900px) {
	.woocommerce-account .woocommerce-MyAccount-navigation ul { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: .2rem .5rem; }
	.woocommerce-account .woocommerce-MyAccount-navigation li { border-bottom: 0; }
	.woocommerce-account .woocommerce-MyAccount-navigation .woocommerce-MyAccount-navigation-link--customer-logout { margin: 0; padding: 0; border-top: 0; }
}
@media (max-width: 767px) {
	.woocommerce-account .pmarc-account-shortcuts { grid-template-columns: minmax(0, 1fr); }
	.woocommerce-account .pmarc-account-shortcut { min-height: 0; }
	.woocommerce-account .pmarc-account-order { grid-template-columns: 56px minmax(0, 1fr) auto; }
	.woocommerce-account .pmarc-account-order__action { grid-column: 2 / -1; justify-self: start; }
	.woocommerce-account .woocommerce-MyAccount-content .woocommerce-Addresses { grid-template-columns: minmax(0, 1fr); }
}
@media (max-width: 600px) {
	.woocommerce-account .woocommerce-MyAccount-navigation ul { grid-template-columns: repeat(2, minmax(0, 1fr)); }
	.woocommerce-account .woocommerce-MyAccount-navigation a { padding: .7rem .6rem; padding-left: calc(.6rem + 10px); font-size: .9rem; }
	.woocommerce-account .pmarc-account-order { grid-template-columns: 48px minmax(0, 1fr); gap: .55rem .75rem; }
	.woocommerce-account .pmarc-account-order__thumbnail { width: 48px; height: 48px; }
	.woocommerce-account .pmarc-account-order__summary { grid-column: 2; }
	.woocommerce-account .pmarc-account-order__action { grid-column: 2; }
	.woocommerce-account .woocommerce-MyAccount-content :is(.woocommerce-orders-table, .woocommerce-table--order-details, .woocommerce-table--order-downloads, .woocommerce-MyAccount-paymentMethods) :is(th, td) { padding: .65rem .7rem; }
}

/* Carrito y checkout comparten marco y espaciado sin alterar su lógica. */
.woocommerce-cart #primary.content-area, .woocommerce-cart .content-area, .woocommerce-cart .site-main { float: none; width: 100%; min-width: 0; max-width: none; margin-right: 0; margin-left: 0; }
.woocommerce-cart form.woocommerce-cart-form, .woocommerce-cart .cart-collaterals { box-sizing: border-box; width: 100%; max-width: none; }
.woocommerce-cart .entry-header, .woocommerce-checkout .entry-header { margin-bottom: 1.5rem; }
.woocommerce-cart table.cart, .woocommerce-checkout form.checkout { margin-bottom: 2rem; }
.woocommerce-cart .cart-collaterals, .woocommerce-checkout #order_review, .woocommerce-checkout #order_review_heading { margin-top: 1.5rem; }
.woocommerce-cart table.cart td.actions, .woocommerce-checkout .woocommerce-checkout-review-order { padding: 1.25rem; }
/* Carrito clásico: tarjetas de producto y resumen, sin alterar el formulario ni sus controles nativos. */
.woocommerce-cart .entry-title { margin: 0; color: var(--pmarc-ink); font-size: clamp(2rem, 4vw, 2.8rem); font-weight: 400; line-height: 1.2; text-align: center; }
.woocommerce-cart .woocommerce-cart-form table.shop_table.cart { width: 100%; margin-bottom: 1.25rem; background: transparent; border: 0; border-collapse: separate; border-spacing: 0 .75rem; }
.woocommerce-cart .woocommerce-cart-form table.cart thead th { padding: .4rem .75rem; color: var(--pmarc-muted); font-size: .8rem; font-weight: 700; text-transform: uppercase; letter-spacing: .04em; background: transparent; border: 0; }
.woocommerce-cart .woocommerce-cart-form table.cart tr.cart_item td { padding: .8rem .65rem; vertical-align: middle; background: #fff; border-top: 1px solid var(--pmarc-line); border-bottom: 1px solid var(--pmarc-line); }
.woocommerce-cart .woocommerce-cart-form table.cart tr.cart_item td:first-child { border-left: 1px solid var(--pmarc-line); border-radius: 10px 0 0 10px; }
.woocommerce-cart .woocommerce-cart-form table.cart tr.cart_item td:last-child { border-right: 1px solid var(--pmarc-line); border-radius: 0 10px 10px 0; }
.woocommerce-cart .woocommerce-cart-form table.cart td.product-thumbnail { width: 88px; }
.woocommerce-cart .woocommerce-cart-form table.cart td.product-thumbnail img { display: block; width: 68px; height: 68px; max-width: none; margin: 0; object-fit: contain; background: #fafaf8; border-radius: 7px; }
.woocommerce-cart .woocommerce-cart-form table.cart td.product-name { min-width: 0; overflow-wrap: anywhere; }
.woocommerce-cart .woocommerce-cart-form table.cart td.product-name > a { display: block; overflow-wrap: anywhere; color: var(--pmarc-ink); font-weight: 700; line-height: 1.35; text-decoration: none; }
.woocommerce-cart .woocommerce-cart-form table.cart td.product-name > a:hover { color: var(--pmarc-blue); text-decoration: underline; }
.woocommerce-cart .woocommerce-cart-form table.cart td.product-name .variation { margin: .4rem 0 0; color: var(--pmarc-muted); font-size: .85rem; }
.woocommerce-checkout .woocommerce-checkout-review-order-table td.product-name { color: var(--pmarc-ink); font-weight: 600; }
.woocommerce-checkout .woocommerce-checkout-review-order-table td.product-name .variation { margin: .4rem 0 0; color: var(--pmarc-muted); font-size: .85rem; font-weight: 400; }
.woocommerce-cart .woocommerce-cart-form table.cart td.product-price, .woocommerce-cart .woocommerce-cart-form table.cart td.product-subtotal { font-weight: 700; white-space: nowrap; }
.woocommerce-cart .woocommerce-cart-form table.cart td.product-remove a.remove { display: grid; place-items: center; width: 34px; height: 34px; margin: auto; color: var(--pmarc-muted); font-size: 1.3rem; line-height: 1; background: #fff; border: 1px solid var(--pmarc-line); border-radius: 50%; text-decoration: none; }
.woocommerce-cart .woocommerce-cart-form table.cart td.product-remove a.remove:hover, .woocommerce-cart .woocommerce-cart-form table.cart td.product-remove a.remove:focus-visible { color: #8e2d2d; background: #fff6f4; border-color: #d9a7a0; }
.woocommerce-cart .woocommerce-cart-form table.cart td.actions { padding: 1rem 1.15rem; background: #fafaf8; border: 1px solid var(--pmarc-line); border-radius: 10px; }
.woocommerce-cart .woocommerce-cart-form table.cart td.actions .coupon { display: flex; flex-wrap: wrap; align-items: center; gap: .55rem; }
.woocommerce-cart .woocommerce-cart-form table.cart td.actions .coupon #coupon_code { box-sizing: border-box; width: 160px; max-width: 100%; min-height: 42px; margin: 0; border: 1px solid #cfd5dc; border-radius: 6px; background: #fff; }
.woocommerce-cart .woocommerce-cart-form table.cart td.actions :is(.coupon .button, button[name="update_cart"]) { color: var(--pmarc-ink); background: #fff; border: 1px solid #cfd5dc; border-radius: 6px; }
.woocommerce-cart .woocommerce-cart-form table.cart td.actions :is(.coupon .button, button[name="update_cart"]):hover:not(:disabled) { background: #fff3c9; border-color: #d8aa12; }
.woocommerce-cart .woocommerce-cart-form table.cart td.actions button[name="update_cart"]:disabled { opacity: .58; }
.woocommerce-cart .quantity.pmarc-quantity-stepper :is(.pmarc-quantity-step, input.qty) { min-height: 44px; }
.woocommerce-cart .quantity.pmarc-quantity-stepper .pmarc-quantity-step--minus { border-radius: 7px 0 0 7px; }
.woocommerce-cart .quantity.pmarc-quantity-stepper .pmarc-quantity-step--plus { border-radius: 0 7px 7px 0; }
.woocommerce-cart .cart-collaterals .cart_totals { box-sizing: border-box; float: right; width: min(100%, 460px); padding: clamp(1.2rem, 2.5vw, 1.75rem); background: #fff; border: 1px solid var(--pmarc-line); border-radius: 12px; box-shadow: 0 8px 22px rgba(23, 32, 51, .04); }
.woocommerce-cart .cart-collaterals .cart_totals h2 { margin: 0 0 1rem; color: var(--pmarc-ink); font-size: 1.35rem; }
.woocommerce-cart .cart-collaterals .cart_totals table { width: 100%; margin-bottom: 1.25rem; border-collapse: collapse; }
.woocommerce-cart .cart-collaterals .cart_totals table :is(th, td) { padding: .8rem .25rem; border-bottom: 1px solid var(--pmarc-line); overflow-wrap: anywhere; }
.woocommerce-cart .cart-collaterals .cart_totals table th { text-align: left; color: var(--pmarc-muted); font-weight: 600; }
.woocommerce-cart .cart-collaterals .cart_totals table td { text-align: right; }
.woocommerce-cart .cart-collaterals .cart_totals tr.order-total :is(th, td) { color: var(--pmarc-ink); font-size: 1.12rem; font-weight: 800; border-bottom: 0; }
.woocommerce-cart .cart-collaterals .wc-proceed-to-checkout { margin: 0; padding: 0; }
.woocommerce-cart .cart-collaterals .wc-proceed-to-checkout .checkout-button { box-sizing: border-box; display: block; width: 100%; margin: 0; padding: .85rem 1rem; color: var(--pmarc-ink); text-align: center; background: #f5cc32; border: 1px solid #d8aa12; border-radius: 7px; }
.woocommerce-cart .cart-collaterals .wc-proceed-to-checkout .checkout-button:hover, .woocommerce-cart .cart-collaterals .wc-proceed-to-checkout .checkout-button:focus-visible { color: var(--pmarc-ink); background: #ffdc5d; }
.woocommerce-cart .cart-empty.woocommerce-info { margin: 0 0 1rem; padding: 1.35rem; color: var(--pmarc-ink); background: #fff; border: 1px solid var(--pmarc-line); border-left: 4px solid #d8aa12; border-radius: 9px; box-shadow: 0 8px 22px rgba(23, 32, 51, .04); }
.woocommerce-cart .cart-empty.woocommerce-info::before { content: none; }
.woocommerce-cart .return-to-shop .button { color: var(--pmarc-ink); background: #f5cc32; border: 1px solid #d8aa12; border-radius: 7px; }
.woocommerce-cart .return-to-shop .button:hover, .woocommerce-cart .return-to-shop .button:focus-visible { color: var(--pmarc-ink); background: #ffdc5d; }

@media (max-width: 900px) {
	.woocommerce-cart .woocommerce-cart-form table.shop_table.cart, .woocommerce-cart .woocommerce-cart-form table.cart tbody { display: block; width: 100%; }
	.woocommerce-cart .woocommerce-cart-form table.cart thead { display: none; }
	.woocommerce-cart .woocommerce-cart-form table.cart tr.cart_item { position: relative; display: grid; grid-template-columns: 88px minmax(0, 1fr); gap: .55rem 1rem; min-width: 0; margin-bottom: .9rem; padding: 1rem; background: #fff; border: 1px solid var(--pmarc-line); border-radius: 10px; box-shadow: 0 5px 16px rgba(23, 32, 51, .035); }
	.woocommerce-cart .woocommerce-cart-form table.cart tr.cart_item td { display: block; min-width: 0; padding: 0; text-align: left; background: transparent; border: 0; }
	.woocommerce-cart .woocommerce-cart-form table.cart tr.cart_item td:first-child, .woocommerce-cart .woocommerce-cart-form table.cart tr.cart_item td:last-child { border: 0; border-radius: 0; }
	.woocommerce-cart .woocommerce-cart-form table.cart tr.cart_item td::before { float: none; display: block; margin-bottom: .15rem; color: var(--pmarc-muted); font-size: .78rem; font-weight: 600; }
	.woocommerce-cart .woocommerce-cart-form table.cart tr.cart_item td:is(.product-price, .product-quantity, .product-subtotal)::before { content: attr(data-title); }
	.woocommerce-cart .woocommerce-cart-form table.cart tr.cart_item td.product-thumbnail { display: block !important; grid-column: 1; grid-row: 1 / span 2; width: 88px; }
	.woocommerce-cart .woocommerce-cart-form table.cart tr.cart_item td.product-thumbnail img { width: 88px; height: 88px; }
	.woocommerce-cart .woocommerce-cart-form table.cart tr.cart_item td.product-name { grid-column: 2; grid-row: 1; padding-right: 40px; }
	.woocommerce-cart .woocommerce-cart-form table.cart tr.cart_item td.product-price { grid-column: 2; grid-row: 2; }
	.woocommerce-cart .woocommerce-cart-form table.cart tr.cart_item td.product-remove { position: absolute; top: .75rem; right: .75rem; z-index: 1; }
	.woocommerce-cart .woocommerce-cart-form table.cart tr.cart_item td.product-quantity { grid-column: 1 / -1; grid-row: 3; padding-top: .55rem; }
	.woocommerce-cart .woocommerce-cart-form table.cart tr.cart_item td.product-subtotal { display: flex; grid-column: 1 / -1; grid-row: 4; align-items: baseline; justify-content: space-between; gap: 1rem; padding-top: .65rem; border-top: 1px solid var(--pmarc-line); }
	.woocommerce-cart .woocommerce-cart-form table.cart tr.cart_item td.product-subtotal::before { margin: 0; }
	.woocommerce-cart .woocommerce-cart-form table.cart tr:not(.cart_item), .woocommerce-cart .woocommerce-cart-form table.cart td.actions { box-sizing: border-box; display: block; width: 100%; }
	.woocommerce-cart .cart-collaterals .cart_totals { float: none; width: 100%; }
}
@media (max-width: 560px) {
	.woocommerce-cart .woocommerce-cart-form table.cart tr:not(.cart_item) { display: block; }
	.woocommerce-cart .woocommerce-cart-form table.cart td.actions { padding: 1rem; }
	.woocommerce-cart .woocommerce-cart-form table.cart td.actions .coupon { float: none; width: 100%; }
	.woocommerce-cart .woocommerce-cart-form table.cart td.actions .coupon #coupon_code { flex: 1 1 140px; width: auto; }
	.woocommerce-cart .woocommerce-cart-form table.cart td.actions button[name="update_cart"] { float: none; display: block; width: 100%; margin: .75rem 0 0; }
}
/* Recomendaciones del carrito: ancho maestro y geometría independiente de los floats de Storefront. */
.woocommerce-cart .pmarc-cart-cross-sells { clear: both; box-sizing: border-box; width: 100%; max-width: none; margin-top: 2.5rem; padding-top: 2rem; border-top: 1px solid var(--pmarc-line); }
.woocommerce-cart .pmarc-cart-cross-sells > h2 { margin-bottom: 1.2rem; font-size: clamp(1.45rem, 2.5vw, 1.9rem); }
.woocommerce-cart .pmarc-cart-cross-sells ul.products { display: grid !important; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 1.25rem; width: 100%; margin: 0; padding: 0; }
.woocommerce-cart .pmarc-cart-cross-sells ul.products::before, .woocommerce-cart .pmarc-cart-cross-sells ul.products::after { display: none; content: none; }
.woocommerce-cart .pmarc-cart-cross-sells ul.products.columns-4 li.product { float: none !important; width: auto !important; min-width: 0; max-width: none; margin: 0; }

/* Stepper global: conserva el input number nativo como fuente de verdad. */
.quantity.pmarc-quantity-stepper { display: inline-grid; grid-template-columns: 42px minmax(52px, 64px) 42px; align-items: stretch; width: auto; max-width: 148px; }
.quantity.pmarc-quantity-stepper .pmarc-quantity-step, .quantity.pmarc-quantity-stepper input.qty { box-sizing: border-box; min-width: 0; min-height: 42px; margin: 0; padding: .45rem .3rem; text-align: center; border: 1px solid var(--pmarc-line); border-radius: 0; box-shadow: none; }
.quantity.pmarc-quantity-stepper .pmarc-quantity-step { display: grid; place-items: center; color: var(--pmarc-ink); font-size: 1.2rem; line-height: 1; background: #fff; cursor: pointer; }
.quantity.pmarc-quantity-stepper .pmarc-quantity-step--minus { border-radius: 4px 0 0 4px; }
.quantity.pmarc-quantity-stepper .pmarc-quantity-step--plus { border-radius: 0 4px 4px 0; }
.quantity.pmarc-quantity-stepper input.qty { width: 100%; border-right: 0; border-left: 0; }
.quantity.pmarc-quantity-stepper .pmarc-quantity-step:hover, .quantity.pmarc-quantity-stepper .pmarc-quantity-step:focus { color: #fff; background: var(--pmarc-ink); }
.quantity.pmarc-quantity-stepper .pmarc-quantity-step:disabled { color: #89919b; cursor: not-allowed; background: #eef0f2; }

/* Información de progreso; la tarifa real continúa controlada por WooCommerce/Packlink. */
.pmarc-free-shipping-progress { clear: both; box-sizing: border-box; width: 100%; margin: 2.5rem 0 0; padding: 1.25rem clamp(1rem, 3vw, 1.75rem); background: linear-gradient(120deg, #eff7fb 0%, #f7fbf8 100%); border: 1px solid #cfe1ec; border-radius: 8px; }
.pmarc-free-shipping-progress h2 { margin: 0 0 .35rem; font-size: 1.15rem; }
.pmarc-free-shipping-progress__message { margin: 0 0 .8rem; color: #26384a; font-weight: 700; }
.pmarc-free-shipping-progress__track { width: 100%; height: 10px; overflow: hidden; background: #dce5ea; border-radius: 999px; }
.pmarc-free-shipping-progress__bar { display: block; height: 100%; background: linear-gradient(90deg, var(--pmarc-blue), #2c8c76); border-radius: inherit; transition: width .25s ease; }

/* Footer limpio: los widgets de blog no forman parte de la tienda. */
.site-footer .widget_recent_entries, .site-footer .widget_recent_comments, .site-footer .widget_archive, .site-footer .widget_meta, .site-footer .widget_categories, .site-footer .widget_search, .footer-widgets .widget_recent_entries, .footer-widgets .widget_recent_comments, .footer-widgets .widget_archive, .footer-widgets .widget_meta, .footer-widgets .widget_categories, .footer-widgets .widget_search { display: none; }

@media (max-width: 900px) {
	.pmh-grid-sports, .pmh-grid-products, .pmarc-use-products, .woocommerce .site-main ul.products, .woocommerce-page .site-main ul.products, .pmarc-cart-cross-sells ul.products, .woocommerce-cart .pmarc-cart-cross-sells ul.products { grid-template-columns: repeat(2, minmax(0, 1fr)); }
	.pmarc-use-hero, .single-product div.product, .logged-in.woocommerce-account .woocommerce { grid-template-columns: 1fr; }
	.logged-in.woocommerce-account .woocommerce { gap: 1.25rem; }
	.woocommerce-account .woocommerce-MyAccount-navigation, .woocommerce-account .woocommerce-MyAccount-content { box-sizing: border-box; width: 100%; max-width: 100%; }
	.single-product #primary.content-area, .single-product .content-area, .single-product .site-main { width: 100%; min-width: 0; max-width: 100%; margin-right: 0; margin-left: 0; }
	.single-product div.product { grid-template-columns: minmax(0, 1fr); width: 100%; min-width: 0; max-width: 100%; }
	.pmh-benefits { grid-template-columns: repeat(2, minmax(0, 1fr)); }
	.single-product div.product .woocommerce-product-gallery, .single-product div.product .summary, .single-product div.product > .pmarc-logo-upload, .single-product div.product > .pmarc-spares-form, .single-product div.product > .related.products, .single-product div.product .woocommerce-tabs { grid-column: 1; }
	.single-product div.product .woocommerce-product-gallery, .single-product div.product .summary, .single-product div.product > .pmarc-logo-upload, .single-product div.product > .pmarc-spares-form, .single-product div.product > .related.products, .single-product .pmarc-product-details { width: 100%; min-width: 0; max-width: 100%; }
	.single-product div.product .woocommerce-product-gallery { max-width: 100%; }
	.single-product div.product .woocommerce-product-gallery__wrapper img { max-height: none; }
	.pmarc-back-link--desktop { display: none; }
	.pmarc-back-link--mobile { display: block; }
	.single-product div.product > .related.products ul.products { grid-template-columns: repeat(2, minmax(0, 1fr)); }
	.single-product div.product .woocommerce-product-gallery ol.flex-control-thumbs { grid-template-columns: repeat(auto-fill, 72px) !important; }
	.single-product div.product .woocommerce-product-gallery ol.flex-control-thumbs > li { width: 72px !important; min-width: 72px !important; max-width: 72px !important; height: 72px !important; }
	.pmarc-choice-grid, .pmarc-sport-secondary-products { grid-template-columns: repeat(2, minmax(0, 1fr)); }
	.pmarc-flag-designer { grid-template-columns: minmax(0, 1fr); }
	.pmarc-use-points ul { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}

@media (max-width: 767px) {
	.single-product .pmarc-pack-quick-links { grid-template-columns: minmax(0, 1fr); }
	/* Tienda participa en el col-full global; solo se liberan los wrappers internos heredados. */
	.pmarc-shop-layout #primary.content-area, .pmarc-shop-layout .content-area, .pmarc-shop-layout .site-main { float: none; width: 100%; min-width: 0; max-width: 100%; margin-right: 0; margin-left: 0; }
	.pmarc-shop-layout .site-main { display: block; }
	.pmarc-shop-layout .woocommerce-products-header { margin-bottom: .75rem; }
	.pmarc-shop-layout .woocommerce-ordering, .pmarc-shop-layout .woocommerce-ordering select { width: 100%; max-width: none; }
	.pmarc-shop-layout ul.products, .pmarc-shop-layout ul.products li.product { float: none; width: 100%; min-width: 0; max-width: 100%; margin-right: 0; margin-left: 0; }
	.single-product div.product > .related.products ul.products { grid-template-columns: repeat(2, minmax(0, 1fr)); }
	.single-product div.product > .pmarc-spares-form .pmarc-spares-list { grid-template-columns: minmax(0, 1fr); }
	/* Cabecera móvil: el botón accesible de Storefront conserva su texto; su span es la única representación visual. */
	.site-header { padding-top: 0; padding-bottom: 0; border-bottom: 1px solid var(--pmarc-line); }
	.site-header .col-full { display: flex; flex-wrap: wrap; align-items: center; min-height: 64px; padding-top: .5rem; padding-bottom: .5rem; }
	.site-header .site-branding { flex: 1 1 auto; min-width: 0; margin: 0; }
	.site-header .custom-logo-link { display: block; line-height: 0; }
	.site-header .custom-logo-link img, .site-header .site-branding img { width: clamp(125px, 38vw, 145px); }
	.site-header .pmarc-header-languages { float: none; flex: 0 0 auto; margin: 0 0 0 auto; }
	.site-header button.menu-toggle, .site-header button.menu-toggle:hover, .site-header button.menu-toggle:active, .site-header button.menu-toggle.toggled-on, .site-header button.menu-toggle[aria-expanded='true'] { display: grid; flex: 0 0 46px; place-items: center; width: 46px; min-height: 46px; margin: 0 0 0 auto; padding: 0; color: var(--pmarc-ink); background: transparent !important; border: 0; border-radius: 0; box-shadow: none !important; transform: none !important; }
	.site-header button.menu-toggle::before, .site-header button.menu-toggle::after, .site-header button.menu-toggle span::before, .site-header button.menu-toggle span::after { display: none !important; content: none !important; transform: none !important; }
	.site-header button.menu-toggle span { display: block; width: 20px; height: 14px; overflow: hidden; color: var(--pmarc-ink); font-size: 0; line-height: 0; background: linear-gradient(currentColor, currentColor) center top / 100% 2px no-repeat, linear-gradient(currentColor, currentColor) center / 100% 2px no-repeat, linear-gradient(currentColor, currentColor) center bottom / 100% 2px no-repeat; }
	.site-header button.menu-toggle:focus-visible { outline: 3px solid rgba(31, 77, 122, .28); outline-offset: 2px; }
	.site-header .main-navigation, .site-header .storefront-primary-navigation { flex-basis: 100%; }
}

@media (max-width: 560px) {
	.pmarc-sport-secondary-products { grid-template-columns: minmax(0, 1fr); }
	:root { --pmarc-page-gutter: 1rem; --pmarc-section-space: 2.25rem; }
	body:not(.woocommerce-checkout) .col-full { box-sizing: border-box; width: 100%; max-width: none; margin-right: 0; margin-left: 0; }
	.site-content { padding-top: 1.5rem; }
	.single-product.pmarc-product-flag-designer.pmarc-product-designer-mode div.product > .pmarc-logo-upload--dedicated { width: 100%; }
	.pmarc-designer-screen__header h1 { font-size: 1.65rem; }
	.pmarc-designer-screen__actions { align-items: stretch; }
	.pmarc-designer-screen__actions .button { width: 100%; }
	.pmarc-designer-screen__status { flex-basis: 100%; }
	.single-product.pmarc-product-content-sheet .pmarc-product-accordions summary { min-height: 56px; padding: .85rem; }
	.single-product.pmarc-product-content-sheet .pmarc-product-accordions .pmarc-accordion-content { padding: .9rem; }
	.home #primary.content-area, .home .content-area, .home .site-main, .pmarc-shop-layout #primary.content-area, .pmarc-shop-layout .content-area, .pmarc-shop-layout .site-main, .pmarc-shop-layout ul.products, .pmarc-shop-layout ul.products li.product, .woocommerce-cart #primary.content-area, .woocommerce-cart .content-area, .woocommerce-cart .site-main, .woocommerce-cart form.woocommerce-cart-form, .woocommerce-cart .cart-collaterals { box-sizing: border-box; }
	.home #primary.content-area, .home .content-area, .home .site-main, .woocommerce-cart #primary.content-area, .woocommerce-cart .content-area, .woocommerce-cart .site-main { float: none; width: 100%; min-width: 0; max-width: 100%; margin-right: 0; margin-left: 0; }
	/* El hero usa el ancho íntegro de la Home y una sola separación superior de 32 px. */
	.home .pmh-hero { box-sizing: border-box; width: 100%; max-width: none; margin: 2rem 0 0; }
	.home .pmh-hero { min-height: 420px !important; }
	.pmarc-shop-layout ul.products { padding-right: 0; padding-left: 0; }
	.pmh-grid-sports, .pmh-grid-products, .pmarc-use-products, .woocommerce .site-main ul.products, .woocommerce-page .site-main ul.products, .pmarc-cart-cross-sells ul.products, .woocommerce-cart .pmarc-cart-cross-sells ul.products { grid-template-columns: 1fr; }
	.pmh-hero, .pmh-outdoor { display: flex; align-items: center; min-height: 268px; padding: 2.25rem 1.25rem; background-position: 62% center; }
	.pmh-outdoor { min-height: 246px; }
	/* En la Home móvil el contenido baja al borde inferior: el marcador queda visible. */
	.pmh-hero { align-items: flex-end; background-position: 80% center; }
	.pmh-hero::before { background: linear-gradient(to top, rgba(9, 19, 31, .80) 0%, rgba(9, 19, 31, .54) 36%, rgba(9, 19, 31, .16) 62%, rgba(9, 19, 31, 0) 86%); }
	.pmh-outdoor::before { background: linear-gradient(90deg, rgba(255, 255, 255, .93) 0%, rgba(255, 255, 255, .74) 47%, rgba(255, 255, 255, .20) 72%, rgba(255, 255, 255, 0) 100%); }
	.pmh-hero-content, .pmh-outdoor-content { max-width: min(100%, 20rem); padding: 0; }
	.pmh-hero-content h1, .pmh-hero-content p { color: #fff; }
	.home .pmh-hero-content { width: min(100%, 20rem) !important; min-height: 0 !important; padding: .8rem 1rem !important; border-radius: 22px; }
	.home .pmh-hero-content h1, .home .pmh-hero-content p { color: var(--pmarc-ink); }
	.home .pmh-hero h1 { margin-bottom: .6rem !important; font-size: clamp(1.65rem, 7vw, 1.9rem) !important; line-height: 1.1 !important; }
	.home .pmh-hero p { margin-bottom: .75rem !important; }
	.pmh-hero-content h1 { margin-bottom: .55rem; font-size: clamp(1.85rem, 8vw, 2.35rem); line-height: 1.06; }
	.pmh-outdoor-content h2 { margin-bottom: .55rem; font-size: clamp(1.55rem, 7vw, 2.05rem); line-height: 1.1; }
	.pmh-hero-content p, .pmh-outdoor-content p { margin-bottom: .9rem; font-size: .96rem; line-height: 1.5; }
	.pmh-benefits { grid-template-columns: 1fr; gap: 0; margin: 2rem 0; border-top: 1px solid var(--pmarc-line); }
	.pmh-benefit { padding: .85rem 0; background: transparent; border-bottom: 1px solid var(--pmarc-line); }
	.pmh-benefit > :first-child { margin-top: 0; }
	.pmh-benefit > :last-child { margin-bottom: 0; }
	.pmarc-choice-grid, .pmarc-sport-product-card--featured { grid-template-columns: minmax(0, 1fr); }
	.pmarc-use-points ul { grid-template-columns: minmax(0, 1fr); }
	.pmarc-use-hero img { min-height: 220px; max-height: 320px; }
	.pmarc-sport-product-card--featured .pmarc-sport-product-card__image img { height: auto; min-height: 0; max-height: none; }
	.pmarc-designer-controls { grid-template-columns: minmax(0, 1fr); }
	.pmarc-designer-controls label { margin-top: .35rem; }
	.pmarc-spare-row { grid-template-columns: minmax(0, 1fr); }
	.pmarc-spare-quantity { justify-self: start; }
	.pmarc-logo-upload { padding: 1rem; }
	.pmarc-upload-actions { align-items: stretch; }
	.pmarc-upload-actions .pmarc-text-action, .pmarc-upload-actions .button { width: 100%; }
	.pmarc-flag-preview { min-height: 0; }
	.pmarc-flag-product-actions { align-items: stretch; }
	.pmarc-flag-zoom { width: calc(100vw - 1rem); max-height: calc(100vh - 1rem); }
	.pmarc-flag-zoom__window { max-height: calc(100vh - 1rem); }
	.pmarc-flag-zoom__viewport { max-height: calc(100vh - 9rem); }
	.single-product div.product { gap: 1.35rem; }
	.single-product div.product .woocommerce-product-gallery ol.flex-control-thumbs { grid-template-columns: repeat(4, minmax(0, 1fr)) !important; }
	.single-product div.product .woocommerce-product-gallery ol.flex-control-thumbs > li { width: auto !important; min-width: 0 !important; max-width: none !important; height: auto !important; aspect-ratio: 1 / 1; }
	.single-product div.product .summary .product_title { font-size: 1.8rem; }
	.woocommerce-account .woocommerce-MyAccount-content { padding: 1rem; }
	.main-navigation ul.menu > li > a, .main-navigation ul.nav-menu > li > a { padding: .75rem 1rem; }
}

@media (max-width: 359px) {
	.single-product div.product > .related.products ul.products, .pmarc-sport-secondary-products { grid-template-columns: minmax(0, 1fr); }
}

/* Deportes/Outdoor: destacado compacto y secundarios con la card Home aprobada. */
.pmarc-sport-page .pmarc-use-hero > div { padding: clamp(1.25rem, 2.5vw, 2rem); }
.pmarc-sport-page .pmarc-use-hero h1 { font-size: clamp(1.8rem, 3vw, 2.6rem); }
.pmarc-sport-page .pmarc-use-hero p { margin-bottom: 0; line-height: 1.5; }
.pmarc-sport-page .pmarc-use-hero img { min-height: 240px; max-height: 300px; aspect-ratio: 16 / 9; }
.pmarc-sport-page .pmarc-use-points ul { margin-top: 1rem; }
.pmarc-sport-page .pmarc-use-points li { padding-top: .8rem; padding-bottom: .8rem; }
.pmarc-sport-page .pmarc-sport-catalog { margin-top: 1.75rem; padding-top: 1.25rem; }
.pmarc-sport-page .pmarc-sport-main-product { margin-bottom: 1.5rem; }
.pmarc-sport-page .pmarc-sport-product-card--featured { grid-template-columns: minmax(0, 280px) minmax(0, 1fr); }
.pmarc-sport-page .pmarc-sport-product-card--featured .pmarc-sport-product-card__body { padding: 1rem 1.25rem; }
.pmarc-sport-page .pmarc-sport-product-card--featured h3 { font-size: clamp(1.2rem, 2vw, 1.5rem); }
.pmarc-sport-page .pmarc-sport-related-title { padding-top: 1.25rem; }
.pmarc-sport-page .site-main ul.products.pmarc-sport-secondary-products { grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 1.25rem; margin: 0; }
.pmarc-sport-page .site-main ul.products.pmarc-sport-secondary-products::before,
.pmarc-sport-page .site-main ul.products.pmarc-sport-secondary-products::after { display: none; }
.pmarc-sport-page .site-main ul.products.pmarc-sport-secondary-products li.product { width: auto; min-width: 0; margin: 0; }
.pmarc-sport-page .site-main ul.products.pmarc-sport-secondary-products li.product .woocommerce-loop-product__title { margin-bottom: .5rem; }
@media (max-width: 900px) {
	.pmarc-sport-page .pmarc-use-hero { grid-template-columns: repeat(2, minmax(0, 1fr)); }
	.pmarc-sport-page .site-main ul.products.pmarc-sport-secondary-products { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}
@media (max-width: 600px) {
	.pmarc-sport-page .pmarc-use-hero { grid-template-columns: minmax(0, 1fr); }
	.pmarc-sport-page .pmarc-use-hero img { min-height: 170px; max-height: 190px; }
	.pmarc-sport-page .pmarc-sport-product-card--featured { grid-template-columns: minmax(0, 1fr); }
	.pmarc-sport-page .pmarc-sport-product-card--featured .pmarc-sport-product-card__image { width: min(100%, 240px); justify-self: center; }
	.pmarc-sport-page .pmarc-sport-product-card--featured .pmarc-sport-product-card__body { padding: 1rem; }
	.pmarc-sport-page .site-main ul.products.pmarc-sport-secondary-products { grid-template-columns: minmax(0, 1fr); }
}

/* El crédito nativo ya imprime el copyright; evita la copia del CSS adicional. */
.site-footer .site-info::before { content: none !important; }

/* Related/upsell cards: Home markup, square frame and its fixed 4/2/1 grid. */
.single-product div.product > :is(.related, .up-sells).products { grid-column: 1 / -1; width: 100%; min-width: 0; }
.single-product .site-main :is(.related, .up-sells) ul.pmh-grid-products { padding: 0; }
.single-product div.product > :is(.related, .up-sells).products ul.products li.pmarc-recommendation-card { width: auto; min-width: 0; padding: 0; font-size: 1rem; }
.single-product .site-main ul.products li.pmarc-recommendation-card > a:first-child { display: block; flex: 0 0 auto; width: 100%; aspect-ratio: 1 / 1; overflow: hidden; background: #fff; border-radius: 8px 8px 0 0; }
.single-product .site-main ul.products li.pmarc-recommendation-card > a:first-child > img { display: block; width: 100%; height: 100%; margin: 0; aspect-ratio: 1 / 1 !important; object-fit: cover; border-radius: inherit; }
.single-product .site-main ul.products li.pmarc-recommendation-card .pmh-product-body :is(.price, .pmarc-tax-note, .pmarc-card-cta) { margin-right: 0; margin-left: 0; }
.single-product div.product > :is(.related, .up-sells).products ul.products li.pmarc-recommendation-card .pmh-card-link { max-width: 100%; padding: .55rem .85rem; font-size: .84rem; }

/* Complete canonical text; four visible lines, with progressive disclosure. */
.pmarc-card-description { min-width: 0; }
.pmarc-card-description__text { margin: 0 0 .75rem; overflow-wrap: anywhere; }
.pmarc-card-description.is-ready:not(.is-expanded) > .pmarc-card-description__text { display: -webkit-box; overflow: hidden; -webkit-box-orient: vertical; -webkit-line-clamp: 4; }
.pmarc-card-description.is-expanded > .pmarc-card-description__text { display: block; overflow: visible; -webkit-line-clamp: unset; }
button.pmarc-card-description__toggle { position: relative; z-index: 2; display: inline-flex; min-height: 32px; max-width: 100%; align-items: center; margin: 0 0 .75rem; padding: .2rem 0; color: var(--pmarc-blue); font: inherit; font-size: .86rem; font-weight: 600; line-height: 1.3; text-align: left; text-decoration: underline; background: transparent; border: 0; border-radius: 0; box-shadow: none; cursor: pointer; }
button.pmarc-card-description__toggle[hidden] { display: none !important; }
button.pmarc-card-description__toggle:hover { color: var(--pmarc-ink); background: transparent; }
button.pmarc-card-description__toggle:focus-visible { outline: 3px solid rgba(31, 77, 122, .38); outline-offset: 3px; }
.pmarc-sport-product-card__body .pmarc-card-description__text { color: var(--pmarc-muted); line-height: 1.55; }

/* Secondary sports cards use the same frame, body and 4/2/1 layout as Home. */
.pmarc-sport-page .site-main ul.products.pmh-grid-products li.pmh-product-card { display: flex; width: auto; min-width: 0; margin: 0; padding: 0; font-size: 1rem; }
.pmarc-sport-page .site-main ul.products.pmh-grid-products li.pmh-product-card > a:first-child { display: block; flex: 0 0 auto; width: 100%; aspect-ratio: 1 / 1; overflow: hidden; background: #fff; border-radius: 8px 8px 0 0; }
.pmarc-sport-page .site-main ul.products.pmh-grid-products li.pmh-product-card > a:first-child > img { display: block; width: 100%; max-width: none; height: 100%; margin: 0; aspect-ratio: 1 / 1 !important; object-fit: cover; border-radius: inherit; }
.pmarc-sport-page .site-main ul.products.pmh-grid-products li.pmh-product-card .pmh-product-body :is(.price, .pmarc-tax-note, .pmarc-card-cta) { margin-right: 0; margin-left: 0; }
@media (max-width: 768px) {
	.pmarc-sport-page .site-main ul.products.pmarc-sport-secondary-products { grid-template-columns: minmax(0, 1fr); }
}

/* HOME_FEATURED_PRODUCT_TEST — Option G, Home 70/494 only; not a global pattern. */
.home .pmh-products-section .pmh-product-card.pmarc-home-featured-test { background: #fffbed !important; border-color: #d8aa12 !important; box-shadow: inset 0 0 0 1px #e5bd34, 0 8px 22px rgba(184, 143, 20, .12) !important; transform: none !important; transition: none !important; }
.home .pmh-products-section .pmarc-home-featured-test__badge { position: absolute; z-index: 2; top: .75rem; left: .75rem; display: inline-flex; align-items: center; gap: .3rem; max-width: calc(100% - 1.5rem); padding: .35rem .65rem; color: var(--pmarc-ink); font-size: .8rem; font-weight: 700; line-height: 1.2; background: #f6d65b; border: 1px solid #172033; border-radius: 999px; pointer-events: none; }
body.home .pmh-products-section .pmarc-home-featured-test a.pmarc-card-cta,
body.home .pmh-products-section .pmarc-home-featured-test a.pmarc-card-cta:link,
body.home .pmh-products-section .pmarc-home-featured-test a.pmarc-card-cta:visited { color: var(--pmarc-ink) !important; -webkit-text-fill-color: var(--pmarc-ink); background: #f6d65b !important; border-color: #e5bd34 !important; }
body.home .pmh-products-section .pmarc-home-featured-test a.pmarc-card-cta:hover,
body.home .pmh-products-section .pmarc-home-featured-test a.pmarc-card-cta:focus,
body.home .pmh-products-section .pmarc-home-featured-test a.pmarc-card-cta:focus-visible { background: #efd04d !important; }
body.home .pmh-products-section .pmarc-home-featured-test a.pmarc-card-cta:focus-visible { outline: 3px solid var(--pmarc-ink); outline-offset: 2px; }
body.home .pmh-products-section .pmarc-home-featured-test a.pmarc-card-cta:active { background: #e8c247 !important; }
@media (max-width: 600px) {
	.home .pmh-products-section .pmarc-home-featured-test__badge { top: .65rem; left: .65rem; padding: .3rem .6rem; font-size: .78rem; }
}
.single-product.postid-70 .summary > .pmarc-product-featured-test__badge,
.single-product.postid-494 .summary > .pmarc-product-featured-test__badge { display: table; margin: 0 0 .5rem; padding: .3rem .6rem; color: var(--pmarc-ink); font-size: .78rem; font-weight: 700; line-height: 1.2; background: #f6d65b; border: 1px solid #172033; border-radius: 999px; }
.home .pmh-products-section .pmarc-home-featured-test .pmarc-card-description__text strong,
.single-product.postid-70 .summary .woocommerce-product-details__short-description strong,
.single-product.postid-494 .summary .woocommerce-product-details__short-description strong { font-weight: 700; }
/* End HOME_FEATURED_PRODUCT_TEST. */

/* Shop/category archives reuse the approved Home/recommendation card markup. */
.woocommerce .site-main ul.products.pmh-grid-products li.pmarc-recommendation-card { min-width: 0; padding: 0; font-size: 1rem; }
.woocommerce .site-main ul.products.pmh-grid-products li.pmarc-recommendation-card > a:first-child { display: block; flex: 0 0 auto; width: 100%; aspect-ratio: 1 / 1; overflow: hidden; background: #fff; border-radius: 8px 8px 0 0; }
.woocommerce .site-main ul.products.pmh-grid-products li.pmarc-recommendation-card > a:first-child > img { display: block; width: 100%; height: 100%; margin: 0; aspect-ratio: 1 / 1; object-fit: contain; border-radius: inherit; }
.woocommerce .site-main ul.products.pmh-grid-products li.pmarc-recommendation-card .pmh-product-body :is(.price, .pmarc-tax-note, .pmarc-card-cta) { max-width: 100%; margin-right: 0; margin-left: 0; }
.pmarc-shop-layout .site-main ul.products.pmh-grid-products li.pmarc-home-featured-test { background: #fffbed !important; border-color: #d8aa12 !important; box-shadow: inset 0 0 0 1px #e5bd34, 0 8px 22px rgba(184, 143, 20, .12) !important; }
.pmarc-shop-layout .site-main ul.products.pmh-grid-products li.pmarc-home-featured-test .pmarc-home-featured-test__badge { position: absolute; z-index: 2; top: .75rem; left: .75rem; display: inline-flex; align-items: center; gap: .3rem; max-width: calc(100% - 1.5rem); padding: .35rem .65rem; color: var(--pmarc-ink); font-size: .8rem; font-weight: 700; line-height: 1.2; background: #f6d65b; border: 1px solid #172033; border-radius: 999px; pointer-events: none; }
.pmarc-shop-layout .site-main ul.products.pmh-grid-products li.pmarc-home-featured-test .pmarc-card-cta { background: #f6d65b !important; border-color: #e5bd34 !important; }
/* Shared cards: park every CTA at the foot; keep a priced CTA next to its price. */
.pmh-product-body > .pmarc-card-cta { margin-top: auto; margin-bottom: 0; }
body .pmh-product-body > a.pmarc-card-cta { margin-bottom: 0; }
.pmh-product-body > .pmh-product-price ~ .pmarc-card-cta { margin-top: .8rem; }
:is(.woocommerce, .pmarc-sport-page) .site-main ul.products.pmh-grid-products li.product .pmh-product-body > .pmarc-card-cta { margin-top: auto; margin-bottom: 0; }
:is(.woocommerce, .pmarc-sport-page) .site-main ul.products.pmh-grid-products li.product .pmh-product-body > .pmh-product-price ~ .pmarc-card-cta { margin-top: .8rem; }
/* The Shop's hover lift would move one card and its CTA out of the row. */
.woocommerce-shop .site-main ul.products.pmh-grid-products li.pmarc-recommendation-card:hover { transform: none !important; }
.pmarc-delivery-estimate { margin: .5rem 0; font-size: .9rem; line-height: 1.45; }
.pmarc-delivery-estimate-row td { padding-top: .35rem; }
