/*
 * Changó 2026 — capa visual sobre ZOne Theme 2.7.2
 * Fase 0.2: cabecera/buscador, navegación móvil, tarjetas, categorías y ficha de producto.
 * No modifica módulos ni lógica de compra.
 */

:root {
  --bc-burgundy: #7c0a02;
  --bc-burgundy-dark: #5e0701;
  --bc-gold: #e0c27a;
  --bc-ivory: #fbf6f1;
  --bc-text: #26221f;
  --bc-muted: #6d6660;
  --bc-border: rgba(38, 34, 31, .12);
  --bc-radius-sm: 8px;
  --bc-radius: 12px;
  --bc-radius-lg: 16px;
  --bc-shadow: 0 8px 28px rgba(33, 25, 20, .08);
  --bc-shadow-hover: 0 14px 36px rgba(33, 25, 20, .14);
}

html { scroll-behavior: smooth; }
body { color: var(--bc-text); -webkit-font-smoothing: antialiased; text-rendering: optimizeLegibility; }

/* Accesibilidad visible al navegar con teclado */
a:focus-visible,
button:focus-visible,
input:focus-visible,
select:focus-visible,
textarea:focus-visible {
  outline: 3px solid var(--bc-gold) !important;
  outline-offset: 3px;
}

/* Jerarquía visual */
.page-heading {
  color: var(--bc-text);
  line-height: 1.18;
  letter-spacing: -.015em;
}
.page-heading::after {
  content: "";
  display: block;
  width: 46px;
  height: 3px;
  margin-top: .55rem;
  border-radius: 99px;
  background: var(--bc-gold);
}

/* Botones principales */
.btn.add-to-cart,
.product-add-to-cart .btn.add-to-cart {
  min-height: 44px;
  border: 1px solid var(--bc-burgundy);
  border-radius: var(--bc-radius-sm);
  background: var(--bc-burgundy);
  color: #fff;
  font-weight: 700;
  transition: transform .18s ease, box-shadow .18s ease, background-color .18s ease;
}
.btn.add-to-cart:hover,
.product-add-to-cart .btn.add-to-cart:hover {
  border-color: var(--bc-burgundy-dark);
  background: var(--bc-burgundy-dark);
  color: #fff;
  box-shadow: 0 7px 18px rgba(124, 10, 2, .20);
  transform: translateY(-1px);
}
.btn.add-to-cart:disabled,
.product-add-to-cart .btn.add-to-cart:disabled {
  transform: none;
  box-shadow: none;
}

/* Tarjetas de producto */
.product-miniature .product-container {
  height: 100%;
  overflow: hidden;
  border: 1px solid var(--bc-border);
  border-radius: var(--bc-radius);
  background: #fff;
  box-shadow: 0 2px 10px rgba(33, 25, 20, .045);
  transition: transform .2s ease, box-shadow .2s ease, border-color .2s ease;
}
.product-miniature .product-container:hover {
  border-color: rgba(124, 10, 2, .16);
  box-shadow: var(--bc-shadow-hover);
  transform: translateY(-3px);
}
.product-miniature .first-block { overflow: hidden; background: #fff; }
.product-miniature .second-third-block { padding-left: .75rem; padding-right: .75rem; padding-bottom: .8rem; }
.product-miniature .product-name {
  min-height: 2.75em;
  margin-top: .65rem;
  margin-bottom: .4rem;
  font-size: .98rem;
  line-height: 1.38;
}
.product-miniature .product-name a { color: var(--bc-text); font-weight: 650; }
.product-miniature .product-name a:hover { color: var(--bc-burgundy); }
.product-miniature .product-description-short { color: var(--bc-muted); line-height: 1.5; }
.product-miniature .product-price,
.product-miniature .price { font-weight: 800; color: var(--bc-burgundy-dark); }

/* Categorías */
.category-cover { overflow: hidden; border-radius: var(--bc-radius-lg); background: var(--bc-ivory); }
.category-cover img { width: 100%; border-radius: var(--bc-radius-lg); }
.category-description,
.category-additional-description {
  color: var(--bc-text);
  font-size: 1rem;
  line-height: 1.72;
}
.category-description .typo,
.category-additional-description .typo { max-width: 1050px; }
.category-additional-description {
  padding-top: 1.5rem;
  border-top: 1px solid var(--bc-border);
}
.subcategory-miniature .subcategory-image { overflow: hidden; border-radius: var(--bc-radius); }
.subcategory-miniature .subcategory-image img {
  width: 100%;
  border: 0;
  border-radius: var(--bc-radius);
  transition: transform .2s ease;
}
.subcategory-miniature:hover .subcategory-image img { transform: scale(1.025); }
.subcategory-miniature .subcategory-name { margin-top: .55rem; line-height: 1.3; }
.subcategory-miniature .subcategory-name a { color: var(--bc-text); font-weight: 700; }
.subcategory-miniature .subcategory-name a:hover { color: var(--bc-burgundy); }

/* Ficha de producto */
.main-product-details {
  border-radius: var(--bc-radius-lg);
  box-shadow: var(--bc-shadow);
}
.product-right-content .page-heading { font-size: clamp(1.55rem, 2.25vw, 2.25rem); }
.product-description-short {
  color: var(--bc-text);
  font-size: 1rem;
  line-height: 1.65;
}
.product-information {
  border: 1px solid var(--bc-border);
  border-radius: var(--bc-radius);
}
.product-prices .current-price { margin-bottom: .15rem; }
.product-prices .current-price-value { color: var(--bc-burgundy-dark); font-weight: 800; }
.product-prices .show-more-without-taxes { margin-top: .15rem; color: var(--bc-muted); opacity: .82; }
.product-quantity input[type="number"] { min-height: 44px; border-radius: var(--bc-radius-sm); }
.product-availability .alert { border-radius: var(--bc-radius-sm); }

/* Migas y enlaces secundarios */
.breadcrumb { font-size: .9rem; }
.breadcrumb a { color: var(--bc-muted); }
.breadcrumb a:hover { color: var(--bc-burgundy); }

/* Reducir animaciones si el sistema lo solicita */
@media (prefers-reduced-motion: reduce) {
  *, *::before, *::after {
    scroll-behavior: auto !important;
    transition-duration: .01ms !important;
    animation-duration: .01ms !important;
    animation-iteration-count: 1 !important;
  }
}

@media (max-width: 767.98px) {
  .page-heading { font-size: clamp(1.35rem, 6vw, 1.8rem); }
  .main-product-details { border-radius: var(--bc-radius); box-shadow: 0 4px 18px rgba(33, 25, 20, .07); }
  .product-miniature .second-third-block { padding-left: .55rem; padding-right: .55rem; }
  .product-miniature .product-name { font-size: .93rem; }
  .product-add-to-cart .btn.add-to-cart { min-height: 48px; }
  .category-description, .category-additional-description { font-size: .97rem; line-height: 1.66; }
}


/* ============================================================
   FASE 0.2 · CABECERA Y BÚSQUEDA
   Selectores verificados contra ZOne Theme 2.7.2.
   ============================================================ */
#header .desktop-header-version .main-header,
#header .mobile-header-version .main-header {
  border-bottom: 1px solid var(--bc-border);
}

#header .desktop-header-version .header-wrapper {
  gap: clamp(1rem, 2vw, 2rem);
}

#header .desktop-header-version .header-logo {
  width: auto;
  max-width: min(26%, 250px);
}

#header .desktop-header-version .header-right {
  min-width: 0;
}

#header .desktop-header-version .display-top {
  width: 100%;
  gap: .65rem;
}

#header .desktop-header-version .display-top > div,
#header .mobile-header-version .display-top > div {
  margin-left: 0;
}

#header .desktop-header-version .searchbar-wrapper {
  flex: 1 1 460px;
  min-width: 260px;
}

#header .desktop-header-version .search-widget {
  width: 100%;
  max-width: 720px;
  margin-right: 0;
  margin-left: auto;
}

#header .search-widget form input[type="text"] {
  height: 46px;
  margin-left: 0;
  padding-right: 54px;
  padding-left: 1rem;
  border: 1px solid rgba(38, 34, 31, .18);
  border-radius: var(--bc-radius-sm);
  background: #fff;
  color: var(--bc-text);
  transition: border-color .18s ease, box-shadow .18s ease;
}

