@import url('https://fonts.googleapis.com/css2?family=Anton&family=Inter:wght@400;500;600;700;800&family=IBM+Plex+Mono:wght@500;600&display=swap');
@import url('header.css?v=1.4.17');
@import url('footer.css');
@import url('404.css');
@import url('cms.css');

:root {
  --lime: #A0C542;
  --lime-dark: #7C9A32;
  --ink: #101010;
  --white: #FFFFFF;
  --concrete: #F3F3EF;
  --line: #E2E2DC;
  --mp-wrap: 1400px;
  --badge-new: #D63274;
  --badge-bestseller: #C47F1A;
  --badge-discount: #D68C00;
  --error: #C62828;
  --oos: #C62828;
  --mp-form-radius: 8px;
  --mp-form-card-radius: 10px;
  --mp-form-border: #dcdcd6;
  --mp-form-border-hover: #c8c8c0;
  --mp-form-border-focus: var(--lime-dark);
  --mp-form-focus-ring: rgba(160, 197, 66, 0.24);
  --mp-form-selected-bg: rgba(160, 197, 66, 0.07);
  --mp-header-height: 198px;
  --mp-sticky-gap: 16px;
  --mp-sticky-sidebar-top: var(--scroll-padding-top, calc(var(--mp-header-height) + var(--mp-sticky-gap)));
  --mp-sticky-trust-top: var(--scroll-padding-top, var(--mp-header-height));

  /* Bootstrap 5.3 — tokens de marca (evita azules nativos) */
  --bs-primary: var(--lime);
  --bs-primary-rgb: 160, 197, 66;
  --bs-secondary: var(--ink);
  --bs-secondary-rgb: 16, 16, 16;
  --bs-link-color: var(--lime-dark);
  --bs-link-hover-color: var(--ink);
  --bs-link-color-rgb: 124, 154, 50;
  --bs-link-hover-color-rgb: 16, 16, 16;
  --bs-body-color: var(--ink);
  --bs-body-color-rgb: 16, 16, 16;
  --bs-body-font-family: 'Inter', sans-serif;
  --bs-border-radius: 0;
  --bs-border-radius-sm: 0;
  --bs-border-radius-lg: 0;
  --bs-border-radius-xl: 0;
  --bs-border-radius-xxl: 0;
  --bs-btn-border-radius: 0;
  --bs-btn-focus-box-shadow: 0 0 0 0.2rem rgba(160, 197, 66, 0.35);
  --bs-focus-ring-color: rgba(160, 197, 66, 0.35);
  --bs-pagination-color: var(--ink);
  --bs-pagination-hover-color: var(--ink);
  --bs-pagination-hover-bg: var(--concrete);
  --bs-pagination-hover-border-color: var(--ink);
  --bs-pagination-active-color: var(--white);
  --bs-pagination-active-bg: var(--ink);
  --bs-pagination-active-border-color: var(--ink);
  --bs-pagination-focus-color: var(--ink);
  --bs-form-control-focus-border-color: var(--lime-dark);
  --bs-form-check-input-checked-bg-color: var(--lime);
  --bs-form-check-input-checked-border-color: var(--ink);
}

/* --- Spec-Tag (design system) --- */
.tag {
  --tag-notch: 14px;
  --tag-border: 1.5px;
  position: relative;
  z-index: 0;
  isolation: isolate;
  display: inline-flex;
  align-items: center;
  gap: 10px;
  background: var(--ink);
  color: var(--white);
  font-family: 'IBM Plex Mono', monospace;
  font-size: 12px;
  font-weight: 600;
  letter-spacing: 0.08em;
  text-transform: uppercase;
  padding: 8px 14px 8px 10px;
  clip-path: polygon(0 50%, var(--tag-notch) 0, 100% 0, 100% 100%, var(--tag-notch) 100%);
}

.tag::before {
  content: '';
  position: relative;
  z-index: 1;
  width: 6px;
  height: 6px;
  border-radius: 50%;
  background: var(--lime);
  flex-shrink: 0;
}

.tag.lime {
  background: var(--lime);
  color: var(--ink);
}

.tag.lime::before {
  background: var(--ink);
}

/* Outline (04) — shell ink + interior blanco, misma forma chevron que 03 */
.tag.tag--outline {
  --tag-notch: 14px;
  --tag-border: 1.5px;
  display: inline-flex;
  align-items: stretch;
  gap: 0;
  padding: var(--tag-border);
  background: var(--ink);
  clip-path: polygon(0 50%, var(--tag-notch) 0, 100% 0, 100% 100%, var(--tag-notch) 100%);
  border: none;
  color: inherit;
  font: inherit;
  letter-spacing: inherit;
  text-transform: inherit;
  isolation: auto;
}

.tag.tag--outline::before {
  content: none;
  display: none;
}

.tag.tag--outline .tag__body {
  display: inline-flex;
  align-items: center;
  gap: 10px;
  width: 100%;
  background: var(--white);
  color: var(--ink);
  font-family: 'IBM Plex Mono', monospace;
  font-size: 12px;
  font-weight: 600;
  letter-spacing: 0.08em;
  text-transform: uppercase;
  padding: 8px 14px 8px 10px;
  clip-path: polygon(0 50%, var(--tag-notch) 0, 100% 0, 100% 100%, var(--tag-notch) 100%);
}

.tag.tag--outline .tag__body::before {
  content: '';
  width: 6px;
  height: 6px;
  border-radius: 50%;
  background: var(--lime-dark);
  flex-shrink: 0;
}

.tag.tag--outline.tag--oos .tag__body::before,
.mp-stock-alert__tag.tag--outline .tag__body::before,
.mp-product__oos.tag--outline .tag__body::before,
.p-badge--oos.tag--outline .tag__body::before {
  background: var(--oos);
}

.tag.tag--outline.tag--sm {
  --tag-notch: 8px;
}

.tag.tag--outline.tag--sm .tag__body {
  font-size: 10px;
  padding: 5px 10px 5px 8px;
  gap: 6px;
}

/* Alias legacy */
.tag.outline {
  --tag-notch: 14px;
  --tag-border: 1.5px;
  display: inline-flex;
  padding: var(--tag-border);
  background: var(--ink);
  clip-path: polygon(0 50%, var(--tag-notch) 0, 100% 0, 100% 100%, var(--tag-notch) 100%);
  border: none;
  color: inherit;
}

.tag.outline::before {
  content: none;
  display: none;
}

.tag.outline::after {
  content: none;
  display: none;
}

/* Ancho de contenido — design system (.wrap = 1400px) */
.matillaplant-header .container-md,
#wrapper .container,
#wrapper .container-md,
.page-content .container,
.page-content .container-md,
.page-content--home .container,
.page-content--home .container-md,
.page-content.page-home .container,
.page-content.page-home .container-md,
.page-content--home .module-products.container,
.page-content.page-home .module-products.container,
.footer .container,
.footer .container-md,
.notifications .container-md {
  max-width: var(--mp-wrap);
  margin-left: auto;
  margin-right: auto;
}

@media (min-width: 992px) {
  .matillaplant-header .container-md,
  #wrapper .container,
  #wrapper .container-md,
  #wrapper .container-lg,
  #wrapper .container-xl,
  .page-content .container,
  .page-content .container-md,
  .page-content .container-lg,
  .page-content .container-xl,
  .footer .container,
  .footer .container-md,
  .footer .container-lg,
  .footer .container-xl,
  .notifications .container-md {
    max-width: var(--mp-wrap);
  }
}

/* --- Base global (contenido; cabecera tiene sus propios estilos) --- */
body {
  font-family: 'Inter', sans-serif;
  color: var(--ink);
  -webkit-font-smoothing: antialiased;
}

/* Enlaces en contenido editorial — no pisar tarjetas, menú, cabecera ni panel carrito */
.rich-text a:not(.btn),
.cms-content a:not(.btn),
.page-content:not(.page-weblog) a:not(.btn):not(.nav-link):not(.page-link):not(.dropdown-item):not(.product-miniature__title):not(.p-card-name):not(.cat-chip):not(.breadcrumb-link):not(.p-add):not(.mp-btn-brutal):not(.product-miniature__details):not(.mp-account__card):not(.mp-account-menu__link):not(.mp-account-links__item):not(.mp-account-back):not(.mp-order-history__action):not(.mp-order-history__invoice):not(.mp-value-card__link):not(.mp-404__cta):not(.mp-404__help-link):not(.mp-404__cta--link):not(.sitemap__link):not(.mp-auth-page__forgot):not(.mp-auth-page__back):not(.mp-form-terms-link),
.mp-footer__main a:not(.btn):not(.nav-link),
.mp-footer__before a:not(.btn):not(.nav-link),
.footer__main a:not(.btn):not(.nav-link),
.footer__before a:not(.btn):not(.nav-link) {
  color: var(--lime-dark);
  font-weight: 600;
  text-decoration: underline;
  text-decoration-color: var(--lime);
  text-underline-offset: 3px;
}

.rich-text a:not(.btn):hover,
.rich-text a:not(.btn):focus-visible,
.cms-content a:not(.btn):hover,
.cms-content a:not(.btn):focus-visible,
.page-content:not(.page-weblog) a:not(.btn):not(.nav-link):not(.page-link):not(.dropdown-item):not(.product-miniature__title):not(.p-card-name):not(.cat-chip):not(.breadcrumb-link):not(.p-add):not(.mp-btn-brutal):not(.product-miniature__details):not(.mp-account__card):not(.mp-account-menu__link):not(.mp-account-links__item):not(.mp-account-back):not(.mp-order-history__action):not(.mp-order-history__invoice):not(.mp-value-card__link):not(.mp-404__cta):not(.mp-404__help-link):not(.mp-404__cta--link):not(.sitemap__link):not(.mp-auth-page__forgot):not(.mp-auth-page__back):not(.mp-form-terms-link):hover,
.page-content:not(.page-weblog) a:not(.btn):not(.nav-link):not(.page-link):not(.dropdown-item):not(.product-miniature__title):not(.p-card-name):not(.cat-chip):not(.breadcrumb-link):not(.p-add):not(.mp-btn-brutal):not(.product-miniature__details):not(.mp-account__card):not(.mp-account-menu__link):not(.mp-account-links__item):not(.mp-account-back):not(.mp-order-history__action):not(.mp-order-history__invoice):not(.mp-value-card__link):not(.mp-404__cta):not(.mp-404__help-link):not(.mp-404__cta--link):not(.sitemap__link):not(.mp-auth-page__forgot):not(.mp-auth-page__back):not(.mp-form-terms-link):focus-visible,
.mp-footer__main a:not(.btn):not(.nav-link):hover,
.mp-footer__main a:not(.btn):not(.nav-link):focus-visible,
.mp-footer__before a:not(.btn):not(.nav-link):hover,
.mp-footer__before a:not(.btn):not(.nav-link):focus-visible,
.footer__main a:not(.btn):not(.nav-link):hover,
.footer__main a:not(.btn):not(.nav-link):focus-visible,
.footer__before a:not(.btn):not(.nav-link):hover,
.footer__before a:not(.btn):not(.nav-link):focus-visible {
  color: var(--ink);
}

/* Mapa del sitio — listado de URLs en negro, sin verde editorial */
.page-sitemap .sitemap__link,
#sitemap .sitemap__link {
  color: var(--ink);
  font-weight: 400;
  text-decoration: underline;
  text-decoration-color: var(--line);
  text-underline-offset: 2px;
}

.page-sitemap .sitemap__link:hover,
.page-sitemap .sitemap__link:focus-visible,
#sitemap .sitemap__link:hover,
#sitemap .sitemap__link:focus-visible {
  color: var(--ink);
  text-decoration-color: var(--ink);
}

.page-sitemap .sitemap__list--nested,
#sitemap .sitemap__list--nested {
  border-left-color: var(--line);
}

.page-sitemap .sitemap__list--nested > .sitemap__item > .sitemap__link::before,
#sitemap .sitemap__list--nested > .sitemap__item > .sitemap__link::before {
  background-color: var(--line);
}

/* Botones MatillaPlant — global excepto cabecera/búsqueda/paginación */
#wrapper .btn:not(.page-link):not(.btn-link):not(.products__sort-dropdown-button):not(.mp-catalog__filter-btn):not(.mp-btn-brutal),
.footer .btn:not(.page-link):not(.btn-link),
.modal .btn:not(.page-link):not(.btn-link),
.offcanvas:not(.matillaplant-search__offcanvas) .btn:not(.page-link):not(.btn-link),
.mp-news .btn {
  font-family: 'Inter', sans-serif;
  font-weight: 700;
  font-size: 14px;
  letter-spacing: 0.02em;
  text-transform: uppercase;
  padding: 15px 28px;
  border: 2px solid var(--ink);
  cursor: pointer;
  display: inline-flex;
  align-items: center;
  gap: 8px;
  text-decoration: none;
  color: var(--ink);
  background: transparent;
  border-radius: 0;
  box-shadow: none;
}

#wrapper .btn-primary:not(.page-link):not(.mp-btn-brutal),
.footer .btn-primary:not(.mp-btn-brutal),
.modal .btn-primary:not(.mp-btn-brutal),
.offcanvas:not(.matillaplant-search__offcanvas) .btn-primary:not(.mp-btn-brutal),
.mp-news .btn-primary:not(.mp-btn-brutal) {
  --bs-btn-color: var(--ink);
  --bs-btn-bg: var(--lime);
  --bs-btn-border-color: var(--ink);
  --bs-btn-hover-color: var(--ink);
  --bs-btn-hover-bg: var(--lime-dark);
  --bs-btn-hover-border-color: var(--ink);
  --bs-btn-active-color: var(--ink);
  --bs-btn-active-bg: var(--lime-dark);
  --bs-btn-active-border-color: var(--ink);
  --bs-btn-disabled-color: #8a8a83;
  --bs-btn-disabled-bg: var(--concrete);
  --bs-btn-disabled-border-color: var(--line);
  background: var(--lime);
  border-color: var(--ink);
  color: var(--ink);
}

#wrapper .btn-primary:not(.page-link):not(.mp-btn-brutal):hover,
#wrapper .btn-primary:not(.page-link):not(.mp-btn-brutal):focus-visible,
.footer .btn-primary:not(.mp-btn-brutal):hover,
.footer .btn-primary:not(.mp-btn-brutal):focus-visible,
.modal .btn-primary:not(.mp-btn-brutal):hover,
.modal .btn-primary:not(.mp-btn-brutal):focus-visible,
.offcanvas:not(.matillaplant-search__offcanvas) .btn-primary:not(.mp-btn-brutal):hover,
.offcanvas:not(.matillaplant-search__offcanvas) .btn-primary:not(.mp-btn-brutal):focus-visible,
.mp-news .btn-primary:not(.mp-btn-brutal):hover,
.mp-news .btn-primary:not(.mp-btn-brutal):focus-visible {
  background: var(--lime-dark);
  border-color: var(--ink);
  color: var(--ink);
}

#wrapper .btn-secondary:not(.page-link),
.footer .btn-secondary,
.modal .btn-secondary,
.mp-news .btn-secondary {
  --bs-btn-color: var(--white);
  --bs-btn-bg: var(--ink);
  --bs-btn-border-color: var(--ink);
  --bs-btn-hover-color: var(--white);
  --bs-btn-hover-bg: #2a2a2a;
  --bs-btn-hover-border-color: var(--ink);
  background: var(--ink);
  color: var(--white);
}

#wrapper .btn-outline-primary:not(.page-link),
.footer .btn-outline-primary,
.modal .btn-outline-primary {
  --bs-btn-color: var(--ink);
  --bs-btn-border-color: var(--ink);
  --bs-btn-hover-color: var(--ink);
  --bs-btn-hover-bg: var(--lime);
  --bs-btn-hover-border-color: var(--ink);
  --bs-btn-active-color: var(--ink);
  --bs-btn-active-bg: var(--lime-dark);
  --bs-btn-active-border-color: var(--ink);
  color: var(--ink);
  border-color: var(--ink);
  background: transparent;
}

#wrapper .btn-ghost,
.mp-news .btn-ghost {
  background: transparent;
}

#wrapper .btn-ghost:hover,
#wrapper .btn-ghost:focus-visible,
.mp-news .btn-ghost:hover,
.mp-news .btn-ghost:focus-visible {
  background: var(--concrete);
  color: var(--ink);
}

.page-link {
  color: var(--ink);
  border-color: var(--line);
  border-radius: 0;
}

.page-item.active .page-link {
  background-color: var(--lime);
  border-color: var(--ink);
  color: var(--ink);
}

.page-item.active .page-link:hover,
.page-item.active .page-link:focus,
.page-item.active .page-link:focus-visible {
  background-color: var(--lime);
  border-color: var(--ink);
  color: var(--ink);
}

.page-item:not(.active) .page-link:hover,
.page-item:not(.active) .page-link:focus-visible {
  color: var(--ink);
  background-color: var(--concrete);
  border-color: var(--ink);
}

/* --- Home layout --- */
.page-content--home,
.page-content.page-home {
  overflow-x: hidden;
  /* Hummingbird aplica display:grid + gap:40px — se sumaba al padding de cada bloque */
  gap: 0;
}

.page-content--home .container,
.page-content--home .container-md,
.page-content.page-home .container,
.page-content.page-home .container-md,
.page-content--home .module-products.container,
.page-content.page-home .module-products.container {
  padding-left: clamp(1rem, 3vw, 2rem);
  padding-right: clamp(1rem, 3vw, 2rem);
}

/* Ocultar módulos demo si siguen enganchados (no afecta al carrusel de productos) */
.page-content--home .ps-customtext,
.page-content--home .ps_banner,
.page-content--home section.homeslider,
.page-content--home #homepage-slider,
.page-content--home .ps_imageslider,
.page-content.page-home .ps-customtext,
.page-content.page-home .ps_banner,
.page-content.page-home section.homeslider,
.page-content.page-home #homepage-slider,
.page-content.page-home .ps_imageslider {
  display: none !important;
}

/* --- Hero (full-bleed tienda) --- */
.mp-home-hero {
  position: relative;
  isolation: isolate;
  margin: 0;
  min-height: clamp(580px, 78vh, 820px);
  display: flex;
  align-items: flex-end;
  overflow: hidden;
  background: var(--ink);
  border-bottom: 2px solid var(--ink);
  color: var(--white);
}

.mp-home-hero::after {
  content: '';
  position: absolute;
  right: 1.25rem;
  bottom: 1.25rem;
  z-index: 3;
  width: 28px;
  height: 28px;
  border-right: 2px solid var(--lime);
  border-bottom: 2px solid var(--lime);
  opacity: 0.85;
  pointer-events: none;
}

.mp-home-hero__media {
  position: absolute;
  inset: 0;
  z-index: 0;
}

.mp-home-hero__img {
  display: block;
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: 72% 45%;
  transform: scale(1.02);
}

.mp-home-hero__shade {
  position: absolute;
  inset: 0;
  z-index: 1;
  pointer-events: none;
  background:
    linear-gradient(
      105deg,
      rgba(16, 16, 16, 0.9) 0%,
      rgba(16, 16, 16, 0.72) 36%,
      rgba(16, 16, 16, 0.22) 66%,
      rgba(16, 16, 16, 0.1) 100%
    ),
    linear-gradient(
      to top,
      rgba(16, 16, 16, 0.88) 0%,
      rgba(16, 16, 16, 0.55) 28%,
      transparent 58%
    );
}

.mp-home-hero__inner {
  position: relative;
  z-index: 2;
  width: 100%;
  display: flex;
  flex-direction: column;
  gap: clamp(1.75rem, 4vw, 2.75rem);
  padding-top: clamp(3.5rem, 8vw, 5.5rem);
  padding-bottom: clamp(1.75rem, 4vw, 2.75rem);
}

.mp-home-hero__copy {
  max-width: min(36rem, 100%);
}

/* H1 SEO: visible pero discreto */
.mp-home-title {
  font-family: 'IBM Plex Mono', monospace;
  font-weight: 600;
  font-size: clamp(0.75rem, 1.4vw, 0.875rem);
  line-height: 1.3;
  letter-spacing: 0.08em;
  text-transform: uppercase;
  color: rgba(255, 255, 255, 0.78);
  margin: 0;
  max-width: none;
}

.mp-home-title__accent {
  color: var(--lime);
}

.mp-home-hero__claim {
  display: flex;
  align-items: stretch;
  gap: 0.85rem;
  margin-top: 0.75rem;
}

.mp-home-hero__rule {
  flex: 0 0 3px;
  width: 3px;
  min-height: 100%;
  background: var(--lime);
}

/* Claim visual principal — tamaño contenido */
.mp-home-hero__lead {
  margin: 0;
  max-width: 22ch;
  font-family: 'Anton', sans-serif;
  font-size: clamp(1.9rem, 4.4vw, 3.15rem);
  font-weight: 400;
  line-height: 1.05;
  letter-spacing: 0.01em;
  text-transform: uppercase;
  color: var(--white);
  text-wrap: balance;
}

.mp-home-hero__lead-accent {
  display: block;
  color: var(--lime);
  margin-top: 0.08em;
}

.mp-home-hero__cta {
  display: flex;
  flex-wrap: wrap;
  gap: 0.75rem;
  margin-top: 1.15rem;
}

.mp-home-hero__meta {
  margin: 0.9rem 0 0;
  font-family: 'IBM Plex Mono', monospace;
  font-size: 11px;
  font-weight: 500;
  letter-spacing: 0.06em;
  text-transform: uppercase;
  color: rgba(255, 255, 255, 0.62);
}

/* CTAs del hero: ganan a #wrapper .btn:not(...)* (especificidad alta) */
#wrapper .mp-home-hero .mp-home-hero__cta .btn.btn-primary:not(.page-link):not(.btn-link):not(.mp-btn-brutal),
.mp-home-hero .mp-home-hero__cta .btn.btn-primary {
  --bs-btn-color: var(--ink);
  --bs-btn-bg: var(--lime);
  --bs-btn-border-color: var(--lime);
  --bs-btn-hover-color: var(--ink);
  --bs-btn-hover-bg: var(--white);
  --bs-btn-hover-border-color: var(--white);
  background: var(--lime) !important;
  background-color: var(--lime) !important;
  border-color: var(--lime) !important;
  color: var(--ink) !important;
}

#wrapper .mp-home-hero .mp-home-hero__cta .btn.btn-primary:not(.page-link):not(.btn-link):not(.mp-btn-brutal):hover,
#wrapper .mp-home-hero .mp-home-hero__cta .btn.btn-primary:not(.page-link):not(.btn-link):not(.mp-btn-brutal):focus-visible,
.mp-home-hero .mp-home-hero__cta .btn.btn-primary:hover,
.mp-home-hero .mp-home-hero__cta .btn.btn-primary:focus-visible {
  background: var(--white) !important;
  background-color: var(--white) !important;
  border-color: var(--white) !important;
  color: var(--ink) !important;
}

#wrapper .mp-home-hero .mp-home-hero__cta .btn.btn-ghost:not(.page-link):not(.btn-link):not(.mp-btn-brutal),
.mp-home-hero .mp-home-hero__cta .btn.btn-ghost {
  --bs-btn-color: var(--white);
  --bs-btn-bg: transparent;
  --bs-btn-border-color: var(--white);
  background: transparent !important;
  background-color: transparent !important;
  border-color: var(--white) !important;
  color: var(--white) !important;
}

#wrapper .mp-home-hero .mp-home-hero__cta .btn.btn-ghost:not(.page-link):not(.btn-link):not(.mp-btn-brutal):hover,
#wrapper .mp-home-hero .mp-home-hero__cta .btn.btn-ghost:not(.page-link):not(.btn-link):not(.mp-btn-brutal):focus-visible,
.mp-home-hero .mp-home-hero__cta .btn.btn-ghost:hover,
.mp-home-hero .mp-home-hero__cta .btn.btn-ghost:focus-visible {
  background: var(--lime) !important;
  background-color: var(--lime) !important;
  border-color: var(--lime) !important;
  color: var(--ink) !important;
}

@media (prefers-reduced-motion: no-preference) {
  .mp-home-hero__img {
    animation: mp-hero-ken 18s ease-out both;
  }

  .mp-home-hero__copy {
    animation: mp-hero-rise 0.7s cubic-bezier(0.22, 1, 0.36, 1) both;
  }

  .mp-home-hero .mp-value-card {
    animation: mp-hero-rise 0.65s cubic-bezier(0.22, 1, 0.36, 1) both;
  }

  .mp-home-hero .mp-value-card:nth-child(1) { animation-delay: 0.08s; }
  .mp-home-hero .mp-value-card:nth-child(2) { animation-delay: 0.14s; }
  .mp-home-hero .mp-value-card:nth-child(3) { animation-delay: 0.2s; }
  .mp-home-hero .mp-value-card:nth-child(4) { animation-delay: 0.26s; }
}

@keyframes mp-hero-ken {
  from { transform: scale(1.08); }
  to { transform: scale(1.02); }
}

@keyframes mp-hero-rise {
  from {
    opacity: 0;
    transform: translateY(18px);
  }
  to {
    opacity: 1;
    transform: translateY(0);
  }
}

/* --- Home value cards --- */
.mp-value-cards {
  padding: 2rem 0 2.25rem;
  background: var(--concrete);
  border-bottom: 1px solid var(--line);
}

.mp-value-cards__grid {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 1rem;
}

.mp-value-card {
  position: relative;
  display: flex;
  flex-direction: column;
  gap: 0.75rem;
  padding: 1.35rem 1.25rem 1.5rem;
  background: var(--white);
  border: 1.5px solid var(--ink);
  min-height: 100%;
  transition: transform 0.18s ease, box-shadow 0.18s ease;
}

.mp-value-card::after {
  content: '';
  position: absolute;
  right: -1px;
  bottom: -1px;
  width: 12px;
  height: 12px;
  border-right: 2px solid var(--lime-dark);
  border-bottom: 2px solid var(--lime-dark);
  opacity: 0;
  transition: opacity 0.18s ease;
}

.mp-value-card:hover,
.mp-value-card:focus-within {
  transform: translateY(-3px);
  box-shadow: 4px 4px 0 var(--ink);
}

.mp-value-card:hover::after,
.mp-value-card:focus-within::after {
  opacity: 1;
}

.mp-value-card__tag {
  align-self: flex-start;
  width: fit-content;
  max-width: 100%;
}

.mp-value-card__tag .tag__body {
  width: auto;
}

.mp-value-card__title {
  margin: 0;
  font-family: 'Anton', sans-serif;
  font-weight: 400;
  font-size: 1.125rem;
  line-height: 1.15;
  letter-spacing: 0.02em;
  text-transform: uppercase;
  color: var(--ink);
}

.mp-value-card__title a,
.mp-value-card__link {
  color: var(--ink);
  font-weight: 400;
  text-decoration: none;
}

.mp-value-card__title a:hover,
.mp-value-card__title a:focus-visible,
.mp-value-card__link:hover,
.mp-value-card__link:focus-visible {
  color: var(--lime-dark);
  text-decoration: underline;
  text-decoration-color: var(--lime);
  text-underline-offset: 3px;
}

.mp-value-card__text {
  margin: 0;
  font-size: 0.875rem;
  line-height: 1.55;
  color: #4a4a44;
}

/* Value cards dentro del hero */
.mp-value-cards--in-hero {
  padding: 0;
  background: transparent;
  border: none;
}

.mp-home-hero .mp-value-card {
  background: rgba(255, 255, 255, 0.94);
  border-color: var(--ink);
  backdrop-filter: blur(6px);
  -webkit-backdrop-filter: blur(6px);
}

.mp-home-hero .mp-value-card::after,
.mp-home-hero .mp-value-card:hover::after,
.mp-home-hero .mp-value-card:focus-within::after {
  content: none;
  display: none;
}

.mp-home-hero .mp-value-card:hover,
.mp-home-hero .mp-value-card:focus-within {
  background: var(--white);
  box-shadow: 4px 4px 0 var(--lime);
}

/* --- Trust bar --- */
.trust-bar,
.mp-trust-bar {
  border-top: 1px solid var(--line);
  border-bottom: 1px solid var(--line);
  background: var(--white);
  padding: 0;
}

.trust-bar__inner {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
}

.trust-item {
  padding: 22px 20px;
  display: flex;
  align-items: center;
  gap: 14px;
  border-right: 1px solid var(--line);
}

.trust-item:last-child {
  border-right: none;
}

.trust-icon {
  width: 34px;
  height: 34px;
  border: 1.5px solid var(--ink);
  flex-shrink: 0;
  display: flex;
  align-items: center;
  justify-content: center;
  font-family: 'IBM Plex Mono', monospace;
  font-size: 11px;
  font-weight: 700;
}

