/** Shopify CDN: Minification failed

Line 2576:0 Unexpected "}"

**/
/* =========================================================
   CHAGUAL — PLP (Colecciones) CSS CONSOLIDADO / LIMPIO
   Turbo + Globo + Chips + Cards + Badges premium
   ========================================================= */

/* =========================
   0) Variables (ajusta solo esto)
   ========================= */
:root{
  /* Alto del header sticky en móvil (fallback si el JS aún no setea --chagual-header-offset) */
  --chagual-sticky-offset: 40px;

  /* Aire extra bajo el header antes del H1 */
  --chagual-plp-gap: 8px;

  /* Gap grid PLP móvil */
  --chagual-plp-col-gap: 12px;
  --chagual-plp-row-gap: 16px;
}

/* =========================
   1) Reset mínimo (evita “aire” global)
   ========================= */
html, body{
  margin: 0 !important;
  padding: 0 !important;
}

/* Oculta sprite de estrellas si queda “flotando” */
svg.icon-star-reference{
  position: absolute !important;
  width: 0 !important;
  height: 0 !important;
  overflow: hidden !important;
}

/* =========================
   2) Header / Announcement (móvil)
   ========================= */
@media (max-width: 768px){
  /* OJO: tu body real es mobile_nav-fixed--true (con guión), no mobile_nav_fixed--true */
  body.mobile_nav-fixed--true{ padding-top: 0 !important; }

  .header-group,
  #shopify-section-header,
  #shopify-section-announcement-bar{
    margin-top: 0 !important;
    padding-top: 0 !important;
  }
}

/* =========================
   3) PLP Top spacing (la franja blanca)
   ========================= */
@media (max-width: 768px) {

  body.collection .shopify-section--collection-template.under-menu{
    padding-top: calc(
      var(--chagual-header-offset, var(--chagual-sticky-offset))
      + var(--chagual-plp-gap)
    ) !important;

    margin-top: 0 !important;
    transition: padding-top 0.15s ease-out;
  }

  body.collection .section-wrapper,
  body.collection .container.content{
    padding-top: 0 !important;
    margin-top: 0 !important;
  }

  body.collection h1.collection-header__title{
    margin: 0 0 6px !important;
    padding: 0 !important;
  }

  body.collection .collection-intro{
    margin: 0 0 8px !important;
    padding: 0 !important;
  }

  body.collection .collection-intro__text{
    margin: 0 !important;
  }

  body.collection .breadcrumb-collection{
    margin: 0 0 4px !important;
    padding: 0 !important;
  }

  body.collection .breadcrumb_text{
    margin: 0 !important;
    padding: 0 !important;
    font-size: 11px;
  }

  body.collection .feature-divider{
    margin: 8px 0 !important;
  }
}

/* =========================
   4) GRID PLP móvil — BLINDAJE 2 COLUMNAS
   (Esto es lo que te evita el 1 producto por fila)
   ========================= */
@media (max-width: 768px){
  body.collection .product-list{
    display: grid !important;
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    column-gap: var(--chagual-plp-col-gap) !important;
    row-gap: var(--chagual-plp-row-gap) !important;

    /* Turbo a veces trae padding/márgenes extra */
    padding-left: 0px !important;
    padding-right: 0px !important;
  }

  /* Cada item dentro del grid */
  body.collection .product-list .thumbnail{
    width: auto !important;
    max-width: none !important;
    margin: 0 !important;
    float: none !important;
  }
}

/* =========================
   5) QUICK FILTERS (CHIPS) — móvil
   ========================= */
@media (max-width: 768px){
  body.collection .quick-filters{
    position: sticky;
    /* clave: usar el offset REAL si existe */
    top: var(--chagual-header-offset, var(--chagual-sticky-offset));
    z-index: 30;

    display: flex !important;
    flex-wrap: nowrap !important;
    gap: 8px !important;

    overflow-x: auto !important;
    overflow-y: hidden !important;
    -webkit-overflow-scrolling: touch;

    padding: 10px 12px !important;
    margin: 0 0 10px !important;

    background: rgba(255,255,255,.98) !important;
    backdrop-filter: blur(6px);
    -webkit-backdrop-filter: blur(6px);

    border-bottom: 1px solid #eee !important;
    scrollbar-width: none;
  }
  body.collection .quick-filters::-webkit-scrollbar{ display: none; }

  body.collection .qf-chip{
    flex: 0 0 auto !important;
    white-space: nowrap !important;
    text-decoration: none !important;

    color: #1a1a1a !important;
    background: #fff !important;

    padding: 8px 14px !important;
    border: 1px solid #e6e6e6 !important;
    border-radius: 999px !important;

    font-size: 13px !important;
    line-height: 1 !important;
  }
  body.collection .qf-chip.is-active{
    background: #1a1a1a !important;
    border-color: #1a1a1a !important;
    color: #fff !important;
  }

  body.collection .quick-filters::after{
    content:"";
    position: sticky;
    right: 0;
    width: 36px;
    height: 100%;
    flex: 0 0 36px;
    pointer-events: none;
    background: linear-gradient(to right, rgba(255,255,255,0), #fff);
  }
}

/* =========================
   6) BADGES premium (colección)
   ========================= */
body.collection .badge,
body.collection .badge-sale,
body.collection .badge--sale,
body.collection [class*="badge"][class*="sale"]{
  background: rgba(255,255,255,.92) !important;
  border: 1px solid #e6e6e6 !important;
  color: #1a1a1a !important;

  font-size: 12px !important;
  font-weight: 500 !important;
  letter-spacing: 0.02em !important;
  text-transform: none !important;

  border-radius: 2px !important;
  padding: 3px 7px !important;
  box-shadow: 0 1px 6px rgba(0,0,0,.06) !important;
}

.product-wrap.has-secondary-media-swap{ position: relative; }

.price-ui-badge__sticker--premium,
.price-ui-badge__sticker--premium.price-ui-badge__sticker--sale{
  position: absolute !important;
  top: 10px !important;
  right: 10px !important;
  z-index: 10 !important;
  margin: 0 !important;

  background: rgba(255,255,255,.92) !important;
  background-image: none !important;

  color: #1a1a1a !important;
  border: 1px solid #e6e6e6 !important;
  border-radius: 2px !important;

  padding: 5px 9px !important;
  line-height: 1 !important;

  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;

  box-shadow: 0 1px 2px rgba(0,0,0,.06) !important;
  backdrop-filter: blur(6px);
  -webkit-backdrop-filter: blur(6px);

  pointer-events: none !important;
}
.price-ui-badge__sticker--premium .price-ui-badge__sticker-text{
  font-family: inherit !important;
  font-size: 12px !important;
  font-weight: 500 !important;
  letter-spacing: 0.02em !important;
  text-transform: none !important;
  white-space: nowrap !important;
  color: #1a1a1a !important;
}
.price-ui-badge__sticker--premium::before,
.price-ui-badge__sticker--premium::after{
  display: none !important;
  content: none !important;
}

/* =========================
   7) Cards (PLP móvil) — SPEC 3 LÍNEAS (premium, limpio)
   L1: título (1 línea)
   L2: desde + precio + (tachado si aplica)
   L3: rating + · N medidas (si existe)
   ========================= */
@media (max-width: 768px){

  /* Espaciado general bajo la foto */
  body.collection #gf-products a.product-info__caption[data-plp-card]{
  margin-top: 2px !important;   /* ajusta 0–2px */
  padding: 0 4px !important;
}


  /* Grid 3 líneas */
  body.collection #gf-products a.product-info__caption[data-plp-card] .product-details{
    display: grid !important;
    grid-template-columns: max-content max-content max-content 1fr !important;
    grid-template-rows: auto auto auto !important;
    column-gap: 3px !important;
    row-gap: 3px !important;

    align-items: baseline !important;
    justify-items: start !important;
    text-align: left !important;

    margin: 0 !important;
    padding: 6px 0 0 !important;
  }

  /* “Aplanamos” wrappers de precio para poder ubicar cada pieza en el grid */
  body.collection #gf-products [data-plp-card] .product-details span.price{ display: contents !important; }
  body.collection #gf-products [data-plp-card] .product-details .current_price{ display: contents !important; }

  /* L1 — Título (1 línea fija con elipsis) */
  body.collection #gf-products [data-plp-card] .product-details .title{
    grid-row: 1 !important;
    grid-column: 1 / -1 !important;

    margin: 0 !important;
    padding: 0 !important;

    font-weight: 500 !important;
    line-height: 1.15 !important;

    text-transform: none !important;
    letter-spacing: 0 !important;

    white-space: nowrap !important;
    overflow: hidden !important;
    text-overflow: ellipsis !important;
  }

  /* L2 — Desde (gris, NO rojo, NO itálica) */
  body.collection #gf-products [data-plp-card] .product-details .from{
    grid-row: 2 !important;
    grid-column: 1 !important;

    margin: 0 !important;
    font-size: 12px !important;
    line-height: 1.1 !important;

    color: #777 !important;
    opacity: .9 !important;
  }
  body.collection #gf-products [data-plp-card] .product-details .from em{
    font-style: normal !important;
    color: inherit !important;
  }

  /* L2 — Precio actual (hero) */
  body.collection #gf-products [data-plp-card] .product-details .current_price > .money{
    grid-row: 2 !important;
    grid-column: 2 !important;

    margin: 0 !important;
    font-size: 12px !important;
    font-weight: 500 !important;
    line-height: 1.1 !important;
    letter-spacing: 0.01em !important;

    color: #1a1a1a !important;
    white-space: nowrap !important;
  }

  /* L2 — Precio anterior (tachado) si existe */
  body.collection #gf-products [data-plp-card] .product-details .was_price{
    grid-row: 2 !important;
    grid-column: 3 !important;

    margin: 0 !important;
    padding: 0 !important;

    font-size: 12px !important;
    line-height: 1.1 !important;

    color: #888 !important;
    opacity: .7 !important;
    white-space: nowrap !important;
  }
  body.collection #gf-products [data-plp-card] .product-details .was_price .money{
    font-size: inherit !important;
    font-weight: 400 !important;
    color: inherit !important;
  }

  /* L3 — Rating (gris, compacto) */
  body.collection #gf-products [data-plp-card] .product-details .product-rating{
    grid-row: 3 !important;
    grid-column: 1 !important;

    display: inline-flex !important;
    align-items: center !important;
    gap: 6px !important;

    margin: 0 !important;
    padding: 0 !important;

    font-size: 12px !important;
    line-height: 14px !important;
    color: #555 !important;
    white-space: nowrap !important;
  }
  body.collection #gf-products [data-plp-card] .product-details .product-rating *{
    margin: 0 !important;
    padding: 0 !important;
  }

  /* L3 — · N medidas (si existe) pegado al rating (NO rojo) */
  body.collection #gf-products [data-plp-card] .product-details [data-plp-size-count]{
    grid-row: 3 !important;
    grid-column: 2 !important;

    display: inline !important;
    margin: 0 !important;
    padding: 0 !important;

    font-size: 12px !important;
    line-height: 14px !important;
    font-weight: 400 !important;

    color: #555 !important;
    opacity: .85 !important;
    white-space: nowrap !important;
  }

  /* Anti “layout shift”: si aún está vacío, reserva un espacio mínimo */
  body.collection #gf-products [data-plp-card] .product-details [data-plp-size-count]:empty::before{
    content: "\00a0";
  }

  /* Limpieza: si tu rating trae textos duplicados de Globo, los ocultamos */
  body.collection #gf-products [data-plp-card] .product-details .product-rating > p.rating__text,
  body.collection #gf-products [data-plp-card] .product-details .product-rating > p.rating__count{
    display: none !important;
  }

  /* Pantallas muy angostas: prioriza el rating y oculta “medidas” si no cabe */
  @media (max-width: 360px){
    body.collection #gf-products [data-plp-card] .product-details [data-plp-size-count]{
      display: none !important;
    }
  }
}
@media (max-width: 360px) {
  body.collection #gf-products [data-plp-card] .product-details .rating-inline-clean__count {
    display: none !important;
  }
  body.collection #gf-products [data-plp-card] .product-details [data-plp-size-count] {
    display: inline !important; /* asegurar visible */
  }
}