#header .search-widget form input[type="text"]:focus {
  border-color: rgba(124, 10, 2, .45);
  box-shadow: 0 0 0 3px rgba(124, 10, 2, .08);
}

#header .search-widget form [type="submit"] {
  width: 46px;
  height: 46px;
  border-radius: 0 var(--bc-radius-sm) var(--bc-radius-sm) 0;
  background: var(--bc-burgundy);
  color: #fff;
}

#header .search-widget form [type="submit"]:hover,
#header .search-widget form [type="submit"]:focus-visible {
  background: var(--bc-burgundy-dark);
  color: #fff;
}

#header .desktop-header-version .shopping-cart-module .cart-link {
  min-height: 46px;
  border-radius: var(--bc-radius-sm);
}

#header .desktop-header-version .customer-signin-module .account-link > a {
  min-height: 44px;
  display: inline-flex;
  align-items: center;
}

/* Mobile: buscador útil sin sacrificar menú ni carrito. */
#header .mobile-header-version .header-logo img,
#header .mobile-header-version .header-logo svg {
  max-height: 66px;
}

#header .mobile-header-version .header-right {
  gap: .5rem;
}

#header .mobile-header-version .display-top {
  min-width: 0;
  gap: .5rem;
}

#header .mobile-header-version .searchbar-wrapper {
  flex: 1 1 auto;
  min-width: 0;
}

#header .mobile-header-version .search-widget {
  width: 100%;
  margin: 0;
}

#header .mobile-header-version .mobile-menu-icon,
#header .mobile-header-version .shopping-cart-module .cart-link {
  width: 46px;
  height: 46px;
  border-radius: var(--bc-radius-sm);
}

#header .mobile-header-version .mobile-menu-icon {
  background: var(--bc-burgundy);
  color: #fff;
}

#header .mobile-header-version .mobile-menu-icon:hover,
#header .mobile-header-version .mobile-menu-icon:focus-visible {
  background: var(--bc-burgundy-dark);
}

/* Menú lateral: jerarquía visual, sin alterar su JS. */
.st-menu {
  background: #fff;
  color: var(--bc-text);
}

.st-menu .st-menu-title {
  margin: 0;
  padding: 1rem 1.1rem;
  border-bottom: 1px solid var(--bc-border);
  background: var(--bc-ivory);
  color: var(--bc-text);
}

.st-menu .st-menu-close {
  width: 44px;
  height: 44px;
  align-items: center;
  justify-content: center;
  border-radius: 0 0 0 var(--bc-radius-sm);
}

.st-menu a {
  color: var(--bc-text);
}

.st-menu a:hover,
.st-menu a:focus-visible {
  color: var(--bc-burgundy);
}

/* Autocompletado del buscador */
.ui-autocomplete.ui-menu {
  margin-top: 5px;
  overflow: hidden;
  border: 1px solid var(--bc-border);
  border-radius: var(--bc-radius);
  background: #fff;
  box-shadow: var(--bc-shadow-hover);
}

.ui-autocomplete.ui-menu .search-menu-item .search-item {
  gap: .65rem;
  padding: .65rem .75rem;
  color: var(--bc-text);
}

.ui-autocomplete.ui-menu .search-menu-item + .search-menu-item {
  border-top: 1px solid var(--bc-border);
}

.ui-autocomplete.ui-menu .search-menu-item .search-item:hover,
.ui-autocomplete.ui-menu .search-menu-item .search-item:focus {
  background: var(--bc-ivory);
}

.ui-autocomplete.ui-menu .search-menu-item .search-item .cover {
  flex: 0 0 54px;
  width: 54px;
  margin-right: 0;
}

.ui-autocomplete.ui-menu .search-menu-item .search-item .cover img {
  width: 54px;
  height: 54px;
  object-fit: contain;
  border: 1px solid var(--bc-border);
  border-radius: 6px;
  background: #fff;
}

.ui-autocomplete.ui-menu .search-menu-item .search-item .pprice {
  color: var(--bc-burgundy-dark);
}

/* ============================================================
   FASE 0.2 · TARJETAS DE PRODUCTO
   ============================================================ */
.product-list .grid .product-miniature {
  display: flex;
}

.product-list .grid .product-miniature .product-container {
  width: 100%;
  height: 100%;
  display: flex;
  flex-direction: column;
}

.product-list .grid .product-miniature .first-block {
  flex: 0 0 auto;
}

.product-list .grid .product-miniature .second-third-block {
  flex: 1 1 auto;
  display: flex;
  flex-direction: column;
  min-height: 0;
}

.product-list .grid .product-miniature .second-block {
  flex: 1 1 auto;
}

.product-list .grid .product-miniature .product-name {
  min-height: 3.55em;
  margin: 0;
  padding: .75rem .55rem .55rem;
  background: transparent;
  line-height: 1.35;
}

.product-list .grid .product-miniature .product-name a {
  display: -webkit-box;
  overflow: hidden;
  -webkit-box-orient: vertical;
  -webkit-line-clamp: 3;
  text-align: left;
}

.product-list .grid .product-miniature .third-block {
  margin-top: auto;
  padding: .7rem .75rem .8rem;
  border-top: 1px solid var(--bc-border);
  min-height: 64px;
}

.product-list .grid .product-miniature .product-price-and-shipping {
  gap: .15rem .25rem;
}

.product-list .grid .product-miniature .product-price,
.product-list .grid .product-miniature .price {
  font-size: 1.08rem;
  line-height: 1.2;
}

.product-list .grid .product-miniature .buttons-sections .add-to-cart {
  min-width: 88px;
  min-height: 38px;
  padding: .45rem .7rem;
  border-radius: 7px;
}

.product-list .grid .product-miniature .grid-hover-btn a,
.product-list .grid .product-miniature .grid-hover-btn button {
  box-shadow: 0 4px 14px rgba(33, 25, 20, .12);
}

/* El hover visual no debe ocultar legibilidad ni exigir precisión de ratón. */
@media (hover: none) {
  .product-list .product-miniature .product-thumbnail .product-cover-link::before {
    display: none;
  }
  .product-list .product-miniature .grid-hover-btn {
    display: none;
  }
}

/* ============================================================
   FASE 0.2 · FICHA DE PRODUCTO
   ============================================================ */
#mainProduct .main-product-details {
  padding: clamp(.9rem, 2vw, 1.5rem);
  background: #fff;
}

#mainProduct .product-right-content .page-heading {
  margin-bottom: .9rem;
}

#mainProduct .product-right-content .product-description-short {
  margin-bottom: 1rem;
}

#mainProduct .product-information {
  padding: 1rem clamp(.9rem, 4%, 1.4rem);
  border: 1px solid var(--bc-border);
  border-style: solid;
  background: var(--bc-ivory);
}

#mainProduct .product-prices .current-price-value {
  font-size: clamp(1.65rem, 2.4vw, 2.15rem);
  line-height: 1.15;
}

#mainProduct .product-prices .show-more-without-taxes {
  margin: .2rem 0 .55rem;
  font-size: .82rem;
  color: var(--bc-muted);
  opacity: .76;
}

#mainProduct .product-prices .previous-price,
#mainProduct .product-prices .product-unit-price,
#mainProduct .product-prices .shipping-delivery-label {
  line-height: 1.4;
}

#mainProduct .product-add-to-cart .inline-style {
  gap: .75rem;
}

#mainProduct .product-add-to-cart .inline-style .add {
  margin-right: 0;
  margin-left: 0;
}

#mainProduct .product-add-to-cart .btn.add-to-cart {
  min-height: 50px;
  font-size: 1rem;
}

#mainProduct .product-availability-top .alert,
#mainProduct .product-availability .alert {
  margin-bottom: .65rem;
  border: 1px solid rgba(38, 34, 31, .09);
}

#mainProduct .reassurance-hook {
  margin-top: 1rem;
}

/* ============================================================
   RESPONSIVE FASE 0.2
   ============================================================ */