.trust-text b {
  display: block;
  font-size: 13px;
  font-weight: 700;
  color: var(--ink);
}

.trust-text span {
  font-size: 11px;
  color: #8a8a83;
}

/* --- Category chips --- */
.mp-cat-nav {
  padding: 1.25rem 0 1.75rem;
  border-bottom: 1px solid var(--line);
}

.cat-nav {
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
}

.cat-chip {
  font-family: 'IBM Plex Mono', monospace;
  font-size: 12px;
  font-weight: 600;
  text-transform: uppercase;
  padding: 10px 16px;
  border: 1.5px solid var(--ink);
  letter-spacing: 0.03em;
  text-decoration: none;
  color: var(--ink);
  background: var(--white);
  transition: background 0.15s ease, color 0.15s ease;
}

.cat-chip:hover,
.cat-chip:focus-visible {
  background: var(--ink);
  color: var(--white);
}

.cat-chip--outlet {
  background: var(--lime);
}

.cat-chip--outlet:hover,
.cat-chip--outlet:focus-visible {
  background: var(--lime-dark);
  color: var(--ink);
}

/* --- Home product sections --- */
.page-content--home .ps-featuredproducts,
.page-content--home .ps-newproducts,
.page-content--home .ps-specials,
.page-content--home .ps-bestsellers,
.page-content.page-home .ps-featuredproducts,
.page-content.page-home .ps-newproducts,
.page-content.page-home .ps-specials,
.page-content.page-home .ps-bestsellers {
  padding: 2.5rem 0;
}

.page-content--home .module-products,
.page-content.page-home .module-products {
  padding-bottom: 0;
}

.mp-section-head {
  display: flex;
  align-items: flex-end;
  justify-content: space-between;
  gap: 1rem;
  margin-bottom: 1.5rem;
  padding-bottom: 0.75rem;
  border-bottom: 2px solid var(--ink);
}

.mp-section-head--carousel {
  margin-bottom: 1.25rem;
}

.mp-section-head__nav .splide__arrows {
  position: static;
  display: flex;
  gap: 8px;
}

.mp-section-head__nav .splide__arrow {
  position: static;
  inset: auto;
  transform: none;
  width: 44px;
  height: 44px;
  padding: 0;
  border: 2px solid var(--ink);
  background: var(--white);
  border-radius: 0;
  opacity: 1;
  transition: background 0.15s ease, border-color 0.15s ease, opacity 0.15s ease;
}

.mp-section-head__nav .splide__arrow svg {
  display: none;
}

.mp-section-head__nav .splide__arrow::before {
  content: '';
  display: block;
  width: 12px;
  height: 12px;
  border-top: 2px solid var(--ink);
  border-right: 2px solid var(--ink);
  margin: 0 auto;
}

.mp-section-head__nav .splide__arrow--prev::before {
  transform: rotate(-135deg);
  margin-left: 16px;
}

.mp-section-head__nav .splide__arrow--next::before {
  transform: rotate(45deg);
  margin-right: 16px;
}

.mp-section-head__nav .splide__arrow:hover:not(:disabled),
.mp-section-head__nav .splide__arrow:focus-visible:not(:disabled) {
  background: var(--lime);
  border-color: var(--ink);
  outline: none;
}

.mp-section-head__nav .splide__arrow:disabled {
  opacity: 0.35;
  cursor: not-allowed;
}

.mp-section-head__title,
.section-title {
  font-family: 'Anton', sans-serif;
  font-weight: 400;
  font-size: clamp(1.5rem, 3vw, 2rem);
  line-height: 1;
  letter-spacing: 0.01em;
  text-transform: uppercase;
  color: var(--ink);
  margin: 0;
}

.mp-section-head__footer {
  margin-top: 1.5rem;
  text-align: center;
}

.page-content--home .module-products__list .products,
.page-content.page-home .module-products__list .products {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 24px;
}

.page-content--home .module-products__list .products > *,
.page-content.page-home .module-products__list .products > * {
  min-width: 0;
}

/* --- Home product carousel (Splide) --- */
.mp-home-carousel {
  position: relative;
  width: 100%;
  min-width: 0;
}

.mp-home-carousel__splide {
  visibility: visible !important;
}

/* Evita que Splide apile slides en columna cuando no hay overflow */
.mp-home-carousel__splide .splide__list,
.mp-home-carousel__splide.is-initialized:not(.is-active) .splide__list {
  display: flex !important;
}

.mp-home-carousel__splide .splide__slide {
  height: auto;
}

.mp-home-carousel__slide > .p-card,
.mp-home-carousel__slide > .product-miniature {
  height: 100%;
}

/* Fallback grid si Splide no carga */
.mp-home-carousel__splide:not(.is-initialized) .splide__list {
  display: grid !important;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 1.5rem;
}

.mp-home-carousel__splide:not(.is-initialized) .splide__slide {
  width: auto !important;
  margin: 0 !important;
}

/* Hover sutil en tarjetas del carrusel */
.mp-home-carousel__slide .p-card {
  transition: transform 0.2s ease, box-shadow 0.2s ease;
}

@media (hover: hover) {
  .mp-home-carousel__slide .p-card:hover {
    transform: translateY(-3px);
    box-shadow: 0 8px 24px rgba(16, 16, 16, 0.08);
  }
}

/* --- Product card (.p-card) --- */
.p-card {
  border: 1px solid var(--line);
  background: var(--white);
  position: relative;
  display: flex;
  flex-direction: column;
  height: 100%;
}

.p-card .product-flags,
.p-card .product-miniature__inner,
.p-card .product-miniature__top,
.p-card .product-miniature__infos,
.p-card .quantity-button,
.p-card .product-miniature__quickview {
  display: none !important;
}

.p-card-img {
  aspect-ratio: 1 / 1;
  background: var(--white);
  border-bottom: 1px solid var(--line);
  overflow: hidden;
  position: relative;
}

.p-card-img .product-miniature__image-container {
  aspect-ratio: auto;
  border-bottom: none;
  background: var(--white);
  height: 100%;
  width: 100%;
}

.p-card-img .product-miniature__image-link {
  display: block;
  width: 100%;
  height: 100%;
}

.p-card-img .product-miniature__image,
.p-card-img picture,
.p-card-img img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block;
}

.p-card-stock {
  position: absolute;
  top: 12px;
  left: 8px;
  z-index: 2;
  background: var(--ink);
  color: var(--white);
  font-family: 'IBM Plex Mono', monospace;
  font-size: 10px;
  font-weight: 600;
  letter-spacing: 0.06em;
  text-transform: uppercase;
  padding: 5px 10px 5px 8px;
  clip-path: polygon(0 50%, 8px 0, 100% 0, 100% 100%, 8px 100%);
}

.p-card-badges {
  position: absolute;
  top: 12px;
  right: 12px;
  z-index: 2;
  display: flex;
  flex-direction: column;
  align-items: flex-end;
  gap: 8px;
  pointer-events: none;
}

.p-badge {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  padding: 8px 14px;
  font-family: 'Anton', sans-serif;
  font-weight: 400;
  font-size: 18px;
  line-height: 1;
  letter-spacing: 0.01em;
  text-transform: uppercase;
  transform: rotate(-6deg);
  border-radius: 2px;
  white-space: nowrap;
}

.p-card-badges .p-badge {
  position: relative;
  top: auto;
  right: auto;
}

.p-badge--new {
  background: var(--badge-new);
  color: var(--white);
}

.p-badge--bestseller {
  background: var(--badge-bestseller);
  color: var(--ink);
}

.p-badge--discount,
.p-card-off {
  background: var(--badge-discount);
  color: var(--white);
  font-size: 15px;
  padding: 6px 10px;
}

.p-badge--oos {
  transform: none;
  border-radius: 0;
  padding: 0;
  font-family: inherit;
  font-size: inherit;
  letter-spacing: inherit;
  background: transparent;
  color: inherit;
}

.p-card-img .p-badge--oos,
.p-card-img .tag.tag--outline.p-badge--oos {
  position: absolute;
  bottom: 12px;
  left: 12px;
  z-index: 2;
}

.p-badge:not(.p-badge--new):not(.p-badge--discount):not(.p-badge--bestseller):not(.p-badge--oos) {
  background: var(--ink);
  color: var(--white);
}

.p-card-off {
  position: absolute;
  top: 12px;
  right: 12px;
  z-index: 2;
  min-width: 0;
  width: auto;
  height: auto;
  border: none;
  border-radius: 2px;
}

.p-card-body {
  padding: 18px;
  display: flex;
  flex-direction: column;
  flex: 1;
}

.p-card-cat {
  font-family: 'IBM Plex Mono', monospace;
  font-size: 11px;
  color: var(--lime-dark);
  text-transform: uppercase;
  letter-spacing: 0.06em;
  font-weight: 600;
}

.p-card-name,
.p-card .product-miniature__title {
  font-family: 'Inter', sans-serif;
  font-weight: 700;
  font-size: 16px;
  margin: 8px 0 12px;
  line-height: 1.3;
  color: var(--ink);
  text-decoration: none;
  display: block;
}

.p-card-name:hover,
.p-card .product-miniature__title:hover {
  color: var(--lime-dark);
}

.p-card-foot,
.p-card .product-miniature__actions {
  display: flex;
  flex-direction: column;
  align-items: stretch;
  gap: 12px;
  margin-top: auto;
}

.p-card-foot .product-miniature__prices,
.p-card .product-miniature__actions .product-miniature__prices {
  width: 100%;
}

.p-card-price,
.p-card .product-miniature__price {
  font-family: 'IBM Plex Mono', monospace;
  font-weight: 600;
  font-size: 17px;
  color: var(--ink);
}

.price-old,
.p-card .product-miniature__regular-price {
  font-family: 'IBM Plex Mono', monospace;
  font-size: 12px;
  color: #a8a8a1;
  text-decoration: line-through;
  margin-right: 8px;
}

.p-add,
.p-card .product-miniature__add,
.p-card .product-miniature__details {
  width: 38px;
  height: 38px;
  min-width: 38px;
  border: 2px solid var(--ink);
  background: var(--ink);
  color: var(--white);
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 20px;
  line-height: 1;
  cursor: pointer;
  text-decoration: none;
  padding: 0;
  border-radius: 0;
}

.p-card .product-miniature__add.mp-btn-brutal,
.p-card .product-miniature__details.mp-btn-brutal {
  position: relative;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 100%;
  min-width: 0;
  height: auto;
  min-height: 42px;
  padding: 11px 16px;
  border: none;
  border-radius: 0;
  background: var(--ink);
  color: var(--white);
  font-family: 'Anton', sans-serif;
  font-size: 15px;
  font-weight: 400;
  line-height: 1;
  letter-spacing: 0.02em;
  text-transform: uppercase;
  text-decoration: none;
  cursor: pointer;
  box-shadow: 5px 5px 0 var(--badge-discount);
}

.p-card .product-miniature__add.mp-btn-brutal .product-miniature__add-text,
.p-card .product-miniature__details.mp-btn-brutal .product-miniature__add-text {
  display: inline;
  white-space: nowrap;
  color: inherit;
}

.p-card a.product-miniature__details.mp-btn-brutal,
.p-card a.product-miniature__details.mp-btn-brutal .product-miniature__add-text {
  color: var(--white);
  text-decoration: none;
}

.p-card a.product-miniature__details.mp-btn-brutal:hover,
.p-card a.product-miniature__details.mp-btn-brutal:focus-visible,
.p-card a.product-miniature__details.mp-btn-brutal:hover .product-miniature__add-text,
.p-card a.product-miniature__details.mp-btn-brutal:focus-visible .product-miniature__add-text {
  color: var(--white);
  text-decoration: none;
}

.p-add:not(.mp-btn-brutal):hover,
.p-card .product-miniature__add:not(.mp-btn-brutal):hover,
.p-card .product-miniature__details:not(.mp-btn-brutal):hover {
  background: var(--lime-dark);
  border-color: var(--ink);
  color: var(--ink);
}

.p-card .product-miniature__add.mp-btn-brutal:hover,
.p-card .product-miniature__add.mp-btn-brutal:focus-visible,
.p-card .product-miniature__details.mp-btn-brutal:hover,
.p-card .product-miniature__details.mp-btn-brutal:focus-visible {
  background: var(--ink);
  color: var(--white);
  border-color: transparent;
}

/* Tarjetas producto — badge sin existencias compacto (catálogo, home, carruseles) */
.p-card-img .tag.tag--outline.p-badge--oos {
  --tag-notch: 5px;
  --tag-border: 1px;
  width: auto;
  max-width: calc(100% - 16px);
}

.p-card-img .tag.tag--outline.p-badge--oos .tag__body {
  width: auto;
  font-size: 8px;
  font-weight: 600;
  padding: 3px 6px 3px 5px;
  gap: 3px;
  letter-spacing: 0.04em;
  line-height: 1.1;
}

.p-card-img .tag.tag--outline.p-badge--oos .tag__body::before {
  width: 3px;
  height: 3px;
}

.p-card .product-miniature__form,
.p-card__add-form {
  width: 100%;
  margin: 0;
}

.spec-sheet {
  border: 2px solid var(--ink);
  background: var(--white);
}

.spec-sheet--light {
  border-width: 1px;
  border-color: var(--line);
}

.spec-row {
  display: flex;
  justify-content: space-between;
  gap: 16px;
  padding: 14px 20px;
  border-top: 1px solid var(--line);
  font-family: 'IBM Plex Mono', monospace;
  font-size: 13px;
}

.spec-row:first-child {
  border-top: none;
}

.spec-row .k {
  color: #7a7a73;
  text-transform: uppercase;
  letter-spacing: 0.05em;
  flex-shrink: 0;
}

.spec-row .v {
  font-weight: 600;
  text-align: right;
}

.spec-head {
  background: var(--ink);
  color: var(--white);
  padding: 14px 20px;
  font-family: 'IBM Plex Mono', monospace;
  font-size: 12px;
  text-transform: uppercase;
  letter-spacing: 0.08em;
  font-weight: 600;
}

.page-product #wrapper .container,
.page-product #wrapper .container-md {
  max-width: var(--mp-wrap);
}

.mp-product {
  padding: 0 0 4rem;
}

/* Barra fija móvil — ficha producto */
.mp-product-sticky {
  display: none;
}

@media (max-width: 860px) {
  body.page-product--sticky-bar .mp-product {
    padding-bottom: calc(108px + env(safe-area-inset-bottom, 0px));
  }

  .mp-product-sticky {
    display: block;
    position: fixed;
    left: 0;
    right: 0;
    bottom: 0;
    z-index: 1040;
    padding: 10px 14px calc(10px + env(safe-area-inset-bottom, 0px));
    border-top: 2px solid var(--ink);
    background: var(--white);
    box-shadow: 0 -8px 24px rgba(16, 16, 16, 0.08);
    transform: translateY(100%);
    visibility: hidden;
    pointer-events: none;
    transition:
      transform 0.22s ease,
      visibility 0.22s ease;
  }

  .mp-product-sticky--visible {
    transform: translateY(0);
    visibility: visible;
    pointer-events: auto;
  }

  .mp-product-sticky__inner {
    display: flex;
    flex-direction: column;
    gap: 10px;
  }

  .mp-product-sticky__head {
    display: flex;
    align-items: baseline;
    justify-content: space-between;
    gap: 12px;
    min-width: 0;
  }

  .mp-product-sticky__title {
    margin: 0;
    flex: 1 1 auto;
    min-width: 0;
    font-family: 'Inter', sans-serif;
    font-size: 12px;
    font-weight: 600;
    line-height: 1.25;
    color: var(--ink);
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
  }

  .mp-product-sticky__price {
    margin: 0;
    flex: 0 0 auto;
    font-family: 'IBM Plex Mono', monospace;
    font-size: 14px;
    font-weight: 700;
    line-height: 1.1;
    color: var(--ink);
    white-space: nowrap;
  }

  .mp-product-sticky__actions {
    display: grid;
    grid-template-columns: auto minmax(0, 1fr);
    align-items: stretch;
    gap: 10px;
  }

  .mp-product-sticky__qty {
    flex-shrink: 0;
    align-self: stretch;
  }

  .mp-product-sticky__qty .quantity-button__group {
    display: inline-flex;
    align-items: stretch;
    height: 100%;
    min-height: 44px;
    border: 1.5px solid var(--ink);
    overflow: hidden;
    background: var(--white);
  }

  .mp-product-sticky__qty .quantity-button__group > .btn,
  .mp-product-sticky__qty .quantity-button__group .decrement,
  .mp-product-sticky__qty .quantity-button__group .increment {
    width: 40px !important;
    min-width: 40px !important;
    max-width: 40px !important;
    flex: 0 0 40px;
    height: auto !important;
    min-height: 0 !important;
    align-self: stretch;
  }

  .mp-product-sticky__qty .quantity-button__group .btn::before {
    font-size: 16px;
    line-height: 1;
  }

  .mp-product-sticky__qty .quantity-button__group > .form-control,
  .mp-product-sticky__qty-input {
    width: 44px !important;
    min-width: 44px !important;
    max-width: 44px !important;
    flex: 0 0 44px;
    height: 44px !important;
    min-height: 44px !important;
    align-self: stretch;
    padding: 0 !important;
    margin: 0 !important;
    border: none !important;
    border-left: 1px solid var(--ink) !important;
    border-right: 1px solid var(--ink) !important;
    border-radius: 0;
    text-align: center;
    font-family: 'IBM Plex Mono', monospace;
    font-size: 14px;
    font-weight: 700;
    line-height: 44px;
    color: var(--ink);
    background: var(--white);
    box-shadow: none !important;
    outline: none !important;
    appearance: none;
    -webkit-appearance: none;
    pointer-events: none;
    user-select: none;
  }

  .mp-product-sticky__add.btn {
    width: 100%;
    min-height: 44px;
    height: 100%;
    padding: 10px 12px;
    font-family: 'Anton', sans-serif;
    font-size: 13px;
    font-weight: 400;
    letter-spacing: 0.02em;
    text-transform: uppercase;
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
  }

  body.page-product.page-product--sticky-bar .mp-whatsapp-float {
    bottom: calc(108px + env(safe-area-inset-bottom, 0px));
  }
}

.mp-product__hero {
  display: grid;
  grid-template-columns: minmax(0, 1.1fr) minmax(0, 0.9fr);
  gap: clamp(1.5rem, 4vw, 3rem);
  align-items: start;
  margin-bottom: clamp(2rem, 5vw, 3.5rem);
}

.mp-product__gallery {
  position: sticky;
  top: 1rem;
}

.mp-product__carousel {
  position: relative;
  border: 1px solid var(--line);
  background: var(--white);
}

.mp-product__carousel-inner {
  overflow: hidden;
  background: var(--white);
}

.mp-product__carousel .carousel-item {
  display: none;
  aspect-ratio: 1 / 1;
  background: var(--white);
}

/* Visibilidad de slides: Bootstrap (active/next/prev). No usar :not(.active) — rompe el carousel. */
.mp-product__carousel .carousel-item.active,
.mp-product__carousel .carousel-item.carousel-item-next,
.mp-product__carousel .carousel-item.carousel-item-prev,
.mp-product__carousel .carousel-item.carousel-item-start,
.mp-product__carousel .carousel-item.carousel-item-end {
  display: block;
}

.mp-product__carousel .carousel-item picture {
  display: block;
  width: 100%;
  height: 100%;
}

.mp-product__image {
  width: 100%;
  height: 100%;
  object-fit: contain;
  background: var(--white);
}

.mp-product__badges {
  top: 14px;
  right: 14px;
}

.mp-product__oos {
  position: absolute;
  bottom: 14px;
  left: 14px;
  z-index: 3;
}

.mp-product__nav {
  width: 42px;
  height: 42px;
  top: 50%;
  transform: translateY(-50%);
  opacity: 1;
  border: 2px solid var(--ink);
  background: var(--white);
  border-radius: 0;
  z-index: 4;
}

.mp-product__nav--prev {
  left: 12px;
}

.mp-product__nav--next {
  right: 12px;
}

.mp-product__nav-icon {
  font-family: 'IBM Plex Mono', monospace;
  font-size: 18px;
  font-weight: 700;
  line-height: 1;
  color: var(--ink);
}

.mp-product__nav::after {
  display: none;
}

.mp-product__zoom,
.product__zoom.mp-product__zoom {
  position: absolute;
  bottom: 14px;
  right: 14px;
  z-index: 4;
  width: 40px !important;
  height: 40px !important;
  min-width: 40px !important;
  max-width: 40px !important;
  min-height: 40px !important;
  max-height: 40px !important;
  aspect-ratio: 1 / 1;
  padding: 0 !important;
  border: none !important;
  outline: none !important;
  box-shadow: none !important;
  background: var(--concrete) !important;
  color: var(--ink);
  font-size: 0;
  line-height: 1;
  border-radius: 0;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  flex: 0 0 auto;
  box-sizing: border-box;
  cursor: pointer;
}

.mp-product__zoom .material-icons {
  display: block;
  width: 20px;
  height: 20px;
  font-size: 20px;
  line-height: 20px;
}

.mp-product__zoom:hover,
.mp-product__zoom:focus-visible {
  background: var(--lime) !important;
  color: var(--ink);
  border: none !important;
  outline: none !important;
  box-shadow: none !important;
}

.mp-product__thumbs {
  margin-top: 12px;
}

.mp-product__thumbs-list {
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
  list-style: none;
  margin: 0;
  padding: 0;
}

.mp-product__thumb {
  width: 72px;
  height: 72px;
  padding: 0;
  border: 1.5px solid var(--line);
  background: var(--white);
  cursor: pointer;
}

.mp-product__thumb.active,
.mp-product__thumb:hover,
.mp-product__thumb:focus-visible {
  border-color: var(--ink);
  outline: none;
}

.mp-product__thumb-img {
  width: 100%;
  height: 100%;
  object-fit: contain;
}

.mp-product__no-image {
  position: relative;
  aspect-ratio: 1 / 1;
  border: 1px solid var(--line);
  background: var(--white);
  display: flex;
  align-items: center;
  justify-content: center;
}

.mp-product__cat {
  font-family: 'IBM Plex Mono', monospace;
  font-size: 11px;
  font-weight: 600;
  letter-spacing: 0.06em;
  text-transform: uppercase;
  color: var(--lime-dark);
  margin: 0 0 10px;
}

.mp-product__title {
  font-family: 'Anton', sans-serif;
  font-weight: 400;
  font-size: clamp(1.75rem, 4vw, 2.75rem);
  line-height: 1.05;
  text-transform: uppercase;
  letter-spacing: 0.01em;
  margin: 0 0 12px;
}

.mp-product__brand {
  margin-bottom: 16px;
}

.mp-product__brand a {
  font-family: 'IBM Plex Mono', monospace;
  font-size: 12px;
  font-weight: 600;
  letter-spacing: 0.05em;
  text-transform: uppercase;
  color: #7a7a73;
  text-decoration: none;
}

.mp-product__brand a:hover {
  color: var(--lime-dark);
}

.mp-product__prices {
  margin-bottom: 16px;
  padding-bottom: 16px;
  border-bottom: 1px solid var(--line);
}

.mp-product__price-old-row {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 10px;
  margin-bottom: 6px;
}

.mp-product__price-old {
  font-family: 'IBM Plex Mono', monospace;
  font-size: 14px;
  color: #a8a8a1;
  text-decoration: line-through;
}

.mp-product__discount-badge {
  font-size: 12px;
  padding: 4px 8px;
  transform: rotate(-4deg);
}

.mp-product__price-current {
  margin-bottom: 4px;
}

.mp-product__price-value {
  font-family: 'IBM Plex Mono', monospace;
  font-size: clamp(1.5rem, 3vw, 2rem);
  font-weight: 600;
  line-height: 1.1;
}

.mp-product__unit-price,
.mp-product__pack-price,
.mp-product__tax,
.mp-product__ecotax,
.mp-product__taxless {
  display: block;
  font-family: 'IBM Plex Mono', monospace;
  font-size: 11px;
  color: #8a8a83;
  margin-top: 4px;
}

.mp-product__ref {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
  margin: 0 0 16px;
  font-family: 'IBM Plex Mono', monospace;
  font-size: 11px;
}

.mp-product__ref-label {
  color: #8a8a83;
  text-transform: uppercase;
  letter-spacing: 0.05em;
}

.mp-product__ref-value {
  font-weight: 600;
  color: var(--ink);
}

.mp-product__lead {
  margin-bottom: 20px;
}

.mp-product__lead p:last-child {
  margin-bottom: 0;
}

/* --- Descripción producto (rich text / design system) --- */
.mp-product-copy {
  font-family: 'Inter', sans-serif;
  color: #3d3d3a;
  line-height: 1.65;
  font-size: 15px;
}

.mp-product-copy--lead {
  font-size: 16px;
  font-weight: 500;
  color: #3d3d3a;
}

.mp-product-copy > :first-child {
  margin-top: 0;
}

.mp-product-copy p {
  margin: 0 0 1rem;
}

.mp-product-copy p:last-child {
  margin-bottom: 0;
}

.mp-product-copy h2 {
  font-family: 'Anton', sans-serif;
  font-weight: 400;
  font-size: clamp(1.2rem, 2.4vw, 1.55rem);
  line-height: 1.08;
  letter-spacing: 0.01em;
  text-transform: uppercase;
  color: var(--ink);
  margin: 1.75rem 0 0.75rem;
}

.mp-product-copy h3,
.mp-product-copy h4 {
  font-family: 'IBM Plex Mono', monospace;
  font-weight: 600;
  font-size: 11px;
  letter-spacing: 0.12em;
  text-transform: uppercase;
  color: var(--lime-dark);
  margin: 1.5rem 0 0.65rem;
}

.mp-product-copy h2:first-child,
.mp-product-copy h3:first-child,
.mp-product-copy h4:first-child {
  margin-top: 0;
}

.mp-product-copy strong,
.mp-product-copy b {
  font-weight: 700;
  color: var(--ink);
}

.mp-product-copy a {
  color: var(--ink);
  font-weight: 600;
  text-decoration: underline;
  text-decoration-color: var(--lime);
  text-underline-offset: 3px;
}

.mp-product-copy a:hover,
.mp-product-copy a:focus-visible {
  color: var(--lime-dark);
}

.mp-product-copy ul,
.mp-product-copy ol {
  margin: 0 0 1rem;
  padding: 0;
  list-style: none;
}

.mp-product-copy ul li,
.mp-product-copy ol li {
  position: relative;
  padding-left: 18px;
  margin-bottom: 0.5rem;
}

.mp-product-copy ul li::before {
  content: '';
  position: absolute;
  left: 0;
  top: 0.55em;
  width: 6px;
  height: 6px;
  border-radius: 50%;
  background: var(--lime-dark);
}

.mp-product-copy ol {
  counter-reset: mp-product-copy;
}

.mp-product-copy ol li {
  counter-increment: mp-product-copy;
  padding-left: 26px;
}

.mp-product-copy ol li::before {
  content: counter(mp-product-copy, decimal-leading-zero);
  position: absolute;
  left: 0;
  top: 0;
  font-family: 'IBM Plex Mono', monospace;
  font-size: 11px;
  font-weight: 600;
  color: var(--lime-dark);
}

.mp-product-copy blockquote {
  margin: 1.25rem 0;
  padding: 16px 18px;
  border-left: 3px solid var(--lime);
  background: var(--concrete);
  color: var(--ink);
}

.mp-product-copy img {
  display: block;
  max-width: 100%;
  height: auto;
  margin: 1.25rem 0;
  border: 1px solid var(--line);
}

.mp-product-copy iframe,
.mp-product-copy video {
  display: block;
  max-width: 100%;
  margin: 1.25rem 0;
  border: 1px solid var(--line);
}

.mp-product-copy table {
  width: 100%;
  margin: 1.25rem 0;
  border: 2px solid var(--ink);
  border-collapse: collapse;
  font-family: 'IBM Plex Mono', monospace;
  font-size: 13px;
}

.mp-product-copy th {
  background: var(--ink);
  color: var(--white);
  padding: 12px 16px;
  text-align: left;
  font-weight: 600;
  text-transform: uppercase;
  letter-spacing: 0.06em;
}

.mp-product-copy td {
  padding: 12px 16px;
  border-top: 1px solid var(--line);
  vertical-align: top;
}

.mp-product-copy tr:nth-child(even) td {
  background: var(--concrete);
}

.mp-product-copy hr {
  margin: 1.5rem 0;
  border: 0;
  border-top: 1px solid var(--line);
}