/* =========================
   8) Stars neutras (evita heredar verde)
   ========================= */
@media (max-width: 768px){
  body.collection .product-rating,
  body.collection .product-rating *{
    color: #555 !important;
  }
  body.collection .product-rating .rating__star-wrapper svg,
  body.collection .product-rating .rating__star-wrapper svg *,
  body.collection .product-rating .rating__star-wrapper svg use{
    fill: currentColor !important;
    stroke: currentColor !important;
  }
}

/* =========================
   9) Precio sale NO rojo — colecciones
   ========================= */
body.collection .product-details span.price.sale .current_price .money,
body.collection .thumbnail .product-details span.price.sale .current_price .money{
  color: #1a1a1a !important;
}
body.collection .product-details span.price.sale .current_price .from,
body.collection .thumbnail .product-details span.price.sale .current_price .from{
  color: rgba(26,26,26,0.60) !important;
}
body.collection .product-details span.price.sale .was_price .money,
body.collection .thumbnail .product-details span.price.sale .was_price .money{
  color: rgba(26,26,26,0.45) !important;
}

/* =========================
   10) Botones Filtrar + Ordenar más light (móvil)
   ========================= */
@media (max-width: 768px){
  body.collection .facets__summary,
  body.collection .filter__button,
  body.collection .collection__filters button,
  body.collection button[aria-controls*="filter"],
  body.collection button[aria-label*="Filtrar"]{
    background: #fff !important;
    border: 1px solid #eaeaea !important;
    box-shadow: none !important;
  }

  body.collection select,
  body.collection .sort-by,
  body.collection .collection__sort select{
    border: 1px solid #eaeaea !important;
    background: #fff !important;
  }
}

/* =========================
   11) Swatches desktop — igualar a mobile (PDP)
   ========================= */
@media (min-width: 768px){

  /* evita overlays antiguos */
  .swatch-element.soldout .crossed-out{ display:none !important; }

  .swatch-element{
    position: relative !important;
    float: none !important;
    display: inline-block !important;
    margin: 0 10px 10px 0 !important;
  }

  /* BOTON (antes era “píldora”) */
  body.template-product .swatch .swatch-element > label{
    min-height: 40px !important;
    padding: 6px 10px !important;
    border: 1px solid #e6e6e6 !important;
    border-radius: 2px !important;
    font-size: 12px !important;
    line-height: 1.1 !important;
  }



  /* seleccionado */
  .swatch-element input[type="radio"]:checked + label{
    border-color: #4b4b4b !important;
    box-shadow: inset 0 0 0 1px #4b4b4b !important;
  }

  /* agotado/disabled */
  .swatch-element.soldout label{
    opacity: .35 !important;
    cursor: not-allowed !important;
  }
}


/* Breadcrumb vacío: :empty no sirve si hay saltos de línea.
   Lo dejamos fuera para no ocultar breadcrumbs reales. */


/* ============================================================
   RATING INLINE CLEAN — formato "★ 4.9 (9)" sin slash
   Agregar al final de assets/styles.css
   ============================================================ */

.rating-inline-clean {
  display: inline-flex;
  align-items: center;
  gap: 4px;
  font-size: 13px;
  line-height: 1;
}

.rating-inline-clean__star {
  color: #555;
  font-size: 14px;
}

.rating-inline-clean__value {
  color: #333;
  font-weight: 500;
}

.rating-inline-clean__count {
  color: #777;
  font-weight: 400;
}

/* Mobile */
@media (max-width: 768px) {
  .rating-inline-clean {
    font-size: 12px;
    gap: 3px;
  }
  
  .rating-inline-clean__star {
    font-size: 12px;
  }
}

/* Ocultar el bloque revie-rating-inline duplicado si existe */
.product-rating .revie-rating-inline {
  display: none !important;
}

@media (max-width: 768px){
  body.collection #gf-products [data-plp-card] .product-details .was_price{
    position: relative !important;
    left: -6px; /* prueba -1px a -4px */
  }
}


@media (max-width: 768px){

  /* La meta-line completa ocupa la fila 3 y no afecta el ancho de columnas del precio */
  body.collection #gf-products [data-plp-card] a.product-info__caption .product-details .product-meta-line,
  body.collection #gf-products a.product-info__caption[data-plp-card] .product-details .product-meta-line{
    grid-row: 3 !important;
    grid-column: 1 / -1 !important;
    display: inline-flex !important;
    align-items: center !important;
    gap: 6px !important;
    white-space: nowrap !important;
  }

  /* Medidas deja de ser “grid item” (evita que ensanche la col 2) */
  body.collection #gf-products [data-plp-card] a.product-info__caption .product-details [data-plp-size-count],
  body.collection #gf-products a.product-info__caption[data-plp-card] .product-details [data-plp-size-count]{
    grid-row: auto !important;
    grid-column: auto !important;
    display: inline !important;
  }
}
@media (max-width: 768px){

  /* 3 filas reales: título / precio / meta */
  body.collection #gf-products a.product-info__caption[data-plp-card] .product-details,
  body.collection #gf-products [data-plp-card] a.product-info__caption .product-details{
    display: grid !important;
    grid-template-columns: 1fr !important;
    grid-template-rows: auto auto auto !important;
    row-gap: 2px !important;
    padding-top: 4px !important;
  }

  /* L2: precio y tachado en una sola línea, con gap controlado (no depende del grid) */
  body.collection #gf-products a.product-info__caption[data-plp-card] .product-details .price,
  body.collection #gf-products [data-plp-card] a.product-info__caption .product-details .price{
    grid-row: 2 !important;
    grid-column: 1 / -1 !important;
    display: inline-flex !important;
    align-items: baseline !important;
    gap: 4px !important; /* AJUSTA AQUÍ la distancia $ vs tachado */
    margin: 0 !important;
  }

  body.collection #gf-products .product-details .current_price{
    display: inline-flex !important;
    align-items: baseline !important;
    gap: 4px !important;
  }

  body.collection #gf-products .product-details .was_price{
    margin: 0 !important;
    padding: 0 !important;
    white-space: nowrap !important;
    opacity: .55 !important;
  }

  /* L3: rating + medidas en una sola línea (no afecta al precio) */
  body.collection #gf-products a.product-info__caption[data-plp-card] .product-details .product-meta-line,
  body.collection #gf-products [data-plp-card] a.product-info__caption .product-details .product-meta-line{
    grid-row: 3 !important;
    grid-column: 1 / -1 !important;
    display: inline-flex !important;
    align-items: center !important;
    gap: 6px !important;
    white-space: nowrap !important;
    font-size: 12px !important;
    line-height: 14px !important;
    color: #555 !important;
    opacity: .85 !important;
    margin: 0 !important;
  }

  /* Reserva altura para evitar layout shift si aún está vacío */
  body.collection #gf-products .product-details [data-plp-size-count]:empty::before{
    content: "\00a0";
  }
}


@media (max-width: 768px){

  /* cubrir ambos casos: data-plp-card en wrapper o en el <a> */
  body.collection #gf-products [data-plp-card] .product-details span.price,
  body.collection #gf-products a.product-info__caption[data-plp-card] .product-details span.price{
    display: inline-flex !important;
    align-items: baseline !important;
    gap: 6px !important; /* separación principal */
  }

  /* fallback infalible: separa el tachado aunque gap no “enganche” */
  body.collection #gf-products [data-plp-card] .product-details .was_price,
  body.collection #gf-products a.product-info__caption[data-plp-card] .product-details .was_price{
    display: inline-block !important;
    margin-left: 6px !important; /* separación extra (ajusta 4–10px) */
  }
}

/* TKT-006 | Bundle P0-02→P0-06 (muebles) — estilos */
.pdp-quickfacts { margin-top: 12px; padding: 12px 12px 10px; border: 1px solid rgba(0,0,0,.08); border-radius: 12px; }
.pdp-quickfacts__title { font-weight: 600; margin-bottom: 8px; }
.pdp-quickfacts__row { display:flex; justify-content:space-between; gap: 10px; padding: 6px 0; border-top: 1px solid rgba(0,0,0,.06); }
.pdp-quickfacts__row:first-of-type { border-top: 0; }
.pdp-quickfacts__k { opacity:.75; }
.pdp-quickfacts__v { text-align:right; }
.pdp-quickfacts .payment-terms-container { display:block !important; margin:0; }
.pdp-quickfacts .payment-terms-container * { margin:0; }

.pdp-wa { display:inline-block; margin-top: 10px; font-weight: 600; text-decoration: underline; }
.pdp-wa__micro { margin-top: 2px; font-size: 12px; opacity: .75; }

.pdp-risk { margin-top: 14px; padding: 14px; border: 1px solid rgba(0,0,0,.08); border-radius: 14px; }
.pdp-risk__title { font-weight: 600; margin-bottom: 10px; }
.pdp-risk__grid { display: grid; gap: 10px; }
.pdp-risk__card { padding: 10px; border-radius: 12px; background: rgba(0,0,0,.03); }
.pdp-risk__k { font-weight: 600; margin-bottom: 4px; }
.pdp-risk__v, .pdp-risk__note { font-size: 13px; opacity: .9; }
.pdp-risk__rows { display: grid; gap: 6px; margin-top: 6px; }
.pdp-risk__row { display:flex; justify-content:space-between; gap: 10px; font-size: 13px; }
.pdp-risk__row span:last-child { text-align:right; }

.pdp-measures-summary { margin-top: 12px; padding: 14px; border: 1px solid rgba(0,0,0,.08); border-radius: 14px; }
.pdp-measures-summary__title { font-weight: 600; margin-bottom: 6px; }
.pdp-measures-summary__line { font-size: 13px; opacity: .9; margin-top: 4px; }
.pdp-measures-summary__link { display:inline-block; margin-top: 8px; text-decoration: underline; font-weight: 600; }

/* TKT-006 | P0-06 — Quickfacts (premium, sin filas vacías) */
.pdp-quickfacts{ margin-top:12px; padding:12px 0; background:transparent; border:0; border-top:1px solid rgba(0,0,0,.08); border-bottom:1px solid rgba(0,0,0,.08); border-radius:0; }

.pdp-quickfacts__title{ font-size:12px; font-weight:600; letter-spacing:.02em; margin:0 0 6px; opacity:.78; }

.pdp-quickfacts__list{ display:block; }

.pdp-quickfacts__item{ display:flex; justify-content:space-between; gap:14px; padding:10px 0; border-top:1px solid rgba(0,0,0,.06); }
.pdp-quickfacts__item:first-child{ border-top:0; padding-top:0; }
.pdp-quickfacts__item:last-child{ padding-bottom:0; }
.pdp-quickfacts__v{ white-space:normal; }


.pdp-quickfacts__k{
  font-size: 13px;
  opacity: .78;
}