@media (max-width: 991.98px) {
  #header .desktop-header-version .header-logo {
    max-width: min(34%, 220px);
  }

  .product-list .grid .product-miniature .product-name {
    min-height: 3.4em;
  }
}

@media (max-width: 767.98px) {
  #header .mobile-header-version .main-header {
    padding-top: .25rem;
    padding-bottom: .25rem;
  }

  #header .mobile-header-version .header-logo {
    padding-top: .35rem;
    padding-bottom: .35rem;
  }

  #header .mobile-header-version .search-widget form input[type="text"] {
    height: 46px;
    padding-left: .8rem;
    font-size: .95rem;
  }

  .product-list .grid .product-miniature .product-name {
    min-height: 3.8em;
    padding: .65rem .45rem .45rem;
    font-size: .92rem;
  }

  .product-list .grid .product-miniature .third-block {
    padding: .6rem .5rem .65rem;
    min-height: 58px;
  }

  .product-list .grid .product-miniature .buttons-sections .add-to-cart {
    min-width: 72px;
    min-height: 36px;
    padding-right: .55rem;
    padding-left: .55rem;
  }

  #mainProduct .main-product-details {
    padding: .75rem;
  }

  #mainProduct .product-information {
    padding: .9rem;
  }

  #mainProduct .product-add-to-cart .inline-style {
    flex-wrap: wrap;
    align-items: stretch !important;
  }

  #mainProduct .product-add-to-cart .inline-style .product-quantity-touchspin {
    max-width: none;
    width: 100%;
  }

  #mainProduct .product-add-to-cart .inline-style .add {
    width: 100%;
  }
}

@media (max-width: 420px) {
  #header .mobile-header-version .display-top {
    gap: .35rem;
  }

  #header .mobile-header-version .mobile-menu-icon,
  #header .mobile-header-version .shopping-cart-module .cart-link {
    width: 44px;
    height: 44px;
  }

  #header .mobile-header-version .search-widget form input[type="text"],
  #header .mobile-header-version .search-widget form [type="submit"] {
    height: 44px;
  }

  #header .mobile-header-version .search-widget form [type="submit"] {
    width: 44px;
  }
}


/* BC Internal Links — module owns data/logic, theme owns presentation */
.bc-internal-links {
  margin: 1.75rem 0;
  padding: 1.15rem 1.25rem;
  border: 1px solid rgba(94, 7, 1, .14);
  border-radius: 10px;
  background: #fbf6f1;
}

.bc-internal-links__title {
  margin: 0 0 .75rem;
  color: #5e0701;
  font-size: 1.05rem;
  line-height: 1.35;
}

.bc-internal-links__list {
  display: flex;
  flex-wrap: wrap;
  gap: .5rem .75rem;
  margin: 0;
  padding: 0;
  list-style: none;
}

.bc-internal-links__list a {
  display: inline-flex;
  align-items: center;
  min-height: 40px;
  padding: .5rem .75rem;
  border: 1px solid rgba(124, 10, 2, .18);
  border-radius: 999px;
  background: #fff;
  color: #5e0701;
  text-decoration: none;
}

.bc-internal-links__list a:hover,
.bc-internal-links__list a:focus-visible {
  text-decoration: underline;
}

.bc-internal-links__list a:focus-visible {
  outline: 2px solid currentColor;
  outline-offset: 2px;
}

@media (max-width: 575.98px) {
  .bc-internal-links {
    margin: 1.25rem 0;
    padding: 1rem;
  }

  .bc-internal-links__list {
    display: grid;
    grid-template-columns: 1fr;
    gap: .5rem;
  }

  .bc-internal-links__list a {
    width: 100%;
    border-radius: 8px;
  }
}

/* ============================================================
   CHANGÓ 2026 · v1.2.0 — REDISEÑO VISUAL COMPLETO
   Capa final. No sustituye lógica de módulos/checkout/precios.
   ============================================================ */

:root {
  --bc-wine: #5e0701;
  --bc-wine-2: #7c0a02;
  --bc-wine-soft: #9d2f27;
  --bc-gold-2: #d8b968;
  --bc-gold-soft: #f1e4bd;
  --bc-cream: #fbf6f1;
  --bc-cream-2: #f6eee7;
  --bc-ink: #241f1c;
  --bc-ink-soft: #625b56;
  --bc-line: rgba(36,31,28,.12);
  --bc-success: #24724d;
  --bc-danger: #a82929;
  --bc-container: 1320px;
  --bc-radius-xl: 24px;
  --bc-radius-card: 18px;
  --bc-ease: cubic-bezier(.2,.7,.2,1);
}

body {
  background: #fff;
  color: var(--bc-ink);
}

::selection {
  background: var(--bc-gold-soft);
  color: var(--bc-wine);
}

.bc-skip-link {
  position: fixed !important;
  top: .75rem;
  left: .75rem;
  z-index: 99999;
  width: 1px !important;
  height: 1px !important;
  padding: 0 !important;
  margin: -1px !important;
  overflow: hidden !important;
  clip: rect(0 0 0 0) !important;
  clip-path: inset(50%) !important;
  white-space: nowrap !important;
  border: 0 !important;
  background: #fff;
  color: var(--bc-wine);
  box-shadow: var(--bc-shadow-hover);
}
.bc-skip-link:focus,
.bc-skip-link:focus-visible {
  width: auto !important;
  height: auto !important;
  padding: .7rem 1rem !important;
  margin: 0 !important;
  overflow: visible !important;
  clip: auto !important;
  clip-path: none !important;
  white-space: normal !important;
  border-radius: 8px;
  outline: 3px solid var(--bc-gold);
  outline-offset: 2px;
}

.bc-eyebrow {
  margin: 0 0 .45rem;
  color: var(--bc-wine-2);
  font-size: .76rem;
  font-weight: 800;
  letter-spacing: .12em;
  line-height: 1.2;
  text-transform: uppercase;
}

/* ---------- Cabecera ---------- */
#header .bc-header .header-banner {
  background: var(--bc-wine);
  color: #fff;
}

#header .bc-header .header-nav {
  min-height: 36px;
  border-bottom: 1px solid rgba(94,7,1,.08);
  background: var(--bc-cream);
  color: var(--bc-ink-soft);
  font-size: .84rem;
}

#header .bc-header .header-nav a { color: var(--bc-ink-soft); }
#header .bc-header .header-nav a:hover { color: var(--bc-wine); }

#header .bc-header .main-header {
  padding: .7rem 0;
  background: rgba(255,255,255,.98);
  box-shadow: 0 2px 16px rgba(36,31,28,.035);
}

#header .bc-header__inner { min-height: 70px; }

#header .bc-header--desktop .header-logo {
  flex: 0 0 auto;
  max-width: 235px;
  padding-right: 1.25rem;
}

#header .bc-header--desktop .header-logo img,
#header .bc-header--desktop .header-logo svg {
  width: auto;
  max-width: 100%;
  max-height: 74px;
}

#header .bc-header--desktop .header-right {
  flex: 1 1 auto;
  min-width: 0;
}

#header .bc-header--desktop .search-widget form input[type="text"] {
  height: 50px;
  border: 1px solid rgba(94,7,1,.17);
  border-radius: 999px;
  background: var(--bc-cream);
  padding-left: 1.25rem;
  padding-right: 58px;
}

#header .bc-header--desktop .search-widget form input[type="text"]:hover {
  border-color: rgba(94,7,1,.3);
}

#header .bc-header--desktop .search-widget form input[type="text"]:focus {
  border-color: var(--bc-wine-2);
  background: #fff;
  box-shadow: 0 0 0 4px rgba(124,10,2,.075);
}

#header .bc-header--desktop .search-widget form [type="submit"] {
  width: 50px;
  height: 50px;
  border-radius: 999px;
  background: transparent;
  color: var(--bc-wine);
}

#header .bc-header--desktop .search-widget form [type="submit"]:hover {
  background: var(--bc-wine);
  color: #fff;
}

#header .bc-header--desktop .customer-signin-module .account-link > a,
#header .bc-header--desktop .shopping-cart-module .cart-link {
  min-height: 48px;
  padding: .55rem .8rem;
  border: 1px solid transparent;
  border-radius: 12px;
  transition: background-color .18s ease, border-color .18s ease;
}

