/* TrofeosPro Tribuna — estils sobre Astra + WooCommerce.
   Es compra per esport; el disc és el protagonista. Tokens del prototip (design/restyling/b-tribuna). */
:root {
  --tp-night: #170a33;
  --tp-night-2: #23104a;
  --tp-purple: #5305b5;
  --tp-violet: #9817d4;
  --tp-gold: #f5c518;
  --tp-gold-2: #ffd84d;
  --tp-ink: #160d27;
  --tp-fog: #f2eff8;
  --tp-muted: #5d566b;
  --tp-muted-d: rgba(255, 255, 255, .74);
  --tp-line: #ddd6ea;
  --tp-line-d: rgba(255, 255, 255, .16);
  --tp-display: "Big Shoulders Display", Impact, sans-serif;
  --tp-sans: "Barlow", system-ui, sans-serif;
  --tp-cut: 14px;
  --tp-t-xl: clamp(2rem, 1.4rem + 2.6vw, 3.6rem);
  --tp-t-display: clamp(3rem, 1.6rem + 6.4vw, 7.4rem);
  --tp-gutter: 20px;
}
@media (max-width: 40rem) { :root { --tp-gutter: 16px; } }

/* ---------- Base ---------- */
/* Públic gran: Astra redueix l'arrel al 91 % en mòbil, i amb ella tot el que va en rem. */
html { font-size: 100% !important; }
body { font-size: 1.0625rem; line-height: 1.55; }
html body, body button, body input, body select, body textarea, .ast-button, .ast-custom-button { font-family: var(--tp-sans); }
body { color: var(--tp-ink); background: #fff; }
.ast-separate-container { background: #fff; }
h1, h2, h3, .entry-title, .woocommerce-loop-product__title { color: var(--tp-ink); }
a { color: var(--tp-purple); }
a:hover, a:focus { color: var(--tp-violet); }
:focus-visible { outline: 3px solid var(--tp-gold); outline-offset: 3px; }
.tp-hidden { display: none !important; }
[hidden] { display: none !important; }
html:not(.tp-js) .tp-disc, html:not(.tp-js) .tp-plate-wrap, html:not(.tp-js) .tp-eta { display: none; }

.tp-wrap { width: min(100% - 2 * var(--tp-gutter), 1200px); margin-inline: auto; }
.tp-kicker { font: 700 1rem/1.2 var(--tp-sans); text-transform: uppercase; letter-spacing: .1em; color: var(--tp-gold); margin: 0; }
.tp-kicker--p { color: var(--tp-purple); }

/* Botons tallats en diagonal, com un dorsal */
.tp-btn, .woocommerce a.button, .woocommerce button.button, .woocommerce input.button, .woocommerce #respond input#submit,
.woocommerce a.button.alt, .woocommerce button.button.alt, .woocommerce .single_add_to_cart_button, .wc-block-components-button:not(.is-link),
.checkout-button, #place_order {
  display: inline-flex; align-items: center; justify-content: center; min-height: 52px; padding: .7rem 1.6rem !important;
  font: 800 1.3rem/1 var(--tp-display) !important; letter-spacing: .06em; text-transform: uppercase !important; text-decoration: none;
  border: 0 !important; border-radius: 0 !important; cursor: pointer;
  clip-path: polygon(var(--tp-cut) 0, 100% 0, calc(100% - var(--tp-cut)) 100%, 0 100%);
  background: var(--tp-gold) !important; color: var(--tp-ink) !important; transition: background .15s ease;
}
.tp-btn:hover, .woocommerce a.button:hover, .woocommerce button.button:hover, .woocommerce input.button:hover, .woocommerce .single_add_to_cart_button:hover,
.checkout-button:hover, #place_order:hover { background: var(--tp-gold-2) !important; color: var(--tp-ink) !important; }
.woocommerce .single_add_to_cart_button.disabled { opacity: .55; }
.single-product form.cart .single_add_to_cart_button { flex: 1 1 auto; white-space: nowrap; margin: 0 !important; }
.tp-btn--line { background: transparent !important; color: #fff !important; box-shadow: inset 0 0 0 2px #fff; clip-path: none; }
.tp-btn--line:hover { background: #fff !important; color: var(--tp-night) !important; }

/* ---------- Retícula: Astra posa cada franja amb un marge diferent; aquí totes van alineades ---------- */
body #content > .ast-container, .tp-band .ast-container { padding-inline: var(--tp-gutter) !important; }
.site-header .site-header-primary-section-left > :first-child { padding-left: 0; }
.site-header .site-header-primary-section-right > :last-child { padding-right: 0; }
.archive.woocommerce #content > .ast-container { max-width: 1240px; margin-inline: auto; gap: 3rem; }
.archive.woocommerce #primary, .archive.woocommerce #secondary { padding: 0 !important; margin-block: 2rem 3rem !important; border: 0; }
.archive.woocommerce .ast-woocommerce-container, .archive.woocommerce .ast-woo-sidebar-widget, .archive.woocommerce #secondary .widget { padding: 0 !important; background: none !important; }
.archive.woocommerce #secondary .widget { margin-bottom: 2rem; }
@media (min-width: 58rem) {
  .archive.woocommerce #secondary { flex: 0 0 16rem; width: 16rem !important; }
  .archive.woocommerce #primary { flex: 1 1 0; width: auto !important; min-width: 0; }
}
.site-header .site-primary-header-wrap { max-width: 1240px !important; margin-inline: auto; padding-inline: var(--tp-gutter) !important; }
.ast-mobile-header-wrap .menu-toggle { margin-left: -10px; }
.ast-single-entry-banner { padding-inline: 0 !important; }
.ast-single-entry-banner .ast-container { width: 100%; max-width: 1240px; margin-inline: auto; padding-inline: var(--tp-gutter) !important; }

/* ---------- Capçalera ---------- */
header.site-header, .site-header .main-header-bar, .ast-main-header-wrap, .ast-mobile-header-wrap .ast-primary-header-bar, .site-header .ast-primary-header-bar { background: var(--tp-night) !important; border: 0 !important; }
/* A la portada, Astra posa la capçalera transparent a sobre del contingut. */
header.site-header, .ast-theme-transparent-header #masthead { position: relative !important; z-index: 50; }
.site-below-header-wrap, .ast-below-header-bar, .site-header .ast-below-header-bar { background: var(--tp-night-2) !important; border: 0 !important; }
#ast-hf-menu-1 { flex-wrap: nowrap; }
#ast-hf-menu-1 .menu-link { padding-inline: .75rem; }
.ast-builder-grid-row.ast-grid-center-col-layout { grid-template-columns: minmax(0, 1fr) auto auto; gap: 1.5rem; }
@media (min-width: 80rem) { .ast-builder-grid-row.ast-grid-center-col-layout { grid-template-columns: 1fr auto 1fr; } }
.site-header .wp-block-search__inside-wrapper { min-width: 0; }
.site-header .wp-block-search__input { min-width: 0; width: 100%; }
.site-header .site-header-primary-section-left { min-width: 0; }
.site-header .custom-logo { filter: brightness(0) invert(1); max-width: 190px; height: auto; }
.main-header-menu .menu-link, .ast-builder-menu .menu-link { font: 700 1.25rem/1 var(--tp-display) !important; letter-spacing: .08em; text-transform: uppercase; color: #fff !important; white-space: nowrap; min-height: 44px; display: flex; align-items: center; }
.main-header-menu .menu-link:hover, .main-header-menu .current-menu-item > .menu-link, .main-header-menu .current_page_parent > .menu-link { color: var(--tp-gold) !important; background: transparent !important; }
.site-header .ast-mobile-svg, .site-header .ast-menu-toggle, .site-header .menu-toggle, .site-header .menu-toggle:hover, .site-header .menu-toggle svg, .site-header .ast-icon svg { color: #fff !important; fill: #fff !important; }
.ast-mobile-header-wrap .menu-toggle, .ast-mobile-header-wrap .menu-toggle:hover { background: transparent !important; color: #fff !important; }
.ast-mobile-header-content, .ast-desktop-header-content { background: var(--tp-night) !important; }
.ast-mobile-header-content .main-header-menu { background: var(--tp-night) !important; }
.ast-mobile-header-content .menu-item { border-color: var(--tp-line-d) !important; }
/* Cerca de la capçalera */
.site-header .wp-block-search__inside-wrapper { border: 0; background: rgba(255, 255, 255, .1); padding: 0; }
.site-header .wp-block-search__input { background: transparent !important; border: 0 !important; color: #fff !important; min-height: 44px; }
.site-header .wp-block-search__input::placeholder { color: var(--tp-muted-d); }
.site-header .wp-block-search__button { background: transparent !important; border: 0; margin: 0; padding: 0 .6rem; }
.site-header .wp-block-search__button img { filter: brightness(0) invert(1); }
/* Carret: només la icona i el nombre (el total partia la capçalera en dues línies) */
.site-header .ast-site-header-cart .ast-woo-header-cart-info-wrap, .site-header .ast-woo-header-cart-total { display: none !important; }
.site-header .ast-site-header-cart .cart-container, .site-header .ast-addon-cart-wrap { color: #fff !important; border-color: var(--tp-line-d) !important; background: transparent !important; }
.site-header .ast-site-header-cart i.astra-icon::after, .site-header .ast-site-header-cart .ast-icon-shopping-bag .count { background: var(--tp-gold); color: var(--tp-ink); }
.site-header .ast-site-header-cart svg { fill: #fff; color: #fff; }
.woocommerce-store-notice, p.demo_store { background: var(--tp-purple) !important; }

/* ---------- Banda fosca de títol ---------- */
.ast-single-entry-banner, .tp-band, .ast-archive-entry-banner { background: var(--tp-night) !important; color: #fff; padding-block: 1.25rem 2rem !important; text-align: left; min-height: 0 !important; border: 0; }
.ast-single-entry-banner .ast-container, .tp-band .ast-container { display: block; }
.ast-single-entry-banner[data-post-type] h1, .ast-single-entry-banner .entry-title, .tp-band h1 { color: #fff !important; font: 800 clamp(2.2rem, 1.5rem + 3vw, 4.4rem)/.95 var(--tp-display) !important; text-transform: uppercase; letter-spacing: .005em; margin: .5rem 0 0; }
.ast-single-entry-banner .ast-breadcrumbs-wrapper { order: -1; }
.ast-single-entry-banner .ast-container { display: flex; flex-direction: column; align-items: flex-start; }
.ast-single-entry-banner .ast-breadcrumbs .trail-items, .woocommerce-breadcrumb { margin: 0; font-weight: 600; font-size: .95rem; color: var(--tp-muted-d) !important; }
.ast-single-entry-banner a, .tp-band .woocommerce-breadcrumb a { color: var(--tp-muted-d) !important; text-decoration: none; }
.ast-single-entry-banner .trail-items li::after { color: var(--tp-muted-d); }
.ast-single-entry-banner span { color: var(--tp-muted-d); }
.tp-rail { margin-top: 1.25rem; }
.tp-rail ul { list-style: none; margin: 0; padding: .4rem .1rem .6rem; display: flex; gap: .25rem; overflow-x: auto; scrollbar-width: thin; scrollbar-color: var(--tp-line-d) transparent; }
.tp-rail li { flex: none; margin: 0; }
.tp-rail a { display: grid; justify-items: center; gap: .45rem; width: 5.6rem; color: #fff !important; text-decoration: none; text-align: center; font: 600 .95rem/1.15 var(--tp-sans); }
.tp-rail img { width: 52px; height: 52px; border-radius: 50%; transition: transform .2s ease; }
.tp-rail a:hover img { transform: rotate(-8deg) scale(1.06); }
.tp-rail a[aria-current] { color: var(--tp-gold) !important; }
.tp-rail a[aria-current] img { box-shadow: 0 0 0 3px var(--tp-night), 0 0 0 6px var(--tp-gold); }

/* ---------- Targetes ---------- */
.woocommerce ul.products { align-items: stretch; }
.woocommerce ul.products li.product { display: flex; flex-direction: column; background: #fff; border-bottom: 4px solid transparent; transition: border-color .15s ease; padding-bottom: .9rem !important; }
.woocommerce ul.products li.product:hover { border-color: var(--tp-purple); }
.woocommerce ul.products li.product a img { aspect-ratio: 1; width: 100%; height: auto; object-fit: contain; background: #fff; padding: 6%; margin: 0; box-shadow: none; }
.woocommerce ul.products li.product .astra-shop-summary-wrap { display: flex; flex-direction: column; flex: 1 1 auto; padding: .25rem 0 0; }
/* Sobre un fons de color la targeta es veu sencera: el text i el botó necessiten marge a dins. */
.tp-sec--fog ul.products li.product .astra-shop-summary-wrap { padding-inline: clamp(.6rem, .3rem + 1.2vw, 1.1rem); }
.tp-sec--fog ul.products li.product { padding-bottom: clamp(.6rem, .3rem + 1.2vw, 1.1rem) !important; }
.woocommerce ul.products li.product .ast-woo-product-category { display: none; }
.woocommerce ul.products li.product .woocommerce-loop-product__title { display: -webkit-box; -webkit-box-orient: vertical; -webkit-line-clamp: 3; overflow: hidden; font: 700 1.2rem/1.25 var(--tp-sans) !important; min-height: calc(2 * 1.25em); padding: 0; margin-bottom: .5rem; }
/* El preu s'enganxa al botó: amb «desde» o sense, tots els imports queden a la mateixa línia. */
.woocommerce ul.products li.product .price { font: 900 2.2rem/1 var(--tp-display) !important; color: var(--tp-ink) !important; margin: auto 0 .85rem; padding-top: .5rem; }
.woocommerce ul.products li.product .price .amount { color: inherit; }
.tp-from { display: block; font: 600 1rem/1.3 var(--tp-sans); color: var(--tp-muted); }
.woocommerce ul.products li.product .price .woocommerce-price-suffix { display: block; font: 600 .95rem/1.3 var(--tp-sans); color: var(--tp-muted); margin: .2rem 0 0; }
.woocommerce ul.products li.product .button, .woocommerce ul.products li.product .tp-card-btn { margin-top: 0 !important; align-self: stretch; text-align: center; min-height: 52px; font-size: 1.35rem !important; background: var(--tp-night) !important; color: #fff !important; }
.woocommerce ul.products li.product .button:hover { background: var(--tp-purple) !important; color: #fff !important; }
.woocommerce ul.products li.product .cfvsw-swatches-container, .woocommerce ul.products li.product form.cart { display: none !important; }
.tp-ladder { display: flex; align-items: flex-end; gap: .5rem; margin: .1rem 0 .15rem; }
.tp-ladder__bars { display: flex; align-items: flex-end; gap: 3px; height: 28px; }
.tp-ladder__bars i { display: block; width: 6px; background: var(--tp-purple); opacity: .85; }
.tp-ladder__txt { font: 600 1.0625rem/1 var(--tp-sans); color: var(--tp-muted); }
.woocommerce .woocommerce-ordering select, .woocommerce-result-count { font-weight: 600; font-size: 1.0625rem; }
.woocommerce .woocommerce-ordering select { min-height: 48px; color: var(--tp-ink); }

/* Barra lateral de filtres */
.widget-title, .wp-block-search__label { font: 800 1.45rem/1.1 var(--tp-display) !important; text-transform: uppercase; letter-spacing: .05em; color: var(--tp-ink) !important; }
.woocommerce .widget_price_filter .ui-slider .ui-slider-range, .woocommerce .widget_price_filter .ui-slider .ui-slider-handle { background: var(--tp-purple); }
.ast-woo-sidebar-widget .wp-block-search__button { background: var(--tp-night) !important; color: #fff !important; border: 0; font-weight: 700; }
.woocommerce .widget_price_filter .price_slider_amount .button { min-height: 48px; font-size: 1.25rem !important; }
.woocommerce .widget_price_filter .price_slider_amount { display: flex; flex-wrap: wrap; align-items: center; gap: .75rem; }
.woocommerce .widget_price_filter .price_slider_amount .price_label { order: -1; flex-basis: 100%; font-size: 1.0625rem; text-align: left; }
.ast-woo-sidebar-widget .wp-block-search__input, .ast-woo-sidebar-widget .wp-block-search__button { min-height: 48px; font-size: 1.0625rem; }
.wpfFilterWrapper { padding-inline: 0 !important; }
.wpfFilterButtons { margin-inline: 0 !important; padding-inline: 0 !important; }
.wpfFilterButton.wpfButton { margin-left: 0 !important; }
.wpfFilterWrapper .wfpTitle, .wpfFilterTitle, .wfpTitle { font-size: 1.0625rem !important; color: var(--tp-ink) !important; }
.wpfFilterTaxNameWrapper { font-size: 1.0625rem !important; color: var(--tp-ink) !important; line-height: 1.3; }
.wpfFilterButton.wpfButton, .wpfClearButton.wpfButton { background: var(--tp-night) !important; color: #fff !important; border: 0 !important; border-radius: 0 !important; font: 800 1.25rem/1 var(--tp-display) !important; text-transform: uppercase; letter-spacing: .06em; min-height: 48px; }

/* ---------- Portada ---------- */
.tp-front #content > .ast-container { display: block; max-width: none; padding: 0 !important; }
.tp-front .site-content { background: #fff; }
.tp-hero { background: radial-gradient(120% 90% at 75% 40%, #3a1580 0%, var(--tp-night) 62%); color: #fff; overflow: hidden;
  clip-path: polygon(0 0, 100% 0, 100% calc(100% - 3vw), 0 100%); padding-bottom: calc(5rem + 3vw); }
.tp-hero__grid { display: grid; gap: 3rem; padding-top: 3rem; }
.tp-hero h1 { color: #fff; font: 900 var(--tp-t-display)/.92 var(--tp-display); text-transform: uppercase; margin: 1rem 0 0; letter-spacing: .005em; }
.tp-hero h1 span { color: var(--tp-gold); }
.tp-hero__lead { margin: 1.5rem 0 0; font-size: clamp(1.15rem, 1.05rem + .5vw, 1.4rem); color: var(--tp-muted-d); max-width: 32ch; line-height: 1.45; }
.tp-hero__cta { margin-top: 2rem; display: flex; flex-wrap: wrap; gap: .75rem; }
@media (min-width: 64rem) { .tp-hero__grid { grid-template-columns: 1fr 1fr; align-items: center; } }

/* L'estadi: copa dins d'un disc gegant amb els discos en òrbita (element distintiu) */
.tp-arena { position: relative; width: min(100%, 34rem); margin-inline: auto; aspect-ratio: 1; }
.tp-arena__ring { position: absolute; inset: 9%; border-radius: 50%; background: #fff; overflow: hidden; box-shadow: 0 0 0 10px rgba(255, 255, 255, .08), 0 0 0 22px rgba(255, 255, 255, .04); }
.tp-arena__pic { position: absolute; inset: 0; transform: scale(1.12) translateY(3%); }
.tp-arena__pic > img { width: 100%; height: 100%; object-fit: contain; }
.tp-arena__orbit { position: absolute; inset: 0; list-style: none; margin: 0; padding: 0; }
.tp-arena__orbit li { position: absolute; width: 15%; aspect-ratio: 1; transform: translate(-50%, -50%); margin: 0; }
.tp-arena__orbit button { width: 100%; height: 100%; padding: 0; border: 0; border-radius: 50%; background: none !important; cursor: pointer; transition: transform .2s ease; box-shadow: none; }
.tp-arena__orbit button:hover { transform: scale(1.1); }
.tp-arena__orbit button[aria-pressed="true"] { box-shadow: 0 0 0 3px var(--tp-night), 0 0 0 6px var(--tp-gold); }
.tp-arena__orbit img { width: 100%; height: 100%; border-radius: 50%; }
.tp-arena__label { position: absolute; left: 50%; top: 105%; transform: translateX(-50%); background: var(--tp-gold); color: var(--tp-ink) !important; font: 800 1.25rem/1 var(--tp-display); letter-spacing: .06em; text-transform: uppercase; padding: .55rem .9rem; white-space: nowrap; text-decoration: none; }

.tp-stage-disc { position: absolute; border-radius: 50%; overflow: hidden; pointer-events: none; display: block; }
.tp-stage-disc img { width: 100%; height: 100%; object-fit: cover; display: block; margin: 0; padding: 0; animation: tp-pop .35s ease; }
@keyframes tp-pop { from { transform: scale(.6); opacity: 0; } to { transform: none; opacity: 1; } }

.tp-sec { padding-block: 5rem; }
.tp-sec--fog { background: var(--tp-fog); }
.tp-sec--night { background: var(--tp-night); color: #fff; }
.tp-laser h2 { color: #fff; }
.tp-sec__head { display: flex; flex-wrap: wrap; justify-content: space-between; align-items: end; gap: 1rem; margin-bottom: 2rem; }
.tp-sec__head h2, .tp-laser h2 { font: 800 var(--tp-t-xl)/.95 var(--tp-display); text-transform: uppercase; margin: .5rem 0 0; }
.tp-sec__aside { max-width: 36ch; color: var(--tp-muted); margin: 0; }
.tp-sec__more { font: 800 1.3rem/1 var(--tp-display); letter-spacing: .08em; text-transform: uppercase; color: var(--tp-purple); }

.tp-sports { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 1.5rem .75rem; list-style: none; padding: 0; margin: 0; }
@media (min-width: 28rem) { .tp-sports { grid-template-columns: repeat(4, minmax(0, 1fr)); } }
@media (min-width: 48rem) { .tp-sports { grid-template-columns: repeat(6, minmax(0, 1fr)); } }
@media (min-width: 72rem) { .tp-sports { grid-template-columns: repeat(8, minmax(0, 1fr)); } }
.tp-sports li { margin: 0; }
.tp-sports a { display: grid; justify-items: center; gap: .5rem; text-decoration: none; text-align: center; color: var(--tp-ink); font: 600 clamp(.95rem, .9rem + .25vw, 1.1rem)/1.15 var(--tp-sans); }
.tp-sports img { width: 100%; max-width: 104px; aspect-ratio: 1; border-radius: 50%; transition: transform .2s ease, box-shadow .2s ease; }
.tp-sports a:hover img { transform: translateY(-4px) rotate(-6deg); box-shadow: 0 0 0 4px #fff, 0 0 0 7px var(--tp-purple); }

.tp-laser { display: grid; gap: 2rem; align-items: center; }
.tp-laser__img { background: #fff; aspect-ratio: 1; max-width: 30rem; width: 100%; margin-inline: auto; clip-path: polygon(0 0, 100% 0, 100% 88%, 88% 100%, 0 100%); }
.tp-laser__img img { width: 100%; height: 100%; object-fit: contain; }
.tp-laser__txt { margin: 1rem 0 0; color: var(--tp-muted-d); max-width: 40ch; }
.tp-chips { display: flex; flex-wrap: wrap; gap: .5rem; margin-top: 1.5rem; }
.tp-chip { border: 2px solid var(--tp-line-d) !important; background: transparent !important; color: #fff !important; padding: .55rem .9rem !important; min-height: 44px; font: 800 1.25rem/1 var(--tp-display) !important; letter-spacing: .06em; text-transform: uppercase; cursor: pointer; border-radius: 0; box-shadow: none; }
.tp-chip[aria-pressed="true"] { background: var(--tp-gold) !important; border-color: var(--tp-gold) !important; color: var(--tp-ink) !important; }
.tp-laser__price { margin: 1.5rem 0; font: 900 var(--tp-t-xl)/1 var(--tp-display); }
.tp-laser__price small { font: 600 .9rem/1 var(--tp-sans); color: var(--tp-muted-d); margin-left: .4rem; }
@media (min-width: 60rem) { .tp-laser { grid-template-columns: 1fr 1fr; } }

.tp-score { display: grid; gap: 1.5rem; }
.tp-score div { border-left: 4px solid var(--tp-gold); padding-left: 1rem; }
.tp-score b { display: block; font: 900 clamp(2.4rem, 1.8rem + 3vw, 4.6rem)/.9 var(--tp-display); text-transform: uppercase; }
.tp-score span { color: var(--tp-muted-d); }
@media (min-width: 48rem) { .tp-score { grid-template-columns: repeat(3, 1fr); } }

.tp-cats { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 2px; background: var(--tp-line); border: 2px solid var(--tp-line); }
.tp-cats a { background: #fff; display: flex; flex-direction: column; gap: .4rem; padding: 1rem; text-decoration: none; min-height: 64px; color: var(--tp-ink); }
/* La línia que queda sola ocupa tota la fila, però les copes són de la mateixa mida que les altres. */
.tp-cats a:last-child:nth-child(odd) { grid-column: 1 / -1; display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); column-gap: 1rem; align-content: center; }
.tp-cats a:last-child:nth-child(odd) img { grid-row: 1 / span 3; align-self: center; margin: 0; }
.tp-cats a:hover { background: var(--tp-fog); color: var(--tp-ink); }
/* Les copes (mateixa alçada i base a totes les línies) surten d'assets/img/lineas: tools/build_tribuna_assets.py */
.tp-cats img { width: 100%; max-width: 26rem; align-self: center; height: auto; margin: 0 0 .5rem; mix-blend-mode: multiply; transition: transform .2s ease; }
.tp-cats a:hover img { transform: translateY(-4px); }
.tp-cats b { font: 800 clamp(1.5rem, 1.2rem + 1.2vw, 2.1rem)/1 var(--tp-display); text-transform: uppercase; }
.tp-cats span { color: var(--tp-muted); font-weight: 600; font-size: 1.0625rem; line-height: 1.3; }
@media (min-width: 60rem) {
  .tp-cats { grid-template-columns: repeat(5, minmax(0, 1fr)); }
  .tp-cats a:last-child:nth-child(odd) { grid-column: auto; display: flex; }
  .tp-cats a:last-child:nth-child(odd) img { margin: 0 0 .5rem; }
}

/* ---------- Fitxa ---------- */
.single-product .summary > .product_title, .single-product .summary > .single-product-category { display: none; }
.ast-separate-container.single-product div.product.ast-article-single { display: block; width: 100%; padding: 2rem 0 3rem !important; background: none; }
.ast-separate-container.single-product .ast-woocommerce-container { padding: 0 !important; background: none; }
.ast-separate-container.single-product #primary { margin-block: 0 !important; padding-block: 0 !important; }
.single-product div.product > * { min-width: 0; float: none !important; width: auto !important; }
.single-product div.product > .woocommerce-tabs, .single-product div.product > .related, .single-product div.product > .up-sells { margin-top: 3rem; }
.tp-fitxa { display: grid; gap: 2rem; }
.tp-fitxa > * { min-width: 0; float: none !important; width: auto !important; }
@media (min-width: 64rem) {
  .tp-fitxa { grid-template-columns: minmax(0, 1.05fr) minmax(0, 1fr); column-gap: 3rem; align-items: start; }
  .tp-media { --tp-top: 1rem; position: sticky; top: var(--tp-top); }
  /* L'avís de proves de WooCommerce és fix a dalt: la foto s'atura a sota. */
  .woocommerce-demo-store .tp-media { --tp-top: calc(58px + 1rem); }
  /* Foto i placa hi han de cabre senceres entre el capdamunt i la barra de compra (76 px): la foto es fa petita, el marc no. */
  .tp-media .flex-viewport, .tp-media .woocommerce-product-gallery > .woocommerce-product-gallery__wrapper { max-width: max(18rem, calc(100vh - var(--tp-top) - 76px - 1rem - var(--tp-plate-h, 7rem) - var(--tp-thumbs, 0px) - 4px)); margin-inline: auto; }
  .tp-media:has(.flex-control-thumbs) { --tp-thumbs: 6rem; }
}
.single-product .flex-control-thumbs { display: grid; grid-template-columns: repeat(6, minmax(0, 1fr)); gap: .5rem; margin: .5rem 0 0 !important; padding: .5rem !important; border-top: 2px solid var(--tp-fog); }
.single-product .flex-control-thumbs li { width: auto !important; float: none !important; margin: 0 !important; }
.single-product .woocommerce-product-gallery { position: relative; margin: 0 !important; width: 100% !important; float: none !important; border: 2px solid var(--tp-fog); }
.woocommerce-product-gallery__image { position: relative; }
.woocommerce-product-gallery__image a { display: block; }
.tp-stage-tag { position: absolute; left: 0; top: 1rem; z-index: 2; background: var(--tp-gold); color: var(--tp-ink); font: 800 1rem/1 var(--tp-display); letter-spacing: .08em; text-transform: uppercase; padding: .45rem 1rem .45rem .9rem; clip-path: polygon(0 0, 100% 0, calc(100% - 10px) 100%, 0 100%); }

/* La placa: la mateixa a la vista prèvia gran i a sobre de la base de la copa (.tp-stage-plate). */
.tp-plate, .tp-stage-plate { background: linear-gradient(135deg, #f7e7a1, #d9b44a 45%, #f5e08c 62%, #b98f2e); color: #2a1c05; }
.tp-plate { padding: 1rem 1.5rem; text-align: center; border-radius: 3px; display: grid; gap: .35rem; justify-items: center; box-shadow: inset 0 0 0 1px rgba(255, 255, 255, .4); }
.tp-plate img, .tp-stage-plate img { filter: grayscale(1) contrast(1.3); mix-blend-mode: multiply; margin: 0; }
.tp-plate img { max-height: 44px; max-width: 50%; }
.tp-stage-plate { position: absolute; display: flex; align-items: center; justify-content: center; gap: 3%; padding: .5% 2%; box-sizing: border-box; overflow: hidden; pointer-events: none; border-radius: 1px; box-shadow: 0 1px 2px rgba(0, 0, 0, .5), inset 0 0 0 1px rgba(255, 255, 255, .4); animation: tp-pop .25s ease; }
.tp-stage-plate img { flex: none; max-width: 32%; max-height: 90%; width: auto; }
.tp-stage-plate__txt { flex: 1 1 0; min-width: 0; height: 100%; display: flex; flex-direction: column; justify-content: center; align-items: center; overflow: hidden; line-height: 1.05; text-align: center; }
.tp-stage-plate__txt p { width: 100%; margin: 0; font: inherit; font-family: var(--tp-sans); font-weight: 700; color: inherit; line-height: 1.05; text-wrap: balance; }
.tp-plate p { margin: 0; font: 700 1.3rem/1.2 var(--tp-display); letter-spacing: .1em; text-transform: uppercase; overflow-wrap: anywhere; }
.tp-plate--empty p { opacity: .55; }
.tp-plate__cap { margin: .4rem 0 0; font-size: .95rem; color: var(--tp-muted); }
.tp-plate-wrap--side { margin-top: 1rem; }
.tp-plate-wrap--inline { margin-top: 1rem; flex-basis: 100%; }
@media (max-width: 63.99rem) { .tp-plate-wrap--side { display: none; } }
@media (min-width: 64rem) { .tp-plate-wrap--inline { display: none; } }

.single-product .summary { counter-reset: tp-step; margin: 0 !important; }
.tp-refs { color: var(--tp-muted); font-size: 1rem; margin: 0 0 .5rem; }
.single-product .summary > .price { font: 900 clamp(1.6rem, 1.3rem + 1vw, 2.2rem)/1.1 var(--tp-display) !important; color: var(--tp-ink) !important; margin: 0 0 .5rem; }
.single-product .summary > .price .amount { color: inherit; }
.woocommerce-price-suffix { font: 600 .95rem/1 var(--tp-sans); color: var(--tp-muted); margin-left: .25rem; }
.woocommerce-product-details__short-description { color: var(--tp-muted); }
.woocommerce-product-details__short-description p { margin: 0 0 1rem; }

.tp-step__head { display: flex; align-items: baseline; gap: .75rem; width: 100%; flex-basis: 100%; margin: 1.5rem 0 1rem; padding-top: 1.25rem; border-top: 2px solid var(--tp-fog); }
.tp-step__n::before { counter-increment: tp-step; content: counter(tp-step); font: 900 2.6rem/.8 var(--tp-display); color: var(--tp-purple); }
.tp-step__head h2 { font: 800 1.9rem/1 var(--tp-display) !important; text-transform: uppercase; margin: 0; color: var(--tp-ink); }
.tp-step__aside { margin-left: auto; font-size: 1.0625rem; color: var(--tp-muted); font-weight: 600; }
.tp-hint { display: block; font-size: .95rem; color: var(--tp-muted); margin-top: .3rem; }

.single-product form.cart { margin: 0 !important; }
.single-product form.cart table.variations, .single-product form.cart table.variations tbody, .single-product form.cart table.variations tr { display: block !important; width: 100%; margin: 0 !important; border: 0 !important; }
.single-product form.cart table.variations th, .single-product form.cart table.variations td { display: block; width: 100% !important; padding: 0; border: 0; background: none; }
.single-product form.cart table.variations tr.tp-size-row th { position: absolute; width: 1px; height: 1px; overflow: hidden; clip: rect(0 0 0 0); }
.reset_variations { display: none !important; }
/* Altres atributs (Color al Figurín 179-9621): etiqueta visible i botons que es toquen bé. */
.single-product form.cart table.variations tr:not(.tp-size-row) th { display: block !important; margin: 1rem 0 .5rem; font: 700 1.0625rem/1.2 var(--tp-sans); color: var(--tp-ink); }
.single-product form.cart table.variations tr:not(.tp-size-row) th label { display: inline !important; margin: 0; font: inherit; }
.single-product .cfvsw-swatches-option:not(.tp-size) { min-height: 44px; padding: .4rem .9rem !important; border-radius: 0 !important; }
.single-product .cfvsw-swatches-option:not(.tp-size) .cfvsw-swatch-inner { font-size: 1.0625rem; }
.tp-js .single_variation .woocommerce-variation-price, .tp-js .single_variation .woocommerce-variation-description { display: none; }
.single_variation .woocommerce-variation-availability p { margin: .5rem 0 0; }

/* Mides com a barres d'alçada (element distintiu de la fitxa) */
.tp-sizes { width: 100%; display: grid !important; grid-auto-flow: column; grid-auto-columns: minmax(3.2rem, 5.5rem); gap: .5rem !important; align-items: end; overflow-x: auto; padding-bottom: .3rem; position: relative; }
.single-product .tp-size { display: grid !important; justify-items: center; justify-content: stretch !important; align-content: end; gap: .35rem; cursor: pointer; text-align: center; margin: 0 !important; padding: 0 !important; border: 0 !important; border-radius: 0 !important; background: none !important; box-shadow: none !important; min-width: 0 !important; height: auto !important; outline-offset: 2px; }
.single-product .tp-size::before, .single-product .tp-size::after { display: none !important; }
.tp-size__bar { display: block; width: 100%; background: var(--tp-fog); border-bottom: 4px solid var(--tp-line); transition: background .15s ease; }
.tp-size__cm { font: 900 clamp(1.25rem, 1rem + 1vw, 1.6rem)/1 var(--tp-display) !important; color: var(--tp-ink); padding: 0 !important; }
.tp-size__cm small { font: 600 .875rem/1 var(--tp-sans); margin-left: .1em; }
.tp-size__eur { font-size: .95rem; font-weight: 600; color: var(--tp-muted); white-space: nowrap; }
@media (max-width: 26rem) { .tp-sizes { gap: .25rem !important; } .tp-size__eur { font-size: .875rem; } }
.tp-size:hover .tp-size__bar { background: #e4ddf3; }
.tp-size.cfvsw-selected-swatch .tp-size__bar, .tp-size--on .tp-size__bar { background: var(--tp-purple); border-color: var(--tp-gold); }
.tp-size.cfvsw-selected-swatch .tp-size__cm, .tp-size--on .tp-size__cm { color: var(--tp-purple); }
.tp-size.cfvsw-swatches-disabled { opacity: .35; }

/* Selector de discos */
.tp-disc { border: 0; margin: 0; padding: 0; min-width: 0; width: 100%; flex-basis: 100%; }
.tp-tabs { display: inline-flex; margin-bottom: 1rem; border: 2px solid var(--tp-ink); }
.tp-tabs button { border: 0; background: transparent !important; color: var(--tp-ink) !important; padding: .5rem 1rem; min-height: 44px; font: 800 1.25rem/1 var(--tp-display); letter-spacing: .06em; text-transform: uppercase; cursor: pointer; box-shadow: none; border-radius: 0; }
.tp-tabs button[aria-pressed="true"] { background: var(--tp-ink) !important; color: #fff !important; }
.tp-pick { display: grid; grid-template-columns: repeat(auto-fill, minmax(5.2rem, 1fr)); gap: 1.25rem .5rem; list-style: none; margin: 0; padding: 0; }
.tp-pick li { margin: 0; }
.tp-pick label, .tp-pick a { position: relative; display: grid; justify-items: center; gap: .65rem; cursor: pointer; text-align: center; color: var(--tp-ink); text-decoration: none; font: 600 .95rem/1.15 var(--tp-sans); margin: 0; }
.tp-pick input { position: absolute; opacity: 0; pointer-events: none; }
.tp-pick img { width: 62px; height: 62px; border-radius: 50%; transition: transform .15s ease, box-shadow .15s ease; margin: 0; }
.tp-pick label:hover img, .tp-pick a:hover img { transform: rotate(-8deg) scale(1.05); }
.tp-pick label:has(input:checked) img, .tp-pick a[aria-current] img { box-shadow: 0 0 0 3px #fff, 0 0 0 6px var(--tp-gold); transform: scale(1.06); }
.tp-pick label:has(input:checked), .tp-pick a[aria-current] { color: var(--tp-purple); }
.tp-pick label:has(input:focus-visible) img { outline: 3px solid var(--tp-purple); outline-offset: 4px; }
.tp-pick__note { font-size: 1rem; color: var(--tp-muted); margin: .9rem 0 0; }

/* Gravat (camps d'APF) */
.woocommerce-variation-add-to-cart, .single-product form.cart:not(.variations_form) { display: flex; flex-wrap: wrap; align-items: center; gap: 0 .75rem; }
.wapf { width: 100%; flex-basis: 100%; }
.wapf > .wapf-wrapper { margin-inline: 0 !important; }
.wapf > .wapf-wrapper > .wapf-field-group { background: none; padding: 0; margin: 0; }
.wapf-field-p { display: none !important; }
.wapf .wapf-field-group .wapf-section { display: grid; gap: 1rem; }
.wapf .wapf-section > .wapf-field-container { width: auto !important; min-width: 0; margin: 0; padding: 0; }
.wapf-field-label label, .wapf-field-label span { font: 700 1.0625rem/1.2 var(--tp-sans); color: var(--tp-ink); }
.wapf-field-label { margin-bottom: .35rem; }
.wapf-field-description { font-size: .95rem; line-height: 1.4; color: var(--tp-muted); margin-top: .3rem; }
.wapf input[type="text"], .tp-lines { width: 100%; border: 2px solid var(--tp-line) !important; border-radius: 0 !important; padding: .7rem .8rem; background: #fff; min-height: 44px; box-shadow: none; }
.wapf .tp-lines { resize: vertical; display: block; line-height: 1.4; min-height: 7.2rem !important; }
.wapf input[type="text"]:focus, .tp-lines:focus { outline: none; border-color: var(--tp-purple) !important; }
.tp-has-disc .wapf-field-container.field-ea32197 { display: none; }
.wapf .dzone { border: 2px dashed var(--tp-purple) !important; background: var(--tp-fog) !important; border-radius: 0 !important; min-height: 7.2rem; display: flex; flex-wrap: wrap; align-items: center; justify-content: center; text-align: center; font-weight: 700; color: var(--tp-ink); padding: .75rem; }
.wapf .dz-message { margin: 0; }
@media (min-width: 40rem) {
  .wapf .wapf-field-group .wapf-section { grid-template-columns: minmax(0, 1.4fr) minmax(0, 1fr); }
  .wapf-section > .field-ea32197, .wapf-section > .field-37d585e { grid-column: 1 / -1; }
}

/* Quantitat i botó */
.single-product .quantity { margin: 0 !important; display: inline-flex; border: 2px solid var(--tp-ink); }
.single-product .quantity .qty { width: 3.2rem; min-height: 48px; border: 0; padding: 0; text-align: center; font: 800 1.3rem/1 var(--tp-display); background: #fff; appearance: textfield; -moz-appearance: textfield; }
.single-product .quantity .qty::-webkit-outer-spin-button, .single-product .quantity .qty::-webkit-inner-spin-button { -webkit-appearance: none; margin: 0; }
.tp-qty-btn { min-width: 44px; padding: 0; background: #fff !important; color: var(--tp-ink) !important; border: 0; border-radius: 0; box-shadow: none; cursor: pointer; font: 800 1.3rem/1 var(--tp-display); }
.tp-qty-btn:hover { background: var(--tp-fog) !important; }
.tp-eta { width: 100%; flex-basis: 100%; margin: 1rem 0 0; display: flex; flex-wrap: wrap; gap: .5rem .75rem; align-items: center; font-weight: 600; }
.tp-eta b { background: var(--tp-fog); padding: .3rem .6rem; }
.single-product .product_meta { font-size: 1rem; color: var(--tp-muted); margin-top: 1.5rem; border-top: 2px solid var(--tp-fog); padding-top: 1rem; }
.single-product .product_meta > span { display: block !important; margin: 0; }
.single-product .product_meta .tagged_as { display: none !important; }

/* Barra de compra fixa */
.tp-buybar { position: fixed; inset: auto 0 0 0; z-index: 30; background: var(--tp-night); color: #fff; box-shadow: 0 -8px 24px rgba(0, 0, 0, .2); padding-bottom: env(safe-area-inset-bottom); }
.tp-buybar__in { display: flex !important; align-items: center; gap: .75rem; min-height: 76px; padding-block: .5rem; padding-inline: var(--tp-gutter); }
.tp-buybar__disc { width: 46px; height: 46px; border-radius: 50%; flex: none; }
.tp-buybar__what { font: 800 1.25rem/1.1 var(--tp-display); letter-spacing: .04em; text-transform: uppercase; min-width: 0; }
.tp-buybar__what small { display: block; font: 500 .95rem/1.25 var(--tp-sans); letter-spacing: 0; text-transform: none; color: var(--tp-muted-d); }
.tp-buybar__total { margin-left: auto; font: 900 1.9rem/1 var(--tp-display); white-space: nowrap; }
.tp-buybar .tp-btn { flex: none; }
body.tp-has-buybar { padding-bottom: 76px; }
@media (max-width: 30rem) {
  .tp-buybar__disc { display: none; }
  .tp-buybar__what { font-size: 1.1rem; }
  .tp-buybar__what small { display: none; } /* La data ja surt al pas de la quantitat. */
  .tp-buybar .tp-btn { padding-inline: 1rem !important; font-size: 1.2rem !important; }
  .tp-buybar__total { font-size: 1.5rem; }
}

/* Pestanyes i relacionats */
.woocommerce-tabs ul.tabs { border: 0 !important; }
.woocommerce-tabs ul.tabs li a { font: 800 1.3rem/1 var(--tp-display); text-transform: uppercase; letter-spacing: .06em; }
.woocommerce-tabs ul.tabs li.active a { color: var(--tp-purple); }
.woocommerce-tabs .panel > h2:first-child { display: none; }
.related.products > h2, .up-sells > h2 { font: 800 var(--tp-t-xl)/.95 var(--tp-display); text-transform: uppercase; margin-bottom: 1.5rem; }

/* ---------- Personalitzar en un diàleg, sense sortir de la graella (vegeu inc/lightbox.php) ---------- */
html.tp-lb-lock { overflow: hidden; }
html.tp-lb-lock body { padding-right: var(--tp-sbw, 0); }
.tp-lb { width: 100vw; height: 100vh; height: 100dvh; max-width: none; max-height: none; margin: 0; padding: 0; border: 0; background: #fff; color: var(--tp-ink); overflow: hidden; }
.tp-lb[open] { display: grid; grid-template-rows: auto minmax(0, 1fr); }
.tp-lb::backdrop { background: rgba(23, 10, 51, .72); }
.tp-lb__bar { display: flex; align-items: center; gap: .75rem; min-height: 56px; padding-inline: var(--tp-gutter) .25rem; background: var(--tp-night); color: #fff; }
.tp-lb__title { flex: 0 1 auto; min-width: 0; margin: 0 !important; overflow: hidden; white-space: nowrap; text-overflow: ellipsis; color: #fff; font: 800 clamp(1.15rem, 1rem + .6vw, 1.5rem)/1.2 var(--tp-display) !important; text-transform: uppercase; letter-spacing: .03em; }
.tp-lb__full { flex: none; margin-left: auto; display: inline-flex; align-items: center; min-height: 44px; color: var(--tp-muted-d) !important; font-size: 1rem; font-weight: 600; white-space: nowrap; }
.tp-lb__full:hover { color: #fff !important; }
.tp-lb__close { flex: none; width: 48px; height: 48px; padding: 0; border: 0; border-radius: 0; background: transparent !important; color: #fff !important; box-shadow: none; cursor: pointer; font: 400 1.9rem/1 var(--tp-sans); }
.tp-lb__close:hover { color: var(--tp-gold) !important; }
.tp-lb__body { position: relative; min-height: 0; }
.tp-lb__body iframe { display: block; width: 100%; height: 100%; border: 0; }
.tp-lb__wait { position: absolute; inset: 0; display: grid; place-content: center; justify-items: center; gap: 1rem; padding: 1rem; background: #fff; color: var(--tp-muted); font-weight: 600; }
.tp-lb__wait img { width: min(15rem, 60vw); aspect-ratio: 1; object-fit: contain; margin: 0; }
.tp-lb__wait p { margin: 0; display: flex; align-items: center; gap: .6rem; }
.tp-lb__wait p::before { content: ""; width: 1.1rem; height: 1.1rem; border: 3px solid var(--tp-line); border-top-color: var(--tp-purple); border-radius: 50%; animation: tp-spin .8s linear infinite; }
@keyframes tp-spin { to { transform: rotate(360deg); } }
.tp-lb__done { display: grid; align-content: center; justify-items: center; gap: .5rem; padding: 2rem var(--tp-gutter); text-align: center; }
.tp-lb__done img { width: 10rem; aspect-ratio: 1; object-fit: contain; margin: 0; }
.tp-lb__ok { margin: 0; color: var(--tp-purple); font: 800 clamp(1.8rem, 1.5rem + 1vw, 2.4rem)/1 var(--tp-display); text-transform: uppercase; }
.tp-lb__name { margin: 0 0 1rem; color: var(--tp-muted); font-weight: 600; }
.tp-lb__acts { display: flex; flex-wrap: wrap; justify-content: center; gap: .75rem; }
.tp-lb__acts .tp-lb__more { background: var(--tp-night) !important; color: #fff !important; }
.tp-lb__acts .tp-lb__more:hover { background: var(--tp-purple) !important; color: #fff !important; }
.tp-lb--done[open] { height: fit-content; }
@media (min-width: 48rem) {
  .tp-lb { width: min(78rem, 100vw - 3rem); height: min(56rem, 100vh - 3rem); height: min(56rem, 100dvh - 3rem); margin: auto; }
  .tp-lb--done { width: min(34rem, 100vw - 3rem); }
}
@media (max-width: 30rem) { .tp-lb__full { font-size: .875rem; } }

/* La mateixa fitxa dins de l'iframe del diàleg: sense capçalera, peu ni avisos. */
body.tp-modal { margin-top: 0 !important; padding-top: 0 !important; }
.tp-modal #masthead, .tp-modal .site-footer, .tp-modal .ast-single-entry-banner, .tp-modal .woocommerce-store-notice, .tp-modal #ast-scroll-top, .tp-modal .ast-mobile-popup-drawer { display: none !important; }
.tp-modal #content > .ast-container { max-width: none; }
.ast-separate-container.tp-modal.single-product div.product.ast-article-single { padding: 1.25rem 0 1.5rem !important; }
body.tp-modal .tp-media { --tp-top: 1rem; }

/* ---------- Carret i comanda (heretat de l'antic CSS del Personalitzador) ---------- */
.woocommerce-cart .entry-title, .woocommerce-checkout .entry-title, .woocommerce-account .entry-title, .page .entry-header .entry-title { font: 800 var(--tp-t-xl)/.95 var(--tp-display) !important; text-transform: uppercase; color: var(--tp-ink); }
.ast-separate-container.woocommerce-cart .ast-article-single, .ast-separate-container.woocommerce-checkout .ast-article-single, .ast-separate-container.woocommerce-account .ast-article-single { padding-top: 2rem; }
.woocommerce td.product-name .wc-item-meta li, .woocommerce td.product-name dl.variation dd { display: block; margin-top: 5px; }
.woocommerce td.product-name .wc-item-meta-label { display: block; font-weight: 600; font-style: italic; color: #444; margin-bottom: 2px; }
.woocommerce td.product-name .wc-item-meta p { margin: 0; font-size: .95em; color: #222; }
.ast-single-entry-banner + #content { padding-top: 0; }
.woocommerce-cart table.cart th, .woocommerce-checkout h3, .cart_totals h2 { font-family: var(--tp-display); text-transform: uppercase; letter-spacing: .05em; }

/* ---------- Peu ---------- */
.site-footer, .site-primary-footer-wrap, .site-below-footer-wrap, .site-above-footer-wrap { background: var(--tp-night) !important; color: var(--tp-muted-d); }
.site-footer .widget-title { color: #fff !important; border-bottom: 0; margin-right: 25px; font: 800 1.4rem/1.1 var(--tp-display) !important; }
.site-footer a, .site-footer .menu-link { color: var(--tp-muted-d) !important; }
.site-footer a:hover { color: var(--tp-gold) !important; }
.site-footer p { color: var(--tp-muted-d); }
footer aside.footer-widget-area section { margin-bottom: .2rem; }

@media (prefers-reduced-motion: reduce) {
  *, *::before, *::after { transition-duration: .01ms !important; animation-duration: .01ms !important; }
}

/* Astra repeteix títol i molles a l'arxiu: ja surten a la banda. Només es manté la descripció de la categoria, si n'hi ha. */
.archive.woocommerce .ast-archive-description { background: none; padding: 0; margin: 0; border: 0; }
.archive.woocommerce .ast-archive-description > .ast-archive-title, .archive.woocommerce .ast-archive-description > .ast-breadcrumbs-wrapper { display: none; }

/* Amb la barra lateral i la lletra gran, tres targetes: són més amples i les fotos, més grans. */
.woocommerce ul.products li.product, .woocommerce ul.products li.product .astra-shop-summary-wrap { min-width: 0; }
.woocommerce ul.products li.product .button, .woocommerce ul.products li.product .tp-card-btn { padding-inline: .5rem !important; }
@media (min-width: 922px) {
  .archive.woocommerce ul.products.columns-4 { grid-template-columns: repeat(3, minmax(0, 1fr)); }
}
.woocommerce ul.products.columns-4 { column-gap: 1.5rem; }

/* Mòbils, amb dues columnes: «Personalizar» ha de cabre al botó sense tocar el tall diagonal. */
@media (max-width: 28rem) {
  .woocommerce ul.products li.product .tp-card-btn { --tp-cut: 8px; padding-inline: .25rem !important; font-size: 1.15rem !important; }
}

/* Formes de pagament al peu: mateixa retícula i lletra que la resta, alineades al marge dret. */
/* Les dues files del peu, al mateix ample que el contingut. Astra les deixava a 0–1024 i 5–1019. */
.site-footer .site-primary-footer-wrap, .site-footer .site-below-footer-wrap, .site-footer .ast-builder-grid-row-container-inner { padding-inline: 0 !important; }
.site-footer .site-primary-footer-inner-wrap, .site-footer .site-below-footer-inner-wrap { width: min(100% - 2 * var(--tp-gutter), 1200px); max-width: none; margin-inline: auto; }
.site-below-footer-inner-wrap { align-items: center; }
@media (min-width: 922px) { .site-footer .site-below-footer-inner-wrap { grid-template-columns: auto minmax(0, 1fr); } }
.site-footer-below-section-2 { justify-content: flex-end; min-width: 0; }
.site-footer-below-section-2 .footer-widget-area { width: 100%; }
.site-footer-below-section-2 .widget { margin: 0 !important; }
.tp-pay { display: flex; flex-wrap: wrap; align-items: center; justify-content: flex-end; gap: .5rem .9rem; }
.tp-pay__label { color: var(--tp-muted-d); font-size: .95rem; }
.tp-pay ul { display: flex; flex-wrap: wrap; justify-content: flex-end; gap: .4rem; margin: 0; padding: 0; list-style: none; }
.tp-pay li { margin: 0; padding: .3rem .65rem; border: 1px solid var(--tp-line-d); border-radius: 3px; color: #fff; font: 600 .9rem/1.2 var(--tp-sans); white-space: nowrap; }
@media (max-width: 921px) {
  .tp-pay, .tp-pay ul { justify-content: center; }
  .tp-pay { flex-direction: column; }
}