.pdp-quickfacts__v{
  font-size: 13px;
  font-weight: 600;
  text-align: right;
}
/* TKT-006 | Social proof editorial */
.pdp-socialproof{ margin-top:6px; font-size:13px; opacity:.92; }
.pdp-socialproof__link{ text-decoration: underline; opacity:.85; }
.pdp-socialproof__link:hover{ opacity:1; }
.pdp-socialproof__sep{ margin:0 6px; opacity:.5; }

/* TKT-006 | Valor verificable (sin “cajitas”) */
.pdp-hardfacts{ margin:10px 0 0; padding:0; list-style:none; }
.pdp-hardfacts li{ padding:8px 0; border-top:1px solid rgba(0,0,0,.06); font-size:13px; opacity:.92; }
.pdp-hardfacts li:first-child{ border-top:0; }

/* TKT-006 | Q&A premium */
.pdp-qa{ margin-top:18px; }
.pdp-qa__title{ font-weight:600; font-size:16px; margin-bottom:10px; }
.pdp-qa__item{ border-top:1px solid rgba(0,0,0,.06); padding:10px 0; }
.pdp-qa__item:first-of-type{ border-top:0; }
.pdp-qa__item summary{ cursor:pointer; font-weight:600; }
.pdp-qa__a{ margin-top:8px; font-size:13px; opacity:.9; }

/* WhatsApp microcopy */
.pdp-wa__micro{ margin-top:4px; font-size:12px; opacity:.72; }


/* TKT-006 | Social proof editorial (bajo estrellas) */
.pdp-socialproof{
  margin-top: 6px;
  font-size: 13px;
  opacity: .92;
  line-height: 1.25;
}

.pdp-socialproof__link{
  text-decoration: underline;
  text-underline-offset: 3px;
  opacity: .85;
}

.pdp-socialproof__link:hover{
  opacity: 1;
}

.pdp-socialproof__sep{
  margin: 0 6px;
  opacity: .55;
}
.pdp-socialproof__link{
  text-decoration: none;
  border-bottom: 1px solid rgba(0,0,0,.25);
  padding-bottom: 1px;
}
#pdp-medidas,
#pdp-despacho-armado,
#pdp-garantia{
  scroll-margin-top: 90px;
}

.pdp-anchor{
  display: block;
  height: 0;
}
.pdp-measures-inline__sep{
  opacity: .55;
}



/* TKT-006 | Social proof editorial */
.pdp-socialproof{ margin-top:6px; font-size:13px; opacity:.92; line-height:1.25; }
.pdp-socialproof__link{ text-decoration: underline; text-underline-offset:3px; opacity:.85; }
.pdp-socialproof__link:hover{ opacity:1; }
.pdp-socialproof__sep{ margin:0 6px; opacity:.55; }


/* TKT-006 | Fix #4 — P0-02 “Menos cajitas” (FORZADO) */
[data-p0-02].pdp-risk{
  padding: 0 !important;
  border: 0 !important;
  border-radius: 0 !important;
  background: transparent !important;
}

[data-p0-02] .pdp-risk__grid{
  display: block !important;
  gap: 0 !important;
}

[data-p0-02] .pdp-risk__card{
  padding: 12px 0 !important;
  border-radius: 0 !important;
  background: transparent !important;
  border-top: 1px solid rgba(0,0,0,.06) !important;
}

[data-p0-02] .pdp-risk__card:first-child{
  border-top: 0 !important;
  padding-top: 0 !important;
}

[data-p0-02] .pdp-risk__rows{
  gap: 0 !important;
}

[data-p0-02] .pdp-risk__row{
  border-top: 1px solid rgba(0,0,0,.06) !important;
  padding: 6px 0 !important;
}
[data-p0-02] .pdp-risk__row:first-child{
  border-top: 0 !important;
  padding-top: 0 !important;
}

[data-p0-02] .pdp-risk__measures-link{
  display: inline-block;
  margin-top: 10px;
  font-size: 13px;
  font-weight: 600;
  text-decoration: none;
  border-bottom: 1px solid rgba(0,0,0,.25);
  padding-bottom: 1px;
  opacity: .9;
}
[data-p0-02] .pdp-risk__measures-link:hover{ opacity: 1; }

/* TKT-006 | P0-03 — Medidas clave visibles (editorial) */
.pdp-measures-inline{ margin-top:10px; font-size:13px; line-height:1.35; opacity:.95; }
.pdp-measures-inline__k{ font-weight:600; margin-right:6px; }
.pdp-measures-inline__a{
  margin-left:8px; text-decoration:none;
  border-bottom:1px solid rgba(0,0,0,.25);
  padding-bottom:1px; opacity:.9;
}
.pdp-measures-inline__a:hover{ opacity:1; }


/* P0-03 — mantener medidas compactas en mobile */
.pdp-measures-inline{
  display: flex;
  gap: 6px;
  align-items: baseline;
  flex-wrap: wrap;
}

.pdp-measures-inline__v{
  display: inline;
  overflow: visible;
}

.pdp-measures-inline__a{
  white-space: nowrap;
}


/* TKT-006 | P1 — Complementarios (mobile): bajar grito tipográfico */
@media (max-width: 767px){
  body.template-product .product-recommendations h2,
  body.template-product .product-recommendations__title,
  body.template-product .product-recommendations__heading,
  body.template-product .related-products h2,
  body.template-product .related-products__title,
  body.template-product .recommended-products h2,
  body.template-product .recommended-products__title {
    font-size: 26px !important;
    letter-spacing: 3px !important;
    line-height: 1.05 !important;
    margin: 22px 0 14px !important;
    text-transform: uppercase;
  }
}


/* TKT-006 | Complementarios — bajar “grito” tipográfico en mobile */
@media (max-width: 767px){
  body.template-product .product-recommendations h2,
  body.template-product .product-recommendations__heading,
  body.template-product .product-recommendations__title,
  body.template-product .related-products h2,
  body.template-product .related-products__title,
  body.template-product .recommended-products h2,
  body.template-product .recommended-products__title{
    font-size: 26px !important;
    letter-spacing: 3px !important;
    line-height: 1.05 !important;
    margin: 22px 0 14px !important;
  }
}


/* =========================================================
   EXTENSIÓN: ESTILO PREMIUM UNIFICADO (Desktop + Theme renderer)
   
   CAMBIOS:
   1. Desktop para Globo (#gf-products) - min-width: 769px
   2. Mobile + Desktop para Theme (.product-list .thumbnail)
   
   NOTAS DE ESPECIFICIDAD:
   - Globo usa #gf-products (ID) = especificidad alta
   - Theme usa .product-list .thumbnail = especificidad menor
   - Cuando ambos aplican, Globo gana por especificidad del ID
   
   Agregado: Enero 2026 (v3 - revisado)
   ========================================================= */

/* ===================================================
   PARTE 1: DESKTOP PARA GLOBO (#gf-products)
   Extiende las reglas mobile existentes a desktop
   =================================================== */
@media (min-width: 769px) {
  
  /* Container .product-details: grid 3 filas */
  body.collection #gf-products a.product-info__caption[data-plp-card] .product-details,
  body.collection #gf-products [data-plp-card] .product-details {
    display: grid !important;
    grid-template-columns: 1fr !important;
    grid-template-rows: auto auto auto !important;
    row-gap: 8px !important;
    padding-top: 8px !important;
    
    align-items: baseline !important;
    justify-items: start !important;
    text-align: left !important;
    margin: 0 !important;
  }

  /* L1: Título - lowercase, peso 500, 1 línea */
  body.collection #gf-products [data-plp-card] .product-details .title {
    grid-row: 1 !important;
    grid-column: 1 / -1 !important;

    margin: 0 !important;
    padding: 0 !important;

    font-weight: 500 !important;
    font-size: 14px !important;
    line-height: 1.2 !important;

    text-transform: none !important;
    letter-spacing: 0 !important;

    white-space: nowrap !important;
    overflow: hidden !important;
    text-overflow: ellipsis !important;
    
    color: #1a1a1a !important;
  }

  /* L2: Precio container */
  body.collection #gf-products [data-plp-card] .product-details span.price {
    grid-row: 2 !important;
    grid-column: 1 / -1 !important;
    
    display: inline-flex !important;
    align-items: baseline !important;
    gap: 6px !important;
    margin: 0 !important;
  }

  /* Precio actual */
  body.collection #gf-products [data-plp-card] .product-details .current_price {
    display: inline-flex !important;
    align-items: baseline !important;
    gap: 4px !important;
  }
  body.collection #gf-products [data-plp-card] .product-details .current_price .money {
    font-size: 14px !important;
    font-weight: 500 !important;
    color: #1a1a1a !important;
  }

  /* "Desde" - gris, no itálica */
  body.collection #gf-products [data-plp-card] .product-details .from {
    font-size: 13px !important;
    font-style: normal !important;
    color: #777 !important;
  }
  body.collection #gf-products [data-plp-card] .product-details .from em {
    font-style: normal !important;
  }

  /* Precio tachado - light */
  body.collection #gf-products [data-plp-card] .product-details .was_price {
    font-size: 13px !important;
    font-weight: 400 !important;
    color: #888 !important;
    opacity: .55 !important;
  }
  body.collection #gf-products [data-plp-card] .product-details .was_price .money {
    font-weight: 400 !important;
    color: inherit !important;
  }

  /* L3: Meta line (rating + medidas) */
  body.collection #gf-products [data-plp-card] .product-details .product-meta-line {
    grid-row: 3 !important;
    grid-column: 1 / -1 !important;
    
    display: inline-flex !important;
    align-items: center !important;
    gap: 6px !important;
    
    font-size: 13px !important;
    line-height: 1.2 !important;
    color: #555 !important;
    opacity: .85 !important;
    white-space: nowrap !important;
    margin: 0 !important;
  }

  /* Rating */
  body.collection #gf-products [data-plp-card] .product-details .product-rating {
    display: inline-flex !important;
    align-items: center !important;
    gap: 4px !important;
    font-size: 13px !important;
    color: #555 !important;
  }

  /* Medidas */
  body.collection #gf-products [data-plp-card] .product-details [data-plp-size-count] {
    font-size: 13px !important;
    font-weight: 400 !important;
    color: #555 !important;
    opacity: .85 !important;
  }
}

/* ===================================================
   PARTE 2: THEME RENDERER (Mobile + Desktop)
   Para colecciones que NO usan Globo
   Selector: .product-list .thumbnail (sin #gf-products)
   =================================================== */

/* --- BASE (Mobile + Desktop) --- */

/* Espaciado bajo la foto */
body.collection .product-list .thumbnail a.product-info__caption[data-plp-card] {
  margin-top: 2px !important;
}

/* Container .product-details: grid 3 filas */
body.collection .product-list .thumbnail a.product-info__caption[data-plp-card] .product-details,
body.collection .product-list .thumbnail [data-plp-card] .product-details {
  display: grid !important;
  grid-template-columns: 1fr !important;
  grid-template-rows: auto auto auto !important;
  row-gap: 8px !important;
  padding-top: 6px !important;
  
  align-items: baseline !important;
  justify-items: start !important;
  text-align: left !important;
  margin: 0 !important;
}