#header .bc-header--desktop .customer-signin-module .account-link > a:hover,
#header .bc-header--desktop .shopping-cart-module .cart-link:hover {
  border-color: rgba(94,7,1,.1);
  background: var(--bc-cream);
}

/* Mega menú como franja de marca */
#header .bc-header--desktop .header-bottom,
#header .bc-header--desktop .header-main-menu {
  background: var(--bc-wine);
}

#header .bc-header--desktop .bc-mega-nav {
  min-height: 52px;
  display: flex;
  align-items: stretch;
}

#header .bc-header--desktop #amegamenu,
#header .bc-header--desktop #amegamenu > .anav-top {
  width: 100%;
}

#header .bc-header--desktop #amegamenu > .anav-top {
  display: flex;
  align-items: stretch;
  gap: .05rem;
  min-height: 52px;
}

#header .bc-header--desktop #amegamenu .amenu-item > .amenu-link {
  display: flex;
  align-items: center;
  min-height: 52px;
  padding: .72rem .9rem;
  color: rgba(255,255,255,.94);
  font-size: .88rem;
  font-weight: 700;
  letter-spacing: .01em;
  transition: background-color .18s ease, color .18s ease;
}

#header .bc-header--desktop #amegamenu .amenu-item:hover > .amenu-link,
#header .bc-header--desktop #amegamenu .amenu-item > .amenu-link:focus-visible {
  background: rgba(255,255,255,.08);
  color: var(--bc-gold-soft);
}

#header .bc-header--desktop #amegamenu .adropdown {
  overflow: hidden;
  border: 1px solid rgba(94,7,1,.1);
  border-top: 3px solid var(--bc-gold-2);
  border-radius: 0 0 18px 18px;
  background: #fff;
  box-shadow: 0 20px 50px rgba(36,31,28,.16);
}

#header .bc-header--desktop #amegamenu .adropdown a { color: var(--bc-ink); }
#header .bc-header--desktop #amegamenu .adropdown a:hover { color: var(--bc-wine); }

/* ---------- Home ---------- */
.bc-home-hero {
  position: relative;
  overflow: clip;
  background: #fff;
}

.bc-home-hero img {
  max-width: 100%;
}

.bc-home-main {
  --bc-home-gap: clamp(2.75rem, 6vw, 5.5rem);
  padding-top: var(--bc-home-gap);
  padding-bottom: calc(var(--bc-home-gap) * .8);
}

.bc-home-main > * + * {
  margin-top: var(--bc-home-gap);
}

.bc-home-main .products-section-title,
.bc-home-main .home-block-title,
.bc-home-main .title_block,
.bc-home-bottom .title_block {
  margin-bottom: 1.5rem;
  color: var(--bc-ink);
  font-size: clamp(1.5rem, 2.4vw, 2.25rem);
  font-weight: 800;
  line-height: 1.15;
  letter-spacing: -.025em;
  text-align: left;
}

.bc-home-main .products-section-title::after,
.bc-home-main .home-block-title::after,
.bc-home-main .title_block::after,
.bc-home-bottom .title_block::after {
  content: "";
  display: block;
  width: 58px;
  height: 3px;
  margin-top: .65rem;
  border-radius: 99px;
  background: var(--bc-gold-2);
}

.bc-home-bottom {
  padding-top: clamp(2rem, 4vw, 4rem);
  padding-bottom: clamp(2rem, 5vw, 4.5rem);
  background: linear-gradient(180deg, #fff 0, var(--bc-cream) 100%);
}

/* ---------- Tarjetas de producto ---------- */
.product-list .grid .product-miniature .bc-product-card {
  position: relative;
  overflow: hidden;
  border: 1px solid rgba(94,7,1,.1);
  border-radius: var(--bc-radius-card);
  box-shadow: 0 4px 18px rgba(36,31,28,.055);
  transition: transform .24s var(--bc-ease), box-shadow .24s var(--bc-ease), border-color .24s ease;
}

.product-list .grid .product-miniature .bc-product-card:hover {
  border-color: rgba(124,10,2,.22);
  box-shadow: 0 18px 38px rgba(36,31,28,.12);
  transform: translateY(-5px);
}

.product-list .grid .product-miniature .bc-product-card .first-block {
  padding: .75rem .75rem 0;
  background: #fff;
}

.product-list .grid .product-miniature .bc-product-card .product-thumbnail,
.product-list .grid .product-miniature .bc-product-card .product-cover-link {
  border-radius: 14px;
  background: var(--bc-cream);
}

.product-list .grid .product-miniature .bc-product-card .product-thumbnail img {
  border-radius: 14px;
  transition: transform .3s var(--bc-ease);
}

@media (hover:hover) {
  .product-list .grid .product-miniature .bc-product-card:hover .product-thumbnail img {
    transform: scale(1.025);
  }
}

.product-list .grid .product-miniature .bc-product-card .product-flags {
  top: 1.1rem;
  left: 1.1rem;
}

.product-list .grid .product-miniature .bc-product-card .product-flag {
  border-radius: 999px;
  box-shadow: 0 3px 9px rgba(36,31,28,.08);
  font-size: .72rem;
  font-weight: 800;
}

.product-list .grid .product-miniature .bc-product-card .product-name {
  min-height: auto;
  padding: .85rem .8rem .35rem;
  font-size: .98rem;
}

.product-list .grid .product-miniature .bc-product-card .product-name a {
  min-height: 2.7em;
  color: var(--bc-ink);
  font-weight: 700;
}

.product-list .grid .product-miniature .bc-product-card .product-description-short {
  display: -webkit-box;
  overflow: hidden;
  margin: .15rem .8rem .45rem;
  color: var(--bc-ink-soft);
  font-size: .86rem;
  line-height: 1.45;
  -webkit-box-orient: vertical;
  -webkit-line-clamp: 2;
}

.product-list .grid .product-miniature .bc-product-card .product-availability {
  margin: .3rem .8rem 0;
  font-size: .78rem;
  font-weight: 700;
}

.product-list .grid .product-miniature .bc-product-card__footer {
  gap: .6rem;
  min-height: 76px;
  margin-top: auto;
  padding: .75rem .8rem .85rem;
  border-top: 0;
  background: linear-gradient(180deg,#fff 0,var(--bc-cream) 100%);
}

.product-list .grid .product-miniature .bc-product-card .product-price,
.product-list .grid .product-miniature .bc-product-card .price {
  color: var(--bc-wine);
  font-size: 1.18rem;
  font-weight: 850;
}

.product-list .grid .product-miniature .bc-product-card .regular-price {
  color: var(--bc-ink-soft);
  font-size: .82rem;
}

.product-list .grid .product-miniature .bc-product-card .buttons-sections .add-to-cart {
  min-width: 92px;
  min-height: 40px;
  border-radius: 999px;
  box-shadow: none;
  font-weight: 800;
}

/* ---------- Categoría editorial ---------- */
.bc-category-header { margin-bottom: 1.75rem; }

.bc-category-hero {
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(300px, 42%);
  gap: clamp(1.5rem, 4vw, 3.5rem);
  align-items: center;
  margin-bottom: clamp(1.5rem, 3vw, 2.5rem);
  padding: clamp(1.35rem, 3.5vw, 3.25rem);
  border: 1px solid rgba(94,7,1,.09);
  border-radius: var(--bc-radius-xl);
  background:
    radial-gradient(circle at 0 0, rgba(224,194,122,.18), transparent 38%),
    linear-gradient(135deg, #fff 0%, var(--bc-cream) 100%);
}

.bc-category-hero--no-image { grid-template-columns: minmax(0, 860px); }

.bc-category-hero .page-heading {
  margin-bottom: .9rem;
  font-size: clamp(2rem, 4vw, 3.4rem);
  letter-spacing: -.035em;
}

.bc-category-hero .page-heading::after { width: 70px; }

.bc-category-intro {
  max-width: 760px;
  margin: 0;
  color: var(--bc-ink-soft);
  font-size: 1.02rem;
}

.bc-category-intro p:last-child { margin-bottom: 0; }

.bc-category-hero__media {
  aspect-ratio: 5 / 2;
  min-height: 220px;
  overflow: hidden;
  border-radius: 18px;
  box-shadow: 0 16px 38px rgba(36,31,28,.12);
}

.bc-category-hero__media picture,
.bc-category-hero__media img {
  display: block;
  width: 100%;
  height: 100%;
}

.bc-category-hero__media img { object-fit: cover; }

.bc-subcategory-section {
  margin: 0 0 2rem;
  padding: 1.25rem 0 .25rem;
}

.bc-subcategories .page-subheading {
  margin-bottom: 1.1rem;
  color: var(--bc-ink);
  font-size: 1.25rem;
  font-weight: 800;
}

.bc-subcategories__grid { row-gap: 1rem; }

.bc-subcategories .subcategory-miniature {
  margin-bottom: 0;
}

.bc-subcategories .subcategory-miniature > * {
  position: relative;
}

.bc-subcategories .subcategory-image {
  aspect-ratio: 4 / 3;
  border: 1px solid var(--bc-line);
  background: var(--bc-cream);
}

.bc-subcategories .subcategory-image img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}

.bc-subcategories .subcategory-name a {
  display: inline-flex;
  align-items: center;
  min-height: 36px;
  font-size: .94rem;
}

/* Facetas y ordenación */
#search_filters,
#search_filters_wrapper,
.block-categories {
  border: 1px solid var(--bc-line);
  border-radius: 16px;
  background: #fff;
  box-shadow: 0 5px 18px rgba(36,31,28,.04);
}

#search_filters .facet,
#search_filters_wrapper .facet {
  padding: .8rem 1rem;
  border-bottom: 1px solid var(--bc-line);
}

#search_filters .facet:last-child,
#search_filters_wrapper .facet:last-child { border-bottom: 0; }

#search_filters .facet-title,
#search_filters_wrapper .facet-title {
  color: var(--bc-ink);
  font-weight: 800;
}

