@import url("./variantes_compartidas.css");
.isy-product-detail-page {

  width: 100%;

  min-height: 60vh;

  padding: 1px 0 40px;

  background: #FFF0F5;

  color: #333;

  font-family: "Public Sans", sans-serif;

}



.isy-product-detail-page * {

  box-sizing: border-box;

}



.product-breadcrumb {

  max-width: 1200px;

  margin: 25px auto 20px;

  padding: 0 30px;

  display: flex;

  align-items: center;

  flex-wrap: wrap;

  gap: 0;

  color: #8B4513;

  font-size: 14px;

}



.product-breadcrumb a,

.product-breadcrumb span {

  display: inline-flex;

  align-items: center;

}



.product-breadcrumb a {

  color: #8B4513;

  text-decoration: none;

  transition: opacity .2s;

}



.product-breadcrumb a:hover {

  opacity: .7;

}



.breadcrumb-separator {

  margin: 0 10px;

  font-size: 17px;

  line-height: 1;

}



.product-section {

  max-width: 1200px;

  margin: 0 auto;

  padding: 0 30px 40px;

  display: grid;

  grid-template-columns: 90px minmax(0, 1fr) minmax(0, 1fr);

  gap: 35px;

  align-items: start;

}



.isy-gallery-strip {
  min-width: 0;
}

.isy-gallery-mobile-next {
  display: none;
}

.thumbnails {

  display: flex;

  flex-direction: column;

  gap: 12px;

}



.thumb {

  width: 75px;

  height: 75px;

  padding: 0;

  border: 2.5px solid transparent;

  border-radius: 14px;

  overflow: hidden;

  cursor: pointer;

  background: #E8E8E8;

  transition: border-color .3s;

}



.thumb:hover,

.thumb.active {

  border-color: #E84B85;

}



.thumb img {

  width: 100%;

  height: 100%;

  object-fit: cover;

  display: block;

}



.main-image {

  overflow: hidden;

  aspect-ratio: 1;

  display: flex;

  align-items: center;

  justify-content: center;

  border-radius: 22px;

  background: #8FA08E;

}



.main-image img {

  width: 100%;

  height: 100%;

  object-fit: cover;

  display: block;

}



.product-image-empty {

  width: 100%;

  height: 100%;

  min-height: 320px;

  display: flex;

  align-items: center;

  justify-content: center;

  color: #8A3E3E;

  background: #F8E2EA;

  font-family: "Fredoka", sans-serif;

}



.product-info {

  padding-left: 15px;

}



.brand {

  margin-bottom: 2px;

  color: #E84B85;

  font-family: "Fredoka", sans-serif;

  font-size: 26px;

  font-weight: 600;
  
  display: flex;

  align-items: center;

}



/* Enlace de marca en detalle: conserva el estilo original y subraya en hover/foco. */
/* Marca: conservar el diseño original */
.isy-product-detail-page .brand .isy-detail-brand-link,
.isy-product-detail-page .brand .isy-detail-brand-link:visited,
.isy-product-detail-page .brand .isy-detail-brand-link:hover,
.isy-product-detail-page .brand .isy-detail-brand-link:focus-visible {
  color: #E84B85 !important;
  font: inherit;
  text-decoration: none !important;
}

/* Preparar el efecto de subrayado */
.isy-product-detail-page .brand .isy-detail-brand-link {
  position: relative;
  display: inline-block;
  cursor: pointer;
}

/* Línea invisible inicialmente */
.isy-product-detail-page .brand .isy-detail-brand-link::after {
  content: "";
  position: absolute;
  bottom: -1.5px;
  left: 0;
  width: 0;
  height: 2px;
  background: currentColor;
  transition: width .25s ease;
}

/* La línea aparece suavemente al acercar el cursor */
.isy-product-detail-page .brand .isy-detail-brand-link:hover::after,
.isy-product-detail-page .brand .isy-detail-brand-link:focus-visible::after {
  width: 100%;
}


.product-title {

  margin: 0 0 12px;

  color: #8B2635;

  font-family: "Fredoka", sans-serif;

  font-size: 34px;

  font-weight: 600;

  line-height: 1.15;

}



.product-desc {

  max-width: 420px;

  margin: 0 0 12px;

  color: #E84B85;

  font-size: 15px;

  line-height: 1.6;

}



.price {

  margin-bottom: 18px;

  color: #E84B85;

  font-family: "Fredoka", sans-serif;

  font-size: 40px;

  font-weight: 600;

}



.product-access-msg,

.variant-notice {

  margin-bottom: 16px;

  padding: 10px 14px;

  border-radius: 12px;

  background: #F8C8DC;

  color: #8B2635;

  font-family: "Fredoka", sans-serif;

  font-size: 14px;

  line-height: 1.4;

}



.benefits {

  display: flex;

  gap: 25px;

  margin-bottom: 22px;

  color: #666;

  font-size: 13px;

}



.quantity-wrapper {

  display: flex;

  align-items: center;

  gap: 15px;

  margin-bottom: 18px;

}



.quantity {

  display: flex;

  align-items: center;

  overflow: hidden;

  border: 1.5px solid #E0E0E0;

  border-radius: 25px;

  background: #fff;

}



.qty-btn {

  width: 38px;

  height: 38px;

  border: 0;

  background: #fff;

  color: #EA4681;

  cursor: pointer;

  font-family: "Fredoka", sans-serif;

  font-size: 30px;

  transition: color .2s;

    font-weight: 600;
  display: flex;
  align-items: center;
  justify-content: center;
  line-height: 1;
  padding: 0;
}



