/*
Theme Name: Porto Child
Theme URI: https://www.portotheme.com/wordpress/porto
Author: P-THEMES
Author URI: https://www.portotheme.com/
Description: Porto Responsive WordPress + eCommerce Theme.
Version: 2.8
Template: porto
License: Commercial
License URI: http://themeforest.net/licenses/regular_extended
Tags: woocommerce, ecommerce
*/

/* ============================================================
   VINTAGE ARCHIVE — Design Tokens
   ============================================================ */
:root {
  /* Color palette */
  --vc-wine:        #5A171A;
  --vc-wine-deep:   #3D0E10;
  --vc-wine-soft:   #7A2A2D;
  --vc-cream:       #F2EBD8;
  --vc-cream-warm:  #EFE4C9;
  --vc-paper:       #F8F2E2;
  --vc-ink:         #1F1611;
  --vc-ink-soft:    #4A3B30;
  --vc-muted:       #6B5D4F;
  --vc-gold:        #B8862E;
  --vc-gold-soft:   #D4A85A;
  --vc-gold-deep:   #8E6620;
  --vc-line:        #D9CFB6;
  --vc-line-soft:   #E8DDC4;
  --vc-card:        #FBF6E8;
  --vc-card-alt:    #ECE2C7;

  /* Shadows */
  --vc-shadow-sm:   0 1px 3px rgba(31,22,17,0.06);
  --vc-shadow-md:   0 4px 14px rgba(31,22,17,0.08);
  --vc-shadow-lg:   0 10px 30px rgba(31,22,17,0.12);
  --vc-shadow-card: 0 2px 10px rgba(31,22,17,0.06);

  /* Radius */
  --vc-r-sm: 3px;
  --vc-r-md: 6px;
  --vc-r-lg: 10px;

  /* Spacing scale */
  --vc-s-1: 4px;
  --vc-s-2: 8px;
  --vc-s-3: 12px;
  --vc-s-4: 16px;
  --vc-s-5: 24px;
  --vc-s-6: 32px;
  --vc-s-8: 48px;
  --vc-s-10: 64px;
  --vc-s-12: 96px;
  --vc-s-14: 128px;

  /* Type */
  --vc-font-serif: "Playfair Display", "Cormorant Garamond", Georgia, "Times New Roman", serif;
  --vc-font-sans:  "Inter", -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif;

  /* Type scale */
  --vc-fs-display: clamp(2.6rem, 5.4vw, 4.8rem);
  --vc-fs-h1:      clamp(2.2rem, 4vw, 3.4rem);
  --vc-fs-h2:      clamp(1.8rem, 3vw, 2.6rem);
  --vc-fs-h3:      1.5rem;
  --vc-fs-body:    16px;
  --vc-fs-small:   13px;
  --vc-fs-eyebrow: 12px;

  /* Layout */
  --vc-container: 1280px;
  --vc-section-y: clamp(48px, 8vw, 96px);
}

/* ============================================================
   GOOGLE FONTS — Playfair Display + Inter
   ============================================================ */
@import url('https://fonts.googleapis.com/css2?family=Playfair+Display:ital,wght@0,400;0,500;0,600;0,700;0,800;1,400;1,500;1,700;1,800&family=Inter:wght@300;400;500;600;700&display=swap');

/* ============================================================
   GLOBAL TYPOGRAPHY OVERRIDE
   ============================================================ */
body,
body.woocommerce,
body.single-product,
body.archive {
  font-family: var(--vc-font-sans) !important;
  color: var(--vc-ink) !important;
  background: var(--vc-cream) !important;
  font-feature-settings: "kern" 1, "liga" 1;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
}

h1, h2, h3, h4, h5,
.h1, .h2, .h3, .h4, .h5,
.product_title,
.entry-title,
.section-title h2,
.product .woocommerce-loop-product__title,
.elementor-heading-title {
  font-family: var(--vc-font-serif) !important;
  color: var(--vc-ink) !important;
  font-weight: 600 !important;
  letter-spacing: -0.01em !important;
  line-height: 1.15 !important;
}

a { color: var(--vc-wine); }
a:hover { color: var(--vc-gold); text-decoration: none; }

::selection { background: var(--vc-wine); color: var(--vc-paper); }

/* ============================================================
   TOP PROMO BAR (above header) — injected via wp_body_open
   ============================================================ */
.vc-promo-bar {
  background: var(--vc-wine-deep);
  color: var(--vc-paper);
  font-family: var(--vc-font-sans);
  font-size: 11.5px;
  letter-spacing: 0.18em;
  text-transform: uppercase;
  padding: 8px 0;
  border-bottom: 1px solid rgba(184,134,46,0.18);
  position: relative;
  z-index: 100;
}
.vc-promo-bar__inner {
  max-width: var(--vc-container);
  margin: 0 auto;
  padding: 0 24px;
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 14px;
  font-weight: 500;
  flex-wrap: wrap;
  text-align: center;
}
.vc-promo-bar__sep { opacity: 0.5; }
.vc-promo-bar__locale { color: var(--vc-gold-soft); font-weight: 600; }
@media (max-width: 600px) {
  .vc-promo-bar { font-size: 10.5px; letter-spacing: 0.12em; padding: 6px 0; }
  .vc-promo-bar__inner { gap: 8px; }
}

/* Legacy Porto top bar hooks (in case theme variant emits its own) */
.tip-bar, #header .tip-bar, header .header-top {
  background: var(--vc-wine-deep) !important;
  color: var(--vc-paper) !important;
  font-family: var(--vc-font-sans) !important;
  font-size: 11.5px !important;
  letter-spacing: 0.14em !important;
  text-transform: uppercase !important;
  padding: 6px 0 !important;
  border-bottom: 1px solid rgba(184,134,46,0.18) !important;
}
.tip-bar a, .header-top a { color: var(--vc-paper) !important; opacity: 0.95; }
.tip-bar a:hover, .header-top a:hover { color: var(--vc-gold-soft) !important; opacity: 1; }

/* ============================================================
   HEADER MAIN (wine background + gold logo word)
   ============================================================ */
header#header,
.header-builder,
.header-builder-p,
.header-wrapper,
header .header-main {
  background: var(--vc-wine) !important;
  color: var(--vc-paper) !important;
  border: none !important;
  box-shadow: 0 1px 0 rgba(184,134,46,0.18) !important;
}

/* Header logo — image was replaced on disk with gold typographic
   "demo · goesmart" PNG. Constrain its rendered height. */
header .logo a img,
.header-builder .logo a img,
.elementor-widget-porto_hb_logo a img {
  max-height: 44px !important;
  width: auto !important;
  height: auto !important;
  filter: drop-shadow(0 1px 0 rgba(0,0,0,0.15));
}
@media (max-width: 767px) {
  header .logo a img,
  .header-builder .logo a img { max-height: 32px !important; }
}

/* Main menu items */
.main-menu > li > a,
.header-builder .main-menu > li > a,
.elementor-widget-porto_hb_menu .main-menu > li > a {
  color: var(--vc-paper) !important;
  font-family: var(--vc-font-sans) !important;
  font-weight: 500 !important;
  text-transform: uppercase !important;
  font-size: 12.5px !important;
  letter-spacing: 0.14em !important;
  padding: 18px 14px !important;
  position: relative;
  background: transparent !important;
  border: none !important;
}
.main-menu > li > a:hover,
.main-menu > li.current-menu-item > a,
.main-menu > li.current-menu-parent > a {
  color: var(--vc-gold-soft) !important;
}
.main-menu > li > a::after {
  content: "";
  position: absolute;
  left: 14px;
  right: 14px;
  bottom: 10px;
  height: 1.5px;
  background: var(--vc-gold-soft);
  transform: scaleX(0);
  transform-origin: center;
  transition: transform 0.3s ease;
}
.main-menu > li:hover > a::after,
.main-menu > li.current-menu-item > a::after { transform: scaleX(0.7); }

/* Header icons (search, account, cart) */
.header-builder .nasa-icon-search,
.header-builder .nasa-icon-account,
.header-builder .nasa-cart-link,
.header-builder .nasa-search-toggle,
.header-builder .porto-icon-search,
.header-builder .header-icon,
header .header-right .pwb-icon i,
header a[class*="header"] i {
  color: var(--vc-paper) !important;
}
.header-builder .nasa-cart-link:hover,
.header-builder .nasa-icon-search:hover,
.header-builder .nasa-icon-account:hover { color: var(--vc-gold-soft) !important; }

/* Mini cart count badge */
.cart-items-count,
.cart-count,
.minicart-icon .cart-items-count {
  background: var(--vc-gold) !important;
  color: var(--vc-wine-deep) !important;
  font-weight: 700 !important;
}

/* Mega menu / submenu — cream background */
.main-menu .sub-menu,
.main-menu .mega-menu,
.main-menu .porto-narrow-sub-menu {
  background: var(--vc-paper) !important;
  border: 1px solid var(--vc-line) !important;
  box-shadow: var(--vc-shadow-md) !important;
  border-radius: var(--vc-r-md) !important;
  padding: 10px 0 !important;
}
.main-menu .sub-menu a,
.main-menu .mega-menu a {
  color: var(--vc-ink) !important;
  font-size: 13px !important;
  letter-spacing: 0.04em !important;
  padding: 8px 16px !important;
  text-transform: none !important;
}
.main-menu .sub-menu a:hover { color: var(--vc-wine) !important; background: var(--vc-cream-warm) !important; }

/* ============================================================
   BUTTONS — vintage CTA
   ============================================================ */
.btn-vc-primary,
.btn-vc-primary:visited {
  display: inline-flex;
  align-items: center;
  gap: 12px;
  background: var(--vc-wine);
  color: var(--vc-paper) !important;
  font-family: var(--vc-font-sans);
  font-weight: 600;
  letter-spacing: 0.12em;
  text-transform: uppercase;
  font-size: 12.5px;
  padding: 14px 28px;
  border-radius: 2px;
  border: 1px solid var(--vc-wine);
  text-decoration: none !important;
  transition: all 0.25s ease;
  box-shadow: var(--vc-shadow-sm);
  cursor: pointer;
}
.btn-vc-primary:hover {
  background: var(--vc-wine-deep);
  border-color: var(--vc-gold);
  color: var(--vc-gold-soft) !important;
  box-shadow: var(--vc-shadow-md);
}
.btn-vc-primary .arrow { display: inline-block; transition: transform .25s ease; }
.btn-vc-primary:hover .arrow { transform: translateX(4px); }

.btn-vc-ghost {
  display: inline-flex;
  align-items: center;
  gap: 10px;
  background: transparent;
  color: var(--vc-wine) !important;
  font-family: var(--vc-font-sans);
  font-weight: 600;
  letter-spacing: 0.12em;
  text-transform: uppercase;
  font-size: 12px;
  padding: 12px 26px;
  border: 1.5px solid var(--vc-wine);
  border-radius: 2px;
  text-decoration: none !important;
  transition: all 0.25s ease;
}
.btn-vc-ghost:hover { background: var(--vc-wine); color: var(--vc-paper) !important; }

/* WooCommerce buttons → vintage */
.woocommerce a.button,
.woocommerce button.button,
.woocommerce input.button,
.woocommerce #respond input#submit,
.woocommerce .button,
.woocommerce-page .button,
.product .add_to_cart_button,
.single_add_to_cart_button {
  background: var(--vc-wine) !important;
  color: var(--vc-paper) !important;
  font-family: var(--vc-font-sans) !important;
  text-transform: uppercase !important;
  letter-spacing: 0.1em !important;
  font-weight: 600 !important;
  font-size: 12.5px !important;
  padding: 12px 22px !important;
  border-radius: 2px !important;
  border: 1px solid var(--vc-wine) !important;
  box-shadow: none !important;
  transition: all 0.25s ease !important;
}
.woocommerce a.button:hover,
.woocommerce button.button:hover,
.woocommerce .button:hover,
.product .add_to_cart_button:hover,
.single_add_to_cart_button:hover {
  background: var(--vc-wine-deep) !important;
  color: var(--vc-gold-soft) !important;
  border-color: var(--vc-gold) !important;
}

/* ============================================================
   ARCHIVE HERO (custom front page)
   ============================================================ */