/* L1: Título - lowercase, peso 500, hasta 2 líneas */
body.collection .product-list .thumbnail [data-plp-card] .product-details .title {
  grid-row: 1 !important;
  grid-column: 1 / -1 !important;

  margin: 0 !important;
  padding: 0 !important;

  font-weight: 500 !important;
  font-size: 13px !important;
  line-height: 1.3 !important;

  text-transform: none !important;
  letter-spacing: 0 !important;

  /* Permite 2 líneas con elipsis */
  white-space: normal !important;
  overflow: hidden !important;
  display: -webkit-box !important;
  -webkit-line-clamp: 2 !important;
  -webkit-box-orient: vertical !important;
  
  /* Altura fija para 2 líneas (font-size * line-height * 2) */
  min-height: calc(13px * 1.3 * 2) !important;
  
  color: #1a1a1a !important;
}

/* L2: Precio container */
body.collection .product-list .thumbnail [data-plp-card] .product-details span.price {
  grid-row: 2 !important;
  grid-column: 1 / -1 !important;
  
  display: inline-flex !important;
  align-items: baseline !important;
  gap: 4px !important;
  margin: 0 !important;
}

/* "Desde" - gris, no itálica */
body.collection .product-list .thumbnail [data-plp-card] .product-details .from {
  font-size: 12px !important;
  font-style: normal !important;
  color: #777 !important;
  opacity: .9 !important;
}
body.collection .product-list .thumbnail [data-plp-card] .product-details .from em {
  font-style: normal !important;
  color: inherit !important;
}

/* Precio actual */
body.collection .product-list .thumbnail [data-plp-card] .product-details .current_price {
  display: inline-flex !important;
  align-items: baseline !important;
  gap: 4px !important;
}
body.collection .product-list .thumbnail [data-plp-card] .product-details .current_price .money {
  font-size: 13px !important;
  font-weight: 500 !important;
  color: #1a1a1a !important;
  line-height: 1.1 !important;
}

/* Precio tachado - light */
body.collection .product-list .thumbnail [data-plp-card] .product-details .was_price {
  margin: 0 !important;
  margin-left: 4px !important;
  padding: 0 !important;
  
  font-size: 12px !important;
  font-weight: 400 !important;
  color: #888 !important;
  opacity: .55 !important;
  white-space: nowrap !important;
}
body.collection .product-list .thumbnail [data-plp-card] .product-details .was_price .money {
  font-size: inherit !important;
  font-weight: 400 !important;
  color: inherit !important;
}

/* Override: precio en oferta NO rojo */
body.collection .product-list .thumbnail [data-plp-card] .product-details span.price.sale .current_price .money {
  color: #1a1a1a !important;
}

/* L3: Meta line (rating + medidas) */
body.collection .product-list .thumbnail [data-plp-card] .product-details .product-meta-line {
  grid-row: 3 !important;
  grid-column: 1 / -1 !important;
  
  display: inline-flex !important;
  align-items: center !important;
  gap: 6px !important;
  
  margin: 0 !important;
  padding: 0 !important;
  
  font-size: 12px !important;
  line-height: 14px !important;
  color: #555 !important;
  opacity: .85 !important;
  white-space: nowrap !important;
}

/* Rating container */
body.collection .product-list .thumbnail [data-plp-card] .product-details .product-rating {
  display: inline-flex !important;
  align-items: center !important;
  gap: 4px !important;

  margin: 0 !important;
  padding: 0 !important;

  font-size: 12px !important;
  line-height: 14px !important;
  color: #555 !important;
  white-space: nowrap !important;
}

/* "· N medidas" */
body.collection .product-list .thumbnail [data-plp-card] .product-details [data-plp-size-count] {
  display: inline !important;
  margin: 0 !important;
  padding: 0 !important;

  font-size: 12px !important;
  line-height: 14px !important;
  font-weight: 400 !important;

  color: #555 !important;
  opacity: .85 !important;
  white-space: nowrap !important;
}

/* Anti layout shift */
body.collection .product-list .thumbnail [data-plp-card] .product-details [data-plp-size-count]:empty::before {
  content: "\00a0";
}

/* Stars neutras para Theme renderer */
body.collection .product-list .thumbnail .product-rating,
body.collection .product-list .thumbnail .product-rating * {
  color: #555 !important;
}

/* --- DESKTOP: Ajustes de tamaño para Theme --- */
@media (min-width: 769px) {
  body.collection .product-list .thumbnail [data-plp-card] .product-details .title {
    font-size: 14px !important;
  }
  
  body.collection .product-list .thumbnail [data-plp-card] .product-details .current_price .money {
    font-size: 14px !important;
  }
  
  body.collection .product-list .thumbnail [data-plp-card] .product-details .was_price {
    font-size: 13px !important;
  }
  
  body.collection .product-list .thumbnail [data-plp-card] .product-details .product-meta-line,
  body.collection .product-list .thumbnail [data-plp-card] .product-details .product-rating,
  body.collection .product-list .thumbnail [data-plp-card] .product-details [data-plp-size-count] {
    font-size: 13px !important;
  }
}

/* --- MOBILE MUY ANGOSTO: ocultar medidas --- */
@media (max-width: 360px) {
  body.collection .product-list .thumbnail [data-plp-card] .product-details [data-plp-size-count] {
    display: none !important;
  }
}

/* =========================================================
   FIN EXTENSIÓN: ESTILO PREMIUM UNIFICADO (v3)
   ========================================================= */

/* =========================================================
   MARCO PREMIUM — Cards PLP (todas las colecciones)
   Estilo: borde sutil + sombra suave + fondo blanco
   Agregado: Enero 2026
   ========================================================= */

/* Card wrapper con marco premium */
body.collection .thumbnail {
  background: #ffffff !important;
  border: 1px solid rgba(0, 0, 0, 0.06) !important;
  border-radius: 0px !important;
  box-shadow: 0 2px 8px rgba(0, 0, 0, 0.04) !important;
  overflow: hidden !important;
  transition: box-shadow 0.2s ease, border-color 0.2s ease !important;
}

/* Hover: sombra más pronunciada (solo desktop) */
@media (min-width: 769px) {
  body.collection .thumbnail:hover {
    box-shadow: 0 4px 16px rgba(0, 0, 0, 0.08) !important;
    border-color: rgba(0, 0, 0, 0.1) !important;
  }
}

/* Padding interno para el contenido de texto */
body.collection .thumbnail a.product-info__caption[data-plp-card] {
  padding: 14px 14px 18px 14px !important;
  display: block !important;
}

/* Asegurar que la imagen ocupe todo el ancho del card */
body.collection .thumbnail .product_image,
body.collection .thumbnail .image__container {
  border-radius: 0 !important;
}

/* Mobile: ajuste de gap entre cards */
@media (max-width: 768px) {
  body.collection .product-list {
    gap: 12px !important;
  }
  
  body.collection .thumbnail {
    border-radius: 0px !important;
  }
  
  body.collection .thumbnail a.product-info__caption[data-plp-card] {
    padding: 12px 12px 16px 12px !important;
    display: block !important;
  }
}

/* Reducir márgenes laterales en PLP mobile */
@media (max-width: 768px) {
  body.collection .product-list.product-list--collection {
    margin-left: -10px !important;
    margin-right: -10px !important;
    padding-left: 3px !important;
    padding-right: 3px !important;
    width: calc(100% + 20px) !important;
  }
}


/* Forzar título 1 línea en Maceteros (Globo) */
body.collection #gf-products [data-plp-card] .product-details .title {
  min-height: auto !important;
  -webkit-line-clamp: unset !important;
  -webkit-box-orient: unset !important;
  display: block !important;
  white-space: nowrap !important;
}
/* Padding y espaciado para Maceteros (Globo) */
body.collection #gf-products .thumbnail a.product-info__caption[data-plp-card] {
  padding: 12px 12px 16px 12px !important;
  display: block !important;
}

body.collection #gf-products a.product-info__caption[data-plp-card] .product-details,
body.collection #gf-products [data-plp-card] .product-details {
  row-gap: 8px !important;
}
/* =========================================================
   FIN — MARCO PREMIUM
   ========================================================= */

/* =========================================================
   SELECTORES DE VARIANTES PDP — Estilo Editorial Premium
   Menos altura, bordes sutiles, esquinas rectas, sin sombras
   ========================================================= */

/* Base: todos los selectores de variantes */
.swatch-element label,
.variant-input label,
.product-form__option label {
  padding: 10px 14px !important;
  border: 1px solid rgba(0, 0, 0, 0.12) !important;
  border-radius: 2px !important;
  background: #ffffff !important;
  box-shadow: none !important;
  
  font-size: 13px !important;
  font-weight: 500 !important;
  letter-spacing: 0.01em !important;
  text-transform: none !important;
  
  transition: border-color 0.15s ease, background-color 0.15s ease !important;
  cursor: pointer !important;
}

/* Hover */
.swatch-element label:hover,
.variant-input label:hover,
.product-form__option label:hover {
  border-color: rgba(0, 0, 0, 0.25) !important;
  background: #fafafa !important;
}

/* Estado seleccionado: crema/blanco translúcido elegante */
.swatch-element input:checked + label,
.variant-input input:checked + label,
.product-form__option input:checked + label {
  background: rgba(255, 253, 250, 0.95) !important;
  border-color: rgba(0, 0, 0, 0.4) !important;
  box-shadow: none !important;
}

/* Agotado/disabled */
.swatch-element.soldout label,
.swatch-element[data-soldout="true"] label {
  opacity: 0.4 !important;
  cursor: not-allowed !important;
  text-decoration: line-through !important;
}

/* Quitar estilos heredados del theme */
.swatch-element.soldout .crossed-out {
  display: none !important;
}

/* =========================================================
   FIN — SELECTORES DE VARIANTES PDP
   ========================================================= */

   /* =========================================================
   SELECTORES DE VARIANTES PDP — Estilo Editorial Premium
   ========================================================= */

/* Reset: quitar estilos del theme */
.swatch-element label {
  padding: 10px 14px !important;
  border: 1px solid rgba(0, 0, 0, 0.12) !important;
  border-radius: 2px !important;
  background: #ffffff !important;
  box-shadow: none !important;
  
  font-size: 13px !important;
  font-weight: 500 !important;
  letter-spacing: 0.01em !important;
  text-transform: none !important;
  line-height: 1.2 !important;
  
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  
  transition: border-color 0.15s ease, background-color 0.15s ease !important;
  cursor: pointer !important;
}

/* Hover */
.swatch-element label:hover {
  border-color: rgba(0, 0, 0, 0.25) !important;
  background: #fafafa !important;
}

/* Seleccionado */
.swatch-element input[type="radio"]:checked + .tooltip + label,
.swatch-element input[type="radio"]:checked + label {
  background: #F2F2F2 !important;
  border-color: rgba(0, 0, 0, 0.4) !important;
  box-shadow: none !important;
}

/* Agotado */
.swatch-element.soldout label {
  opacity: 0.4 !important;
  cursor: not-allowed !important;
}

.swatch-element .crossed-out {
  display: none !important;
}

/* =========================================================
   FIN — SELECTORES DE VARIANTES PDP
   ========================================================= */
   


/* contenedor de botones */
body.product .purchase-details__buttons,
body.template-product .purchase-details__buttons{
  display: flex !important;
  flex-direction: column !important;
  align-items: stretch !important;
  width: 100% !important;
  max-width: none !important;
}

/* todo hijo debe estirar */
body.product .purchase-details__buttons > *,
body.template-product .purchase-details__buttons > *{
  width: 100% !important;
  max-width: none !important;
  align-self: stretch !important;
}

/* ATC */
body.product button.add_to_cart,
body.template-product button.add_to_cart{
  width: 100% !important;
  max-width: none !important;
  display: block !important;
  flex: 0 0 auto !important;
}