.qty-btn:hover {

  color: #E84B85;

}



.qty-input {

  width: 35px;

  border: 0;

  outline: 0;

  background: #fff;

  color: #922932;

  text-align: center;

  font-family: "Public Sans", sans-serif;

  font-size: 16px;

  font-weight: 600;

}



.stock {

  display: flex;

  align-items: center;

  gap: 6px;

  color: #4CAF50;

  font-size: 13px;

  font-weight: 600;

}



.stock-dot {

  width: 8px;

  height: 8px;

  display: inline-block;

  border-radius: 50%;

  background: #4CAF50;

}



.stock.out-of-stock {

  color: #9A5B63;

}



.stock.out-of-stock .stock-dot {

  background: #9A5B63;

}



.btn,

.btn-fav,

.btn-back-catalog {

  width: 100%;

  margin-bottom: 10px;

  padding: 15px;

  border: 0;

  border-radius: 30px;

  display: flex;

  align-items: center;

  justify-content: center;

  gap: 10px;

  cursor: pointer;

  text-decoration: none;

  font-family: "Fredoka", sans-serif;

  font-size: 16px;

  font-weight: 600;

  transition: transform .25s, box-shadow .25s, opacity .2s;

}



.btn:hover:not(:disabled),

.btn-fav:hover,

.btn-back-catalog:hover {

  transform: translateY(-2px);

  box-shadow: 0 6px 20px rgba(0,0,0,.12);

}



.btn:disabled {

  cursor: not-allowed;

  opacity: .55;

}



.btn-cart,

.btn-back-catalog {

  background: #E84B85;

  color: #fff;

}



.btn-buy {

  background: #D4D456;

  color: #E84B85;

}



.btn-fav {

  background: #F8C8DC;

  color: #E84B85;

}



.info-section {

  max-width:none;

  margin: 35px auto;

  padding: 25px 0;

  border-radius: 20px;

  background: #E84B85;

  color: #fff; width:calc(100% - 2 * clamp(16px, 3vw, 48px)); margin-left:auto; margin-right:auto; box-sizing:border-box; min-height:0;}



.info-grid {

  display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); align-items:stretch; column-gap:0; min-height:0;}



.info-card {

  flex: 1 1 0;

  min-width:0;

  padding:0 clamp(18px,1.55vw,27px);

  position: relative; min-height:0; font-size:16px; line-height:1.48;}



.info-card:not(:last-child)::after {

  content: "";

  width: 1.5px;

  height: 96%;

  position: absolute;

  top: 2%;

  right: 0;

  background: rgba(168,49,69,.75);

}



.info-card h2 {

  margin: 0 0 20px;

  display: flex;

  align-items: center;

  gap: 8px;

  color: #fff;

  white-space: nowrap;

  font-family: "Fredoka", sans-serif;

  font-size:clamp(19px,1.32vw,23px);

  font-weight: 600; line-height:1.2; margin-bottom:18px;}



.sparkle,

.ingredient-sparkle {

  width: 24px;

  height: 24px;

  flex: 0 0 24px;

}



.sparkle svg,

.ingredient-sparkle svg {

  width: 100%;

  height: 100%;

  display: block;

}



.info-card p,

.info-card li {

  font-size: 15px;

  line-height: 1.6;

}



.info-card p {

  margin: 0; font-size:16px; line-height:1.5;}



.ingredient {

  margin-bottom:14px;

  font-family: 'Public Sans', sans-serif; line-height:1.48;}



.ingredient strong {

  display: flex;

  align-items: center;

  gap: 8px;

  font-family: 'Public Sans', sans-serif;

  font-size:16px;

  font-weight: 700;

  line-height:1.35;

  color: #fff;

  margin-bottom: 4px;

}



.ingredient i {

  color: rgba(255,255,255,0.85);

  margin-right: 4px;

  font-size: 12px;

}



.ingredient-sparkle {

  width: 20px;

  height: 20px;

  display: inline-flex;

  align-items: center;

  justify-content: center;

  margin-right: 0;

  flex-shrink: 0;

}



.ingredient-sparkle svg {

  width: 100%;

  height: 100%;

  display: block;

}



.ingredient p {

  font-family: 'Public Sans', sans-serif;

  font-size:15px;

  font-weight: 400;

  line-height:1.5;

  color: #fff;

  margin: 0;

  padding-left: 28px;

}



.steps,

.ideal-list {

  margin: 0;

  padding: 0;

  list-style: none; font-size:16px; line-height:1.5;}



.steps {

  counter-reset: step; font-size:16px; line-height:1.5;}



.steps li {

  counter-increment: step;

  position: relative;

  padding-left: 36px;

  margin-bottom:12px;

  font-size:16px;

  line-height:1.5;;

}



.steps li::before {

  content: counter(step);

  position: absolute;

  left: 0;

  top: 0;

  width: 26px;

  height: 26px;

  background: #F3C2DA;

  color: #E84B85;

  border-radius: 50%;

  display: flex;

  align-items: center;

  justify-content: center;

  font-size: 14px;

  font-weight: 700;

  font-family: 'Public Sans', sans-serif;

}



.ideal-list li {

  margin-bottom:12px;

  display: flex;

  align-items: center;

  gap: 10px; font-size:16px; line-height:1.5;}