.products-selection {
  margin-bottom: 1.25rem;
  padding: .75rem .9rem;
  border: 1px solid var(--bc-line);
  border-radius: 14px;
  background: #fff;
}

/* ---------- Ficha de producto ---------- */
.bc-product-page .bc-product-hero {
  overflow: visible;
  padding: clamp(1rem, 2.2vw, 2rem);
  border: 1px solid rgba(94,7,1,.1);
  border-radius: var(--bc-radius-xl);
  background: #fff;
  box-shadow: 0 10px 34px rgba(36,31,28,.08);
}

.bc-product-page .bc-product-gallery .product-left-content {
  position: sticky;
  top: 92px;
}

.bc-product-page .bc-product-summary .product-right-content {
  padding: .25rem clamp(.1rem, 1.8vw, 1.4rem);
}

.bc-product-eyebrow { margin-top: .15rem; }

.bc-product-page .bc-product-summary .page-heading {
  max-width: 900px;
  margin-bottom: .8rem;
  font-size: clamp(1.75rem, 3vw, 2.65rem);
  letter-spacing: -.03em;
}

.bc-product-page .bc-product-summary .page-heading::after {
  width: 64px;
  margin-top: .7rem;
}

.bc-product-page .product-description-short {
  max-width: 760px;
  color: var(--bc-ink-soft);
  font-size: 1rem;
  line-height: 1.7;
}