.archive-hero {
  position: relative;
  background: var(--vc-cream);
  overflow: hidden;
  padding: clamp(40px, 6vw, 88px) 0 clamp(48px, 7vw, 100px);
  border-bottom: 1px solid var(--vc-line);
}
.archive-hero::before {
  content: "";
  position: absolute; inset: 0;
  background-image:
    radial-gradient(circle at 20% 0%, rgba(184,134,46,0.06), transparent 40%),
    radial-gradient(circle at 90% 100%, rgba(90,23,26,0.05), transparent 50%),
    repeating-linear-gradient(0deg, rgba(31,22,17,0.012) 0 1px, transparent 1px 4px),
    repeating-linear-gradient(90deg, rgba(31,22,17,0.012) 0 1px, transparent 1px 4px);
  pointer-events: none;
}
.archive-hero__container {
  max-width: var(--vc-container);
  margin: 0 auto;
  padding: 0 24px;
  position: relative;
}
.archive-hero__grid {
  display: grid;
  grid-template-columns: 1.1fr 1fr;
  gap: clamp(24px, 4vw, 64px);
  align-items: center;
}
.archive-hero__eyebrow {
  display: inline-flex;
  align-items: center;
  gap: 10px;
  color: var(--vc-gold-deep);
  font-size: 11.5px;
  text-transform: uppercase;
  letter-spacing: 0.28em;
  font-weight: 600;
  margin-bottom: 28px;
}
.archive-hero__eyebrow::before,
.archive-hero__eyebrow::after {
  content: "";
  width: 28px;
  height: 1px;
  background: var(--vc-gold);
}
.archive-hero__title {
  font-family: var(--vc-font-serif) !important;
  font-size: var(--vc-fs-display);
  font-weight: 700 !important;
  line-height: 1.02 !important;
  color: var(--vc-ink) !important;
  margin: 0 0 24px !important;
  letter-spacing: -0.02em !important;
}
.archive-hero__title em {
  font-style: italic;
  color: var(--vc-wine);
  display: block;
  font-weight: 700;
}
.archive-hero__lead {
  font-family: var(--vc-font-sans);
  color: var(--vc-ink-soft);
  font-size: 15.5px;
  line-height: 1.65;
  max-width: 460px;
  margin: 0 0 36px;
}
.archive-hero__visual {
  position: relative;
  aspect-ratio: 4/3;
  background: linear-gradient(135deg, #d8c69a 0%, #b8956a 60%, #8a6740 100%);
  border-radius: var(--vc-r-md);
  overflow: hidden;
  box-shadow: var(--vc-shadow-lg);
}
.archive-hero__visual::before {
  content: "";
  position: absolute; inset: 0;
  background-image:
    radial-gradient(ellipse at 30% 30%, rgba(255,250,235,0.55), transparent 55%),
    repeating-linear-gradient(45deg, rgba(74,59,48,0.035) 0 2px, transparent 2px 6px);
}
.archive-hero__visual img {
  position: absolute;
  inset: 8% 8% 8% 8%;
  width: 84%;
  height: 84%;
  object-fit: contain;
  filter: drop-shadow(0 18px 30px rgba(31,22,17,0.4));
  z-index: 2;
}
.archive-hero__visual-empty {
  position: absolute; inset: 0;
  display: flex; align-items: center; justify-content: center;
  font-family: var(--vc-font-serif);
  font-style: italic;
  font-size: 28px;
  color: rgba(31,22,17,0.45);
}
.archive-hero__stamp {
  position: absolute;
  right: 16px;
  bottom: 16px;
  width: 78px;
  height: 78px;
  border-radius: 50%;
  background: var(--vc-wine-deep);
  color: var(--vc-gold-soft);
  display: flex; align-items: center; justify-content: center;
  font-family: var(--vc-font-serif);
  font-size: 11px;
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: 0.16em;
  text-align: center;
  line-height: 1.2;
  border: 2px solid var(--vc-gold);
  box-shadow: var(--vc-shadow-md);
  transform: rotate(-8deg);
  z-index: 3;
  padding: 8px;
}

/* ============================================================
   SECTION TITLE — editorial centered with rule lines
   ============================================================ */
.vc-section { padding: var(--vc-section-y) 0; position: relative; }
.vc-section--paper { background: var(--vc-paper); }
.vc-section--cream { background: var(--vc-cream); }
.vc-section--ink { background: var(--vc-ink); color: var(--vc-paper); }

.vc-container {
  max-width: var(--vc-container);
  margin: 0 auto;
  padding: 0 24px;
}

.vc-section-head {
  text-align: center;
  margin-bottom: clamp(32px, 5vw, 56px);
}
.vc-section-head__eyebrow {
  display: inline-flex;
  align-items: center;
  gap: 12px;
  color: var(--vc-gold-deep);
  font-family: var(--vc-font-sans);
  font-size: 11px;
  letter-spacing: 0.32em;
  text-transform: uppercase;
  font-weight: 600;
  margin-bottom: 14px;
}
.vc-section-head__eyebrow::before,
.vc-section-head__eyebrow::after {
  content: ""; width: 36px; height: 1px; background: var(--vc-gold);
}
.vc-section-head h2 {
  font-family: var(--vc-font-serif) !important;
  font-size: var(--vc-fs-h1) !important;
  font-weight: 700 !important;
  color: var(--vc-ink) !important;
  margin: 0 !important;
  letter-spacing: -0.015em !important;
}
.vc-section-head__sub {
  margin-top: 14px;
  color: var(--vc-ink-soft);
  font-size: 14.5px;
  max-width: 520px;
  margin-left: auto;
  margin-right: auto;
  line-height: 1.6;
}

/* ============================================================
   PRODUCT CARDS — vintage paper card
   ============================================================ */
.vc-grid {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: clamp(16px, 2vw, 28px);
}
@media (max-width: 991px) { .vc-grid { grid-template-columns: repeat(2, 1fr); } }
@media (max-width: 480px) { .vc-grid { grid-template-columns: 1fr; } }

.vc-card {
  background: var(--vc-card);
  border: 1px solid var(--vc-line);
  border-radius: var(--vc-r-md);
  padding: 18px 18px 22px;
  text-align: center;
  position: relative;
  transition: all 0.3s ease;
  overflow: hidden;
}
.vc-card:hover {
  transform: translateY(-3px);
  box-shadow: var(--vc-shadow-lg);
  border-color: var(--vc-gold-soft);
}
.vc-card__heart {
  position: absolute; top: 14px; right: 14px;
  width: 32px; height: 32px;
  display: flex; align-items: center; justify-content: center;
  color: var(--vc-muted);
  background: rgba(248,242,226,0.85);
  border-radius: 50%;
  cursor: pointer;
  transition: color 0.2s ease;
  z-index: 2;
}
.vc-card__heart:hover { color: var(--vc-wine); }
.vc-card__media {
  position: relative;
  aspect-ratio: 1/1;
  background: var(--vc-paper);
  border-radius: var(--vc-r-sm);
  overflow: hidden;
  margin-bottom: 18px;
}
.vc-card__media img {
  width: 100%; height: 100%;
  object-fit: contain;
  padding: 8px;
  transition: transform 0.5s ease;
}
.vc-card:hover .vc-card__media img { transform: scale(1.05); }
.vc-card__title {
  font-family: var(--vc-font-serif);
  font-size: 16px !important;
  font-weight: 600;
  color: var(--vc-ink);
  margin: 0 0 8px !important;
  line-height: 1.35;
  min-height: 2.7em;
  display: -webkit-box;
  -webkit-line-clamp: 2;
  -webkit-box-orient: vertical;
  overflow: hidden;
}
.vc-card__title a { color: var(--vc-ink); text-decoration: none; }
.vc-card__title a:hover { color: var(--vc-wine); }
.vc-card__price {
  font-family: var(--vc-font-serif);
  font-weight: 700;
  font-size: 18px;
  color: var(--vc-wine);
  margin-bottom: 12px;
}
.vc-card__price del { color: var(--vc-muted); font-size: 14px; margin-right: 6px; font-weight: 400; }
.vc-card__badge {
  display: inline-flex;
  align-items: center;
  gap: 5px;
  font-size: 10.5px;
  text-transform: uppercase;
  letter-spacing: 0.16em;
  color: var(--vc-gold-deep);
  font-weight: 600;
}
.vc-card__badge::before {
  content: "★";
  color: var(--vc-gold);
}

/* WooCommerce product list/loop overrides — apply vintage styling */
.products .product,
.woocommerce ul.products li.product {
  background: var(--vc-card) !important;
  border: 1px solid var(--vc-line) !important;
  border-radius: var(--vc-r-md) !important;
  padding: 16px !important;
  text-align: center !important;
  transition: all 0.3s ease !important;
  box-shadow: none !important;
  margin-bottom: 24px !important;
}
.products .product:hover,
.woocommerce ul.products li.product:hover {
  transform: translateY(-3px);
  box-shadow: var(--vc-shadow-lg) !important;
  border-color: var(--vc-gold-soft) !important;
}
.products .product .woocommerce-loop-product__title,
.woocommerce ul.products li.product .woocommerce-loop-product__title {
  font-family: var(--vc-font-serif) !important;
  font-size: 15px !important;
  font-weight: 600 !important;
  color: var(--vc-ink) !important;
  letter-spacing: 0 !important;
  text-transform: none !important;
  padding: 12px 4px 6px !important;
}
.products .product .price,
.woocommerce ul.products li.product .price,
.woocommerce-Price-amount {
  font-family: var(--vc-font-serif) !important;
  color: var(--vc-wine) !important;
  font-weight: 700 !important;
  font-size: 17px !important;
}
.products .product .price del,
.woocommerce ul.products li.product .price del { opacity: 0.55; font-weight: 400; }

/* Onsale badge */
.woocommerce span.onsale,
.products .product .onsale {
  background: var(--vc-wine) !important;
  color: var(--vc-gold-soft) !important;
  font-family: var(--vc-font-sans) !important;
  font-weight: 600 !important;
  font-size: 11px !important;
  letter-spacing: 0.12em !important;
  text-transform: uppercase !important;
  border-radius: 2px !important;
  padding: 4px 10px !important;
  border: none !important;
  min-height: 0 !important;
  min-width: 0 !important;
  line-height: 1.2 !important;
}

/* ============================================================
   FEATURE TRIPLE — 3 column story (Autenticidad / Décadas / Historia)
   ============================================================ */
.vc-triple {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 24px;
}
@media (max-width: 768px) { .vc-triple { grid-template-columns: 1fr; } }

.vc-triple__card {
  position: relative;
  min-height: 220px;
  border-radius: var(--vc-r-md);
  overflow: hidden;
  padding: 32px 28px;
  display: flex;
  flex-direction: column;
  justify-content: flex-end;
  color: var(--vc-paper);
  background-color: var(--vc-wine-deep);
  background-blend-mode: multiply;
  background-size: cover;
  background-position: center;
  transition: all 0.3s ease;
  cursor: pointer;
  text-decoration: none !important;
}
.vc-triple__card::before {
  content: "";
  position: absolute; inset: 0;
  background: linear-gradient(140deg, rgba(90,23,26,0.85) 0%, rgba(31,22,17,0.92) 100%);
  z-index: 1;
}
.vc-triple__card:hover {
  transform: translateY(-3px);
  box-shadow: var(--vc-shadow-lg);
}
.vc-triple__card > * { position: relative; z-index: 2; }
.vc-triple__icon {
  width: 44px; height: 44px;
  border: 1.5px solid var(--vc-gold-soft);
  border-radius: 50%;
  display: flex; align-items: center; justify-content: center;
  color: var(--vc-gold-soft);
  margin-bottom: 16px;
  font-size: 18px;
  font-family: var(--vc-font-serif);
}
.vc-triple__title {
  font-family: var(--vc-font-serif);
  font-size: 22px;
  color: var(--vc-paper);
  margin: 0 0 8px;
  font-weight: 600;
  letter-spacing: 0.02em;
  text-transform: uppercase;
}
.vc-triple__sub {
  font-family: var(--vc-font-sans);
  font-size: 13.5px;
  color: rgba(248,242,226,0.78);
  line-height: 1.55;
  margin: 0 0 18px;
}
.vc-triple__cta {
  font-family: var(--vc-font-sans);
  font-size: 11.5px;
  color: var(--vc-gold-soft);
  text-transform: uppercase;
  letter-spacing: 0.18em;
  font-weight: 600;
  display: inline-flex;
  align-items: center;
  gap: 8px;
  border-bottom: 1px solid var(--vc-gold-soft);
  padding-bottom: 4px;
  align-self: flex-start;
}
.vc-triple__card:nth-child(1) {
  background-image: linear-gradient(135deg, rgba(184,134,46,0.4), rgba(31,22,17,0.6));
}
.vc-triple__card:nth-child(2) {
  background-image: linear-gradient(135deg, rgba(90,23,26,0.5), rgba(31,22,17,0.7));
}
.vc-triple__card:nth-child(3) {
  background-image: linear-gradient(135deg, rgba(74,59,48,0.4), rgba(31,22,17,0.7));
}

/* ============================================================
   NEWSLETTER (cream band)
   ============================================================ */
.vc-newsletter {
  background: var(--vc-cream-warm);
  border-top: 1px solid var(--vc-line);
  border-bottom: 1px solid var(--vc-line);
  padding: 38px 0;
}
.vc-newsletter__row {
  display: grid;
  grid-template-columns: auto 1fr auto;
  gap: 24px;
  align-items: center;
  max-width: 1080px;
  margin: 0 auto;
  padding: 0 24px;
}
@media (max-width: 768px) {
  .vc-newsletter__row { grid-template-columns: 1fr; text-align: center; }
}
.vc-newsletter__icon {
  width: 56px; height: 56px;
  background: var(--vc-wine);
  color: var(--vc-gold-soft);
  border-radius: 50%;
  display: flex; align-items: center; justify-content: center;
  font-size: 22px;
  margin: 0 auto;
}
.vc-newsletter__text h3 {
  font-family: var(--vc-font-serif) !important;
  font-size: 22px !important;
  margin: 0 0 4px !important;
  color: var(--vc-ink) !important;
  font-weight: 700 !important;
}
.vc-newsletter__text p {
  margin: 0;
  color: var(--vc-ink-soft);
  font-size: 14px;
}
.vc-newsletter__form {
  display: flex;
  gap: 0;
  background: var(--vc-paper);
  border: 1px solid var(--vc-line);
  border-radius: 2px;
  overflow: hidden;
  min-width: 380px;
}
@media (max-width: 768px) { .vc-newsletter__form { min-width: 0; width: 100%; } }
.vc-newsletter__form input[type="email"] {
  flex: 1;
  border: none !important;
  background: transparent !important;
  padding: 14px 18px !important;
  font-family: var(--vc-font-sans);
  font-size: 14px;
  color: var(--vc-ink);
  outline: none !important;
  box-shadow: none !important;
  height: 48px !important;
  margin: 0 !important;
}
.vc-newsletter__form button {
  background: var(--vc-wine) !important;
  color: var(--vc-paper) !important;
  border: none !important;
  padding: 14px 26px !important;
  font-family: var(--vc-font-sans) !important;
  font-weight: 600 !important;
  font-size: 12.5px !important;
  letter-spacing: 0.14em !important;
  text-transform: uppercase !important;
  cursor: pointer;
  transition: background 0.25s ease;
}
.vc-newsletter__form button:hover { background: var(--vc-wine-deep) !important; }

/* ============================================================
   TRUST BAND (4 icons)
   ============================================================ */
.vc-trust {
  background: var(--vc-paper);
  padding: 28px 0;
  border-bottom: 1px solid var(--vc-line);
}
.vc-trust__row {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 24px;
  max-width: var(--vc-container);
  margin: 0 auto;
  padding: 0 24px;
}
@media (max-width: 768px) { .vc-trust__row { grid-template-columns: repeat(2, 1fr); gap: 18px; } }
.vc-trust__item {
  display: flex; align-items: center; gap: 14px;
  font-family: var(--vc-font-sans);
  font-size: 13px;
  color: var(--vc-ink-soft);
}
.vc-trust__item__icon {
  width: 40px; height: 40px;
  background: var(--vc-cream-warm);
  color: var(--vc-wine);
  border-radius: 50%;
  display: flex; align-items: center; justify-content: center;
  flex-shrink: 0;
  font-size: 16px;
}
.vc-trust__item strong {
  display: block;
  color: var(--vc-ink);
  font-weight: 600;
  margin-bottom: 2px;
  font-size: 13.5px;
}

/* ============================================================
   FOOTER — dark ink + 4 column
   ============================================================ */
footer#footer,
.footer-builder,
.footer-wrapper,
#footer {
  background: var(--vc-ink) !important;
  color: var(--vc-cream-warm) !important;
  border-top: 4px solid var(--vc-wine) !important;
  font-family: var(--vc-font-sans) !important;
  padding-top: 56px !important;
  padding-bottom: 24px !important;
}
#footer .elementor-section,
#footer .elementor-container { background: transparent !important; }
#footer .elementor-top-section { padding: 24px 0 !important; }
#footer .elementor-column { padding: 16px !important; }
#footer * { color: inherit; }
#footer a {
  color: var(--vc-cream-warm) !important;
  font-size: 13.5px !important;
  text-decoration: none !important;
  opacity: 0.85;
  transition: all 0.2s ease;
}
#footer a:hover { color: var(--vc-gold-soft) !important; opacity: 1; }
#footer h3, #footer h4, #footer h5,
#footer .widget-title,
#footer .widgettitle {
  font-family: var(--vc-font-serif) !important;
  color: var(--vc-paper) !important;
  font-size: 14px !important;
  text-transform: uppercase !important;
  letter-spacing: 0.18em !important;
  font-weight: 600 !important;
  margin-bottom: 18px !important;
  padding-bottom: 12px !important;
  border-bottom: 1px solid rgba(184,134,46,0.25) !important;
  position: relative;
}
#footer h3::after, #footer h4::after, #footer .widget-title::after, #footer .widgettitle::after {
  content: "";
  position: absolute;
  left: 0; bottom: -1px;
  width: 36px; height: 1px;
  background: var(--vc-gold);
}
#footer ul, #footer .menu { list-style: none !important; padding: 0 !important; margin: 0 !important; }
#footer li { padding: 6px 0 !important; border: none !important; line-height: 1.4 !important; }