/* Comprar ahora */
body.product .shopify-payment-button__button,
body.template-product .shopify-payment-button__button{
  width: 100% !important;
  max-width: none !important;
  display: block !important;
  flex: 0 0 auto !important;
}


/* =========================================================
   PDP — FIX PREMIUM: Cantidad + CTAs (Layout vertical limpio)
   Resuelve:
   - Quantity pegado al botón (era 50% width)
   - "Comprar ahora" desalineado (parent width: auto)
   Tienda Chagual — Enero 2026
   ========================================================= */

/* 1. Contenedor principal: stack vertical */
body.product .purchase-details,
body.template-product .purchase-details {
  display: flex !important;
  flex-direction: column !important;
  align-items: stretch !important;
  gap: 10px !important;
  width: 100% !important;
  max-width: none !important;
}

/* 2. Quantity: full width (override del 50% del theme) */
body.product .purchase-details__quantity.product-quantity-box,
body.template-product .purchase-details__quantity.product-quantity-box,
.smart-payment-button--true .purchase-details__quantity.product-quantity-box,
.product_form.smart-payment-button--true .purchase-details__quantity.product-quantity-box {
  width: 100% !important;
  max-width: none !important;
  margin-right: 0 !important;
  margin-bottom: 0 !important;
}

/* 3. Contenedor de botones: stack vertical, full width */
body.product .purchase-details__buttons,
body.template-product .purchase-details__buttons {
  display: flex !important;
  flex-direction: column !important;
  align-items: stretch !important;
  gap: 14px !important;
  width: 100% !important;
  max-width: none !important;
}

/* 4. Todos los hijos de botones: full width */
body.product .purchase-details__buttons > *,
body.template-product .purchase-details__buttons > * {
  width: 100% !important;
  max-width: none !important;
  flex: 0 0 auto !important;
}

/* 5. ATC button */
body.product button.add_to_cart,
body.template-product button.add_to_cart {
  width: 100% !important;
  max-width: none !important;
  display: block !important;
}

/* 6. Shopify Payment Button wrapper — FIX del width:auto */
body.product .shopify-payment-button,
body.template-product .shopify-payment-button {
  width: 100% !important;
  max-width: none !important;
  display: block !important;
  margin-left: 0 !important;
  margin-right: 0 !important;
}

/* 7. Botón "Comprar ahora" interno */
body.product .shopify-payment-button__button,
body.template-product .shopify-payment-button__button {
  width: 100% !important;
  max-width: none !important;
  display: block !important;
  box-sizing: border-box !important;
}

/* 8. Web component de Shopify (accelerated checkout) */
body.product shopify-accelerated-checkout,
body.product shopify-buy-it-now-button,
body.template-product shopify-accelerated-checkout,
body.template-product shopify-buy-it-now-button {
  display: block !important;
  width: 100% !important;
}

/* =========================================================
   FIN — FIX PREMIUM: Cantidad + CTAs
   ========================================================= */
/* TKT-021 — PDP: menos aire entre foto y miniaturas (mobile) */
@media only screen and (max-width: 798px){
  body.product .product_gallery{
    margin-bottom: 10px !important; /* prueba 8–14px */
  }
}

/* TKT-021 — PDP mobile: reducir gap bajo miniaturas (la nav empuja 30px) */
@media only screen and (max-width: 798px){
  .product_gallery_nav,
  .product_gallery_nav--bottom-slider,
  .product_gallery_nav.product_gallery_nav--bottom-slider{
    margin-bottom: 0px !important; /* prueba 8–12px */
  }
}

/* TKT-021 — PDP mobile: compactar badge de reseñas (Revie) */
@media only screen and (max-width: 798px){
  body.product .product-block--first .revie-aref{
    display: inline-flex !important;
    align-items: center !important;
    gap: 6px !important;
    padding: 0 !important;
    line-height: 1.1 !important;
    min-height: 0 !important;
    height: 32px !important; /* baja desde 48px */
  }

  body.product .product-block--first .revie-aref span{
    line-height: 1.1 !important; /* evita el 48px */
  }

  body.product .product-block--first .revie-aref i{
    line-height: 1 !important;
  }
}

/* TKT-021 — PDP mobile: compactar bloque de precio/confianza (Cantaria) */
@media only screen and (max-width: 798px){
  /* Medidas + links: menos aire */
  body.product .pdp-measures-inline{
    margin-top: 6px !important;
    line-height: 1.2 !important;
  }

  /* Quickfacts: el gran culpable (170px) */
  body.product .pdp-quickfacts{
    margin-top: 6px !important;
    padding-top: 6px !important;
    padding-bottom: 6px !important;
    line-height: 1.2 !important;
  }

  /* Si los ítems están en filas/bullets, apretar spacing interno */
  body.product .pdp-quickfacts *{
    margin-top: 4px !important;
    margin-bottom: 4px !important;
  }

  /* Hardfacts (garantía): menos aire */
  body.product .pdp-hardfacts{
    margin-top: 6px !important;
    line-height: 1.2 !important;
  }
}

/* TKT-021 — PDP mobile: limpiar línea de medidas/despacho */
@media only screen and (max-width: 798px){
  body.product .pdp-measures-inline{
    display: flex !important;
    align-items: center !important;
    flex-wrap: wrap !important;          /* queda 1 línea si cabe; si no, envuelve sin romper */
    column-gap: 0 !important;
    row-gap: 4px !important;
    line-height: 1.2 !important;
  }

  /* quitar label redundante */
  body.product .pdp-measures-inline__k{ display: none !important; }

  /* sacamos el separador del DOM y lo generamos antes del 2º link */
  body.product .pdp-measures-inline__sep{ display: none !important; }

  body.product .pdp-measures-inline__a{
    white-space: nowrap !important;
  }

  body.product .pdp-measures-inline__a[data-ua-link="despacho"]::before{
    content: " · ";
    opacity: .7;
  }
}


/* PDP — compactar gap precio → trustpack (links) */
@media (max-width: 768px){
  body.product .product-block--price .modal_price{
    padding-bottom: 0 !important;
    margin-bottom: 6px !important;
  }
  body.product .pdp-quickfacts__item--links{
    margin-top: 0 !important;
  }
}

/* FIX: mantener offset cuando el header se vuelve sticky (evita que se coma la galería tras scroll) */
@media only screen and (max-width: 798px){
  body{
    margin-top: var(--sticky-header-height, 0px) !important;
  }
}

/* PDP — controlar el aire sobre galería SIN gatillar el salto por colapso de márgenes */
@media (max-width: 768px){
  /* 1) el bloque que ocupa el gap */
  body.product .shopify-section--product-sidebar.is-product-sidebar{
    padding-top: 0 !important;
  }

  /* 2) el verdadero culpable suele ser el margin-top del 1er hijo */
  body.product .shopify-section--product-sidebar.is-product-sidebar > :first-child{
    margin-top: 0 !important;
  }

  /* 3) ahora sí, “aire” controlado arriba de TODO el bloque producto */
  body.product .product_section.js-product-section{
    padding-top: 12px !important; /* ajusta 10–14 */
  }
}

/* PDP mobile — separar links (medidas/ despacho) de la descripción corta */
@media (max-width: 768px){
  /* cuando los links están como bloque propio */
  body.product .pdp-measures-inline{
    margin-bottom: 16px !important; /* ajusta 8–14 */
  }

  /* cuando los links quedaron dentro del trustpack/quickfacts */
  body.product .pdp-quickfacts__item--links{
    margin-bottom: 10px !important; /* ajusta 8–14 */
  }

  /* opcional: si quieres una “línea” sutil bajo los links */
  /*
  body.product .pdp-measures-inline{
    padding-bottom: 10px !important;
    border-bottom: 1px solid rgba(0,0,0,.08);
  }
  */
}

/* PDP mobile — swatches de TAMAÑO en 3 columnas (evita que 3ra opción baje) */
@media (max-width: 768px){
  body.product .swatch[data-option-index="0"]{
    display: grid !important;
    grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
    gap: 8px !important;
  }

  /* el título/label del swatch ocupa toda la fila */
  body.product .swatch[data-option-index="0"] > .header{
    grid-column: 1 / -1 !important;
    margin: 0 0 6px 0 !important;
  }

  /* cada botón ocupa su celda */
  body.product .swatch[data-option-index="0"] .swatch-element{
    float: none !important;
    width: auto !important;
    margin: 0 !important;
  }

  body.product .swatch[data-option-index="0"] .swatch-element label{
    width: 100% !important;
    padding: 10px 6px !important;  /* baja el “grosor” */
    font-size: 12px !important;
    line-height: 1.1 !important;
    text-align: center !important;
  }
}

/* PDP mobile — muebles: separar “quickfacts” (cuotas/stock/entrega/garantía) del bloque de descripción/bullets */
@media (max-width: 768px){
  /* este es el bloque-resumen */
  body.product .pdp-quickfacts.pdp-quickfacts--trustpack{
    padding-bottom: 16px !important;     /* separación real (no colapsa como margin) */
    border-bottom: 1px solid rgba(0,0,0,.08); /* opcional: línea sutil */
    margin-bottom: 0 !important;
  }

  /* este es el bloque que contiene la descripción + bullets */
  body.product .pdp-lead-bullets{
    padding-top: 14px !important;
    margin-top: 0 !important;
  }
}

/* PDP mobile — muebles: bullets más compactos (menos aire entre ítems) */
@media (max-width: 768px){
  /* scope: solo el bloque de descripción+bullets que ya estamos usando */
  body.product .pdp-lead-bullets ul,
  body.product .pdp-lead-bullets ol{
    margin-top: 8px !important;
    margin-bottom: 0 !important;
  }

  body.product .pdp-lead-bullets li{
    margin: 0 0 8px 0 !important;   /* prueba 6–10 */
    line-height: 1.35 !important;  /* prueba 1.25–1.4 */
    padding: 0 !important;
  }

  body.product .pdp-lead-bullets li:last-child{
    margin-bottom: 0 !important;
  }
}

/* PDP mobile — compactar espacio: descripción → títulos de variación → botones */
@media (max-width: 768px){

  /* menos aire antes del bloque de variaciones */
  body.product .swatch-options{
    margin-top: 4px !important;   /* prueba 6–10 */
  }

  /* título “Selecciona un tamaño / Elije tu opción” */
  body.product .swatch-options .option-title{
    margin: 4px 0 2px 0 !important;  /* arriba / abajo */
    padding: 0 !important;
  }

  /* menos aire entre variación 1 y variación 2 */
  body.product .swatch-options .swatch[data-option-index="1"]{
    margin-top: 4px !important;  /* prueba 8–12 */
  }
}

/* PDP mobile — compactar variaciones (título ↔ botones) y entre variaciones */
@media (max-width: 768px){

  /* 1) Menos aire interno (título↔botones) por GAP del grid */
  body.product .swatch[data-option-index]{
    gap: 6px !important;        /* antes: 8px */
    row-gap: 6px !important;
    column-gap: 8px !important;
  }

  /* 2) Menos aire entre variación 1 y 2 (te está pegando mb:20px) */
  body.product .swatch[data-option-index="0"]{
    margin-bottom: 10px !important;  /* antes: 20px */
  }

  /* 3) Título “Selecciona un tamaño / Elije tu opción” (por si existe con distintos nombres) */
  body.product .swatch[data-option-index] > .option-title,
  body.product .swatch[data-option-index] > .option_title,
  body.product .swatch[data-option-index] > .header,
  body.product .swatch[data-option-index] > :first-child:not(.swatch-element){
    margin: 6px 0 2px 0 !important;
    padding: 0 !important;
    line-height: 1.2 !important;
  }

  /* 4) Por si algún swatch-element trae margin propio */
  body.product .swatch[data-option-index] .swatch-element{
    margin: 0 !important;
  }
}