.star-icon {

  color: rgba(255,255,255,.7);

  font-size: 26px;

  line-height: 1;

}



.product-error {

  max-width: 700px;

  margin: 80px auto;

  padding: 0 30px;

  text-align: center;

}



.product-error h1 {

  margin-bottom: 24px;

  color: #8B2635;

  font-family: "Fredoka", sans-serif;

}



.isy-detail-toast {

  max-width: calc(100vw - 48px);

  padding: 14px 20px;

  position: fixed;

  right: 24px;

  bottom: 24px;

  z-index: 9999;

  border-radius: 14px;

  background: #D6D66B;

  color: #8B2635;

  box-shadow: 0 6px 24px rgba(0,0,0,.13);

  pointer-events: none;

  opacity: 0;

  transform: translateY(12px);

  transition: .2s;

  font-family: "Fredoka", sans-serif;

  font-size: 14px;

  font-weight: 600;

}



.isy-detail-toast.visible {

  opacity: 1;

  transform: translateY(0);

}



/* Distribución tablet/móvil: las tarjetas informativas usan CSS Grid de verdad.
   Flex-basis/min-width no funciona para controlar las columnas de un grid. */
@media (max-width: 968px) {
  .isy-product-detail-page .product-section {
    grid-template-columns: minmax(0, 1fr);
    gap: 18px;
  }

  .isy-product-detail-page .main-image { order: 1; }
  .isy-product-detail-page .isy-gallery-strip { order: 2; }
  .isy-product-detail-page .product-info { order: 3; padding-left: 0; min-width: 0; }

  .isy-product-detail-page .thumbnails {
    flex-direction: row;
    justify-content: center;
    flex-wrap: wrap;
  }

  .isy-product-detail-page .info-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
    align-items: stretch;
  }

  .isy-product-detail-page .info-card {
    min-width: 0;
    padding: 18px clamp(14px, 3vw, 24px);
    overflow-wrap: break-word;
  }

  .isy-product-detail-page .info-card:not(:last-child)::after { display: none; }
  .isy-product-detail-page .info-card:nth-child(odd) {
    border-right: 1px solid rgba(146, 41, 50, .4);
  }
  .isy-product-detail-page .info-card:nth-child(-n+2) {
    border-bottom: 1px solid rgba(146, 41, 50, .4);
  }

  .isy-product-detail-page .info-card h2 {
    white-space: normal;
    align-items: flex-start;
  }
}