#footer .copyright,
#footer .footer-bottom,
.footer-bottom {
  background: var(--vc-wine-deep) !important;
  color: var(--vc-cream-warm) !important;
  padding: 18px 0 !important;
  font-size: 12.5px !important;
  border-top: 1px solid rgba(184,134,46,0.18) !important;
}
.footer-bottom a, .copyright a { color: var(--vc-gold-soft) !important; }

/* Footer logo / brand block */
.vc-footer-brand {
  margin-bottom: 16px;
}
.vc-footer-brand__logo {
  font-family: var(--vc-font-serif);
  font-style: italic;
  font-size: 26px;
  font-weight: 700;
  color: var(--vc-gold-soft);
  margin-bottom: 10px;
}
.vc-footer-brand__tag {
  font-size: 13px;
  color: rgba(242,235,216,0.6);
  line-height: 1.55;
  max-width: 260px;
}

/* Force visibility on Elementor footer columns (animation can leave them
   stuck at opacity:0 in headless / cached snapshots). */
#footer .elementor-invisible,
#footer [data-settings*="animation"] {
  opacity: 1 !important;
  visibility: visible !important;
  transform: none !important;
  animation: none !important;
}

/* Footer porto info-box service icons (top row) — vintage skin */
#footer .porto-sicon-box,
#footer .porto-info-box {
  background: rgba(184,134,46,0.06) !important;
  border: 1px solid rgba(184,134,46,0.22) !important;
  padding: 20px 18px !important;
  border-radius: var(--vc-r-md) !important;
  display: flex !important;
  align-items: center !important;
  gap: 16px !important;
  min-height: 84px !important;
}
#footer .porto-sicon-default,
#footer .porto-sicon-header { flex-shrink: 0; }
#footer .porto-sicon-header { flex: 1; }
#footer .porto-sicon-title {
  margin: 0 0 4px !important;
  color: var(--vc-paper) !important;
  font-size: 15px !important;
  letter-spacing: 0.02em !important;
}
#footer .porto-sicon-description p,
#footer .porto-info-box p {
  margin: 0 !important;
  color: var(--vc-cream-warm) !important;
  opacity: 0.85;
  font-size: 12.5px !important;
  line-height: 1.5 !important;
}
#footer .porto-sicon-title,
#footer .porto-info-box h2,
#footer .porto-info-box h3 {
  color: var(--vc-paper) !important;
  font-family: var(--vc-font-serif) !important;
  font-size: 16px !important;
  font-weight: 600 !important;
  letter-spacing: 0.04em !important;
  text-transform: none !important;
  border: none !important;
  margin: 4px 0 6px !important;
  padding: 0 !important;
}
#footer .porto-sicon-title::after,
#footer .porto-info-box h2::after,
#footer .porto-info-box h3::after { display: none !important; }
#footer .porto-sicon-description,
#footer .porto-info-box p {
  color: rgba(242,235,216,0.7) !important;
  font-size: 13px !important;
  line-height: 1.55 !important;
  margin: 0 !important;
}
#footer .porto-icon i,
#footer .porto-just-icon-wrapper i {
  color: var(--vc-gold-soft) !important;
  font-size: 24px !important;
}

/* Hide the legacy NBA-Store image / external 3rd party logo image inside footer */
#footer img[alt*="NBA"],
#footer img[alt*="Without Breaking"],
#footer .elementor-widget-image img[src*="logo"] {
  display: none !important;
}

/* Footer paragraph text */
#footer p,
#footer .elementor-widget-text-editor p,
#footer .elementor-widget-heading,
#footer .elementor-icon-list-text,
#footer .elementor-icon-list-item a {
  color: var(--vc-cream-warm) !important;
  opacity: 0.85;
  font-size: 13.5px !important;
  line-height: 1.65 !important;
}

/* Porto Ultimate Heading widget — used in footer columns */
#footer .porto-u-heading,
#footer .porto-u-main-heading,
#footer .porto-u-sub-heading,
#footer .porto-u-heading * {
  color: var(--vc-cream-warm) !important;
  opacity: 1 !important;
  visibility: visible !important;
}
#footer .porto-u-main-heading h2,
#footer .porto-u-main-heading h3,
#footer .porto-u-main-heading h4 {
  font-family: var(--vc-font-serif) !important;
  color: var(--vc-paper) !important;
  font-size: 14px !important;
  font-weight: 600 !important;
  text-transform: uppercase !important;
  letter-spacing: 0.18em !important;
  margin-bottom: 18px !important;
  padding-bottom: 12px !important;
  border-bottom: 1px solid rgba(184,134,46,0.25) !important;
  position: relative;
}
#footer .porto-u-main-heading h2::after,
#footer .porto-u-main-heading h3::after,
#footer .porto-u-main-heading h4::after {
  content: "";
  position: absolute;
  left: 0; bottom: -1px;
  width: 36px; height: 1px;
  background: var(--vc-gold);
}
#footer .porto-u-sub-heading ul.list,
#footer .porto-u-sub-heading ul.list-unstyled,
#footer ul.list-unstyled {
  list-style: none !important;
  padding: 0 !important;
  margin: 0 !important;
  display: block !important;
}
#footer .porto-u-sub-heading ul li,
#footer ul.list-unstyled li {
  display: block !important;
  padding: 7px 0 !important;
  margin: 0 !important;
  border: none !important;
  visibility: visible !important;
  opacity: 1 !important;
  font-size: 13.5px !important;
  line-height: 1.5 !important;
  list-style: none !important;
}
#footer .porto-u-sub-heading ul li a,
#footer ul.list-unstyled li a {
  color: var(--vc-cream-warm) !important;
  font-size: 13.5px !important;
  letter-spacing: 0.02em !important;
  text-decoration: none !important;
  opacity: 0.85;
  display: inline-block !important;
  visibility: visible !important;
  text-transform: none !important;
  font-weight: 400 !important;
  font-family: var(--vc-font-sans) !important;
}
#footer .porto-u-sub-heading ul li a:hover,
#footer ul.list-unstyled li a:hover {
  color: var(--vc-gold-soft) !important;
  opacity: 1;
  padding-left: 4px;
}
/* Inline override style="..." inserted by Porto on porto-u-heading — kill */
#footer .porto-u-heading [style*="color"],
#footer .porto-u-sub-heading [style*="color"] {
  color: var(--vc-cream-warm) !important;
}
/* Hide inline style tags that Porto injects between widgets */
#footer .porto-u-heading + style { display: none !important; }

/* Social icons in footer */
#footer .elementor-social-icon,
#footer .nasa-soc-link {
  background: transparent !important;
  color: var(--vc-gold-soft) !important;
  border: 1px solid rgba(212,168,90,0.3) !important;
  width: 36px !important;
  height: 36px !important;
  border-radius: 50% !important;
  margin-right: 6px !important;
}
#footer .elementor-social-icon:hover,
#footer .nasa-soc-link:hover {
  background: var(--vc-wine) !important;
  border-color: var(--vc-wine) !important;
  color: var(--vc-paper) !important;
}

/* Footer payment icon strip — soften */
#footer .payment-icons,
#footer img[alt*="payment"],
#footer img[alt*="Visa"],
#footer img[alt*="card"] {
  opacity: 0.7;
  filter: grayscale(0.3);
}

/* ============================================================
   BREADCRUMB / PAGE HEAD (PLP / pages)
   ============================================================ */
.page-header,
.page-top,
.archive-page-title,
.woocommerce-products-header,
body.archive .page-title-section,
.page-title-section {
  background: var(--vc-paper) !important;
  border-bottom: 1px solid var(--vc-line) !important;
  padding: clamp(36px, 6vw, 72px) 0 !important;
}
.page-header h1,
.page-top h1,
.woocommerce-products-header__title,
.page-title-section h1,
.entry-title {
  font-family: var(--vc-font-serif) !important;
  color: var(--vc-ink) !important;
  font-size: clamp(2rem, 4vw, 3rem) !important;
  font-weight: 700 !important;
  letter-spacing: -0.01em !important;
}
.breadcrumb,
.woocommerce-breadcrumb {
  background: transparent !important;
  font-family: var(--vc-font-sans) !important;
  font-size: 12px !important;
  letter-spacing: 0.08em !important;
  text-transform: uppercase !important;
  color: var(--vc-muted) !important;
  padding: 8px 0 !important;
}
.breadcrumb a, .woocommerce-breadcrumb a { color: var(--vc-wine) !important; }

/* ============================================================
   SHOP / PLP — sidebar + grid
   ============================================================ */
body.archive.woocommerce {
  background: var(--vc-cream) !important;
}
body.archive .widget,
body.archive .widget_product_categories,
body.archive .widget_layered_nav {
  background: var(--vc-paper);
  padding: 20px 22px;
  border: 1px solid var(--vc-line);
  border-radius: var(--vc-r-md);
  margin-bottom: 20px;
}
body.archive .widget .widget-title,
body.archive .widgettitle {
  font-family: var(--vc-font-serif) !important;
  font-size: 16px !important;
  color: var(--vc-ink) !important;
  text-transform: uppercase !important;
  letter-spacing: 0.16em !important;
  font-weight: 600 !important;
  border-bottom: 1px solid var(--vc-line) !important;
  padding-bottom: 12px !important;
  margin-bottom: 14px !important;
}
body.archive .widget ul li {
  border-bottom: 1px dashed var(--vc-line-soft) !important;
  padding: 8px 0 !important;
  font-size: 14px;
}
body.archive .widget ul li:last-child { border-bottom: none !important; }

.woocommerce-result-count {
  font-family: var(--vc-font-sans) !important;
  color: var(--vc-muted) !important;
  font-size: 13px !important;
  letter-spacing: 0.04em !important;
}
.woocommerce-ordering select {
  background: var(--vc-paper) !important;
  border: 1px solid var(--vc-line) !important;
  border-radius: 2px !important;
  padding: 8px 14px !important;
  color: var(--vc-ink) !important;
  font-family: var(--vc-font-sans) !important;
  font-size: 13px !important;
}

/* Pagination */
.woocommerce nav.woocommerce-pagination ul li a,
.woocommerce nav.woocommerce-pagination ul li span {
  background: var(--vc-paper) !important;
  border: 1px solid var(--vc-line) !important;
  color: var(--vc-ink) !important;
  font-family: var(--vc-font-serif) !important;
  font-weight: 600 !important;
  border-radius: 2px !important;
  padding: 8px 14px !important;
  margin: 0 3px !important;
}
.woocommerce nav.woocommerce-pagination ul li span.current,
.woocommerce nav.woocommerce-pagination ul li a:hover {
  background: var(--vc-wine) !important;
  color: var(--vc-paper) !important;
  border-color: var(--vc-wine) !important;
}

/* ============================================================
   PDP — Single Product
   ============================================================ */