/* PDP mobile — PotteryBarn ATC (FINAL):
   Fila 1: Cantidad (izq) + Precio (der)
   Fila 2: Botón ATC full width
*/
@media (max-width: 768px){

  /* Contenedor del sector */
body.product .purchase-details,
  body.template-product .purchase-details{
    display: flex !important;
    flex-direction: column !important;
    gap: 10px !important;
    margin-top: 12px !important;
  }

  /* Fila superior */
body.product .purchase-details .pdp-atc-toprow,
  body.template-product .purchase-details .pdp-atc-toprow{
    display: flex !important;
    align-items: center !important;
    justify-content: space-between !important;
    gap: 12px !important;
    flex-wrap: nowrap !important;
    width: 100% !important;
  }

  /* (Opcional) Oculta “Cantidad” */
  body.product .purchase-details__quantity label,
  body.product .purchase-details__quantity .quantity__label,
body.product .purchase-details__quantity .product-quantity-box__label,
  body.template-product .purchase-details__quantity .product-quantity-box__label{
    display: none !important;
  }

  /* Qty: NO full width */
body.product .purchase-details__quantity,
  body.template-product .purchase-details__quantity{
    margin: 0 !important;
    flex: 0 0 auto !important;
    width: auto !important;
    max-width: none !important;
  }

  /* En Turbo, el mismo nodo suele ser .product-quantity-box */
body.product .purchase-details__quantity.product-quantity-box,
  body.template-product .purchase-details__quantity.product-quantity-box{
    display: inline-flex !important;
    flex-direction: row !important;
    flex-wrap: nowrap !important;   /* clave: evita que - / input / + se apilen */
    align-items: stretch !important;
    width: auto !important;
  }

  /* Si hubiera un wrapper interno, también lo amarramos */
  body.product .purchase-details__quantity .product-quantity-box,
  body.product .purchase-details__quantity .quantity__wrapper,
body.product .purchase-details__quantity .quantity-wrapper,
  body.template-product .purchase-details__quantity .quantity-wrapper{
    display: inline-flex !important;
    flex-direction: row !important;
    flex-wrap: nowrap !important;
    align-items: stretch !important;
    width: auto !important;
  }

  /* Evita que input/botones se estiren a 100% */
  body.product .purchase-details__quantity button,
body.product .purchase-details__quantity input,
  body.template-product .purchase-details__quantity input{
    flex: 0 0 auto !important;
  }

  /* Ajuste típico para el input (opcional) */
body.product .purchase-details__quantity input,
  body.template-product .purchase-details__quantity input{
    width: 56px !important;
    text-align: center !important;
  }

  /* Precio derecha */
body.product .purchase-details .pdp-atc-price,
  body.template-product .purchase-details .pdp-atc-price{
    display: inline-flex !important;
    align-items: baseline !important;
    justify-content: flex-end !important;
    gap: 8px !important;
    white-space: nowrap !important;
    flex: 0 0 auto !important;
    margin-left: auto !important; /* empuja a la derecha */
  }

body.product .purchase-details .pdp-atc-price__current,
  body.template-product .purchase-details .pdp-atc-price__current{
    font-weight: 700 !important;
    font-size: 18px !important;
    line-height: 1 !important;
  }

body.product .purchase-details .pdp-atc-price__compare,
  body.template-product .purchase-details .pdp-atc-price__compare{
    font-size: 14px !important;
    line-height: 1 !important;
    text-decoration: line-through !important;
    opacity: .65 !important;
    white-space: nowrap !important;
  }

  /* ATC abajo full width */
body.product .purchase-details__buttons,
  body.template-product .purchase-details__buttons{
    margin-top: 0 !important;
    width: 100% !important;
  }
body.product .purchase-details__buttons .add_to_cart,
  body.template-product .purchase-details__buttons .add_to_cart{
    width: 100% !important;
  }

  /* Shopify payment button si existe */
body.product .purchase-details .shopify-payment-button,
  body.template-product .purchase-details .shopify-payment-button{
    width: 100% !important;
  }
}

/* PDP mobile — ATC top row (refine) */
@media (max-width: 768px){

  body.product .purchase-details,
  body.template-product .purchase-details{
    gap: 8px !important;           /* antes 10 */
    margin-top: 8px !important;    /* antes 12 */
  }

  body.product .purchase-details .pdp-atc-toprow,
  body.template-product .purchase-details .pdp-atc-toprow{
    align-items: flex-end !important; /* alinea mejor el baseline del precio */
  }

  body.product .purchase-details .pdp-atc-price,
  body.template-product .purchase-details .pdp-atc-price{
    gap: 6px !important;           /* antes 8 */
    position: relative;
    top: 2px;                      /* sube visualmente el precio */
  }

  body.product .purchase-details .pdp-atc-price__current,
  body.template-product .purchase-details .pdp-atc-price__current{
    font-size: 16px !important;    /* antes 18, menos “grito” */
    font-weight: 700 !important;
  }

  body.product .purchase-details .pdp-atc-price__compare,
  body.template-product .purchase-details .pdp-atc-price__compare{
    font-size: 13px !important;    /* antes 14 */
    opacity: .55 !important;       /* un poco más visible que .65? (depende tu fondo) */
    text-decoration-thickness: 1px;
    text-decoration-color: rgba(0,0,0,.5);
  }

  /* Botón ATC: respira un poco desde la fila de arriba */
  body.product .purchase-details__buttons,
  body.template-product .purchase-details__buttons{
    margin-top: 2px !important;
  }
}

/* PDP mobile — ATC Premium refine (pegar al final) */
@media (max-width: 768px){

  /* aplicar también en Turbo */
  body.product .purchase-details,
  body.template-product .purchase-details{
    gap: 8px !important;
    margin-top: 8px !important;
  }

  body.product .purchase-details .pdp-atc-toprow,
  body.template-product .purchase-details .pdp-atc-toprow{
    align-items: flex-end !important; /* mejor baseline */
    padding-top: 6px !important;
    border-top: 1px solid rgba(0,0,0,.08) !important; /* “línea editorial” */
  }

  /* qty: un pelín más compacto */
  body.product .purchase-details__quantity input,
  body.template-product .purchase-details__quantity input{
    width: 52px !important;
  }

  /* precio derecha: menos grito, más editorial */
  body.product .purchase-details .pdp-atc-price,
  body.template-product .purchase-details .pdp-atc-price{
    gap: 6px !important;
    position: relative;
    top: 1px;
  }

  body.product .purchase-details .pdp-atc-price__current,
  body.template-product .purchase-details .pdp-atc-price__current{
    font-size: 16px !important;   /* antes 18 */
    font-weight: 600 !important;  /* 700 se ve “retail”, 600 se ve “premium” */
    letter-spacing: 0.01em !important;
  }

  body.product .purchase-details .pdp-atc-price__compare,
  body.template-product .purchase-details .pdp-atc-price__compare{
    font-size: 13px !important;
    opacity: .55 !important;
    text-decoration-thickness: 1px;
    text-decoration-color: rgba(0,0,0,.45);
    text-underline-offset: 2px;
  }

  /* botón ATC: más “premium” (altura + tracking) */
  body.product button.add_to_cart,
  body.template-product button.add_to_cart{
    padding: 16px 14px !important;
    letter-spacing: 0.06em !important;
    border-radius: 2px !important;
  }
}

@media (max-width: 768px){

  body.product .purchase-details,
  body.template-product .purchase-details{
    gap: 8px !important;
    margin-top: 10px !important;
  }

  /* línea editorial arriba del bloque */
  body.product .purchase-details .pdp-atc-toprow,
  body.template-product .purchase-details .pdp-atc-toprow{
    padding-top: 8px !important;
    border-top: 1px solid rgba(0,0,0,.08) !important;
    align-items: flex-end !important;
  }

  /* precio derecha: menos “grito” */
  body.product .purchase-details .pdp-atc-price__current,
  body.template-product .purchase-details .pdp-atc-price__current{
    font-size: 16px !important;   /* baja desde 18 */
    font-weight: 600 !important;  /* baja desde 700 */
    letter-spacing: 0.01em !important;
  }

  body.product .purchase-details .pdp-atc-price__compare,
  body.template-product .purchase-details .pdp-atc-price__compare{
    font-size: 13px !important;
    opacity: .55 !important;
    text-decoration-thickness: 1px;
    text-underline-offset: 2px;
  }

  /* CTA: un poco más “editorial” */
  body.product button.add_to_cart,
  body.template-product button.add_to_cart{
    padding: 16px 14px !important;
    letter-spacing: 0.06em !important;
    border-radius: 2px !important;
  }
}




/* PDP mobile — ATC Premium (override final) */
@media (max-width: 768px){

  body.product .purchase-details,
  body.template-product .purchase-details{
    margin-top: 10px !important;
    gap: 8px !important;
  }

  body.product .purchase-details .pdp-atc-toprow,
  body.template-product .purchase-details .pdp-atc-toprow{
    padding-top: 10px !important;
    border-top: 1px solid rgba(0,0,0,.08) !important;
    align-items: flex-end !important;
  }

  body.product .purchase-details .pdp-atc-price,
  body.template-product .purchase-details .pdp-atc-price{
    gap: 6px !important;
  }

  body.product .purchase-details .pdp-atc-price__current,
  body.template-product .purchase-details .pdp-atc-price__current{
    font-size: 16px !important;
    font-weight: 600 !important;
    letter-spacing: 0.01em !important;
  }

  body.product .purchase-details .pdp-atc-price__compare,
  body.template-product .purchase-details .pdp-atc-price__compare{
    font-size: 13px !important;
    opacity: .55 !important;
    text-decoration-thickness: 1px;
    text-underline-offset: 2px;
  }

  body.product button.add_to_cart,
  body.template-product button.add_to_cart{
    padding: 16px 14px !important;
    letter-spacing: 0.06em !important;
    border-radius: 2px !important;
  }
}

/* PDP — Swatches premium (override final) */
@media (max-width: 768px){

  /* Contenedor: gaps más finos */
  body.product .swatch[data-option-index],
  body.template-product .swatch[data-option-index]{
    gap: 8px !important;
  }

  /* Botón base */
  body.product .swatch-element > label,
  body.template-product .swatch-element > label{
    padding: 10px 10px !important;          /* menos “gordo” */
    border: 1px solid rgba(0,0,0,.12) !important;
    border-radius: 2px !important;
    background: #fff !important;

    font-size: 12px !important;
    font-weight: 500 !important;
    letter-spacing: 0.02em !important;
    line-height: 1.1 !important;

    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;

    box-shadow: none !important;
  }

  /* Hover/press (sutil) */
  body.product .swatch-element > label:hover,
  body.template-product .swatch-element > label:hover{
    border-color: rgba(0,0,0,.22) !important;
    background: rgba(0,0,0,.02) !important;
  }

  /* Seleccionado: “editorial”, no botón negro */
  body.product .swatch-element input[type="radio"]:checked + label,
  body.product .swatch-element input[type="radio"]:checked + .tooltip + label,
  body.template-product .swatch-element input[type="radio"]:checked + label,
  body.template-product .swatch-element input[type="radio"]:checked + .tooltip + label{
    border-color: rgba(0,0,0,.42) !important;
    background: rgba(255,253,250,.92) !important;
    box-shadow: inset 0 0 0 1px rgba(0,0,0,.28) !important;
  }

  /* Soldout: solo baja y “tacha” fino (sin cruz overlay) */
  body.product .swatch-element.soldout > label,
  body.template-product .swatch-element.soldout > label{
    opacity: .38 !important;
    cursor: not-allowed !important;
    text-decoration: line-through !important;
    text-decoration-thickness: 1px !important;
    text-decoration-color: rgba(0,0,0,.35) !important;
  }
  body.product .swatch-element.soldout .crossed-out,
  body.template-product .swatch-element.soldout .crossed-out{
    display: none !important;
  }
}