.bc-product-page .product-information {
  margin-top: 1rem;
  padding: clamp(1rem, 2vw, 1.5rem);
  border: 1px solid rgba(94,7,1,.12);
  border-radius: 18px;
  background: linear-gradient(145deg, #fff 0%, var(--bc-cream) 100%);
  box-shadow: inset 0 1px 0 rgba(255,255,255,.8);
}

.bc-product-page .product-prices {
  margin-bottom: 1rem;
  padding-bottom: .85rem;
  border-bottom: 1px solid var(--bc-line);
}

.bc-product-page .product-prices .current-price-value {
  color: var(--bc-wine);
  font-size: clamp(1.85rem, 3vw, 2.55rem);
  font-weight: 900;
  letter-spacing: -.025em;
}

.bc-product-page .product-variants > .product-variants-item {
  margin-bottom: .85rem;
}

.bc-product-page .product-variants .control-label,
.bc-product-page .product-quantity .form-control-label {
  color: var(--bc-ink);
  font-weight: 800;
}

.bc-product-page .product-variants select,
.bc-product-page .product-variants input,
.bc-product-page .product-quantity input[type="number"] {
  border-color: rgba(94,7,1,.2);
  background: #fff;
}

.bc-product-page .product-add-to-cart .btn.add-to-cart {
  min-height: 54px;
  padding-right: 1.35rem;
  padding-left: 1.35rem;
  border-radius: 12px;
  font-size: 1.02rem;
  box-shadow: 0 8px 18px rgba(94,7,1,.16);
}

.bc-product-page .product-add-to-cart .btn.add-to-cart:hover {
  box-shadow: 0 12px 25px rgba(94,7,1,.23);
}

.bc-product-page .reassurance-hook {
  margin: 1.25rem -.25rem -.25rem;
  padding: 1rem .25rem 0;
  border-top: 1px solid var(--bc-line);
}

.bc-product-page .main-product-bottom {
  overflow: hidden;
  border: 1px solid var(--bc-line);
  border-radius: 18px;
  background: #fff;
}

.bc-product-page .main-product-bottom .nav-tabs {
  background: var(--bc-cream);
}

.bc-product-page .main-product-bottom .tab-content,
.bc-product-page .main-product-bottom .product-description,
.bc-product-page .main-product-bottom .typo {
  line-height: 1.75;
}

/* Sticky buybar: JS sólo lo activa cuando el CTA original deja de verse. */
.bc-mobile-buybar {
  display: none;
}

/* ---------- Footer ---------- */
.bc-footer-top {
  border-top: 1px solid rgba(94,7,1,.08);
  background: var(--bc-cream);
}

.bc-footer-main {
  padding-top: clamp(2.5rem, 5vw, 4.5rem);
  padding-bottom: clamp(2rem, 4vw, 3.5rem);
  background: var(--bc-wine);
  color: rgba(255,255,255,.82);
}

.bc-footer-main a { color: rgba(255,255,255,.82); }
.bc-footer-main a:hover { color: var(--bc-gold-soft); }

.bc-footer-main .title_block,
.bc-footer-main .h3,
.bc-footer-main .h4,
.bc-footer-main h3,
.bc-footer-main h4 {
  color: #fff;
  font-weight: 800;
}

.bc-footer-main input[type="email"],
.bc-footer-main input[type="text"] {
  min-height: 46px;
  border: 1px solid rgba(255,255,255,.22);
  border-radius: 10px;
  background: rgba(255,255,255,.08);
  color: #fff;
}

.bc-footer-main input::placeholder { color: rgba(255,255,255,.64); }

.bc-footer-main .btn,
.bc-footer-main button[type="submit"] {
  min-height: 46px;
  border-radius: 10px;
  border-color: var(--bc-gold-2);
  background: var(--bc-gold-2);
  color: var(--bc-wine);
  font-weight: 800;
}

.bc-footer-bottom {
  padding: .8rem 0;
  border-top: 1px solid rgba(255,255,255,.09);
  background: #430500;
  color: rgba(255,255,255,.68);
  font-size: .82rem;
}

.bc-footer-bottom a { color: rgba(255,255,255,.74); }

/* ---------- Navegación inferior móvil ---------- */
.bc-mobile-nav { display: none; }

@media (max-width: 767.98px) {
  body { padding-bottom: 68px; }

  #header .bc-header--mobile .main-header {
    position: relative;
    padding: .45rem 0;
    background: #fff;
  }

  #header .bc-header--mobile .bc-header__inner {
    min-height: auto;
  }

  #header .bc-header--mobile .header-logo img,
  #header .bc-header--mobile .header-logo svg {
    max-height: 58px;
  }

  #header .bc-header--mobile .mobile-menu-icon {
    border-radius: 12px;
    box-shadow: 0 5px 14px rgba(94,7,1,.14);
  }

  #header .bc-header--mobile .search-widget form input[type="text"] {
    border-radius: 999px;
    background: var(--bc-cream);
  }

  #header .bc-header--mobile .search-widget form [type="submit"] {
    border-radius: 999px;
    background: transparent;
    color: var(--bc-wine);
  }

  .bc-home-main {
    --bc-home-gap: 2.4rem;
    padding-top: 2.4rem;
  }

  .bc-home-main .products-section-title,
  .bc-home-main .home-block-title,
  .bc-home-main .title_block,
  .bc-home-bottom .title_block {
    font-size: 1.55rem;
  }

  .product-list .grid .product-miniature .bc-product-card {
    border-radius: 14px;
  }

  .product-list .grid .product-miniature .bc-product-card:hover { transform: none; }

  .product-list .grid .product-miniature .bc-product-card .first-block {
    padding: .45rem .45rem 0;
  }

  .product-list .grid .product-miniature .bc-product-card .product-thumbnail,
  .product-list .grid .product-miniature .bc-product-card .product-thumbnail img {
    border-radius: 11px;
  }

  .product-list .grid .product-miniature .bc-product-card .product-name {
    padding: .65rem .55rem .3rem;
    font-size: .9rem;
  }

  .product-list .grid .product-miniature .bc-product-card .product-description-short {
    display: none;
  }

  .product-list .grid .product-miniature .bc-product-card__footer {
    min-height: 66px;
    padding: .55rem;
  }

  .product-list .grid .product-miniature .bc-product-card .product-price,
  .product-list .grid .product-miniature .bc-product-card .price {
    font-size: 1.02rem;
  }

  .bc-category-hero {
    display: flex;
    flex-direction: column-reverse;
    gap: 1.1rem;
    padding: 1rem;
    border-radius: 18px;
  }

  .bc-category-hero--no-image { display: block; }

  .bc-category-hero__content { width: 100%; padding: .25rem .15rem .35rem; }

  .bc-category-hero .page-heading {
    font-size: clamp(1.75rem, 8vw, 2.35rem);
  }

  .bc-category-hero__media {
    width: 100%;
    min-height: 0;
    aspect-ratio: 5 / 2;
    border-radius: 14px;
    box-shadow: none;
  }

  .bc-category-intro { font-size: .96rem; }

  .bc-subcategories__grid {
    margin-right: -.35rem;
    margin-left: -.35rem;
  }

  .bc-subcategories .subcategory-miniature {
    padding-right: .35rem;
    padding-left: .35rem;
  }

  .bc-product-page .bc-product-hero {
    padding: .7rem;
    border: 0;
    border-radius: 0;
    box-shadow: none;
  }

  .bc-product-page .bc-product-gallery .product-left-content { position: static; }

  .bc-product-page .bc-product-summary .product-right-content {
    padding: .75rem .2rem 0;
  }

  .bc-product-page .bc-product-summary .page-heading {
    font-size: clamp(1.55rem, 7.5vw, 2.1rem);
  }

  .bc-product-page .product-information {
    margin-top: .75rem;
    padding: .9rem;
    border-radius: 14px;
  }

  .bc-product-page .product-prices .current-price-value { font-size: 1.85rem; }

  .bc-product-page .main-product-bottom {
    border-radius: 14px;
  }

  .bc-mobile-buybar {
    position: fixed;
    right: .55rem;
    bottom: 74px;
    left: .55rem;
    z-index: 1037;
    display: flex;
    align-items: center;
    gap: .65rem;
    padding: .55rem .6rem .55rem .8rem;
    border: 1px solid rgba(94,7,1,.16);
    border-radius: 16px;
    background: rgba(255,255,255,.97);
    box-shadow: 0 12px 38px rgba(36,31,28,.22);
    opacity: 0;
    pointer-events: none;
    transform: translateY(18px);
    transition: opacity .2s ease, transform .2s ease;
    backdrop-filter: blur(12px);
  }

  .bc-mobile-buybar.is-visible {
    opacity: 1;
    pointer-events: auto;
    transform: translateY(0);
  }

  .bc-mobile-buybar__info {
    min-width: 0;
    flex: 1 1 auto;
  }

  .bc-mobile-buybar__name {
    display: block;
    overflow: hidden;
    color: var(--bc-ink-soft);
    font-size: .72rem;
    line-height: 1.2;
    text-overflow: ellipsis;
    white-space: nowrap;
  }

  .bc-mobile-buybar__price {
    display: block;
    margin-top: .1rem;
    color: var(--bc-wine);
    font-size: 1.05rem;
    font-weight: 900;
    line-height: 1.2;
  }

  .bc-mobile-buybar__button {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: .35rem;
    min-height: 44px;
    padding: .55rem .9rem;
    border: 0;
    border-radius: 11px;
    background: var(--bc-wine);
    color: #fff;
    font-weight: 800;
  }

  .bc-mobile-buybar__button:disabled {
    opacity: .48;
  }

  .bc-mobile-buybar__button .material-icons { font-size: 19px; }

  .bc-mobile-nav {
    position: fixed;
    right: 0;
    bottom: 0;
    left: 0;
    z-index: 1038;
    display: grid;
    grid-template-columns: repeat(5, 1fr);
    min-height: 64px;
    padding: 5px max(4px, env(safe-area-inset-right)) calc(5px + env(safe-area-inset-bottom)) max(4px, env(safe-area-inset-left));
    border-top: 1px solid rgba(94,7,1,.11);
    background: rgba(255,255,255,.97);
    box-shadow: 0 -7px 24px rgba(36,31,28,.09);
    backdrop-filter: blur(14px);
  }

  .bc-mobile-nav__item {
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    gap: 1px;
    min-width: 0;
    min-height: 52px;
    padding: 2px;
    border: 0;
    background: transparent;
    color: var(--bc-ink-soft);
    font-family: inherit;
    font-size: .65rem;
    font-weight: 700;
    line-height: 1.1;
    text-decoration: none;
  }

  .bc-mobile-nav__item:hover,
  .bc-mobile-nav__item:focus-visible,
  .bc-mobile-nav__item.is-active {
    color: var(--bc-wine);
  }

  .bc-mobile-nav__item .material-icons {
    font-size: 22px;
    line-height: 1;
  }

  .bc-mobile-nav__button { cursor: pointer; }

  .bc-footer-main { padding-bottom: 2.5rem; }
}

@media (min-width: 768px) and (max-width: 1199.98px) {
  .bc-category-hero {
    grid-template-columns: minmax(0,1fr) minmax(280px, 40%);
    padding: 2rem;
  }

  #header .bc-header--desktop #amegamenu .amenu-item > .amenu-link {
    padding-right: .65rem;
    padding-left: .65rem;
    font-size: .82rem;
  }
}

@media (min-width: 992px) {
  #left-column #search_filters_wrapper,
  #left-column #search_filters {
    position: sticky;
    top: 78px;
  }
}

@media (prefers-reduced-motion: reduce) {
  .bc-mobile-buybar,
  .product-list .grid .product-miniature .bc-product-card,
  .product-list .grid .product-miniature .bc-product-card .product-thumbnail img {
    transition: none !important;
  }
}

/* ---------- Home: slider, bloques y categorías destacadas ---------- */
.bc-home-hero .aone-slideshow {
  margin-bottom: 0;
}

.bc-home-hero .aone-slideshow.container {
  padding-top: 1rem;
}

.bc-home-hero .aone-slideshow.container .nivoSlider,
.bc-home-hero .aone-slideshow.container .a-banner {
  overflow: hidden;
  border-radius: 22px;
  box-shadow: 0 12px 34px rgba(36,31,28,.10);
}

.bc-home-hero .nivo-controlNav {
  padding: .75rem 0 0;
}

.bc-home-hero .nivo-controlNav a {
  width: 8px;
  height: 8px;
  border-radius: 99px;
  background: rgba(94,7,1,.24);
  transition: width .18s ease, background-color .18s ease;
}

.bc-home-hero .nivo-controlNav a.active {
  width: 24px;
  background: var(--bc-wine);
}

.bc-home-main .aone-homepage .block,
.bc-home-bottom .aone-featuredcategories .block,
.bc-home-bottom .aone-homepage .block {
  margin-bottom: 0;
}