body.single-product {
  background: var(--vc-paper) !important;
}
.single-product div.product .product_title {
  font-family: var(--vc-font-serif) !important;
  color: var(--vc-ink) !important;
  font-size: clamp(1.8rem, 3vw, 2.4rem) !important;
  font-weight: 700 !important;
  margin-bottom: 14px !important;
  line-height: 1.15 !important;
}
.single-product div.product .price,
.single-product div.product .woocommerce-Price-amount {
  font-family: var(--vc-font-serif) !important;
  color: var(--vc-wine) !important;
  font-size: 28px !important;
  font-weight: 700 !important;
}
.single-product div.product .summary {
  padding-left: clamp(20px, 3vw, 36px);
}
.single-product .woocommerce-product-details__short-description {
  color: var(--vc-ink-soft);
  font-size: 14.5px;
  line-height: 1.7;
  border-top: 1px solid var(--vc-line);
  border-bottom: 1px solid var(--vc-line);
  padding: 18px 0;
  margin: 18px 0;
}
.single-product .stock {
  font-family: var(--vc-font-sans) !important;
  font-size: 13px !important;
  letter-spacing: 0.08em !important;
  text-transform: uppercase !important;
  font-weight: 600 !important;
}
.single-product .stock.in-stock { color: #2e6f3e !important; }
.single-product .stock.out-of-stock { color: var(--vc-wine) !important; }
.single-product .images img {
  border-radius: var(--vc-r-md) !important;
  background: var(--vc-paper) !important;
  border: 1px solid var(--vc-line) !important;
}
.single-product .product_meta {
  font-size: 12.5px !important;
  color: var(--vc-muted) !important;
  border-top: 1px solid var(--vc-line);
  padding-top: 14px;
  margin-top: 14px;
}
.single-product .product_meta a { color: var(--vc-wine) !important; }
.single-product table.variations select {
  border: 1px solid var(--vc-line) !important;
  background: var(--vc-paper) !important;
  padding: 10px 14px !important;
  font-family: var(--vc-font-sans) !important;
  border-radius: 2px !important;
  height: 42px !important;
}
.single-product .quantity input.qty {
  border: 1px solid var(--vc-line) !important;
  background: var(--vc-paper) !important;
  padding: 10px !important;
  border-radius: 2px !important;
  height: 50px !important;
  font-family: var(--vc-font-serif) !important;
  font-weight: 600 !important;
  font-size: 16px !important;
}
.single-product .single_add_to_cart_button {
  height: 50px !important;
  padding: 0 32px !important;
  font-size: 13px !important;
  letter-spacing: 0.16em !important;
}

/* PDP tabs */
.woocommerce div.product .woocommerce-tabs ul.tabs {
  border-bottom: 2px solid var(--vc-line) !important;
  padding: 0 !important;
  margin-bottom: 28px !important;
}
.woocommerce div.product .woocommerce-tabs ul.tabs li {
  background: transparent !important;
  border: none !important;
  border-bottom: 2px solid transparent !important;
  border-radius: 0 !important;
  margin: 0 8px 0 0 !important;
  padding: 0 !important;
}
.woocommerce div.product .woocommerce-tabs ul.tabs li a {
  font-family: var(--vc-font-sans) !important;
  font-weight: 600 !important;
  font-size: 12.5px !important;
  letter-spacing: 0.16em !important;
  text-transform: uppercase !important;
  color: var(--vc-muted) !important;
  padding: 14px 18px !important;
}
.woocommerce div.product .woocommerce-tabs ul.tabs li.active {
  border-bottom-color: var(--vc-wine) !important;
}
.woocommerce div.product .woocommerce-tabs ul.tabs li.active a {
  color: var(--vc-wine) !important;
}
.woocommerce div.product .woocommerce-tabs .panel {
  font-family: var(--vc-font-sans) !important;
  color: var(--vc-ink-soft) !important;
  font-size: 14.5px !important;
  line-height: 1.75 !important;
}
.woocommerce div.product .woocommerce-tabs .panel h2 {
  font-family: var(--vc-font-serif) !important;
  color: var(--vc-ink) !important;
  font-size: 22px !important;
  margin-bottom: 14px !important;
}

/* ============================================================
   FORM elements (contact / newsletter / search)
   ============================================================ */
input[type="text"], input[type="email"], input[type="search"], textarea, select {
  font-family: var(--vc-font-sans);
}
.search-form input[type="search"] {
  border: 1px solid var(--vc-line) !important;
  border-radius: 2px !important;
  padding: 12px 16px !important;
  background: var(--vc-paper) !important;
}

/* ============================================================
   MOBILE CONSTRAINTS — sticky header / bottom bar / scroll-margin
   ============================================================ */
@media (max-width: 991px) {
  /* Sticky header max 60px */
  .sticky-header,
  .header-builder.sticky-header,
  .stuck-header {
    max-height: 60px !important;
    min-height: 0 !important;
    padding-top: 4px !important;
    padding-bottom: 4px !important;
  }
  .sticky-header .logo a,
  .stuck-header .logo a {
    font-size: 22px !important;
  }
  .sticky-header .main-menu > li > a {
    padding: 16px 10px !important;
    font-size: 11px !important;
  }
  /* archive-hero on mobile */
  .archive-hero__grid { grid-template-columns: 1fr !important; gap: 28px !important; }
  .archive-hero__visual { aspect-ratio: 1/1; }
  /* sticky bottom bar (Porto/Nasa) z-index ≤ 5 */
  .nasa-sticky-mobile-buttons,
  .sticky-mobile-buttons,
  .nasa-sticky-bottom-bar,
  .mobile-bottom-bar {
    z-index: 5 !important;
  }
  /* Anchor scroll-margin so anchors don't hide under sticky */
  :target,
  .product,
  .vc-section,
  section[id],
  .single-product .product {
    scroll-margin-top: 80px !important;
  }
  /* PLP grid 2 col */
  .woocommerce ul.products[class*="columns-"],
  .products.columns-3,
  .products.columns-4 {
    grid-template-columns: repeat(2, 1fr) !important;
  }
}

/* ============================================================
   UTILS / accessibility
   ============================================================ */
.vc-divider {
  width: 60px; height: 2px;
  background: var(--vc-gold);
  margin: 18px auto;
}
.text-center { text-align: center; }
.mt-md { margin-top: var(--vc-s-5); }
.mb-md { margin-bottom: var(--vc-s-5); }

/* Hide elementor home page section if accidentally rendered (front uses custom template) */
body.home.front-template-archive .elementor-section-wrap > .elementor-section { display: none; }

/* Sticky header logo size cap */
.sticky-header .logo img,
.stuck-header .logo img { max-height: 38px !important; }

/* ============================================================
   POLISH PASS — align with design ref (archive-premium)
   ------------------------------------------------------------
   1. Header → cream bg + dark text + serif italic text logo
   2. Triple cards → copper accent + warmer aged texture
   3. Hero visual → subtle paper-grain overlay
   ============================================================ */

/* --- 1. Header cream surface --- */
header#header,
.header-builder,
.header-builder-p,
.header-wrapper,
header .header-main,
.sticky-header,
.stuck-header {
  background: var(--vc-cream) !important;
  color: var(--vc-ink) !important;
  border-bottom: 1px solid var(--vc-line) !important;
  box-shadow: 0 1px 0 rgba(31,22,17,0.04) !important;
}

/* --- Logo: hide PNG, render serif italic text via ::before --- */
header .logo a img,
.header-builder .logo a img,
.elementor-widget-porto_hb_logo a img {
  display: none !important;
}
header .logo a,
.header-builder .logo a,
.elementor-widget-porto_hb_logo a {
  display: inline-flex !important;
  align-items: center !important;
  font-family: var(--vc-font-serif) !important;
  font-style: italic !important;
  font-weight: 700 !important;
  font-size: 28px !important;
  line-height: 1 !important;
  letter-spacing: -0.01em !important;
  color: var(--vc-wine) !important;
  text-decoration: none !important;
  padding: 14px 0 !important;
  white-space: nowrap;
}
header .logo a::before,
.header-builder .logo a::before,
.elementor-widget-porto_hb_logo a::before {
  content: "demo · goesmart";
  display: inline-block;
}
.sticky-header .logo a,
.stuck-header .logo a { font-size: 22px !important; padding: 8px 0 !important; }
@media (max-width: 767px) {
  header .logo a,
  .header-builder .logo a,
  .elementor-widget-porto_hb_logo a { font-size: 20px !important; padding: 10px 0 !important; }
}

/* --- Nav text: dark on cream --- */
.main-menu > li > a,
.header-builder .main-menu > li > a,
.elementor-widget-porto_hb_menu .main-menu > li > a {
  color: var(--vc-ink) !important;
}
.main-menu > li > a:hover,
.main-menu > li.current-menu-item > a,
.main-menu > li.current-menu-parent > a,
.main-menu > li.current_page_item > a,
.main-menu > li.active > a {
  color: var(--vc-wine) !important;
}
.main-menu > li > a::after {
  background: var(--vc-wine) !important;
}

/* --- Header icons dark --- */
.header-builder .nasa-icon-search,
.header-builder .nasa-icon-account,
.header-builder .nasa-cart-link,
.header-builder .nasa-search-toggle,
.header-builder .porto-icon-search,
.header-builder .header-icon,
header .header-right .pwb-icon i,
header a[class*="header"] i,
header#header .porto-icon-magnifier,
header#header .porto-icon-user,
header#header .porto-icon-shopping-cart,
header .searchform .btn-special i {
  color: var(--vc-ink) !important;
}
.header-builder .nasa-cart-link:hover,
.header-builder .nasa-icon-search:hover,
.header-builder .nasa-icon-account:hover,
header .searchform .btn-special:hover i { color: var(--vc-wine) !important; }

/* Cart count badge */
.cart-items-count,
.cart-count,
.minicart-icon .cart-items-count {
  background: var(--vc-wine) !important;
  color: var(--vc-paper) !important;
  border: 1px solid var(--vc-cream) !important;
}

/* Header search field on cream */
header .searchform input[type="text"],
header .searchform input[name="s"] {
  background: var(--vc-paper) !important;
  border: 1px solid var(--vc-line) !important;
  color: var(--vc-ink) !important;
}
header .separator,
.header-builder .separator { background: var(--vc-line) !important; }

/* Mega menu / submenu — paper, dark text already set above */

/* --- 2. Triple cards: copper top accent + richer texture --- */
.vc-triple__card {
  border-top: 3px solid var(--vc-gold);
  border-radius: 4px;
  padding-top: 36px;
}
.vc-triple__card::after {
  content: "";
  position: absolute; inset: 0;
  background-image:
    repeating-linear-gradient(45deg, rgba(212,168,90,0.04) 0 1px, transparent 1px 7px),
    repeating-linear-gradient(-45deg, rgba(31,22,17,0.05) 0 1px, transparent 1px 9px);
  z-index: 1;
  pointer-events: none;
  mix-blend-mode: overlay;
}
.vc-triple__card:nth-child(1) {
  background-image:
    radial-gradient(ellipse at 25% 25%, rgba(212,168,90,0.32), transparent 58%),
    linear-gradient(140deg, rgba(184,134,46,0.5) 0%, rgba(74,59,48,0.85) 55%, rgba(31,22,17,0.95) 100%);
}
.vc-triple__card:nth-child(2) {
  background-image:
    radial-gradient(ellipse at 80% 18%, rgba(212,168,90,0.24), transparent 55%),
    linear-gradient(140deg, rgba(122,42,45,0.55) 0%, rgba(61,14,16,0.9) 60%, rgba(31,22,17,0.96) 100%);
}
.vc-triple__card:nth-child(3) {
  background-image:
    radial-gradient(ellipse at 30% 75%, rgba(212,168,90,0.2), transparent 60%),
    linear-gradient(140deg, rgba(107,93,79,0.55) 0%, rgba(74,59,48,0.85) 55%, rgba(31,22,17,0.96) 100%);
}
.vc-triple__icon {
  background: rgba(31,22,17,0.35);
  border-color: rgba(212,168,90,0.7);
  box-shadow: 0 0 0 4px rgba(212,168,90,0.08);
}

/* --- 3. Hero visual: subtle paper-grain + warmer vignette --- */
.archive-hero__visual::after {
  content: "";
  position: absolute; inset: 0;
  background-image:
    radial-gradient(ellipse at 50% 50%, transparent 55%, rgba(31,22,17,0.18) 100%),
    repeating-radial-gradient(circle at 18% 28%, rgba(31,22,17,0.05) 0 1px, transparent 1px 3px),
    repeating-radial-gradient(circle at 78% 72%, rgba(31,22,17,0.04) 0 1px, transparent 1px 4px);
  mix-blend-mode: multiply;
  pointer-events: none;
  z-index: 1;
}
.archive-hero__visual img { z-index: 2; }
.archive-hero__stamp { z-index: 4; }


/* === SCN verifyDeployment r1 @ 2026-05-04T06:15:55.843Z === */
/* homepage: Hero 中央那行 'Envío gratuito en todos los pedidos. Sin mínimo.' 颜色是暗棕色 (#5a3a30 量级) 压在近黑背景上，对比度估计 < 2:1，远低于 WCAG AA 4.5:1；同行 SHOP NOW! 按钮也是暗棕底白字，几乎不可读。 [severity=high] */
.hero-text, .hero-subtitle, .banner h1, .banner h2, .banner p, .banner-text, .slide-text, .ux-banner p, .nasa-banner-text { color: #ffffff !important; text-shadow: 0 1px 3px rgba(0,0,0,0.6); }
.banner .button, .hero .button, .ux-banner .button, .slide .button, a.button.shop-now, a[href*='shop'] { background-color: #ffffff !important; color: #1a1a1a !important; border: 2px solid #ffffff !important; padding: 12px 28px !important; font-weight: 700 !important; }
.banner .button:hover, .hero .button:hover { background-color: #c9a45a !important; color: #ffffff !important; border-color: #c9a45a !important; }

/* homepage: 右下角悬浮邮件图标按钮（紫色边框 + 信封）颜色与站点色系（棕红/金）完全不协调，且没有 label，用户不知道功能。 [severity=medium] */
.floating-mail, .scn-floating-mail, .floating-contact-btn, a.email-float, [class*='floating'][class*='mail'] { background-color: #6b1414 !important; border: 2px solid #c9a45a !important; color: #ffffff !important; box-shadow: 0 4px 14px rgba(0,0,0,0.25) !important; }
.floating-mail svg, .floating-mail i, .scn-floating-mail svg { color: #ffffff !important; fill: #ffffff !important; }
.floating-mail::after { content: 'Contacto'; position: absolute; right: 60px; top: 50%; transform: translateY(-50%); background: #1a1a1a; color: #fff; padding: 6px 12px; font-size: 13px; border-radius: 4px; opacity: 0; transition: opacity 0.2s; white-space: nowrap; pointer-events: none; }
.floating-mail:hover::after { opacity: 1; }

/* homepage: 顶栏宣告条 'ENVÍO GRATIS EN PEDIDOS SUPERIORES A 120 € EN TODA ESPAÑA' 与 hero 同样的暗棕字色 + 黑底（金色文字略好但仍偏弱）；亮度对比一般，且条幅偏高占用首屏空间。 [severity=medium] */
.announcement-bar, .top-bar, .header-top, .nasa-top-bar, .ux-bar { background-color: #1a1a1a !important; color: #f5e8c8 !important; padding: 8px 16px !important; font-size: 13px !important; letter-spacing: 0.5px !important; }
.announcement-bar a, .top-bar a, .header-top a { color: #c9a45a !important; font-weight: 600 !important; }

/* homepage: Hero 区只有左右箭头无圆点指示器（dots），用户不知道总共几张 slide、当前是第几张。 [severity=low] */
.flickity-page-dots, .swiper-pagination, .slick-dots, .slider-nav-dots { display: flex !important; justify-content: center; gap: 8px; position: absolute; bottom: 20px; left: 50%; transform: translateX(-50%); z-index: 5; }
.flickity-page-dots .dot, .swiper-pagination-bullet, .slick-dots li button { width: 10px; height: 10px; border-radius: 50%; background: rgba(255,255,255,0.5); border: none; cursor: pointer; }
.flickity-page-dots .dot.is-selected, .swiper-pagination-bullet-active, .slick-dots li.slick-active button { background: #c9a45a !important; }

/* homepage: 购物车 'Cart 0' 文本和图标颜色都偏暗棕，在深红 navbar 上对比一般；专业站会让购物车带数字徽章颜色突出（红/金）以提醒。 [severity=low] */
.cart-link, .nasa-cart, .header-cart, a.cart-icon { color: #ffffff !important; font-weight: 600 !important; }
.cart-count, .cart-bubble, .nasa-mini-cart-counter, .cart-link .count { background-color: #c9a45a !important; color: #1a1a1a !important; font-weight: 700 !important; min-width: 20px; height: 20px; line-height: 20px; border-radius: 10px; padding: 0 6px; }

/* homepage: 顶部宣告条 'ESPAÑOL · €' 切换语言/币种区缺少箭头/下拉提示，用户不知可点；且与 'envío gratis' 长文本挤一行。 [severity=low] */
.lang-switcher, .currency-switcher, .header-locale, .nasa-locale-switch { cursor: pointer; }
.lang-switcher::after, .currency-switcher::after { content: ' ▾'; font-size: 10px; margin-left: 4px; opacity: 0.8; }

/* homepage: 移动端宣告条 'ENVÍO GRATIS...EN TODA ESPAÑA · ESPAÑOL · €' 文字超出右侧屏幕被截断，没做 overflow / 换行处理。 [severity=medium] */
@media (max-width: 768px) {
  .announcement-bar, .top-bar, .header-top, .nasa-top-bar { white-space: normal !important; text-align: center; line-height: 1.4 !important; padding: 6px 12px !important; font-size: 11px !important; }
  .announcement-bar .separator, .top-bar .sep { display: none !important; }
  .announcement-bar > * { display: inline-block; margin: 0 6px; }
}

/* category: 移动端分类页有汉堡菜单图标（左上），但点击范围/可视性弱，且整页除此之外仍是空黑屏 + 同样被截断的 'SHOP N...' 链接，用户不知如何浏览产品。 [severity=high] */
@media (max-width: 768px) {
  .mobile-nav-trigger, .menu-toggle, .nasa-menu-mobile, button.hamburger, a.menu-mobile { width: 44px !important; height: 44px !important; display: flex !important; align-items: center; justify-content: center; background: rgba(255,255,255,0.08) !important; border-radius: 4px !important; color: #ffffff !important; font-size: 20px !important; margin: 8px !important; }
  .mobile-nav-trigger:hover, .menu-toggle:active { background: rgba(255,255,255,0.15) !important; }
}

/* homepage: 导航主菜单字号/字距处理不专业：INICIO/CAMISETAS/CLUBS/AÑOS 在第一行，NOVEDADES/SOBRE NOSOTROS 折到第二行（同一菜单组横跨两行），看上去像换行 bug 而不是设计；专业站要么单行要么明显分组。 [severity=medium] */
.main-nav, .header-nav, ul.menu, nav.primary-nav, .nasa-nav-primary { display: flex !important; flex-wrap: nowrap !important; justify-content: center !important; gap: 24px !important; }
.main-nav li, .header-nav li, ul.menu > li { white-space: nowrap !important; flex-shrink: 0 !important; }
.main-nav a, .header-nav a, ul.menu > li > a { font-size: 14px !important; letter-spacing: 1px !important; padding: 14px 0 !important; }
@media (max-width: 1100px) { .main-nav { gap: 18px !important; } .main-nav a { font-size: 13px !important; letter-spacing: 0.5px !important; } }

/* homepage: INICIO 菜单项下方有金色下划线作为 active 指示，但其他被悬停时没有视觉反馈；hover 状态未定义。 [severity=low] */
.main-nav a, .header-nav a, ul.menu > li > a { position: relative; transition: color 0.2s; }
.main-nav a::after, .header-nav a::after { content: ''; position: absolute; left: 0; right: 0; bottom: -4px; height: 2px; background: #c9a45a; transform: scaleX(0); transition: transform 0.2s; }
.main-nav a:hover, .header-nav a:hover { color: #c9a45a !important; }
.main-nav a:hover::after, .main-nav li.current-menu-item a::after, .header-nav a:hover::after { transform: scaleX(1); }

/* homepage: Ayuda/Contacto 二级链接颜色（暗灰）在深红条上对比度偏低，专业站这种 utility 链接通常是白色 70% 不透明度。 [severity=low] */
.header-utility a, .top-links a, .header-secondary a, .nasa-top-link a { color: rgba(255,255,255,0.85) !important; font-size: 13px !important; }
.header-utility a:hover, .top-links a:hover { color: #c9a45a !important; }


/* === SCN verifyDeployment r2 @ 2026-05-04T06:18:16.675Z === */
/* homepage: logo 位置显示『demo · goesmart』调试占位文本（深红底+浅金斜体），是开发残留，必须替换为真实品牌 logo 或商店名。 [severity=high] */
.site-branding .site-title, .site-logo .site-title, .header-logo .site-title { display: none !important; visibility: hidden !important; } .site-branding::after, .header-logo::after { content: 'GoeSmart'; display: inline-block; font-family: 'Montserrat', 'Helvetica Neue', Arial, sans-serif; font-weight: 800; font-size: 22px; letter-spacing: 1.5px; color: #f5e9d3; text-transform: uppercase; }

/* homepage: 顶部 hero 唯一可见文案『Envío gratuito en todos los pedidos. Sin mínimo.』使用深棕色（#5b3a2e 之类）打在黑底上，对比度远低于 WCAG AA 4.5:1 阈值，几乎不可读；旁边的『SHOP NOW!』按钮也是同样的深棕，极弱对比。 [severity=high] */
.hero-section, .hero, .home-hero, .slider-text, .slide-content, .hero-content, .hero-banner-text, .promo-bar-hero { color: #ffffff !important; } .hero-section *, .hero *, .home-hero *, .slider-text *, .slide-content *, .hero-content * { color: #ffffff !important; } .hero-section .button, .hero a.button, .home-hero a.button, .slide-content a.button, .hero-content a.button, .hero-section .btn, .hero .btn, a.shop-now, .button.shop-now { background: #c9a55a !important; color: #1a0e0e !important; border: 2px solid #c9a55a !important; padding: 14px 32px !important; font-weight: 700 !important; letter-spacing: 1.5px !important; text-decoration: none !important; border-radius: 4px !important; transition: all .2s ease !important; } .hero-section .button:hover, .hero a.button:hover, .home-hero a.button:hover, a.shop-now:hover { background: #ffffff !important; color: #5a0d0d !important; border-color: #ffffff !important; }

/* homepage: header 视觉布局倒置：搜索框、导航、logo、cart 全部挤在视口底部 ~30% 区域，而上方 70% 是空黑 hero。正常电商 header 应粘在顶部（sticky）且 logo + 主导航在 hero 之上。 [severity=high] */
.site-header, header.site-header, #masthead, .header-main { position: sticky !important; top: 0 !important; z-index: 999 !important; background: #5a0d0d !important; box-shadow: 0 2px 8px rgba(0,0,0,.25) !important; } .hero-section, .home-hero, .slider-section { margin-top: 0 !important; min-height: 480px !important; } @media (max-width: 768px) { .site-header { position: sticky !important; top: 0 !important; } }

/* homepage: 右下角悬浮邮件按钮（紫色圆形信封图）颜色与品牌色（深红 + 金）完全不协调，且没有 label 文案，用户不知道点了会发生什么；位置也压住未来可能的『加入购物车 sticky』。 [severity=medium] */
.scn-floating-mail, .floating-contact, .wpcf7-floating, a[href^='mailto:'].floating { background: #c9a55a !important; color: #1a0e0e !important; bottom: 24px !important; right: 24px !important; width: 56px !important; height: 56px !important; border-radius: 50% !important; box-shadow: 0 4px 12px rgba(0,0,0,.25) !important; display: flex !important; align-items: center !important; justify-content: center !important; } .scn-floating-mail:hover, .floating-contact:hover { background: #ffffff !important; transform: translateY(-2px) !important; }

/* category: 分类页继续复用首页的『Envío gratuito』hero block（占满 1 个屏高），分类页应该 hero 极小或无、把首屏让给产品列表。 [severity=high] */
.archive .hero-section, body.tax-product_cat .hero-section, body.post-type-archive-product .hero-section, .woocommerce-shop .hero-section, .term-archive .home-hero { display: none !important; } .archive.woocommerce .site-header, body.tax-product_cat .site-header { margin-bottom: 0 !important; } .woocommerce-products-header { padding: 32px 0 16px !important; } .woocommerce-products-header__title.page-title { font-size: 32px !important; font-weight: 800 !important; color: #1a0e0e !important; margin-bottom: 8px !important; }

/* category: 移动端分类页只有一个孤立的 filter 图标（左上角 ⚙），既没有 label『Filtros』也没说明会过滤什么；其余视口同样一片漆黑。专业电商移动端分类页应当 filter + sort + 2 列产品 grid 立即可见。 [severity=high] */
@media (max-width: 768px) { .mobile-filter-toggle, .filter-toggle-mobile, button.toggle-filters { display: inline-flex !important; align-items: center !important; gap: 6px !important; padding: 8px 14px !important; background: #c9a55a !important; color: #1a0e0e !important; border-radius: 4px !important; font-weight: 600 !important; font-size: 13px !important; } .mobile-filter-toggle::after, .filter-toggle-mobile::after { content: 'Filtros'; } .archive .hero-section, body.tax-product_cat .hero-section { display: none !important; } body.tax-product_cat .site-content, body.post-type-archive-product .site-content { padding-top: 12px !important; } }

/* homepage: 顶部 announcement bar（『ENVÍO GRATIS … · ESPAÑOL · €』）与下方 header 主体之间没有视觉分隔，两条深棕色块叠在一起，层级模糊。建议 announcement bar 改为更深一档 + 1px 金色分隔线。 [severity=low] */
.announcement-bar, .top-bar, .header-top, .scn-promo-bar { background: #2a0606 !important; color: #f5e9d3 !important; font-size: 12px !important; letter-spacing: 1.2px !important; padding: 8px 16px !important; border-bottom: 1px solid #c9a55a !important; } .announcement-bar a, .top-bar a, .header-top a { color: #c9a55a !important; text-decoration: none !important; } .announcement-bar a:hover, .header-top a:hover { color: #ffffff !important; text-decoration: underline !important; }


/* === SCN verifyDeployment r3 @ 2026-05-04T06:20:24.054Z === */
/* homepage: Hero 区是一整块纯黑底色，没有任何主图、产品图、模特或文案 — 仅在右上角浮着一行半透明的 'Envío gratuito en todos los pedidos. Sin mínimo. SHOP NOW!'，整个首屏视觉极不专业，像未加载完成的占位 [severity=high] */
.home .page-content > section:first-of-type, .home .elementor-section:first-of-type, .home #hero, .home .hero-section { background: linear-gradient(135deg, #1a0a0a 0%, #4a0e0e 50%, #7a1c1c 100%) !important; } .home .page-content > section:first-of-type::before, .home .elementor-section:first-of-type::before { content:''; position:absolute; inset:0; background: radial-gradient(ellipse at center, rgba(255,200,80,0.08) 0%, transparent 60%); pointer-events:none; }

/* homepage: Hero 内 SHOP NOW! 按钮样式残缺：只有一行白色下划线文字 + 一条橙色细线，没有按钮形状（无背景色、无 padding、无 border-radius），与右侧顶条等宽 CTA 严重违反电商按钮规范 [severity=high] */
.home a[href*='shop'], .home .button.shop-now, .home a:where(.btn,.button)[class*='shop'] { display:inline-block !important; padding:14px 32px !important; background:#e8b94a !important; color:#1a0a0a !important; font-weight:700 !important; letter-spacing:1.2px !important; border:none !important; border-radius:4px !important; text-decoration:none !important; box-shadow:0 4px 12px rgba(0,0,0,0.3) !important; transition:transform .2s, background .2s !important; } .home a[href*='shop']:hover, .home .button.shop-now:hover { background:#f5c95c !important; transform:translateY(-2px) !important; }

/* homepage: 顶部 announcement bar（暗酒红 + 米黄字）与紧接其下的 hero 黑底重叠，hero 内同样的'Envío gratuito...'文案被重复显示一次，造成信息冗余且视觉错乱 [severity=high] */
.home .hero-section .free-shipping-text, .home .elementor-section:first-of-type .shipping-banner, .home section:first-of-type p:has(+ a[href*='shop']):where(:contains('Envío gratuito')) { display:none !important; }

/* homepage: 主导航 INICIO / CAMISETAS / CLUBS / AÑOS / NOVEDADES / SOBRE NOSOTROS 被强行拆成两行（4 项 + 2 项），且左对齐于 logo 左侧，破坏顶部对称，第二行 NOVEDADES 与 SOBRE NOSOTROS 视觉上像孤立元素 [severity=high] */
.header-nav, .main-navigation > ul, nav.primary-menu ul, .menu-primary-menu-container > ul { display:flex !important; flex-wrap:nowrap !important; justify-content:center !important; gap:32px !important; width:auto !important; max-width:none !important; } .header-nav > li, .main-navigation > ul > li { white-space:nowrap !important; flex:0 0 auto !important; } @media (max-width:1024px){ .header-nav, .main-navigation > ul { flex-wrap:wrap !important; gap:18px !important; } }

/* homepage: 右下角的紫色圆形邮件浮窗（信封图标）颜色 #6c3eb6 与全站红金主色调完全脱节，且尺寸过大（≈56px），抢镜首屏 [severity=medium] */
.scn-mail-fab, .floating-mail-button, [class*='mail-float'], a[href^='mailto'].fab, .contact-fab { background:#7a1c1c !important; color:#e8b94a !important; width:48px !important; height:48px !important; box-shadow:0 4px 14px rgba(0,0,0,0.25) !important; border:1px solid #e8b94a !important; } .scn-mail-fab svg, .floating-mail-button svg { width:20px !important; height:20px !important; }

/* homepage: 整页字号层级几乎不可见：announcement bar 字号与 hero 内文案差不多大，logo 反而更小，h1 缺失 [severity=high] */
.home h1, .home .hero-title, .home .elementor-heading-title { font-size:clamp(36px, 5vw, 64px) !important; line-height:1.1 !important; font-weight:800 !important; color:#fff !important; text-shadow:2px 2px 8px rgba(0,0,0,0.5) !important; margin-bottom:16px !important; } .home h2 { font-size:clamp(24px, 3vw, 36px) !important; line-height:1.25 !important; } .topbar, .announcement-bar, .top-bar { font-size:13px !important; letter-spacing:0.5px !important; }

/* homepage: hero 左右切换箭头 (‹ ›) 单独悬浮在黑底中央高度，无 carousel 内容、无指示点，极易被误以为是 broken slider [severity=high] */
.home .slick-arrow, .home .swiper-button-prev, .home .swiper-button-next, .home .carousel-arrow { width:44px !important; height:44px !important; background:rgba(255,255,255,0.12) !important; border-radius:50% !important; color:#fff !important; display:flex !important; align-items:center !important; justify-content:center !important; backdrop-filter:blur(4px) !important; transition:background .2s !important; } .home .slick-arrow:hover, .home .swiper-button-prev:hover, .home .swiper-button-next:hover { background:rgba(232,185,74,0.85) !important; color:#1a0a0a !important; } .home .slick-slider:empty, .home .swiper-wrapper:empty { display:none !important; }

/* homepage: header secondary bar 上的 'Ayuda  Contacto |' 后面那个孤立竖线 (|) 是分隔符残留，没有后续菜单项 — 典型开发遗留 [severity=medium] */
.header-secondary li:last-child, .top-bar-left li:last-child, .secondary-nav li.separator-only, .header-meta .divider:last-child { display:none !important; } .header-secondary { gap:24px !important; padding:8px 32px !important; } .header-secondary a { color:rgba(255,255,255,0.7) !important; font-size:13px !important; text-transform:none !important; transition:color .2s !important; } .header-secondary a:hover { color:#e8b94a !important; }

/* homepage: 页面右下 mail FAB 与 footer 之间有一大块米黄空白带（约 80px 高），既无内容也无 padding 解释，像 widget 区被删空后未折叠 [severity=medium] */
.home .footer-widgets:empty, .home .pre-footer:empty, .home .home-section--empty, .home main + .empty-band, .home .elementor-section:has(> .elementor-container > .elementor-row:empty) { display:none !important; } body.home > .site-content > section:empty, body.home .below-hero:empty { display:none !important; }

/* homepage mobile: 移动端首页 hero 占满整屏几乎全黑，仅在中部有一行小字 'Envío gratuito en todos los pedidos. Sin mínimo. SHOP N...' 横向溢出被切断，下方仅露 footer 顶边一片米色 — 缺 logo / 汉堡菜单 / 任何主图 [severity=high] */
@media (max-width:768px){ .home .hero-section, .home .elementor-section:first-of-type { min-height:60vh !important; } .home .hero-section .shipping-text, .home .promo-line { font-size:14px !important; white-space:normal !important; padding:0 16px !important; text-align:center !important; max-width:100% !important; } .mobile-header, .header-mobile { display:flex !important; align-items:center !important; justify-content:space-between !important; padding:12px 16px !important; background:#7a1c1c !important; } .mobile-header .menu-toggle { width:32px !important; height:32px !important; color:#e8b94a !important; } }

/* homepage: 整站背景色组合（黑 hero + 酒红 header + 米黄 footer + 浅灰带 + 紫色 FAB）有 5 种主色调，无统一品牌色板，违反足球衣电商常见的简洁双色策略 [severity=medium] */
:root { --scn-primary:#7a1c1c; --scn-primary-dark:#4a0e0e; --scn-accent:#e8b94a; --scn-bg:#f8f5ec; --scn-text:#1a0a0a; --scn-muted:#6b6258; } body { background:var(--scn-bg) !important; color:var(--scn-text) !important; } .header-main, .site-header { background:var(--scn-primary) !important; } .footer, .site-footer { background:var(--scn-primary-dark) !important; color:var(--scn-bg) !important; } .button, .btn-primary, .wp-block-button__link { background:var(--scn-accent) !important; color:var(--scn-primary-dark) !important; } a { color:var(--scn-primary) !important; } a:hover { color:var(--scn-accent) !important; }

/* ============================================================
   BENTO REDESIGN 2026 — Information-dense vintage archive
   Scoped to body.front-template-archive only (overrides polish + R1/R2/R3)
   Mirrors design ref: subsidesports-style 12-col asymmetric bento
   ============================================================ */

/* ---- Restore wine header on bento home (undo polish-pass cream) ---- */
body.front-template-archive,
body.front-template-archive .site-content,
body.front-template-archive .main-content,
body.front-template-archive #main {
  background: var(--vc-wine) !important;
  color: var(--vc-paper) !important;
}
body.front-template-archive header#header,
body.front-template-archive .header-builder,
body.front-template-archive .header-builder-p,
body.front-template-archive .header-wrapper,
body.front-template-archive header .header-main,
body.front-template-archive .sticky-header,
body.front-template-archive .stuck-header {
  background: var(--vc-wine) !important;
  color: var(--vc-paper) !important;
  border-bottom: 1px solid rgba(212,168,90,0.22) !important;
  box-shadow: 0 1px 0 rgba(0,0,0,0.18) !important;
}
body.front-template-archive .main-menu > li > a,
body.front-template-archive .header-builder .main-menu > li > a,
body.front-template-archive .elementor-widget-porto_hb_menu .main-menu > li > a {
  color: var(--vc-paper) !important;
}
body.front-template-archive .main-menu > li > a:hover,
body.front-template-archive .main-menu > li.current-menu-item > a {
  color: var(--vc-gold-soft) !important;
}
body.front-template-archive .main-menu > li > a::after { background: var(--vc-gold-soft) !important; }
body.front-template-archive header .logo a,
body.front-template-archive .header-builder .logo a,
body.front-template-archive .elementor-widget-porto_hb_logo a {
  color: var(--vc-gold-soft) !important;
}
body.front-template-archive header#header .porto-icon-magnifier,
body.front-template-archive header#header .porto-icon-user,
body.front-template-archive header#header .porto-icon-shopping-cart,
body.front-template-archive header .header-right .pwb-icon i,
body.front-template-archive header .searchform .btn-special i,
body.front-template-archive .header-builder .nasa-icon-search,
body.front-template-archive .header-builder .nasa-icon-account,
body.front-template-archive .header-builder .nasa-cart-link {
  color: var(--vc-paper) !important;
}
body.front-template-archive .header-builder .nasa-cart-link:hover,
body.front-template-archive .header-builder .nasa-icon-search:hover,
body.front-template-archive header .searchform .btn-special:hover i { color: var(--vc-gold-soft) !important; }
body.front-template-archive header .searchform input[type="text"],
body.front-template-archive header .searchform input[name="s"] {
  background: rgba(255,255,255,0.08) !important;
  border: 1px solid rgba(212,168,90,0.4) !important;
  color: var(--vc-paper) !important;
}
body.front-template-archive header .searchform input::placeholder { color: rgba(242,235,216,0.55) !important; }

/* Override R3 .home global font/color attacks on hero text */
body.front-template-archive.home h1,
body.front-template-archive.home .bento-promo__title,
body.front-template-archive.home .bento-leagues__title,
body.front-template-archive.home .bento-collector__copy h3,
body.front-template-archive.home .bento-feature-story__copy h3 {
  text-shadow: none !important;
}

/* ---- Bento page wrapper (wine background canvas) ---- */
body.front-template-archive .bento-page {
  position: relative;
  background:
    radial-gradient(ellipse at 50% 0, rgba(212,168,90,0.06), transparent 60%),
    repeating-linear-gradient(0deg, rgba(0,0,0,0.022) 0 1px, transparent 1px 6px),
    repeating-linear-gradient(90deg, rgba(0,0,0,0.022) 0 1px, transparent 1px 6px),
    var(--vc-wine);
  color: var(--vc-paper) !important;
  padding: 28px 0 56px;
}
body.front-template-archive .bento-container {
  max-width: 1280px;
  margin: 0 auto;
  padding: 0 22px;
}

/* ---- Sub-tabs band ---- */
body.front-template-archive .bento-subtabs {
  display: flex;
  gap: 28px;
  align-items: center;
  border-bottom: 1px solid rgba(212,168,90,0.22);
  padding: 0 4px 12px;
  margin: 0 0 18px;
  flex-wrap: wrap;
}
body.front-template-archive .bento-subtabs a {
  color: var(--vc-paper) !important;
  font-family: var(--vc-font-sans) !important;
  text-transform: uppercase;
  font-size: 11.5px;
  letter-spacing: 0.2em;
  font-weight: 500;
  text-decoration: none !important;
  padding: 4px 0;
  position: relative;
  opacity: 0.5;
  transition: color .2s, opacity .2s;
}
body.front-template-archive .bento-subtabs a:hover { color: var(--vc-gold-soft) !important; opacity: 0.95; }
body.front-template-archive .bento-subtabs a.is-active {
  color: var(--vc-gold-soft) !important;
  opacity: 1;
  font-weight: 700;
}
body.front-template-archive .bento-subtabs a.is-active::after {
  content: "";
  position: absolute;
  left: 0; right: 0; bottom: -13px;
  height: 3px;
  background: var(--vc-gold-soft);
  border-radius: 1px;
}
body.front-template-archive .bento-subtabs__sale {
  margin-left: auto;
  color: var(--vc-gold-soft) !important;
  font-weight: 700 !important;
  letter-spacing: 0.16em !important;
}

/* ---- ROW 1: 8col promo + 4col mini stack ---- */
body.front-template-archive .bento-row-1 {
  display: grid;
  grid-template-columns: minmax(0, 2.05fr) minmax(0, 1fr);
  gap: 14px;
  margin-bottom: 14px;
}
body.front-template-archive .bento-promo {
  position: relative;
  background:
    radial-gradient(ellipse at 50% 100%, rgba(0,0,0,0.45), transparent 65%),
    linear-gradient(135deg, var(--vc-wine-soft) 0%, var(--vc-wine-deep) 100%);
  border: 1px solid rgba(212,168,90,0.28);
  border-radius: 4px;
  padding: 28px 32px 110px;
  overflow: hidden;
  min-height: 580px;
  display: grid;
  grid-template-columns: 1.05fr 1.1fr;
  gap: 24px;
  align-items: stretch;
}
body.front-template-archive .bento-promo::before {
  content: "";
  position: absolute; inset: 0;
  background-image:
    repeating-linear-gradient(45deg, rgba(0,0,0,0.05) 0 1px, transparent 1px 7px),
    repeating-linear-gradient(-45deg, rgba(212,168,90,0.04) 0 1px, transparent 1px 9px);
  pointer-events: none;
  z-index: 1;
}
body.front-template-archive .bento-promo__copy {
  display: flex;
  flex-direction: column;
  justify-content: center;
  z-index: 3;
  position: relative;
}
body.front-template-archive .bento-promo__eyebrow {
  display: inline-flex;
  align-items: center;
  gap: 10px;
  color: var(--vc-gold-soft) !important;
  font-family: var(--vc-font-sans) !important;
  font-size: 11px !important;
  text-transform: uppercase;
  letter-spacing: 0.26em;
  font-weight: 600;
  margin-bottom: 18px;
  opacity: 0.92;
}
body.front-template-archive .bento-promo__eyebrow::before { content: ""; width: 28px; height: 1px; background: var(--vc-gold-soft); display: inline-block; }
body.front-template-archive .bento-promo__title {
  font-family: var(--vc-font-serif) !important;
  font-style: italic !important;
  font-weight: 800 !important;
  color: var(--vc-paper) !important;
  font-size: clamp(2.8rem, 5vw, 4.6rem) !important;
  line-height: 0.98 !important;
  letter-spacing: -0.015em !important;
  margin: 0 0 22px !important;
  text-shadow: 0 2px 8px rgba(0,0,0,0.5);
}
body.front-template-archive .bento-promo__title em { font-style: italic; color: var(--vc-gold-soft) !important; display: block; margin-top: 2px; }
body.front-template-archive .bento-promo__lead {
  font-family: var(--vc-font-sans) !important;
  font-size: 14px !important;
  line-height: 1.6 !important;
  color: var(--vc-paper) !important;
  opacity: 0.85;
  margin: 0 0 22px !important;
  max-width: 34ch;
}
body.front-template-archive .bento-promo__cta {
  align-self: flex-start;
  display: inline-flex !important;
  align-items: center;
  gap: 10px;
  background: var(--vc-paper) !important;
  color: var(--vc-wine-deep) !important;
  padding: 13px 28px !important;
  font-family: var(--vc-font-sans) !important;
  font-weight: 700 !important;
  letter-spacing: 0.14em !important;
  font-size: 12px !important;
  text-transform: uppercase;
  text-decoration: none !important;
  border-radius: 2px !important;
  border: 1px solid var(--vc-gold-soft) !important;
  transition: all .25s !important;
  box-shadow: 0 4px 14px rgba(0,0,0,0.25) !important;
}
body.front-template-archive .bento-promo__cta:hover {
  background: var(--vc-gold-soft) !important;
  color: var(--vc-wine-deep) !important;
  transform: translateY(-2px);
}
body.front-template-archive .bento-promo__cta .arrow { transition: transform .25s; }
body.front-template-archive .bento-promo__cta:hover .arrow { transform: translateX(4px); }

body.front-template-archive .bento-promo__visual {
  position: relative;
  z-index: 2;
  display: flex;
  align-items: center;
  justify-content: center;
}
body.front-template-archive .bento-promo__frame {
  position: relative;
  width: 100%;
  max-width: 340px;
  aspect-ratio: 0.78;
  background:
    radial-gradient(ellipse at 50% 30%, rgba(212,168,90,0.2), transparent 70%),
    linear-gradient(180deg, rgba(31,22,17,0.45), rgba(31,22,17,0.75));
  border: 1px solid rgba(212,168,90,0.4);
  border-radius: 3px;
  overflow: hidden;
  box-shadow: 0 12px 30px rgba(0,0,0,0.4);
}
body.front-template-archive .bento-promo__frame img {
  width: 100%;
  height: 100%;
  object-fit: contain;
  padding: 24px;
  display: block;
  filter: drop-shadow(0 6px 14px rgba(0,0,0,0.45));
}
body.front-template-archive .bento-promo__crest {
  position: absolute;
  top: 14px; left: 14px;
  width: 50px; height: 50px;
  border: 1.5px solid var(--vc-gold-soft);
  border-radius: 50%;
  display: flex; align-items: center; justify-content: center;
  font-family: var(--vc-font-serif);
  font-style: italic;
  font-size: 9px;
  letter-spacing: 0.06em;
  color: var(--vc-gold-soft);
  background: rgba(31,22,17,0.55);
  z-index: 4;
  text-align: center;
  line-height: 1.05;
  font-weight: 700;
  text-transform: uppercase;
}
body.front-template-archive .bento-promo__price-stamp {
  position: absolute;
  top: 14px; right: 14px;
  z-index: 4;
  background: var(--vc-paper);
  color: var(--vc-wine-deep);
  padding: 10px 16px;
  border-radius: 2px;
  font-family: var(--vc-font-serif);
  font-style: italic;
  text-align: right;
  line-height: 1.05;
  border: 1px solid var(--vc-gold-soft);
  box-shadow: 0 4px 12px rgba(0,0,0,0.35);
}
body.front-template-archive .bento-promo__price-stamp small { display: block; font-size: 8.5px; letter-spacing: 0.22em; text-transform: uppercase; color: var(--vc-muted); margin-bottom: 3px; font-style: normal; font-family: var(--vc-font-sans); font-weight: 700; }
body.front-template-archive .bento-promo__price-stamp strong { font-size: 22px; font-weight: 800; color: var(--vc-wine-deep); }

/* Stats row anchored at bottom of promo */
body.front-template-archive .bento-promo__stats {
  position: absolute;
  bottom: 22px; left: 32px; right: 32px;
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 0;
  background: #0E0708;
  border: 1px solid rgba(212,168,90,0.45);
  border-radius: 3px;
  padding: 18px 8px;
  z-index: 5;
  box-shadow: 0 8px 24px rgba(0,0,0,0.4), inset 0 1px 0 rgba(255,255,255,0.04);
}
body.front-template-archive .bento-promo__stat {
  text-align: center;
  border-right: 1px solid rgba(212,168,90,0.18);
  padding: 0 8px;
}
body.front-template-archive .bento-promo__stat:last-child { border-right: none; }
body.front-template-archive .bento-promo__stat strong {
  display: block;
  font-family: var(--vc-font-serif);
  font-style: italic;
  font-size: 22px;
  color: var(--vc-gold-soft);
  margin-bottom: 5px;
  font-weight: 800;
  line-height: 1;
  letter-spacing: -0.01em;
}
body.front-template-archive .bento-promo__stat span {
  font-family: var(--vc-font-sans);
  font-size: 10px;
  letter-spacing: 0.08em;
  color: var(--vc-paper);
  opacity: 0.78;
  text-transform: uppercase;
  display: block;
  line-height: 1.2;
}

/* Right column 4 mini cards */
body.front-template-archive .bento-stack {
  display: grid;
  grid-template-rows: repeat(4, 1fr);
  gap: 14px;
}
body.front-template-archive .bento-mini {
  position: relative;
  background: var(--vc-paper);
  color: var(--vc-ink) !important;
  border-radius: 3px;
  display: grid;
  grid-template-columns: 1fr 118px;
  align-items: center;
  padding: 16px 18px;
  text-decoration: none !important;
  transition: transform .25s, box-shadow .25s;
  border: 1px solid rgba(212,168,90,0.4);
  min-height: 134px;
  box-shadow: 0 1px 2px rgba(0,0,0,0.18);
}
body.front-template-archive .bento-mini:hover { transform: translateY(-2px); box-shadow: 0 8px 20px rgba(0,0,0,0.3); }
body.front-template-archive .bento-mini__copy { display: flex; flex-direction: column; gap: 4px; padding-right: 12px; }
body.front-template-archive .bento-mini__eyebrow {
  font-family: var(--vc-font-sans);
  text-transform: uppercase;
  font-size: 9.5px;
  letter-spacing: 0.24em;
  color: var(--vc-gold-deep);
  font-weight: 700;
}
body.front-template-archive .bento-mini__title {
  font-family: var(--vc-font-serif);
  font-style: italic;
  font-weight: 700;
  font-size: 17.5px;
  color: var(--vc-ink) !important;
  line-height: 1.12;
  margin: 4px 0 0;
}
body.front-template-archive .bento-mini__price {
  font-family: var(--vc-font-sans);
  font-weight: 800;
  font-size: 19px;
  color: var(--vc-wine);
  margin-top: 8px;
  letter-spacing: -0.01em;
}
body.front-template-archive .bento-mini__media {
  width: 100%;
  height: 108px;
  background: var(--vc-cream);
  border: 1px solid rgba(212,168,90,0.32);
  border-radius: 2px;
  display: flex; align-items: center; justify-content: center;
  overflow: hidden;
}
body.front-template-archive .bento-mini__media img { width: 100%; height: 100%; object-fit: cover; }

/* ---- ROW 2: video + featured story ---- */
body.front-template-archive .bento-row-2 {
  display: grid;
  grid-template-columns: 1.4fr 1fr;
  gap: 14px;
  margin-bottom: 14px;
}
body.front-template-archive .bento-video {
  position: relative;
  background: var(--vc-wine-deep);
  border: 1px solid rgba(212,168,90,0.25);
  border-radius: 4px;
  min-height: 260px;
  overflow: hidden;
  display: flex;
  align-items: flex-end;
  padding: 24px 28px;
  color: var(--vc-paper);
}
body.front-template-archive .bento-video__poster {
  position: absolute; inset: 0;
  display: grid; grid-template-columns: repeat(7, 1fr);
}
body.front-template-archive .bento-video__poster span {
  background: linear-gradient(180deg, var(--vc-wine-soft) 0%, var(--vc-wine-deep) 100%);
  border-right: 1px solid rgba(0,0,0,0.3);
  position: relative;
}
body.front-template-archive .bento-video__poster span::after {
  content: "";
  position: absolute;
  top: 12%; bottom: 12%;
  left: 14%; right: 14%;
  background: linear-gradient(180deg, rgba(212,168,90,0.4), rgba(31,22,17,0.6) 60%, rgba(31,22,17,0.85));
  border-radius: 2px;
  box-shadow: 0 0 14px rgba(0,0,0,0.45);
}
body.front-template-archive .bento-video__poster span:nth-child(2)::after { top: 14%; bottom: 10%; }
body.front-template-archive .bento-video__poster span:nth-child(3)::after { background: linear-gradient(180deg, rgba(184,134,46,0.45), rgba(74,15,16,0.7)); }
body.front-template-archive .bento-video__poster span:nth-child(4)::after { top: 10%; }
body.front-template-archive .bento-video__poster span:nth-child(5)::after { background: linear-gradient(180deg, rgba(122,42,45,0.6), rgba(31,22,17,0.85)); }
body.front-template-archive .bento-video__poster span:nth-child(6)::after { top: 14%; bottom: 14%; }
body.front-template-archive .bento-video__poster span:nth-child(7)::after { background: linear-gradient(180deg, rgba(212,168,90,0.32), rgba(74,15,16,0.6)); }
body.front-template-archive .bento-video::before {
  content: "";
  position: absolute; inset: 0;
  background: linear-gradient(180deg, rgba(0,0,0,0.25) 0%, transparent 35%, rgba(0,0,0,0.55) 100%);
  z-index: 2;
}
body.front-template-archive .bento-video__play {
  position: absolute;
  left: 24px; top: 24px;
  width: 50px; height: 50px;
  border-radius: 50%;
  background: var(--vc-paper);
  display: flex; align-items: center; justify-content: center;
  color: var(--vc-wine);
  font-size: 18px;
  z-index: 4;
  box-shadow: 0 6px 18px rgba(0,0,0,0.5);
  border: 2px solid var(--vc-gold-soft);
}
body.front-template-archive .bento-video__caption {
  position: relative;
  z-index: 3;
  font-family: var(--vc-font-serif);
  font-style: italic;
  font-size: 19px;
  font-weight: 700;
  color: var(--vc-paper);
  text-shadow: 0 2px 8px rgba(0,0,0,0.7);
  letter-spacing: 0.01em;
}

body.front-template-archive .bento-feature-story {
  background: var(--vc-paper);
  border-radius: 4px;
  padding: 22px 24px;
  border: 1px solid rgba(212,168,90,0.4);
  display: grid;
  grid-template-columns: 1.05fr 1fr;
  gap: 18px;
  align-items: center;
  color: var(--vc-ink);
}
body.front-template-archive .bento-feature-story__copy h3 {
  font-family: var(--vc-font-serif) !important;
  font-style: italic !important;
  font-weight: 800 !important;
  color: var(--vc-wine) !important;
  font-size: 22px !important;
  line-height: 1.05 !important;
  margin: 0 0 10px !important;
  text-transform: uppercase;
  letter-spacing: 0.01em;
}
body.front-template-archive .bento-feature-story__copy p {
  font-family: var(--vc-font-sans) !important;
  font-size: 13px !important;
  line-height: 1.55 !important;
  color: var(--vc-ink-soft) !important;
  margin: 0 0 14px !important;
}
body.front-template-archive .bento-feature-story__copy a {
  font-family: var(--vc-font-sans);
  font-weight: 700;
  font-size: 11px;
  letter-spacing: 0.18em;
  text-transform: uppercase;
  color: var(--vc-wine) !important;
  text-decoration: none !important;
  border-bottom: 1px solid var(--vc-wine);
  padding-bottom: 3px;
}
body.front-template-archive .bento-feature-story__copy a:hover { color: var(--vc-gold-deep) !important; border-color: var(--vc-gold-deep); }
body.front-template-archive .bento-feature-story__media {
  background: linear-gradient(135deg, var(--vc-cream-warm), var(--vc-line-soft));
  aspect-ratio: 1;
  border-radius: 2px;
  position: relative;
  overflow: hidden;
  border: 1px solid var(--vc-line);
}
body.front-template-archive .bento-feature-story__media img { width: 100%; height: 100%; object-fit: cover; display: block; }

/* ---- Brand logos strip ---- */
body.front-template-archive .bento-brands {
  background: rgba(31,22,17,0.45);
  border: 1px solid rgba(212,168,90,0.2);
  border-radius: 4px;
  padding: 18px 28px;
  margin-bottom: 14px;
  display: grid;
  grid-template-columns: 100px 1fr;
  gap: 22px;
  align-items: center;
}
body.front-template-archive .bento-brands__label {
  font-family: var(--vc-font-sans);
  font-size: 9.5px;
  letter-spacing: 0.22em;
  text-transform: uppercase;
  color: var(--vc-gold-soft);
  font-weight: 700;
  border-right: 1px solid rgba(212,168,90,0.3);
  padding-right: 22px;
  line-height: 1.3;
}
body.front-template-archive .bento-brands__row {
  display: grid;
  grid-template-columns: repeat(7, 1fr);
  gap: 12px;
  align-items: center;
}
body.front-template-archive .bento-brand-logo {
  height: 34px;
  display: flex; align-items: center; justify-content: center;
  color: var(--vc-paper);
  opacity: 0.78;
  font-family: var(--vc-font-serif);
  font-style: italic;
  font-weight: 700;
  font-size: 13px;
  letter-spacing: 0.04em;
  border: 1px solid rgba(212,168,90,0.22);
  border-radius: 3px;
  padding: 0 8px;
  transition: all .2s;
  text-transform: lowercase;
  text-align: center;
  text-decoration: none !important;
  background: rgba(0,0,0,0.18);
}
body.front-template-archive .bento-brand-logo:hover { opacity: 1; color: var(--vc-gold-soft) !important; border-color: var(--vc-gold-soft); }

/* ---- Quick features 5 pills ---- */
body.front-template-archive .bento-quickfeats {
  display: grid;
  grid-template-columns: repeat(5, 1fr);
  gap: 12px;
  margin-bottom: 14px;
}
body.front-template-archive .bento-pill {
  background: var(--vc-paper);
  color: var(--vc-ink) !important;
  border-radius: 3px;
  padding: 18px 16px 16px;
  text-align: center;
  border: 1px solid rgba(212,168,90,0.4);
  text-decoration: none !important;
  transition: transform .2s, box-shadow .2s;
}
body.front-template-archive .bento-pill:hover { transform: translateY(-2px); box-shadow: 0 6px 16px rgba(0,0,0,0.18); }
body.front-template-archive .bento-pill__icon {
  width: 38px; height: 38px;
  margin: 0 auto 10px;
  border-radius: 50%;
  background: var(--vc-cream-warm);
  display: flex; align-items: center; justify-content: center;
  color: var(--vc-wine);
  font-size: 16px;
  font-family: var(--vc-font-serif);
  font-style: italic;
  font-weight: 700;
  border: 1px solid var(--vc-gold-soft);
}
body.front-template-archive .bento-pill__title {
  font-family: var(--vc-font-serif);
  font-style: italic;
  font-weight: 700;
  font-size: 13px;
  color: var(--vc-wine) !important;
  margin: 0 0 4px;
}
body.front-template-archive .bento-pill__sub {
  font-family: var(--vc-font-sans);
  font-size: 10.5px;
  color: var(--vc-muted) !important;
  line-height: 1.35;
}

/* ---- ROW 3: Top Leagues + Collector ---- */
body.front-template-archive .bento-row-3 {
  display: grid;
  grid-template-columns: 1fr 1.3fr;
  gap: 14px;
  margin-bottom: 14px;
}
body.front-template-archive .bento-leagues {
  background: #0B0506;
  border: 1px solid rgba(212,168,90,0.35);
  border-radius: 4px;
  padding: 28px 30px;
  color: var(--vc-paper);
  box-shadow: inset 0 1px 0 rgba(255,255,255,0.03);
}
body.front-template-archive .bento-leagues__title {
  font-family: var(--vc-font-serif) !important;
  font-style: italic !important;
  font-weight: 800 !important;
  color: var(--vc-gold-soft) !important;
  font-size: 26px !important;
  letter-spacing: 0.03em !important;
  text-transform: uppercase;
  margin: 0 0 20px !important;
  border-bottom: 1px solid rgba(212,168,90,0.32);
  padding-bottom: 14px;
}
body.front-template-archive .bento-leagues__grid {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 2px 26px;
}
body.front-template-archive .bento-leagues__grid a {
  display: flex; align-items: center; gap: 14px;
  color: var(--vc-paper) !important;
  background: transparent !important;
  text-decoration: none !important;
  padding: 12px 4px;
  border-bottom: 1px solid rgba(212,168,90,0.16);
  font-family: var(--vc-font-sans);
  font-size: 13.5px;
  font-weight: 500;
  letter-spacing: 0.04em;
  transition: color .2s, padding-left .2s;
}
body.front-template-archive .bento-leagues__grid a:hover { color: var(--vc-gold-soft) !important; padding-left: 8px; }
body.front-template-archive .bento-leagues__grid a span.icon {
  width: 32px; height: 32px;
  border: 1px solid var(--vc-gold-soft);
  border-radius: 50%;
  display: flex; align-items: center; justify-content: center;
  font-family: var(--vc-font-serif);
  font-style: italic;
  font-size: 13px;
  color: var(--vc-gold-soft);
  flex-shrink: 0;
  background: rgba(212,168,90,0.06);
  font-weight: 800;
}

body.front-template-archive .bento-collector {
  background: var(--vc-paper);
  border: 1px solid rgba(212,168,90,0.4);
  border-radius: 4px;
  padding: 26px 28px;
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 22px;
  align-items: center;
  color: var(--vc-ink);
}
body.front-template-archive .bento-collector__media {
  background: linear-gradient(135deg, var(--vc-cream-warm), var(--vc-line-soft));
  aspect-ratio: 1.15;
  border: 1px solid var(--vc-line);
  border-radius: 2px;
  position: relative;
  overflow: hidden;
}
body.front-template-archive .bento-collector__media img { width: 100%; height: 100%; object-fit: cover; }
body.front-template-archive .bento-collector__media::after {
  content: "";
  position: absolute; inset: 0;
  background:
    repeating-linear-gradient(0deg, rgba(31,22,17,0.05) 0 1px, transparent 1px 4px);
  pointer-events: none;
}
body.front-template-archive .bento-collector__copy h3 {
  font-family: var(--vc-font-serif) !important;
  font-style: italic !important;
  font-weight: 800 !important;
  color: var(--vc-wine) !important;
  font-size: 24px !important;
  line-height: 1.05 !important;
  margin: 0 0 10px !important;
}
body.front-template-archive .bento-collector__copy p {
  font-family: var(--vc-font-sans) !important;
  font-size: 13px !important;
  line-height: 1.55 !important;
  color: var(--vc-ink-soft) !important;
  margin: 0 0 16px !important;
}
body.front-template-archive .bento-collector__copy a {
  display: inline-block;
  font-family: var(--vc-font-sans) !important;
  font-weight: 700 !important;
  font-size: 11px !important;
  letter-spacing: 0.18em;
  text-transform: uppercase;
  color: var(--vc-paper) !important;
  background: var(--vc-wine) !important;
  text-decoration: none !important;
  padding: 12px 24px !important;
  border-radius: 2px !important;
  border: 1px solid var(--vc-wine);
  transition: all .25s;
}
body.front-template-archive .bento-collector__copy a:hover { background: var(--vc-wine-deep) !important; border-color: var(--vc-gold); color: var(--vc-gold-soft) !important; }

/* ---- Newsletter strip ---- */
body.front-template-archive .bento-newsletter {
  background:
    radial-gradient(ellipse at 50% 100%, rgba(212,168,90,0.12), transparent 60%),
    var(--vc-wine-deep);
  border: 1px solid rgba(212,168,90,0.28);
  border-radius: 4px;
  padding: 22px 28px;
  display: grid;
  grid-template-columns: auto 1fr auto;
  gap: 22px;
  align-items: center;
  color: var(--vc-paper);
}
body.front-template-archive .bento-newsletter__icon {
  font-family: var(--vc-font-serif);
  font-style: italic;
  color: var(--vc-gold-soft);
  font-size: 24px;
  font-weight: 700;
  border: 1.5px solid var(--vc-gold-soft);
  width: 48px; height: 48px;
  display: flex; align-items: center; justify-content: center;
  border-radius: 50%;
  background: rgba(0,0,0,0.25);
}
body.front-template-archive .bento-newsletter h3 {
  font-family: var(--vc-font-serif) !important;
  font-style: italic !important;
  font-weight: 700 !important;
  font-size: 18px !important;
  color: var(--vc-paper) !important;
  margin: 0 0 4px !important;
  letter-spacing: 0.02em;
}
body.front-template-archive .bento-newsletter p {
  font-family: var(--vc-font-sans) !important;
  font-size: 12.5px !important;
  color: var(--vc-paper) !important;
  opacity: 0.78;
  margin: 0 !important;
}
body.front-template-archive .bento-newsletter__form {
  display: flex;
  gap: 6px;
  align-items: center;
}
body.front-template-archive .bento-newsletter__form input[type="email"] {
  background: rgba(255,255,255,0.08) !important;
  border: 1px solid rgba(212,168,90,0.4) !important;
  color: var(--vc-paper) !important;
  padding: 12px 16px !important;
  font-family: var(--vc-font-sans) !important;
  font-size: 13px !important;
  border-radius: 2px !important;
  min-width: 240px;
}
body.front-template-archive .bento-newsletter__form input[type="email"]::placeholder {
  color: rgba(242,235,216,0.5);
}
body.front-template-archive .bento-newsletter__form button {
  background: var(--vc-gold-soft) !important;
  color: var(--vc-wine-deep) !important;
  font-family: var(--vc-font-sans) !important;
  font-weight: 700 !important;
  letter-spacing: 0.14em;
  text-transform: uppercase;
  font-size: 12px !important;
  padding: 13px 24px !important;
  border: none !important;
  cursor: pointer;
  border-radius: 2px !important;
  transition: background .2s !important;
}
body.front-template-archive .bento-newsletter__form button:hover {
  background: var(--vc-paper) !important;
}

/* ---- Responsive ---- */
@media (max-width: 1100px) {
  body.front-template-archive .bento-row-1 { grid-template-columns: 1fr; }
  body.front-template-archive .bento-promo { grid-template-columns: 1fr; min-height: auto; padding: 28px 24px 28px; }
  body.front-template-archive .bento-promo__stats { position: static; margin-top: 22px; left: auto; right: auto; bottom: auto; }
  body.front-template-archive .bento-stack { grid-template-rows: auto; grid-template-columns: 1fr 1fr; }
  body.front-template-archive .bento-row-2 { grid-template-columns: 1fr; }
  body.front-template-archive .bento-quickfeats { grid-template-columns: repeat(3, 1fr); }
  body.front-template-archive .bento-row-3 { grid-template-columns: 1fr; }
  body.front-template-archive .bento-newsletter { grid-template-columns: 1fr; }
  body.front-template-archive .bento-brands { grid-template-columns: 1fr; gap: 14px; }
  body.front-template-archive .bento-brands__label { border-right: none; border-bottom: 1px solid rgba(212,168,90,0.3); padding-right: 0; padding-bottom: 12px; max-width: none; text-align: center; }
}
@media (max-width: 700px) {
  body.front-template-archive .bento-page { padding: 16px 0 36px; }
  body.front-template-archive .bento-container { padding: 0 14px; }
  body.front-template-archive .bento-stack { grid-template-columns: 1fr; }
  body.front-template-archive .bento-quickfeats { grid-template-columns: repeat(2, 1fr); }
  body.front-template-archive .bento-leagues__grid { grid-template-columns: 1fr; }
  body.front-template-archive .bento-collector { grid-template-columns: 1fr; }
  body.front-template-archive .bento-feature-story { grid-template-columns: 1fr; }
  body.front-template-archive .bento-promo__stats { grid-template-columns: repeat(2, 1fr); gap: 12px; padding: 12px 6px; }
  body.front-template-archive .bento-promo__stat { border-right: none !important; border-bottom: 1px dashed rgba(212,168,90,0.18); padding-bottom: 8px; }
  body.front-template-archive .bento-promo__stat:nth-last-child(-n+2) { border-bottom: none; padding-bottom: 0; }
  body.front-template-archive .bento-brands__row { grid-template-columns: repeat(3, 1fr); }
  body.front-template-archive .bento-newsletter__form { flex-direction: column; align-items: stretch; }
  body.front-template-archive .bento-newsletter__form input[type="email"] { min-width: 0; width: 100%; }
  body.front-template-archive .bento-promo__title { font-size: 2rem !important; }
  body.front-template-archive .bento-promo { padding-bottom: 24px; }
  body.front-template-archive .bento-subtabs { gap: 18px; padding-bottom: 8px; }
  body.front-template-archive .bento-subtabs a { font-size: 10.5px; }
}


/* ============================================================
   BENTO POLISH PASS — fix residual stale Elementor + header
   nav wrapping discovered post-deploy on tpl-008
   ============================================================ */

/* ---- Hide stale "Envío gratuito SHOP NOW!" Elementor promo
   banner from header builder (had d-none but bootstrap missing) ---- */
.custom-notice,
.elementor-12 > .container-fluid .elementor-element-af22579,
.elementor-12 .elementor-element-af22579,
.porto-block.elementor-12 > .container-fluid > .elementor > .elementor-top-section:first-child {
  display: none !important;
}

/* ---- Drop arbitrary trailing pipe / divider after Ayuda/Contacto ---- */
.elementor-widget-porto_hb_divider:has(+ *:empty),
.header-builder .elementor-element-e5ba434,
.header-builder .elementor-widget-porto_hb_divider .separator {
  display: none !important;
}
.elementor-widget-porto_hb_menu .top-links {
  margin: 0 !important;
}

/* ---- Force main menu to single line, no wrap ---- */
.header-builder .elementor-widget-porto_hb_menu ul,
.header-builder .main-menu,
ul.main-menu,
header .main-menu {
  display: flex !important;
  flex-wrap: nowrap !important;
  align-items: center !important;
  gap: 6px !important;
  white-space: nowrap !important;
  margin: 0 !important;
  padding: 0 !important;
}
.header-builder .main-menu > li,
.header-builder .elementor-widget-porto_hb_menu li {
  flex: 0 0 auto !important;
  white-space: nowrap !important;
}
.header-builder .main-menu > li > a {
  font-size: 12.5px !important;
  letter-spacing: 0.12em !important;
  padding: 16px 12px !important;
}
@media (max-width: 1199px) {
  .header-builder .main-menu > li > a { font-size: 11.5px !important; padding: 14px 8px !important; letter-spacing: 0.06em !important; }
}

/* ---- Top "Ayuda Contacto" links → soft paper, hover gold ---- */
body.front-template-archive .top-links a,
body.front-template-archive .top-links .menu-item > a {
  color: rgba(242,235,216,0.78) !important;
  font-size: 12px !important;
  text-transform: none !important;
  letter-spacing: 0.04em !important;
}
body.front-template-archive .top-links a:hover { color: var(--vc-gold-soft) !important; }

/* ---- Header logo: keep wine + gold serif italic on bento home ---- */
body.front-template-archive .elementor-widget-porto_hb_logo a,
body.front-template-archive header .logo a {
  background: transparent !important;
  font-family: var(--vc-font-serif) !important;
  font-style: italic !important;
  font-weight: 700 !important;
  font-size: 24px !important;
  color: var(--vc-gold-soft) !important;
  letter-spacing: -0.01em !important;
}

/* ---- Clean up bento promo title (cream main, gold em — Polish R2) ---- */
body.front-template-archive.home .bento-promo__title {
  text-shadow: 0 2px 8px rgba(0,0,0,0.5) !important;
  color: var(--vc-paper) !important;
}
body.front-template-archive.home .bento-promo__title em {
  color: var(--vc-gold-soft) !important;
}
body.front-template-archive.home .bento-leagues__title,
body.front-template-archive.home .bento-collector__copy h3,
body.front-template-archive.home .bento-feature-story__copy h3,
body.front-template-archive.home .bento-newsletter h3,
body.front-template-archive.home .bento-pill__title,
body.front-template-archive.home .bento-mini__title {
  text-shadow: none !important;
}

/* ---- Block R3 .home .hero-section min-height applied to non-hero ---- */
body.front-template-archive .hero-section,
body.front-template-archive .home-hero,
body.front-template-archive .slider-section { min-height: 0 !important; display: none !important; }

/* ---- Remove residual Elementor-native h1 size attack on bento ---- */
body.front-template-archive.home h1.bento-promo__title { /* keep our size */ }

/* ---- Promo bar: better contrast + wine accent over R1 dark bg ---- */
body.front-template-archive .vc-promo-bar {
  background: var(--vc-wine-deep) !important;
  border-bottom: 1px solid rgba(212,168,90,0.25) !important;
}
body.front-template-archive .vc-promo-bar__msg { color: var(--vc-paper) !important; opacity: 0.9; }
body.front-template-archive .vc-promo-bar__locale { color: var(--vc-gold-soft) !important; }

/* ---- Header right-side icons spacing on bento home ---- */
body.front-template-archive .header-builder .elementor-widget-porto_hb_search_form,
body.front-template-archive .header-builder .elementor-widget-porto_hb_account,
body.front-template-archive .header-builder .elementor-widget-porto_hb_minicart,
body.front-template-archive .header-builder .elementor-widget-porto_hb_wishlist {
  margin-left: 8px !important;
}
