/** Shopify CDN: Minification failed

Line 1509:0 Unexpected "}"

**/
/* =========================================
   Celest • Mobile PDP — FIX set
   - Botones talla/guía 70/30 ancho total y 30% más delgados
   - Estilos con mayor especificidad / !important para vencer al tema
   ========================================= */


#celest-mobile-pdp{ font-family: inherit; }
.celestPdp{ position: relative; padding-bottom: 24px; }
.celestPdp__sentinel{ position:absolute; top:0; height:56px; width:1px; }


/* Header transparente / sólido */
header.celest-header--transparent{
  background: transparent !important;
  box-shadow: none !important;
  transition: background-color .28s ease, box-shadow .28s ease;
}
header.celest-header--solid{
  transition: background-color .28s ease, box-shadow .28s ease;
}


/* ===== Galería ===== */
.celestPdp__gallery{ position: relative; background:#fff; }
.celestPdp__slides{
  display: flex;
  overflow-x: auto;
  -webkit-overflow-scrolling: touch;
  scroll-snap-type: x mandatory;
  scroll-behavior: smooth;
  gap: 0;
}
.celestPdp__slides::-webkit-scrollbar{ display:none; }
.celestPdp__slides{ -ms-overflow-style: none; scrollbar-width: none; }
.celestPdp__slide{
  flex: 0 0 100%;
  scroll-snap-align: center;
  position: relative;
  background:#f7f7f7;
  display:flex; align-items:center; justify-content:center;
}
.celestPdp__slide img,
.celestPdp__slide video{ width:100%; height:auto; display:block; }


/* Barra Gucci */
.celestPdp__progress{
  position: absolute; left:0; right:0; bottom: 6px;
  padding: 0 16px; display:flex; align-items:center; gap:8px;
  pointer-events: none;
}
.celestPdp__progressTrack{
  position:absolute; left:16px; right:16px; bottom:0;
  height:2px; background:#e6e6e6; border-radius:2px;
}
.celestPdp__progressBar{
  position:absolute; left:16px; bottom:0;
  height:2px; background:#111; border-radius:2px;
  width:16%; transition: width .22s ease;
}
.celestPdp__counter{ margin-left:auto; font-size:12px; color:#333; }


/* ===== Info ===== */
.celestPdp__info{ padding:16px; }
.celestPdp__title{ font-size:22px; line-height:1.2; margin:4px 0 8px; }
.celestPdp__price{ font-size:18px; margin-bottom:12px; display:flex; gap:8px; align-items:baseline; }
.celestPdp__price .compare{ color:#888; }
.price--sale{ color:#c40000; font-weight:700; }


/* Swatches */
.celestPdp__option{ margin:10px 0; }
.celestPdp__optionLabel{ font-size:14px; margin-bottom:8px; }
.celestPdp__swatches{ display:flex; gap:10px; flex-wrap:wrap; }
.celestPdp__swatch{
  width:54px; height:54px; border-radius:12px; overflow:hidden;
  border:1px solid #d9d9d9; padding:0; background:#fff; position:relative;
  cursor: pointer;
}
.celestPdp__swatch img{ width:100%; height:100%; object-fit:cover; }
.celestPdp__swatch.is-active{ outline:2px solid #111; }


/* ===== Selector de talla ===== */
.celestPdp__sizeWrap{ position: relative; }


/* 70/30 de ancho total */
.celestPdp__sizeRow{
  display:grid; grid-template-columns:7fr 3fr; gap:10px; margin:8px 0 2px;
}


/* ——— Botones más DELGADOS (30% menos alto) y ancho total como el CTA ——— */
.celestPdp__sizeBtn,
.celestPdp__guideBtn{
  width:100% !important;
  border-radius:12px !important;
  font-size:14px !important;
  line-height:1.1 !important;
  padding:8px 12px !important;       /* ↓ más delgado */
  min-height:42px !important;        /* control visual consistente */
  display:inline-flex !important;
  align-items:center !important;
  justify-content:center !important;
  transition: background-color .2s ease, color .2s ease, border-color .2s ease !important;
}
.celestPdp__sizeBtn{
  background:#fff !important; border:1px solid #111 !important; color:#111 !important;
}
.celestPdp__sizeBtn.is-open,
.celestPdp__sizeBtn.has-selection{
  background:#111 !important; color:#fff !important; border-color:#111 !important;
}
.celestPdp__guideBtn{
  background:#111 !important; color:#fff !important; border:1px solid #111 !important;
}


/* Popover / Sheet de tallas */
.celestPdp__sizeSheet{ will-change: transform, opacity; }
.celestPdp__sheetHead{
  display:flex; justify-content:space-between; align-items:center;
  margin-bottom:8px; font-weight:600;
}
.celestPdp__closeSheet{
  border:none; background:#111; color:#fff; border-radius:50%; width:32px; height:32px; font-size:18px; line-height:1;
}
.celestPdp__sizes{ display:flex; flex-wrap:wrap; gap:10px; }
.celestPdp__size{
  min-width:58px; padding:10px 12px; border:1px solid #d9d9d9;
  border-radius:12px; background:#fff; font-size:14px; cursor:pointer;
  transition: background-color .2s ease, color .2s ease, border-color .2s ease;
}
.celestPdp__size.is-disabled{ opacity:.35; text-decoration:line-through; cursor:not-allowed; }
.celestPdp__size.is-active{ background:#111; color:#fff; border-color:#111; }


/* CTA */
.celestPdp__cta{ margin-top:14px; }
.celestPdp__addBtn{
  width:100%; border:none; border-radius:12px; padding:14px 16px;
  font-size:16px; font-weight:600; background:#111; color:#fff;
  opacity:.45; transition:opacity .2s ease, transform .06s ease;
}
.celestPdp__addBtn[disabled]{ pointer-events:none; }
.celestPdp__addBtn.is-ready{ opacity:1; }
.celestPdp__addBtn:active{ transform:scale(.995); }


/* Modales base */
.celestModal[hidden]{ display:none; }
.celestModal{ position:fixed; inset:0; background:rgba(0,0,0,.45); z-index:9998; }


/* Guía */
.celestPdp__guideBody{
  background:#fff; border-top-left-radius:16px; border-top-right-radius:16px;
  position:fixed; left:0; right:0; bottom:0; padding:16px;
  max-height:85vh; overflow:auto;
  box-shadow:0 -22px 40px rgba(0,0,0,.28);
  transform: translateY(12px); opacity:0; transition: transform .18s ease, opacity .18s ease;
}
.celestPdp__guideBody.is-open{ transform: translateY(0); opacity:1; }
.celestPdp__guideClose{
  position:absolute; right:12px; top:12px;
  background:#111; color:#fff; border:none; border-radius:50%;
  width:32px; height:32px;
}


/* Mini-cart */
.celestPdp__cartBody{
  background:#fff; border-top-left-radius:16px; border-top-right-radius:16px;
  position:fixed; left:0; right:0; bottom:0; padding:16px;
  max-height:85vh; overflow:auto;
  box-shadow:0 -22px 40px rgba(0,0,0,.28);
  transform: translateY(-12px); opacity:0; transition: transform .28s ease, opacity .28s ease;
}
.celestPdp__cartBody.is-open{ transform: translateY(0); opacity:1; }
.celestPdp__cartClose{
  position:absolute; right:12px; top:12px;
  background:#111; color:#fff; border:none; border-radius:50%;
  width:34px; height:34px;
}
.celestPdp__cartTitle{ font-size:18px; margin-bottom:12px; padding-right:40px; }
.celestPdp__cartItems{ display:grid; gap:12px; margin-bottom:10px; }
.celestPdp__cartItem{ display:grid; grid-template-columns:72px 1fr auto; gap:10px; align-items:center; }
.celestPdp__cartItem img{ width:72px; height:72px; object-fit:cover; border-radius:10px; background:#f7f7f7; }
.celestPdp__cartSubtotal{ display:flex; justify-content:space-between; font-weight:600; padding:10px 0; }


/* Envío gratis + ETA */
.celestPdp__shipBox{ padding:8px 0 14px; }
.celestPdp__shipText{ font-size:13px; margin-bottom:6px; }
.celestPdp__shipProgress{ position:relative; height:6px; background:#eee; border-radius:999px; overflow:hidden; }
.celestPdp__shipProgress span{ position:absolute; left:0; top:0; bottom:0; width:0%; background:#111; }
.celestPdp__eta{ display:flex; align-items:center; gap:8px; font-size:13px; margin-top:6px; }
.celestPdp__etaIcon{ color:#111; }
.celestPdp__eta b{ font-weight:700; }


/* Acordeones + botón personalizado */
.celestPdp__blocks{ margin:12px 0 4px; border-top:1px solid #eee; }
.celestAcc{ border-bottom:1px solid #eee; }
.celestAcc > summary{
  display:flex; align-items:center; gap:10px; justify-content:space-between;
  list-style:none; cursor:pointer; padding:14px 0;
}
.celestAcc > summary::-webkit-details-marker{ display:none; }
.accIcon{ width:20px; height:20px; object-fit:contain; }
.accTitle{ font-weight:600; }
.accPlus{ margin-left:auto; transition:transform .2s ease; }
.celestAcc[open] .accPlus{ transform: rotate(45deg); }
.accBody{ padding:0 0 12px; color:#444; font-size:14px; }


.celestBtnBlockWrap{ margin:10px 0 6px; }
.celestBtnBlock{
  display:inline-block; padding:12px 16px; border-radius:var(--cb-rad,12px);
  background:var(--cb-bg,#111); color:var(--cb-fg,#fff); font-weight:600;
}


/* ===== Desktop ===== */
@media (min-width: 990px){
  #celest-mobile-pdp.celest-hide-desktop{ display:none; }


  .celestPdp{
    max-width: 1200px; margin: 0 auto; padding: 24px 24px 40px;
    display:grid; grid-template-columns: 1.1fr .9fr; gap: 40px;
  }


  .celestPdp__slides{ display:block; overflow:visible; }
  .celestPdp__slide{ flex:auto; margin-bottom:16px; }
  .celestPdp__progress{ display:none; }
  .celestPdp__gallery{ position:relative; }


  .celestPdp__info{ position: sticky; top: 96px; align-self: start; }


  .celestModal{ background:transparent; }
  .celestPdp__guideBody{
    left:auto; right:24px; bottom:auto; top:100px; width:420px;
    border-radius:12px; padding:16px; box-shadow:0 10px 40px rgba(0,0,0,.18);
    transform: translateY(-10px); opacity:0; transition: transform .22s ease, opacity .22s ease;
  }
  .celestPdp__guideBody.is-open{ transform: translateY(0); opacity:1; }


  .celestPdp__cartBody{
    left:auto; right:24px; bottom:auto; top:100px; width:420px;
    max-height:70vh; border-radius:12px; box-shadow:0 10px 40px rgba(0,0,0,.18);
  }


  .celestPdp__sizeSheet{
    position:absolute; left:0; top: calc(100% + 8px); width: min(420px, 100%);
    background:#fff; border:1px solid #eee; border-radius:12px; padding:14px 16px;
    box-shadow:0 10px 40px rgba(0,0,0,.18);
    transform: translateY(-10px); opacity:0; transition: transform .20s ease, opacity .20s ease;
    z-index: 100000;
  }
  .celestPdp__sizeSheet.is-open{ transform: translateY(0); opacity:1; }
}


/* ===== Móvil ===== */
@media (max-width: 989px){
  .celestPdp__sizeRow{
    display:grid; grid-template-columns:7fr 3fr; gap:10px; margin:8px 0 2px;
  }
}
/* Asegura gesto de arrastre horizontal en móviles */
/* Permite arrastrar lateral para fotos y vertical para hacer scroll de la página */
.celestPdp__slides{
  touch-action: pan-x pan-y !important;  /* antes era solo pan-x */
  -ms-touch-action: pan-x pan-y !important;
  pointer-events: auto;
}
/* ---------- Mini-cart Celest (tipo Prada) ---------- */
.celestPdp__cartModal{
  position:fixed; inset:0; background:rgba(0,0,0,.45); z-index:9999;
  display:block;
}
.celestPdp__cartModal[hidden]{ display:none; }
.celestPdp__cartBody{
  position:fixed; left:0; right:0; bottom:-100%; background:#fff; border-radius:16px 16px 0 0;
  padding:16px; max-height:82vh; overflow:auto; box-shadow:0 -10px 30px rgba(0,0,0,.25);
  transition:transform .28s ease, bottom .28s ease;
}
.celestPdp__cartBody.is-open{ bottom:0; }
@media (min-width:990px){
  .celestPdp__cartBody{ right:24px; left:auto; width:420px; border-radius:16px; bottom:auto; top:24px; }
}


.celestPdp__cartTitle{ font-size:20px; font-weight:700; margin:4px 0 12px; }
.celestPdp__cartClose{
  position:absolute; top:8px; right:8px; width:32px; height:32px; border-radius:999px; background:#000; border:0;
  display:grid; place-items:center; cursor:pointer;
}
.celestPdp__cartClose .celestPdp__x{
  width:14px; height:14px; position:relative; display:block;
}
.celestPdp__cartClose .celestPdp__x:before,
.celestPdp__cartClose .celestPdp__x:after{
  content:""; position:absolute; left:6px; top:0; width:2px; height:14px; background:#fff; border-radius:1px;
}
.celestPdp__cartClose .celestPdp__x:before{ transform:rotate(45deg); }
.celestPdp__cartClose .celestPdp__x:after{ transform:rotate(-45deg); }


.celestPdp__cartItem{ display:grid; grid-template-columns:72px 1fr auto; gap:12px; align-items:center; padding:10px 0; }
.celestPdp__cartItem + .celestPdp__cartItem{ border-top:1px solid #eee; }
.celestPdp__cartItem img{ width:72px; height:72px; object-fit:cover; border-radius:12px; }
.celestPdp__imgPh{ width:72px; height:72px; background:#eee; border-radius:12px; }
.celestPdp__title{ font-weight:600; }
.celestPdp__opts{ font-size:12px; color:#555; margin-top:2px; }
.celestPdp__price{ font-weight:600; }


.celestPdp__shipBox{ margin:10px 0 16px; }
.celestPdp__shipText{ font-size:13px; margin-bottom:6px; }
.celestPdp__shipTrack{ position:relative; height:4px; background:#e6e6e6; border-radius:999px; overflow:hidden; }
.celestPdp__shipTrack .js-shipBar{ height:100%; width:0%; background:#111; transition:width .25s ease; }


.celestPdp__eta{ margin-top:8px; font-size:13px; color:#333; }


.celestPdp__subtotal{ display:flex; justify-content:space-between; align-items:center; font-weight:600; padding:10px 0; border-top:1px solid #eee; }
.celestPdp__btn{ display:block; width:100%; text-align:center; padding:14px 16px; border-radius:999px; background:#000; color:#fff; font-weight:700; margin-top:10px; }
.celestPdp__btn--ghost{ background:#fff; color:#000; border:1px solid #000; }
.celestPdp__continue{ display:block; width:100%; margin:12px 0 4px; padding:12px; border-radius:12px; background:#f4f4f4; border:0; }


/* --- Mini-cart: tipografías más compactas --- */
.celestPdp__cartTitle{ font-size:18px; font-weight:700; margin:6px 0 10px; }
.celestPdp__cartItem{ display:grid; grid-template-columns:64px 1fr auto; gap:10px; align-items:center; padding:8px 0; }
.celestPdp__cartItem + .celestPdp__cartItem{ border-top:1px solid #efefef; }
.celestPdp__cartItem img{ width:64px; height:64px; object-fit:cover; border-radius:10px; }
.celestPdp__imgPh{ width:64px; height:64px; background:#eee; border-radius:10px; }
.celestPdp__title{ font-size:13px; line-height:1.25; font-weight:600; }
.celestPdp__opts{ font-size:12px; color:#555; margin-top:2px; }
.celestPdp__price{ font-size:13px; font-weight:700; white-space:nowrap; }


/* Botones: solo 2 (checkout negro arriba, seguir comprando blanco) */
.celestPdp__btn{ display:block; width:100%; text-align:center; padding:13px 16px; border-radius:999px; font-weight:700; margin-top:10px; }
.celestPdp__btn{ background:#000; color:#fff; border:1px solid #000; }
.celestPdp__btn--ghost{ background:#fff; color:#000; border:1px solid #000; }


/* Envío gratis + ETA */
.celestPdp__shipBox{ margin:8px 0 14px; }
.celestPdp__shipText{ font-size:13px; margin-bottom:6px; }
.celestPdp__shipTrack{ height:4px; background:#e8e8e8; border-radius:999px; overflow:hidden; }
.celestPdp__shipTrack .js-shipBar{ height:100%; width:0%; background:#111; transition:width .25s ease; }


/* Solo icono "a color" (emoji). Si el tema agrega un pseudoelemento, lo ocultamos */
.celestPdp__eta{ margin-top:8px; font-size:13px; color:#333; position:relative; }
.celestPdp__eta:before{ display:none !important; }


/* Pop-up base (ya lo tenías). Mantengo la ✕ blanca sobre fondo negro */
.celestPdp__cartModal{
  position:fixed; inset:0; background:rgba(0,0,0,.45); z-index:9999; display:block;
}
.celestPdp__cartModal[hidden]{ display:none; }
.celestPdp__cartBody{
  position:fixed; left:0; right:0; bottom:-100%; background:#fff; border-radius:16px 16px 0 0;
  padding:16px; max-height:82vh; overflow:auto; box-shadow:0 -10px 30px rgba(0,0,0,.25);
  transition:transform .28s ease, bottom .28s ease;
}
.celestPdp__cartBody.is-open{ bottom:0; }
@media (min-width:990px){
  .celestPdp__cartBody{ right:24px; left:auto; width:420px; border-radius:16px; bottom:auto; top:24px; }
}
.celestPdp__cartClose{
  position:absolute; top:8px; right:8px; width:32px; height:32px; border-radius:999px; background:#000; border:0;
  display:grid; place-items:center; cursor:pointer;
}
.celestPdp__cartClose .celestPdp__x{ width:14px; height:14px; position:relative; display:block; }
.celestPdp__cartClose .celestPdp__x:before,
.celestPdp__cartClose .celestPdp__x:after{
  content:""; position:absolute; left:6px; top:0; width:2px; height:14px; background:#fff; border-radius:1px;
}
.celestPdp__cartClose .celestPdp__x:before{ transform:rotate(45deg); }
.celestPdp__cartClose .celestPdp__x:after{ transform:rotate(-45deg); }


.celestPdp__subtotal{ display:flex; justify-content:space-between; align-items:center; font-weight:700; padding:10px 0; border-top:1px solid #efefef; }
/* Qty selector (±) */
.celestPdp__qty{ display:flex; align-items:center; gap:8px; margin:10px 0 8px; }
.celestPdp__qty .qty__minus,
.celestPdp__qty .qty__plus{
  width:40px; height:40px; border-radius:10px; border:1px solid #000; background:#fff; font-size:22px; line-height:1; font-weight:700;
}
.celestPdp__qty .qty__input{
  width:68px; height:40px; text-align:center; border:1px solid #ddd; border-radius:10px; font-weight:600;
}


/* Pop-up LV: tipografías compactas + 2 botones (negro y blanco) */
.celestPdp__cartItem{ display:grid; grid-template-columns:64px 1fr auto; gap:10px; align-items:center; padding:8px 0; }
.celestPdp__cartItem + .celestPdp__cartItem{ border-top:1px solid #efefef; }
.celestPdp__cartItem img{ width:64px; height:64px; object-fit:cover; border-radius:10px; }
.celestPdp__imgPh{ width:64px; height:64px; background:#eee; border-radius:10px; }
.celestPdp__title{ font-size:13px; line-height:1.25; font-weight:600; }
.celestPdp__opts{ font-size:12px; color:#555; margin-top:2px; }
.celestPdp__price{ font-size:13px; font-weight:700; white-space:nowrap; }


.celestPdp__btn{ display:block; width:100%; text-align:center; padding:13px 16px; border-radius:999px; font-weight:700; margin-top:10px; }
.celestPdp__btn{ background:#000; color:#fff; border:1px solid #000; }        /* Ver su cesta */
.celestPdp__btn--ghost{ background:#fff; color:#000; border:1px solid #000; } /* Continuar Comprando */


/* ETA: quitar icono negro del tema, dejar solo emoji a color */
.celestPdp__eta:before,
.celestPdp__eta svg,
.celestPdp__eta [class*="icon"]{ display:none !important; }
/* 1) Oculta cualquier qty en la PDP (si quedó de versiones anteriores) */
#celest-mobile-pdp .celestPdp__qty{ display:none !important; }


/* 2) Título de producto en la PDP 30% más grande (no afecta pop-up) */
#celest-mobile-pdp h1.product__title,
#celest-mobile-pdp .celestPdp__name{
  font-size: 1.3em;               /* +30% respecto al tamaño actual */
  line-height: 1.15;
}


/* 3) Qty dentro del pop-up */
.celestPdp__side{ display:flex; flex-direction:column; align-items:flex-end; gap:6px; }
.celestPdp__qtyMini{ display:inline-flex; align-items:center; gap:10px; }
.celestPdp__qtyMini .qMinus,
.celestPdp__qtyMini .qPlus{
  width:28px; height:28px; border-radius:8px; border:1px solid #000; background:#fff; font-size:18px; line-height:1; font-weight:700;
}
.celestPdp__qtyMini .qVal{ min-width:16px; text-align:center; font-weight:700; }


/* 4) Pop-up LV: dos botones (negro / blanco borde negro) */
.celestPdp__btn{ display:block; width:100%; text-align:center; padding:13px 16px; border-radius:999px; font-weight:700; margin-top:10px; }
.celestPdp__btn{ background:#000; color:#fff; border:1px solid #000; }        /* Finalizar la compra */
.celestPdp__btn--ghost{ background:#fff; color:#000; border:1px solid #000; } /* Seguir comprando */


/* 5) ETA: elimina icono negro heredado, queda el emoji a color */
.celestPdp__eta:before,
.celestPdp__eta svg,
.celestPdp__eta [class*="icon"]{ display:none !important; }
/* === Título PDP 30% más grande (no afecta al pop-up) === */
main h1.product__title,
main .product__title,
main .ProductMeta__Title,
main .product-single__title {
  font-size: 1.3em !important;      /* +30% */
  line-height: 1.15;
}


/* === Mini-cart LV === */
.celestPdp__cartModal{position:fixed;inset:0;display:flex;align-items:flex-end;background:rgba(0,0,0,.5);z-index:9999;}
.celestPdp__cartModal[hidden]{display:none;}
.celestPdp__cartBody{width:100%;max-height:80vh;background:#fff;border-radius:18px 18px 0 0;padding:16px 16px 20px;transform:translateY(16px);opacity:.0;transition:transform .25s ease,opacity .25s ease;}
.celestPdp__cartBody.is-open{transform:translateY(0);opacity:1;}
.celestPdp__cartClose{position:absolute;right:14px;top:12px;width:34px;height:34px;border-radius:999px;background:#000;border:none;}
.celestPdp__cartClose .celestPdp__x{position:relative;display:block;width:100%;height:100%;}
.celestPdp__cartClose .celestPdp__x:before,
.celestPdp__cartClose .celestPdp__x:after{content:"";position:absolute;left:8px;right:8px;top:16px;height:2px;background:#fff;transform:rotate(45deg);}
.celestPdp__cartClose .celestPdp__x:after{transform:rotate(-45deg);}
.celestPdp__cartTitle{font-weight:800;font-size:18px;margin:4px 40px 10px 0;}
.celestPdp__cartItems{max-height:38vh;overflow:auto;}
.celestPdp__cartItem{display:grid;grid-template-columns:64px 1fr auto;gap:10px;align-items:center;padding:8px 0;border-top:1px solid #efefef;}
.celestPdp__cartItem:first-child{border-top:0}
.celestPdp__cartItem img{width:64px;height:64px;object-fit:cover;border-radius:10px;}
.celestPdp__title{font-size:13px;line-height:1.25;font-weight:600;}
.celestPdp__opts{font-size:12px;color:#555;margin-top:2px;}
.celestPdp__side{display:flex;flex-direction:column;align-items:flex-end;gap:6px;}
.celestPdp__price{font-size:13px;font-weight:700;white-space:nowrap;}
.celestPdp__subtotal{display:flex;justify-content:space-between;align-items:center;margin-top:12px;font-weight:700;}
.celestPdp__shipTrack{height:6px;background:#eee;border-radius:999px;margin:6px 0;}
.celestPdp__shipTrack .js-shipBar{height:100%;width:2%;border-radius:999px;background:#000;transition:width .25s ease;}
.celestPdp__eta:before,
.celestPdp__eta svg,
.celestPdp__eta [class*="icon"]{display:none !important;} /* dejamos solo el emoji a color */


/* Botones estilo LV */
.celestPdp__btn{display:block;width:100%;text-align:center;padding:13px 16px;border-radius:999px;font-weight:700;margin-top:10px;background:#000;color:#fff;border:1px solid #000;}
.celestPdp__btn--ghost{background:#fff;color:#000;border:1px solid #000;}


/* Ocultar cualquier qty que hubiese quedado en la PDP */
#MainContent .celestPdp__qty{display:none !important;}
/* TÍTULO PDP +30% (no afecta dentro del pop-up propio) */
main h1.product__title,
main .product__title,
main .ProductMeta__Title,
main .product-single__title {
  font-size: 1.3em !important;
  line-height: 1.15;
}


/* Barra/contador si tiene que auto-inyectarse */
.celestPdp__progressWrap{display:flex;align-items:center;gap:10px;margin:8px 0 14px;}
.celestPdp__progressWrap .celestPdp__progressBar{height:3px;background:#000;border-radius:999px;flex:1 1 auto;transition:width .25s ease;width:8%;}
.celestPdp__progressWrap .celestPdp__counter{font-size:12px;color:#333;}


/* Mini-cart LV */
.celestPdp__cartModal{position:fixed;inset:0;display:flex;align-items:flex-end;background:rgba(0,0,0,.5);z-index:9999;}
.celestPdp__cartModal[hidden]{display:none;}
.celestPdp__cartBody{width:100%;max-height:80vh;background:#fff;border-radius:18px 18px 0 0;padding:16px 16px 20px;transform:translateY(16px);opacity:.0;transition:transform .25s ease,opacity .25s ease;}
.celestPdp__cartBody.is-open{transform:translateY(0);opacity:1;}
.celestPdp__cartClose{position:absolute;right:14px;top:12px;width:34px;height:34px;border-radius:999px;background:#000;border:none;}
.celestPdp__cartClose .celestPdp__x{position:relative;display:block;width:100%;height:100%;}
.celestPdp__cartClose .celestPdp__x:before,
.celestPdp__cartClose .celestPdp__x:after{content:"";position:absolute;left:8px;right:8px;top:16px;height:2px;background:#fff;transform:rotate(45deg);}
.celestPdp__cartClose .celestPdp__x:after{transform:rotate(-45deg);}
.celestPdp__cartTitle{font-weight:800;font-size:18px;margin:4px 40px 10px 0;}
.celestPdp__cartItems{max-height:38vh;overflow:auto;}
.celestPdp__cartItem{display:grid;grid-template-columns:64px 1fr auto;gap:10px;align-items:center;padding:8px 0;border-top:1px solid #efefef;}
.celestPdp__cartItem:first-child{border-top:0}
.celestPdp__cartItem img{width:64px;height:64px;object-fit:cover;border-radius:10px;}
.celestPdp__title{font-size:13px;line-height:1.25;font-weight:600;}
.celestPdp__opts{font-size:12px;color:#555;margin-top:2px;}
.celestPdp__side{display:flex;flex-direction:column;align-items:flex-end;gap:6px;}
.celestPdp__price{font-size:13px;font-weight:700;white-space:nowrap;}
.celestPdp__subtotal{display:flex;justify-content:space-between;align-items:center;margin-top:12px;font-weight:700;}
.celestPdp__shipTrack{height:6px;background:#eee;border-radius:999px;margin:6px 0;}
.celestPdp__shipTrack .js-shipBar{height:100%;width:2%;border-radius:999px;background:#000;transition:width .25s ease;}
.celestPdp__eta:before, .celestPdp__eta svg, .celestPdp__eta [class*="icon"]{display:none !important;} /* dejamos solo el emoji */


/* Botones estilo LV */
.celestPdp__btn{display:block;width:100%;text-align:center;padding:13px 16px;border-radius:999px;font-weight:700;margin-top:10px;background:#000;color:#fff;border:1px solid #000;}
.celestPdp__btn--ghost{background:#fff;color:#000;border:1px solid #000;}
/* ===== OVERRIDE: Mini-cart escritorio estilo Prada (arriba-derecha) ===== */
@media (min-width: 990px){
  /* Overlay muy leve; ajusta si quieres (0 = sin overlay) */
  .celestPdp__cartModal{
    background: rgba(0,0,0,0.05) !important;
    align-items: flex-start;     /* anclar arriba */
    justify-content: flex-end;   /* anclar a la derecha */
  }


  .celestPdp__cartBody{
    right: 24px !important;
    left: auto !important;
    top: 90px !important;        /* separación del header */
    bottom: auto !important;
    width: 520px !important;     /* ancho tipo Prada; ajusta 480–560px si prefieres */
    max-height: 70vh !important;
    border-radius: 12px !important;
    transform: translateY(-8px); /* entrada suave desde arriba */
  }
  .celestPdp__cartBody.is-open{
    transform: translateY(0);
  }


  /* Botón cerrar dentro, arriba-derecha del panel */
  .celestPdp__cartClose{
    top: 10px !important;
    right: 10px !important;
    left: auto !important;
  }
}


/* Opcional: pantallas <= 1280px, un poco más estrecho */
@media (min-width: 990px) and (max-width: 1280px){
  .celestPdp__cartBody{ width: 460px !important; }
}
/* === Mini-cart acciones al estilo Prada: blanco arriba, negro abajo === */
.celestPdp__cartActions{
  display: flex;
  flex-direction: column;   /* orden vertical */
  gap: 10px;
  margin-top: 12px;
}


.celestPdp__btn{
  display: block;
  width: 100%;
  text-align: center;
  padding: 13px 16px;
  border-radius: 999px;
  font-weight: 700;
}


.celestPdp__btn--primary{
  background: #000;
  color: #fff;
  border: 1px solid #000;
}


.celestPdp__btn--ghost{
  background: #fff;
  color: #000;
  border: 1px solid #000;
}
@media (max-width: 989px){
  .celestPdp__sizeSheet .celestPdp__closeSheet{ display:none !important; }
}
/* === Sizes popover en móvil: abre arriba si no hay espacio abajo === */
@media (max-width: 989px){
  .celestPdp__sizeWrap{ position: relative; }


  /* Popover anclado al botón (no full-screen) */
  .celestPdp__sizeSheet{
    position: absolute;
    left: 0; width: min(420px, 100%);
    background:#fff; border:1px solid #eee; border-radius:12px; padding:14px 16px;
    box-shadow:0 10px 40px rgba(0,0,0,.18);
    transform: translateY(-6px); opacity:0; z-index:10000;
    transition: transform .20s ease, opacity .20s ease;
  }
  .celestPdp__sizeSheet.is-open{ transform:translateY(0); opacity:1; }


  /* Por defecto abre ABAJO del botón */
  .celestPdp__sizeSheet:not(.is-top){ top: calc(100% + 8px); bottom:auto; }
  /* Si no hay espacio, abre ARRIBA del botón */
  .celestPdp__sizeSheet.is-top{ bottom: calc(100% + 8px); top:auto; }


  /* Botón circular de cierre (siempre visible en móvil) */
  .celestPdp__closeSheet{
    border:none; background:#111; color:#fff; border-radius:50%;
    width:32px; height:32px; font-size:18px; line-height:1; display:inline-grid; place-items:center;
  }
  .celestPdp__sheetHead{ display:flex; align-items:center; justify-content:space-between; margin-bottom:8px; font-weight:600; }
}
/* FIX: asegurar que la ✕ del pop-up de tallas se muestre en móvil */
@media (max-width: 989px){
  .celestPdp__closeSheet{
    display: grid !important;          /* anula cualquier display:none previo */
    place-items: center;
    width: 32px; height: 32px;
    border-radius: 999px;
    background: #111; color: #fff;
  }
  .celestPdp__sheetHead{ display: flex !important; }
}
/* ===== OVERRIDE: Mini-cart escritorio estilo Prada (arriba-derecha) ===== */
@media (min-width: 990px){
  /* Overlay muy leve; ajusta si quieres (0 = sin overlay) */
  .celestPdp__cartModal{
    background: rgba(0,0,0,0.05) !important;
    align-items: flex-start;     /* anclar arriba */
    justify-content: flex-end;   /* anclar a la derecha */
  }

  .celestPdp__cartBody{
    right: 24px !important;
    left: auto !important;
    top: 90px !important;        /* separación del header */
    bottom: auto !important;
    width: 520px !important;     /* ancho tipo Prada; ajusta 480–560px si prefieres */
    max-height: 70vh !important;
    border-radius: 12px !important;
    transform: translateY(-8px); /* entrada suave desde arriba */
  }
  .celestPdp__cartBody.is-open{
    transform: translateY(0);
  }

  /* Botón cerrar dentro, arriba-derecha del panel */
  .celestPdp__cartClose{
    top: 10px !important;
    right: 10px !important;
    left: auto !important;
  }
}

/* Opcional: pantallas <= 1280px, un poco más estrecho */
@media (min-width: 990px) and (max-width: 1280px){
  .celestPdp__cartBody{ width: 460px !important; }
}
/* === Sizes popover en móvil: abre arriba si no hay espacio abajo === */
@media (max-width: 989px){
  .celestPdp__sizeWrap{ position: relative; }

  /* Popover anclado al botón (no full-screen) */
  .celestPdp__sizeSheet{
    position: absolute;
    left: 0; width: min(420px, 100%);
    background:#fff; border:1px solid #eee; border-radius:12px; padding:14px 16px;
    box-shadow:0 10px 40px rgba(0,0,0,.18);
    transform: translateY(-6px); opacity:0; z-index:10000;
    transition: transform .20s ease, opacity .20s ease;
  }
  .celestPdp__sizeSheet.is-open{ transform:translateY(0); opacity:1; }

  /* Por defecto abre ABAJO del botón */
  .celestPdp__sizeSheet:not(.is-top){ top: calc(100% + 8px); bottom:auto; }
  /* Si no hay espacio, abre ARRIBA del botón */
  .celestPdp__sizeSheet.is-top{ bottom: calc(100% + 8px); top:auto; }

  /* Botón circular de cierre (siempre visible en móvil) */
  .celestPdp__closeSheet{
    border:none; background:#111; color:#fff; border-radius:50%;
    width:32px; height:32px; font-size:18px; line-height:1; display:inline-grid; place-items:center;
  }
  .celestPdp__sheetHead{ display:flex; align-items:center; justify-content:space-between; margin-bottom:8px; font-weight:600; }
}
/* ====== Zoom de imágenes (visor full-screen) ====== */
.celestPdp__zoomModal[hidden]{ display:none; }
.celestPdp__zoomModal{
  position:fixed; inset:0; background:rgba(0,0,0,.92); z-index:10000;
  display:flex; align-items:flex-end;  /* animación desde abajo */
}
.celestPdp__zoomBody{
  position:fixed; inset:0; display:flex; align-items:center; justify-content:center;
  overflow:hidden; transform:translateY(16px); opacity:0;
  transition:transform .25s ease, opacity .25s ease;
  touch-action:none;                 /* necesario para pinch/drag */
  overscroll-behavior:contain;       /* bloquea “rebote” en iOS */
}
.celestPdp__zoomBody.is-open{ transform:translateY(0); opacity:1; }
.celestPdp__zoomImg{
  max-width:none; max-height:90vh;   /* deja respirar la X */
  user-select:none; -webkit-user-drag:none; will-change:transform;
  transform:translate(0,0) scale(1);
}
.celestPdp__zoomClose{
  position:absolute; top:12px; right:12px; width:36px; height:36px;
  border-radius:999px; background:#000; border:0; color:#fff;
  display:grid; place-items:center; cursor:pointer; z-index:2;
}
.celestPdp__zoomClose .celestPdp__x{ width:16px; height:16px; position:relative; display:block; }
.celestPdp__zoomClose .celestPdp__x:before,
.celestPdp__zoomClose .celestPdp__x:after{
  content:""; position:absolute; left:7px; top:0; width:2px; height:16px; background:#fff; border-radius:1px;
}
.celestPdp__zoomClose .celestPdp__x:before{ transform:rotate(45deg); }
.celestPdp__zoomClose .celestPdp__x:after{ transform:rotate(-45deg); }

@media (min-width:990px){
  .celestPdp__zoomImg{ max-height:92vh; }
}
/* ====== Zoom: arreglos de tamaño móvil + botones nav y fix de clic en PC ====== */
.celestPdp__zoomModal[hidden]{ display:none; }
.celestPdp__zoomModal{
  position:fixed; inset:0; background:rgba(0,0,0,.92); z-index:10000;
  display:flex; align-items:flex-end;
}
.celestPdp__zoomBody{
  position:fixed; inset:0; display:flex; align-items:center; justify-content:center;
  overflow:hidden; transform:translateY(16px); opacity:0;
  transition:transform .25s ease, opacity .25s ease;
  touch-action:none; overscroll-behavior:contain;
}
.celestPdp__zoomBody.is-open{ transform:translateY(0); opacity:1; }

/* Imagen: más pequeña en móvil para que NO sobresalga */
.celestPdp__zoomImg{
  max-width:none; max-height:90vh;   /* desktop por defecto */
  user-select:none; -webkit-user-drag:none; will-change:transform;
  transform:translate(0,0) scale(1);
}
@media (max-width: 989px){
  .celestPdp__zoomImg{ max-height:88vh; } /* antes podía pasarse del alto */
}

/* ✕ con z-index alto (fix PC) */
.celestPdp__zoomClose{
  position:absolute; top:12px; right:12px; width:36px; height:36px;
  border-radius:999px; background:#000; border:0; color:#fff;
  display:grid; place-items:center; cursor:pointer; z-index:3;  /* más alto que flechas e imagen */
  pointer-events:auto;
}
.celestPdp__zoomClose .celestPdp__x{ width:16px; height:16px; position:relative; display:block; }
.celestPdp__zoomClose .celestPdp__x:before,
.celestPdp__zoomClose .celestPdp__x:after{
  content:""; position:absolute; left:7px; top:0; width:2px; height:16px; background:#fff; border-radius:1px;
}
.celestPdp__zoomClose .celestPdp__x:before{ transform:rotate(45deg); }
.celestPdp__zoomClose .celestPdp__x:after{ transform:rotate(-45deg); }

/* Botones de navegación (prev/next) */
.celestPdp__zoomNavBtn{
  position:absolute; top:50%; transform:translateY(-50%);
  width:44px; height:56px; border:0; border-radius:10px;
  background:rgba(0,0,0,.55); color:#fff; font-size:28px; line-height:1;
  display:grid; place-items:center; cursor:pointer; z-index:2;
}
.celestPdp__zoomPrev{ left:10px; }
.celestPdp__zoomNext{ right:10px; }

@media (max-width: 989px){
  .celestPdp__zoomNavBtn{ width:38px; height:50px; font-size:24px; }
}
/* ===== ZOOM fixes: botones clicables (z-index alto) + móvil 80vh ===== */
.celestPdp__zoomImg{ z-index:1; }
.celestPdp__zoomNavBtn,
.celestPdp__zoomClose{ z-index:5; pointer-events:auto; }

@media (max-width: 989px){
  /* 20% más pequeña que pantalla: 80vh */
  .celestPdp__zoomImg{ max-height:80vh !important; }
}
/* Mini-cart: layout sticky (título arriba + footer abajo visibles) */
.celestPdp__cartBody{
  display:flex;
  flex-direction:column;
  max-height:82vh;
  overflow:hidden; /* el scroll va dentro de la lista */
}

.celestPdp__cartTitle{
  position: sticky;
  top: 0;
  background:#fff;
  z-index: 4;
  margin: 6px 0 8px;
  padding-right: 40px; /* deja espacio a la X */
  box-shadow: 0 6px 10px -10px rgba(0,0,0,.35);
}

.celestPdp__cartClose{ z-index: 5; } /* que quede por encima del título */

.celestPdp__cartItems,
.celestPdp__cartBody .js-cartItems,
.celestPdp__cartBody .is-scrollArea{
  flex:1 1 auto;
  overflow:auto;
  -webkit-overflow-scrolling: touch;
}

/* Footer fijo con subtotal + botones (y envío si lo tienes ahí) */
.celestPdp__cartFooter{
  position: sticky;
  bottom: 0;
  background:#fff;
  padding-top: 10px;
  box-shadow: 0 -8px 12px -4px rgba(0,0,0,.15);
  z-index: 3;
}

/* Pequeños ajustes visuales */
.celestPdp__cartFooter .celestPdp__subtotal{
  padding:10px 0;
  border-top:1px solid #efefef;
}
.celestPdp__cartFooter .celestPdp__shipTrack{ margin:6px 0; }
/* === PDP: controla tamaños con variables (fácil de ajustar) === */
#celest-mobile-pdp{
  --pdp-title-m: 18px;  /* Título en móvil */
  --pdp-price-m: 14px;  /* Precio en móvil */
  --pdp-title-d: 20px;  /* Título en escritorio */
  --pdp-price-d: 16px;  /* Precio en escritorio */
}

#celest-mobile-pdp .celestPdp__info > .celestPdp__title{ line-height: 1.15; }
#celest-mobile-pdp .celestPdp__info > .celestPdp__price{ line-height: 1.2; }

/* Móvil */
@media (max-width: 989px){
  #celest-mobile-pdp .celestPdp__info > .celestPdp__title{ font-size: var(--pdp-title-m) !important; }
  #celest-mobile-pdp .celestPdp__info > .celestPdp__price{ font-size: var(--pdp-price-m) !important; }
}

/* Escritorio */
@media (min-width: 990px){
  #celest-mobile-pdp .celestPdp__info > .celestPdp__title{ font-size: var(--pdp-title-d) !important; }
  #celest-mobile-pdp .celestPdp__info > .celestPdp__price{ font-size: var(--pdp-price-d) !important; }
}

/* Garantía: el pop-up del carrito mantiene sus tamaños */
#celest-mobile-pdp .celestPdp__cartBody .celestPdp__title{ font-size: 13px !important; }
#celest-mobile-pdp .celestPdp__cartBody .celestPdp__price{ font-size: 13px !important; }
/* === PDP: título en negrita, precio sin negrita (solo en la info del PDP) === */
#celest-mobile-pdp .celestPdp__info > .celestPdp__title{
  font-weight: 700 !important; /* negrita */
}

#celest-mobile-pdp .celestPdp__info > .celestPdp__price,
#celest-mobile-pdp .celestPdp__info > .celestPdp__price .price,
#celest-mobile-pdp .celestPdp__info > .celestPdp__price .money,
#celest-mobile-pdp .celestPdp__info > .celestPdp__price s,
#celest-mobile-pdp .celestPdp__info > .celestPdp__price *{
  font-weight: 400 !important; /* normal, incluso si es precio en oferta */
}
/* Centrado de mensajes de envío gratis y ETA (incluye el <small>) */
#celest-mobile-pdp .celestPdp__cartBody .celestPdp__shipBox,
#celest-mobile-pdp .celestPdp__cartBody .celestPdp__shipText,
#celest-mobile-pdp .celestPdp__cartBody .celestPdp__eta,
#celest-mobile-pdp .celestPdp__cartBody .celestPdp__eta .js-etaText{
  text-align: center;
  margin-left: auto;
  margin-right: auto;
}
/* === Celest PDP • Mini-cart full-bleed en móvil (ocupa todo el ancho) === */
@media (max-width: 989px){
  /* El overlay no limita el ancho */
  #celest-mobile-pdp .celestPdp__cartModal{
    align-items: flex-end;      /* pegado abajo */
    justify-content: stretch;   /* sin centrado */
  }

  /* Cuerpo del pop-up a 100vw, sin “márgenes” laterales */
  #celest-mobile-pdp .celestPdp__cartBody{
    left: 0 !important;
    right: 0 !important;
    width: 100vw !important;
    max-width: 100vw !important;
    margin: 0 !important;

    /* Si lo quieres realmente a sangre: deja 0; si prefieres respiro, usa 16px */
    padding-left: max(16px, env(safe-area-inset-left)) !important;
    padding-right: max(16px, env(safe-area-inset-right)) !important;

    /* A sangre total (sin esquinas). Comenta si prefieres esquinas redondeadas */
    border-radius: 0 !important;
  }

  /* La X respeta el área segura de iOS */
  #celest-mobile-pdp .celestPdp__cartClose{
    right: max(12px, env(safe-area-inset-right)) !important;
  }

  /* Footer (subtotal + barra + botones) ocupa el mismo ancho del pop-up */
  #celest-mobile-pdp .celestPdp__cartFooter{
    left: 0; right: 0;
    padding-left: max(16px, env(safe-area-inset-left)) !important;
    padding-right: max(16px, env(safe-area-inset-right)) !important;
  }
}
/* === Mini-cart full-bleed conservando esquinas redondeadas === */
@media (max-width: 989px){
  #celest-mobile-pdp .celestPdp__cartBody{
    /* ancho completo + áreas seguras */
    left: 0 !important;
    right: 0 !important;
    width: 100vw !important;
    max-width: 100vw !important;
    margin: 0 !important;
    padding-left: max(16px, env(safe-area-inset-left)) !important;
    padding-right: max(16px, env(safe-area-inset-right)) !important;

    /* esquinas redondeadas visibles */
    border-top-left-radius: 18px !important;
    border-top-right-radius: 18px !important;
    border-bottom-left-radius: 0 !important;
    border-bottom-right-radius: 0 !important;
    overflow: hidden; /* recorta contenido en las curvas */
  }

  /* coloca bien la X con área segura */
  #celest-mobile-pdp .celestPdp__cartClose{
    right: max(12px, env(safe-area-inset-right)) !important;
  }

  /* footer a mismo ancho */
  #celest-mobile-pdp .celestPdp__cartFooter{
    padding-left: max(16px, env(safe-area-inset-left)) !important;
    padding-right: max(16px, env(safe-area-inset-right)) !important;
  }
}
/* ===== Beneficios (icono + título + descripción) ===== */
.celestBenefits{
  display: grid;
  gap: 14px;
  margin: 12px 0;
}
.celestBenefit{
  display: grid;
  grid-template-columns: auto 1fr;
  gap: 12px;
  align-items: flex-start;
}

.celestBenefit__icon{
  width: var(--benefit-icon, 44px) !important;
  height: var(--benefit-icon, 44px) !important;
  flex: 0 0 auto;
}
.celestBenefit__icon img,
.celestBenefit__iconPh{
  width: 100%;
  height: 100%;
  object-fit: contain;
  display: block;
}

.celestBenefit__title{
  font-weight: 700;
  font-size: var(--benefit-title, 16px) !important;
  line-height: 1.25;
}
.celestBenefit__desc{
  font-size: var(--benefit-desc, 14px) !important;
  line-height: 1.45;
  color: #666;
}

/* Desktop: solo refinamos el espaciado, los tamaños siguen viniendo de las variables */
@media (min-width: 990px){
  .celestBenefits{ gap: 16px; }
}
/* ========== CELEST LOADER (inline y overlay) ========== */
.celestLoader {
  display: inline-grid;
  place-items: center;
  vertical-align: middle;
  line-height: 0;
  animation: celestSpin var(--celest-loader-speed, .9s) linear infinite;
}
.celestLoader img {
  display: block;
  width: var(--celest-loader-size, 18px);
  height: var(--celest-loader-size, 18px);
}

@keyframes celestSpin {
  from { transform: rotate(0deg) scale(1); }
  70%  { transform: rotate(300deg) scale(0.98); }
  to   { transform: rotate(360deg) scale(1); }
}

/* Esconde el texto del botón cuando está cargando */
.is-loading .js-addText,
.is-loading .js-btn-label { opacity: 0; }

/* Overlay global cuando se toca la bolsa del header o “Finalizar la compra” */
#celestLoaderOverlay {
  position: fixed; inset: 0;
  display: none; /* visible con .is-active */
  align-items: center; justify-content: center;
  z-index: 12000;
  backdrop-filter: saturate(100%) blur(0px);
}
#celestLoaderOverlay.is-active { display: flex; }
#celestLoaderOverlay::before{
  content:"";
  position:absolute; inset:0;
  background: rgba(0,0,0,var(--celest-overlay-alpha, .4));
}
#celestLoaderOverlay .celestLoader {
  position: relative; z-index: 1;
  --celest-loader-size: 36px;
}

/* Botones: coloca el loader exactamente donde iría el texto */
.celestBtn--hasLoader{
  position: relative;
}
.celestBtn--hasLoader .celestLoader{
  position: absolute; left: 50%; top: 50%;
  transform: translate(-50%, -50%);
}

/* Asegura estados de los botones de tu PDP */
.celestPdp__addBtn.celestBtn--hasLoader,
.celestPdp__checkout.celestBtn--hasLoader{
  pointer-events: none;
  opacity: 0.9;
}
/* ===========================================================
   CELEST • ZOOM: barra inferior + estados y ajustes finos
   (pegar al final del archivo)
   =========================================================== */

/* Abrir centrado y a escala 1 (tamaño natural) */
#celest-mobile-pdp .celestPdp__zoomBody{
  align-items: center; justify-content: center;
  touch-action: none; overscroll-behavior: contain;
}
#celest-mobile-pdp .celestPdp__zoomImg{
  max-width: none; max-height: none;
  user-select: none; -webkit-user-drag: none;
  transform: translate(0px,0px) scale(1);
  cursor: zoom-in;
  will-change: transform;
  z-index: 1;
}

/* Botonera inferior tipo Undergold (no interrumpe la foto) */
#celest-mobile-pdp .celestPdp__zoomToolbar{
  position: absolute; left: 0; right: 0; bottom: 0;
  display: flex; gap: 14px; align-items: center; justify-content: center;
  padding: 14px 16px calc(16px + env(safe-area-inset-bottom));
  background: linear-gradient(to top, rgba(0,0,0,.42), rgba(0,0,0,.15), transparent);
  z-index: 5; pointer-events: none; /* deja pasar gestos a la imagen */
}
#celest-mobile-pdp .celestPdp__zoomToolbar > *{ pointer-events: auto; }

#celest-mobile-pdp .celestPdp__zoomBtn{
  width: 56px; height: 56px; border-radius: 999px;
  display: inline-grid; place-items: center;
  background: #fff; color: #111; border: 0;
  box-shadow: 0 10px 26px rgba(0,0,0,.18);
}
#celest-mobile-pdp .celestPdp__zoomBtn:active{ transform: scale(.98); }

/* Iconos (flechas/minimizar) */
#celest-mobile-pdp .celestPdp__zoomBtn svg{ width: 22px; height: 22px; display:block; }

/* Oculta las flechas laterales antiguas si existieran */
#celest-mobile-pdp .celestPdp__zoomNavBtn{ display:none !important; }

/* Botón de cierre arriba (sigue disponible) */
#celest-mobile-pdp .celestPdp__zoomClose{ z-index: 6; }

/* Cursor cambia cuando está ampliado */
#celest-mobile-pdp .is-zoomed .celestPdp__zoomImg{ cursor: zoom-out; }

/* Tamaños móviles */
@media (max-width: 989px){
  #celest-mobile-pdp .celestPdp__zoomBtn{ width:52px; height:52px; }
  #celest-mobile-pdp .celestPdp__zoomToolbar{ gap:12px; padding-bottom: calc(12px + env(safe-area-inset-bottom)); }
}
#celest-mobile-pdp .celestPdp__info .celestPdp__kicker{ margin-top:2px; margin-bottom:8px; }
/* ================= CELEST PERSONALIZATION ================== */
.celestPz__mount{ margin:12px 0; }
.celestPz__card{
  width:100%; text-align:left; display:grid; grid-template-columns:auto 1fr; gap:12px;
  padding:14px; border-radius:16px;
  border:1.5px solid transparent;
  background:
    linear-gradient(#fff,#fff) padding-box,
    linear-gradient(90deg,#7b5cff,#00c2ff,#ffd166,#ff6ac1,#7b5cff) border-box;
  transition: transform .06s ease, box-shadow .2s ease;
}
.celestPz__card:active{ transform:scale(.995); }
.celestPz__thumb{ width:64px; height:64px; border-radius:12px; overflow:hidden; background:#f6f6f6; }
.celestPz__thumb img{ width:100%; height:100%; object-fit:cover; display:block; }
.celestPz__content{ display:grid; gap:4px; align-content:center; }
.celestPz__title{ font-weight:700; font-size:16px; }
.celestPz__price{ font-size:13px; color:#777; }
.celestPz__desc{ font-size:14px; color:#555; }

.celestPz__card--summary{ padding:14px 14px 10px; }
.celestPz__summaryHead{ display:flex; align-items:center; gap:10px; }
.celestPz__edit{
  margin-left:auto; padding:8px 12px; border-radius:999px; background:#fff; border:1px solid transparent;
  background:
    linear-gradient(#fff,#fff) padding-box,
    linear-gradient(90deg,#7b5cff,#00c2ff,#ffd166,#ff6ac1,#7b5cff) border-box;
}
.celestPz__summaryBody{ margin-top:6px; }
.celestPz__summaryText{ font-size:14px; color:#333; line-height:1.45; }
.celestPz__summaryPrice{ font-size:13px; color:#777; margin-top:4px; }
.celestPz__remove{
  margin-top:6px; background:none; border:0; color:#111; text-decoration:underline; padding:0;
}

/* Modal */
.celestPz__modal[hidden]{ display:none; }
.celestPz__modal{ position:fixed; inset:0; background:rgba(0,0,0,.6); z-index:10050; display:flex; align-items:flex-end; }
.celestPz__dialog{
  position:fixed; left:0; right:0; bottom:0;
  max-height:88vh; background:#fff; border-radius:18px 18px 0 0; padding:16px;
  transform:translateY(16px); opacity:0; transition:transform .25s ease, opacity .25s ease;
  display:grid; gap:14px;
}
.celestPz__dialog.is-open{ transform:translateY(0); opacity:1; }
.celestPz__close{
  position:absolute; right:12px; top:12px; width:36px; height:36px; border-radius:999px; background:#000; border:0; color:#fff; display:grid; place-items:center; cursor:pointer; z-index:3;
}
.celestPz__header h3{ font-size:18px; margin:0 36px 0 0; }

.celestPz__preview{ position:relative; background:#fafafa; border-radius:12px; overflow:hidden; display:grid; place-items:center; min-height:220px; }
.celestPz__previewImg{ width:100%; height:auto; display:block; }
.celestPz__ph{ width:100%; height:240px; background:repeating-linear-gradient(45deg,#f1f1f1,#f1f1f1 10px,#f7f7f7 10px,#f7f7f7 20px); }
.celestPz__letters{
  position:absolute; transform:translate(-50%, -50%); font-weight:700; letter-spacing:.04em;
  font-size: clamp(14px, var(--pz-font,22%), 64px);
  pointer-events:none;
}

.celestPz__form{ display:grid; gap:14px; }
.celestPz__row{ display:grid; gap:8px; }
.celestPz__label{ font-weight:700; }
.celestPz__inputs{ display:flex; gap:10px; }
.celestPz__in{
  width:64px; height:48px; border-radius:12px; border:1px solid #ddd; text-align:center; font-size:20px; font-weight:700;
}
.celestPz__colors{ display:flex; flex-wrap:wrap; gap:12px; }
.celestPz__sw{ width:36px; height:36px; border-radius:999px; border:2px solid #fff; box-shadow:0 0 0 1px #ccc; padding:0; }
.celestPz__sw span{ display:block; width:100%; height:100%; border-radius:999px; }
.celestPz__sw.is-active{ box-shadow:0 0 0 2px #111; }

.celestPz__radios{ display:flex; gap:14px; }
.celestPz__actions{ display:grid; gap:10px; grid-template-columns:1fr 1fr; }
.celestPz__confirm{
  padding:12px; border-radius:999px; background:#000; color:#fff; border:1px solid #000; font-weight:700;
}
.celestPz__confirm[disabled]{ opacity:.45; }
.celestPz__reset{
  padding:12px; border-radius:999px; background:#fff; color:#000; border:1px solid #000; font-weight:700;
}
.celestPz__legal{ text-align:center; font-size:13px; }
.celestPz__legal a{ color:#111; text-decoration:underline; }

/* Desktop: bajo el header, dialog compacto a la derecha si quieres */
@media (min-width: 990px){
  .celestPz__modal{ align-items:flex-start; }
  .celestPz__dialog{
    top: 96px; bottom:auto; left:50%; right:auto; width:560px; border-radius:12px; transform:translateY(-8px);
  }
  .celestPz__dialog.is-open{ transform:translateY(0); }
}
/* --- Ajustes finos (overrides) --- */
.celestPers{ margin-top: 8px; }                 /* baja un poco el módulo tras el selector de talla */
@media (min-width:990px){ .celestPers{ margin-top: 10px; } }

/* Acciones "Modificar / Eliminar" a la derecha, alineadas con la última línea del resumen */
.celestPers__summary{
  display:grid;
  grid-template-columns: 1fr auto;
  gap: 8px 12px;
  align-items:end;
}
.celestPers__sumList{ grid-column:1; margin:0; }
.celestPers__sumActions{
  grid-column:2;
  align-self:end;
  justify-self:end;
  display:flex;
  gap:8px;
}

/* Botones más compactos */
.celestPers__open,
.celestPers__mod,
.celestPers__del{ min-height:34px; padding:6px 12px; font-size:14px; }

/* Monograma: letra + punto sin espacios y con línea base limpia */
.celestPers__monogram{ letter-spacing:.01em; line-height:1; }
/* === Selector de talla: botón ancho completo con texto a la izq. + chevron === */
#celest-mobile-pdp .celestPdp__sizeWrap{ position:relative; }

/* La fila pasa a tener solo el botón a ancho completo */
#celest-mobile-pdp .celestPdp__sizeRow{
  display:block !important;
  margin: 10px 0 4px !important;
}

/* Botón "seleccione su talla" */
#celest-mobile-pdp .celestPdp__sizeBtn{
  position:relative !important;
  width:100% !important;
  min-height:48px !important;
  padding:14px 44px 14px 14px !important; /* texto a la izq., espacio para el icono */
  display:flex !important;
  align-items:center !important;
  justify-content:flex-start !important;
  border-radius:12px !important;
  background:#fff !important;
  color:#111 !important;
  border:1px solid #111 !important;
  font-weight:600 !important;
}

/* Chevron a la derecha (como desplegable) */
#celest-mobile-pdp .celestPdp__sizeBtn::after{
  content:"";
  position:absolute; right:14px; top:50%; transform:translateY(-50%) rotate(-45deg);
  width:10px; height:10px;
  border-right:2px solid currentColor; border-bottom:2px solid currentColor;
  opacity:.9;
}

/* Estado seleccionado: negro con texto blanco */
#celest-mobile-pdp .celestPdp__sizeBtn.has-selection,
#celest-mobile-pdp .celestPdp__sizeBtn.is-open{
  background:#111 !important; color:#fff !important; border-color:#111 !important;
}

/* Enlace "Guía de tallas" arriba-derecha con subrayado */
#celest-mobile-pdp .celestPdp__guideBtn{
  position:absolute !important;
  right:0; top:-26px;
  background:none !important; border:0 !important;
  padding:0 !important; min-height:auto !important;
  color:#111 !important; font-weight:600 !important; font-size:14px !important;
  text-decoration: underline !important;
}

/* Botón de talla en error (intentan añadir sin talla) */
#celest-mobile-pdp .celestPdp__sizeBtn.is-error{
  color:#c40000 !important;
  border-color:#c40000 !important;
  animation: celestShake .34s ease-in-out both;
}
@keyframes celestShake{
  10%, 90% { transform: translateX(-1px); }
  20%, 80% { transform: translateX(2px); }
  30%, 50%, 70% { transform: translateX(-4px); }
  40%, 60% { transform: translateX(4px); }
}

/* CTA: negro por defecto, gris cuando está AGOTADO */
#celest-mobile-pdp .celestPdp__addBtn{
  background:#111 !important;
  color:#fff !important;
  opacity:1 !important;
}

/* Estado AGOTADO explícito (clase añadida por JS) */
#celest-mobile-pdp .celestPdp__addBtn.is-soldout{
  background:#e5e5e5 !important;   /* gris claro */
  color:#999 !important;
  border-color:#e5e5e5 !important;
  pointer-events:none !important;
}

/* No forzamos el disabled genérico: sólo gris si es .is-soldout */
#celest-mobile-pdp .celestPdp__addBtn[disabled]:not(.is-soldout){
  opacity:1 !important;
}


/* === FIX: "Guía de tallas" a la derecha, misma altura del botón === */
#celest-mobile-pdp .celestPdp__sizeWrap,
#celest-mobile-pdp .celestPdp__sizeRow{
  position: relative !important; /* referencia para el absolute */
}

#celest-mobile-pdp .celestPdp__guideBtn{
  position: absolute !important;
  top: -26px;              /* misma altura que antes */
  right: 0;                /* pegado a la derecha */
  left: auto !important;   /* evita que algún left anterior lo centre */
  width: auto !important;  /* rompe 100% heredado del tema */
  max-width: none !important;
  display: inline-block !important;
  text-align: right !important;

  /* estilo de link */
  background: none !important;
  border: 0 !important;
  padding: 0 !important;
  min-height: auto !important;
  font-size: 14px !important;
  font-weight: 600 !important;
  color: #111 !important;
  text-decoration: underline !important;
  cursor: pointer;
}

/* Opcional: microajuste por breakpoint */
@media (max-width: 989px){
  #celest-mobile-pdp .celestPdp__guideBtn{ top: -24px; }
}
@media (min-width: 990px){
  #celest-mobile-pdp .celestPdp__guideBtn{ top: -28px; }
}

/* === Zoom: prioridad y eventos clicables === */
#celest-mobile-pdp .celestPdp__zoomModal{ z-index: 13000 !important; pointer-events:auto; }
#celest-mobile-pdp .celestPdp__zoomBody { pointer-events:auto; }
#celest-mobile-pdp .celestPdp__zoomToolbar{ pointer-events:none; }
#celest-mobile-pdp .celestPdp__zoomToolbar > *{ pointer-events:auto; } /* los botones sí clican */
#celest-mobile-pdp .celestPdp__zoomClose{ pointer-events:auto; z-index: 13001; }

/* Zoom toolbar siempre clicable, esté o no dentro de #celest-mobile-pdp */
.celestPdp__zoomToolbar{ pointer-events:none; }
.celestPdp__zoomToolbar > *{ pointer-events:auto; }
/* === CELEST ZOOM • V4 – prioridades de clics === */
.celestPdp__zoomImg{ z-index: 1 !important; }
.celestPdp__zoomToolbar{ z-index: 20 !important; pointer-events: auto !important; }
.celestPdp__zoomToolbar > *{ pointer-events: auto !important; }
.celestPdp__zoomClose{ z-index: 30 !important; pointer-events: auto !important; }
/* ===== PDP móvil: header superpuesto y colores negros ===== */
@media (max-width: 989px){
  /* La galería sube “debajo” del header */
  body.celest-pdp-hero .celestPdp__gallery,
  body.celest-pdp-hero .product__media-list,
  body.celest-pdp-hero .media-gallery {
    margin-top: calc(var(--header-height, 64px) * -1) !important;
  }

  /* Estado transparente (sobre foto) */
  body.celest-pdp-hero header.celest-header--transparent{
    background: transparent !important;
    box-shadow: none !important;
  }

  /* Al bajar: fondo blanco (sólido) */
  body.celest-pdp-hero header.celest-header--solid{
    background: #fff !important;
    box-shadow: 0 1px 0 rgba(0,0,0,.08) !important;
  }

  /* Texto e iconos: siempre negros (arriba y abajo) */
  body.celest-pdp-hero header.header{
    color:#111 !important;
  }
  body.celest-pdp-hero header.header a,
  body.celest-pdp-hero header.header .header__nav-icon,
  body.celest-pdp-hero header.header svg{
    color:#111 !important;
    fill: currentColor !important;
    stroke: currentColor !important;
  }

  /* Si existe “transparent_logo” (claro), ocúltalo para usar el logo normal oscuro */
  body.celest-pdp-hero header.header .header__logo-image--transparent{ display:none !important; }
  body.celest-pdp-hero header.header .header__logo-image{ display:inline-block !important; opacity:1 !important; }
}
/* ===== Celest • PDP hero header ===== */

/* 3.1 Header transparente encima de la galería (solo PDP + móvil) */
@media (max-width: 989px){
  .celest-pdp-hero #celest-header{
    position: sticky;      /* ya lo es por la sección, reforzamos */
    top: 0;
    background: transparent !important;
    box-shadow: none !important;
    z-index: 1000;
  }

  /* La galería se "mete" bajo el header */
  .celest-pdp-hero .celestPdp__gallery{
    /* sube la galería para aprovechar todo el alto desde arriba */
    margin-top: calc(-1 * var(--header-height, 64px));
  }

  /* 3.2 Cuando el header está transparente, todo en negro */
  .celest-pdp-hero .celest-header--transparent,
  .celest-pdp-hero .celest-header--transparent *{
    color: #000 !important;
    fill: #000 !important;
    stroke: #000 !important;
  }

  /* Si los iconos son SVG con currentColor, esto basta */
  .celest-pdp-hero .celest-header--transparent svg{
    color: #000 !important;
  }

  /* 3.3 Al hacer scroll, el header se vuelve blanco */
  .celest-pdp-hero #celest-header.is-scrolled{
    background: #fff !important;
    box-shadow: 0 2px 12px rgba(0,0,0,.06) !important;
  }
}

/* Desktop: no tocamos nada visual salvo seguridad de color si quieres */
@media (min-width: 990px){
  .celest-pdp-hero .celest-header--transparent *{
    color: #000;
  }
}
/* ===== PDP • Header negro 100% + iconos con contorno ===== */
@media (max-width: 989px){
  /* 1) Fuerza negro sólido en textos/enlaces del header (sin desvanecidos) */
  .celest-pdp-hero #celest-header,
  .celest-pdp-hero #celest-header * {
    color: #000 !important;
  }
  .celest-pdp-hero #celest-header .link-faded,
  .celest-pdp-hero #celest-header .link-faded-reverse {
    opacity: 1 !important;
  }

  }

  /* 3) Iconos del header: contorno negro, relleno transparente */
  .celest-pdp-hero #celest-header .header__nav-icon,
  .celest-pdp-hero #celest-header .header__nav-icon * {
    fill: transparent !important;
    stroke: #000 !important;
    stroke-width: 1.9px !important;     /* ajusta a 1.6–2.2 si lo quieres más fino/grueso */
    stroke-linecap: round !important;
    stroke-linejoin: round !important;
    opacity: 1 !important;
  }

  /* 4) Hamburguesa también a trazo negro (algunos temas la dibujan con fill) */
  .celest-pdp-hero #celest-header .icon-hamburger *,
  .celest-pdp-hero #celest-header .icon--hamburger * {
    fill: transparent !important;
    stroke: #000 !important;
    stroke-width: 2px !important;
  }

  /* 5) Burbuja del carrito (puntito): negro con borde blanco como referencia de tus fotos */
  .celest-pdp-hero #celest-header cart-dot {
    background: #000 !important;
    border: 2px solid #fff !important;
  }
}

/* En desktop mantenemos negro sin opacidad si el header queda transparente por configuración */
@media (min-width: 990px){
  .celest-pdp-hero #celest-header .header__logo-image,
  .celest-pdp-hero #celest-header .header__logo-text { opacity: 1 !important; }
  .celest-pdp-hero #celest-header .header__nav-icon,
  .celest-pdp-hero #celest-header .header__nav-icon *{
    fill: transparent !important; stroke: #000 !important;
  }
}
/* Nota roja dentro del popover */
#celest-mobile-pdp .celestPdp__sizeNote{
  color:#c40000;
  font-size:13px;
  font-weight:600;   /* 600 queda visualmente más limpio */
  margin-left:10px;  /* al lado de “Selecciona tu talla” */
}

/* Estados deshabilitados que SÍ usa el JS */
#celest-mobile-pdp .celestPdp__size.is-disabled,
#celest-mobile-pdp .celestPdp__size:disabled{
  cursor:not-allowed;
  opacity:.35;
}

/* Sacudida cuando eligen una talla sin stock (el JS aplica .is-error al botón grande) */
#celest-mobile-pdp .celestPdp__sizeBtn.is-error{
  animation: celestShake .34s ease-in-out both;
}
/* Nota de disponibilidad al lado del título del sheet */
#celest-mobile-pdp .celestPdp__sizeNote{
  margin-left: 8px;
  color:#c40000;
  font-weight:600;
  font-size:13px;
}
/* ===== CELEST • Swatch de color agotado ===== */
#celest-mobile-pdp .celestPdp__swatch.is-disabled{
  opacity: .45;
  filter: grayscale(1);
  cursor: not-allowed;
  position: relative;
}

/* Diagonal sutil (tachado) sobre el swatch */
#celest-mobile-pdp .celestPdp__swatch.is-disabled::after{
  content:"";
  position:absolute; inset:0;
  border-radius:12px;
  background:
    linear-gradient(135deg, rgba(0,0,0,.22) 2px, transparent 2px) no-repeat;
  background-size: 200% 2px;
  background-position: -10% 50%;
}
/* ===== CELEST • Swatch de color agotado ===== */
#celest-mobile-pdp .celestPdp__swatch.is-soldOut{
  opacity:.45; position:relative; cursor:pointer; /* clicable para informar */
}
#celest-mobile-pdp .celestPdp__swatch.is-soldOut::after{
  content:"";
  position:absolute; inset:6px;
  border-radius:10px;
  pointer-events:none;
  /* línea diagonal */
  background:
    linear-gradient(135deg, transparent 48%, rgba(0,0,0,.75) 49%, rgba(0,0,0,.75) 51%, transparent 52%);
}
#celest-mobile-pdp .celestPdp__swatch.is-soldOut img{
  filter: grayscale(100%);
}
/* === CELEST • Aviso de stock bajo en botón de talla === */
.celestPdp__sizeBtn{
  position: relative;               /* ancla para la etiqueta derecha */
  padding-right: 74px !important;   /* deja espacio al texto + chevron */
}
.celestPdp__sizeBtn .js-sizeBtnLabel{
  display: inline-block;
}

/* Texto de stock bajo a la derecha, centrado vertical */
.celestPdp__sizeStock{
  position: absolute;
  right: 30px;                      /* antes del chevron */
  top: 50%;
  transform: translateY(-50%);
  font-weight: 700;
  font-size: 14px;
  white-space: nowrap;
  pointer-events: none;
}

/* Cuando el botón está “seleccionado” (fondo negro) */
.celestPdp__sizeBtn.has-selection .celestPdp__sizeStock,
.celestPdp__sizeBtn.is-open .celestPdp__sizeStock{
  color: #fff;
}

/* Si tu tema pone el botón claro, forzamos contraste negro */
.celestPdp__sizeBtn:not(.has-selection):not(.is-open) .celestPdp__sizeStock{
  color: #111;
}
/* ===== CELEST • PRE-ORDER UI ============================================== */

/* Fila título + etiqueta a la derecha */
.celestPdp__titleWrap{
  display:flex; align-items:center; justify-content:space-between; gap:8px;
}

/* Etiqueta negra "Pre-orden" */
.celestPdp__pill{
  display:inline-block; padding:4px 10px;
  background:#000; color:#fff; border-radius:999px;
  font-size:12px; font-weight:700; white-space:nowrap;
}

/* Banner de aviso PRE-ORDEN (sobre el footer del mini-cart) */
.celestPdp__preNote{ margin:10px 0 12px; }
.celestPdp__preNoteBox{
  background:#fff4dc; color:#6b4e00; border-radius:10px;
  padding:12px 14px; font-size:14px; line-height:1.45;
  box-shadow:0 10px 18px -8px rgba(0,0,0,.15);
}
.celestPdp__preNoteBox b{ color:#000; }
/* === CELEST • Badges (Pre-orden / Personalizado) === */
.celestBadge{
  display:inline-block;
  padding:2px 8px;
  border-radius:999px;
  background:#111;
  color:#fff;
  font-size:12px;
  font-weight:700;
  line-height:1.2;
  white-space:nowrap;         /* <- evita corte tipo “Pre- / orden” */
  vertical-align:middle;
}
.celestBadge--ghost{ background:#fff; color:#111; border:1px solid #111; }

/* Si van debajo del título, un pequeño margen */
.celestCart__titleRow{ display:grid; gap:6px; }
/* === CELEST • Nota bajo el CTA (metacampo) === */
#celest-mobile-pdp .celestPdp__ctaNote{
  margin-top: 8px;
  font-weight: 400 !important;   /* no en negrita */
  font-size: 14px;
  line-height: 1.45;
  color: #555;
}

/* Ajuste en desktop opcional */
@media (min-width: 990px){
  #celest-mobile-pdp .celestPdp__ctaNote{ font-size: 14.5px; }
}
/* === CELEST • Mini-cart (desktop): mostrar 2–3 productos visibles === */
@media (min-width: 990px){
  #celest-mobile-pdp .celestPdp__cartBody{
    max-height: 78vh !important;
  }
  #celest-mobile-pdp .celestPdp__cartItems,
  #celest-mobile-pdp .celestPdp__cartBody .js-cartItems,
  #celest-mobile-pdp .celestPdp__cartBody .is-scrollArea{
    max-height: 52vh !important; /* espacio para varias tarjetas */
    min-height: 260px !important;
    overflow: auto !important;
  }
}
/* === CELEST • Mini-cart adaptativo === */
#celest-mobile-pdp .celestPdp__cartBody {
  display: flex;
  flex-direction: column;
  width: 100%;
  overflow: hidden;
}

/* Lista de items: scrollable */
#celest-mobile-pdp .celestPdp__cartBody .js-cartItems {
  flex: 1 1 auto;
  overflow: auto;
  -webkit-overflow-scrolling: touch;
  margin: 4px 0 6px; /* menos aire */
}

/* Footer más compacto */
#celest-mobile-pdp .celestPdp__cartFooter {
  padding-top: 4px;
  padding-bottom: 4px;
}
#celest-mobile-pdp .celestPdp__shipBox,
#celest-mobile-pdp .celestPdp__eta,
#celest-mobile-pdp .celestPdp__cartSubtotal {
  margin: 4px 0 !important; /* reducir espacio vertical */
}

/* Desktop: estirar hasta casi arriba y abajo */
@media (min-width: 990px){
  #celest-mobile-pdp .celestPdp__cartBody {
    max-height: 86vh; /* aprovecha pantalla */
  }
  #celest-mobile-pdp .celestPdp__cartBody .js-cartItems {
    max-height: 60vh; /* deja espacio para subtotal/envío */
  }
}

/* Mobile: usa casi toda la altura */
@media (max-width: 989px){
  #celest-mobile-pdp .celestPdp__cartBody {
    max-height: 90vh;
  }
  #celest-mobile-pdp .celestPdp__cartBody .js-cartItems {
    max-height: 65vh;
  }
}
/* === FIX: evitar “deformación” bajo la galería (solo pan vertical) === */
@media (max-width: 989px){
  #celest-mobile-pdp .celestPdp__info,
  #celest-mobile-pdp .celestPdp__option,
  #celest-mobile-pdp .celestPdp__sizeWrap,
  #celest-mobile-pdp .celestPdp__cta,
  #celest-mobile-pdp .celestPdp__blocks {
    touch-action: pan-y !important;       /* bloquea horizontales en esta zona */
    -ms-touch-action: pan-y !important;
    overscroll-behavior-x: contain;       /* corta la cadena de overscroll */
  }
}
/* === FIX: evitar “deformación” bajo la galería (solo pan vertical) === */
@media (max-width: 989px){
  #celest-mobile-pdp .celestPdp__info,
  #celest-mobile-pdp .celestPdp__option,
  #celest-mobile-pdp .celestPdp__sizeWrap,
  #celest-mobile-pdp .celestPdp__cta,
  #celest-mobile-pdp .celestPdp__blocks {
    touch-action: pan-y !important;       /* bloquea horizontales en esta zona */
    -ms-touch-action: pan-y !important;
    overscroll-behavior-x: contain;       /* corta la cadena de overscroll */
  }
}
/* === FIX: evitar “deformación” bajo la galería (solo pan vertical) === */
@media (max-width: 989px){
  #celest-mobile-pdp .celestPdp__info,
  #celest-mobile-pdp .celestPdp__option,
  #celest-mobile-pdp .celestPdp__sizeWrap,
  #celest-mobile-pdp .celestPdp__cta,
  #celest-mobile-pdp .celestPdp__blocks {
    touch-action: pan-y !important;       /* bloquea horizontales en esta zona */
    -ms-touch-action: pan-y !important;
    overscroll-behavior-x: contain;       /* corta la cadena de overscroll */
  }
}
/* === FIX móvil: Premium box pegado a la galería (v2) === */
@media (max-width: 989px){

  /* 1) La galería no deja “aire” debajo */
  #celest-mobile-pdp .celestPdp__gallery,
  #celest-mobile-pdp .product__media-list,
  #celest-mobile-pdp .media-gallery{
    margin-bottom: 0 !important;
    padding-bottom: 0 !important;
    border-bottom: 0 !important;
  }

  /* Si existe la barra/contador, sin margen extra */
  #celest-mobile-pdp .celestPdp__progress,
  #celest-mobile-pdp .celestPdp__progressWrap{
    margin-bottom: 0 !important;
  }

  /* 2) El contenedor de info arranca “pegado” arriba */
  #celest-mobile-pdp .celestPdp__info{
    padding-top: 0 !important;
    margin-top: 0 !important;
  }

  /* 3) El primer hijo dentro de la info (tu premium box) sin margen superior */
  #celest-mobile-pdp .celestPdp__info > *:first-child{
    margin-top: 0 !important;
  }

  /* 4) El propio premium box (kicker) sin margen arriba */
  #celest-mobile-pdp .celestPdp__info .celestPdp__kicker,
  #celest-mobile-pdp .celestPdp__kicker{
    margin-top: 0 !important;
  }

  /* 5) Por si el tema añade separación entre bloques adyacentes */
  #celest-mobile-pdp .celestPdp__gallery + .celestPdp__info,
  #celest-mobile-pdp .product__media-list + .celestPdp__info,
  #celest-mobile-pdp .media-gallery + .celestPdp__info,
  #celest-mobile-pdp .Product__Info{
    margin-top: 0 !important;
  }
}
/* === CELEST • Galería: ocultar slides filtradas por color === */
#celest-mobile-pdp .celestPdp__slide.is-hidden,
#celest-mobile-pdp .product__media-item.is-hidden{
  display: none !important;
}
/* === FIX CRÍTICO (móvil): asegurar que la ✕ del pop-up de tallas sea visible === */
@media (max-width: 989px){
  #celest-mobile-pdp .celestPdp__sizeSheet .celestPdp__closeSheet{
    display: grid !important;
    place-items: center;
  }
}
/* === FIX: tachado visible también dentro del contenido del botón === */
#celest-mobile-pdp .celestPdp__size.is-disabled,
#celest-mobile-pdp .celestPdp__size[disabled]{
  opacity:.35; cursor:not-allowed; text-decoration: line-through;
}
#celest-mobile-pdp .celestPdp__size.is-disabled * ,
#celest-mobile-pdp .celestPdp__size[disabled] * {
  text-decoration: inherit;
}
/* === CELEST • ETA: grupo centrado, texto alineado a la izquierda (hasta 2 líneas) === */
#celest-mobile-pdp .celestEta{
  display: flex;
  align-items: flex-start;        /* alinea la parte superior de icono y texto */
  justify-content: center;        /* centra el GRUPO (icono + texto) */
  gap: 8px;
  text-align: initial !important; /* evita que herede centrado global */
}

#celest-mobile-pdp .celestEta__icon{
  flex: 0 0 auto;
  line-height: 0;
  display: inline-grid;
  place-items: center;
  translate: 0 .5px;              /* microajuste vertical */
}

#celest-mobile-pdp .celestEta__text{
  /* IZQUIERDA siempre */
  text-align: left !important;

  /* Hasta 2 líneas con ellipsis si se pasa */
  white-space: normal !important;
  overflow: hidden;
  text-overflow: ellipsis;
  display: -webkit-box;
  -webkit-line-clamp: 2;          /* máximo 2 líneas */
  line-clamp: 2;
  -webkit-box-orient: vertical;

  max-width: min(100%, var(--eta-max, 680px));
}

/* (Opcional) Si en desktop quieres volver a 1 línea:
@media (min-width: 990px){
  #celest-mobile-pdp .celestEta__text{
    -webkit-line-clamp: 1;
    line-clamp: 1;
  }
}
*/
/* === CELEST • Indicador de inventario (puntito + texto) === */
#celest-inventory-indicator.celestInv{
  display:inline-flex;
  align-items:center;
  gap:8px;
  margin: 8px 0 0;
  font-size: 14px;
  color:#111;
}

#celest-inventory-indicator .celestInv__dot{
  --celest-inv-color: #28A745;
  width: 8px; height: 8px;
  border-radius: 999px;
  background: var(--celest-inv-color);
  box-shadow: 0 0 0 0 rgba(0,0,0,0);
  flex: 0 0 auto;
}

#celest-inventory-indicator .celestInv__dot.is-pulsing{
  animation: celestInvPulse 1.6s ease-in-out infinite;
}
@keyframes celestInvPulse{
  0%   { box-shadow: 0 0 0 0 rgba(0,0,0,.12); transform: scale(1); }
  70%  { box-shadow: 0 0 0 6px rgba(0,0,0,0); transform: scale(1.05); }
  100% { box-shadow: 0 0 0 0 rgba(0,0,0,0); transform: scale(1); }
}

#celest-inventory-indicator .celestInv__text b{
  font-weight: 700;
}

/* Alineación y coherencia tipográfica */
#celest-mobile-pdp #celest-inventory-indicator{
  font-family: inherit;
}

/* Ubicación debajo de swatches: si tu bloque de swatches usa estas clases,
   puedes forzar un pequeño margen superior coherente */
#celest-mobile-pdp .celestPdp__swatches + #celest-inventory-indicator{
  margin-top: 6px;
}