.mp-product__panel-body .mp-product-copy {
  max-width: 68ch;
  padding-top: 2px;
}

.mp-product__panel-body .rich-text:not(.mp-product-copy) {
  font-family: 'Inter', sans-serif;
  color: #3d3d3a;
  line-height: 1.65;
}

.mp-product__actions {
  margin-bottom: 16px;
}

/* --- Selector de combinaciones (ficha producto) --- */
.mp-variant-picker {
  margin-bottom: 20px;
}

.mp-variant-picker__group {
  border: none;
  padding: 0;
  margin: 0 0 20px;
}

.mp-variant-picker__group:last-child {
  margin-bottom: 0;
}

.mp-variant-picker__head {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 10px 14px;
  margin-bottom: 12px;
}

.mp-variant-picker__legend {
  margin: 0;
  padding: 0;
  float: none;
  width: auto;
}

.mp-variant-picker__options {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
}

.mp-variant-picker__option {
  position: relative;
  padding: 0;
  margin: 0;
  min-height: 0;
}

.mp-variant-picker__input {
  position: absolute;
  opacity: 0;
  width: 1px;
  height: 1px;
  margin: 0;
  pointer-events: none;
}

.mp-variant-picker__chip {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 42px;
  min-width: 4.5rem;
  padding: 10px 16px;
  margin: 0;
  border: 1.5px solid var(--ink);
  background: var(--white);
  color: var(--ink);
  cursor: pointer;
  user-select: none;
  transition: background 0.15s ease, color 0.15s ease, border-color 0.15s ease, transform 0.12s ease;
}

.mp-variant-picker__chip-text {
  font-family: 'IBM Plex Mono', monospace;
  font-size: 12px;
  font-weight: 600;
  letter-spacing: 0.04em;
  text-transform: uppercase;
  line-height: 1.2;
  text-align: center;
}

.mp-variant-picker__option:has(.mp-variant-picker__input:checked) .mp-variant-picker__chip {
  background: var(--ink);
  border-color: var(--ink);
  color: var(--white);
}

.mp-variant-picker__option:has(.mp-variant-picker__input:checked) .mp-variant-picker__chip-text::before {
  content: '';
  display: inline-block;
  width: 6px;
  height: 6px;
  border-radius: 50%;
  background: var(--lime);
  margin-right: 8px;
  vertical-align: middle;
  transform: translateY(-1px);
}

.mp-variant-picker__option:not(:has(.mp-variant-picker__input:checked)) .mp-variant-picker__chip:hover {
  background: var(--concrete);
}

.mp-variant-picker__option:has(.mp-variant-picker__input:focus-visible) .mp-variant-picker__chip {
  outline: 2px solid var(--lime-dark);
  outline-offset: 2px;
}

.mp-variant-picker__select-wrap {
  max-width: 320px;
}

.mp-variant-picker__colors {
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
}

.mp-variant-picker__color-label {
  border: 1.5px solid var(--line);
  border-radius: 0;
  padding: 3px;
  transition: border-color 0.15s ease, box-shadow 0.15s ease;
}

.mp-variant-picker__color-label.input-color__label--active,
.mp-variant-picker__color:has(.input-color__input:checked) .mp-variant-picker__color-label {
  border-color: var(--ink);
  box-shadow: 0 0 0 2px var(--lime);
}

.mp-variant-picker__color-label .color {
  border-radius: 0;
}

/* Compatibilidad con clases Hummingbird heredadas */
.mp-product .product-variant {
  border: none;
  padding: 0;
  margin: 0 0 18px;
}

.mp-product .product-variant__legend {
  margin: 0;
}

.mp-product .product-variant__radios .form-check-input {
  border: none;
  background: transparent;
}

.mp-product .product-variant__radios .form-check-input:checked {
  background-color: transparent;
  border-color: transparent;
}

@media (max-width: 520px) {
  .mp-variant-picker__options {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 8px;
  }

  .mp-variant-picker__chip {
    width: 100%;
    min-width: 0;
  }
}

.mp-product__qty-row {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 12px;
}

.page-product .mp-product__qty,
.page-product .product__quantity.quantity-button {
  width: auto;
  display: flex;
  align-items: center;
}

.mp-product__qty .quantity-button__group,
.mp-product__qty .quantity-button__group.input-group {
  display: inline-flex;
  align-items: center;
  flex-wrap: nowrap;
  border: 1.5px solid var(--ink);
  border-radius: 0;
  gap: 0;
  width: auto;
  max-width: max-content;
  overflow: hidden;
  background: var(--white);
}

.mp-product__qty .quantity-button__group > .btn,
.mp-product__qty .quantity-button__group .btn.btn-square-icon,
.mp-product__qty .quantity-button__group .decrement,
.mp-product__qty .quantity-button__group .increment {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  align-self: stretch;
  width: 28px !important;
  min-width: 28px !important;
  max-width: 28px !important;
  flex: 0 0 28px;
  min-height: 30px;
  height: 30px;
  margin: 0 !important;
  border: none !important;
  border-radius: 0;
  background: var(--white);
  color: var(--ink);
  box-shadow: none !important;
  outline: none !important;
  padding: 0;
  box-sizing: border-box;
  position: static !important;
  top: auto !important;
  transform: none !important;
  float: none !important;
}

.mp-product__qty .quantity-button__group > .btn:hover,
.mp-product__qty .quantity-button__group > .btn:focus,
.mp-product__qty .quantity-button__group > .btn:focus-visible,
.mp-product__qty .quantity-button__group > .btn:active {
  background: var(--concrete);
  border: none !important;
  box-shadow: none !important;
  outline: none !important;
}

.mp-product__qty .quantity-button__group > .form-control {
  display: block;
  width: 36px !important;
  min-width: 36px !important;
  max-width: 36px !important;
  flex: 0 0 36px;
  min-height: 30px;
  height: 30px;
  padding: 0 2px;
  margin: 0 !important;
  border: none !important;
  border-left: 1px solid var(--ink) !important;
  border-right: 1px solid var(--ink) !important;
  border-radius: 0;
  text-align: center;
  font-family: 'IBM Plex Mono', monospace;
  font-weight: 600;
  font-size: 12px;
  line-height: 30px;
  box-shadow: none !important;
  outline: none !important;
  background: var(--white);
  box-sizing: border-box;
  align-self: stretch;
  position: static !important;
  top: auto !important;
  transform: none !important;
  float: none !important;
  vertical-align: middle;
  appearance: textfield;
  -webkit-appearance: textfield;
}

.mp-product__qty .quantity-button__group > .form-control:focus {
  background: var(--concrete);
  border-left-color: var(--ink) !important;
  border-right-color: var(--ink) !important;
  box-shadow: none !important;
  outline: none !important;
}

.mp-product__qty .quantity-button__group .material-icons {
  display: none;
}

.mp-product__qty .quantity-button__group .btn::before {
  font-family: 'IBM Plex Mono', monospace;
  font-weight: 700;
  font-size: 13px;
  line-height: 1;
}

.mp-product__qty .quantity-button__group .decrement::before {
  content: '−';
}

.mp-product__qty .quantity-button__group > .btn:disabled,
.mp-product__qty .quantity-button__group > .btn[aria-disabled="true"] {
  opacity: 0.35;
  cursor: not-allowed;
  pointer-events: none;
  border-color: var(--ink) !important;
  background: var(--white);
}

.mp-product__qty .quantity-button__group .increment::before {
  content: '+';
}

/* CTA brutalista — fondo oscuro, sombra naranja descuento, texto blanco */
.mp-btn-brutal {
  position: relative;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 8px;
  min-height: 48px;
  padding: 14px 24px;
  border: none;
  border-radius: 0;
  background: var(--ink);
  color: var(--white);
  font-family: 'Anton', sans-serif;
  font-weight: 400;
  font-size: 18px;
  line-height: 1;
  letter-spacing: 0.02em;
  text-transform: uppercase;
  text-decoration: none;
  cursor: pointer;
  box-shadow: 5px 5px 0 var(--badge-discount);
  transition: transform 0.15s ease, box-shadow 0.15s ease, background 0.15s ease, color 0.15s ease;
}

.p-card .product-miniature__add.mp-btn-brutal,
.p-card .product-miniature__details.mp-btn-brutal {
  transition: transform 0.15s ease, box-shadow 0.15s ease, background 0.15s ease, color 0.15s ease;
}

.mp-btn-brutal:hover,
.mp-btn-brutal:focus-visible,
.p-card .product-miniature__add.mp-btn-brutal:hover,
.p-card .product-miniature__add.mp-btn-brutal:focus-visible,
.p-card .product-miniature__details.mp-btn-brutal:hover,
.p-card .product-miniature__details.mp-btn-brutal:focus-visible {
  transform: translate(2px, 2px);
  box-shadow: 4px 4px 0 var(--badge-discount);
  background: var(--ink);
  color: var(--white);
  border-color: transparent;
}

/* Home y catálogo — CTA añadir al carrito compacto unificado */
#wrapper .mp-catalog .p-card .product-miniature__add.mp-btn-brutal,
#wrapper .mp-catalog .p-card .product-miniature__details.mp-btn-brutal,
#wrapper .mp-catalog__products .p-card .product-miniature__add.mp-btn-brutal,
#wrapper .mp-catalog__products .p-card .product-miniature__details.mp-btn-brutal,
#wrapper #js-product-list .p-card .product-miniature__add.mp-btn-brutal,
#wrapper #js-product-list .p-card .product-miniature__details.mp-btn-brutal,
#wrapper .mp-home-carousel .p-card .product-miniature__add.mp-btn-brutal,
#wrapper .mp-home-carousel .p-card .product-miniature__details.mp-btn-brutal {
  min-height: 36px;
  padding: 8px 13px;
  font-family: 'Anton', sans-serif;
  font-size: 14px;
  font-weight: 400;
  letter-spacing: 0.02em;
  text-transform: uppercase;
  box-shadow: 3px 3px 0 var(--badge-discount);
}

#wrapper .mp-catalog .p-card .product-miniature__add.mp-btn-brutal:hover,
#wrapper .mp-catalog .p-card .product-miniature__add.mp-btn-brutal:focus-visible,
#wrapper .mp-catalog .p-card .product-miniature__details.mp-btn-brutal:hover,
#wrapper .mp-catalog .p-card .product-miniature__details.mp-btn-brutal:focus-visible,
#wrapper .mp-catalog__products .p-card .product-miniature__add.mp-btn-brutal:hover,
#wrapper .mp-catalog__products .p-card .product-miniature__add.mp-btn-brutal:focus-visible,
#wrapper .mp-catalog__products .p-card .product-miniature__details.mp-btn-brutal:hover,
#wrapper .mp-catalog__products .p-card .product-miniature__details.mp-btn-brutal:focus-visible,
#wrapper #js-product-list .p-card .product-miniature__add.mp-btn-brutal:hover,
#wrapper #js-product-list .p-card .product-miniature__add.mp-btn-brutal:focus-visible,
#wrapper #js-product-list .p-card .product-miniature__details.mp-btn-brutal:hover,
#wrapper #js-product-list .p-card .product-miniature__details.mp-btn-brutal:focus-visible,
#wrapper .mp-home-carousel .p-card .product-miniature__add.mp-btn-brutal:hover,
#wrapper .mp-home-carousel .p-card .product-miniature__add.mp-btn-brutal:focus-visible,
#wrapper .mp-home-carousel .p-card .product-miniature__details.mp-btn-brutal:hover,
#wrapper .mp-home-carousel .p-card .product-miniature__details.mp-btn-brutal:focus-visible {
  box-shadow: 2px 2px 0 var(--badge-discount);
}

.mp-btn-brutal:disabled {
  transform: none;
  background: var(--concrete);
  color: #8a8a83;
  box-shadow: 4px 4px 0 var(--line);
  cursor: not-allowed;
}

/* Ficha producto — CTA brutal (añadir al carrito, avísame, etc.) */
.page-product #wrapper .mp-product__add-btn.mp-btn-brutal.btn-primary,
.page-product .mp-product__add-btn.mp-btn-brutal,
.page-product #wrapper .mp-stock-alert__submit.mp-btn-brutal.btn-primary,
.page-product .mp-stock-alert__submit.mp-btn-brutal,
#wrapper .mp-product__add-btn.mp-btn-brutal.btn-primary,
#wrapper .mp-stock-alert__submit.mp-btn-brutal.btn-primary,
.mp-product__add-btn.mp-btn-brutal,
.mp-stock-alert__submit.mp-btn-brutal {
  position: relative;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 8px;
  min-height: 48px;
  padding: 14px 28px;
  border: none;
  border-radius: 0;
  background: var(--ink);
  color: var(--white);
  font-family: 'Anton', sans-serif;
  font-weight: 400;
  font-size: 20px;
  line-height: 1;
  letter-spacing: 0.02em;
  text-transform: uppercase;
  text-decoration: none;
  cursor: pointer;
  box-shadow: 5px 5px 0 var(--badge-discount);
  transition: transform 0.15s ease, box-shadow 0.15s ease, background 0.15s ease, color 0.15s ease;
}

.page-product #wrapper .mp-product__add-btn.mp-btn-brutal.btn-primary:hover,
.page-product #wrapper .mp-product__add-btn.mp-btn-brutal.btn-primary:focus-visible,
.page-product .mp-product__add-btn.mp-btn-brutal:hover,
.page-product .mp-product__add-btn.mp-btn-brutal:focus-visible,
.page-product #wrapper .mp-stock-alert__submit.mp-btn-brutal.btn-primary:hover,
.page-product #wrapper .mp-stock-alert__submit.mp-btn-brutal.btn-primary:focus-visible,
.page-product .mp-stock-alert__submit.mp-btn-brutal:hover,
.page-product .mp-stock-alert__submit.mp-btn-brutal:focus-visible,
#wrapper .mp-product__add-btn.mp-btn-brutal.btn-primary:hover,
#wrapper .mp-product__add-btn.mp-btn-brutal.btn-primary:focus-visible,
#wrapper .mp-stock-alert__submit.mp-btn-brutal.btn-primary:hover,
#wrapper .mp-stock-alert__submit.mp-btn-brutal.btn-primary:focus-visible,
.mp-product__add-btn.mp-btn-brutal:hover,
.mp-product__add-btn.mp-btn-brutal:focus-visible,
.mp-stock-alert__submit.mp-btn-brutal:hover,
.mp-stock-alert__submit.mp-btn-brutal:focus-visible {
  transform: translate(2px, 2px);
  background: var(--ink);
  color: var(--white);
  border-color: transparent;
  box-shadow: 4px 4px 0 var(--badge-discount);
}

.page-product #wrapper .mp-product__add-btn.mp-btn-brutal.btn-primary:disabled,
.page-product .mp-product__add-btn.mp-btn-brutal:disabled,
.page-product #wrapper .mp-stock-alert__submit.mp-btn-brutal.btn-primary:disabled,
.page-product .mp-stock-alert__submit.mp-btn-brutal:disabled,
#wrapper .mp-product__add-btn.mp-btn-brutal.btn-primary:disabled,
#wrapper .mp-stock-alert__submit.mp-btn-brutal.btn-primary:disabled,
.mp-product__add-btn.mp-btn-brutal:disabled,
.mp-stock-alert__submit.mp-btn-brutal:disabled {
  transform: none;
  background: var(--concrete);
  color: #8a8a83;
  box-shadow: 4px 4px 0 var(--line);
  cursor: not-allowed;
}

.mp-product__add-btn:not(.mp-btn-brutal) {
  min-height: 48px;
  padding: 14px 28px;
  border: 2px solid var(--ink);
  border-radius: 0;
  background: var(--lime);
  color: var(--ink);
  font-family: 'Inter', sans-serif;
  font-weight: 700;
  font-size: 14px;
  letter-spacing: 0.02em;
  text-transform: uppercase;
  box-shadow: none;
}

.mp-product__add-btn:not(.mp-btn-brutal):hover,
.mp-product__add-btn:not(.mp-btn-brutal):focus-visible {
  background: var(--ink);
  color: var(--white);
  border-color: var(--ink);
}

.mp-product__add-btn:not(.mp-btn-brutal):disabled {
  background: var(--concrete);
  color: #8a8a83;
  border-color: var(--line);
}

.mp-product__add-btn .material-icons {
  display: none;
}

.mp-product__availability-msg {
  font-family: 'IBM Plex Mono', monospace;
  font-size: 12px;
  font-weight: 600;
  text-transform: uppercase;
  letter-spacing: 0.04em;
  margin: 0 0 12px;
  color: var(--ink);
}

.mp-product__min-qty {
  font-family: 'IBM Plex Mono', monospace;
  font-size: 11px;
  color: #8a8a83;
  margin-top: 10px;
}

.mp-product .product__additional-info,
.mp-product .mp-product__extra-info {
  margin-top: 0;
}

.mp-product__share-wrap {
  margin-top: 18px;
  padding: 18px 0 22px;
  border-top: 1px solid var(--line);
}

.mp-product-share {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  justify-content: space-between;
  gap: 12px 16px;
  padding-bottom: 4px;
}

.mp-product-share__label {
  font-family: 'IBM Plex Mono', monospace;
  font-size: 11px;
  font-weight: 600;
  letter-spacing: 0.12em;
  text-transform: uppercase;
  color: var(--lime-dark);
}

.mp-product-share__list {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 8px;
  margin: 0;
  padding: 0;
  list-style: none;
}

.mp-product-share__item {
  margin: 0;
}

.mp-product-share__link {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 40px;
  height: 40px;
  border: 1.5px solid var(--ink);
  background: var(--white);
  color: var(--ink);
  text-decoration: none;
  transition:
    background 0.2s ease,
    color 0.2s ease,
    border-color 0.2s ease;
}

.mp-product-share__link:hover,
.mp-product-share__link:focus-visible {
  background: var(--lime);
  border-color: var(--ink);
  color: var(--ink);
  outline: none;
}

.mp-product__meta {
  margin-top: 18px;
  padding-top: 18px;
  border-top: 1px solid var(--line);
}

.mp-product__delivery {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 12px 16px;
  padding: 14px 16px;
  border: 1.5px solid var(--ink);
  background:
    linear-gradient(90deg, rgba(160, 197, 66, 0.12) 0, rgba(160, 197, 66, 0) 42%),
    var(--white);
}

.mp-product__delivery-note {
  margin: 0;
  flex: 1 1 180px;
  min-width: 0;
  font-family: 'IBM Plex Mono', monospace;
  font-size: 11px;
  font-weight: 500;
  line-height: 1.45;
  letter-spacing: 0.03em;
  color: #5a5a54;
}

.mp-product .mp-stock-alert {
  padding: 1.25rem;
  border: 2px solid var(--ink);
  background: var(--concrete);
}

.mp-stock-alert__tag {
  margin-bottom: 0.75rem;
}

.mp-stock-alert__title {
  font-family: 'Anton', sans-serif;
  font-size: clamp(1rem, 2.2vw, 1.2rem);
  font-weight: 400;
  text-transform: uppercase;
  line-height: 1.05;
  margin: 0 0 0.5rem;
  color: var(--ink);
}

.mp-stock-alert__text {
  font-family: 'Inter', sans-serif;
  font-size: 13px;
  line-height: 1.5;
  color: #5a5a54;
  margin: 0 0 1rem;
}

.mp-stock-alert__form {
  display: flex;
  align-items: stretch;
  gap: 0;
  max-width: 520px;
  border: 2px solid var(--ink);
  background: var(--white);
  overflow: hidden;
}

.mp-stock-alert__input {
  flex: 1 1 68%;
  width: auto;
  min-width: 0;
  border: none;
  border-radius: 0;
  padding: 14px 16px;
  font-family: 'Inter', sans-serif;
  font-size: 14px;
  font-weight: 400;
  color: var(--ink);
  background: var(--white);
  box-shadow: none;
  box-sizing: border-box;
}

.mp-stock-alert__input::placeholder {
  color: #8a8a83;
}

.mp-stock-alert__input:focus {
  outline: none;
  box-shadow: inset 0 0 0 2px var(--lime);
}

.mp-stock-alert__submit:not(.mp-btn-brutal),
.mp-product .mp-stock-alert .mp-stock-alert__submit {
  flex: 0 0 32%;
  width: auto;
  min-width: 118px;
  min-height: 0;
  margin: 0;
  padding: 14px 18px;
  font-family: 'Anton', sans-serif;
  font-size: 16px;
  font-weight: 400;
  letter-spacing: 0.03em;
  line-height: 1;
  text-transform: uppercase;
  background: var(--ink) !important;
  background-color: var(--ink) !important;
  border: none !important;
  border-left: 2px solid var(--ink) !important;
  border-radius: 0;
  color: var(--white) !important;
  box-shadow: none !important;
  white-space: nowrap;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  cursor: pointer;
  transition: background 0.15s ease, color 0.15s ease;
}

.mp-stock-alert__submit:not(.mp-btn-brutal):hover,
.mp-stock-alert__submit:not(.mp-btn-brutal):focus-visible,
.mp-product .mp-stock-alert .mp-stock-alert__submit:hover,
.mp-product .mp-stock-alert .mp-stock-alert__submit:focus-visible {
  background: var(--ink) !important;
  background-color: var(--ink) !important;
  border-color: var(--ink) !important;
  color: var(--white) !important;
  box-shadow: none !important;
  transform: none;
}

.mp-stock-alert__submit--solo {
  width: 100%;
  flex: none;
  border-left: none !important;
}

.mp-stock-alert__gdpr {
  font-size: 11px;
  color: #8a8a83;
  margin-top: 0.75rem;
  margin-bottom: 0;
}

.mp-stock-alert__gdpr .form-check,
.mp-stock-alert__gdpr label {
  font-size: 11px;
  line-height: 1.4;
}

.mp-stock-alert__confirmed {
  margin: 0;
  padding: 0.85rem 1rem;
  border: 2px solid var(--ink);
  background: var(--lime);
  font-family: 'IBM Plex Mono', monospace;
  font-size: 11px;
  font-weight: 600;
  letter-spacing: 0.04em;
  text-transform: uppercase;
  color: var(--ink);
}

.mp-product__delivery {
  margin: 0;
}

.mp-product__bottom {
  display: grid;
  grid-template-columns: minmax(0, 1.4fr) minmax(0, 0.6fr);
  gap: clamp(1.5rem, 4vw, 2.5rem);
  align-items: start;
  padding-top: 2rem;
  border-top: 2px solid var(--ink);
}

.mp-product__accordion {
  --bs-accordion-border-width: 0;
  --bs-accordion-border-radius: 0;
  --bs-accordion-inner-border-radius: 0;
  --bs-accordion-btn-padding-x: 0;
  --bs-accordion-btn-padding-y: 0;
  --bs-accordion-body-padding-x: 0;
  --bs-accordion-body-padding-y: 0;
  --bs-accordion-active-color: var(--ink);
  --bs-accordion-active-bg: transparent;
  --bs-accordion-btn-focus-box-shadow: none;
}

.mp-product__panel {
  border: none;
  border-top: 1px solid var(--line);
  background: none;
}

.mp-product__panel:first-child {
  border-top: none;
}

.mp-product__panel-head {
  margin: 0;
  padding: 0;
  border: none;
  background: none;
}

.mp-product__panel-btn {
  font-family: 'IBM Plex Mono', monospace;
  font-size: 12px;
  font-weight: 600;
  text-transform: uppercase;
  letter-spacing: 0.08em;
  padding: 18px 0;
  display: flex;
  justify-content: space-between;
  align-items: center;
  width: 100%;
  border: none;
  background: none;
  box-shadow: none;
  color: var(--ink);
}

.mp-product__panel-btn::after {
  content: '—';
  color: var(--lime-dark);
  background-image: none;
  width: auto;
  height: auto;
  margin: 0;
  transform: none;
  flex-shrink: 0;
  font-family: 'IBM Plex Mono', monospace;
  font-size: 20px;
  font-weight: 700;
  line-height: 1;
}

.mp-product__panel-btn.collapsed::after {
  content: '+';
}

.mp-product__panel-body {
  padding: 0 0 24px;
}

.mp-product__spec {
  margin-bottom: 2rem;
}

.mp-product__details .spec-sheet--light {
  margin-top: 0;
}

.mp-product__trust {
  position: sticky;
  top: var(--mp-sticky-trust-top);
}

.mp-product__trust .blockreassurance,
.mp-product__trust .ps-emailsubscription,
.mp-product__trust > * {
  margin: 0;
}

.mp-trust-panel {
  border: 1.5px solid var(--ink);
  background: var(--white);
  padding: 0;
}

.mp-trust-panel__head {
  margin: 0;
  padding: 14px 16px;
  font-family: 'IBM Plex Mono', monospace;
  font-size: 11px;
  font-weight: 600;
  letter-spacing: 0.12em;
  text-transform: uppercase;
  color: var(--ink);
  background: var(--concrete);
  border-bottom: 1.5px solid var(--ink);
}

.mp-trust-panel__list {
  margin: 0;
  padding: 0;
  list-style: none;
}

.mp-trust-panel__item {
  display: grid;
  grid-template-columns: 42px minmax(0, 1fr);
  gap: 12px;
  align-items: start;
  padding: 16px;
  border-top: 1px solid var(--line);
}

.mp-trust-panel__item:first-child {
  border-top: none;
}

.mp-trust-panel__icon {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 42px;
  height: 42px;
  border: 1.5px solid var(--ink);
  background: var(--white);
  color: var(--ink);
}

.mp-trust-panel__content {
  display: flex;
  flex-direction: column;
  gap: 4px;
  min-width: 0;
}

.mp-trust-panel__title {
  font-family: 'Inter', sans-serif;
  font-size: 14px;
  font-weight: 700;
  line-height: 1.3;
  color: var(--ink);
}

.mp-trust-panel__desc {
  font-family: 'Inter', sans-serif;
  font-size: 12px;
  line-height: 1.5;
  color: #5a5a54;
}

.mp-product__trust .blockreassurance-product,
.mp-product__trust .item-product {
  display: none;
}

.mp-product__related {
  margin-top: 3rem;
  padding-top: 2rem;
  border-top: 1px solid var(--line);
}

.mp-product__category-carousel {
  margin-top: 3rem;
  padding-top: 2rem;
  border-top: 1px solid var(--line);
  width: 100%;
  min-width: 0;
}

.mp-product__category-carousel .module-products.container {
  max-width: var(--mp-wrap);
}

.mp-product__category-carousel .mp-section-head {
  margin-bottom: 1.25rem;
}

.mp-product__category-carousel .mp-home-carousel {
  width: 100%;
  min-width: 0;
  overflow: hidden;
}

.mp-product__category-carousel .mp-home-carousel .splide__track {
  overflow: hidden;
}

.mp-product__category-carousel .mp-home-carousel .splide__list,
.mp-product__category-carousel .mp-home-carousel .splide.is-initialized:not(.is-active) .splide__list {
  display: flex !important;
}

.mp-product__category-carousel .mp-home-carousel .splide__slide {
  width: auto;
  max-width: 100%;
  height: auto;
}

.mp-product__category-carousel .mp-home-carousel .splide:not(.is-initialized) .splide__list {
  display: grid !important;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 1.5rem;
}

.mp-product__category-carousel .mp-home-carousel .splide:not(.is-initialized) .splide__slide {
  width: auto !important;
  margin: 0 !important;
}

@media (max-width: 1199px) {
  .mp-product__category-carousel .mp-home-carousel .splide:not(.is-initialized) .splide__list {
    grid-template-columns: repeat(3, minmax(0, 1fr));
  }
}

@media (max-width: 767px) {
  .mp-product__category-carousel .mp-home-carousel .splide:not(.is-initialized) .splide__list {
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 1rem;
  }
}

@media (max-width: 479px) {
  .mp-product__category-carousel .mp-home-carousel .splide:not(.is-initialized) .splide__list {
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 12px;
  }
}

.mp-product__category-carousel .module-products {
  padding-left: 0;
  padding-right: 0;
}

.mp-product__category-carousel .mp-section-head__title {
  font-family: 'Anton', sans-serif;
  font-weight: 400;
  font-size: clamp(1.35rem, 3vw, 1.85rem);
  text-transform: uppercase;
  letter-spacing: 0.01em;
}

.mp-product__related-title {
  font-family: 'Anton', sans-serif;
  font-weight: 400;
  font-size: clamp(1.35rem, 3vw, 1.85rem);
  text-transform: uppercase;
  letter-spacing: 0.01em;
  margin: 0 0 1.5rem;
}

.mp-product__accessories .products {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 20px;
}

.mp-product__attachment {
  padding: 14px 0;
  border-top: 1px solid var(--line);
}