/* PDP mobile — evitar precio duplicado (dejar solo el del ATC-row) */
@media (max-width: 768px){
  body.product .modal_price .price-ui,
  body.template-product .modal_price .price-ui{
    display: none !important;
  }
}

/* PDP — compactar reviews para que no ocupen una fila completa */
.product__rating,
.product__reviews,
.spr-badge,
.jdgm-widget.jdgm-preview-badge,
.yotpo.bottomLine,
.loox-rating {
  display: inline-flex !important;
  align-items: center !important;
  white-space: nowrap !important;
}

/* Si el contenedor padre es block y fuerza salto, lo “suavizamos” */
.product__rating-wrapper,
.product__reviews-wrapper,
.product__title + .spr-badge,
.product__title + .jdgm-widget,
.product__title + .yotpo,
.product__title + .loox-rating {
  display: inline-flex !important;
  align-items: center !important;
  gap: 8px !important;
}

/* PDP — Revie inline premium (depende de .pdp-title-revie-row creado por JS) */

/* 1) Fila Título + Revie */
.pdp-title-revie-row{
  display: flex !important;
  align-items: baseline !important;
  justify-content: flex-start !important;
  gap: 10px !important;
  flex-wrap: nowrap !important; /* desktop: misma línea */
}

/* Mobile: permitir wrap por títulos largos */
@media (max-width: 768px){
  .pdp-title-revie-row{ flex-wrap: wrap !important; }
}

/* 2) Evitar que H1 y app-block se estiren */
.pdp-title-revie-row > h1.product_name{
  flex: 0 1 auto !important;
  width: auto !important;
  margin: 0 !important;
}

.pdp-title-revie-row > .shopify-app-block{
  flex: 0 0 auto !important;
  width: auto !important;
  max-width: none !important;
  margin: 0 !important;
  padding: 0 !important;
}

/* 3) Link Revie: compacto, sin subrayado, sin ancho raro */
.pdp-title-revie-row a.revie-aref{
  display: inline-flex !important;
  align-items: center !important;
  width: auto !important;
  margin: 0 !important;
  text-decoration: none !important;
}

/* 4) Layout interno de estrellas + (N) */
.pdp-title-revie-row a.revie-aref #rvst > div[title]{
  display: inline-flex !important;
  align-items: center !important;
  justify-content: flex-start !important;
  gap: 4px !important;      /* distancia estrellas ↔ (N) */
  width: auto !important;
}

/* 5) Estrellas (Revie usa i::before con "☆☆☆☆☆") */
.pdp-title-revie-row a.revie-aref #rvst i[data-star],
.pdp-title-revie-row a.revie-aref #rvst i[data-star]::before{
  font-size: 14px !important;
  line-height: 1 !important;
  letter-spacing: 0px !important; /* más premium/compacto */
  opacity: .85 !important;
  white-space: nowrap !important;
}

/* Evitar anchos fijos en el <i> que empujen el texto */
.pdp-title-revie-row a.revie-aref #rvst i[data-star]{
  display: inline-flex !important;
  width: auto !important;
  flex: 0 0 auto !important;
  margin: 0 !important;
  padding: 0 !important;
}

/* 6) Texto (ya viene como "(12)" por JS) */
.pdp-title-revie-row a.revie-aref #rvst span{
  font-size: 12px !important;
  line-height: 1 !important;
  opacity: .75 !important;
  white-space: nowrap !important;
  margin: 0 !important;
  padding: 0 !important;
}

/* IMPORTANT: no usar ::before/content acá (eso fue lo que generaba "()") */
.pdp-title-revie-row a.revie-aref #rvst span::before{
  content: none !important;
}



  /* =========================
     SPACING PREMIUM (C)
     ========================= */
  /* Swatches entre sí */
  .swatch {
    margin-bottom: 20px !important;
  }
  
  /* Cantidad → Añadir al carro (~12px) */
  .purchase-details__quantity {
    margin-bottom: 12px !important;
  }
  
  .quantity-wrapper,
  .product-quantity-box {
    margin-bottom: 12px !important;
  }
  
  
  /* =========================
     SWATCHES – PREMIUM (A)
     ========================= */
  .swatch .option_title {
    font-size: 11px !important;
    font-weight: 800 !important;
    color: #222 !important;
    letter-spacing: 1.1px !important;
    margin-bottom: 12px !important;
    text-transform: uppercase !important;
  }

  /* Grid layouts */
  .swatch[data-option-index="0"] {
    display: grid !important;
    grid-template-columns: repeat(2, 1fr) !important;
    gap: 12px !important;
  }
  
  .swatch[data-option-index="0"] .option_title {
    grid-column: 1 / -1 !important;
  }

  .swatch[data-option-index="1"] {
    display: grid !important;
    grid-template-columns: repeat(3, 1fr) !important;
    gap: 10px !important;
  }
  
  .swatch[data-option-index="1"] .option_title {
    grid-column: 1 / -1 !important;
  }

  /* Reset wrapper */
  .swatch-element {
    margin: 0 !important;
    padding: 0 !important;
    float: none !important;
    border: 0 !important;
    background: transparent !important;
    box-shadow: none !important;
    position: relative !important;
    border-radius: 4px !important;
    overflow: hidden !important;
  }
  
  .swatch-element:before,
  .swatch-element:after,
  .swatch-element::before,
  .swatch-element::after {
    content: none !important;
    display: none !important;
  }

  /* Radio oculto */
  .swatch-element input[type="radio"] {
    position: absolute !important;
    opacity: 0 !important;
    width: 1px !important;
    height: 1px !important;
  }

/* Label base — premium sobrio */
.swatch-element label {
  width: 100% !important;
  min-height: 44px !important;
  padding: 10px 12px !important;

  display: flex !important;
  align-items: center !important;
  justify-content: center !important;

  border: 1px solid #e6e6e6 !important;
  border-radius: 2px !important;
  box-sizing: border-box !important;

  overflow: hidden !important;
  background: transparent !important; /* el fondo lo define el bloque NO-color */

  color: #222 !important;
  font-weight: 650 !important;
  letter-spacing: 0.6px !important;
  text-transform: uppercase !important;

  /* Quitar "borde grueso falso" + look app */
  box-shadow: none !important;
  outline: 0 !important;

  /* Transiciones más sobrias */
  transition: border-color .18s ease, background-color .18s ease !important;
}


/* Solo NO-color fuerza fondo blanco */
.swatch-element:not(.color) label {
  background: #fff !important;
  background-image: none !important;
}

/* Color: respeta el inline style del label */
.swatch-element.color label {
  background-size: cover;
  background-position: center;
}


  /* Eliminar pseudos del label */
  .swatch-element label:before,
  .swatch-element label:after,
  .swatch-element label::before,
  .swatch-element label::after {
    content: none !important;
    display: none !important;
  }

  /* Hijos del label */
  .swatch-element label * {
    border: 0 !important;
    box-shadow: none !important;
    outline: 0 !important;
    background: transparent !important;
    background-image: none !important;
    border-radius: inherit !important;
  }

/* Option 1 más compacto */
.swatch[data-option-index="1"] .swatch-element label {
  min-height: 42px !important;
  padding: 9px 10px !important;
  font-size: 12px !important;
  letter-spacing: .5px !important;
}


/* Hover (mobile): sin elevación, solo borde sutil */
.swatch-element label:hover {
  transform: none !important;
  box-shadow: none !important;
  border-color: #dcdcdc !important;
}


/* Seleccionado — NO color: gris claro, borde fino */
.swatch-element:not(.color) input[type="radio"]:checked + label,
.swatch-element:not(.color) input[type="radio"]:checked ~ label {
  background-color:  #F2F2F2  !important; /* crema premium */
  color: #111 !important;
  transform: none !important;

  /* borde fino real, sin inset 2px */
  box-shadow: none !important;
  border-color: #bdbdbd !important;
}


/* Seleccionado — color: aro fino premium, sin sombras grandes */
.swatch-element.color input[type="radio"]:checked + label,
.swatch-element.color input[type="radio"]:checked ~ label {
  transform: none !important;
  box-shadow: none !important;
  border-color: #bdbdbd !important;
}



  /* Soldout/disabled */
  .swatch-element.soldout .crossed-out {
    display: none !important;
  }
  
/* Solo NO-color borra background-image en soldout */
.swatch-element.soldout:not(.color) label {
  background-image: none !important;
}


/* Disabled/soldout: NO uses `background:` porque borra background-image en .color */
.swatch-element input[type="radio"]:disabled + label,
.swatch-element input[type="radio"]:disabled ~ label,
.swatch-element.soldout:not(.color) label {
  background-color: #fafafa !important;
  color: #bdbdbd !important;
  opacity: .60 !important;
  cursor: not-allowed !important;
  transform: none !important;
  box-shadow: inset 0 0 0 1px #efefef !important;
}

/* Soldout color: mantiene el chip (background-image) y solo "deshabilita" visual */
.swatch-element.soldout.color label {
  opacity: .45 !important;
  filter: grayscale(1);
}




/* Focus accesible (sobrio) */
.swatch-element input[type="radio"]:focus-visible + label,
.swatch-element input[type="radio"]:focus-visible ~ label {
  box-shadow: none !important;
  border-color: rgba(0,0,0,.45) !important;
}


} /* fin @media mobile */



/* Header cart: remove orange background */
a.icon-cart.mini_cart.dropdown_link.active_link,
a.icon-cart.mini_cart.dropdown_link,
a.icon-cart.mini_cart {
  background: transparent !important;
  background-color: transparent !important;
}

a.icon-cart.mini_cart svg,
a.icon-cart.mini_cart .icon {
  fill: currentColor;
}

a.icon-cart.mini_cart {
  color: #fff; /* asumiendo header oscuro */
}

/* =========================================================
   TKT-006 — Sticky Bar PDP (premium, single source of truth)
   - NO duplicar estilos en footer.liquid
   - Objetivo: 1 línea "Tamaño + 28×30cm + chevron" + barra baja
   - Premium: card feel + jerarquía tipográfica (SIN subir radius a 6px)
========================================================= */

/* === Sticky base === */
.chagual-sticky-scoped #chagualBarSticky { display: none; }