.bc-home-main .aone-homepage .title-block,
.bc-home-bottom .aone-featuredcategories .title-block {
  align-items: flex-end !important;
  justify-content: space-between !important;
  gap: 1rem;
  margin-bottom: 1.35rem;
}

.bc-home-main .aone-homepage .title-block > span:first-child,
.bc-home-bottom .aone-featuredcategories .title-block > span:not(.title-icon) {
  color: var(--bc-ink);
  font-size: clamp(1.45rem,2.4vw,2.15rem);
  font-weight: 850;
  letter-spacing: -.025em;
}

.bc-home-main .view-all-link a,
.bc-home-bottom .view-all-link a {
  display: inline-flex;
  align-items: center;
  min-height: 40px;
  color: var(--bc-wine);
  font-weight: 800;
}

.bc-home-bottom .aone-featuredcategories .title-icon {
  display: none;
}

.bc-home-bottom .aone-featuredcategories .category-container {
  height: 100%;
  overflow: hidden;
  border: 1px solid var(--bc-line);
  border-radius: 18px;
  background: #fff;
  box-shadow: 0 5px 18px rgba(36,31,28,.05);
  transition: transform .22s var(--bc-ease), box-shadow .22s var(--bc-ease);
}

.bc-home-bottom .aone-featuredcategories .category-container:hover {
  transform: translateY(-3px);
  box-shadow: 0 14px 30px rgba(36,31,28,.1);
}

.bc-home-bottom .aone-featuredcategories .category-image {
  overflow: hidden;
  background: var(--bc-cream);
}

.bc-home-bottom .aone-featuredcategories .category-image img {
  transition: transform .28s var(--bc-ease);
}

.bc-home-bottom .aone-featuredcategories .category-container:hover .category-image img {
  transform: scale(1.025);
}

.bc-home-bottom .aone-featuredcategories .category-name,
.bc-home-bottom .aone-featuredcategories .category-des,
.bc-home-bottom .aone-featuredcategories .sub-categories {
  padding-right: .85rem;
  padding-left: .85rem;
}

.bc-home-bottom .aone-featuredcategories .category-name {
  margin-top: .85rem;
  margin-bottom: .35rem;
  font-weight: 800;
}

.bc-home-bottom .aone-featuredcategories .category-name a { color: var(--bc-ink); }
.bc-home-bottom .aone-featuredcategories .category-name a:hover { color: var(--bc-wine); }

/* Tabs de home */
.bc-home-main .aone-tabs .nav-tabs {
  gap: .4rem;
  border-bottom: 1px solid var(--bc-line);
}

.bc-home-main .aone-tabs .nav-link {
  margin-bottom: -1px;
  padding: .65rem .9rem;
  border: 0;
  border-bottom: 3px solid transparent;
  background: transparent;
  color: var(--bc-ink-soft);
  font-weight: 750;
}

.bc-home-main .aone-tabs .nav-link.active {
  border-bottom-color: var(--bc-wine);
  color: var(--bc-wine);
}

/* ---------- Paginación y listados ---------- */
.pagination .page-list {
  gap: .3rem;
}

.pagination .page-list li a,
.pagination .page-list li span {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-width: 40px;
  min-height: 40px;
  border: 1px solid var(--bc-line);
  border-radius: 10px;
  color: var(--bc-ink-soft);
}

.pagination .page-list .current a,
.pagination .page-list .current span,
.pagination .page-list li a:hover {
  border-color: var(--bc-wine);
  background: var(--bc-wine);
  color: #fff;
}

/* ---------- Formularios, cuenta y CMS ---------- */
.form-control,
.custom-select,
select.form-control {
  min-height: 44px;
  border-color: rgba(94,7,1,.16);
  border-radius: 10px;
}

.form-control:focus,
.custom-select:focus {
  border-color: rgba(124,10,2,.48);
  box-shadow: 0 0 0 3px rgba(124,10,2,.07);
}

.page-customer-account #content,
.page-authentication #content,
.page-addresses #content,
.page-order-detail #content,
.page-cms #content,
.contact-form {
  border: 1px solid var(--bc-line);
  border-radius: 18px;
  background: #fff;
  box-shadow: 0 7px 24px rgba(36,31,28,.055);
}

.page-customer-account #content,
.page-authentication #content,
.page-cms #content {
  padding: clamp(1rem,3vw,2rem);
}

.page-cms .page-content,
.page-cms .typo {
  color: var(--bc-ink);
  font-size: 1rem;
  line-height: 1.78;
}

.page-cms .page-content h2,
.page-cms .page-content h3,
.page-cms .typo h2,
.page-cms .typo h3 {
  color: var(--bc-ink);
  letter-spacing: -.018em;
}

/* ---------- Carrito y checkout (visual, lógica ajena) ---------- */
body#cart .cart-container,
body#cart .card,
body#checkout .card,
body#order-confirmation .card {
  border: 1px solid var(--bc-line);
  border-radius: 16px;
  box-shadow: 0 5px 18px rgba(36,31,28,.045);
}

body#cart .cart-summary,
body#checkout .cart-summary {
  overflow: hidden;
  border-radius: 16px;
}

body#cart .cart-summary .cart-total,
body#checkout .cart-summary .cart-total {
  color: var(--bc-wine);
  font-weight: 900;
}

body#cart .checkout a,
body#checkout .btn-primary,
body#order-confirmation .btn-primary {
  min-height: 50px;
  border-radius: 12px;
  background: var(--bc-wine);
  border-color: var(--bc-wine);
  font-weight: 800;
}

/* Compatibilidad visual con One Page Checkout: selectores deliberadamente genéricos. */
#checkout .checkout-step,
#checkout .js-current-step,
.onepagecheckoutps .card,
.onepagecheckoutps .checkout-step,
.ets_onepagecheckout .card {
  border-radius: 16px;
}

/* ---------- 404 / búsquedas vacías ---------- */
#pagenotfound .page-not-found,
#search .page-not-found {
  padding: clamp(2rem,6vw,5rem) 1.25rem;
  border: 1px solid var(--bc-line);
  border-radius: 20px;
  background: var(--bc-cream);
  text-align: center;
}

@media (max-width: 767.98px) {
  .bc-home-hero .aone-slideshow.container { padding: .65rem .65rem 0; }
  .bc-home-hero .aone-slideshow.container .nivoSlider,
  .bc-home-hero .aone-slideshow.container .a-banner { border-radius: 14px; box-shadow: none; }

  .bc-home-main .aone-homepage .title-block,
  .bc-home-bottom .aone-featuredcategories .title-block {
    align-items: flex-start !important;
  }

  .bc-home-main .aone-homepage .title-block > span:first-child,
  .bc-home-bottom .aone-featuredcategories .title-block > span:not(.title-icon) {
    font-size: 1.4rem;
  }

  .page-customer-account #content,
  .page-authentication #content,
  .page-cms #content,
  .contact-form {
    border-radius: 14px;
    box-shadow: none;
  }
}


/* ---------- v1.2.3 · PERFORMANCE MOBILE / LCP ---------- */
/* ZOne hid the complete Nivo slider until window.load. The first real slide is now
   paintable immediately; Nivo progressively enhances it later. */
.bc-home-hero .aone-slideshow.theme-default .nivo-slider-overlay {
  display: none !important;
}

.bc-home-hero .aone-slideshow.theme-default .nivoSlider {
  display: block !important;
  background: #fff !important;
}

.bc-home-hero #aoneSlider .bc-lcp-slide {
  display: block !important;
  position: relative !important;
  inset: auto !important;
  width: 100% !important;
  height: auto !important;
  max-width: 100% !important;
  opacity: 1 !important;
}

/* Do not animate visibility of the LCP area on first paint. */
.bc-home-hero #aoneSlider {
  opacity: 1;
}

@media (max-width: 767.98px) {
  .bc-home-hero {
    min-height: 0;
  }

  .bc-home-hero .aone-slideshow.theme-default .nivoSlider {
    margin-bottom: 0;
    box-shadow: none;
  }

  /* Captions remain HTML, but don't delay or cover the first mobile paint. */
  .bc-home-hero .nivo-caption {
    will-change: auto;
  }
}

