/* =========================================================================
   vinorea.css — Capa de identidad visual de vinorea.com sobre Hummingbird.
   Replica la paleta, tipografía y componentes del tema "warehouse" (PS 1.6)
   de vinorea.com. Se carga DESPUÉS de theme.css (override por especificidad).
   ========================================================================= */

:root,
body {
  --vino:        #ad1457;   /* color de marca (burdeos) */
  --vino-dark:   #8a0f43;
  --vino-soft:   #f3e1ea;
  --gold:        #ffc200;   /* acento Club */
  --price:       #ad1457;   /* precio de producto: el burdeos de marca, como en vinorea.com (antes #f13340, demasiado rojo) */
  --ink:         #1a1a1a;   /* nombres de producto */
  --text:        #777777;   /* texto base */
  --muted:       #999999;
  --line:        #dddddd;
  --bg-soft:     #f8f8f8;
  --cart-hover:  #0084bf;
  --font-body:   'Open Sans', Arial, Helvetica, sans-serif;
  --font-head:   'Montserrat', Arial, sans-serif;
  --font-data:   'Roboto Slab', Georgia, serif;

  /* Mapear las variables Bootstrap/tema al burdeos */
  --bs-primary: #ad1457;
  --bs-primary-rgb: 173, 20, 87;
  --bs-link-color: #ad1457;
  --bs-link-hover-color: #8a0f43;
  --bs-border-radius: 0;
  --bs-border-radius-sm: 0;
  --bs-border-radius-lg: 0;
}

/* ---------- Base / tipografía ---------- */
body {
  font-family: var(--font-body);
  color: var(--text);
  background: #fff;
  font-size: 14px;
  line-height: 1.55;
}
h1, h2, h3, h4, h5, h6,
.h1, .h2, .h3, .h4, .h5, .h6 {
  font-family: var(--font-head);
  font-weight: 600;
  line-height: 1.15;
  color: #222;
}
h1, .h1 { font-size: 2rem; }
h2, .h2 { font-size: 1.55rem; }
h3, .h3 { font-size: 1.3rem; }
h4, .h4 { font-size: 1.1rem; }

a { color: var(--vino); }
a:hover { color: var(--vino-dark); }

/* Esquinas rectas (look "warehouse") */
.btn, .card, .form-control, .form-select, .input-group-text,
.product-miniature, .product-miniature__image-container,
.thumbnail-container, .modal-content, .dropdown-menu,
.alert, .badge, .page-link, .product__images, .product-cover {
  border-radius: 0 !important;
}