/* Ficha móvil: galería táctil de una sola fila + panel informativo 2x2. */
@media (max-width: 700px) {
  .isy-product-detail-page .product-breadcrumb {
    margin: 18px auto 15px;
    padding-inline: 16px;
    font-size: 12px;
    line-height: 1.35;
  }
  .isy-product-detail-page .breadcrumb-separator { margin-inline: 6px; }
  .isy-product-detail-page .product-section {
    padding: 0 16px 22px;
    gap: 12px;
  }
  .isy-product-detail-page .main-image {
    width: 100%;
    aspect-ratio: 1;
    border-radius: 18px;
  }

  .isy-product-detail-page .isy-gallery-strip {
    display: grid;
    grid-template-columns: minmax(0, 1fr) 30px;
    align-items: center;
    gap: 6px;
    width: 100%;
  }
  .isy-product-detail-page #product-thumbnails {
    min-width: 0;
    width: 100%;
    flex-flow: row nowrap;
    justify-content: flex-start;
    gap: 9px;
    padding: 3px 1px 8px;
    overflow-x: auto;
    overflow-y: hidden;
    overscroll-behavior-x: contain;
    scroll-snap-type: x proximity;
    scroll-padding-inline: 2px;
    scrollbar-width: none;
    -webkit-overflow-scrolling: touch;
  }
  .isy-product-detail-page #product-thumbnails::-webkit-scrollbar { display: none; }
  .isy-product-detail-page #product-thumbnails > .thumb {
    flex: 0 0 clamp(58px, 18vw, 78px);
    width: clamp(58px, 18vw, 78px);
    height: clamp(58px, 18vw, 78px);
    border-radius: 13px;
    scroll-snap-align: start;
    touch-action: pan-x pan-y;
  }
  .isy-product-detail-page .isy-gallery-mobile-next:not([hidden]) {
    display: grid;
    place-items: center;
    width: 30px;
    height: 34px;
    padding: 0;
    color: #EA4681;
    background: #fff;
    border: 1px solid #F4C2DB;
    border-radius: 999px;
    cursor: pointer;
  }
  .isy-product-detail-page .isy-gallery-mobile-next svg { width: 17px; height: 17px; }
  .isy-product-detail-page .isy-gallery-mobile-next:disabled {
    opacity: .35;
    cursor: default;
  }
  .isy-product-detail-page .isy-gallery-mobile-next:focus-visible {
    outline: 2px solid #922932;
    outline-offset: 3px;
  }
  /* En el móvil el JS muestra todas las fotos y oculta las flechas verticales. */
  .isy-product-detail-page #product-thumbnails > .isy-gallery-arrow { display: none; }

  .isy-product-detail-page .brand { font-size: 20px; }
  .isy-product-detail-page .product-title { font-size: clamp(22px, 6.5vw, 28px); margin-bottom: 10px; }
  .isy-product-detail-page .product-desc { max-width: none; font-size: 13px; line-height: 1.5; }
  .isy-product-detail-page .price { font-size: 30px; margin-bottom: 9px; }
  .isy-product-detail-page .benefits {
    flex-direction: row;
    flex-wrap: wrap;
    gap: 7px 16px;
    margin-bottom: 14px;
    font-size: 11px;
  }
  .isy-product-detail-page .benefits .isy-detail-benefit__icon--shipping {
    width: 29px; height: 20px;
  }
  .isy-product-detail-page .benefits .isy-detail-benefit__icon--secure {
    width: 26px; height: 26px;
  }
  .isy-product-detail-page .quantity-wrapper {
    gap: 10px;
    flex-wrap: wrap;
    margin-bottom: 12px;
  }
  /* Los botones siguen siendo los originales, con su lógica de stock y carrito. */
  .isy-product-detail-page .product-info {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    column-gap: 10px;
    align-items: start;
  }
  .isy-product-detail-page .product-info > :not(.btn-cart):not(.btn-buy):not(.btn-fav):not(.isy-mobile-favorite-action) {
    grid-column: 1 / -1;
  }
  .isy-product-detail-page .product-info > .btn-cart,
  .isy-product-detail-page .product-info > .btn-buy {
    min-width: 0;
    width: 100%;
    min-height: 44px;
    padding: 10px 7px;
    gap: 5px;
    font-size: 12px;
    line-height: 1.2;
    text-align: center;
    white-space: normal;
    margin-bottom: 8px;
  }
  .isy-product-detail-page .product-info > .btn-cart { grid-column: 1; }
  .isy-product-detail-page .product-info > .btn-buy { grid-column: 2; }
  .isy-product-detail-page .product-info > .btn-cart span[aria-hidden] {
    width: 20px !important;
    height: 20px !important;
  }
  .isy-product-detail-page .product-info > .btn-buy img { width: 12px; height: 17px; }
  .isy-product-detail-page .product-info > .btn-fav {
    grid-column: 1 / -1;
    min-height: 42px;
    padding: 10px 15px;
    margin-bottom: 0;
    font-size: 13px;
  }

  .isy-product-detail-page .info-section {
    width: auto;
    max-width: none;
    margin: 22px 14px;
    padding: 10px 5px;
    border-radius: 18px;
  }
  .isy-product-detail-page .info-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
    align-items: stretch;
  }
  .isy-product-detail-page .info-card {
    min-width: 0;
    padding: 12px 9px 14px;
    font-family: "Public Sans", sans-serif;
    font-size: 12px;
    line-height: 1.42;
    overflow-wrap: anywhere;
    hyphens: auto;
  }
  .isy-product-detail-page .info-card h2 {
    display: flex;
    align-items: flex-start;
    gap: 5px;
    margin: 0 0 12px;
    font: 600 clamp(13px, 3.7vw, 17px)/1.2 "Fredoka", sans-serif;
    white-space: normal;
    overflow-wrap: anywhere;
  }
  .isy-product-detail-page .info-card h2 .sparkle {
    flex: 0 0 15px;
    width: 15px;
    height: 15px;
  }
  .isy-product-detail-page .info-card p,
  .isy-product-detail-page .info-card li,
  .isy-product-detail-page .isy-detail-property {
    font-size: 12px;
    line-height: 1.45;
  }
  .isy-product-detail-page .info-card p { margin: 0; }
  .isy-product-detail-page .ingredient { margin-bottom: 13px; }
  .isy-product-detail-page .ingredient strong {
    align-items: flex-start;
    font-size: 12px;
    line-height: 1.35;
    gap: 5px;
    margin-bottom: 3px;
    overflow-wrap: anywhere;
  }
  .isy-product-detail-page .ingredient-sparkle {
    flex: 0 0 13px;
    width: 13px;
    height: 13px;
  }
  .isy-product-detail-page .ingredient p { padding-left: 18px; }
  .isy-product-detail-page .steps li {
    padding-left: 24px;
    margin-bottom: 11px;
    min-height: 20px;
  }
  .isy-product-detail-page .steps li::before {
    width: 18px;
    height: 18px;
    font-size: 11px;
  }
  .isy-product-detail-page .ideal-list li {
    align-items: flex-start;
    gap: 6px;
    margin-bottom: 9px;
  }
  .isy-product-detail-page .star-icon { flex: 0 0 auto; font-size: 19px; }
  .isy-product-detail-page .isy-detail-property-star {
    flex: 0 0 15px;
    width: 15px;
    height: 15px;
  }
  .isy-product-detail-page .related-section { margin-inline: 14px; padding-inline: 0; }
}

@media (max-width: 360px) {
  .isy-product-detail-page .info-section,
  .isy-product-detail-page .related-section { margin-inline: 10px; }
  .isy-product-detail-page .info-card { padding-inline: 7px; }
  .isy-product-detail-page .info-card p,
  .isy-product-detail-page .info-card li,
  .isy-product-detail-page .isy-detail-property { font-size: 11.5px; }
  .isy-product-detail-page .info-card h2 { font-size: 12.5px; }
}

/* =========================================================

   TAMBIÉN TE PODRÍA GUSTAR

   ========================================================= */