/* ============================================================
   v1.2.4 · MOBILE HEADER COMPACT
   Reduce chrome above the hero without changing desktop hooks.
   ============================================================ */
@media (max-width: 767.98px) {
  /* Account/navigation is already available in the fixed mobile bar. */
  #header .mobile-header-version .header-banner,
  #header .mobile-header-version .header-nav {
    display: none !important;
  }

  #header .mobile-header-version .main-header {
    padding: .15rem 0 .35rem;
    background: #fff;
    box-shadow: 0 1px 0 rgba(38, 34, 31, .08);
  }

  #header .mobile-header-version .header-wrapper {
    display: flex;
    flex-direction: column;
    align-items: stretch;
    gap: .15rem;
  }

  #header .mobile-header-version .header-logo {
    display: flex;
    align-items: center;
    justify-content: center;
    min-height: 42px;
    padding: .15rem 0 .1rem;
    line-height: 1;
  }

  #header .mobile-header-version .header-logo img,
  #header .mobile-header-version .header-logo svg {
    width: auto;
    max-width: min(52vw, 190px);
    max-height: 38px;
  }

  #header .mobile-header-version .header-right {
    min-height: 44px;
    margin: 0;
    padding: 0;
    gap: .35rem;
    align-items: center;
  }

  #header .mobile-header-version .mobile-display-left {
    flex: 0 0 42px;
    width: 42px;
  }

  #header .mobile-header-version .mobile-menu-icon,
  #header .mobile-header-version .shopping-cart-module .cart-link {
    width: 42px;
    height: 42px;
    min-width: 42px;
    min-height: 42px;
  }

  #header .mobile-header-version .display-top {
    flex: 1 1 auto;
    width: auto;
    min-width: 0;
    gap: .35rem;
  }

  #header .mobile-header-version .searchbar-wrapper {
    flex: 1 1 auto;
    width: auto;
    min-width: 0;
  }

  #header .mobile-header-version .search-widget {
    width: 100%;
    max-width: none;
  }

  #header .mobile-header-version .search-widget form input[type="text"] {
    height: 42px;
    min-width: 0;
    padding: 0 44px 0 .75rem;
    font-size: .9rem;
  }

  #header .mobile-header-version .search-widget form [type="submit"] {
    width: 42px;
    height: 42px;
  }

  /* Prevent secondary desktop-oriented controls from crowding mobile header. */
  #header .mobile-header-version .customer-signin-module,
  #header .mobile-header-version .language-selector-wrapper,
  #header .mobile-header-version .currency-selector-wrapper {
    display: none !important;
  }
}

@media (max-width: 360px) {
  #header .mobile-header-version .header-logo img,
  #header .mobile-header-version .header-logo svg {
    max-width: 58vw;
    max-height: 34px;
  }

  #header .mobile-header-version .mobile-display-left {
    flex-basis: 40px;
    width: 40px;
  }

  #header .mobile-header-version .mobile-menu-icon,
  #header .mobile-header-version .shopping-cart-module .cart-link,
  #header .mobile-header-version .search-widget form [type="submit"] {
    width: 40px;
    min-width: 40px;
  }
}


/* ============================================================
   v1.2.5 · DESKTOP MENU + CATEGORY CLEANUP
   Fixes ZOne module backgrounds overriding Changó navigation,
   and makes category headers compact/readable when no cover exists.
   ============================================================ */
@media (min-width: 768px) {
  #header .bc-header--desktop .header-bottom,
  #header .bc-header--desktop .header-main-menu,
  #header .bc-header--desktop .header-main-menu-wrapper,
  #header .bc-header--desktop .bc-mega-nav,
  #header .bc-header--desktop #amegamenu,
  #header .bc-header--desktop #amegamenu > .anav-top {
    background: var(--bc-wine) !important;
  }

  #header .bc-header--desktop #amegamenu > .anav-top {
    align-items: stretch !important;
  }

  #header .bc-header--desktop #amegamenu .amenu-item,
  #header .bc-header--desktop #amegamenu .amenu-item > .amenu-link {
    background: transparent !important;
  }

  #header .bc-header--desktop #amegamenu .amenu-item > .amenu-link,
  #header .bc-header--desktop #amegamenu .amenu-item > .amenu-link span,
  #header .bc-header--desktop #amegamenu .amenu-item > .amenu-link i,
  #header .bc-header--desktop #amegamenu .amenu-item > .amenu-link .material-icons,
  #header .bc-header--desktop #amegamenu .amenu-item > .amenu-link::before,
  #header .bc-header--desktop #amegamenu .amenu-item > .amenu-link::after {
    color: rgba(255,255,255,.96) !important;
  }

  #header .bc-header--desktop #amegamenu .amenu-item:hover > .amenu-link,
  #header .bc-header--desktop #amegamenu .amenu-item.active > .amenu-link,
  #header .bc-header--desktop #amegamenu .amenu-item > .amenu-link:focus-visible {
    background: rgba(255,255,255,.09) !important;
  }

  #header .bc-header--desktop #amegamenu .amenu-item:hover > .amenu-link,
  #header .bc-header--desktop #amegamenu .amenu-item:hover > .amenu-link span,
  #header .bc-header--desktop #amegamenu .amenu-item.active > .amenu-link,
  #header .bc-header--desktop #amegamenu .amenu-item.active > .amenu-link span,
  #header .bc-header--desktop #amegamenu .amenu-item > .amenu-link:focus-visible,
  #header .bc-header--desktop #amegamenu .amenu-item > .amenu-link:focus-visible span {
    color: var(--bc-gold-soft) !important;
  }

  #header .bc-header--desktop .left-nav-trigger,
  #header .bc-header--desktop .left-nav-icon {
    background: rgba(0,0,0,.08) !important;
    color: #fff !important;
  }
}

/* Category header: keep the content hierarchy, remove oversized presentation. */
.bc-category-header {
  margin-bottom: 1.35rem;
}

.bc-category-hero {
  gap: clamp(1.2rem, 3vw, 2.5rem);
  padding: clamp(1.15rem, 2.4vw, 2rem);
}

.bc-category-hero .page-heading {
  margin-bottom: .7rem;
  font-size: clamp(1.9rem, 3vw, 2.75rem);
  line-height: 1.08;
}

.bc-category-hero--no-image {
  display: block;
  max-width: none;
  padding: 0;
  border: 0;
  border-radius: 0;
  background: transparent;
}

.bc-category-hero--no-image .bc-category-hero__content {
  width: 100%;
}

.bc-category-hero--no-image .bc-eyebrow {
  margin-bottom: .35rem;
}

.bc-category-hero--no-image .bc-category-intro {
  max-width: 100%;
  margin-top: .9rem;
}

.bc-category-intro {
  line-height: 1.65;
}

.bc-category-intro .descSmall {
  max-height: 230px;
}

.bc-category-intro .descToggle {
  bottom: -4px;
  z-index: 2;
}

.bc-category-intro .descToggle a {
  display: inline-flex;
  align-items: center;
  gap: .15rem;
  padding: .35rem .55rem;
  border: 1px solid rgba(94,7,1,.10);
  border-radius: 999px;
  background: #fff;
  color: var(--bc-wine);
  font-weight: 700;
  text-decoration: none;
}

.bc-category-intro .descCollapsed .descSmall::after {
  background: linear-gradient(to bottom, rgba(255,255,255,0), rgba(255,255,255,.92) 55%, #fff 100%) !important;
}

@media (max-width: 767.98px) {
  .bc-category-header {
    margin-bottom: 1rem;
  }

  .bc-category-hero,
  .bc-category-hero--no-image {
    padding: .8rem .15rem 1rem;
    border: 0;
    border-radius: 0;
    background: transparent;
  }

  .bc-category-hero .page-heading {
    margin-bottom: .55rem;
    font-size: clamp(1.7rem, 7.5vw, 2.15rem);
  }

  .bc-category-hero .page-heading::after {
    width: 48px;
    margin-top: .4rem;
  }

  .bc-category-intro {
    margin-top: .7rem;
    font-size: .95rem;
    line-height: 1.6;
  }

  .bc-category-intro .descSmall {
    max-height: 190px;
  }
}