/* ---------- Botones ---------- */
.btn-primary {
  --bs-btn-color: #fff;
  --bs-btn-hover-color: #fff;
  --bs-btn-active-color: #fff;
  --bs-btn-disabled-color: #fff;
  --bs-btn-bg: var(--vino);
  --bs-btn-border-color: var(--vino);
  --bs-btn-hover-bg: var(--vino-dark);
  --bs-btn-hover-border-color: var(--vino-dark);
  --bs-btn-active-bg: var(--vino-dark);
  --bs-btn-active-border-color: var(--vino-dark);
  --bs-btn-disabled-bg: var(--vino);
  --bs-btn-disabled-border-color: var(--vino);
  font-family: var(--font-head);
  font-weight: 600;
  letter-spacing: .3px;
  text-transform: uppercase;
  font-size: .82rem;
}
.btn-outline-primary {
  --bs-btn-color: var(--vino);
  --bs-btn-border-color: var(--vino);
  --bs-btn-hover-bg: var(--vino);
  --bs-btn-hover-border-color: var(--vino);
  --bs-btn-active-bg: var(--vino);
}
.btn-secondary { --bs-btn-bg: #6f6f6f; --bs-btn-border-color: #6f6f6f; --bs-btn-hover-bg: #575757; }

/* ---------- Header ---------- */
.header-top {
  background: var(--vino);
  color: #fff;
}
.header-top a, .header-top .header-block__title,
.header-top .header-block, .header-top button { color: #fff !important; }
.header-top a:hover { color: var(--gold) !important; }
.header-bottom { background: #fff; border-bottom: 1px solid var(--line); }

/* Logo más protagonista, centrado en escritorio grande */
.header-bottom__logo img { max-height: 84px; width: auto; }

/* Menú principal: tipografía de marca, texto oscuro → burdeos en hover */
.ps-mainmenu a, .ps-mainmenu__desktop a,
.ps-mainmenu__item > a, .main-menu a {
  color: #2a2a2a;
  font-family: var(--font-head);
  font-weight: 600;
  text-transform: uppercase;
  font-size: .82rem;
  letter-spacing: .4px;
}
.ps-mainmenu a:hover, .ps-mainmenu__desktop a:hover,
.ps-mainmenu a.active, .ps-mainmenu__item--active > a { color: var(--vino) !important; }
/* Subrayado de acento bajo el menú al pasar el ratón */
.ps-mainmenu__desktop > ul > li > a { position: relative; padding-bottom: 4px; }
.ps-mainmenu__desktop > ul > li > a:hover::after {
  content: ''; position: absolute; left: 0; right: 0; bottom: 0;
  height: 2px; background: var(--vino);
}
.blockcart .header-block__badge,
.header-block__badge { background: var(--price); color: #fff; }

/* ---------- Tarjeta de producto (miniature) ---------- */
.product-miniature {
  border: 1px solid transparent;
  background: #fff;
  transition: box-shadow .2s ease, border-color .2s ease;
}
.product-miniature:hover {
  box-shadow: 0 6px 22px rgba(0,0,0,.10);
  border-color: var(--line);
}
.product-miniature__title,
.product-miniature__title a {
  font-family: var(--font-head);
  font-weight: 600;
  color: var(--ink) !important;
  font-size: .92rem;
  line-height: 1.25;
}
.product-miniature__title a:hover { color: var(--vino) !important; }
.product-miniature__price,
.product-miniature__prices .price,
.product-miniature__current-price {
  font-family: var(--font-data);
  color: var(--price) !important;
  font-weight: 700;
  font-size: 1.05rem;
}
.product-miniature__regular-price,
.product-miniature__discount-price.regular-price {
  color: var(--muted);
  text-decoration: line-through;
  font-size: .85rem;
}
.product-miniature__add.btn-primary:hover {
  --bs-btn-hover-bg: #8a0f43;
  --bs-btn-hover-border-color: #8a0f43;
}
/* Etiqueta de descuento/novedad */
.product-flag.discount, .product-flag.on-sale { background: var(--price); }
/* Vinorea (09-11-2026): etiqueta de oferta en los listados con colores invertidos: fondo burdeos y texto blanco */
.product-flags .badge.discount { background-color: var(--price); color: #fff; border-color: var(--price); font-weight: 700; font-size: .8rem; padding: .2rem .4rem; }
.product-flags .badge.vnr-flag--temporal { display: inline-flex; align-items: center; gap: .2rem; }
.product-flags .badge.vnr-flag--temporal .material-icons { font-size: 14px; line-height: 1; }
.product-flag.new { background: var(--cart-hover); }

/* ---------- Página de producto ---------- */
.product__name, .product__name.h2 {
  font-family: var(--font-head);
  font-weight: 700;
  color: #1a1a1a;
}
/* DO / dato destacado sobre el título (si el tema lo expone) */
.product__name + .product-reference,
.product-manufacturer { font-family: var(--font-data); color: var(--text); }
.product-manufacturer a { color: var(--vino); font-weight: 600; }

.product__price,
.product__prices .product__price,
.product__prices .current-price,
.product__prices .current-price .price,
.product__prices .price,
.current-price-value {
  font-family: var(--font-data);
  color: var(--price);
  font-weight: 700;
}
.product__price { font-size: 1.9rem; line-height: 1.1; }
.product__prices .regular-price,
.product__prices .product__regular-price { color: var(--muted); text-decoration: line-through; font-weight: 500; }

.product-add-to-cart .add-to-cart,
.product__add-to-cart-container .btn-primary {
  text-transform: uppercase;
  font-weight: 700;
  letter-spacing: .5px;
}

/* Ficha técnica / características (pares etiqueta-valor del acordeón) */
#product_features .accordion-body { padding: 0; }
.details__left, .details__right {
  font-family: var(--font-data);
  font-size: .9rem;
  padding: .55rem .85rem;
  border-bottom: 1px solid var(--line);
}
.details__left { font-weight: 700; color: #555; }
.details__right { color: #1a1a1a; }
/* También para la versión <dl>/tabla si el tema la usa en otras vistas */
.data-sheet dt, .product-features .name { font-weight: 700; color: #555; }
.data-sheet dt, .data-sheet dd { padding: .55rem .85rem; border-bottom: 1px solid var(--line); margin: 0; }

/* Acordeón de la ficha de producto (Descripción / Detalles / Características) */
.product__accordion .accordion-button {
  font-family: var(--font-head);
  font-weight: 700;
  text-transform: uppercase;
  font-size: .9rem;
  color: #333;
  background: #fff;
}
.product__accordion .accordion-button:not(.collapsed) {
  color: var(--vino);
  box-shadow: inset 0 -2px 0 var(--vino);
}
.product__accordion .accordion-button:focus { box-shadow: inset 0 -2px 0 var(--vino); border-color: var(--line); }

/* Pestañas (otras vistas con nav-tabs) */
.nav-tabs .nav-link {
  font-family: var(--font-head);
  font-weight: 600;
  text-transform: uppercase;
  font-size: .82rem;
  color: var(--text);
  border: none;
}
.nav-tabs .nav-link.active {
  color: var(--vino);
  border-bottom: 3px solid var(--vino);
  background: transparent;
}

/* ---------- Categoría / Marca / DO / País ---------- */
.page-header h1, #js-product-list-header h1,
.block-category h1, .category-top-menu + h1, .h1.page-title {
  font-family: var(--font-head);
  font-weight: 700;
  text-transform: uppercase;
  font-size: 1.6rem;
  color: #222;
  padding-bottom: .6rem;
  border-bottom: 1px solid var(--line);
}
.block-category, .category-description,
.brand-description, .manufacturer-description {
  font-family: var(--font-body);
  color: var(--text);
  line-height: 1.7;
}
.block-category .category-description p,
.brand-description p { margin-bottom: .8rem; }

/* Cabecera de marca / fabricante */
.brand-header, .manufacturer-header { border-bottom: 1px solid var(--line); }
.brand img.brand-img, .manufacturer .brand-img { border: 1px solid var(--line); padding: 6px; background:#fff; }

/* ---------- Filtros (faceted search) ---------- */
.ps-facetedsearch .facet__title,
.left-block__title, .search-filters__title,
#search_filters .h6, .facet-title {
  font-family: var(--font-head);
  font-weight: 700;
  text-transform: uppercase;
  font-size: .8rem;
  color: var(--vino);
}
.ps-facetedsearch .facet { border-bottom: 1px solid var(--line); }
.ps-facetedsearch .facet-label a:hover { color: var(--vino); }
.active_filters .filter-block, .js-active-search-filters .filter-block {
  background: var(--vino-soft); color: var(--vino-dark); border-radius: 0;
}

/* ---------- Footer ---------- */
.footer, .footer__main, .footer__before { background: var(--bg-soft); }
.footer { border-top: 3px solid var(--vino); color: var(--text); }
.footer-block__title, .footer .h3, .footer h3 {
  font-family: var(--font-head);
  font-weight: 700;
  text-transform: uppercase;
  font-size: .82rem;
  color: #555;
}
.footer a, .footer-block__list a { color: var(--text); }
.footer a:hover { color: var(--vino); }
.footer__before { border-bottom: 1px solid var(--line); }

/* Newsletter / inputs del footer */
.footer .btn-primary, .ps-emailsubscription .btn { background: var(--vino); border-color: var(--vino); }

/* ---------- Breadcrumb ---------- */
.breadcrumb { background: transparent; font-size: .82rem; }
.breadcrumb a { color: var(--text); }
.breadcrumb a:hover { color: var(--vino); }

/* ---------- Misceláneo ---------- */
.page-title, .h1 { font-family: var(--font-head); }
.form-control:focus, .form-select:focus {
  border-color: var(--vino);
  box-shadow: 0 0 0 .15rem rgba(173,20,87,.15);
}
::selection { background: var(--vino); color: #fff; }
.text-primary { color: var(--vino) !important; }
.bg-primary { background-color: var(--vino) !important; }
.link-primary { color: var(--vino) !important; }

/* ══ Filtros de faceta: look vinorea.com (bloques abiertos, títulos mayúsculas) ══ */
.ps-facetedsearch .accordion-button{
  text-transform:uppercase;font-size:.78rem;font-weight:700;letter-spacing:.6px;
  color:#333;padding:.85rem 0 .5rem;border-bottom:1px solid #ddd;border-radius:0;
  background:transparent;box-shadow:none;
}
.ps-facetedsearch .accordion-button:not(.collapsed){color:#333;background:transparent;box-shadow:none;}
.ps-facetedsearch .accordion-button:focus{box-shadow:none;border-color:#ddd;}
.ps-facetedsearch .accordion-item{border:0;background:transparent;}
.ps-facetedsearch ul.accordion-body{max-height:305px;overflow-y:auto;padding:.55rem 0 .9rem;margin:0;}
.ps-facetedsearch ul.accordion-body::-webkit-scrollbar{width:6px;}
.ps-facetedsearch ul.accordion-body::-webkit-scrollbar-thumb{background:#ccc;border-radius:3px;}
.ps-facetedsearch .search-filters__item{padding:.12rem 0;}
.ps-facetedsearch .form-check-label{font-size:.83rem;color:#777;cursor:pointer;}
.ps-facetedsearch .form-check-label:hover{color:#ad1457;}
.ps-facetedsearch .search-filters__magnitude{color:#aaa;font-size:.78rem;}
.ps-facetedsearch .form-check-input{border-radius:0;border-color:#ccc;}
.ps-facetedsearch .form-check-input:checked{background-color:#ad1457;border-color:#ad1457;}
.ps-facetedsearch .facet-label.active .form-check-label{color:#ad1457;font-weight:600;}
/* Slider de precio en burdeos */
.ps-facetedsearch .noUi-connect{background:#ad1457;}
.ps-facetedsearch .noUi-handle{border-color:#ad1457;}

/* ══ Tarjeta de producto: layout vinorea.com (nombre+añada · 🇪🇸 D.O. · formato+precio · AÑADIR) ══ */
.product-miniature__title{font-weight:700;color:#000;font-size:.95rem;line-height:1.25;}
.vnr-anada{font-weight:400;color:#999;font-size:.8rem;white-space:nowrap;}
.vnr-origen{margin-top:.45rem;font-size:.86rem;color:#000;display:flex;align-items:center;gap:.35rem;}
.vnr-origen strong{font-weight:700;}
.vnr-flag{width:18px;height:13px;object-fit:cover;border:1px solid #e5e5e5;display:inline-block;}
.vnr-format-price{display:flex;justify-content:space-between;align-items:flex-end;margin-top:.15rem;min-height:1.9rem;}
.vnr-format{color:#777;font-size:.82rem;white-space:nowrap;}
.vnr-format-price .product-miniature__prices{margin:0;text-align:right;}
.vnr-format-price .product-miniature__price{color:var(--price);font-family:'Roboto Slab',serif;font-weight:700;font-size:1.35rem;line-height:1;}
.vnr-format-price .product-miniature__regular-price{color:#999;font-size:.85rem;text-decoration:line-through;}
/* Fila de acciones: cantidad + AÑADIR como la web antigua.
   Bloque inferior anclado al fondo de la tarjeta (2026-10-20): el nombre, la añada, las estrellas y
   la D.O. apilan arriba; «Botella de Xcl» + precio y la fila cantidad + AÑADIR quedan siempre a la
   misma altura en toda la fila, ocupe lo que ocupe el nombre. Antes margin-top:.5rem pisaba el
   margin-top:auto del tema. */
.product-miniature__infos{display:flex;flex-direction:column;flex-grow:1;gap:.5rem;}
.product-miniature__infos .vnr-format-price{margin-top:auto;}
/* El bloque «★ n reseña(s)» del módulo productcomments duplica las estrellas de debajo del nombre y
   desplazaba la línea de precio en los productos con opiniones: fuera del listado. */
/* (02-11-2026) las reseñas del módulo vuelven a verse en los listados: ver bloque «Estrellas de reseñas en listados» */
.product-miniature__actions{margin-top:.5rem;}
.product-miniature__form{display:flex;gap:.5rem;align-items:center;}
.product-miniature__add{background:#ad1457;border-color:#ad1457;border-radius:0;font-size:.8rem;font-weight:700;letter-spacing:.5px;text-transform:uppercase;padding:.45rem .9rem;display:inline-flex;align-items:center;gap:.35rem;}
.product-miniature__add:hover{background:#8a0f43;border-color:#8a0f43;}  /* (02-11-2026) hover en granate oscuro, antes azul de la web antigua */
.product-miniature__add .material-icons{font-size:1rem;}
.product-miniature__add-text{display:inline !important;}

/* ══ Tarjeta de producto: estrellas (arriba izq.) y sellos Parker / Peñín (sobre la foto), como vinorea.com ══ */
.product-miniature__top{position:relative;}
.vnr-rating{display:flex;align-items:center;gap:6px;margin:.1rem 0 .25rem;}
.vnr-rating__val{font-size:.78rem;color:var(--muted);font-family:var(--font-data);}
.vnr-stars{position:relative;display:inline-block;font-size:1.05rem;line-height:1;letter-spacing:2px;color:#d9d9d9;white-space:nowrap;pointer-events:none;font-family:Arial,sans-serif;}
.vnr-stars::before{content:'★★★★★';}
.vnr-stars__fill{position:absolute;top:0;left:0;height:100%;overflow:hidden;color:#ad1457;}
.vnr-stars__fill::before{content:'★★★★★';}
@media (max-width:575.98px){.vnr-stars{font-size:.85rem;}}

/* ══ Interlinking: D.O./país/uva/bodega enlazados ══ */
.vnr-origen a, .vnr-do-link{color:#000;text-decoration:none;}
.vnr-origen a:hover strong, .vnr-do-link:hover strong{color:#ad1457;text-decoration:underline;}
.details__right a{color:#ad1457;text-decoration:none;font-weight:600;}
.details__right a:hover{text-decoration:underline;}

/* Los enlaces-botón heredan color de reglas de enlace del tema (p.ej.
   .cart-summary a) y quedaban burdeos-sobre-burdeos → texto SIEMPRE blanco */
a.btn-primary, a.btn-primary:hover, a.btn-primary:focus,
.btn-primary:not(.btn-outline-primary) { color: #fff !important; }

/* ---- Banner de la home (ps_imageslider): título siempre claro sobre el cuadro oscuro ----
   El tema deja el h2 del pie de diapositiva en el color de encabezado (oscuro) y solo el
   párrafo hereda el claro; sobre el fondo translúcido oscuro el título no se leía. (2026-10-20) */
.ps-imageslider__figcaption,
.ps-imageslider__figcaption h2,
.ps-imageslider__figcaption .h1,
.ps-imageslider__figcaption p,
.ps-imageslider__figcaption div {
  color: #fff;
  text-shadow: 0 1px 3px rgba(0, 0, 0, .45);
}
.ps-imageslider__figcaption h2 { margin-bottom: .5rem; }

/* ══ Pie de página (2026-10-20): réplica del de vinorea.com — gris oscuro, logo en blanco, 4 columnas ══ */
.vnr-footer { background: #333333; color: #ffffff; border-top: 0; margin-top: 2.5rem; font-family: 'Open Sans', Arial, sans-serif; }
.vnr-footer a { color: #ffffff; text-decoration: none; }
.vnr-footer a:hover { color: #ffffff; text-decoration: underline; text-underline-offset: 3px; }
.vnr-footer__brand { padding: 2.5rem 0 1.75rem; border-bottom: 1px solid #555555; }
.vnr-footer__logo { height: 45px; width: auto; }
.vnr-footer__cols { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 2rem 2.5rem; padding: 2.25rem 0 2.5rem; }
.vnr-footer__col { min-width: 0; }
.vnr-footer__title { font-family: Montserrat, 'Open Sans', sans-serif; font-weight: 600; font-size: 20px; color: #9a9a9a; margin: 0 0 1rem; line-height: 1.2; }
.vnr-footer__title--caps { text-transform: uppercase; letter-spacing: .02em; }
.vnr-footer__col p { margin: 0 0 .55rem; font-size: 15px; line-height: 1.5; }
.vnr-footer__col p strong { font-weight: 700; }
.vnr-footer__small { font-size: 13px !important; color: #d6d6d6; }
.vnr-footer__cta { display: inline-block; margin-top: .35rem; padding: .4rem .9rem; border: 1px solid #777777; border-radius: 2px; font-size: 13px; font-weight: 600; text-transform: uppercase; letter-spacing: .04em; }
.vnr-footer__cta:hover { background: #ad1457; border-color: #ad1457; text-decoration: none !important; }
.vnr-footer__list { list-style: none; margin: 0; padding: 0; }
.vnr-footer__list li { margin: 0 0 .55rem; font-size: 15px; line-height: 1.4; }

/* newsletter (columna 4) */
.vnr-news__row { display: flex; align-items: stretch; margin-bottom: .6rem; }
.vnr-news__input { background: #ffffff; color: #333333; border: 1px solid #ffffff; border-radius: 2px 0 0 2px; font-size: 14px; height: 40px; box-shadow: none; }
.vnr-news__input::placeholder { color: #999999; }
.vnr-news__input:focus { border-color: #ad1457; box-shadow: none; }
.vnr-news__btn { width: 44px; height: 40px; padding: 0; border-radius: 0 2px 2px 0; background: #ad1457; border-color: #ad1457; display: inline-flex; align-items: center; justify-content: center; }
.vnr-news__btn:hover { background: #8a0f43; border-color: #8a0f43; }
.vnr-news__intro { font-size: 15px; text-align: right; margin: 0 0 .5rem; }
.vnr-news__gdpr, .vnr-news__gdpr label, .vnr-news__gdpr .form-check-label { font-size: 12px; color: #d6d6d6; text-align: right; }
.vnr-news__gdpr a { text-decoration: underline; }
.vnr-news__conditions { font-size: 12px; color: #d6d6d6; text-align: right; margin: .25rem 0 0; }
.vnr-footer .ps-emailsubscription .alert { font-size: 13px; padding: .5rem .75rem; }

/* redes sociales (si están configuradas) */
.vnr-footer .ps-socialfollow, .vnr-footer .social-follow, .vnr-footer .ps-social-follow { margin-top: 1.25rem; display: flex; justify-content: flex-end; gap: .6rem; flex-wrap: wrap; }
.vnr-footer .ps-socialfollow li, .vnr-footer .social-follow li { list-style: none; }
.vnr-footer .ps-socialfollow a, .vnr-footer .social-follow a, .vnr-footer .ps-social-follow__link { display: inline-flex; width: 44px; height: 44px; border-radius: 50%; background: #ad1457; color: #ffffff; align-items: center; justify-content: center; }
.vnr-footer .ps-socialfollow a:hover, .vnr-footer .social-follow a:hover { background: #8a0f43; text-decoration: none; }
.vnr-footer .ps-socialfollow .h3, .vnr-footer .social-follow__title { display: none; }

/* barra inferior */
.vnr-footer__bottom { background: #2b2b2b; border-top: 1px solid #444444; padding: 1.1rem 0; }
.vnr-footer__bottom-inner { display: flex; justify-content: space-between; align-items: center; gap: 1rem; flex-wrap: wrap; font-size: 13px; color: #9a9a9a; }
.vnr-footer__age { color: #ffffff; font-weight: 600; font-size: 15px; }

@media (max-width: 991.98px) {
  .vnr-footer__cols { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .vnr-footer__bottom-inner { justify-content: center; text-align: center; }
}
@media (max-width: 575.98px) {
  .vnr-footer__brand { padding: 1.75rem 0 1.25rem; }
  .vnr-footer__logo { height: 36px; }
  .vnr-footer__cols { grid-template-columns: 1fr; gap: 1.75rem; padding: 1.75rem 0 2rem; }
  .vnr-news__intro, .vnr-news__gdpr, .vnr-news__conditions { text-align: left; }
  .vnr-footer .ps-socialfollow, .vnr-footer .social-follow { justify-content: flex-start; }
}
.vnr-footer__logo-text{font-family:Montserrat,sans-serif;font-weight:700;font-size:34px;letter-spacing:.04em;color:#fff;}

/* pie: mapa de Google (columna 2) y enlaces de la barra inferior (2026-10-20) */
.vnr-map { position: relative; width: 100%; aspect-ratio: 4 / 3; max-height: 260px; background: #3d3d3d; border-radius: 3px; overflow: hidden; border: 1px solid #555; }
.vnr-map iframe { position: absolute; inset: 0; width: 100%; height: 100%; border: 0; filter: grayscale(1) contrast(1.05); }
.vnr-map--loaded { border-color: #777; }
.vnr-map__placeholder { position: absolute; inset: 0; display: flex; flex-direction: column; align-items: center; justify-content: center; text-align: center; gap: .6rem; padding: 1rem; }
.vnr-map__placeholder p { font-size: 13px !important; color: #d6d6d6; margin: 0; }
.vnr-map__btn { background: #ad1457; color: #fff; border: 0; border-radius: 2px; padding: .45rem 1rem; font-size: 13px; font-weight: 600; text-transform: uppercase; letter-spacing: .04em; cursor: pointer; }
.vnr-map__btn:hover { background: #8a0f43; }
.vnr-map__link { font-size: 12px; color: #d6d6d6; text-decoration: underline; }
.vnr-footer__links { list-style: none; margin: 0 0 .9rem; padding: 0; display: flex; flex-wrap: wrap; justify-content: center; gap: .35rem 1.4rem; font-size: 13px; }
.vnr-footer__links a { color: #c9c9c9; }
@media (max-width: 575.98px) { .vnr-map { max-height: 220px; } }
.vnr-map__open { margin: .5rem 0 0; font-size: 12px; } /* enlace bajo el mapa (11-11-2026) */

/* precio por litro (obligatorio junto al precio): pequeño y gris, ficha y listados (2026-10-21) */
.vnr-unit { display: block; font-family: var(--font-data); font-size: 12px; font-weight: 400; color: #777; line-height: 1.2; margin-top: 2px; }
.product__unit-price.vnr-unit { display: inline-block; margin-left: .5rem; font-size: 13px; vertical-align: baseline; }
.vnr-format-price .product-miniature__prices { text-align: right; }

/* logo de cabecera más grande (2026-10-21): el tema lo limitaba a 144 px de ancho */
.header-bottom__logo img.logo { max-width: none !important; max-height: 84px; height: auto; width: auto; }
.header-bottom__logo .navbar-brand { max-width: none !important; max-height: none !important; }
@media (max-width: 767.98px) { .header-bottom__logo img.logo { max-height: 44px; } }

/* ══ UX 2026-10-26 ══ */
/* ojo de vista rápida: fuera en móvil y tablet */
.product-miniature__quickview-touch { display: none !important; }
/* ficha: la pestaña «Detalles del producto» no se muestra (la ficha técnica sí) */
#product_details { display: none !important; }
/* compartir: WhatsApp y copiar enlace */
.vnr-share .ps-sharebuttons__list { display: inline-flex; align-items: center; gap: .5rem; }
.vnr-share .ps-sharebuttons__link { display: inline-flex; width: 36px; height: 36px; align-items: center; justify-content: center; border-radius: 50%; border: 1px solid #ddd; background: #fff; color: #444; cursor: pointer; padding: 0; }
.vnr-share .vnr-share__wa { color: #25d366; border-color: #25d366; }
.vnr-share .vnr-share__wa:hover { background: #25d366; color: #fff; }
.vnr-share .vnr-share__copy:hover { background: #ad1457; border-color: #ad1457; color: #fff; }
.vnr-share .copylink { position: relative; }
.vnr-share__copied { position: absolute; left: 44px; top: 8px; white-space: nowrap; font-size: 12px; color: #188251; }
/* botones 3 / 6 botellas */
.vnr-qty-presets { display: flex; align-items: center; gap: .5rem; margin-top: .6rem; flex-wrap: wrap; }
.vnr-qty-presets__label { font-size: 13px; color: #777; margin-right: .25rem; }
.vnr-qty-preset { border-radius: 0; font-size: .8rem; font-weight: 700; letter-spacing: .5px; text-transform: uppercase; padding: .4rem .9rem; border-color: #ad1457; color: #ad1457; }
.vnr-qty-preset:hover { background: #ad1457; border-color: #ad1457; color: #fff; }
/* carrito: más compacto y con tipografía mayor */
.cart-detailed .product-line, .cart__content .product-line, .cart-grid .product-line { gap: 1.25rem; padding: .9rem 0; }
.product-line__img { width: 6rem !important; }
.product-line__title { font-family: Montserrat, "Open Sans", sans-serif; font-weight: 700; font-size: 17px; line-height: 1.25; }
.product-line__item-price { font-family: var(--font-data); font-weight: 700; font-size: 16px; color: #1a1a1a; }
.product-line__item-unit-price { font-size: 12px; color: #777; margin-left: .35rem; }
.product-line__price { font-family: var(--font-data); font-weight: 700; font-size: 18px; color: #ad1457; }
.product-line__content { align-items: center; gap: 1rem 1.5rem; }
.product-line__content-right { display: flex; align-items: center; gap: 1.25rem; justify-content: flex-end; }
.product-line__quantity-button .form-control { font-size: 15px; height: 40px; }
.product-line__item--availability { font-size: 13px; margin-top: .25rem; }
.product-line__actions a { font-size: 13px; }
@media (min-width: 992px) {
  .product-line__content { grid-template-columns: minmax(0, 1fr) 14rem; }
}
@media (max-width: 575.98px) {
  .product-line__img { width: 4.5rem !important; }
  .product-line__title { font-size: 15px; }
  .vnr-qty-preset { flex: 1 1 auto; }
}

/* columna izquierda plegada en móvil (2026-10-26) */
.vnr-filter-bar { margin: .25rem 0 1rem; }
.vnr-filter-bar__btn { width: 100%; display: inline-flex; align-items: center; justify-content: center; gap: .4rem; border-radius: 0; font-weight: 700; text-transform: uppercase; letter-spacing: .04em; font-size: .85rem; border-color: #ad1457; color: #ad1457; }
.vnr-filter-bar__btn:hover { background: #ad1457; color: #fff; }
@media (max-width: 767.98px) { .offcanvas-md.left-column { width: min(88vw, 360px); } .vnr-left-body { padding: 1rem; } }
@media (min-width: 768px) { .vnr-left-body { padding: 0; } }

/* ══ Ficha de producto (27-10-2026): columna principal continua + columna derecha con bodega y avisos ══ */
.product__container.product-container { display: grid !important; gap: 2rem; grid-template-columns: 36% minmax(0, 1fr) 24% !important; grid-template-areas: "left right bodega" "bottom bottom bodega"; align-items: start; }
.product__container.product-container > .product__left { grid-area: left; }
.product__container.product-container > .product__right { grid-area: right; }
.product__container.product-container > .product__bodega { grid-area: bodega; }
.product__container.product-container > .product__bottom { grid-area: bottom; display: block !important; margin-block-start: 1.5rem; }
.product__bottom-left { max-width: none; }
@media (max-width: 991.98px) {
  .product__container.product-container { grid-template-columns: 48% minmax(0, 1fr) !important; grid-template-areas: "left right" "bottom bottom" "bodega bodega"; }
}
@media (max-width: 767.98px) {
  .product__container.product-container { grid-template-columns: 1fr !important; grid-template-areas: "left" "right" "bottom" "bodega"; }
}
/* avisos con icono en la columna de la bodega */
.vnr-ptrust { list-style: none; margin: 1.5rem 0 0; padding: 1.25rem 0 0; border-top: 1px solid #e6dfe2; display: flex; flex-direction: column; gap: 1rem; }
.vnr-ptrust__item { display: flex; align-items: flex-start; gap: .75rem; }
.vnr-ptrust__icon { flex: 0 0 auto; color: #ad1457; display: inline-flex; margin-top: 1px; }
.vnr-ptrust__icon .vnh-ico { width: 34px; height: 34px; stroke-width: 1.5; }
.vnr-ptrust__body { display: flex; flex-direction: column; gap: 2px; }
.vnr-ptrust__body strong { font-family: Montserrat, "Open Sans", sans-serif; font-size: 13.5px; font-weight: 700; color: #1a1a1a; line-height: 1.25; }
.vnr-ptrust__body span { font-size: 12px; color: #777; line-height: 1.4; }
/* Vinorea (09-11-2026): aviso de bienvenida con el cupón VINOREA10 (js/vinorea-promo.js) */
.vnr-promo { position: fixed; inset: 0; z-index: 3000; background: rgba(20, 8, 12, .55); display: flex; align-items: center; justify-content: center; padding: 1rem; opacity: 0; transition: opacity .2s ease; }
.vnr-promo.is-open { opacity: 1; }
.vnr-promo__box { position: relative; background: #fff; width: 100%; max-width: 440px; padding: 2.2rem 2rem 1.6rem; text-align: center; border-top: 4px solid #a4123f; box-shadow: 0 20px 60px rgba(0, 0, 0, .35); transform: translateY(12px); transition: transform .2s ease; }
.vnr-promo.is-open .vnr-promo__box { transform: none; }
.vnr-promo__close { position: absolute; top: .4rem; right: .6rem; border: 0; background: none; font-size: 1.8rem; line-height: 1; color: #999; cursor: pointer; padding: .2rem .4rem; }
.vnr-promo__close:hover { color: #1a1a1a; }
.vnr-promo__kicker { font-family: Montserrat, "Open Sans", sans-serif; font-size: .75rem; letter-spacing: .12em; text-transform: uppercase; color: #a4123f; margin: 0 0 .4rem; font-weight: 700; }
.vnr-promo__title { font-family: Montserrat, "Open Sans", sans-serif; font-size: 1.45rem; font-weight: 700; color: #1a1a1a; margin: 0 0 .7rem; line-height: 1.25; }
.vnr-promo__body { color: #555; font-size: .92rem; line-height: 1.5; margin: 0 0 1.1rem; }
.vnr-promo__code { display: inline-flex; align-items: center; gap: .8rem; border: 2px dashed #a4123f; background: #fdf4f7; color: #a4123f; padding: .55rem 1.1rem; margin: 0 0 1.1rem; cursor: pointer; font-family: Montserrat, "Open Sans", sans-serif; }
.vnr-promo__code span { font-size: 1.35rem; font-weight: 700; letter-spacing: .12em; }
.vnr-promo__code small { font-size: .7rem; text-transform: uppercase; letter-spacing: .06em; color: #7a7a7a; }
.vnr-promo__cta { display: block; width: 100%; }
.vnr-promo__later { display: block; margin: .8rem auto 0; border: 0; background: none; color: #777; font-size: .85rem; text-decoration: underline; cursor: pointer; }
@media (max-width: 575.98px) { .vnr-promo { align-items: flex-end; padding: 0; } .vnr-promo__box { max-width: none; border-top-width: 3px; padding: 1.8rem 1.25rem 1.25rem; } .vnr-promo__title { font-size: 1.25rem; } }

/* Vinorea (09-11-2026): cuenta atrás de las ofertas con fecha de fin */
.vnr-countdown { display: inline-flex; align-items: center; gap: .3rem; font-size: .76rem; font-weight: 600; color: #a4123f; line-height: 1.2; margin-top: .2rem; }
.vnr-countdown .material-icons { font-size: 15px; }
.vnr-countdown__time { font-variant-numeric: tabular-nums; }
.vnr-countdown--lg { font-size: .9rem; margin-top: .4rem; }
.vnr-countdown--lg .material-icons { font-size: 18px; }
.vnr-countdown--ended { color: #777; }
/* Vinorea (09-11-2026): el mismo bloque en la columna del carrito y del checkout */
.vnr-ptrust--aside { margin-top: .75rem; }

/* ══ Listados (27-10-2026): precio y €/l alineados a la derecha; «Bot.» a la misma altura que €/l ══ */
.vnr-format-price { align-items: flex-end; }
.vnr-format-price .product-miniature__prices { display: flex !important; flex-direction: column; flex-wrap: nowrap; align-items: flex-end; justify-content: flex-end; margin-left: auto; text-align: right; }
.vnr-format-price .product-miniature__price { text-align: right; width: auto; }
.vnr-format-price .vnr-unit { display: block; text-align: right; line-height: 1; margin-top: 4px; }
.vnr-format-price .vnr-format { line-height: 1; padding-bottom: 1px; }

/* ══ Sellos de guías (27-10-2026): círculos con la puntuación en el centro, color de cada guía.
   Van sobre la foto, en la columna libre a la derecha de la botella, centrados en vertical (lista y ficha). ══ */
:root { --guide-penin: #a8841c; --guide-parker: #73333f; --guide-atkin: #1f1f1f; --guide-suckling: #c8102e; }
.vnr-scores { position: absolute; right: 4%; top: 50%; transform: translateY(-50%); z-index: 3; display: flex; flex-direction: column; gap: 8px; pointer-events: none; }
.vnr-score { width: 54px; height: 54px; padding: 0; border: 2px solid #fff; border-radius: 50%; background: #8c8c8c; color: #fff; display: flex; flex-direction: column; align-items: center; justify-content: center; text-align: center; line-height: 1; box-shadow: 0 1px 5px rgba(0,0,0,.28); text-decoration: none; }
.vnr-score--penin { background: var(--guide-penin); }
.vnr-score--parker { background: var(--guide-parker); }
.vnr-score--atkin { background: var(--guide-atkin); }
.vnr-score--suckling { background: var(--guide-suckling); }
.vnr-score__val { display: block; font-size: 1.3rem; font-weight: 700; color: #fff; font-family: Montserrat, "Open Sans", Arial, sans-serif; letter-spacing: -.02em; margin-top: 0; }
.vnr-score__name { display: block; margin-top: 2px; font-size: .5rem; letter-spacing: .06em; text-transform: uppercase; color: rgba(255,255,255,.92); font-weight: 600; }
@media (max-width: 575.98px) { .vnr-scores { gap: 6px; right: 3%; } .vnr-score { width: 44px; height: 44px; } .vnr-score__val { font-size: 1.05rem; } .vnr-score__name { font-size: .42rem; } }
/* en la ficha: sobre la foto grande, más grandes y con enlace a la categoría de la guía */
.vnr-scores--cover { pointer-events: auto; right: 6%; gap: 12px; }
.vnr-scores--cover .vnr-score { width: 68px; height: 68px; transition: transform .15s ease; }
.vnr-scores--cover .vnr-score:hover, .vnr-scores--cover .vnr-score:focus { transform: scale(1.07); color: #fff; }
.vnr-scores--cover .vnr-score__val { font-size: 1.65rem; }
.vnr-scores--cover .vnr-score__name { font-size: .56rem; margin-top: 3px; }
@media (max-width: 991.98px) { .vnr-scores--cover .vnr-score { width: 58px; height: 58px; } .vnr-scores--cover .vnr-score__val { font-size: 1.4rem; } }
@media (max-width: 575.98px) { .vnr-scores--cover { gap: 8px; } .vnr-scores--cover .vnr-score { width: 50px; height: 50px; } .vnr-scores--cover .vnr-score__val { font-size: 1.2rem; } .vnr-scores--cover .vnr-score__name { font-size: .46rem; } }
/* ══ Sello ecológico (04-11-2026): hoja de estrellas del logotipo ecológico de la UE (verde Pantone 376) en círculo,
   a la izquierda de la foto, mismo tamaño y comportamiento que los sellos de guías (lista y ficha). ══ */
:root { --eco-ue: #84bd00; }
.vnr-ecobadge { position: absolute; left: 4%; top: 50%; transform: translateY(-50%); z-index: 3; pointer-events: none; }
.vnr-score--eco { background: var(--eco-ue); }
.vnr-score--eco img { display: block; width: 64%; height: auto; margin: 2px 0 0 1px; }
@media (max-width: 575.98px) { .vnr-ecobadge { left: 3%; } }
.vnr-ecobadge--cover { pointer-events: auto; left: 6%; }
.vnr-ecobadge--cover .vnr-score { width: 68px; height: 68px; transition: transform .15s ease; }
.vnr-ecobadge--cover .vnr-score:hover, .vnr-ecobadge--cover .vnr-score:focus { transform: scale(1.07); color: #fff; }
.vnr-ecobadge--cover .vnr-score__name { font-size: .56rem; margin-top: 3px; }
@media (max-width: 991.98px) { .vnr-ecobadge--cover .vnr-score { width: 58px; height: 58px; } }
@media (max-width: 575.98px) { .vnr-ecobadge--cover .vnr-score { width: 50px; height: 50px; } .vnr-ecobadge--cover .vnr-score__name { font-size: .46rem; } }
/* cabecera de las categorías de guía: emblema circular + texto */
.vnr-guide { display: grid; grid-template-columns: 96px minmax(0, 1fr); gap: 1.5rem; align-items: start; margin: .5rem 0 1.5rem; }
.vnr-guide__badge { width: 96px; height: 96px; border-radius: 50%; display: flex; flex-direction: column; align-items: center; justify-content: center; color: #fff; text-align: center; line-height: 1; box-shadow: 0 2px 8px rgba(0,0,0,.2); }
.vnr-guide__badge--penin { background: var(--guide-penin); } .vnr-guide__badge--parker { background: var(--guide-parker); } .vnr-guide__badge--atkin { background: var(--guide-atkin); } .vnr-guide__badge--suckling { background: var(--guide-suckling); }
.vnr-guide__badge strong { font-family: Montserrat, sans-serif; font-size: 2rem; font-weight: 700; }
.vnr-guide__badge span { font-size: .55rem; letter-spacing: .08em; text-transform: uppercase; margin-top: 4px; }
.vnr-guide__text p { margin: 0 0 .75rem; }
.vnr-guide__scale { display: flex; flex-wrap: wrap; gap: .5rem 1.25rem; font-size: 13px; color: #555; margin-top: .5rem; }
.vnr-guide__scale b { color: #1a1a1a; }
@media (max-width: 575.98px) { .vnr-guide { grid-template-columns: 72px 1fr; gap: 1rem; } .vnr-guide__badge { width: 72px; height: 72px; } .vnr-guide__badge strong { font-size: 1.5rem; } }

/* ══ Página Bodegas (06-11-2026): rejilla de fichas cuadradas (logo o imagen pendiente), nombre debajo ══ */
.vnr-brands { list-style: none; margin: 1rem 0 2.5rem; padding: 0; display: grid; grid-template-columns: repeat(auto-fill, minmax(168px, 1fr)); gap: 22px 16px; }
.vnr-brands .brand { position: relative; margin: 0; padding: 0; text-align: center; width: auto; }
.vnr-brands .brand__image { aspect-ratio: 1 / 1; border: 1px solid #e6dfe2; border-radius: 6px; background: #fff; padding: 9%; display: flex; align-items: center; justify-content: center; overflow: hidden; transition: box-shadow .15s ease, transform .15s ease; }
.vnr-brands .brand:hover .brand__image { box-shadow: 0 4px 14px rgba(0,0,0,.12); transform: translateY(-2px); }
.vnr-brands .brand__image picture { display: contents; }
.vnr-brands .brand__img { width: 100%; height: 100%; object-fit: contain; border: 0; padding: 0; }
.vnr-brands .brand__infos { margin-top: .6rem; }
.vnr-brands .brand__title { font-family: Montserrat, "Open Sans", sans-serif; font-weight: 600; font-size: .88rem; color: #1a1a1a; text-decoration: none; display: block; line-height: 1.3; }
.vnr-brands .brand__title:hover { color: #a4123f; }
.vnr-brands .brand__products { font-size: .74rem; color: #7a7a7a; margin: .15rem 0 0; }
.vnr-brands__intro { color: #555; margin: -.25rem 0 1.25rem; max-width: 60ch; }
@media (max-width: 575.98px) { .vnr-brands { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 18px 12px; } }

/* ══ Checkout (06-11-2026): la aceptación de las condiciones, en negrita y subrayada; referencia de la transferencia destacada ══ */
.js-terms { font-weight: 700; text-decoration: underline; }
.js-terms a { text-decoration: underline; font-weight: 700; }
.vnr-wire-ref { font-size: 1.25em; letter-spacing: .04em; }

/* ══ Checkout (02-11-2026): logo compuesto de la opción única de pago Redsys (tarjeta, Bizum, Apple Pay, Google Pay) ══ */
/* Vinorea (08-11-2026): todos los logos de las opciones de pago a la misma altura (tarjetas de Redsys, transferencia y contra reembolso) */
.payment-option img.img-fluid { height: 26px; width: auto; vertical-align: middle; margin-right: .5rem; }
.payment-option__label { display: inline-flex; align-items: center; flex-wrap: wrap; gap: .25rem 0; }
@media (max-width: 575.98px) { .payment-option img.img-fluid { height: 22px; } }

/* ══ Listados (02-11-2026): Estrellas pegadas a la D.O. (el contenedor ya mete 8 px de gap entre bloques) ══ */
.vnr-rating { margin: .1rem 0 -.3rem; }
.vnr-origen { margin-top: 0; }

/* ══ Columna izquierda (02-11-2026): Columna izquierda en vertical. El tema pone .offcanvas-body en flex (fila) a partir de 768 px y el árbol de categorías y las facetas quedaban uno al lado del otro. ══ */
@media (min-width: 768px) { .left-column .vnr-left-body { flex-direction: column; } .left-column .vnr-left-body > .left-block { width: 100%; } }

/* ══ Ficha técnica en 3 columnas (02-11-2026, estilo Bodeboca): etiqueta en negrita arriba, valor debajo ══ */
.vnr-sheet { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 1.1rem 1.5rem; margin: 0; }
.vnr-sheet__item { min-width: 0; }
.vnr-sheet dt { font-weight: 700; font-size: .92rem; color: #1a1a1a; margin: 0 0 .2rem; }
.vnr-sheet dd { margin: 0; font-size: .95rem; color: #333; line-height: 1.4; }
.vnr-sheet dd a { color: var(--vino, #ad1457); text-decoration: none; }
.vnr-sheet dd a:hover { text-decoration: underline; }
.vnr-sheet .vnr-flag { width: 18px; height: 13px; vertical-align: -1px; margin-right: .3rem; border-radius: 2px; }
.vnr-eco { display: inline-flex; align-items: center; gap: .3rem; color: #3c8c2f; font-weight: 600; }
.vnr-eco__logo { display: block; height: 18px; width: auto; border-radius: 2px; }
.vnr-sheet-wrap .accordion-button { font-weight: 700; text-transform: uppercase; letter-spacing: .02em; font-size: .95rem; }
@media (max-width: 767.98px) { .vnr-sheet { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: .9rem 1rem; } }

/* ══ Ficha (02-11-2026): Valoración en la ficha, arriba a la derecha, en línea con la D.O.; listados sin estrellas ni vista rápida ══ */
.product__topline { display: flex; align-items: center; justify-content: space-between; gap: 1rem; margin-bottom: .5rem; }
.product__topline .product__do { margin-bottom: 0; }
.vnr-rating--product { margin: 0; }
.vnr-rating--product .vnr-stars { font-size: 1.15rem; }
.vnr-rating--product .vnr-rating__val { font-size: .85rem; }
.product__topline-right { margin-left: auto; }
.product__topline .product__additional-info { margin: 0; }
.product__topline .product-comments-additional-info { margin: 0; }
.product__topline .comments-note { display: flex; align-items: center; gap: .35rem; }
.product__topline .average-grade { font-size: .85rem; color: var(--muted, #666); }
.product__topline .post-product-comment { padding: .2rem .6rem; font-size: .78rem; }
.product__additional-info .product-comments-additional-info { display: none; }
.product__topline-right .product-comments-additional-info { display: block; }

/* ══ Ficha (02-11-2026): hover de la D.O. con los colores invertidos (fondo blanco, letra y borde vino) para que se lea ══ */
a.product__do { transition: background-color .15s ease, color .15s ease; }
a.product__do:hover, a.product__do:focus { background: #fff !important; color: var(--vino, #ad1457) !important; box-shadow: inset 0 0 0 1px var(--vino, #ad1457); text-decoration: none; }
.product-miniature__top .product-list-review { position: absolute; bottom: 6px; left: 6px; z-index: 3; margin: 0; padding: 3px 7px; border-radius: 12px; background: rgba(255,255,255,.88); box-shadow: 0 1px 3px rgba(0,0,0,.12); align-items: center; gap: 6px; min-height: 0; }

/* ══ Listados (02-11-2026): pastilla de estrellas ajustada al ancho real de las 5 estrellas (el módulo reserva 100 px y sobraban 10 a la derecha) ══ */
.product-miniature__top .product-list-review { gap: 0; }
.product-miniature__top .product-list-review .grade-stars.small-stars { width: 90px !important; min-width: 0 !important; }
.product-miniature__top .product-list-grade { display: none; }

/* ══ Listados (02-11-2026): estrellas sin pastilla; en móvil un poco más pequeñas ══ */
.product-miniature__top .product-list-review { background: none; box-shadow: none; padding: 0; bottom: 8px; left: 8px; }
@media (max-width: 575.98px) { .product-miniature__top .product-list-review { position: absolute; bottom: 6px; left: 6px; margin: 0; transform: scale(.8); transform-origin: left bottom; } }

/* ══ Listados (02-11-2026): pastilla sin márgenes, termina justo en la quinta estrella ══ */
.product-miniature__top .product-list-review { background: rgba(255,255,255,.9); border-radius: 10px; box-shadow: 0 1px 3px rgba(0,0,0,.12); padding: 2px 0; }
.product-miniature__top .product-list-review .grade-stars.small-stars { width: 90px !important; margin-left: -2px; }

/* ══ Selector de cantidad en granate (02-11-2026): botones + y − con fondo vino y letra blanca; número en negrita (listados y ficha) ══ */
.quantity-button__group .btn.decrement, .quantity-button__group .btn.increment { background: var(--vino, #ad1457); border-color: var(--vino, #ad1457); color: #fff; font-weight: 700; }
.quantity-button__group .btn.decrement:hover, .quantity-button__group .btn.increment:hover, .quantity-button__group .btn.decrement:focus, .quantity-button__group .btn.increment:focus { background: #8e1047; border-color: #8e1047; color: #fff; }
.quantity-button__group .btn.decrement .material-icons, .quantity-button__group .btn.increment .material-icons { color: #fff; font-weight: 700; }
.quantity-button__group .btn.decrement .spinner-border, .quantity-button__group .btn.increment .spinner-border { color: #fff; }
.quantity-button__group input.form-control[name="qty"] { font-weight: 700; color: #1a1a1a; text-align: center; }

/* ══ Facetas (02-11-2026): Precio por campos Desde / Hasta; el deslizador del tema queda oculto ══ */
.js-faceted-filter-slider .js-faceted-slider-container, .js-faceted-filter-slider .js-faceted-values { display: none !important; }
.vnr-price-form { display: flex; align-items: flex-end; gap: .5rem; }
.vnr-price-field { display: flex; flex-direction: column; gap: .2rem; flex: 1 1 0; min-width: 0; font-size: .78rem; color: var(--muted, #666); }
.vnr-price-field .form-control { padding: .3rem .45rem; font-size: .9rem; height: 34px; text-align: right; }
.vnr-price-field .form-control::-webkit-outer-spin-button, .vnr-price-field .form-control::-webkit-inner-spin-button { -webkit-appearance: none; margin: 0; }
.vnr-price-field .form-control[type=number] { -moz-appearance: textfield; }
.vnr-price-apply { height: 34px; padding: 0 .7rem; font-weight: 700; }

/* ══ Filtros en móvil dentro del panel (02-11-2026): el tema mete las facetas en un offcanvas anidado (#offcanvas-faceted) que no llega a abrirse; se pinta como bloque normal bajo las categorías ══ */
@media (max-width: 767.98px) {
  #offcanvas-faceted.offcanvas { position: static !important; visibility: visible !important; transform: none !important; width: auto !important; height: auto !important; display: block !important; border: 0; background: transparent; }
  #offcanvas-faceted .offcanvas-header { display: none; }
  #offcanvas-faceted .offcanvas-body { padding: 0; overflow: visible; }
  #offcanvas-faceted #_mobile_faceted { margin-top: 1.25rem; padding-top: 1rem; border-top: 1px solid #e5e5e5; }
  [data-bs-target="#offcanvas-faceted"] { display: none !important; }
}

/* Avisos de stock en granate de marca. Va en la capa vendors porque text-warning es una utilidad con !important */
@layer vendors { .text-warning { color: #ad1457 !important; } }

/* Banner de la home en móvil y tableta (2026-11-10): el tema ocultaba el texto por debajo de 992 px.
   La imagen mide ~115 px de alto en móvil, así que el texto va debajo, en una franja granate. */
@media (max-width: 991.98px) {
  .ps-imageslider__figcaption.carousel-caption {
    position: static; display: flex; flex-direction: column; justify-content: center;
    min-height: 5.5rem; padding: .7rem 1rem; background: #ad1457; text-align: center;
  }
  .ps-imageslider__figcaption, .ps-imageslider__figcaption * { text-shadow: none; }
  .ps-imageslider__figcaption h2.h1 { font-size: 1.2rem; line-height: 1.2; margin: 0 0 .25rem; }
  .ps-imageslider__figcaption p { font-size: .95rem; margin: 0; }
  /* El tema fija el alto en la figura (320/240 px) y el texto quedaba recortado: el alto pasa a la imagen */
  .ps-imageslider__figure { height: auto; }
  .ps-imageslider__figure img { height: 320px; }
  /* Indicadores al pie de la foto, no encima del texto */
  #ps_imageslider .carousel-indicators { bottom: auto; top: calc(320px - 2.5rem); }
}
@media (max-width: 767.98px) {
  .ps-imageslider__figure img { height: 240px; }
  #ps_imageslider .carousel-indicators { top: calc(240px - 2.5rem); }
}