.mp-product__attachment:first-child {
  border-top: none;
  padding-top: 0;
}

.mp-product__attachment .attachment__name {
  font-weight: 700;
  margin: 0 0 4px;
}

.mp-product__attachment .attachment__link {
  font-family: 'IBM Plex Mono', monospace;
  font-size: 12px;
  font-weight: 600;
  text-transform: uppercase;
  letter-spacing: 0.04em;
  color: var(--lime-dark);
}

.page-product .mp-crumb {
  margin-bottom: 1.5rem;
}

/* --- Lightbox galería producto --- */
#product-modal.mp-lightbox {
  --mp-lightbox-chrome: 7rem;
  --mp-lightbox-max: min(calc(100vw - 2rem), calc(100vh - var(--mp-lightbox-chrome)), 1080px);
  z-index: 1060;
}

body.modal-open #product-modal.mp-lightbox {
  padding-right: 0;
}

body > .modal-backdrop.show,
body > .mp-lightbox-backdrop.show {
  z-index: 1055;
}

#product-modal.mp-lightbox .modal-backdrop,
.modal-backdrop.show {
  background: rgba(16, 16, 16, 0.82);
}

#product-modal .mp-lightbox__dialog {
  width: min(96vw, 1100px);
  max-width: min(96vw, 1100px);
  max-height: calc(100vh - 0.5rem);
  margin: 0.35rem auto;
}

#product-modal .mp-lightbox__panel {
  width: 100%;
  max-width: 100%;
  max-height: calc(100vh - 0.5rem);
  border: 2px solid var(--ink);
  border-radius: 0;
  background: var(--white);
  overflow: hidden;
  display: flex;
  flex-direction: column;
}

#product-modal .mp-lightbox__header {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
  padding: 8px 12px;
  border-bottom: 1px solid var(--line);
  background: var(--concrete);
  width: 100%;
  box-sizing: border-box;
  position: relative;
  z-index: 5;
  flex-shrink: 0;
}

#product-modal .mp-lightbox__title {
  margin: 0;
  font-family: 'Inter', sans-serif;
  font-size: 14px;
  font-weight: 700;
  line-height: 1.35;
  color: var(--ink);
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}

#product-modal .mp-lightbox__close {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  flex-shrink: 0;
  width: 36px;
  height: 36px;
  margin: 0;
  padding: 0;
  border: none;
  background: var(--white);
  color: var(--ink);
  cursor: pointer;
  position: relative;
  z-index: 6;
  transition: background-color 0.15s ease, color 0.15s ease;
}

#product-modal .mp-lightbox__close:hover,
#product-modal .mp-lightbox__close:focus-visible {
  background: var(--lime);
  color: var(--ink);
  outline: none;
}

#product-modal .mp-lightbox__body {
  padding: 0;
  background: var(--white);
  width: 100%;
  flex: 1 1 auto;
  min-height: 0;
  display: flex;
  flex-direction: column;
  overflow: hidden;
}

#product-modal .mp-lightbox__carousel {
  position: relative;
  width: 100%;
  flex: 1 1 auto;
  min-height: 0;
  display: flex;
  flex-direction: column;
}

#product-modal .mp-lightbox__stage {
  background: var(--white);
  width: 100%;
  flex: 1 1 auto;
  min-height: 0;
  position: relative;
}

#product-modal .mp-lightbox__slide {
  display: none;
  min-height: 0;
  background: var(--white);
  width: 100%;
  height: 100%;
}

/* Visibilidad: Bootstrap marca active/next/prev. :not(.active) con #id bloqueaba las flechas. */
#product-modal .mp-lightbox__slide.active,
#product-modal .mp-lightbox__slide.carousel-item-next,
#product-modal .mp-lightbox__slide.carousel-item-prev,
#product-modal .mp-lightbox__slide.carousel-item-start,
#product-modal .mp-lightbox__slide.carousel-item-end {
  display: flex;
  align-items: center;
  justify-content: center;
}

#product-modal .mp-lightbox__picture {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 100%;
  min-height: 0;
  padding: 6px;
  box-sizing: border-box;
}

#product-modal .mp-lightbox__image {
  display: block;
  width: auto;
  height: auto;
  max-width: var(--mp-lightbox-max);
  max-height: var(--mp-lightbox-max);
  margin: 0 auto;
  object-fit: contain;
}

#product-modal .mp-lightbox__nav {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 44px;
  height: 44px;
  top: 50%;
  bottom: auto;
  transform: translateY(-50%);
  opacity: 1;
  border: 2px solid var(--ink);
  background: rgba(255, 255, 255, 0.94);
  border-radius: 0;
  z-index: 8;
  pointer-events: auto;
}

#product-modal .mp-lightbox__nav--prev {
  left: 14px;
}

#product-modal .mp-lightbox__nav--next {
  right: 14px;
}

#product-modal .mp-lightbox__nav::after {
  display: none;
}

#product-modal .mp-lightbox__nav-icon {
  font-family: 'IBM Plex Mono', monospace;
  font-size: 18px;
  font-weight: 700;
  line-height: 1;
  color: var(--ink);
}

#product-modal .mp-lightbox__nav:hover,
#product-modal .mp-lightbox__nav:focus-visible {
  background: var(--lime);
}

#product-modal .mp-lightbox__footer {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
  padding: 8px 12px 10px;
  border-top: 1px solid var(--line);
  background: var(--concrete);
  width: 100%;
  box-sizing: border-box;
  flex-shrink: 0;
  position: relative;
  z-index: 5;
}

#product-modal .mp-lightbox__thumbs {
  flex: 1 1 auto;
  min-width: 0;
  overflow: hidden;
}

#product-modal .mp-lightbox__thumbs-list {
  display: flex;
  flex-wrap: nowrap;
  gap: 10px;
  list-style: none;
  margin: 0;
  padding: 2px 2px 6px;
  overflow-x: auto;
  overflow-y: hidden;
  scroll-snap-type: x proximity;
  scrollbar-width: thin;
}

#product-modal .mp-lightbox__thumbs-item {
  flex: 0 0 auto;
  scroll-snap-align: start;
}

#product-modal .mp-lightbox__thumb {
  width: 56px;
  height: 56px;
  padding: 0;
  border: 1.5px solid var(--line);
  background: var(--white);
  cursor: pointer;
  transition: border-color 0.15s ease, box-shadow 0.15s ease;
}

#product-modal .mp-lightbox__thumb.active,
#product-modal .mp-lightbox__thumb:hover,
#product-modal .mp-lightbox__thumb:focus-visible {
  border-color: var(--ink);
  outline: none;
}

#product-modal .mp-lightbox__thumb-img {
  display: block;
  width: 100%;
  height: 100%;
  object-fit: contain;
}

#product-modal .mp-lightbox__counter {
  flex: 0 0 auto;
  margin: 0;
  font-family: 'IBM Plex Mono', monospace;
  font-size: 12px;
  font-weight: 600;
  letter-spacing: 0.06em;
  color: var(--ink);
  white-space: nowrap;
}

#product-modal .mp-lightbox__counter-sep {
  margin: 0 2px;
  color: var(--lime-dark);
}

@media (max-width: 767.98px) {
  #product-modal.mp-lightbox {
    --mp-lightbox-chrome: 8.5rem;
    --mp-lightbox-max: min(calc(100vw - 1rem), calc(100vh - var(--mp-lightbox-chrome)));
  }

  #product-modal .mp-lightbox__dialog,
  #product-modal .mp-lightbox__panel {
    width: calc(100vw - 0.5rem);
    max-width: calc(100vw - 0.5rem);
    max-height: calc(100vh - 0.5rem);
    margin: 0.25rem auto;
  }

  #product-modal .mp-lightbox__header,
  #product-modal .mp-lightbox__footer {
    padding-inline: 12px;
  }

  #product-modal .mp-lightbox__nav {
    width: 38px;
    height: 38px;
  }

  #product-modal .mp-lightbox__nav--prev {
    left: 8px;
  }

  #product-modal .mp-lightbox__nav--next {
    right: 8px;
  }

  #product-modal .mp-lightbox__thumb {
    width: 48px;
    height: 48px;
  }

  #product-modal .mp-lightbox__footer {
    flex-direction: column;
    align-items: stretch;
  }

  #product-modal .mp-lightbox__counter {
    text-align: right;
  }
}

/* --- Newsletter --- */
.mp-news,
.news.mp-news {
  margin-top: 2.5rem;
  padding: 2.5rem 0;
  border-top: 2px solid var(--ink);
  background: var(--concrete);
}

.news-inner {
  display: grid;
  grid-template-columns: 1fr 1.2fr;
  gap: 2rem;
  align-items: center;
}

.news-eyebrow {
  font-family: 'IBM Plex Mono', monospace;
  font-size: 11px;
  font-weight: 600;
  letter-spacing: 0.1em;
  text-transform: uppercase;
  color: var(--lime-dark);
  display: block;
  margin-bottom: 8px;
}

.news-tag {
  margin-bottom: 12px;
}

.news-title {
  font-family: 'Anton', sans-serif;
  font-weight: 400;
  font-size: clamp(1.35rem, 3vw, 1.75rem);
  text-transform: uppercase;
  color: var(--ink);
  margin: 0;
  line-height: 1.05;
}

.news-form-row {
  display: flex;
  align-items: stretch;
  gap: 0;
  max-width: 520px;
  border: 2px solid var(--ink);
  background: var(--concrete);
  overflow: hidden;
}

.news-input {
  flex: 1 1 68%;
  border: none;
  padding: 14px 16px;
  font-family: 'Inter', sans-serif;
  font-size: 14px;
  font-weight: 400;
  color: var(--ink);
  background: var(--concrete);
  min-width: 0;
}

.news-input::placeholder {
  color: #8a8a83;
}

.news-input:focus {
  outline: none;
  box-shadow: inset 0 0 0 2px var(--lime);
}

.mp-news .news-form-row .news-submit,
.news-form-row .news-submit {
  flex: 0 0 32%;
  min-width: 132px;
  margin: 0;
  padding: 14px 18px;
  border: none;
  border-left: 2px solid var(--ink);
  border-radius: 0;
  background: var(--ink);
  color: var(--white);
  font-family: 'Anton', sans-serif;
  font-weight: 400;
  font-size: 16px;
  line-height: 1;
  letter-spacing: 0.03em;
  text-transform: uppercase;
  white-space: nowrap;
  cursor: pointer;
  box-shadow: none;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  transition: background 0.15s ease, color 0.15s ease;
}

.mp-news .news-form-row .news-submit:hover,
.mp-news .news-form-row .news-submit:focus-visible,
.news-form-row .news-submit:hover,
.news-form-row .news-submit:focus-visible {
  background: var(--ink);
  color: var(--white);
  border-color: var(--ink);
  box-shadow: none;
}

.news-legal,
.news-gdpr {
  font-size: 11px;
  color: #8a8a83;
  margin-top: 0.75rem;
  margin-bottom: 0;
}

/* --- SEO content --- */
.mp-seo {
  margin-top: 0;
  padding: 2.5rem 0 4rem;
  border-top: 1px solid var(--line);
  font-family: 'Inter', sans-serif;
  color: #3d3d3a;
  line-height: 1.65;
}

.mp-seo__eyebrow {
  display: inline-flex;
  align-items: center;
  gap: 10px;
  font-family: 'IBM Plex Mono', monospace;
  font-size: 12px;
  font-weight: 600;
  letter-spacing: 0.12em;
  text-transform: uppercase;
  color: var(--lime-dark);
  margin-bottom: 14px;
}

.mp-seo__eyebrow::before {
  content: '';
  width: 22px;
  height: 2px;
  background: var(--lime-dark);
}

.mp-seo__title {
  font-family: 'Anton', sans-serif;
  font-weight: 400;
  font-size: clamp(1.75rem, 4vw, 2.75rem);
  line-height: 1;
  letter-spacing: 0.01em;
  text-transform: uppercase;
  color: var(--ink);
  margin: 0 0 0.75rem;
}

.mp-seo__lead {
  font-size: 1.125rem;
  font-weight: 600;
  color: var(--ink);
  margin-bottom: 1.25rem;
}

.mp-seo__intro p,
.mp-seo__card p,
.mp-seo__feature p,
.mp-seo__feature-body p,
.mp-seo__closing p {
  margin: 0 0 1rem;
  font-size: 0.9375rem;
}

.mp-seo__intro p:last-child {
  margin-bottom: 2rem;
}

.mp-seo a {
  color: var(--ink);
  font-weight: 600;
  text-decoration: underline;
  text-decoration-color: var(--lime);
  text-underline-offset: 3px;
}

.mp-seo a:hover {
  color: var(--lime-dark);
}

.mp-seo__grid {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: 1.5rem;
  margin-bottom: 2.5rem;
}

.mp-seo__card {
  border: 1px solid var(--line);
  padding: 1.5rem;
  background: var(--white);
}

.mp-seo__tag {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  background: var(--ink);
  color: var(--white);
  font-family: 'IBM Plex Mono', monospace;
  font-size: 11px;
  font-weight: 600;
  letter-spacing: 0.08em;
  text-transform: uppercase;
  padding: 6px 12px 6px 8px;
  clip-path: polygon(0 50%, 10px 0, 100% 0, 100% 100%, 10px 100%);
  margin-bottom: 1rem;
}

.mp-seo__tag::before {
  content: '';
  width: 5px;
  height: 5px;
  border-radius: 50%;
  background: var(--lime);
}

.mp-seo__card-title {
  font-family: 'Anton', sans-serif;
  font-weight: 400;
  font-size: 1.25rem;
  text-transform: uppercase;
  color: var(--ink);
  margin: 0 0 1rem;
  line-height: 1.1;
}

.mp-seo__section-title {
  font-family: 'Anton', sans-serif;
  font-weight: 400;
  font-size: clamp(1.5rem, 3vw, 2rem);
  text-transform: uppercase;
  color: var(--ink);
  margin: 0 0 1.75rem;
  padding-bottom: 0.75rem;
  border-bottom: 2px solid var(--ink);
}

.mp-seo__section {
  margin-bottom: 2.5rem;
}

.mp-seo__features {
  display: flex;
  flex-direction: column;
  gap: 0;
  margin-bottom: 1.5rem;
  border: 2px solid var(--ink);
}

.mp-seo__feature {
  border-bottom: 1px solid var(--line);
  background: var(--white);
}

.mp-seo__feature:last-of-type {
  border-bottom: none;
}

.mp-seo__feature summary {
  list-style: none;
  cursor: pointer;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 0.75rem;
  padding: 1rem 1.25rem;
  transition: background 0.15s ease;
}

.mp-seo__feature summary::-webkit-details-marker {
  display: none;
}

.mp-seo__feature summary::after {
  content: '+';
  font-family: 'IBM Plex Mono', monospace;
  font-size: 16px;
  font-weight: 700;
  flex-shrink: 0;
  line-height: 1;
}

.mp-seo__feature[open] summary {
  background: var(--lime);
  border-bottom: 1px solid var(--ink);
}

.mp-seo__feature[open] summary::after {
  content: '−';
}

.mp-seo__feature summary:hover,
.mp-seo__feature summary:focus-visible {
  background: var(--concrete);
  outline: none;
}

.mp-seo__feature[open] summary:hover,
.mp-seo__feature[open] summary:focus-visible {
  background: var(--lime-dark);
  color: var(--ink);
}

.mp-seo__feature-title {
  font-family: 'IBM Plex Mono', monospace;
  font-size: 0.8125rem;
  font-weight: 600;
  letter-spacing: 0.06em;
  text-transform: uppercase;
  color: var(--ink);
  margin: 0;
}

.mp-seo__feature-body {
  padding: 0 1.25rem 1.25rem;
}

.mp-seo__feature-body p:last-child {
  margin-bottom: 0;
}

.mp-seo__feature--highlight {
  margin-top: 0.5rem;
  background: var(--concrete);
  border: 2px solid var(--ink);
  border-left: 6px solid var(--lime);
  padding: 1.5rem;
}

.mp-seo__closing {
  margin-top: 2.5rem;
  background: var(--ink);
  color: #c9c9c4;
  padding: 2.5rem 0;
  position: relative;
  overflow: hidden;
}

.mp-seo__closing::after {
  content: '';
  position: absolute;
  right: -40px;
  bottom: -40px;
  width: 200px;
  height: 200px;
  background: var(--lime);
  border-radius: 50%;
  filter: blur(80px);
  opacity: 0.25;
  pointer-events: none;
}

.mp-seo__closing-title {
  font-family: 'Anton', sans-serif;
  font-weight: 400;
  font-size: clamp(1.35rem, 3vw, 1.75rem);
  text-transform: uppercase;
  color: var(--white);
  margin: 0 0 1.25rem;
  position: relative;
  z-index: 1;
  max-width: 720px;
  line-height: 1.05;
}

.mp-seo__closing p {
  position: relative;
  z-index: 1;
  max-width: 820px;
  color: #c9c9c4;
}

.mp-seo__closing-cta {
  margin-top: 1.25rem !important;
  padding-top: 1.25rem;
  border-top: 1px solid rgba(255, 255, 255, 0.15);
  font-weight: 500;
  color: var(--white) !important;
}

.mp-seo__legal {
  margin-top: 2rem;
  margin-bottom: 2rem;
  padding: 1.25rem 1rem;
  border: 1px solid var(--line);
  background: var(--concrete);
}

.mp-seo__legal-label {
  font-family: 'IBM Plex Mono', monospace;
  font-size: 10px;
  font-weight: 600;
  letter-spacing: 0.1em;
  text-transform: uppercase;
  color: var(--lime-dark);
  margin: 0 0 0.75rem;
}

.mp-seo__legal p {
  font-size: 11px;
  line-height: 1.55;
  color: #7a7a73;
  margin: 0 0 0.65rem;
}

.mp-seo__legal p:last-child {
  margin-bottom: 0;
}

/* --- Catálogo / categoría --- */
.page-category,
.page-best-sales,
.page-new-products,
.page-prices-drop {
  font-family: 'Inter', sans-serif;
}

.mp-eyebrow {
  font-family: 'IBM Plex Mono', monospace;
  font-size: 12px;
  font-weight: 600;
  letter-spacing: 0.1em;
  text-transform: uppercase;
  color: var(--lime-dark);
  margin: 0 0 10px;
}

.mp-crumb {
  padding: 1rem 0 0.75rem;
  border-bottom: 1px solid var(--line);
}

.crumb {
  font-family: 'IBM Plex Mono', monospace;
  font-size: 12px;
  color: #8a8a83;
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 8px;
  list-style: none;
  margin: 0;
  padding: 0;
  text-transform: uppercase;
  letter-spacing: 0.04em;
}

.crumb .breadcrumb-item,
.crumb .breadcrumb-link {
  display: inline-flex;
  align-items: center;
  gap: 8px;
}

.crumb .breadcrumb-link {
  color: #8a8a83;
  text-decoration: none;
}

.crumb .breadcrumb-link:hover,
.crumb .breadcrumb-link:focus-visible {
  color: var(--ink);
}

/* Template uses .sep; disable Bootstrap .breadcrumb-item ::before divider */
.crumb .breadcrumb-item + .breadcrumb-item::before {
  content: none;
  padding: 0;
  float: none;
}

.crumb .sep {
  color: var(--lime-dark);
}

.crumb .here {
  color: var(--ink);
  font-weight: 600;
}

.mp-page-title,
.page-title-section {
  font-family: 'Anton', sans-serif;
  font-weight: 400;
  font-size: clamp(2rem, 4.5vw, 3.25rem);
  line-height: 0.95;
  letter-spacing: 0.005em;
  text-transform: uppercase;
  color: var(--ink);
  margin: 0 0 1rem;
}

.mp-catalog {
  padding-bottom: 2.5rem;
}

.mp-catalog__header {
  padding: 1.5rem 0 0;
  margin-bottom: 1.5rem;
}

.mp-catalog__desc {
  max-width: 760px;
  font-size: 15px;
  line-height: 1.65;
  color: #3d3d3a;
  margin-bottom: 1.75rem;
}

.mp-catalog__desc p:last-child {
  margin-bottom: 0;
}

.mp-catalog__footer-seo {
  margin-top: 2.5rem;
  padding-top: 2.5rem;
  border-top: 1px solid var(--line);
}

.mp-catalog__footer-seo .mp-catalog__desc {
  max-width: none;
  margin-bottom: 0;
}

.mp-catalog__footer-seo .mp-seo {
  margin-top: 0;
  padding-top: 0;
  border-top: none;
}

/* Subcategorías con foto */
.mp-subcat {
  margin: 0 0 2rem;
  padding-top: 0.25rem;
}

.mp-subcat__title {
  font-family: 'Anton', sans-serif;
  font-weight: 400;
  font-size: clamp(1.35rem, 2.5vw, 1.75rem);
  text-transform: uppercase;
  letter-spacing: 0.01em;
  margin: 0 0 1.25rem;
  padding-bottom: 0.75rem;
  border-bottom: 2px solid var(--ink);
}

.mp-subcat__grid {
  display: grid;
  grid-template-columns: repeat(auto-fill, minmax(180px, 1fr));
  gap: 20px;
}

.mp-subcat__card {
  display: flex;
  flex-direction: column;
  border: 1.5px solid var(--ink);
  background: var(--white);
  text-decoration: none;
  color: var(--ink);
  transition: transform 0.15s ease, box-shadow 0.15s ease;
}

.mp-subcat__card:hover,
.mp-subcat__card:focus-visible {
  transform: translateY(-2px);
  box-shadow: 4px 4px 0 var(--lime);
}

.mp-subcat__img {
  aspect-ratio: 1;
  background:
    repeating-linear-gradient(45deg, var(--concrete) 0 2px, transparent 2px 14px),
    var(--concrete);
  border-bottom: 1px solid var(--line);
  overflow: hidden;
  display: flex;
  align-items: center;
  justify-content: center;
}

.mp-subcat__img picture,
.mp-subcat__img img,
.mp-subcat__photo {
  display: block;
  width: 100%;
  height: 100%;
  object-fit: cover;
}

.mp-subcat__placeholder {
  font-family: 'IBM Plex Mono', monospace;
  font-size: 2rem;
  font-weight: 600;
  color: #9a9a92;
  text-transform: uppercase;
}

.mp-subcat__name {
  font-family: 'IBM Plex Mono', monospace;
  font-size: 11px;
  font-weight: 600;
  letter-spacing: 0.05em;
  text-transform: uppercase;
  text-align: center;
  padding: 12px 10px;
  line-height: 1.35;
}

/* Toolbar listado */
.mp-catalog__toolbar {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  justify-content: space-between;
  gap: 1rem;
  padding: 1rem 0;
  margin-bottom: 1rem;
  border-top: 1px solid var(--line);
  border-bottom: 1px solid var(--line);
}

.mp-catalog__count {
  font-family: 'IBM Plex Mono', monospace;
  font-size: 12px;
  font-weight: 600;
  letter-spacing: 0.04em;
  text-transform: uppercase;
  color: #8a8a83;
  margin: 0;
}

.mp-catalog__toolbar-actions {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 12px;
}

.products__sort-label {
  display: none;
}

.products__sort {
  display: inline-flex;
  align-items: center;
}

.products__sort-dropdown {
  display: inline-flex;
}

#wrapper .mp-catalog__toolbar .products__sort-dropdown-button,
#wrapper .mp-catalog__toolbar .mp-catalog__filter-btn {
  --bs-btn-color: var(--ink);
  --bs-btn-bg: var(--white);
  --bs-btn-border-color: var(--line);
  --bs-btn-hover-color: var(--ink);
  --bs-btn-hover-bg: var(--white);
  --bs-btn-hover-border-color: #cacac4;
  --bs-btn-active-color: var(--ink);
  --bs-btn-active-bg: var(--white);
  --bs-btn-active-border-color: #cacac4;
  font-family: 'Inter', sans-serif;
  font-size: 14px;
  font-weight: 700;
  letter-spacing: 0;
  text-transform: none;
  padding: 9px 16px;
  border: 1px solid var(--line);
  border-radius: 999px;
  background: var(--white);
  color: var(--ink);
  box-shadow: none;
  line-height: 1.25;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 6px;
  min-height: 40px;
}

#wrapper .mp-catalog__toolbar .products__sort-dropdown-button {
  font-size: 12px;
  font-weight: 600;
  padding: 6px 12px;
  min-height: 32px;
  gap: 4px;
}

body:not(.has-compact-filter) .mp-catalog__toolbar .mp-catalog__filter-btn {
  display: none !important;
}

.mp-catalog__toolbar .mp-catalog__filter-btn.compact-toggle.external {
  letter-spacing: 0;
  margin-right: 0;
  width: auto;
  height: auto;
  line-height: 1.25;
  border-radius: 999px;
}

.mp-catalog__toolbar .mp-catalog__filter-btn .compact-toggle-icon {
  display: none;
}

.products__sort-prefix {
  font-weight: 600;
  color: var(--ink);
}

.products__sort-current {
  font-weight: 600;
  color: var(--ink);
}

#wrapper .mp-catalog__toolbar .products__sort-dropdown-button::after {
  margin-left: 1px;
  vertical-align: 0.12em;
  border-top-color: var(--ink);
  border-width: 0.28em 0.28em 0;
}

#wrapper .mp-catalog__toolbar .products__sort-dropdown-button:hover,
#wrapper .mp-catalog__toolbar .products__sort-dropdown-button:focus-visible,
#wrapper .mp-catalog__toolbar .mp-catalog__filter-btn:hover,
#wrapper .mp-catalog__toolbar .mp-catalog__filter-btn:focus-visible {
  background: var(--white);
  color: var(--ink);
  border-color: #cacac4;
}

.products__sort-dropdown .dropdown-menu {
  border: 1px solid var(--line);
  border-radius: 10px;
  padding: 4px;
  box-shadow: 0 6px 18px rgba(16, 16, 16, 0.08);
}

.products__sort-dropdown .dropdown-item {
  font-family: 'Inter', sans-serif;
  font-size: 12px;
  font-weight: 600;
  text-transform: none;
  padding: 6px 10px;
  border-radius: 6px;
}

.products__sort-dropdown .dropdown-item.current,
.products__sort-dropdown .dropdown-item:hover {
  background: var(--concrete);
  color: var(--ink);
}

/* Grid productos en catálogo */
.mp-catalog__products,
.page-category .products {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 20px;
  margin-bottom: 2rem;
}

.mp-catalog__products > *,
.page-category .products > * {
  min-width: 0;
}

/* Paginación catálogo — design system */
#js-product-list-bottom {
  margin-top: 0.25rem;
  padding-top: 1.5rem;
  border-top: 1px solid var(--line);
}

.mp-pag.pagination__container {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  justify-content: center;
  gap: 1.25rem 1.5rem;
  width: 100%;
}

.mp-pag__summary {
  margin: 0;
  font-family: 'Inter', sans-serif;
  font-size: 12px;
  font-weight: 600;
  letter-spacing: 0.06em;
  text-transform: uppercase;
  color: #8a8a83;
  line-height: 1.45;
}

.mp-pag__label + .mp-pag__data,
.mp-pag__data + .mp-pag__label {
  margin-left: 0.35em;
}

.mp-pag__data {
  font-family: 'IBM Plex Mono', monospace;
  font-weight: 600;
  color: var(--ink);
  letter-spacing: 0.02em;
}

.mp-pag__nav {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
}

.mp-pag__list {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 6px;
  margin: 0;
  padding: 0;
  list-style: none;
}

.mp-pag__list .page-item {
  margin: 0;
}

.mp-pag__list .page-link {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 6px;
  min-width: 42px;
  min-height: 42px;
  padding: 0 12px;
  font-family: 'Inter', sans-serif;
  font-size: 12px;
  font-weight: 700;
  letter-spacing: 0.05em;
  text-transform: uppercase;
  color: var(--ink);
  background: var(--white);
  border: 1.5px solid var(--ink);
  border-radius: 0;
  box-shadow: none;
  line-height: 1;
  transition: background 0.15s ease, color 0.15s ease;
}

.mp-pag__list .page-link.previous,
.mp-pag__list .page-link.next {
  padding: 0 16px;
  min-width: auto;
}

.mp-pag__list .page-item:not(.mp-pag__spacer) .page-link:not(.previous):not(.next) {
  width: 42px;
  padding: 0;
  font-family: 'IBM Plex Mono', monospace;
  font-size: 13px;
  font-weight: 600;
  letter-spacing: 0;
  text-transform: none;
}

.mp-pag__list .page-item.active .page-link {
  background: var(--ink);
  color: var(--white);
  border-color: var(--ink);
}