@media (max-width: 767px) {

  /* CONTENEDOR */
  .chagual-sticky-scoped #chagualBarSticky{
    display:flex;
    flex-direction:column;
    position:fixed;
    bottom:0; left:0; width:100%;
    background:#fff;

    /* barra baja */
    padding:6px 14px calc(6px + env(safe-area-inset-bottom));
    gap:6px;

    /* card feel (premium, sutil) */
    border-top:1px solid rgba(0,0,0,.06);
    box-shadow:0 -10px 28px rgba(0,0,0,.10);

    z-index:999999;
    transform:translateY(100%);
    opacity:0;
    pointer-events:none;
    transition:transform .3s cubic-bezier(.4,0,.2,1), opacity .3s cubic-bezier(.4,0,.2,1);

    /* tokens por defecto (pueden ser sobreescritos por JS si lo usas) */
    --chagual-atc-bg: rgb(75, 109, 100);
    --chagual-atc-color: rgb(255, 255, 255);
    --chagual-atc-radius: 2px;          /* NO subir a 6px */
    --chagual-atc-font: Oswald, sans-serif;
    --chagual-atc-weight: 400;
    --chagual-atc-letter: 0.84px;
    --chagual-atc-transform: uppercase;
  }

  .chagual-sticky-scoped #chagualBarSticky.is-active{
    transform:translateY(0);
    opacity:1;
    pointer-events:auto;
  }

  /* FILA SUPERIOR: variant (izq) + price (der) */
  .chagual-sticky-scoped #chagualBarSticky .chagual-bar-info{
    display:flex;
    align-items:baseline; /* evita el “bloque izquierdo caído” */
    justify-content:space-between;
    gap:18px;
    min-width:0;
  }

  /* ===== VARIANT: 1 línea (label + value + chevron), meta abajo ===== */
  .chagual-sticky-scoped #chagualBarSticky .chagual-bar-variant{
    display:flex;
    flex-direction:row;
    flex-wrap:wrap; /* meta a 2da línea si existe */
    align-items:baseline;
    gap:6px;
    min-width:0;
    flex:1 1 auto;
    cursor:pointer;
  }

  /* "Tamaño" más sutil */
  .chagual-sticky-scoped #chagualBarSticky .chagual-bar-variant-label{
    flex:0 0 auto;
    font-size:10.5px;
    font-weight:600;
    color:rgba(0,0,0,.52);
    letter-spacing:.02em;
    line-height:1.1;
    white-space:nowrap;
    display:flex;
    align-items:baseline;
    gap:0;
  }

  /* Valor protagonista + chevron */
  .chagual-sticky-scoped #chagualBarSticky .chagual-bar-variant-value{
    display:flex;
    align-items:baseline;
    gap:6px;
    min-width:0;
    flex:1 1 auto;

    font-size:12.5px;
    font-weight:700;
    color:rgba(0,0,0,.82);
    line-height:1.1;
    white-space:nowrap;
  }

  .chagual-sticky-scoped #chagualBarSticky #chagualVariantSize{
    min-width:0;
    overflow:hidden;
    text-overflow:ellipsis;
    white-space:nowrap;
    font-variant-numeric:tabular-nums;
    color: rgba(0,0,0,.82);
  }

  .chagual-sticky-scoped #chagualBarSticky .chagual-bar-chevron{
    flex:0 0 auto;
    opacity:.45;
    transform:translateY(-0.5px);
  }

  /* Meta (si lo ocupas) a 2da línea */
  .chagual-sticky-scoped #chagualBarSticky #chagualBarMeta{
    flex:1 0 100%;
    margin-top:2px;
    font-size:11px;
    color:rgba(0,0,0,.55);
    line-height:1.2;
    white-space:nowrap;
    overflow:hidden;
    text-overflow:ellipsis;
  }

  /* PRECIO */
  .chagual-sticky-scoped #chagualBarSticky .chagual-bar-price{
    display:flex;
    align-items:baseline;
    justify-content:flex-end;
    gap:10px;
    flex:0 0 auto;
    white-space:nowrap;
    font-variant-numeric:tabular-nums;
  }

  .chagual-sticky-scoped #chagualBarSticky #chagualPriceDisplay{
    font-size:18px;
    color: rgba(0,0,0,.86);
    font-weight:800;
    line-height:1.1;
  }

  .chagual-sticky-scoped #chagualBarSticky #chagualCompareDisplay{
    font-size:12px;
    line-height:1.1;
    color:#8a8a8a;
    text-decoration:line-through 1px;
    white-space:nowrap;
  }

  /* ACCIONES */
  .chagual-sticky-scoped #chagualBarSticky .chagual-bar-actions{
    display:flex;
    align-items:stretch;
    gap:10px;
    margin-top:6px; /* aire sin subir barra */
  }

/* Base botón CTA (WA removido del sticky) */
.chagual-sticky-scoped #chagualBarSticky .chagual-bar-btn{
  min-height:34px;
  padding:0 12px;
  border-radius:var(--chagual-atc-radius, 2px);
  font-family:var(--chagual-atc-font, inherit);
  font-size:11px;
  white-space:nowrap;
}




  /* CTA primario */
  .chagual-sticky-scoped #chagualBarSticky .chagual-bar-btn{
    display:inline-flex;
    align-items:center;
    justify-content:center;
    background:var(--chagual-atc-bg, #111);
    color:var(--chagual-atc-color, #fff) !important;
    border:none;
    cursor:pointer;
    flex:1 1 0%;
    min-width:0;
    font-weight:var(--chagual-atc-weight, 700);
    letter-spacing:var(--chagual-atc-letter, .03em);
    text-transform:var(--chagual-atc-transform, uppercase);
    text-decoration:none !important;
  }

  .chagual-sticky-scoped #chagualBarSticky .chagual-bar-btn .cta-short,
  .chagual-sticky-scoped #chagualBarSticky .chagual-bar-btn.is-short .cta-long{
    display:none;
  }
}

/* XS tweaks */
@media (max-width: 360px) {
  .chagual-sticky-scoped #chagualBarSticky .chagual-bar-btn{
    font-size:11px;
  }
}

/* =========================================================
   HEADER — Carrito (consolidado, minimal)
   Objetivo:
   - Ícono blanco sin fondo (toma el fondo del header)
   - Cantidad inline al lado (sin círculo/badge)
   - Alineación vertical consistente (desktop + mobile)
========================================================= */

/* Variables */
:root{
  --chagual-cart-fg: rgba(255,255,255,.92);
  --chagual-cart-gap: 6px;
  --chagual-cart-count-size: 12px;

  /* Micro-ajuste vertical (default / mobile) */
  --chagual-cart-y: 0px;
}

/* Micro-ajuste SOLO desktop (si lo necesitas) */
@media (min-width: 768px){
  :root{ --chagual-cart-y: 0px; } /* si lo ves levantado prueba -1px o 1px */
}

/* Link del carrito: inline-flex para centrar icono + número */
a.icon-cart.mini_cart.dropdown_link{
  background: transparent !important;
  border: 0 !important;
  border-radius: 0 !important;
  padding: 0 !important;
  box-shadow: none !important;

  display: inline-flex !important;
  align-items: center !important;
  gap: var(--chagual-cart-gap) !important;

  color: var(--chagual-cart-fg) !important;
  line-height: 1 !important;

  transform: translateY(var(--chagual-cart-y)) !important;
  text-decoration: none !important;
}

/* SVG del carrito: hereda color del link */
a.icon-cart.mini_cart.dropdown_link svg{
  display: block !important;           /* evita baseline “saltón” */
  fill: currentColor !important;
  color: currentColor !important;
  transform: none !important;
}

/* Contador: inline, sin burbuja, sin positioning raro */
a.icon-cart.mini_cart.dropdown_link .cart_count{
  position: static !important;
  top: auto !important;
  right: auto !important;
  left: auto !important;
  bottom: auto !important;

  background: transparent !important;
  border: 0 !important;
  border-radius: 0 !important;
  box-shadow: none !important;

  padding: 0 !important;
  margin: 0 !important;

  min-width: 0 !important;
  height: auto !important;

  display: inline-block !important;
  color: var(--chagual-cart-fg) !important;

  font-size: var(--chagual-cart-count-size) !important;
  font-weight: 700 !important;
  line-height: 1 !important;
  font-variant-numeric: tabular-nums !important;

  transform: none !important;          /* mata el “+1px” que viste */
}

/* Hover/focus sutil, sin mover layout */
a.icon-cart.mini_cart.dropdown_link:hover,
a.icon-cart.mini_cart.dropdown_link:focus{
  color: rgba(255,255,255,.78) !important;
}

/* (Opcional) Si tu top-bar es flex, esto ayuda a alinear todo */
@media (min-width: 768px){
  .top-bar{ align-items: center !important; }
}


/* =========================================================
   Chagual — WhatsApp Tab (single source of truth)
   - Izquierda, centrada (premium)
   - Hairline carbón, sin sombra pesada, sin ícono
   - Anti-misclick via JS (clase en <html>)
========================================================= */

:root{
  --chagual-wa-z: 1000000;
  --chagual-wa-inset: 0px;     /* separa del borde para no molestar gesto “Back” iOS */
  --chagual-wa-radius: 2px;
  --chagual-wa-charcoal: #111;
  --chagual-wa-border: rgba(17,17,17,.28);
  --chagual-wa-bg: rgba(255,255,255,.72); /* premium: “glass” leve */
}

/* contenedor clickeable (hit area razonable) */
#chagualWaTab.chagual-wa-tab{
  position: fixed;
  left: var(--chagual-wa-inset);
  top: 50%;
  transform: translateY(-50%);
  z-index: var(--chagual-wa-z);

  display: inline-flex;
  align-items: center;
  justify-content: center;

  /* hit area */
  padding: 10px 10px 10px 0; 
  text-decoration: none;
  -webkit-tap-highlight-color: transparent;
  touch-action: manipulation;
}

/* look visible (hairline) */
#chagualWaTab .chagual-wa-tab__label{
  display: inline-flex;
  align-items: center;
  justify-content: center;
  background: rgba(232,232,232,.92);
  
  border: 1px solid rgba(0,0,0,.22);
  border-radius: 0 2px 2px 0;
  padding: 10px 6px;
  color: #111;
  font-weight: 700;
  font-size: 11px;
  letter-spacing: .09em;
  text-transform: uppercase;

  /* texto vertical, leyendo “normal” (de abajo hacia arriba) */
  writing-mode: vertical-rl;
  transform: rotate(180deg);

  /* sutilidad premium */
  box-shadow: 0 3px 10px rgba(0,0,0,.08);
  backdrop-filter: none;   
}

/* foco accesible */
#chagualWaTab:focus-visible{
  outline: 3px solid rgba(17,17,17,.35);
  outline-offset: 3px;
}

/* hover desktop: sutil */
@media (hover:hover){
  #chagualWaTab:hover .chagual-wa-tab__label{
    border-color: rgba(0,0,0,.24);
    box-shadow: 0 6px 14px rgba(0,0,0,.10);
    background: rgba(222,222,222,.94); /* micro “press” */
  }
}

/* Anti-misclick: durante scroll se vuelve no-cliqueable */
html.chagual-wa-scrolling #chagualWaTab{
  pointer-events: none;
}

:root{
  --chagual-wa-top: 35%;           /* antes 50% (más arriba) */
  --chagual-wa-label-height: 128px;/* “largo” real de la pestaña */
  --chagual-wa-thickness: 26px; /* prueba 24–30px */
}

#chagualWaTab.chagual-wa-tab{
  top: var(--chagual-wa-top);
  transform: translateY(-50%);
}

#chagualWaTab .chagual-wa-tab__label{
  height: var(--chagual-wa-label-height); /* esto sí se nota (padding a veces no) */
  padding: 0 6px;                         /* padding lateral, sin alterar el alto */
  width: var(--chagual-wa-thickness);
padding: 0;                 /* quita padding que ensancha */
display: flex;
align-items: center;
justify-content: center;
}