.related-section{max-width:1300px;margin:32px auto 40px;padding:24px 28px 30px;background:#FFF3F7;border-radius:18px;}



.related-header{display:flex;align-items:center;justify-content:space-between;gap:20px;margin-bottom:18px;}



.related-header h2{margin:0;color:#E84B85;font-family:'Fredoka',sans-serif;font-size:22px;font-weight:600;}



.related-title-sparkle{color:#D6D66C;margin-left:4px;font-size:26px;vertical-align:-2px;}



.related-view-all{display:inline-flex;align-items:center;gap:12px;color:#8A313F;text-decoration:none;font-family:'Public Sans',sans-serif;font-size:15px;font-weight:700;white-space:nowrap;}



.related-view-all span{font-size:26px;line-height:1;}



.related-grid{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:12px;}



.related-card-link{display:block;color:inherit;text-decoration:none;}



@media(max-width:900px){

  .related-section{padding:20px 16px 24px;}

  .related-grid{display:flex;gap:12px;overflow-x:auto;scroll-snap-type:x mandatory;scrollbar-width:none;}

  .related-grid::-webkit-scrollbar{display:none;}

  .related-grid .product-card{flex:0 0 180px;scroll-snap-align:start;}

}



/* ISY_DETAIL_MOBILE_V2 -- dos recomendados completos en cada ancho de teléfono */
@media (max-width:700px) {
  .isy-product-detail-page .related-section {min-width:0;overflow:hidden;}
  /* ISY_DETAIL_MOBILE_V5 -- misma cabecera original, compacta en movil; sin otra seccion responsive */
  .isy-product-detail-page .related-header {
    display:grid;
    grid-template-columns:minmax(0,1fr) max-content;
    align-items:center;
    gap:clamp(4px,1.5vw,9px);
    margin-inline:14px;
  }
  .isy-product-detail-page .related-header h2 {
    min-width:0;
    font-size:clamp(13px,4.3vw,18px);
    letter-spacing:-.025em;
    line-height:1.15;
    white-space:nowrap;
  }
  .isy-product-detail-page .related-title-sparkle {
    display:inline-block;
    margin-left:2px;
    font-size:clamp(18px,4.8vw,21px);
    vertical-align:0;
  }
  .isy-product-detail-page .related-view-all {
    justify-self:end;
    gap:5px;
    font-family: 'Fredoka', sans-serif;
    font-size:clamp(12px,3.3vw,14px);
    line-height:1;
    white-space:nowrap;
  }
  /* El mismo span del enlace usa la flecha SVG adjunta solamente en movil.
     En escritorio sigue mostrando su flecha de texto original. */
  .isy-product-detail-page .related-view-all span {
    display:inline-block;
    flex:0 0 16px;
    width:16px;
    height:15px;
    font-size:0;
    line-height:0;
    background:url('/assets/isypisy_wholesale/images/flecha_ver_todos_movil.svg') center/contain no-repeat;
  }
  .isy-product-detail-page .related-grid {gap:10px;min-width:0;scroll-padding-inline:0;}
  .isy-product-detail-page .related-grid > .product-card {
    box-sizing:border-box;
    flex:0 0 calc((100% - 10px) / 2);
    width:calc((100% - 10px) / 2);
    min-width:0;
    max-width:none;
    scroll-snap-align:start;
  }
  .isy-product-detail-page .related-grid .related-card-link,
  .isy-product-detail-page .related-grid .product-brand,
  .isy-product-detail-page .related-grid .product-name,
  .isy-product-detail-page .related-grid .product-sku {min-width:0;max-width:100%;overflow-wrap:anywhere;}
  .isy-product-detail-page .related-grid .product-image {max-width:100%;}
  .isy-product-detail-page .related-grid .brand-stock-row {
    min-width:0;flex-wrap:wrap;gap:4px 5px;
  }
  .isy-product-detail-page .related-grid .stock-pill {max-width:100%;}
  .isy-product-detail-page .related-grid .product-footer {min-width:0;}
}

/* Selector de variantes de la ficha (tonos y presentaciones) */

.isy-detail-variant-picker {margin:18px 0 20px;}

.isy-detail-variant-title {color:#8B2335;font:600 17px/1.3 'Fredoka',sans-serif;margin-bottom:12px;}

.isy-detail-variant-options {display:flex;flex-wrap:wrap;gap:10px;align-items:center;}

.isy-detail-variant-option {position:relative;cursor:pointer;background:#fff;transition:border-color .15s,box-shadow .15s;}

.isy-detail-variant-option:hover:not(:disabled) {border-color:#EA4681;}

.isy-detail-variant-option:focus-visible {outline:3px solid #D6D66B;outline-offset:3px;}

.isy-detail-variant-option--size.is-selected {border-color:#EA4681;box-shadow:0 0 0 2px rgba(234,70,129,.2);}

.isy-detail-variant-option--tone.is-selected {border-color:#EA4681;box-shadow:none;}

.isy-detail-variant-option:disabled {opacity:.45;cursor:not-allowed;}

.isy-detail-variant-option--tone {position:relative;width:44px;height:44px;padding:0;border:2px solid transparent;border-radius:50%;background:transparent;display:block;box-sizing:border-box;appearance:none;}

.isy-detail-tone-paint {position:absolute;inset:4px;width:auto;height:auto;display:block;border:0;border-radius:50%;background:repeating-linear-gradient(135deg,#e6e6e6 0 5px,#fff 5px 10px);pointer-events:none;}

.isy-detail-variant-option--tone.is-out-of-stock::after {content:"";position:absolute;inset:4px;border-radius:50%;background:linear-gradient(135deg,transparent calc(50% - 1.2px),#8B2335 calc(50% - 1.2px),#8B2335 calc(50% + 1.2px),transparent calc(50% + 1.2px));pointer-events:none;}

.isy-detail-selected-variant {margin-top:12px;color:#8B2335;font:600 15px/1.4 'Fredoka',sans-serif;}

.isy-detail-selected-sku {margin-top:3px;color:#8b838a;font:400 12px/1.35 'Public Sans',sans-serif;overflow-wrap:anywhere;}

@media(max-width:480px) {.isy-detail-variant-option--tone {width:42px;height:42px;}.isy-detail-tone-paint {inset:5px;width:auto;height:auto;}}

.isy-detail-tone-shell {display:inline-grid;place-items:center;position:relative;width:44px;height:44px;flex:0 0 44px;background:transparent;}

.isy-detail-tone-shell:focus-visible {outline:2px solid #EA4681;outline-offset:3px;border-radius:50%;}

.isy-detail-tone-shell:has(button:disabled) {cursor:help;}

.isy-detail-variant-option--tone.is-out-of-stock {opacity:.65;cursor:pointer;overflow:hidden;pointer-events:auto;}

.isy-detail-property {display:flex;gap:10px;align-items:flex-start;margin:0 0 12px;font:400 15px/1.6 "Public Sans",sans-serif;color:#FFFFFF;}

.isy-detail-property-star {display:block;flex:0 0 22px;width:22px;height:23px;margin-top:3px;font-size:0;line-height:0;color:transparent;background-image:url('/assets/isypisy_wholesale/images/estrella_prop_destacadas.svg');background-position:center;background-repeat:no-repeat;background-size:contain;}



/* Selector de presentación: gris sin elegir, rosa al interactuar, vino elegido. */

#isy-detail-presentation-select {background:transparent;display:block;width:100%;max-width:430px;min-height:46px;padding:10px 38px 10px 15px;border:1.5px solid #BFC0C6;border-radius:12px;color:#85858C;font:500 15px/1.3 "Fredoka",sans-serif;cursor:pointer;outline:none;transition:border-color .22s ease,color .22s ease; background-color:transparent !important; background-image:url("data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20viewBox%3D%220%200%2024%2024%22%3E%3Cpath%20d%3D%22M5%209l7%207%207-7%22%20fill%3D%22none%22%20stroke%3D%22%238B2335%22%20stroke-width%3D%222.3%22%20stroke-linecap%3D%22round%22%20stroke-linejoin%3D%22round%22%2F%3E%3C%2Fsvg%3E"); background-repeat:no-repeat; background-position:right 20px center; background-size:18px 18px; appearance:none; -webkit-appearance:none; box-shadow:none;}

#isy-detail-presentation-select:hover,#isy-detail-presentation-select:focus {border-color:#EA4681;}

#isy-detail-presentation-select:focus-visible {outline:none;box-shadow:none;}

#isy-detail-presentation-select:valid {border-color:#EA4681;color:#8B2335; box-shadow:none;}

#isy-detail-presentation-select:invalid:not(:hover):not(:focus) {border-color:#BFC0C6;color:#85858C;}

#isy-detail-presentation-select option {background:#FFF1F8;color:#8B2335;}



/* ISYPISY_CARRUSEL_CINCO_MINIATURAS_V2 */

/* Flechas sin recuadro: chevron de trazo gris -> rosa al interactuar. */

#product-thumbnails > .thumb[hidden] { display: none !important; }

#product-thumbnails > .isy-gallery-arrow {

  display: flex;

  align-items: center;

  justify-content: center;

  align-self: flex-start;

  flex: 0 0 28px;

  width: 75px;

  max-width: 100%;

  height: 28px;

  padding: 0;

  margin: 0;

  border: 0 !important;

  border-radius: 0 !important;

  background: transparent !important;

  color: #909098;

  box-shadow: none !important;

  outline: none !important;

  cursor: pointer;

  transition: color .18s ease;

}

#product-thumbnails > .isy-gallery-arrow::before {

  content: "";

  display: block;

  width: 11px;

  height: 11px;

  border-right: 2px solid currentColor;

  border-bottom: 2px solid currentColor;

  transform: translateY(-2px) rotate(45deg);

  transition: border-color .18s ease;

}

#product-thumbnails > .isy-gallery-arrow[data-direction="prev"]::before {

  transform: translateY(2px) rotate(225deg);

}

#product-thumbnails > .isy-gallery-arrow:hover:not(:disabled),

#product-thumbnails > .isy-gallery-arrow:focus-visible:not(:disabled),

#product-thumbnails > .isy-gallery-arrow:focus:not(:disabled),

#product-thumbnails > .isy-gallery-arrow:active:not(:disabled) {

  color: #EA4681;

}

#product-thumbnails > .isy-gallery-arrow:disabled {

  opacity: .35;

  cursor: default;

}

@media (max-width: 700px) {

  #product-thumbnails > .isy-gallery-arrow {

    align-self: center;

    flex: 0 0 28px;

    width: 28px;

    height: 40px;

  }

  #product-thumbnails > .isy-gallery-arrow[data-direction="prev"]::before {

    transform: translateX(2px) rotate(135deg);

  }

  #product-thumbnails > .isy-gallery-arrow[data-direction="next"]::before {

    transform: translateX(-2px) rotate(-45deg);

  }

}

/* ISY BENEFICIOS - ICONOS */

.benefits .isy-detail-benefit {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  color: #922932;
}

.benefits .isy-detail-benefit--secure {
  gap: 4px;
}

.benefits .isy-detail-benefit__icon {
  display: inline-block;
  flex: 0 0 auto;
  background-color: #922932;
  -webkit-mask-position: center;
  mask-position: center;
  -webkit-mask-repeat: no-repeat;
  mask-repeat: no-repeat;
  -webkit-mask-size: contain;
  mask-size: contain;
}

/* Camion */
.benefits .isy-detail-benefit__icon--shipping {
  width: 39px;
  height: 22px;
  -webkit-mask-image: url('/assets/isypisy_wholesale/images/camion.svg');
  mask-image: url('/assets/isypisy_wholesale/images/camion.svg');
}

/* Candado */
.benefits .isy-detail-benefit__icon--secure {
  width: 38px;
  height: 38px;
  -webkit-mask-image: url('/assets/isypisy_wholesale/images/icono-candado.svg');
  mask-image: url('/assets/isypisy_wholesale/images/icono-candado.svg');
}

/* ISY_DETAIL_MOBILE_V2 -- selector de tamaños integrado en el sitio, sin menú nativo */
.isy-detail-presentation-mobile {display:none;}
@media (max-width:700px) {
  .isy-product-detail-page #isy-detail-presentation-select.isy-mobile-select-enhanced {display:none;}
  .isy-product-detail-page .isy-detail-presentation-mobile {display:block;width:100%;max-width:430px;position:relative;}
  .isy-product-detail-page .isy-detail-presentation-trigger {
    display:flex;align-items:center;justify-content:space-between;gap:10px;
    width:100%;min-height:46px;padding:10px 14px;
    border:1.5px solid #BFC0C6;border-radius:12px;
    background:#FFF9FC;color:#8B2335;text-align:left;
    font:500 15px/1.3 'Fredoka',sans-serif;cursor:pointer;
  }
  .isy-product-detail-page .isy-detail-presentation-trigger[aria-expanded='true'] {border-color:#EA4681;border-radius:12px 12px 0 0;}
  .isy-product-detail-page .isy-detail-presentation-trigger:focus-visible,
  .isy-product-detail-page .isy-detail-presentation-choice:focus-visible {outline:2px solid #EA4681;outline-offset:2px;}
  .isy-product-detail-page .isy-detail-presentation-trigger svg {width:18px;height:18px;flex:none;transition:transform .18s ease;}
  .isy-product-detail-page .isy-detail-presentation-trigger[aria-expanded='true'] svg {transform:rotate(180deg);}
  .isy-product-detail-page .isy-detail-presentation-options[hidden] {display:none;}
  .isy-product-detail-page .isy-detail-presentation-options {
    display:grid;gap:0;border:1.5px solid #EA4681;border-top:0;
    border-radius:0 0 12px 12px;overflow:hidden;background:#FFF9FC;
  }
  .isy-product-detail-page .isy-detail-presentation-choice {
    display:block;width:100%;min-width:0;min-height:42px;padding:11px 14px;
    border:0;border-top:1px solid rgba(234,70,129,.13);
    background:#FFF9FC;color:#8B2335;text-align:left;
    font:500 14px/1.3 'Public Sans',sans-serif;cursor:pointer;
  }
  .isy-product-detail-page .isy-detail-presentation-choice:hover,
  .isy-product-detail-page .isy-detail-presentation-choice[aria-pressed='true'] {background:#F4C2DB;}
  .isy-product-detail-page .isy-detail-presentation-choice:disabled {
    color:#9D9D9E;background:#FFF1F8;opacity:.8;cursor:not-allowed;
  }
}

/* ISY_DETAIL_MOBILE_V4 -- FAVORITO UNICO: conserva el mismo boton y su listener.
   El corazon original permanece en escritorio; en movil su glifo/imagen se oculta
   y se dibuja UN icono mediante ::before, nunca un segundo SVG en el DOM. */
@media (max-width:700px) {
  .isy-product-detail-page.isy-mobile-favorite-ready .product-info > .btn-fav {
    grid-column:1;min-width:0;width:100%;min-height:48px;
    padding:10px 7px;line-height:1.2;margin-bottom:0;font-size:12px;
  }
  .isy-product-detail-page .product-info > .isy-mobile-favorite-action {
    grid-column:2;position:static!important;inset:auto!important;
    display:flex!important;align-items:center!important;justify-content:center!important;
    flex-direction:row!important;gap:clamp(3px,1vw,6px)!important;
    box-sizing:border-box;width:100%!important;max-width:none!important;
    min-width:0;min-height:48px;height:auto!important;
    margin:0!important;padding:9px 5px!important;
    border:0!important;border-radius:999px!important;
    background:#F4C2DB!important;background-image:none!important;
    color:#922932!important;text-align:center!important;cursor:pointer;
    font-size:0!important;line-height:1!important;
    transform:none!important;
  }
  /* Evita tanto el glifo de texto original como SVG/img/iconos internos originales.
     font-size:0 oculta un corazon que fuese un nodo de texto suelto. */
  .isy-product-detail-page .isy-mobile-favorite-action > :not(.isy-mobile-fav-label) {
    display:none!important;
  }
  /* UN SOLO corazon visual, sin elementos ni listeners anadidos al DOM. */
  .isy-product-detail-page .product-info > .isy-mobile-favorite-action::before {
    content:""!important;display:block!important;position:static!important;
    width:clamp(18px,5.5vw,23px)!important;
    height:clamp(18px,5.2vw,22px)!important;
    flex:0 0 clamp(18px,5.5vw,23px)!important;
    margin:0!important;padding:0!important;
    background:#922932!important;background-color:#922932!important;
    border:0!important;box-shadow:none!important;opacity:1!important;
    mask-image:url("data:image/svg+xml,%3Csvg%20xmlns='http://www.w3.org/2000/svg'%20viewBox='0%200%2024%2024'%3E%3Cpath%20d='M12%2021.2%203.3%2012.6C-.6%208.7%202%202.7%206.6%202.7c2.3%200%204.1%201.1%205.4%202.7%201.3-1.6%203.1-2.7%205.4-2.7%204.6%200%207.2%206%203.3%209.9L12%2021.2Z'%20fill='none'%20stroke='black'%20stroke-width='1.9'%20stroke-linejoin='round'/%3E%3C/svg%3E")!important;
    -webkit-mask-image:url("data:image/svg+xml,%3Csvg%20xmlns='http://www.w3.org/2000/svg'%20viewBox='0%200%2024%2024'%3E%3Cpath%20d='M12%2021.2%203.3%2012.6C-.6%208.7%202%202.7%206.6%202.7c2.3%200%204.1%201.1%205.4%202.7%201.3-1.6%203.1-2.7%205.4-2.7%204.6%200%207.2%206%203.3%209.9L12%2021.2Z'%20fill='none'%20stroke='black'%20stroke-width='1.9'%20stroke-linejoin='round'/%3E%3C/svg%3E")!important;
    mask-size:contain!important;-webkit-mask-size:contain!important;
    mask-position:center!important;-webkit-mask-position:center!important;
    mask-repeat:no-repeat!important;-webkit-mask-repeat:no-repeat!important;
  }
  .isy-product-detail-page .product-info > .isy-mobile-favorite-action::after {
    content:none!important;display:none!important;
  }
  /* Usa exclusivamente el estado publicado por el boton original. */
  .isy-product-detail-page .product-info > .isy-mobile-favorite-action:is(
    [aria-pressed='true'],[data-favorite='true'],[data-favorite='1'],
    [data-active='true'],[data-selected='true'],
    .is-active,.is-favorite,.is-favorited,.is-saved,.favorited
  )::before {
    mask-image:url("data:image/svg+xml,%3Csvg%20xmlns='http://www.w3.org/2000/svg'%20viewBox='0%200%2024%2024'%3E%3Cpath%20d='M12%2021.2%203.3%2012.6C-.6%208.7%202%202.7%206.6%202.7c2.3%200%204.1%201.1%205.4%202.7%201.3-1.6%203.1-2.7%205.4-2.7%204.6%200%207.2%206%203.3%209.9L12%2021.2Z'%20fill='black'/%3E%3C/svg%3E")!important;
    -webkit-mask-image:url("data:image/svg+xml,%3Csvg%20xmlns='http://www.w3.org/2000/svg'%20viewBox='0%200%2024%2024'%3E%3Cpath%20d='M12%2021.2%203.3%2012.6C-.6%208.7%202%202.7%206.6%202.7c2.3%200%204.1%201.1%205.4%202.7%201.3-1.6%203.1-2.7%205.4-2.7%204.6%200%207.2%206%203.3%209.9L12%2021.2Z'%20fill='black'/%3E%3C/svg%3E")!important;
  }
  .isy-product-detail-page .isy-mobile-favorite-action .isy-mobile-fav-label {
    display:inline!important;flex:0 1 auto!important;min-width:0;
    color:#922932!important;background:none!important;text-align:center;
    font:600 clamp(10px,3.15vw,12.5px)/1.15 'Fredoka',sans-serif!important;
    white-space:nowrap!important;overflow-wrap:normal!important;
  }
  .isy-product-detail-page .isy-mobile-favorite-action:focus-visible {
    outline:2px solid #922932;outline-offset:2px;
  }
}
@media (min-width:701px) {
  .isy-mobile-fav-label,.isy-mobile-fav-heart {display:none!important;}
}

/* ISYPISY_VARIANTES_AGOTADAS_V1 — seleccionables, pero no comprables. */
.isy-variant-selector .isy-variant-option.is-out-of-stock {opacity:.65;cursor:pointer;}
.isy-variant-selector .isy-variant-option.is-out-of-stock:focus-visible {outline:2px solid #EA4681;outline-offset:2px;}
.isy-variant-selector .isy-variant-option.is-selected {outline:2px solid #EA4681;outline-offset:-2px;}

/* Variante nueva: etiqueta discreta encima del círculo del tono. */
.isy-detail-variant-options--tones:has(.isy-detail-tone-new) {row-gap:24px;padding-top:16px;}
.isy-detail-tone-new {position:absolute;top:-16px;left:50%;transform:translateX(-50%);z-index:1;padding:1px 5px;border-radius:999px;background:#D6D66B;color:#EA4681;font:600 9px/1.2 'Public Sans',sans-serif;white-space:nowrap;pointer-events:none;}

/* Próximamente: producto o variante en camino, en vino IsyPisy. */
.stock.is-coming-soon {color:#922932;}
.stock.is-coming-soon .stock-dot {background:#922932;}