.mp-pag__list .page-item.active .page-link:hover,
.mp-pag__list .page-item.active .page-link:focus,
.mp-pag__list .page-item.active .page-link:focus-visible {
  background: var(--ink);
  color: var(--white);
  border-color: var(--ink);
}

.mp-pag__list .page-item:not(.active) .page-link:hover:not(:disabled):not(.disabled):not([aria-disabled='true']) {
  background: var(--concrete);
}

.mp-pag__list .page-link:focus-visible {
  outline: 2px solid var(--lime);
  outline-offset: 2px;
}

.mp-pag__list .page-link:disabled,
.mp-pag__list .page-link.disabled {
  opacity: 0.38;
  cursor: not-allowed;
}

.mp-pag__list .page-item.mp-pag__spacer .page-link {
  min-width: auto;
  width: auto;
  padding: 0 2px;
  border: none;
  background: transparent;
  font-family: 'IBM Plex Mono', monospace;
  font-size: 14px;
  font-weight: 600;
  letter-spacing: 0.12em;
  color: var(--ink);
  pointer-events: none;
}

.mp-pag__arrow {
  font-size: 14px;
  line-height: 1;
  font-weight: 700;
}

@media (min-width: 860px) {
  .mp-pag.pagination__container {
    justify-content: space-between;
  }
}

/* Filtros activos — design system .cat-chip + × */
.mp-active-filters,
.selectedFilters.mp-active-filters {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 10px;
  margin: 0 0 1.25rem;
  clear: both;
  text-align: left;
  line-height: 1.2;
}

.mp-active-filters__list {
  display: contents;
  list-style: none;
  margin: 0;
  padding: 0;
}

.mp-active-filters__label {
  display: contents;
}

.mp-active-filters__title,
.selectedFilters .selected-filters-label.mp-active-filters__title {
  font-family: 'IBM Plex Mono', monospace;
  font-size: 12px;
  font-weight: 600;
  letter-spacing: 0.03em;
  text-transform: uppercase;
  color: var(--ink);
  margin: 0;
  flex: 0 0 auto;
}

.mp-active-filters__tag,
.selectedFilters.mp-active-filters .cf,
.selectedFilters.mp-active-filters.inline .cf,
#amazzing_filter .selectedFilters .cf {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  padding: 10px 12px 10px 16px;
  border: 1.5px solid var(--ink);
  border-radius: 0;
  background: var(--white);
  font-family: 'IBM Plex Mono', monospace;
  font-size: 12px;
  font-weight: 600;
  text-transform: uppercase;
  letter-spacing: 0.03em;
  text-decoration: none;
  color: var(--ink);
  line-height: 1.2;
  position: relative;
  float: none;
  margin: 0;
  transition: background 0.15s ease, color 0.15s ease;
}

.mp-active-filters__tag:hover,
.mp-active-filters__tag:focus-visible,
.selectedFilters.mp-active-filters .cf:hover,
.selectedFilters.mp-active-filters.inline .cf:hover {
  background: var(--ink);
  color: var(--white);
}

.mp-active-filters__facet {
  display: none;
}

.mp-active-filters__value {
  min-width: 0;
}

.mp-active-filters__remove,
.selectedFilters.mp-active-filters .cf a.close,
.selectedFilters.mp-active-filters .cf a.u-times,
.selectedFilters.mp-active-filters.inline .cf a.close,
.selectedFilters.mp-active-filters.inline .cf a.u-times {
  position: static;
  float: none;
  right: auto;
  margin: 0;
  opacity: 1;
  color: inherit;
  font-size: 14px;
  line-height: 1;
  text-decoration: none;
  flex-shrink: 0;
}

.selectedFilters.mp-active-filters .cf a.close:hover,
.selectedFilters.mp-active-filters .cf a.u-times:hover,
.selectedFilters.mp-active-filters.inline .cf a.close:hover,
.selectedFilters.mp-active-filters.inline .cf a.u-times:hover {
  color: inherit;
}

.selectedFilters.mp-active-filters .cf a.close::before,
.selectedFilters.mp-active-filters .cf a.u-times::before,
.selectedFilters.mp-active-filters.inline .cf a.close::before,
.selectedFilters.mp-active-filters.inline .cf a.u-times::before,
.mp-active-filters .u-times::before {
  content: '×';
  font-family: 'IBM Plex Mono', monospace;
  font-size: 14px;
  font-weight: 600;
  line-height: 1;
}

.selectedFilters.mp-active-filters .clearAll,
.selectedFilters.mp-active-filters.inline .clearAll,
.mp-active-filters .clearAll {
  margin-left: auto;
  padding: 0;
  background: none;
  text-align: right;
  line-height: 1;
  float: none;
}

.selectedFilters.mp-active-filters .clearAll a,
.selectedFilters.mp-active-filters .clearAll a.all,
.selectedFilters.mp-active-filters.inline .clearAll a,
.selectedFilters.mp-active-filters.inline .clearAll a.all,
.selectedFilters.mp-active-filters .clearAll .mp-filters__clear-btn,
.selectedFilters.mp-active-filters.inline .clearAll .mp-filters__clear-btn {
  display: inline;
  align-items: center;
  padding: 0;
  border: none;
  border-radius: 0;
  background: none;
  font-family: 'IBM Plex Mono', monospace;
  font-size: 11px;
  font-weight: 600;
  text-transform: uppercase;
  letter-spacing: 0.05em;
  color: var(--lime-dark);
  text-decoration: underline;
  cursor: pointer;
  transition: color 0.15s ease;
}

.selectedFilters.mp-active-filters .clearAll a:hover,
.selectedFilters.mp-active-filters .clearAll a:focus-visible,
.selectedFilters.mp-active-filters.inline .clearAll a:hover,
.selectedFilters.mp-active-filters.inline .clearAll a:focus-visible,
.selectedFilters.mp-active-filters .clearAll .mp-filters__clear-btn:hover,
.selectedFilters.mp-active-filters .clearAll .mp-filters__clear-btn:focus-visible,
.selectedFilters.mp-active-filters.inline .clearAll .mp-filters__clear-btn:hover,
.selectedFilters.mp-active-filters.inline .clearAll .mp-filters__clear-btn:focus-visible {
  background: none;
  color: var(--ink);
}

.selectedFilters.mp-active-filters .clearAll i,
.selectedFilters.mp-active-filters .clearAll .icon-eraser,
.selectedFilters.mp-active-filters.inline .clearAll i,
.selectedFilters.mp-active-filters.inline .clearAll .icon-eraser {
  display: none;
}

.selectedFilters.mp-active-filters .clearAll .txt,
.selectedFilters.mp-active-filters.inline .clearAll .txt {
  font-size: inherit;
  line-height: inherit;
  margin: 0;
  display: inline;
  vertical-align: baseline;
  text-transform: uppercase;
}

/* Sidebar filtros — design system .filters (desktop ≥992 = cabecera completa) */
@media (min-width: 992px) {
  #left-column:has(#amazzing_filter) {
    position: sticky;
    top: var(--scroll-padding-top, var(--mp-sticky-sidebar-top));
    max-height: calc(
      100vh - var(--scroll-padding-top, var(--mp-sticky-sidebar-top)) - var(--mp-sticky-gap) - 16px
    );
    overflow-x: hidden;
    overflow-y: auto;
    overscroll-behavior: contain;
    align-self: flex-start;
    z-index: 1010;
    min-width: 0;
    padding-bottom: 28px;
    scrollbar-gutter: stable;
  }

  .columns-container:has(#amazzing_filter) > .row {
    align-items: flex-start;
  }

  #left-column:has(#amazzing_filter) #amazzing_filter {
    position: relative;
    max-height: none;
    overflow: visible;
  }

  #left-column:has(#amazzing_filter) .mp-filters-wrapper {
    position: static;
    max-height: none;
    overflow: visible;
  }

  #left-column #amazzing_filter .title_block {
    display: none;
  }
}

.mp-filters,
.filters {
  border: 1px solid var(--line);
  padding: 22px;
  background: var(--white);
  max-width: 280px;
  width: 100%;
  display: block;
  gap: 0;
}

.mp-filters.search-filters {
  flex-direction: unset;
}

.mp-filters.ticked {
  position: relative;
}

.mp-filters.ticked::before,
.mp-filters.ticked::after {
  content: '';
  position: absolute;
  width: 10px;
  height: 10px;
  border: 2px solid var(--lime);
  pointer-events: none;
  z-index: 2;
}

.mp-filters.ticked::before {
  top: -1px;
  left: -1px;
  border-right: none;
  border-bottom: none;
}

.mp-filters.ticked::after {
  bottom: -1px;
  right: -1px;
  border-left: none;
  border-top: none;
}

.mp-filters__title {
  font-family: 'IBM Plex Mono', monospace;
  font-size: 12px;
  font-weight: 600;
  text-transform: uppercase;
  letter-spacing: 0.08em;
  margin: 0 0 14px;
  display: flex;
  justify-content: space-between;
  align-items: center;
}

.mp-filters__title::after {
  content: '—';
  color: var(--lime-dark);
}

.mp-filters__clear {
  margin-bottom: 12px;
}

.mp-filters__clear-btn {
  font-family: 'IBM Plex Mono', monospace;
  font-size: 11px;
  font-weight: 600;
  letter-spacing: 0.05em;
  text-transform: uppercase;
  padding: 0;
  border: none;
  background: none;
  color: var(--lime-dark);
  text-decoration: underline;
  cursor: pointer;
}

.mp-filters__clear-btn:hover,
.mp-filters__clear-btn:focus-visible {
  color: var(--ink);
}

.mp-filters__groups.accordion {
  --bs-accordion-border-width: 0;
  --bs-accordion-border-radius: 0;
  --bs-accordion-inner-border-radius: 0;
  --bs-accordion-btn-padding-x: 0;
  --bs-accordion-btn-padding-y: 0;
  --bs-accordion-body-padding-x: 0;
  --bs-accordion-body-padding-y: 0;
  --bs-accordion-active-color: var(--ink);
  --bs-accordion-active-bg: transparent;
  --bs-accordion-btn-focus-box-shadow: none;
}

.mp-filters__group {
  border: none;
  background: none;
}

.mp-filters__heading-wrap {
  font-family: 'IBM Plex Mono', monospace;
  font-size: 12px;
  font-weight: 600;
  text-transform: uppercase;
  letter-spacing: 0.08em;
  margin: 0 0 14px;
  padding: 0;
  border: none;
  background: none;
}

.mp-filters__heading-wrap:has(.mp-filters__heading.collapsed) {
  margin-bottom: 0;
}

.mp-filters__heading {
  font-family: inherit;
  font-size: inherit;
  font-weight: inherit;
  text-transform: inherit;
  letter-spacing: inherit;
  margin: 0;
  padding: 0;
  display: flex;
  justify-content: space-between;
  align-items: center;
  width: 100%;
  border: none;
  background: none;
  box-shadow: none;
  color: var(--ink);
}

.mp-filters__heading:not(.collapsed) {
  color: var(--ink);
  background: none;
  box-shadow: none;
}

.mp-filters__heading::after {
  content: '—';
  color: var(--lime-dark);
  background-image: none;
  width: auto;
  height: auto;
  margin: 0;
  transform: none;
  flex-shrink: 0;
}

.mp-filters__heading:focus,
.mp-filters__heading:focus-visible {
  box-shadow: none;
  outline: 2px solid var(--lime-dark);
  outline-offset: 2px;
}

.f-divider {
  height: 1px;
  background: var(--line);
  margin: 16px 0;
}

.mp-filters__options {
  list-style: none;
  margin: 0;
  padding: 0;
}

.mp-filters__option {
  margin: 0;
}

.mp-filters__label,
.f-option {
  display: flex;
  align-items: center;
  gap: 10px;
  width: 100%;
  padding: 7px 0;
  font-size: 13px;
  cursor: pointer;
}

.mp-filters__link {
  flex: 1;
  color: var(--ink);
  text-decoration: none;
}

.mp-filters__link:hover {
  color: var(--lime-dark);
}

.f-check {
  width: 16px;
  height: 16px;
  border: 1.5px solid var(--ink);
  flex-shrink: 0;
  display: inline-block;
}

.f-check.on {
  background: var(--lime);
}

.f-count {
  margin-left: auto;
  font-family: 'IBM Plex Mono', monospace;
  font-size: 11px;
  color: #a8a8a1;
}

.mp-filters .form-check {
  position: relative;
  padding: 0;
  margin: 0;
  min-height: 0;
}

.mp-filters .search-filters__form-check {
  display: flex;
  align-items: center;
  width: 100%;
}

.mp-filters .form-check-input {
  position: absolute;
  width: 1px;
  height: 1px;
  padding: 0;
  margin: -1px;
  overflow: hidden;
  clip: rect(0, 0, 0, 0);
  white-space: nowrap;
  border: 0;
}

.mp-filters .search-filters__color-label {
  display: flex;
  align-items: center;
  gap: 10px;
  width: 100%;
}

.mp-filters__slider {
  padding-bottom: 12px;
}

.mp-filters .search-filters__slider,
.mp-filters .noUi-target {
  border: none;
  box-shadow: none;
  background: var(--line);
  height: 3px;
  border-radius: 0;
  margin: 18px 4px 8px;
}

.mp-filters .noUi-horizontal {
  height: 3px;
}

.mp-filters .noUi-connect {
  background: var(--lime);
}

.mp-filters .noUi-connects {
  border-radius: 0;
}

.mp-filters .noUi-horizontal .noUi-handle {
  width: 14px;
  height: 14px;
  border-radius: 50%;
  background: var(--ink);
  border: none;
  box-shadow: none;
  top: -5.5px;
  right: -7px;
}

.mp-filters .noUi-handle::before,
.mp-filters .noUi-handle::after {
  display: none;
}

.mp-filters .search-filters__slider-values {
  font-family: 'IBM Plex Mono', monospace;
  font-size: 11px;
  color: #a8a8a1;
}

.mp-filters-offcanvas .mp-filters {
  border: none;
  padding: 0;
  max-width: none;
}

.mp-filters-offcanvas .mp-filters.ticked::before,
.mp-filters-offcanvas .mp-filters.ticked::after {
  display: none;
}

/* --- Amazzing Filter — design system .filters (sección 09) --- */
#amazzing_filter.mp-af {
  box-sizing: border-box;
  border: 1px solid var(--line);
  padding: 22px;
  background: var(--white);
  max-width: 280px;
  width: 100%;
  position: relative;
  overflow: visible;
}

#amazzing_filter.mp-af.ticked::before,
#amazzing_filter.mp-af.ticked::after {
  content: '';
  position: absolute;
  width: 10px;
  height: 10px;
  border: 2px solid var(--lime);
  pointer-events: none;
  z-index: 2;
}

#amazzing_filter.mp-af.ticked::before {
  top: -1px;
  left: -1px;
  border-right: none;
  border-bottom: none;
}

#amazzing_filter.mp-af.ticked::after {
  bottom: -1px;
  right: -1px;
  border-left: none;
  border-top: none;
}

#amazzing_filter.mp-af .block_content,
#amazzing_filter.mp-af .af-form {
  padding: 0;
  margin: 0;
  overflow-x: hidden;
  max-width: 100%;
}

#amazzing_filter.mp-af .af-form {
  padding-bottom: 6px;
}

#amazzing_filter.mp-af .block_content > .btn-holder,
#amazzing_filter.mp-af .block_content > .text-center:last-child {
  margin-bottom: 4px;
}

#amazzing_filter.mp-af .af_filter,
#amazzing_filter.mp-af .mp-af__group,
#amazzing_filter.mp-af .af_filter_content,
#amazzing_filter.mp-af .mp-af__slider {
  max-width: 100%;
  overflow-x: hidden;
}

#amazzing_filter.mp-af .block_content {
  padding: 0;
}

@media (min-width: 992px) {
  #amazzing_filter.mp-af .title_block.mp-filters__title {
    display: none;
  }
}

#amazzing_filter.mp-af .title_block.mp-filters__title {
  font-family: 'IBM Plex Mono', monospace;
  font-size: 12px;
  font-weight: 600;
  text-transform: uppercase;
  letter-spacing: 0.08em;
  margin: 0 0 14px;
  padding: 0;
  background: none;
  display: flex;
  justify-content: space-between;
  align-items: center;
}

#amazzing_filter.mp-af .title_block.mp-filters__title::after {
  content: '—';
  color: var(--lime-dark);
}

#amazzing_filter.mp-af .af_filter,
#amazzing_filter.mp-af .mp-af__group {
  margin: 0;
  padding: 0;
  border: none;
}

#amazzing_filter.mp-af .f-divider {
  height: 1px;
  background: var(--line);
  margin: 16px 0;
}

/* Título de grupo = h4 del design system */
#amazzing_filter.mp-af .af_subtitle,
#amazzing_filter.mp-af .mp-af__heading {
  font-family: 'IBM Plex Mono', monospace;
  font-size: 12px;
  font-weight: 600;
  text-transform: uppercase;
  letter-spacing: 0.08em;
  margin: 0 0 14px;
  padding: 0;
  color: var(--ink);
  cursor: pointer;
  display: flex;
  justify-content: space-between;
  align-items: center;
  gap: 8px;
}

#amazzing_filter.mp-af .af_subtitle.toggle-content::before {
  display: none;
}

#amazzing_filter.mp-af .af_subtitle.toggle-content::after,
#amazzing_filter.mp-af .mp-af__heading::after {
  content: '—';
  color: var(--lime-dark);
  flex-shrink: 0;
  margin: 0;
  border: none;
  width: auto;
  height: auto;
  transform: none;
  position: static;
}

#amazzing_filter.mp-af .closed .af_subtitle.toggle-content::after {
  content: '—';
}

#amazzing_filter.mp-af .af_filter ul,
#amazzing_filter.mp-af .mp-af__options {
  list-style: none;
  margin: 0;
  padding: 0;
  max-height: none;
  overflow-x: hidden;
  overflow-y: visible;
}

#amazzing_filter.mp-af .mp-af__option,
#amazzing_filter.mp-af .af_filter li {
  margin: 0;
  padding: 0;
  overflow: hidden;
}

#amazzing_filter.mp-af label.f-option,
#amazzing_filter.mp-af .af_filter label {
  display: flex;
  align-items: flex-start;
  gap: 10px;
  width: 100%;
  max-width: 100%;
  padding: 7px 0;
  font-size: 13px;
  font-family: 'Inter', sans-serif;
  font-weight: 400;
  line-height: 1.35;
  color: var(--ink);
  cursor: pointer;
}

#amazzing_filter.mp-af label.f-option:hover .name,
#amazzing_filter.mp-af .af_filter label:hover .name {
  color: var(--lime-dark);
}

#amazzing_filter.mp-af .name {
  flex: 1 1 auto;
  min-width: 0;
  padding-left: 0;
  overflow-wrap: anywhere;
  word-break: break-word;
}

#amazzing_filter.mp-af .af.checkbox,
#amazzing_filter.mp-af .af.radio {
  appearance: none;
  -webkit-appearance: none;
  width: 16px;
  height: 16px;
  min-width: 16px;
  min-height: 16px;
  margin: 2px 0 0;
  flex-shrink: 0;
  border: 1.5px solid var(--ink);
  border-radius: 0;
  background: var(--white);
  cursor: pointer;
}

#amazzing_filter.mp-af .af.checkbox:checked,
#amazzing_filter.mp-af .af.radio:checked,
#amazzing_filter.mp-af li.active .af.checkbox,
#amazzing_filter.mp-af li.active .af.radio {
  background: var(--lime);
}

#amazzing_filter.mp-af .count,
#amazzing_filter.mp-af .f-count {
  flex-shrink: 0;
  margin-left: auto;
  padding-left: 8px;
  font-family: 'IBM Plex Mono', monospace;
  font-size: 11px;
  font-weight: 600;
  color: #a8a8a1;
}

#amazzing_filter.mp-af .count::before,
#amazzing_filter.mp-af .count::after {
  content: none;
  display: none;
}

#amazzing_filter.mp-af .mp-af__select,
#amazzing_filter.mp-af .af-select {
  width: 100%;
  max-width: 100%;
  padding: 10px 12px;
  border: 1.5px solid var(--ink);
  border-radius: 0;
  background: var(--white);
  font-family: 'IBM Plex Mono', monospace;
  font-size: 12px;
  text-transform: uppercase;
}

/* Slider precio — .f-range del design system */
#amazzing_filter.mp-af .af-slider {
  margin-bottom: 0;
  overflow: hidden;
}

#amazzing_filter.mp-af .af-slider .slider-bar,
#amazzing_filter.mp-af .mp-af__slider .slider-bar.f-range {
  position: relative;
  height: 3px;
  background: var(--line);
  border: none;
  border-radius: 0;
  margin: 18px 4px 8px;
  clear: both;
  overflow: visible;
}

#amazzing_filter.mp-af .af-slider .selected-bar {
  background: var(--lime);
  height: 100%;
  border-radius: 0;
}

#amazzing_filter.mp-af .af-slider .pointer {
  width: 14px;
  height: 14px;
  top: -5.5px;
  margin-left: -7px;
  border: none;
  border-radius: 50%;
  background: var(--ink);
  box-shadow: none;
}

#amazzing_filter.mp-af .af-slider .pointer::before {
  top: -10px;
  right: -10px;
}

#amazzing_filter.mp-af .mp-af__slider-values,
#amazzing_filter.mp-af .slider-values {
  display: flex;
  justify-content: space-between;
  gap: 8px;
  font-family: 'IBM Plex Mono', monospace;
  font-size: 11px;
  color: #a8a8a1;
  overflow: hidden;
}

#amazzing_filter.mp-af .af-slider .slider_value {
  float: none;
  margin: 0;
  border: none;
  padding: 0;
  max-width: 48%;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}

#amazzing_filter.mp-af .af-slider .slider_value.to_display {
  float: none;
  text-align: right;
}

#amazzing_filter.mp-af .mp-filters__clear-btn,
#amazzing_filter.mp-af .clearAll a {
  font-family: 'IBM Plex Mono', monospace;
  font-size: 11px;
  font-weight: 600;
  letter-spacing: 0.05em;
  text-transform: uppercase;
  color: var(--lime-dark);
  text-decoration: underline;
  background: none;
  padding: 0;
}

#amazzing_filter.mp-af .clearAll {
  background: none;
  padding: 0;
  text-align: left;
}

#amazzing_filter.mp-af .selectedFilters {
  margin: 0 0 12px;
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 10px;
}

#amazzing_filter.mp-af .af-color-box {
  width: 16px;
  height: 16px;
  min-width: 16px;
  border-radius: 0;
  border: 1.5px solid var(--ink);
  box-shadow: none;
}

#amazzing_filter.mp-af li.active .af-color-box {
  width: 16px;
  height: 16px;
  margin: 0;
  background-color: var(--lime);
}

#amazzing_filter.mp-af li.active .af-color-box::after {
  display: none;
}

#amazzing_filter.mp-af .qsInput {
  width: 100%;
  max-width: 100%;
  box-sizing: border-box;
  border: 1.5px solid var(--ink);
  border-radius: 0;
  background: var(--white);
  padding: 8px 10px;
  font-family: 'Inter', sans-serif;
  font-size: 13px;
}

#amazzing_filter.mp-af .qsInput:focus {
  outline: 2px solid var(--lime-dark);
  outline-offset: -2px;
  border-color: var(--ink);
}

#amazzing_filter.mp-af .toggleMoreFilters,
#amazzing_filter.mp-af .mp-af__more-btn {
  font-family: 'IBM Plex Mono', monospace;
  font-size: 11px;
  font-weight: 600;
  letter-spacing: 0.05em;
  text-transform: uppercase;
  border: 1.5px solid var(--ink);
  border-radius: 0;
  background: var(--white);
  color: var(--ink);
  margin-top: 12px;
  width: 100%;
  max-width: 100%;
}

#amazzing_filter.mp-af .viewFilteredProducts,
#amazzing_filter.mp-af .mp-af__apply {
  font-family: 'Inter', sans-serif;
  font-weight: 700;
  font-size: 14px;
  text-transform: uppercase;
  border: 2px solid var(--ink);
  border-radius: 0;
  background: var(--lime);
  color: var(--ink);
}

#amazzing_filter.mp-af .af-quick-search::before,
#amazzing_filter.mp-af .af-quick-search::after {
  display: none;
}

#amazzing_filter.mp-af .toggle-cut-off {
  position: static;
  display: block;
  margin-top: 4px;
  font-family: 'IBM Plex Mono', monospace;
  font-size: 11px;
  text-transform: uppercase;
  color: var(--lime-dark);
  text-align: left;
}

#amazzing_filter.mp-af .af-parent-category > ul,
#amazzing_filter.mp-af .child-categories {
  margin: 0 0 0 12px;
  padding: 0;
  max-width: 100%;
  display: block !important;
}

/* Quitar +/- azul del módulo en categorías con hijos */
#amazzing_filter.mp-af .af-toggle-child,
#amazzing_filter.mp-af .af-toggle-child::before,
#amazzing_filter.mp-af .af-toggle-child::after {
  display: none !important;
  content: none !important;
}

#amazzing_filter.mp-af.hide-counters .count {
  display: none;
}

.has-compact-filter #amazzing_filter.mp-af {
  max-width: none;
  padding: 0;
  border: none;
}

.has-compact-filter #amazzing_filter.mp-af .title_block.mp-filters__title {
  display: flex;
  font-family: 'IBM Plex Mono', monospace;
  text-transform: uppercase;
  background: var(--ink);
  color: var(--white);
  padding: 1rem 1.25rem;
  margin: 0;
}

.has-compact-filter #amazzing_filter.mp-af .title_block.mp-filters__title::after {
  display: none;
}

.has-compact-filter #amazzing_filter.mp-af.ticked::before,
.has-compact-filter #amazzing_filter.mp-af.ticked::after {
  display: none;
}

.has-compact-filter .af.block .block_content {
  padding: 0 1.25rem 150px;
}

.has-compact-filter.show-filter #amazzing_filter.mp-af {
  box-shadow: -4px 0 24px rgba(16, 16, 16, 0.15);
}

#left-column:has(#amazzing_filter) {
  min-width: 0;
  overflow-x: hidden;
  padding-top: 2px;
  padding-left: 2px;
  padding-bottom: 16px;
  box-sizing: border-box;
}

#left-column:has(#amazzing_filter) .mp-filters-wrapper {
  max-width: 100%;
  overflow: visible;
}

#left-column .ps-categorytree,
#left-column .block-categories {
  display: none !important;
}

/* --- Subcategorías legacy Hummingbird --- */
@layer overrides {
  .category__header,
  .subcategory {
    overflow: visible;
  }

  .subcategory__list {
    overflow-x: visible;
    flex-wrap: wrap;
  }

  .subcategory__list--with-images {
    grid-template-columns: repeat(auto-fill, minmax(200px, 1fr));
    overflow-x: visible;
  }

  #subcategories ul {
    display: flex;
    flex-wrap: wrap;
    overflow: visible;
  }

  #subcategories ul li {
    width: calc(25% - 20px);
    min-width: 160px;
    max-width: 100%;
    flex: 0 1 calc(25% - 20px);
  }
}

/* --- Responsive --- */
@media (max-width: 1100px) {
  .page-content--home .module-products__list .products,
  .page-content.page-home .module-products__list .products {
    grid-template-columns: repeat(4, minmax(0, 1fr));
  }

  .mp-value-cards__grid {
    grid-template-columns: repeat(2, 1fr);
  }
}

@media (max-width: 860px) {
  .mp-home-hero {
    min-height: 0;
    align-items: flex-start;
  }

  .mp-home-hero::after {
    right: 0.75rem;
    bottom: 0.75rem;
    width: 20px;
    height: 20px;
  }

  .mp-home-hero__img {
    object-position: 78% 42%;
  }

  .mp-home-hero__shade {
    background:
      linear-gradient(
        to top,
        rgba(16, 16, 16, 0.96) 0%,
        rgba(16, 16, 16, 0.82) 38%,
        rgba(16, 16, 16, 0.4) 68%,
        rgba(16, 16, 16, 0.22) 100%
      );
  }

  .mp-home-hero__inner {
    padding-top: 1.15rem;
    padding-bottom: 1.25rem;
    gap: 1.25rem;
  }

  .mp-home-title {
    max-width: none;
  }

  .mp-home-hero__cta .btn {
    flex: 1 1 auto;
    justify-content: center;
    text-align: center;
  }

  .mp-home-hero .mp-value-cards__grid {
    grid-template-columns: repeat(2, 1fr);
    gap: 0.75rem;
  }

  .mp-home-hero .mp-value-card {
    padding: 1rem 0.95rem 1.1rem;
    gap: 0.55rem;
  }

  .mp-home-hero .mp-value-card__title {
    font-size: 1rem;
  }

  .mp-home-hero .mp-value-card__text {
    font-size: 0.8rem;
    line-height: 1.45;
  }

  .trust-bar__inner {
    grid-template-columns: repeat(2, 1fr);
  }

  .trust-item:nth-child(2) {
    border-right: none;
  }

  .trust-item:nth-child(1),
  .trust-item:nth-child(2) {
    border-bottom: 1px solid var(--line);
  }

  .page-content--home .module-products__list .products,
  .page-content.page-home .module-products__list .products {
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 16px;
  }

  .mp-home-carousel__splide:not(.is-initialized) .splide__list {
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 1rem;
  }

  .mp-section-head__nav .splide__arrow {
    width: 38px;
    height: 38px;
  }

  .news-inner {
    grid-template-columns: 1fr;
    gap: 1.25rem;
  }

  .news-form-row {
    flex-direction: row;
    max-width: none;
  }

  .news-input {
    flex: 1 1 auto;
  }

  .news-submit,
  .mp-news .news-form-row .news-submit {
    flex: 0 0 auto;
    min-width: 118px;
    padding: 14px 14px;
    font-size: 14px;
  }

  .mp-seo {
    padding: 2rem 0 3rem;
  }

  .mp-seo__grid {
    grid-template-columns: 1fr;
  }

  .mp-seo__closing {
    padding: 1.75rem 1.25rem;
  }

  .mp-catalog__products,
  .page-category .products {
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 16px;
  }

  .mp-subcat__grid {
    grid-template-columns: repeat(auto-fill, minmax(130px, 1fr));
    gap: 12px;
  }

  .mp-catalog__toolbar {
    flex-direction: column;
    align-items: flex-start;
  }

  .mp-product__qty-row {
    flex-direction: column;
    align-items: stretch;
  }

  .mp-product__add-btn {
    width: 100%;
  }

  .mp-stock-alert__form {
    flex-direction: row;
    max-width: none;
  }

  .mp-stock-alert__input {
    flex: 1 1 auto;
  }

  .mp-stock-alert__submit:not(.mp-btn-brutal),
  .mp-product .mp-stock-alert .mp-stock-alert__submit {
    flex: 0 0 auto;
    width: auto;
    min-width: 108px;
    padding: 14px 14px;
    font-size: 14px;
  }

  .mp-product__accessories .products {
    grid-template-columns: 1fr;
  }

  @layer overrides {
    #subcategories ul li {
      width: calc(50% - 20px);
      flex: 0 1 calc(50% - 20px);
    }

    .subcategory__list--with-images {
      grid-template-columns: repeat(auto-fill, minmax(140px, 1fr));
    }
  }
}

@media (max-width: 520px) {
  .mp-value-cards:not(.mp-value-cards--in-hero) {
    padding: 1.5rem 0 1.75rem;
  }

  .mp-value-cards:not(.mp-value-cards--in-hero) .mp-value-cards__grid {
    grid-template-columns: 1fr;
  }

  .mp-home-hero .mp-value-cards__grid {
    grid-template-columns: 1fr 1fr;
  }

  .trust-bar__inner {
    grid-template-columns: 1fr;
  }

  .trust-item {
    border-right: none;
    border-bottom: 1px solid var(--line);
  }

  .trust-item:last-child {
    border-bottom: none;
  }

  .page-content--home .module-products__list .products,
  .page-content.page-home .module-products__list .products {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .mp-home-carousel__splide:not(.is-initialized) .splide__list {
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 12px;
  }

  .mp-section-head--carousel {
    align-items: center;
  }

  .mp-section-head__nav .splide__arrow {
    width: 34px;
    height: 34px;
  }

  .mp-catalog__products,
  .page-category .products {
    grid-template-columns: 1fr;
  }

  .mp-product__hero {
    grid-template-columns: 1fr;
  }

  .mp-product__gallery {
    position: static;
  }

  .mp-product__bottom {
    grid-template-columns: 1fr;
  }

  .mp-product__trust {
    position: static;
  }

  .mp-product__delivery {
    flex-direction: column;
    align-items: flex-start;
  }

  .mp-product-share {
    align-items: flex-start;
  }

  .mp-product__accessories .products {
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 16px;
  }
}

/* --- Notificaciones de página (alertas PS) --- */
.mp-notifications:not(:has(.mp-alert)) {
  display: none;
}

.mp-notifications {
  padding: 0 0 16px;
}

.mp-notifications .container-md {
  display: flex;
  flex-direction: column;
  gap: 10px;
}

.mp-alert {
  --mp-alert-accent: var(--ink);
  display: grid;
  grid-template-columns: 4px 44px minmax(0, 1fr) auto;
  align-items: stretch;
  gap: 0;
  margin: 0;
  padding: 0;
  border: 1.5px solid var(--ink);
  border-radius: 0;
  background: var(--white) !important;
  color: var(--ink) !important;
  box-shadow: 0 8px 24px rgba(16, 16, 16, 0.06);
}

.mp-alert.alert-success,
.mp-alert.alert-danger,
.mp-alert.alert-warning,
.mp-alert.alert-info {
  background: var(--white) !important;
  color: var(--ink) !important;
  border-color: var(--ink);
}

.mp-alert__bar {
  grid-row: 1 / 2;
  background: var(--mp-alert-accent);
}

.mp-alert__icon {
  display: flex;
  align-items: center;
  justify-content: center;
  align-self: center;
  width: 44px;
  color: var(--mp-alert-accent);
}

.mp-alert__content {
  min-width: 0;
  padding: 14px 12px 14px 0;
}

.mp-alert__kicker {
  margin: 0 0 5px;
  font-family: 'IBM Plex Mono', monospace;
  font-size: 10px;
  font-weight: 600;
  line-height: 1.2;
  letter-spacing: 0.14em;
  text-transform: uppercase;
  color: var(--lime-dark);
}

.mp-alert__message,
.mp-alert__message p {
  margin: 0;
  font-family: 'Inter', sans-serif;
  font-size: 14px;
  font-weight: 600;
  line-height: 1.45;
  color: var(--ink);
}

.mp-alert__list {
  margin: 0;
  padding-left: 1.1rem;
}

.mp-alert__list li + li {
  margin-top: 4px;
}

.mp-alert__close {
  display: flex;
  align-items: center;
  justify-content: center;
  align-self: start;
  width: 44px;
  height: 44px;
  margin: 0;
  padding: 0;
  border: 0;
  background: transparent;
  color: var(--ink);
  opacity: 0.55;
  cursor: pointer;
  transition: opacity 0.2s ease, background 0.2s ease;
}

.mp-alert__close:hover,
.mp-alert__close:focus-visible {
  opacity: 1;
  background: var(--concrete);
  outline: none;
}

.mp-alert--success {
  --mp-alert-accent: var(--lime);
}

.mp-alert--danger {
  --mp-alert-accent: var(--error);
}

.mp-alert--danger .mp-alert__kicker {
  color: var(--error);
}

.mp-alert--warning {
  --mp-alert-accent: var(--badge-bestseller);
}

.mp-alert--info {
  --mp-alert-accent: var(--lime-dark);
}

.page-product .mp-notifications {
  padding-top: 8px;
}

@media (max-width: 860px) {
  .mp-alert {
    grid-template-columns: 4px minmax(0, 1fr) auto;
  }

  .mp-alert__icon {
    display: none;
  }

  .mp-alert__content {
    padding-left: 14px;
  }
}

/* --- Toast confirmación carrito --- */
#js-toast-container.toast-container {
  padding: 0 !important;
}

#js-toast-container > .toast:not(.mp-toast) {
  opacity: 0 !important;
  pointer-events: none;
}

.mp-toast-container {
  top: 20px;
  right: 20px;
  bottom: auto;
  left: auto;
  z-index: 1090;
  display: flex;
  flex-direction: column;
  align-items: flex-end;
  gap: 10px;
  width: min(calc(100vw - 40px), 360px);
  pointer-events: none;
}

.mp-toast {
  --mp-toast-accent: var(--lime);
  position: relative;
  display: grid;
  grid-template-columns: 4px 1fr;
  grid-template-rows: 1fr auto;
  width: 100%;
  padding: 0;
  margin: 0;
  overflow: hidden;
  border: 1.5px solid var(--ink);
  border-radius: 0;
  background: var(--white) !important;
  color: var(--ink) !important;
  box-shadow: 0 16px 48px rgba(16, 16, 16, 0.12);
  opacity: 0;
  transform: translateX(20px);
  transition:
    opacity 0.3s ease,
    transform 0.34s cubic-bezier(0.22, 1, 0.36, 1);
  pointer-events: auto;
}

.mp-toast.text-bg-success,
.mp-toast.text-bg-danger,
.mp-toast.text-bg-warning,
.mp-toast.text-bg-info,
.mp-toast.bg-success-subtle,
.mp-toast.bg-danger-subtle {
  background: var(--white) !important;
  color: var(--ink) !important;
}

.mp-toast.show,
.mp-toast.mp-toast--visible {
  opacity: 1;
  transform: translateX(0);
}

.mp-toast__bar {
  grid-row: 1 / 3;
  background: var(--mp-toast-accent);
}

.mp-toast__content {
  min-width: 0;
  padding: 14px 16px 12px 14px;
}

.mp-toast__kicker {
  margin: 0 0 5px;
  font-family: 'IBM Plex Mono', monospace;
  font-size: 10px;
  font-weight: 600;
  line-height: 1.2;
  letter-spacing: 0.14em;
  text-transform: uppercase;
  color: var(--lime-dark);
}

.mp-toast__title {
  margin: 0;
  font-family: 'Inter', sans-serif;
  font-size: 14px;
  font-weight: 600;
  line-height: 1.4;
  letter-spacing: -0.01em;
  color: var(--ink);
  display: -webkit-box;
  -webkit-line-clamp: 2;
  -webkit-box-orient: vertical;
  overflow: hidden;
  text-wrap: balance;
}

.mp-toast__timer {
  grid-column: 2;
  display: block;
  height: 2px;
  background: var(--line);
  position: relative;
  overflow: hidden;
}

.mp-toast__timer::after {
  content: '';
  position: absolute;
  inset: 0 auto 0 0;
  width: 100%;
  background: var(--mp-toast-accent);
  transform-origin: left center;
  animation: mp-toast-timer 4.5s linear forwards;
}

.mp-toast--success {
  --mp-toast-accent: var(--lime);
}

.mp-toast--danger {
  --mp-toast-accent: var(--error);
}

.mp-toast--danger .mp-toast__kicker {
  color: var(--error);
}

.mp-toast--warning {
  --mp-toast-accent: var(--badge-bestseller);
}

.mp-toast--info {
  --mp-toast-accent: var(--ink);
}

@keyframes mp-toast-timer {
  from {
    transform: scaleX(1);
  }

  to {
    transform: scaleX(0);
  }
}

@media (max-width: 860px) {
  .mp-toast-container {
    top: 12px;
    right: 12px;
    left: 12px;
    width: auto;
    align-items: stretch;
  }
}

@media (prefers-reduced-motion: reduce) {
  .mp-toast {
    transition: opacity 0.2s ease;
    transform: none;
  }

  .mp-toast__timer::after {
    animation: none;
    transform: scaleX(0);
  }
}

/* --- Página contacto /contacto --- */
.page-contact .mp-page-title,
.page-contact .page-title-section {
  margin-bottom: 1.5rem;
}

/* Ancho completo del contenido aunque el BO use layout con columnas laterales */
.page-contact .columns-container .row > #center-column {
  flex: 0 0 100%;
  width: 100%;
  max-width: 100%;
}

.mp-contact-layout {
  display: grid;
  gap: 2rem;
  align-items: start;
}

@media (min-width: 861px) {
  .mp-contact-layout {
    grid-template-columns: minmax(280px, 0.95fr) minmax(0, 1.05fr);
    gap: clamp(1.5rem, 3vw, 2.5rem);
  }
}

.mp-contact-sidebar .mp-contact {
  margin-bottom: 0;
}

.mp-contact {
  margin-bottom: 2rem;
}

.mp-contact__subtitle,
.mp-contact-form__heading {
  font-family: 'Anton', sans-serif;
  font-weight: 400;
  font-size: clamp(1.35rem, 2.5vw, 1.75rem);
  line-height: 1.05;
  letter-spacing: 0.01em;
  text-transform: uppercase;
  color: var(--ink);
  margin: 0 0 0.85rem;
}

.mp-contact__lead {
  margin: 0 0 1.5rem;
  font-family: 'Inter', sans-serif;
  font-size: 15px;
  line-height: 1.65;
  color: #3d3d3a;
}

.mp-contact__options-title {
  font-family: 'IBM Plex Mono', monospace;
  font-size: 11px;
  font-weight: 600;
  letter-spacing: 0.12em;
  text-transform: uppercase;
  color: var(--lime-dark);
  margin: 0 0 1rem;
}

.mp-contact__list {
  margin: 0;
  padding: 0;
  list-style: none;
  border: 1.5px solid var(--ink);
  background: var(--white);
}

.mp-contact__item {
  display: grid;
  grid-template-columns: 52px minmax(0, 1fr);
  gap: 14px;
  align-items: start;
  padding: 18px 16px;
  border-top: 1px solid var(--line);
}

.mp-contact__item:first-child {
  border-top: none;
}

.mp-contact__icon {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 44px;
  height: 44px;
  border: 1.5px solid var(--ink);
  background: var(--concrete);
  color: var(--ink);
}

.mp-contact__content {
  display: flex;
  flex-direction: column;
  gap: 6px;
  min-width: 0;
}

.mp-contact__title {
  margin: 0;
  font-family: 'Inter', sans-serif;
  font-size: 15px;
  font-weight: 700;
  line-height: 1.35;
  color: var(--ink);
}

.mp-contact__detail {
  margin: 0;
  font-family: 'Inter', sans-serif;
  font-size: 14px;
  line-height: 1.5;
  color: #3d3d3a;
}

.mp-contact__link {
  font-family: 'IBM Plex Mono', monospace;
  font-weight: 600;
  color: var(--ink);
  text-decoration: underline;
  text-decoration-color: var(--lime);
  text-underline-offset: 3px;
}

.mp-contact__link:hover,
.mp-contact__link:focus-visible {
  color: var(--lime-dark);
}

.mp-contact__note {
  margin: 2px 0 0;
}

.mp-contact__note .tag.lime {
  font-size: 10px;
  padding: 5px 10px 5px 8px;
}

.mp-contact-form__heading {
  margin-bottom: 1.25rem;
  padding-bottom: 0.75rem;
  border-bottom: 2px solid var(--ink);
}

.mp-contact-form__widget {
  border: 1.5px solid var(--ink);
  background: var(--white);
  padding: 1.25rem 1.25rem 1.5rem;
}

.mp-contact-form__form {
  display: flex;
  flex-direction: column;
  gap: 1rem;
}

.mp-contact-form__field {
  display: flex;
  flex-direction: column;
  gap: 0.4rem;
}

.mp-contact-form__textarea {
  min-height: 160px;
}

.mp-contact-form__actions {
  margin-top: 0.25rem;
}

.mp-contact-form__submit {
  min-width: 220px;
}

.mp-contact-form__field--gdpr {
  margin-top: 0.15rem;
}

.mp-contact-form__field--gdpr .form-check,
.mp-contact-form__field--gdpr label {
  font-family: 'Inter', sans-serif;
  font-size: 13px;
  line-height: 1.45;
  color: #3d3d3a;
}

@media (max-width: 860px) {
  .mp-contact-form__widget {
    padding: 1rem;
  }

  .mp-contact__item {
    grid-template-columns: 44px minmax(0, 1fr);
    padding: 16px 14px;
  }
}

/* --- Carrito --- */
.page-cart #wrapper .container,
.page-cart #wrapper .container-md {
  max-width: var(--mp-wrap);
}

.mp-cart {
  padding: 0 0 2.5rem;
}

.mp-cart .mp-page-title,
.mp-cart .page-title-section {
  margin-bottom: 1.5rem;
}

.mp-cart__summary-title {
  font-family: 'Anton', sans-serif;
  font-weight: 400;
  font-size: clamp(1.35rem, 2.5vw, 1.75rem);
  text-transform: uppercase;
  letter-spacing: 0.01em;
  margin: 0 0 1.25rem;
  padding-bottom: 0.75rem;
  border-bottom: 1px solid var(--ink);
}

.mp-cart__aside {
  position: sticky;
  top: var(--mp-sticky-sidebar-top);
}

.mp-cart__summary {
  border: 1px solid var(--ink);
  background: var(--white);
}

.mp-cart__list {
  display: flex;
  flex-direction: column;
  gap: 12px;
}

.mp-cart__item {
  border: 1px solid var(--line);
  background: var(--white);
}

.mp-cart-line {
  display: grid;
  grid-template-columns: 110px minmax(0, 1fr);
  gap: 16px 20px;
  padding: 18px;
}

.mp-cart-line__image-link {
  display: block;
  border: 1px solid var(--line);
  background: var(--concrete);
  overflow: hidden;
}

.mp-cart-line__img {
  width: 100%;
  height: auto;
  display: block;
  object-fit: cover;
  aspect-ratio: 1 / 1;
}

.mp-cart-line__content {
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  grid-template-areas:
    'main aside'
    'actions actions';
  gap: 12px 20px;
  align-items: start;
}

.mp-cart-line__main {
  grid-area: main;
  min-width: 0;
}

.mp-cart-line__aside {
  grid-area: aside;
  display: flex;
  flex-direction: column;
  align-items: flex-end;
  gap: 10px;
}

.mp-cart-line__actions {
  grid-area: actions;
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 12px;
  padding-top: 4px;
  border-top: 1px solid var(--line);
}

.mp-cart-line__title {
  display: block;
  font-weight: 700;
  font-size: 16px;
  line-height: 1.35;
  color: var(--ink);
  text-decoration: none;
  margin-bottom: 8px;
}

.mp-cart-line__title:hover,
.mp-cart-line__title:focus-visible {
  color: var(--lime-dark);
}

.mp-cart-line__attr {
  font-family: 'IBM Plex Mono', monospace;
  font-size: 12px;
  color: #5f5f58;
  margin-bottom: 4px;
}

.mp-cart-line__attr-label {
  text-transform: uppercase;
  letter-spacing: 0.04em;
}

.mp-cart-line__availability {
  margin: 8px 0;
}

.mp-cart-line__availability .product-line__item-availability-message {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  font-family: 'IBM Plex Mono', monospace;
  font-size: 11px;
  font-weight: 600;
  text-transform: uppercase;
  letter-spacing: 0.05em;
}

.mp-cart-line__availability--in-stock {
  color: var(--lime-dark);
}

.mp-cart-line__availability--available {
  color: #b8860b;
}

.mp-cart-line__availability--unavailable {
  color: var(--error);
}

.mp-cart-line__delivery {
  font-family: 'IBM Plex Mono', monospace;
  font-size: 11px;
  color: #7a7a73;
  margin-top: 6px;
}

.mp-cart-line__unit-prices {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 8px;
  margin-top: 10px;
}

.mp-cart-line__unit-price,
.mp-cart-line__total {
  font-family: 'IBM Plex Mono', monospace;
  font-weight: 600;
  font-size: 17px;
  color: var(--ink);
}

.mp-cart-line__unit-price-full,
.mp-cart-line__regular-price {
  font-family: 'IBM Plex Mono', monospace;
  font-size: 12px;
  color: #a8a8a1;
}

.mp-cart-line__regular-price {
  text-decoration: line-through;
}

.mp-cart-line__discount.tag {
  --tag-notch: 8px;
  font-size: 10px;
  padding: 5px 10px 5px 8px;
}

/* Stepper cantidad — carrito (override Hummingbird .btn-square-icon) */
.page-cart .mp-cart-line__qty.quantity-button .quantity-button__group,
.page-cart .mp-cart-line__qty .quantity-button__group.input-group {
  display: inline-flex;
  align-items: stretch;
  border: 1px solid var(--line);
  border-radius: 0;
  box-shadow: none;
  width: auto;
  max-width: max-content;
  overflow: hidden;
  background: var(--white);
}

.page-cart .mp-cart-line__qty .quantity-button__group > .btn,
.page-cart .mp-cart-line__qty .quantity-button__group .btn.btn-square-icon,
.page-cart .mp-cart-line__qty .quantity-button__group .decrement,
.page-cart .mp-cart-line__qty .quantity-button__group .increment {
  width: 28px !important;
  min-width: 28px !important;
  max-width: 28px !important;
  flex: 0 0 28px;
  min-height: 30px;
  height: 30px;
  border: none !important;
  border-width: 0 !important;
  border-radius: 0;
  background: var(--white);
  color: var(--ink);
  box-shadow: none !important;
  outline: none !important;
  padding: 0;
}

.page-cart .mp-cart-line__qty .quantity-button__group > .btn:hover,
.page-cart .mp-cart-line__qty .quantity-button__group > .btn:focus,
.page-cart .mp-cart-line__qty .quantity-button__group > .btn:focus-visible,
.page-cart .mp-cart-line__qty .quantity-button__group > .btn:active {
  background: var(--concrete);
  border: none !important;
  border-width: 0 !important;
  box-shadow: none !important;
  outline: none !important;
}

.page-cart .mp-cart-line__qty .quantity-button__group > .form-control {
  width: 30px !important;
  min-width: 30px !important;
  max-width: 30px !important;
  flex: 0 0 30px;
  min-height: 30px;
  height: 30px;
  padding: 0;
  margin: 0;
  border: none !important;
  border-top: none !important;
  border-bottom: none !important;
  border-left: 1px solid var(--line) !important;
  border-right: 1px solid var(--line) !important;
  border-radius: 0;
  text-align: center;
  font-family: 'IBM Plex Mono', monospace;
  font-weight: 600;
  font-size: 12px;
  line-height: 1;
  box-shadow: none !important;
  outline: none !important;
  background: var(--white);
}

.page-cart .mp-cart-line__qty .quantity-button__group > .form-control:focus {
  border-color: var(--line) !important;
  box-shadow: none !important;
}

.page-cart .mp-cart-line__qty .spinner-border {
  display: none !important;
  visibility: hidden !important;
  animation: none !important;
}

.page-cart .mp-cart-line__qty .quantity-button__group > .btn:disabled {
  opacity: 1;
  color: var(--ink);
  background: var(--white);
  cursor: default;
}

.page-cart .mp-cart-line__qty .quantity-button__group > .btn:disabled::before {
  opacity: 1;
}

.mp-cart-line__qty .quantity-button__group .material-icons {
  display: none;
}

.mp-cart-line__qty .quantity-button__group .btn::before {
  font-family: 'IBM Plex Mono', monospace;
  font-weight: 700;
  font-size: 13px;
  line-height: 1;
}

.mp-cart-line__qty .quantity-button__group .decrement::before {
  content: '−';
}

.mp-cart-line__qty .quantity-button__group .increment::before {
  content: '+';
}

.mp-cart-line__remove {
  font-family: 'IBM Plex Mono', monospace;
  font-size: 11px;
  font-weight: 600;
  text-transform: uppercase;
  letter-spacing: 0.06em;
  color: #7a7a73;
  text-decoration: underline;
  text-underline-offset: 3px;
}

.mp-cart-line__remove:hover,
.mp-cart-line__remove:focus-visible {
  color: var(--error);
}

.mp-cart__count {
  margin: -0.75rem 0 0;
  font-family: 'IBM Plex Mono', monospace;
  font-size: 12px;
  font-weight: 600;
  letter-spacing: 0.05em;
  text-transform: uppercase;
  color: #8a8a83;
}

.mp-cart--empty .mp-cart__head {
  text-align: center;
  margin-bottom: 1.25rem;
}

.mp-cart--empty .cart-grid__content {
  max-width: 640px;
  margin-inline: auto;
}

.mp-cart--empty .mp-cart__cross-selling {
  margin-top: 2rem;
  padding-top: 1.75rem;
}

/* Estado vacío — solo página /carrito (no panel lateral) */
.page-cart .mp-cart--empty .mp-cart-empty {
  border: 1px solid var(--line);
  background: var(--white);
  padding: clamp(2rem, 4vw, 2.75rem) clamp(1.25rem, 3vw, 2rem);
}

.page-cart .mp-cart--empty .mp-cart-empty__inner {
  display: flex;
  flex-direction: column;
  align-items: center;
  text-align: center;
  gap: 14px;
  width: 100%;
  max-width: 440px;
  margin-inline: auto;
}

.page-cart .mp-cart--empty .mp-cart-empty__icon-wrap {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 64px;
  height: 64px;
  margin-bottom: 2px;
  border: 1.5px solid var(--ink);
  background: var(--concrete);
  color: var(--ink);
}

.page-cart .mp-cart--empty .mp-cart-empty__tag {
  margin-top: 2px;
}

.page-cart .mp-cart--empty .mp-cart-empty__title {
  margin: 0;
  font-family: 'Anton', sans-serif;
  font-weight: 400;
  font-size: clamp(1.35rem, 3.5vw, 1.65rem);
  text-transform: uppercase;
  letter-spacing: 0.02em;
  line-height: 1.08;
  color: var(--ink);
}

.page-cart .mp-cart--empty .mp-cart-empty__text {
  margin: 0;
  font-family: 'Inter', sans-serif;
  font-size: 15px;
  line-height: 1.55;
  color: #5f5f58;
  max-width: 36ch;
}

.page-cart .mp-cart--empty .mp-cart-empty__cta {
  width: 100%;
  max-width: 300px;
  margin-top: 6px;
  min-height: 48px;
  font-family: 'Anton', sans-serif;
  font-weight: 400;
  font-size: 16px;
  letter-spacing: 0.02em;
  text-transform: uppercase;
  box-shadow: none;
}

.page-cart .mp-cart--empty .mp-cart-empty__cta:hover,
.page-cart .mp-cart--empty .mp-cart-empty__cta:focus-visible {
  transform: none;
  box-shadow: none;
}

.page-cart .mp-cart--empty .mp-cart-empty__cats {
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  gap: 8px;
  margin-top: 10px;
  padding-top: 16px;
  border-top: 1px solid var(--line);
  width: 100%;
}

.mp-cart__continue--empty {
  margin-top: 0;
}

.page-cart .mp-cart__continue.btn-ghost {
  margin-top: 1.25rem;
  min-height: auto;
  padding: 10px 0;
  border: none;
  background: transparent;
  box-shadow: none;
  font-family: 'Inter', sans-serif;
  font-size: 14px;
  font-weight: 600;
  letter-spacing: 0;
  text-transform: none;
  color: #7a7a73;
}

.page-cart .mp-cart__continue.btn-ghost:hover,
.page-cart .mp-cart__continue.btn-ghost:focus-visible {
  color: var(--ink);
  background: transparent;
  transform: none;
  box-shadow: none;
  text-decoration: underline;
  text-underline-offset: 3px;
}

.mp-cart__continue {
  margin-top: 1.25rem;
  min-height: 44px;
  border: 1px solid var(--ink);
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: 0.02em;
}

.page-cart .mp-cart__continue.btn,
.page-cart .mp-cart__continue.btn-ghost {
  border-width: 1px;
  box-shadow: none;
}

.page-cart .cart-summary__actions .btn,
.page-cart .cart-summary__actions .btn-primary {
  border-width: 1px;
  box-shadow: none;
}

.mp-cart__continue .material-icons {
  font-size: 18px;
}

.mp-cart__continue--empty {
  margin-top: 0;
}

.mp-cart .cart-summary__subtotals,
.mp-cart .cart-summary__total {
  padding: 0;
}

.mp-cart .cart-summary__line {
  display: flex;
  justify-content: space-between;
  align-items: flex-start;
  gap: 16px;
  padding: 14px 20px;
  border-top: 1px solid var(--line);
  font-family: 'IBM Plex Mono', monospace;
  font-size: 13px;
}

.mp-cart .cart-summary__line:first-child {
  border-top: none;
}

.mp-cart .cart-summary__label {
  color: #7a7a73;
  text-transform: uppercase;
  letter-spacing: 0.05em;
}

.mp-cart .cart-summary__value {
  font-weight: 600;
  text-align: right;
}

.mp-cart .cart-summary__value-inner {
  display: block;
  margin-top: 4px;
  font-size: 11px;
  color: #8a8a83;
}

.mp-cart .cart-summary__line--bold {
  background: var(--ink);
  color: var(--white);
  border-top: none;
  margin-top: -1px;
}

.mp-cart .cart-summary__line--bold .cart-summary__label,
.mp-cart .cart-summary__line--bold .cart-summary__value {
  color: var(--white);
  font-size: 14px;
  font-weight: 700;
}

.mp-cart .cart-summary__value--bold {
  display: flex;
  align-items: center;
  gap: 8px;
}

.mp-cart .cart-voucher {
  border-top: 1px solid var(--line);
  padding: 0 20px 16px;
}

.mp-cart .cart-voucher__accordion-button {
  font-family: 'IBM Plex Mono', monospace;
  font-size: 12px;
  font-weight: 600;
  text-transform: uppercase;
  letter-spacing: 0.06em;
  color: var(--ink);
  box-shadow: none;
}

.mp-cart .cart-voucher__form {
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  gap: 10px;
  margin-top: 12px;
}

.mp-cart .cart-voucher__form .form-control {
  border: 1px solid var(--ink);
  border-radius: 0;
  font-family: 'IBM Plex Mono', monospace;
  font-size: 13px;
}

.mp-cart .cart-voucher__form .btn {
  min-height: 44px;
  white-space: nowrap;
}

.mp-cart .cart-voucher__highlight {
  margin-top: 16px;
  padding-top: 16px;
  border-top: 1px solid var(--line);
}

.mp-cart .cart-voucher__highlight .h5 {
  font-family: 'IBM Plex Mono', monospace;
  font-size: 12px;
  text-transform: uppercase;
  letter-spacing: 0.06em;
  margin-bottom: 10px;
}

.mp-cart .cart-voucher__code-value {
  font-family: 'IBM Plex Mono', monospace;
  font-weight: 600;
  color: var(--lime-dark);
  background: none;
  border: none;
  padding: 0;
  text-decoration: underline;
  cursor: pointer;
}

.mp-cart .cart-summary__actions {
  padding: 16px 20px 20px;
  border-top: 1px solid var(--line);
}

.mp-cart .cart-summary__actions .btn-lg {
  min-height: 52px;
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: 0.02em;
}

.mp-cart__reassurance {
  margin-top: 1.75rem;
  padding-top: 0.25rem;
}

.mp-cart__reassurance .mp-trust-panel {
  border-width: 1px;
}

.mp-cart__reassurance .mp-trust-panel__head {
  border-bottom-width: 1px;
}

.mp-cart__cross-selling {
  margin-top: 2.5rem;
  padding-top: 2rem;
  border-top: 1px solid var(--ink);
  width: 100%;
  min-width: 0;
}

.mp-cart__cross-selling .ps-crossselling,
.mp-cart__cross-selling .ps-featuredproducts,
.mp-cart__cross-selling .mp-cart__module {
  width: 100%;
  min-width: 0;
}

.mp-cart__cross-selling .module-products.container {
  max-width: 100%;
  padding-left: 0;
  padding-right: 0;
}

.mp-cart__cross-selling .mp-section-head {
  margin-bottom: 1.25rem;
}

.mp-cart__cross-selling .mp-home-carousel {
  width: 100%;
  min-width: 0;
  overflow: hidden;
}

.mp-cart__cross-selling .mp-home-carousel .splide__track {
  overflow: hidden;
}

.mp-cart__cross-selling .mp-home-carousel .splide__slide {
  width: auto;
  max-width: 100%;
}

.mp-cart__cross-selling .mp-home-carousel .splide:not(.is-initialized) .splide__list {
  display: grid !important;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 1.5rem;
}

.mp-cart__cross-selling .mp-home-carousel .splide:not(.is-initialized) .splide__slide {
  width: auto !important;
  margin: 0 !important;
}

@media (max-width: 1199px) {
  .mp-cart__cross-selling .mp-home-carousel .splide:not(.is-initialized) .splide__list {
    grid-template-columns: repeat(3, minmax(0, 1fr));
  }
}

@media (max-width: 767px) {
  .mp-cart__cross-selling .mp-home-carousel .splide:not(.is-initialized) .splide__list {
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 1rem;
  }
}

.mp-cart__cross-selling .products-section-title,
.mp-cart__cross-selling h2 {
  font-family: 'Anton', sans-serif;
  font-weight: 400;
  font-size: clamp(1.35rem, 2.5vw, 1.75rem);
  text-transform: uppercase;
  letter-spacing: 0.01em;
  margin-bottom: 1.25rem;
}

/* Fallback grid del módulo nativo (sin override de tema) */
.mp-cart__cross-selling > section > .products {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 24px;
}

@media (max-width: 1199px) {
  .mp-cart__cross-selling > section > .products {
    grid-template-columns: repeat(3, minmax(0, 1fr));
  }
}

@media (max-width: 767px) {
  .mp-cart__cross-selling > section > .products {
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 16px;
  }
}

.mp-cart + .mp-trust-bar {
  margin-top: 0;
}

@media (max-width: 991px) {
  .mp-cart__aside {
    position: static;
  }
}

/* Barra fija móvil — total + checkout siempre visible */
.mp-cart__mobile-bar {
  display: none;
}

@media (max-width: 860px) {
  .page-cart .mp-cart:not(.mp-cart--empty) {
    padding-bottom: calc(88px + env(safe-area-inset-bottom, 0px));
  }

  .mp-cart__mobile-bar {
    --mp-cart-mobile-bar-height: 72px;
    display: block;
    position: fixed;
    left: 0;
    right: 0;
    bottom: 0;
    z-index: 1040;
    padding: 10px 14px calc(10px + env(safe-area-inset-bottom, 0px));
    border-top: 2px solid var(--ink);
    background: var(--white);
    box-shadow: 0 -8px 24px rgba(16, 16, 16, 0.08);
  }

  .mp-cart__mobile-bar--hidden {
    display: none;
  }

  .mp-cart__mobile-bar-inner {
    display: grid;
    grid-template-columns: minmax(0, 1fr) minmax(140px, 46%);
    align-items: center;
    gap: 12px;
    max-width: 100%;
  }

  .mp-cart__mobile-bar-total {
    display: flex;
    flex-direction: column;
    gap: 2px;
    min-width: 0;
  }

  .mp-cart__mobile-bar-label {
    font-family: 'IBM Plex Mono', monospace;
    font-size: 10px;
    font-weight: 600;
    letter-spacing: 0.06em;
    text-transform: uppercase;
    color: #7a7a73;
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
  }

  .mp-cart__mobile-bar-value {
    font-family: 'IBM Plex Mono', monospace;
    font-size: 17px;
    font-weight: 700;
    color: var(--ink);
    line-height: 1.1;
  }

  .mp-cart__mobile-bar-cta {
    min-width: 0;
  }

  .mp-cart__mobile-checkout.btn,
  a.mp-cart__mobile-checkout {
    width: 100%;
    min-height: 48px;
    padding: 12px 14px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    border: none;
    border-radius: 0;
    background: var(--ink);
    box-shadow: 4px 4px 0 var(--badge-discount, var(--lime));
    font-family: 'Anton', sans-serif;
    font-size: 13px;
    font-weight: 400;
    letter-spacing: 0.02em;
    text-transform: uppercase;
    text-decoration: none;
    color: var(--white);
    white-space: nowrap;
    transition: transform 0.15s ease, box-shadow 0.15s ease;
  }

  .mp-cart__mobile-checkout.btn:hover,
  .mp-cart__mobile-checkout.btn:focus-visible,
  a.mp-cart__mobile-checkout:hover,
  a.mp-cart__mobile-checkout:focus-visible {
    background: var(--ink);
    color: var(--white);
    transform: translate(2px, 2px);
    box-shadow: 3px 3px 0 var(--badge-discount, var(--lime));
  }

  .mp-cart__mobile-checkout.btn.disabled,
  .mp-cart__mobile-checkout.btn:disabled {
    opacity: 0.55;
    transform: none;
    box-shadow: none;
    cursor: not-allowed;
  }

  body.page-cart .mp-whatsapp-float {
    bottom: calc(88px + env(safe-area-inset-bottom, 0px));
  }
}

@media (max-width: 860px) {
  .mp-cart-line {
    grid-template-columns: 88px minmax(0, 1fr);
    padding: 14px;
    gap: 12px;
  }

  .mp-cart-line__content {
    grid-template-columns: 1fr;
    grid-template-areas:
      'main'
      'aside'
      'actions';
  }

  .mp-cart-line__aside {
    flex-direction: row;
    align-items: center;
    justify-content: space-between;
    width: 100%;
  }

  .mp-cart .cart-voucher__form {
    grid-template-columns: 1fr;
  }
}

/* --- Panel lateral del carrito (offcanvas) --- */
.mp-cart-drawer {
  --bs-offcanvas-width: min(100vw, 420px);
  width: var(--bs-offcanvas-width);
  border-left: 2px solid var(--ink);
  background: var(--white);
  display: flex;
  flex-direction: column;
}

.mp-cart-drawer__header {
  position: relative;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
  padding: 16px 20px 14px;
  border-bottom: 2px solid var(--ink);
}

.mp-cart-drawer__title-row {
  display: flex;
  align-items: center;
  gap: 10px;
  min-width: 0;
}

.mp-cart-drawer__title {
  font-family: 'Anton', sans-serif;
  font-weight: 400;
  font-size: 1.125rem;
  text-transform: uppercase;
  letter-spacing: 0.04em;
  margin: 0;
  color: var(--ink);
  line-height: 1;
}

.mp-cart-drawer__badge {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-width: 22px;
  height: 22px;
  padding: 0 6px;
  background: var(--lime);
  color: var(--ink);
  font-family: 'IBM Plex Mono', monospace;
  font-size: 11px;
  font-weight: 700;
  line-height: 1;
}

.mp-cart-drawer__close {
  flex-shrink: 0;
  width: 32px;
  height: 32px;
  padding: 0;
  border: 2px solid var(--ink);
  background: var(--white);
  color: var(--ink);
  font-size: 20px;
  line-height: 1;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  cursor: pointer;
}

.mp-cart-drawer__close:hover,
.mp-cart-drawer__close:focus-visible {
  background: var(--concrete);
}

.mp-cart-drawer__body {
  flex: 1 1 auto;
  display: flex;
  flex-direction: column;
  gap: 0;
  padding: 0;
  overflow-y: auto;
}

.mp-cart-drawer__loading {
  display: flex;
  align-items: center;
  gap: 10px;
  padding: 16px 20px 0;
  font-family: 'IBM Plex Mono', monospace;
  font-size: 12px;
  color: #8a8a83;
}

.mp-cart-drawer__spinner {
  width: 16px;
  height: 16px;
  border: 2px solid var(--line);
  border-top-color: var(--lime);
  border-radius: 50%;
  animation: mp-cart-drawer-spin 0.7s linear infinite;
}

@keyframes mp-cart-drawer-spin {
  to {
    transform: rotate(360deg);
  }
}

.mp-cart-drawer__panel {
  display: flex;
  flex-direction: column;
  min-height: 100%;
}

.mp-cart-drawer__panel--loading {
  opacity: 0.5;
  pointer-events: none;
}

.mp-cart-drawer__shipping {
  padding: 14px 20px 12px;
  border-bottom: 1px solid var(--line);
}

.mp-cart-drawer__shipping-text {
  margin: 0 0 10px;
  font-family: 'IBM Plex Mono', monospace;
  font-size: 11px;
  font-weight: 500;
  line-height: 1.45;
  letter-spacing: 0.04em;
  text-transform: uppercase;
  color: var(--ink);
}

.mp-cart-drawer__shipping-text strong {
  color: var(--lime-dark);
  font-weight: 700;
}

.mp-cart-drawer__progress {
  position: relative;
  height: 8px;
}

.mp-cart-drawer__progress-track,
.mp-cart-drawer__progress-fill {
  position: absolute;
  inset: 0 auto 0 0;
  height: 100%;
  border-radius: 999px;
}

.mp-cart-drawer__progress-track {
  width: 100%;
  background: var(--line);
}

.mp-cart-drawer__progress-fill {
  width: var(--mp-shipping-progress, 0%);
  background: var(--lime);
  transition: width 0.25s ease;
}

.mp-cart-drawer__progress-knob {
  position: absolute;
  top: 50%;
  left: var(--mp-shipping-progress, 0%);
  width: 14px;
  height: 14px;
  border: 2px solid var(--ink);
  border-radius: 50%;
  background: var(--ink);
  transform: translate(-50%, -50%);
  transition: left 0.25s ease;
}

.mp-cart-drawer__products {
  flex: 1 1 auto;
  min-height: 0;
  overflow-y: auto;
}

.mp-cart-drawer__products .mp-cart__overview,
.mp-cart-drawer__products .js-cart {
  padding: 0;
}

.mp-cart-drawer__products .mp-cart__list {
  gap: 0;
}

.mp-cart-drawer__products .mp-cart__item {
  border: none;
  border-bottom: 1px solid var(--line);
  border-radius: 0;
}

.mp-cart-drawer__products .mp-cart-line {
  grid-template-columns: 72px minmax(0, 1fr);
  gap: 12px 14px;
  padding: 16px 20px;
  align-items: start;
}

.mp-cart-drawer__products .mp-cart-line__image {
  align-self: start;
}

.mp-cart-drawer__products .mp-cart-line__image-link {
  max-width: 72px;
}

.mp-cart-drawer__products .mp-cart-line__content {
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  grid-template-areas:
    'main main'
    'qty price'
    'actions actions';
  gap: 8px 12px;
  align-items: center;
}

.mp-cart-drawer__products .mp-cart-line__main {
  grid-area: main;
  min-width: 0;
}

.mp-cart-drawer__products .mp-cart-line__aside {
  display: contents;
}

.mp-cart-drawer__products .mp-cart-line__qty {
  grid-area: qty;
  justify-self: start;
}

.mp-cart-drawer__products .mp-cart-line__total {
  grid-area: price;
  justify-self: end;
  align-self: center;
  font-family: 'IBM Plex Mono', monospace;
  font-size: 14px;
  font-weight: 600;
  color: var(--ink);
  white-space: nowrap;
}

.mp-cart-drawer__products .mp-cart-line__actions {
  grid-area: actions;
  border-top: none;
  padding-top: 0;
  margin-top: 2px;
}

.mp-cart-drawer__products .mp-cart-line__title,
.mp-cart-drawer__products a.mp-cart-line__title,
.mp-cart-drawer__products .product-line__title.mp-cart-line__title {
  font-family: Inter, sans-serif;
  font-size: 14px;
  font-weight: 700;
  line-height: 1.35;
  margin-bottom: 0;
  color: var(--ink);
}

.mp-cart-drawer__products .mp-cart-line__title:hover,
.mp-cart-drawer__products .mp-cart-line__title:focus-visible,
.mp-cart-drawer__products a.mp-cart-line__title:hover,
.mp-cart-drawer__products a.mp-cart-line__title:focus-visible {
  color: var(--ink);
}

.mp-cart-drawer__products .mp-cart-line__unit-prices,
.mp-cart-drawer__products .mp-cart-line__attr,
.mp-cart-drawer__products .mp-cart-line__availability,
.mp-cart-drawer__products .mp-cart-line__delivery,
.mp-cart-drawer__products .mp-cart-line__price-block {
  display: none;
}

.mp-cart-drawer__products .mp-cart-line__remove,
.mp-cart-drawer__products a.mp-cart-line__remove,
.mp-cart-drawer__products a.js-remove-from-cart {
  font-family: Inter, sans-serif;
  font-size: 12px;
  font-weight: 400;
  text-transform: none;
  letter-spacing: 0;
  --bs-link-color: #c8c8c2;
  --bs-link-hover-color: #a8a8a2;
  --bs-link-color-rgb: 200, 200, 194;
  --bs-link-hover-color-rgb: 168, 168, 162;
  color: #c8c8c2;
  text-decoration: underline;
  text-decoration-color: #c8c8c2;
  text-underline-offset: 2px;
}

.mp-cart-drawer__products .mp-cart-line__remove:hover,
.mp-cart-drawer__products .mp-cart-line__remove:focus,
.mp-cart-drawer__products .mp-cart-line__remove:focus-visible,
.mp-cart-drawer__products a.mp-cart-line__remove:hover,
.mp-cart-drawer__products a.mp-cart-line__remove:focus,
.mp-cart-drawer__products a.mp-cart-line__remove:focus-visible,
.mp-cart-drawer__products a.js-remove-from-cart:hover,
.mp-cart-drawer__products a.js-remove-from-cart:focus,
.mp-cart-drawer__products a.js-remove-from-cart:focus-visible {
  --bs-link-color: #a8a8a2;
  --bs-link-hover-color: #a8a8a2;
  --bs-link-color-rgb: 168, 168, 162;
  --bs-link-hover-color-rgb: 168, 168, 162;
  color: #a8a8a2;
  text-decoration-color: #a8a8a2;
}

/* Stepper cantidad — drawer (compacto, mockup) */
.mp-cart-drawer__products .mp-cart-line__qty.quantity-button .quantity-button__group,
.mp-cart-drawer__products .mp-cart-line__qty .quantity-button__group.input-group {
  display: inline-flex;
  align-items: stretch;
  border: 2px solid var(--ink);
  border-radius: 0;
  box-shadow: none;
  width: auto;
  max-width: max-content;
  overflow: hidden;
  background: var(--white);
}

.mp-cart-drawer__products .mp-cart-line__qty .quantity-button__group > .btn,
.mp-cart-drawer__products .mp-cart-line__qty .quantity-button__group .btn.btn-square-icon,
.mp-cart-drawer__products .mp-cart-line__qty .quantity-button__group .decrement,
.mp-cart-drawer__products .mp-cart-line__qty .quantity-button__group .increment {
  width: 26px !important;
  min-width: 26px !important;
  max-width: 26px !important;
  flex: 0 0 26px;
  min-height: 28px;
  height: 28px;
  border: none !important;
  border-radius: 0;
  background: var(--white);
  color: var(--ink);
  box-shadow: none !important;
  outline: none !important;
  padding: 0;
}

.mp-cart-drawer__products .mp-cart-line__qty .quantity-button__group > .btn:hover,
.mp-cart-drawer__products .mp-cart-line__qty .quantity-button__group > .btn:focus,
.mp-cart-drawer__products .mp-cart-line__qty .quantity-button__group > .btn:focus-visible,
.mp-cart-drawer__products .mp-cart-line__qty .quantity-button__group > .btn:active {
  background: var(--concrete);
  border: none !important;
  box-shadow: none !important;
  outline: none !important;
}

.mp-cart-drawer__products .mp-cart-line__qty .quantity-button__group > .form-control {
  width: 34px !important;
  min-width: 34px !important;
  max-width: 34px !important;
  flex: 0 0 34px;
  min-height: 28px;
  height: 28px;
  padding: 0;
  margin: 0;
  border: none !important;
  border-left: 2px solid var(--ink) !important;
  border-right: 2px solid var(--ink) !important;
  border-radius: 0;
  text-align: center;
  font-family: 'IBM Plex Mono', monospace;
  font-weight: 600;
  font-size: 12px;
  line-height: 1;
  box-shadow: none !important;
  outline: none !important;
  background: var(--white);
}

.mp-cart-drawer__products .mp-cart-line__qty .quantity-button__group > .form-control:focus {
  border-color: var(--ink) !important;
  box-shadow: none !important;
}

.mp-cart-drawer__products .mp-cart-line__qty .spinner-border {
  display: none !important;
}

.mp-cart-drawer__products .mp-cart-line__qty .quantity-button__group .material-icons {
  display: none;
}

.mp-cart-drawer__products .mp-cart-line__qty .quantity-button__group .btn::before {
  font-family: 'IBM Plex Mono', monospace;
  font-weight: 700;
  font-size: 14px;
  line-height: 1;
}

.mp-cart-drawer__products .mp-cart-line__qty .quantity-button__group .decrement::before {
  content: '−';
}

.mp-cart-drawer__products .mp-cart-line__qty .quantity-button__group .increment::before {
  content: '+';
}

.mp-cart-drawer .js-cart-drawer-totals .cart-voucher,
.mp-cart-drawer .js-cart-drawer-totals .cart-detailed-actions,
.mp-cart-drawer .js-cart-drawer-totals .cart-summary__actions,
.mp-cart-drawer .js-cart-drawer-totals .checkout {
  display: none !important;
}

.mp-cart-drawer .js-cart-drawer-totals .cart-summary__totals {
  padding: 0;
  border: none;
  background: transparent;
}

.mp-cart-drawer .js-cart-drawer-totals .cart-summary__line {
  display: flex;
  align-items: baseline;
  justify-content: space-between;
  gap: 16px;
  margin-bottom: 10px;
  font-family: 'IBM Plex Mono', monospace;
  font-size: 13px;
}

.mp-cart-drawer .js-cart-drawer-totals .cart-summary__label {
  color: #5f5f58;
  text-transform: uppercase;
  letter-spacing: 0.04em;
}

.mp-cart-drawer .js-cart-drawer-totals .cart-summary__value {
  font-weight: 600;
  color: var(--ink);
}

.mp-cart-drawer .js-cart-drawer-totals .cart-summary__totals .cart-total {
  display: flex;
  align-items: baseline;
  justify-content: space-between;
  gap: 16px;
  margin: 14px 0 0;
  padding-top: 14px;
  border-top: 1px dotted var(--ink);
  font-family: 'IBM Plex Mono', monospace;
  font-size: 18px;
  font-weight: 700;
}

.mp-cart-drawer__list {
  display: flex;
  flex-direction: column;
}

.mp-drawer-line {
  display: grid;
  grid-template-columns: 72px minmax(0, 1fr) auto;
  gap: 14px 16px;
  align-items: start;
  padding: 18px 20px;
  border-bottom: 1px solid var(--line);
}

.mp-drawer-line__media {
  display: block;
  border: 1px solid var(--line);
  background: var(--concrete);
  overflow: hidden;
}

.mp-drawer-line__img {
  display: block;
  width: 72px;
  height: 72px;
  object-fit: cover;
}

.mp-drawer-line__body {
  min-width: 0;
}

.mp-drawer-line__cat {
  margin: 0 0 6px;
  font-family: 'IBM Plex Mono', monospace;
  font-size: 11px;
  font-weight: 600;
  letter-spacing: 0.06em;
  text-transform: uppercase;
  color: var(--lime-dark);
}

.mp-drawer-line__name {
  display: block;
  margin: 0 0 12px;
  font-size: 15px;
  font-weight: 700;
  line-height: 1.3;
  color: var(--ink);
  text-decoration: none;
}

.mp-drawer-line__name:hover,
.mp-drawer-line__name:focus-visible {
  color: var(--lime-dark);
}

.mp-drawer-line__controls {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  gap: 8px;
}

.mp-drawer-line .qty-stepper {
  display: inline-flex;
  align-items: stretch;
  border: 2px solid var(--ink);
  background: var(--white);
}

.mp-drawer-line .qty-stepper button {
  width: 34px;
  min-height: 34px;
  border: none;
  background: var(--white);
  font-family: 'IBM Plex Mono', monospace;
  font-size: 16px;
  font-weight: 700;
  line-height: 1;
  color: var(--ink);
  cursor: pointer;
}

.mp-drawer-line .qty-stepper button:hover {
  background: var(--concrete);
}

.mp-drawer-line .qty-stepper .qty-val {
  min-width: 42px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  font-family: 'IBM Plex Mono', monospace;
  font-size: 13px;
  font-weight: 600;
  border-left: 2px solid var(--ink);
  border-right: 2px solid var(--ink);
}

.mp-drawer-line__remove {
  font-size: 12px;
  color: #8a8a83;
  text-decoration: underline;
  text-underline-offset: 2px;
}

.mp-drawer-line__remove:hover,
.mp-drawer-line__remove:focus-visible {
  color: var(--ink);
}

.mp-drawer-line__price {
  font-family: 'IBM Plex Mono', monospace;
  font-size: 15px;
  font-weight: 600;
  color: var(--ink);
  white-space: nowrap;
  padding-top: 2px;
}

.mp-drawer-line__gift {
  margin: 0;
  font-family: 'IBM Plex Mono', monospace;
  font-size: 12px;
  color: #8a8a83;
}

.mp-cart-drawer__summary {
  margin-top: auto;
  padding: 18px 20px 22px;
  border-top: 2px solid var(--ink);
  background: var(--white);
}

.mp-cart-drawer__summary-row,
.mp-cart-drawer__summary-total {
  display: flex;
  align-items: baseline;
  justify-content: space-between;
  gap: 16px;
  font-family: 'IBM Plex Mono', monospace;
  font-size: 13px;
}

.mp-cart-drawer__summary-row {
  margin-bottom: 10px;
  color: var(--ink);
}

.mp-cart-drawer__summary-row span:first-child {
  color: #5f5f58;
  text-transform: uppercase;
  letter-spacing: 0.04em;
}

.mp-cart-drawer__summary-shipping {
  text-align: right;
}

.mp-cart-drawer__summary-total {
  margin: 14px 0 18px;
  padding-top: 14px;
  border-top: 1px dotted var(--ink);
  font-size: 18px;
  font-weight: 700;
}

.mp-cart-drawer a.mp-cart-drawer__checkout,
a.mp-cart-drawer__checkout,
.mp-cart-drawer__checkout {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 100%;
  min-height: 52px;
  padding: 14px 18px;
  font-family: 'Anton', sans-serif;
  font-size: 15px;
  font-weight: 400;
  letter-spacing: 0.02em;
  text-transform: uppercase;
  text-decoration: none;
  border: none;
  border-radius: 0;
  background: var(--ink);
  box-shadow: 5px 5px 0 var(--badge-discount);
  transition: transform 0.15s ease, box-shadow 0.15s ease, background 0.15s ease, color 0.15s ease;
  --bs-link-color: var(--white);
  --bs-link-hover-color: var(--white);
  --bs-link-color-rgb: 255, 255, 255;
  --bs-link-hover-color-rgb: 255, 255, 255;
  color: var(--white);
}

.mp-cart-drawer a.mp-cart-drawer__checkout:hover,
.mp-cart-drawer a.mp-cart-drawer__checkout:focus,
.mp-cart-drawer a.mp-cart-drawer__checkout:focus-visible,
.mp-cart-drawer a.mp-cart-drawer__checkout:active,
.mp-cart-drawer a.mp-cart-drawer__checkout:visited,
a.mp-cart-drawer__checkout:hover,
a.mp-cart-drawer__checkout:focus,
a.mp-cart-drawer__checkout:focus-visible,
a.mp-cart-drawer__checkout:active,
a.mp-cart-drawer__checkout:visited,
.mp-cart-drawer__checkout:hover,
.mp-cart-drawer__checkout:focus,
.mp-cart-drawer__checkout:focus-visible,
.mp-cart-drawer__checkout:active,
.mp-cart-drawer__checkout:visited {
  background: var(--ink);
  border-color: transparent;
  transform: translate(2px, 2px);
  box-shadow: 4px 4px 0 var(--badge-discount);
  --bs-link-color: var(--white);
  --bs-link-hover-color: var(--white);
  --bs-link-color-rgb: 255, 255, 255;
  --bs-link-hover-color-rgb: 255, 255, 255;
  color: var(--white);
  text-decoration: none;
}

/* Checkout — CTA Continuar: Anton como drawer y catálogo */
body.page-order #wrapper .mp-checkout .buttons-wrapper .btn.btn-primary,
body.page-order #wrapper .mp-checkout #checkout-continue-form .btn.btn-primary,
body.page-order #wrapper .mp-checkout #payment-confirmation .btn.btn-primary,
body.page-order #wrapper .mp-checkout .mp-checkout__step-body footer .btn.btn-primary,
body.page-order #wrapper .mp-checkout .mp-checkout__step-body .form-footer .btn.btn-primary,
body.page-order #wrapper .mp-checkout #customer-form .btn.btn-primary[name='continue'],
body.page-order #wrapper .mp-checkout #checkout-login-form .btn.btn-primary[name='continue'],
body.page-order #wrapper .mp-checkout button.btn.btn-primary[name='confirmDeliveryOption'],
body.page-order #wrapper .mp-checkout button.btn.btn-primary[name='confirm-addresses'],
body.page-cart #wrapper .mp-cart .cart-summary__actions.checkout .btn.btn-primary {
  font-family: 'Anton', sans-serif;
  font-weight: 400;
  font-size: 15px;
  letter-spacing: 0.02em;
  text-transform: uppercase;
}

/* Aislar enlaces del drawer de tokens globales de Bootstrap/footer */
.mp-cart-drawer a:not(.mp-cart-drawer__checkout):not(.mp-cart-line__title) {
  font-weight: 400;
}

.mp-cart-drawer__trust {
  margin: 14px 0 0;
  text-align: center;
  font-family: 'IBM Plex Mono', monospace;
  font-size: 11px;
  letter-spacing: 0.08em;
  text-transform: uppercase;
  color: #8a8a83;
}

.mp-cart-drawer__empty {
  flex: 1 1 auto;
  display: flex;
  align-items: center;
  justify-content: center;
  padding: 32px 24px 40px;
  background:
    radial-gradient(circle at 50% 28%, rgba(160, 197, 66, 0.14) 0%, transparent 58%),
    linear-gradient(180deg, var(--white) 0%, var(--concrete) 100%);
}

.mp-cart-drawer__empty-inner {
  display: flex;
  flex-direction: column;
  align-items: center;
  text-align: center;
  gap: 14px;
  width: 100%;
  max-width: 300px;
}

.mp-cart-drawer__empty-visual {
  position: relative;
  width: 148px;
  height: 148px;
  margin-bottom: 6px;
}

.mp-cart-drawer__empty-ring {
  position: absolute;
  inset: 0;
  border: 2px solid var(--ink);
  border-radius: 50%;
  opacity: 0.18;
}

.mp-cart-drawer__empty-ring--1 {
  inset: 8px;
  animation: mp-cart-empty-ring-pulse 3.2s ease-in-out infinite;
}

.mp-cart-drawer__empty-ring--2 {
  inset: 22px;
  border-color: var(--lime-dark);
  opacity: 0.35;
  animation: mp-cart-empty-ring-pulse 3.2s ease-in-out infinite 0.6s;
}

.mp-cart-drawer__empty-icon {
  position: absolute;
  inset: 0;
  display: flex;
  align-items: center;
  justify-content: center;
  color: var(--ink);
  animation: mp-cart-empty-float 4s ease-in-out infinite;
}

.mp-cart-drawer__empty-seed {
  position: absolute;
  width: 10px;
  height: 10px;
  background: var(--lime);
  border: 1.5px solid var(--ink);
  border-radius: 50%;
}

.mp-cart-drawer__empty-seed--1 {
  top: 18px;
  right: 22px;
  animation: mp-cart-empty-seed-drift 5s ease-in-out infinite;
}

.mp-cart-drawer__empty-seed--2 {
  bottom: 28px;
  left: 16px;
  width: 8px;
  height: 8px;
  animation: mp-cart-empty-seed-drift 4.2s ease-in-out infinite 0.8s;
}

.mp-cart-drawer__empty-seed--3 {
  top: 42px;
  left: 24px;
  width: 6px;
  height: 6px;
  background: var(--ink);
  animation: mp-cart-empty-seed-drift 3.6s ease-in-out infinite 1.4s;
}

.mp-cart-drawer__empty-tag {
  animation: mp-cart-empty-fade-up 0.55s ease both 0.1s;
}

.mp-cart-drawer__empty-title {
  margin: 0;
  font-family: 'Anton', sans-serif;
  font-weight: 400;
  font-size: clamp(1.35rem, 4vw, 1.65rem);
  text-transform: uppercase;
  letter-spacing: 0.03em;
  line-height: 1.05;
  color: var(--ink);
  animation: mp-cart-empty-fade-up 0.55s ease both 0.2s;
}

.mp-cart-drawer__empty-text {
  margin: 0;
  font-family: 'Inter', sans-serif;
  font-size: 14px;
  line-height: 1.55;
  color: #5f5f58;
  animation: mp-cart-empty-fade-up 0.55s ease both 0.3s;
}

.mp-cart-drawer__empty-cta {
  position: relative;
  width: 100%;
  min-height: 48px;
  margin-top: 8px;
  padding: 14px 24px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 8px;
  border: none;
  border-radius: 0;
  background: var(--ink);
  background-color: var(--ink);
  color: var(--white);
  font-family: 'Anton', sans-serif;
  font-weight: 400;
  font-size: 17px;
  line-height: 1;
  letter-spacing: 0.02em;
  text-transform: uppercase;
  text-decoration: none;
  cursor: pointer;
  box-shadow: 5px 5px 0 var(--badge-discount);
  transition: transform 0.15s ease, box-shadow 0.15s ease, background 0.15s ease, color 0.15s ease;
  animation: mp-cart-empty-fade-up 0.55s ease both 0.4s;
}

.mp-cart-drawer__empty-cta:hover,
.mp-cart-drawer__empty-cta:focus-visible {
  transform: translate(2px, 2px);
  background: var(--ink);
  background-color: var(--ink);
  color: var(--white);
  box-shadow: 4px 4px 0 var(--badge-discount);
}

.mp-cart-drawer__empty--animate .mp-cart-drawer__empty-tag,
.mp-cart-drawer__empty--animate .mp-cart-drawer__empty-title,
.mp-cart-drawer__empty--animate .mp-cart-drawer__empty-text,
.mp-cart-drawer__empty--animate .mp-cart-drawer__empty-cta {
  animation: mp-cart-empty-fade-up 0.55s ease both;
}

.mp-cart-drawer__empty--animate .mp-cart-drawer__empty-tag { animation-delay: 0.1s; }
.mp-cart-drawer__empty--animate .mp-cart-drawer__empty-title { animation-delay: 0.2s; }
.mp-cart-drawer__empty--animate .mp-cart-drawer__empty-text { animation-delay: 0.3s; }
.mp-cart-drawer__empty--animate .mp-cart-drawer__empty-cta { animation-delay: 0.4s; }

@keyframes mp-cart-empty-float {
  0%, 100% { transform: translateY(0) rotate(0deg); }
  50% { transform: translateY(-8px) rotate(-2deg); }
}

@keyframes mp-cart-empty-ring-pulse {
  0%, 100% { transform: scale(1); opacity: 0.18; }
  50% { transform: scale(1.06); opacity: 0.32; }
}

@keyframes mp-cart-empty-seed-drift {
  0%, 100% { transform: translate(0, 0); }
  33% { transform: translate(4px, -6px); }
  66% { transform: translate(-3px, 4px); }
}

@keyframes mp-cart-empty-fade-up {
  from {
    opacity: 0;
    transform: translateY(14px);
  }
  to {
    opacity: 1;
    transform: translateY(0);
  }
}

@media (prefers-reduced-motion: reduce) {
  .mp-cart-drawer__empty-icon,
  .mp-cart-drawer__empty-ring,
  .mp-cart-drawer__empty-seed,
  .mp-cart-drawer__empty-tag,
  .mp-cart-drawer__empty-title,
  .mp-cart-drawer__empty-text,
  .mp-cart-drawer__empty-cta {
    animation: none !important;
  }
}

#blockcart-modal {
  display: none !important;
}

@media (max-width: 860px) {
  .mp-cart-drawer {
    --bs-offcanvas-width: 100vw;
  }

  .mp-drawer-line {
    grid-template-columns: 64px minmax(0, 1fr);
    grid-template-areas:
      'media body'
      'price price';
  }

  .mp-drawer-line__media {
    grid-area: media;
  }

  .mp-drawer-line__body {
    grid-area: body;
  }

  .mp-drawer-line__price {
    grid-area: price;
    justify-self: end;
    padding-top: 0;
  }
}

/* Registro — requisitos de contraseña; sin hint en nombre/apellidos */
.mp-password-requirements {
  margin-top: 8px;
  padding: 10px 12px;
  border: 1px solid var(--line);
  background: var(--concrete);
}

.mp-password-requirements p {
  margin: 0 0 4px;
  font-family: 'IBM Plex Mono', monospace;
  font-size: 11px;
  line-height: 1.45;
  color: #5f5f58;
}

.mp-password-requirements p:last-child {
  margin-bottom: 0;
}

input[name='firstname'] ~ .form-text,
input[name='lastname'] ~ .form-text {
  display: none;
}

/* --- Mi cuenta / área cliente --- */
.page-my-account #wrapper .container,
.page-my-account #wrapper .container-md {
  max-width: var(--mp-wrap);
}

.mp-account__header {
  margin-bottom: 1.75rem;
}

.mp-account__tag {
  margin-bottom: 0.85rem;
}

.mp-account__lead {
  max-width: 52ch;
  margin: 0;
  font-family: 'Inter', sans-serif;
  font-size: 15px;
  line-height: 1.65;
  color: #3d3d3a;
}

.mp-account__grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 14px;
  margin-bottom: 1.75rem;
}

.mp-account__card {
  display: grid;
  grid-template-columns: 28px minmax(0, 1fr) 24px;
  gap: 14px;
  align-items: center;
  padding: 18px 16px;
  border: 1.5px solid var(--ink);
  background: var(--white);
  color: var(--ink);
  text-decoration: none;
  transition: transform 0.15s ease, box-shadow 0.15s ease, background-color 0.15s ease;
}

.mp-account__card:hover,
.mp-account__card:focus-visible {
  transform: translateY(-2px);
  box-shadow: 4px 4px 0 var(--ink);
  background: var(--concrete);
  color: var(--ink);
}

.mp-account__icon {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 28px;
  height: 28px;
  border: none;
  background: none;
  color: var(--ink);
}

.mp-account__body {
  display: flex;
  flex-direction: column;
  gap: 4px;
  min-width: 0;
}

.mp-account__title {
  font-family: 'Inter', sans-serif;
  font-size: 15px;
  font-weight: 700;
  line-height: 1.35;
  color: var(--ink);
  text-decoration: none;
}

.mp-account__desc {
  font-family: 'Inter', sans-serif;
  font-size: 13px;
  line-height: 1.45;
  color: #5f5f58;
}

.mp-account__arrow {
  display: flex;
  align-items: center;
  justify-content: center;
  color: var(--ink);
}

.mp-account__hooks {
  grid-column: 1 / -1;
  display: contents;
}

.mp-account__hooks .account-menu__link,
.mp-account__hooks .customer-link__link {
  display: grid;
  grid-template-columns: 28px minmax(0, 1fr) 24px;
  gap: 14px;
  align-items: center;
  padding: 18px 16px;
  border: 1.5px solid var(--ink);
  background: var(--white);
  color: var(--ink);
  text-decoration: none;
  transition: transform 0.15s ease, box-shadow 0.15s ease, background-color 0.15s ease;
}

.mp-account__hooks .account-menu__link:hover,
.mp-account__hooks .account-menu__link:focus-visible,
.mp-account__hooks .customer-link__link:hover,
.mp-account__hooks .customer-link__link:focus-visible {
  transform: translateY(-2px);
  box-shadow: 4px 4px 0 var(--ink);
  background: var(--concrete);
  color: var(--ink);
}

.mp-account__hooks .account-menu__icon,
.mp-account__hooks .material-icons {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 28px;
  height: 28px;
  border: none;
  background: none;
  color: var(--ink);
  font-size: 0;
}

.mp-account__hooks .account-menu__link::after,
.mp-account__hooks .customer-link__link::after {
  content: '';
  width: 20px;
  height: 20px;
  background: currentColor;
  mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='m9 18 6-6-6-6'/%3E%3C/svg%3E") center / contain no-repeat;
  -webkit-mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='m9 18 6-6-6-6'/%3E%3C/svg%3E") center / contain no-repeat;
  color: var(--ink);
  justify-self: end;
}

/* Módulos nativos / fidelización (markup classic: a > span.link-item) */
.mp-account__hooks > a,
.mp-account__hooks > a[class*='col-'] {
  display: grid;
  grid-template-columns: 28px minmax(0, 1fr) 24px;
  gap: 14px;
  align-items: center;
  padding: 18px 16px;
  border: 1.5px solid var(--ink);
  background: var(--white);
  color: var(--ink);
  text-decoration: none;
  width: auto;
  max-width: none;
  transition: transform 0.15s ease, box-shadow 0.15s ease, background-color 0.15s ease;
}

.mp-account__hooks > a:hover,
.mp-account__hooks > a:focus-visible {
  transform: translateY(-2px);
  box-shadow: 4px 4px 0 var(--ink);
  background: var(--concrete);
  color: var(--ink);
}

.mp-account__hooks > a .link-item {
  display: contents;
}

.mp-account__hooks > a .material-icons,
.mp-account__hooks > a i[class*='material'] {
  grid-column: 1;
  display: flex;
  align-items: center;
  justify-content: center;
  width: 28px;
  height: 28px;
  font-size: 22px;
  line-height: 1;
  color: var(--ink);
}

.mp-account__hooks > a::after {
  content: '';
  width: 20px;
  height: 20px;
  background: currentColor;
  mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='m9 18 6-6-6-6'/%3E%3C/svg%3E") center / contain no-repeat;
  -webkit-mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='m9 18 6-6-6-6'/%3E%3C/svg%3E") center / contain no-repeat;
  color: var(--ink);
  justify-self: end;
}

.mp-account__footer {
  padding-top: 0.5rem;
  border-top: 1px solid var(--line);
}

.mp-account__logout {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  min-height: 44px;
  padding-inline: 18px;
}

.mp-account__logout-icon {
  flex-shrink: 0;
}

/* Menú lateral en subpáginas */
.mp-account-menu {
  margin-bottom: 1.5rem;
}

.mp-account-menu__title {
  font-family: 'IBM Plex Mono', monospace;
  font-size: 11px;
  font-weight: 600;
  letter-spacing: 0.12em;
  text-transform: uppercase;
  color: var(--lime-dark);
  margin: 0 0 0.85rem;
}

.mp-account-menu__nav {
  display: flex;
  flex-direction: column;
  border: 1.5px solid var(--ink);
  background: var(--white);
}

.mp-account-menu__link {
  display: flex;
  align-items: center;
  gap: 12px;
  padding: 14px 16px;
  border-top: 1px solid var(--line);
  font-family: 'Inter', sans-serif;
  font-size: 14px;
  font-weight: 600;
  line-height: 1.35;
  color: var(--ink);
  text-decoration: none;
  transition: background-color 0.15s ease, color 0.15s ease;
}

.mp-account-menu__link:first-child {
  border-top: none;
}

.mp-account-menu__link:hover,
.mp-account-menu__link:focus-visible,
.mp-account-menu__link.is-active {
  background: var(--concrete);
  color: var(--ink);
}

.mp-account-menu__link.is-active {
  box-shadow: inset 3px 0 0 var(--lime);
}

.mp-account-menu__link--logout {
  color: #9a2f2f;
}

.mp-account-menu__icon {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 22px;
  height: 22px;
  border: none;
  background: none;
  flex-shrink: 0;
  color: var(--ink);
}

.mp-account-menu__hooks {
  display: contents;
}

.mp-account-menu__hooks .account-menu__link,
.mp-account-menu__hooks .customer-link__link,
.mp-account-menu__hooks a {
  display: flex;
  align-items: center;
  gap: 12px;
  padding: 14px 16px;
  border-top: 1px solid var(--line);
  font-family: 'Inter', sans-serif;
  font-size: 14px;
  font-weight: 600;
  color: var(--ink);
  text-decoration: none;
}

.mp-account-menu__hooks .account-menu__link:hover,
.mp-account-menu__hooks .account-menu__link:focus-visible,
.mp-account-menu__hooks .customer-link__link:hover,
.mp-account-menu__hooks .customer-link__link:focus-visible,
.mp-account-menu__hooks a:hover,
.mp-account-menu__hooks a:focus-visible {
  background: var(--concrete);
  color: var(--ink);
}

.mp-account-menu__hooks .account-menu__icon,
.mp-account-menu__hooks .material-icons {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 22px;
  height: 22px;
  border: none;
  background: none;
  flex-shrink: 0;
  font-size: 0;
  color: var(--ink);
}

.mp-account-back {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  margin-bottom: 1rem;
  font-family: 'IBM Plex Mono', monospace;
  font-size: 12px;
  font-weight: 600;
  letter-spacing: 0.06em;
  text-transform: uppercase;
  color: var(--ink);
  text-decoration: none;
}

.mp-account-back:hover,
.mp-account-back:focus-visible {
  color: var(--lime-dark);
}

.mp-account-links {
  display: flex;
  flex-wrap: wrap;
  gap: 12px 20px;
  margin-top: 1.5rem;
  padding-top: 1.25rem;
  border-top: 1px solid var(--line);
}

.mp-account-links__item {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  font-family: 'IBM Plex Mono', monospace;
  font-size: 12px;
  font-weight: 600;
  letter-spacing: 0.06em;
  text-transform: uppercase;
  color: var(--ink);
  text-decoration: none;
}

.mp-account-links__item:hover,
.mp-account-links__item:focus-visible {
  color: var(--lime-dark);
}

@media (max-width: 860px) {
  .mp-account__grid {
    grid-template-columns: 1fr;
  }

  .mp-account__card,
  .mp-account__hooks .account-menu__link,
  .mp-account__hooks .customer-link__link,
  .mp-account__hooks > a {
    grid-template-columns: 28px minmax(0, 1fr) 20px;
    padding: 16px 14px;
  }
}

/* --- Área cliente (sidebar + contenido) --- */
.page-customer-account #content .row {
  --mp-customer-gap: 3rem;
  margin-left: 0;
  margin-right: 0;
}

.page-customer-account #content .col-lg-3 {
  padding-right: calc(var(--mp-customer-gap) / 2);
}

.page-customer-account #content .col-lg-9 {
  padding-left: calc(var(--mp-customer-gap) / 2);
}

.page-customer-account:not(.page-my-account) .mp-page-title.mp-page-title--account-sub {
  font-size: clamp(1.35rem, 2.5vw, 1.75rem);
  line-height: 1.05;
  margin-bottom: 0.75rem;
}

.page-customer-account:not(.page-my-account) .mp-account-back {
  margin-bottom: 1.25rem;
}

@media (min-width: 992px) {
  .page-customer-account #content .col-lg-3 {
    flex: 0 0 260px;
    max-width: 260px;
  }

  .page-customer-account #content .col-lg-9 {
    flex: 1 1 0;
    max-width: none;
    min-width: 0;
  }
}

@media (max-width: 991px) {
  .page-customer-account #content .col-lg-3,
  .page-customer-account #content .col-lg-9 {
    padding-left: 0;
    padding-right: 0;
  }

  .page-customer-account #content .col-lg-3 {
    margin-bottom: 1.5rem;
  }
}

/* --- Historial de pedidos --- */
.mp-order-history__lead {
  margin: 0 0 1.25rem;
  font-family: 'Inter', sans-serif;
  font-size: 15px;
  line-height: 1.6;
  color: #3d3d3a;
}

.mp-order-history__table {
  margin-bottom: 0;
  border: 1.5px solid var(--ink);
}

.mp-order-history__table thead th {
  font-family: 'IBM Plex Mono', monospace;
  font-size: 10px;
  font-weight: 600;
  letter-spacing: 0.1em;
  text-transform: uppercase;
  color: var(--ink);
  border-bottom: 1.5px solid var(--ink);
  background: var(--concrete);
  vertical-align: middle;
}

.mp-order-history__table tbody td,
.mp-order-history__table tbody th {
  vertical-align: middle;
  font-family: 'Inter', sans-serif;
  font-size: 14px;
  border-color: var(--line);
}

.mp-order-history__ref {
  font-family: 'IBM Plex Mono', monospace;
  font-weight: 600;
  letter-spacing: 0.04em;
}

.mp-order-history__total {
  font-family: 'IBM Plex Mono', monospace;
  font-weight: 600;
  white-space: nowrap;
}

.mp-order-history__status .tag__body::before {
  background: var(--mp-order-status-color, var(--lime));
}

.mp-order-history__invoice {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  color: var(--ink);
  text-decoration: none;
}

.mp-order-history__invoice:hover,
.mp-order-history__invoice:focus-visible {
  color: var(--lime-dark);
}

.mp-order-history__empty {
  color: #9a9a92;
}

.mp-order-history__actions-col {
  width: 1%;
  white-space: nowrap;
}

.mp-order-history__actions-cell {
  vertical-align: middle;
}

.mp-order-history__actions {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
  justify-content: flex-end;
}

.mp-order-history__actions--compact {
  flex-direction: row;
  flex-wrap: nowrap;
  gap: 6px;
  justify-content: flex-end;
}

.mp-order-history__action {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 6px;
  padding: 6px 10px;
  border: 1px solid var(--line);
  border-radius: 999px;
  background: var(--white);
  color: var(--ink);
  font-family: 'IBM Plex Mono', monospace;
  font-size: 11px;
  font-weight: 600;
  letter-spacing: 0.04em;
  text-transform: uppercase;
  text-decoration: none;
  white-space: nowrap;
  transition: border-color 0.15s ease, background-color 0.15s ease, color 0.15s ease;
}

.mp-order-history__actions--compact .mp-order-history__action {
  width: 34px;
  height: 34px;
  padding: 0;
  border-radius: 8px;
}

.mp-order-history__actions--compact .mp-order-history__action-icon {
  margin: 0;
}

.mp-order-history__action:hover,
.mp-order-history__action:focus-visible {
  border-color: var(--ink);
  background: var(--concrete);
  color: var(--ink);
}

.mp-order-history__action-icon {
  flex-shrink: 0;
  opacity: 0.85;
}

.mp-order-history__cards {
  display: grid;
  gap: 14px;
}

.mp-order-history__card {
  border: 1.5px solid var(--ink);
  background: var(--white);
  padding: 16px;
}

.mp-order-history__card-head {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 12px;
  margin-bottom: 12px;
}

.mp-order-history__label {
  margin: 0 0 4px;
  font-family: 'IBM Plex Mono', monospace;
  font-size: 10px;
  font-weight: 600;
  letter-spacing: 0.1em;
  text-transform: uppercase;
  color: #7a7a72;
}

.mp-order-history__meta {
  display: grid;
  gap: 10px;
  margin: 0 0 14px;
}

.mp-order-history__meta div {
  display: grid;
  grid-template-columns: 110px minmax(0, 1fr);
  gap: 10px;
  align-items: start;
}

.mp-order-history__meta dt {
  margin: 0;
  font-family: 'IBM Plex Mono', monospace;
  font-size: 10px;
  font-weight: 600;
  letter-spacing: 0.08em;
  text-transform: uppercase;
  color: #7a7a72;
}

.mp-order-history__meta dd {
  margin: 0;
  font-family: 'Inter', sans-serif;
  font-size: 14px;
  line-height: 1.45;
}

.page-content a.mp-order-history__action,
.page-content a.mp-order-history__invoice {
  color: var(--ink);
  font-weight: 600;
  text-decoration: none;
}

.page-content a.mp-order-history__action:hover,
.page-content a.mp-order-history__action:focus-visible,
.page-content a.mp-order-history__invoice:hover,
.page-content a.mp-order-history__invoice:focus-visible {
  color: var(--ink);
}

/* --- Avisos de cuenta (estado vacío / info) --- */
.mp-account-notice {
  --mp-account-notice-accent: var(--lime-dark);
  display: grid;
  grid-template-columns: 4px 44px minmax(0, 1fr);
  align-items: stretch;
  gap: 0;
  margin: 0 0 1.25rem;
  border: 1.5px solid var(--ink);
  background: var(--concrete);
  color: var(--ink);
}

.mp-account-notice__bar {
  background: var(--mp-account-notice-accent);
}

.mp-account-notice__icon {
  display: flex;
  align-items: center;
  justify-content: center;
  align-self: center;
  width: 44px;
  color: var(--mp-account-notice-accent);
}

.mp-account-notice__content {
  min-width: 0;
  padding: 14px 16px 14px 0;
}

.mp-account-notice__kicker {
  margin: 0 0 4px;
  font-family: 'IBM Plex Mono', monospace;
  font-size: 10px;
  font-weight: 600;
  line-height: 1.2;
  letter-spacing: 0.12em;
  text-transform: uppercase;
  color: var(--lime-dark);
}

.mp-account-notice__message {
  margin: 0;
  font-family: 'Inter', sans-serif;
  font-size: 14px;
  font-weight: 500;
  line-height: 1.5;
  color: var(--ink);
}

.mp-account-notice--neutral {
  --mp-account-notice-accent: var(--ink);
  background: var(--white);
}

.page-customer-account .page-content .alert:not(.mp-alert):not(.mp-account-notice) {
  margin: 0 0 1.25rem;
  padding: 14px 16px;
  border: 1.5px solid var(--ink) !important;
  border-radius: 0 !important;
  background: var(--concrete) !important;
  color: var(--ink) !important;
  box-shadow: none !important;
  font-family: 'Inter', sans-serif;
  font-size: 14px;
  font-weight: 500;
  line-height: 1.5;
}

.page-customer-account .page-content .alert-info:not(.mp-alert):not(.mp-account-notice),
.page-customer-account .page-content .alert-success:not(.mp-alert):not(.mp-account-notice),
.page-customer-account .page-content .alert-warning:not(.mp-alert):not(.mp-account-notice),
.page-customer-account .page-content .alert-danger:not(.mp-alert):not(.mp-account-notice) {
  border-color: var(--ink) !important;
  background: var(--concrete) !important;
  color: var(--ink) !important;
}

/* --- Avisos de stock (cuenta) --- */
.mp-mail-alerts__lead {
  margin: 0 0 1.25rem;
  font-family: 'Inter', sans-serif;
  font-size: 15px;
  line-height: 1.6;
  color: #3d3d3a;
}

.mp-mail-alerts__list {
  display: grid;
  gap: 12px;
  margin: 0 0 1.25rem;
  padding: 0;
  list-style: none;
}

.mp-mail-alerts__item {
  display: grid;
  grid-template-columns: 72px minmax(0, 1fr) auto;
  gap: 14px;
  align-items: center;
  padding: 14px;
  border: 1.5px solid var(--ink);
  background: var(--white);
}

.mp-mail-alerts__thumb {
  display: block;
  overflow: hidden;
  border: 1px solid var(--line);
  background: var(--concrete);
}

.mp-mail-alerts__image {
  display: block;
  width: 72px;
  height: 72px;
  object-fit: cover;
}

.mp-mail-alerts__body {
  min-width: 0;
}

.mp-mail-alerts__name {
  display: inline-block;
  margin: 0 0 4px;
  font-family: 'Inter', sans-serif;
  font-size: 15px;
  font-weight: 700;
  line-height: 1.35;
  color: var(--ink);
  text-decoration: none;
}

.mp-mail-alerts__name:hover,
.mp-mail-alerts__name:focus-visible {
  color: var(--lime-dark);
}

.mp-mail-alerts__attrs {
  margin: 0;
  font-family: 'IBM Plex Mono', monospace;
  font-size: 11px;
  line-height: 1.45;
  color: #7a7a72;
}

.mp-mail-alerts__remove {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  padding: 6px 10px;
  border: 1px solid var(--line);
  border-radius: 999px;
  background: var(--white);
  color: #8a3a32;
  font-family: 'IBM Plex Mono', monospace;
  font-size: 11px;
  font-weight: 600;
  letter-spacing: 0.04em;
  text-transform: uppercase;
  cursor: pointer;
  transition: border-color 0.15s ease, background-color 0.15s ease;
}

.mp-mail-alerts__remove:hover,
.mp-mail-alerts__remove:focus-visible {
  border-color: #8a3a32;
  background: #faf5f4;
  outline: none;
}

.page-content a.mp-mail-alerts__name {
  color: var(--ink);
  font-weight: 700;
}

.page-content a.mp-mail-alerts__name:hover,
.page-content a.mp-mail-alerts__name:focus-visible {
  color: var(--lime-dark);
}

@media (max-width: 860px) {
  .mp-account-notice {
    grid-template-columns: 4px minmax(0, 1fr);
  }

  .mp-account-notice__icon {
    display: none;
  }

  .mp-account-notice__content {
    padding-left: 14px;
  }

  .mp-mail-alerts__item {
    grid-template-columns: 56px minmax(0, 1fr);
    grid-template-areas:
      'thumb body'
      'remove remove';
  }

  .mp-mail-alerts__thumb {
    grid-area: thumb;
  }

  .mp-mail-alerts__body {
    grid-area: body;
  }

  .mp-mail-alerts__remove {
    grid-area: remove;
    justify-self: start;
  }

  .mp-mail-alerts__image {
    width: 56px;
    height: 56px;
  }
}

/* --- Formularios auth estrechos (login, registro, contraseña) --- */
#wrapper .columns-container.container.container--limited-sm,
#wrapper .container.container--limited-sm {
  max-width: min(480px, calc(100vw - 2rem));
}

#wrapper .columns-container.container.container--limited-md,
#wrapper .container.container--limited-md {
  max-width: min(640px, calc(100vw - 2rem));
}

/* Cultivo: bajar el mega-menú para alinear con el resto de desplegables */
.matillaplant-header .submenu--cultivo {
  --mp-submenu-gap: 14px;
  top: calc(100% + 14px) !important;
}
