
.decen-flash-overlay{position:fixed;inset:0;background:rgba(255,255,255,.68);backdrop-filter:blur(10px);z-index:2147483600;opacity:0;visibility:hidden;pointer-events:none;transition:.22s ease}
body.decen-flash-open{overflow:hidden}
body.decen-flash-open .decen-flash-overlay{opacity:1;visibility:visible;pointer-events:auto}
.decen-flash-popup{
  position:fixed;top:50%;left:50%;z-index:2147483601;width:min(980px,calc(100vw - 48px));max-height:min(88dvh,760px);
  background:#fff;border-radius:30px;box-shadow:0 30px 90px rgba(20,16,12,.22);padding:22px 24px 20px;
  opacity:0;visibility:hidden;pointer-events:none;transform:translate(-50%,-46%) scale(.96);transition:.26s ease;overflow:visible;
  font-family:inherit;
}
.decen-flash-popup.is-active{opacity:1;visibility:visible;pointer-events:auto;transform:translate(-50%,-50%) scale(1);transition-delay:0s}
.decen-flash-popup.is-closing{opacity:0;visibility:visible;pointer-events:none;transform:translate(-50%,-46%) scale(.96)}
.decen-flash-close{
  position:absolute;top:-18px;right:-18px;width:42px;height:42px;border-radius:50%;border:0;background:#111;color:#fff;font-size:24px;line-height:1;
  display:grid;place-items:center;cursor:pointer;box-shadow:0 8px 22px rgba(0,0,0,.18)
}
.decen-flash-head{border-bottom:1px solid #eadfce;padding-bottom:14px;margin-bottom:18px}
.decen-flash-label{display:inline-flex;background:#111;color:#fff;border-radius:999px;padding:6px 14px;font-size:10px;line-height:1;font-weight:800;letter-spacing:.16em;text-transform:uppercase}
.decen-flash-head h3{margin:10px 0 6px;color:#1d1711;font-size:clamp(24px,2.3vw,34px);line-height:1.08;letter-spacing:-.02em}
.decen-flash-head p{margin:0;color:#83786e;font-size:14px;line-height:1.35;max-width:760px}
.decen-flash-products{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px;margin:0 auto}
.decen-flash-card{
  position:relative;background:#fff;border:1px solid #dfdfdf;border-radius:22px;overflow:hidden;box-shadow:0 16px 34px rgba(32,23,12,.10);
  display:flex;flex-direction:column;min-width:0
}
.decen-flash-card-pill{
  position:absolute;top:10px;right:10px;z-index:4;background:rgba(255,248,235,.96);border:1px solid #e7c789;color:#9b6b1e;border-radius:999px;
  padding:5px 9px;font-size:8px;line-height:1;font-weight:800;letter-spacing:.07em;text-transform:uppercase;box-shadow:0 6px 14px rgba(0,0,0,.08)
}
.decen-flash-image{height:178px;background:#f7f5f2;overflow:hidden}
.decen-flash-image img{width:100%;height:100%;object-fit:cover;display:block}
.decen-flash-card-body{display:flex;flex-direction:column;gap:7px;padding:11px 12px 13px}
.decen-flash-card-body h4{margin:0;color:#1d1711;font-size:15px;line-height:1.1;letter-spacing:-.01em}
.decen-flash-prices{display:flex;align-items:baseline;gap:8px;flex-wrap:nowrap;white-space:nowrap;margin:0;line-height:1}
.decen-flash-prices del,.decen-flash-prices del *{color:#847b74;font-size:12px;font-weight:500;text-decoration:line-through}
.decen-flash-prices strong,.decen-flash-prices strong *{color:#d92323;font-size:17px;font-weight:800;text-decoration:none}
.decen-flash-discount{display:inline-flex;width:max-content;max-width:100%;border-radius:999px;background:#effaf2;border:1px solid #9bd1a7;color:#1f5b2b;padding:4px 9px;font-size:10px;font-weight:800;line-height:1;text-transform:uppercase;letter-spacing:.05em}
.decen-flash-attrs{display:grid;grid-template-columns:1fr;gap:5px;margin-top:2px}
.decen-flash-attrs label{font-size:10px;color:#81776f;font-weight:700;line-height:1;text-transform:uppercase;letter-spacing:.04em}
.decen-flash-attrs select{width:100%;height:34px;border:1px solid #ddd;border-radius:12px;background:#fff;padding:0 10px;font-size:12px;color:#1d1711}
.decen-flash-actions{display:flex;align-items:center;justify-content:center;gap:14px;margin-top:18px;padding-top:14px;border-top:1px solid #eadfce}
.decen-flash-add.button{border-radius:999px;background:#111;color:#fff;padding:12px 22px;font-size:13px;font-weight:800;line-height:1;min-width:230px}
.decen-flash-add.button:hover,.decen-flash-add.button:focus{background:#2e2e2e;color:#fff}
.decen-flash-add.button:disabled{opacity:.6;cursor:wait}
.decen-flash-message{font-size:12px;color:#6f665f;line-height:1.25}
.decen-flash-message.is-error{color:#b42318}
.decen-flash-message.is-success{color:#1f5b2b}
.decen-flash-price-pair{display:inline-flex;align-items:baseline;gap:8px;white-space:nowrap;line-height:1}
.decen-flash-price-pair del,.decen-flash-price-pair del *{color:#777;text-decoration:line-through}
.decen-flash-price-pair ins,.decen-flash-price-pair ins *{color:#d92323;text-decoration:none;font-weight:800;background:transparent}
.decen-flash-widget-quantity{display:inline-flex;align-items:baseline;gap:5px;flex-wrap:wrap}
@media(max-width:900px){
  .decen-flash-popup{width:min(555px,calc(100vw - 28px));padding:18px 16px 16px;max-height:90dvh;overflow:auto}
  .decen-flash-head h3{font-size:22px}
  .decen-flash-products{grid-template-columns:1fr;gap:12px}
  .decen-flash-card{display:grid;grid-template-columns:132px 1fr}
  .decen-flash-image{height:100%}
  .decen-flash-card-pill{left:8px;right:auto}
}
@media(max-width:640px){
  .decen-flash-popup{width:calc(100vw - 18px);border-radius:22px;padding:15px 12px 13px}
  .decen-flash-close{top:10px;right:10px;width:34px;height:34px;font-size:20px}
  .decen-flash-head{padding-right:42px;margin-bottom:12px}
  .decen-flash-label{font-size:8px;padding:5px 10px}
  .decen-flash-head h3{font-size:18px}
  .decen-flash-head p{font-size:12px}
  .decen-flash-card{grid-template-columns:112px 1fr;border-radius:18px}
  .decen-flash-card-body{padding:9px;gap:5px}
  .decen-flash-card-body h4{font-size:13px}
  .decen-flash-prices del,.decen-flash-prices del *{font-size:10px}
  .decen-flash-prices strong,.decen-flash-prices strong *{font-size:14px}
  .decen-flash-actions{flex-direction:column;gap:9px}
  .decen-flash-add.button{width:100%;min-width:0}
}
.decen-flash-close{
  appearance:none;
  -webkit-appearance:none;
  width:44px;
  height:44px;
  min-width:44px;
  min-height:44px;
  max-width:44px;
  max-height:44px;
  flex:0 0 44px;
  aspect-ratio:1 / 1;
  padding:0;
  border:0;
  border-radius:50%;
  display:inline-grid;
  place-items:center;
  line-height:1;
  text-align:center;
}
.decen-flash-card{
  border-color:#dedede;
}
.decen-flash-card-body{
  flex:1 1 auto;
  justify-content:center;
  min-height:0;
}
.decen-flash-prices.is-regular-only strong,
.decen-flash-prices.is-regular-only strong *,
.decen-flash-prices.is-regular-only strong bdi{
  color:#1d1711;
  font-weight:700;
  text-decoration:none;
}
.decen-flash-prices.is-regular-only{
  text-decoration:none;
}
.decen-flash-attrs{
  gap:8px;
  margin-top:4px;
}
.decen-flash-attr-row{
  display:flex;
  flex-direction:column;
  gap:6px;
}
.decen-flash-attr-label{
  display:block;
  font-size:10px;
  color:#81776f;
  font-weight:800;
  line-height:1;
  text-transform:uppercase;
  letter-spacing:.05em;
}
.decen-flash-swatches{
  display:flex;
  flex-wrap:wrap;
  gap:6px;
  align-items:center;
}
.decen-flash-swatch{
  appearance:none;
  -webkit-appearance:none;
  border:1px solid #ddd;
  background:#fff;
  color:#2b2621;
  border-radius:999px;
  min-height:30px;
  max-width:100%;
  padding:5px 10px;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  gap:6px;
  font-size:11px;
  font-weight:700;
  line-height:1;
  cursor:pointer;
  box-shadow:none;
  transition:border-color .16s ease, background .16s ease, color .16s ease, box-shadow .16s ease, transform .08s ease;
}
.decen-flash-swatch:hover,
.decen-flash-swatch:focus{
  border-color:#111;
  box-shadow:0 0 0 2px rgba(17,17,17,.08);
}
.decen-flash-swatch:active{
  transform:translateY(1px);
}
.decen-flash-swatch.is-active{
  background:#111;
  border-color:#111;
  color:#fff;
}
.decen-flash-swatch__visual{
  width:16px;
  height:16px;
  min-width:16px;
  border-radius:50%;
  border:1px solid rgba(0,0,0,.16);
  box-shadow:inset 0 0 0 1px rgba(255,255,255,.42);
}
.decen-flash-swatch.is-active .decen-flash-swatch__visual{
  border-color:rgba(255,255,255,.55);
}
.decen-flash-swatch__label{
  overflow:hidden;
  text-overflow:ellipsis;
  white-space:nowrap;
}
.decen-flash-card .decen-flash-attrs select{
  display:none;
}
.decen-flash-add.button:hover,
.decen-flash-add.button:focus{
  background:#2f2f2f;
  color:#fff;
}
.decen-flash-add.button:active{
  background:#1f1f1f;
  color:#fff;
  transform:translateY(1px);
}
@media(max-width:900px){
  .decen-flash-card-body{
    justify-content:center;
  }
  .decen-flash-close{
    width:40px;
    height:40px;
    min-width:40px;
    min-height:40px;
    max-width:40px;
    max-height:40px;
    flex-basis:40px;
  }
}
@media(max-width:640px){
  .decen-flash-close{
    top:10px;
    right:10px;
    width:34px;
    height:34px;
    min-width:34px;
    min-height:34px;
    max-width:34px;
    max-height:34px;
    flex-basis:34px;
  }
  .decen-flash-swatch{
    min-height:28px;
    padding:5px 9px;
    font-size:10px;
  }
}


/* v1.0.2 - Swatches compactos: color = círculo sin texto; layout estable con distintas cantidades de variaciones. */
.decen-flash-products{
  align-items:stretch;
}
.decen-flash-card{
  min-height:0;
  border-color:#dedede;
}
.decen-flash-card-body{
  justify-content:flex-start;
  gap:6px;
  min-height:0;
}
.decen-flash-card.no-attrs .decen-flash-card-body{
  justify-content:flex-start;
}
.decen-flash-card-body h4{
  font-size:14px;
  line-height:1.08;
}
.decen-flash-image{
  height:170px;
  flex:0 0 170px;
}
.decen-flash-attrs{
  display:grid;
  gap:8px;
  margin-top:3px;
  max-height:184px;
  overflow:auto;
  padding-right:2px;
  scrollbar-width:thin;
}
.decen-flash-swatches{
  gap:7px;
}
.decen-flash-swatch.is-color{
  width:26px;
  height:26px;
  min-width:26px;
  min-height:26px;
  max-width:26px;
  max-height:26px;
  padding:0;
  border-radius:999px;
  gap:0;
}
.decen-flash-swatch.is-color .decen-flash-swatch__visual{
  width:18px;
  height:18px;
  min-width:18px;
  border-radius:50%;
}
.decen-flash-swatch.is-color .decen-flash-swatch__label,
.decen-flash-swatch__label--hidden{
  position:absolute;
  width:1px;
  height:1px;
  padding:0;
  margin:-1px;
  overflow:hidden;
  clip:rect(0,0,0,0);
  white-space:nowrap;
  border:0;
}
.decen-flash-swatch.is-text{
  min-height:26px;
  padding:5px 9px;
  font-size:10.5px;
}
.decen-flash-swatch.is-active.is-color{
  background:#111;
  box-shadow:0 0 0 2px rgba(17,17,17,.12);
}
.decen-flash-swatch.is-active.is-color .decen-flash-swatch__visual{
  border-color:rgba(255,255,255,.7);
}

@media(min-width:901px){
  .decen-flash-popup{
    max-height:min(88dvh,740px);
    overflow:visible;
  }
  .decen-flash-card{
    height:100%;
  }
}

@media(max-width:900px){
  .decen-flash-image{
    height:100%;
    flex:initial;
  }
  .decen-flash-attrs{
    max-height:150px;
  }
}

@media(max-width:640px){
  .decen-flash-swatch.is-color{
    width:24px;
    height:24px;
    min-width:24px;
    min-height:24px;
    max-width:24px;
    max-height:24px;
  }
  .decen-flash-swatch.is-color .decen-flash-swatch__visual{
    width:16px;
    height:16px;
    min-width:16px;
  }
}


/* v1.0.3 - Compatibilidad ampliada con VillaTheme/term meta: color e imagen sin texto cuando existe visual. */
.decen-flash-swatch.is-color,
.decen-flash-swatch.is-image{
  width:28px;
  height:28px;
  min-width:28px;
  min-height:28px;
  max-width:28px;
  max-height:28px;
  padding:0;
  border-radius:999px;
  gap:0;
  overflow:hidden;
}
.decen-flash-swatch.is-color .decen-flash-swatch__visual,
.decen-flash-swatch.is-image .decen-flash-swatch__visual{
  width:20px;
  height:20px;
  min-width:20px;
  min-height:20px;
  border-radius:50%;
  background-size:cover;
  background-position:center;
  background-repeat:no-repeat;
}
.decen-flash-swatch.is-image .decen-flash-swatch__visual{
  border-radius:6px;
}
.decen-flash-swatch.is-active.is-color,
.decen-flash-swatch.is-active.is-image{
  background:#111;
  border-color:#111;
  box-shadow:0 0 0 2px rgba(17,17,17,.12);
}
.decen-flash-swatch.is-active.is-color .decen-flash-swatch__visual,
.decen-flash-swatch.is-active.is-image .decen-flash-swatch__visual{
  border-color:rgba(255,255,255,.72);
}
.decen-flash-swatch.is-color .decen-flash-swatch__label,
.decen-flash-swatch.is-image .decen-flash-swatch__label,
.decen-flash-swatch__label--hidden{
  position:absolute;
  width:1px;
  height:1px;
  padding:0;
  margin:-1px;
  overflow:hidden;
  clip:rect(0,0,0,0);
  white-space:nowrap;
  border:0;
}

@media(max-width:640px){
  .decen-flash-swatch.is-color,
  .decen-flash-swatch.is-image{
    width:26px;
    height:26px;
    min-width:26px;
    min-height:26px;
    max-width:26px;
    max-height:26px;
  }
  .decen-flash-swatch.is-color .decen-flash-swatch__visual,
  .decen-flash-swatch.is-image .decen-flash-swatch__visual{
    width:18px;
    height:18px;
    min-width:18px;
    min-height:18px;
  }
}


/* v1.0.6 - Optimización móvil del popup y total visible del paquete. */
.decen-flash-name-mobile{display:none}

@media(max-width:640px){
  .decen-flash-popup{
    width:min(430px,calc(100vw - 28px));
    height:auto;
    max-height:95dvh;
    padding:11px 10px 10px;
    border-radius:22px;
    overflow:auto;
  }
  .decen-flash-head{
    padding:0 42px 9px 10px;
    margin-bottom:9px;
  }
  .decen-flash-head h3{
    margin:8px 0 4px;
  }
  .decen-flash-products{
    gap:9px;
  }
  .decen-flash-card{
    grid-template-columns:104px minmax(0,1fr);
  }
  .decen-flash-card--mecedora{
    grid-template-columns:122px minmax(0,1fr);
  }
  .decen-flash-card--mecedora .decen-flash-image{
    background:#f4f2ef;
  }
  .decen-flash-card--mecedora .decen-flash-image img{
    object-fit:cover;
    object-position:center center;
  }
  .decen-flash-card-body{
    padding:8px;
    gap:4px;
  }
  .decen-flash-card-body h4{
    font-size:12px;
    line-height:1.08;
  }
  .decen-flash-name-full{display:none}
  .decen-flash-name-mobile{display:inline}
  .decen-flash-actions{
    margin-top:9px;
    padding-top:0;
    border-top:0;
    gap:6px;
  }
  .decen-flash-add.button{
    padding:11px 16px;
  }
}


/* v1.0.8 - Popup compacto, descuento dentro de la imagen y apertura de side cart. */
.decen-flash-image{
  position:relative;
}
.decen-flash-image-media{
  width:100%;
  height:100%;
}
.decen-flash-image-media img{
  width:100%;
  height:100%;
  object-fit:cover;
  display:block;
}
.decen-flash-image .decen-flash-discount{
  position:absolute;
  right:10px;
  bottom:10px;
  left:auto;
  top:auto;
  z-index:6;
  margin:0;
  padding:6px 10px;
  background:#d92323;
  border:1px solid #d92323;
  color:#fff;
  box-shadow:0 5px 14px rgba(217,35,35,.28);
}
@media(max-width:640px){
  .decen-flash-popup{
    height:auto;
    max-height:95dvh;
  }
  .decen-flash-card--mecedora .decen-flash-image-media img{
    object-fit:cover;
    object-position:center center;
  }
  .decen-flash-image .decen-flash-discount{
    right:8px;
    bottom:8px;
    padding:5px 8px;
  }
}

/* v1.0.10 - Imágenes más anchas en las tres cards móviles y distribución estable de swatches. */
@media(max-width:640px){
  .decen-flash-card,
  .decen-flash-card--mecedora{
    grid-template-columns:155px minmax(0,1fr);
  }
  .decen-flash-card .decen-flash-image,
  .decen-flash-card .decen-flash-image-media,
  .decen-flash-card .decen-flash-image-media img{
    width:100%;
    height:100%;
  }
  .decen-flash-card .decen-flash-image-media img{
    object-fit:cover;
    object-position:center center;
  }
  .decen-flash-card-body{
    min-width:0;
  }
  .decen-flash-card-body h4{
    max-width:100%;
    overflow-wrap:normal;
    word-break:normal;
  }
  .decen-flash-card--mecedora .decen-flash-swatches{
    display:flex;
    flex-wrap:wrap;
    align-content:flex-start;
  }
}
@media (max-width:640px){
  .decen-flash-card--generic{grid-template-columns:155px minmax(0,1fr)}
  .decen-flash-popup{max-height:95dvh;height:auto}
}
.decen-flash-add__label{font-weight:800}
.decen-flash-add [data-dfs-package-promo],.decen-flash-add [data-dfs-package-promo] *{color:inherit;font-weight:900}
.decen-flash-add [data-dfs-package-regular],.decen-flash-add [data-dfs-package-regular] *{color:rgba(255,255,255,.7);font-weight:600;text-decoration:line-through;margin-left:5px}
@media(max-width:640px){
  .decen-flash-add.button{white-space:normal;line-height:1.25}
}


/* v1.1.6 - Grid adaptable y selectores compactos tipo swatch pill. */
@media (min-width:1200px){
  .decen-flash-popup:has(.decen-flash-products--count-4){width:min(1180px,calc(100vw - 56px));max-height:min(92dvh,820px)}
  .decen-flash-products--count-4{grid-template-columns:repeat(4,minmax(0,1fr));gap:14px}
  .decen-flash-products--count-4 .decen-flash-image{height:165px;flex-basis:165px}
}
@media (min-width:641px) and (max-width:1199px){
  .decen-flash-popup:has(.decen-flash-products--count-4){width:min(820px,calc(100vw - 36px));max-height:92dvh;overflow:auto}
  .decen-flash-products--count-4{grid-template-columns:repeat(2,minmax(0,1fr))}
}
.decen-flash-card{overflow:visible}
.decen-flash-image{overflow:hidden;border-radius:21px}
.decen-flash-attr-row{position:relative;min-width:0}
.decen-flash-swatch-toggle{
  appearance:none;width:100%;min-height:38px;border:1px solid #dedbd7;border-radius:13px;background:#fff;color:#1d1711;
  display:flex;align-items:center;justify-content:space-between;gap:8px;padding:6px 10px;cursor:pointer;text-align:left;
  box-shadow:0 1px 0 rgba(0,0,0,.02);transition:border-color .14s ease,box-shadow .14s ease,background .14s ease
}
.decen-flash-swatch-toggle:hover,.decen-flash-swatch-toggle:focus-visible{border-color:#aaa39c;box-shadow:0 0 0 3px rgba(17,17,17,.06);outline:0}
.decen-flash-attr-row.is-open .decen-flash-swatch-toggle{border-color:#111;box-shadow:0 0 0 2px rgba(17,17,17,.08)}
.decen-flash-swatch-toggle__meta{min-width:0;display:flex;align-items:center;gap:7px;overflow:hidden}
.decen-flash-swatch-toggle__attribute{font-size:9px;font-weight:800;letter-spacing:.06em;text-transform:uppercase;color:#82786f;flex:0 0 auto}
.decen-flash-swatch-toggle__selection{display:flex;align-items:center;gap:6px;min-width:0;font-size:11px;font-weight:700;color:#28211c;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.decen-flash-swatch-toggle__selection [data-dfs-selected-label]{overflow:hidden;text-overflow:ellipsis}
.decen-flash-selected-visual{width:20px;height:20px;min-width:20px;border-radius:50%;border:1px solid #d8d5d1;background:#f5f3f0;background-size:cover;background-position:center;box-shadow:inset 0 0 0 2px #fff}
.decen-flash-selected-visual.is-image{border-radius:7px}
.decen-flash-selected-visual.is-text{display:none}
.decen-flash-swatch-toggle__chevron{font-size:16px;line-height:1;color:#6f665f;transition:transform .14s ease;flex:0 0 auto}
.decen-flash-attr-row.is-open .decen-flash-swatch-toggle__chevron{transform:rotate(180deg)}
.decen-flash-swatch-panel{
  position:absolute;left:0;right:0;top:calc(100% + 6px);z-index:80;display:none;background:#fff;border:1px solid #dedbd7;border-radius:15px;
  padding:10px;box-shadow:0 18px 42px rgba(28,20,13,.18)
}
.decen-flash-attr-row.is-open .decen-flash-swatch-panel{display:block;animation:dfs-pop .14s ease-out}
.decen-flash-card.has-open-swatch{z-index:75}
.decen-flash-swatch-panel__title{display:block;margin:0 0 8px;font-size:9px;font-weight:800;letter-spacing:.07em;text-transform:uppercase;color:#82786f}
.decen-flash-swatch-panel .decen-flash-swatches{display:flex;flex-wrap:wrap;gap:8px;max-height:150px;overflow:auto;padding:1px}
@keyframes dfs-pop{from{opacity:0;transform:translateY(-4px)}to{opacity:1;transform:translateY(0)}}
@media(max-width:640px){
  .decen-flash-products--count-4{grid-template-columns:1fr}
  .decen-flash-swatch-toggle{min-height:34px;padding:5px 8px;border-radius:11px}
  .decen-flash-swatch-toggle__attribute{font-size:8px}
  .decen-flash-swatch-toggle__selection{font-size:10px}
  .decen-flash-selected-visual{width:18px;height:18px;min-width:18px}
  .decen-flash-swatch-panel{position:fixed;left:12px;right:12px;top:auto;bottom:18px;z-index:2147483646;border-radius:20px;padding:14px;box-shadow:0 24px 70px rgba(0,0,0,.28)}
  .decen-flash-swatch-panel .decen-flash-swatches{max-height:190px;gap:10px}
  .decen-flash-swatch-panel__title{font-size:11px;margin-bottom:10px}
}


/* v1.1.7 - Popover de variaciones portado al body y anclado a la pill. */
.decen-flash-swatch-panel.is-portal{
  position:fixed;display:block;z-index:2147483647;right:auto;bottom:auto;
  margin:0;max-width:calc(100vw - 20px);animation:dfs-pop .14s ease-out;overflow:visible
}
.decen-flash-swatch-panel.is-portal .decen-flash-swatches{max-height:min(220px,42vh);overflow:auto}
@media(max-width:640px){
  .decen-flash-swatch-panel.is-portal{border-radius:15px;padding:10px;box-shadow:0 16px 42px rgba(0,0,0,.24)}
  .decen-flash-swatch-panel.is-portal .decen-flash-swatches{max-height:min(190px,38vh);gap:9px}
  .decen-flash-swatch-panel.is-portal .decen-flash-swatch-panel__title{font-size:9px;margin-bottom:8px}
}


/* v1.1.8 - Swatches uniformes y actualización correcta de imagen de variación. */
.decen-flash-swatch-toggle,
.decen-flash-swatch-toggle:hover,
.decen-flash-swatch-toggle:focus,
.decen-flash-swatch-toggle:focus-visible,
.decen-flash-attr-row.is-open .decen-flash-swatch-toggle{
  background:#fff;
  color:#1d1711;
}
.decen-flash-swatch-toggle:hover,
.decen-flash-swatch-toggle:focus-visible{
  border-color:#c9c3bd;
  box-shadow:0 0 0 2px rgba(17,17,17,.035);
}
.decen-flash-attr-row.is-open .decen-flash-swatch-toggle{
  border-color:#bdb5ad;
  box-shadow:0 0 0 2px rgba(17,17,17,.045);
}
.decen-flash-swatch.is-color,
.decen-flash-swatch.is-image,
.decen-flash-swatch.is-active.is-color,
.decen-flash-swatch.is-active.is-image,
.decen-flash-swatch.is-color:hover,
.decen-flash-swatch.is-image:hover,
.decen-flash-swatch.is-color:focus,
.decen-flash-swatch.is-image:focus{
  border-radius:999px;
  background:#fff;
  border-color:#d8d5d1;
  box-shadow:none;
  color:#2b2621;
}
.decen-flash-swatch.is-active.is-color,
.decen-flash-swatch.is-active.is-image{
  border-color:#d8a84e;
  box-shadow:0 0 0 2px rgba(216,168,78,.18);
}
.decen-flash-swatch.is-color .decen-flash-swatch__visual,
.decen-flash-swatch.is-image .decen-flash-swatch__visual,
.decen-flash-swatch.is-active.is-color .decen-flash-swatch__visual,
.decen-flash-swatch.is-active.is-image .decen-flash-swatch__visual{
  border-radius:50%;
  border-color:rgba(0,0,0,.14);
}
.decen-flash-selected-visual,
.decen-flash-selected-visual.is-image,
.decen-flash-selected-visual.is-color{
  border-radius:50%;
}



/* v1.1.11 - Selección única de swatches y actualización robusta de imagen de variación. */
.decen-flash-swatch.is-active,
.decen-flash-swatch[aria-pressed="true"]{
  border-color:#e8b85a;
  box-shadow:0 0 0 2px rgba(232,184,90,.20);
}
.decen-flash-swatch:not(.is-active){
  box-shadow:none;
}

/* v1.1.13 — Única fuente de verdad para ribbons: fixed estable, sombra libre y z-index configurable. */
.decen-flash-ribbons{
  position:fixed;
  z-index:var(--dfs-ribbons-z-index,2147483590);
  right:var(--dfs-ribbons-desktop-right,28px);
  display:flex;
  flex-direction:column;
  align-items:flex-end;
  gap:var(--dfs-ribbons-gap,10px);
  margin:0;
  padding:0;
  transform:none;
  transition:none;
  animation:none;
  contain:layout style;
  isolation:isolate;
  overflow:visible;
}
.decen-flash-ribbons.dfs-desktop-anchor-top{
  top:var(--dfs-ribbons-desktop-top,42svh);
  bottom:auto;
}
.decen-flash-ribbons.dfs-desktop-anchor-bottom{
  top:auto;
  bottom:var(--dfs-ribbons-desktop-bottom,120px);
}
.decen-flash-ribbon{
  position:relative;
  inset:auto;
  appearance:none;
  -webkit-appearance:none;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  min-width:0;
  max-width:min(280px,calc(100vw - 32px));
  margin:0;
  padding:var(--dfs-ribbon-py,12px) var(--dfs-ribbon-px,10px);
  border:var(--dfs-ribbon-border-width,0) solid var(--dfs-ribbon-border-color,#111);
  border-radius:var(--dfs-ribbon-radius-tl,16px) var(--dfs-ribbon-radius-tr,16px) var(--dfs-ribbon-radius-br,16px) var(--dfs-ribbon-radius-bl,16px);
  background:var(--dfs-ribbon-bg,#111);
  color:var(--dfs-ribbon-text,#fff);
  box-shadow:0 10px 30px rgba(0,0,0,.22);
  cursor:pointer;
  transform:none;
  transition:opacity .15s ease,box-shadow .15s ease;
  animation:none;
  text-transform:uppercase;
  letter-spacing:.08em;
}
.decen-flash-ribbon:hover,.decen-flash-ribbon:focus-visible{opacity:.94;box-shadow:0 12px 34px rgba(0,0,0,.25)}
.decen-flash-ribbon__text{
  display:block;
  color:inherit;
  font-size:12px;
  font-weight:800;
  line-height:1.1;
  writing-mode:vertical-rl;
  transform:rotate(180deg);
  white-space:nowrap;
  overflow:hidden;
  text-overflow:ellipsis;
}
@media(max-width:640px){
  .decen-flash-ribbons{
    right:var(--dfs-ribbons-mobile-right,16px);
    max-width:calc(100vw - var(--dfs-ribbons-mobile-right,16px) - 12px);
    transform:none;
    transition:none;
    animation:none;
  }
  .decen-flash-ribbons.dfs-mobile-anchor-top{
    top:var(--dfs-ribbons-mobile-top,48svh);
    bottom:auto;
  }
  .decen-flash-ribbons.dfs-mobile-anchor-bottom{
    top:auto;
    bottom:calc(var(--dfs-ribbons-mobile-bottom,130px) + env(safe-area-inset-bottom,0px));
  }
  .decen-flash-ribbon{
    min-height:38px;
    max-width:220px;
    border-radius:var(--dfs-ribbon-radius-tl,999px) var(--dfs-ribbon-radius-tr,999px) var(--dfs-ribbon-radius-br,999px) var(--dfs-ribbon-radius-bl,999px);
  }
  .decen-flash-ribbon__text{font-size:12px;max-height:180px}
}


/* v1.2.0 — independent item actions. Existing popup layout remains canonical. */
.decen-flash-add-one{width:100%;display:flex;align-items:center;justify-content:space-between;gap:10px;margin-top:auto;padding:10px 13px;border:1px solid #171717;border-radius:14px;background:#fff;color:#171717;font:inherit;font-weight:750;cursor:pointer}
.decen-flash-add-one:hover,.decen-flash-add-one:focus-visible{background:#f4f4f2}.decen-flash-add-one:disabled{opacity:.55;cursor:wait}
.decen-flash-add-one strong{color:#e31b23;font-weight:800}
.decen-flash-actions:has(.decen-flash-add){display:grid;grid-template-columns:minmax(0,1fr);justify-items:center}.decen-flash-actions .decen-flash-message{width:100%;text-align:center}
@media(max-width:640px){.decen-flash-add-one{min-height:42px;padding:9px 12px}.decen-flash-actions{position:sticky;bottom:0;padding-bottom:calc(4px + env(safe-area-inset-bottom));background:linear-gradient(to top,#fff 72%,rgba(255,255,255,0))}.decen-flash-add.button{min-height:48px}}


/* v1.2.1 · Theme-safe ribbon controls with scoped specificity. */
body .decen-flash-ribbons .decen-flash-ribbon{
  box-sizing:border-box;
  border:var(--dfs-ribbon-border-width,0) solid var(--dfs-ribbon-border-color,#111);
  background:var(--dfs-ribbon-bg,#111);
  color:var(--dfs-ribbon-text,#fff);
  text-decoration:none;
  font-family:inherit;
}
body .decen-flash-ribbons .decen-flash-ribbon .decen-flash-ribbon__text{color:var(--dfs-ribbon-text,#fff);}
body .decen-flash-popup .decen-flash-close{
  box-sizing:border-box;
  border:0;
  background:#111;
  color:#fff;
  text-decoration:none;
  font-family:inherit;
}
body .decen-flash-popup .decen-flash-close:hover,
body .decen-flash-popup .decen-flash-close:focus-visible{background:#2f2f2f;color:#fff;}

/* v1.2.5 · Runtime visual contract: rounded media, single price hierarchy and reversible modal motion. */
body .decen-flash-popup{
  transition:opacity .22s ease,transform .30s cubic-bezier(.22,1,.36,1),visibility 0s linear .30s;
}
body .decen-flash-popup.is-active{transition-delay:0s;}
body .decen-flash-popup.is-closing{transition:opacity .20s ease,transform .24s cubic-bezier(.4,0,1,1),visibility 0s linear .24s;}
body .decen-flash-popup form[data-campaign]{
  border-radius:28px;
  overflow:clip;
  clip-path:inset(0 round 28px);
  isolation:isolate;
  opacity:0;
  transform:translateY(16px) scale(.985);
  transform-origin:50% 60%;
  transition:opacity .22s ease,transform .30s cubic-bezier(.22,1,.36,1);
}
body .decen-flash-popup.is-active form[data-campaign]{opacity:1;transform:translateY(0) scale(1);}
body .decen-flash-popup.is-closing form[data-campaign]{opacity:0;transform:translateY(10px) scale(.99);}
body .decen-flash-popup form[data-campaign] > :first-child{border-top-left-radius:28px;border-top-right-radius:28px;}
body .decen-flash-popup form[data-campaign] > :last-child{border-bottom-left-radius:28px;border-bottom-right-radius:28px;}
body .decen-flash-popup .decen-flash-image{border-radius:21px;overflow:hidden;}
body .decen-flash-popup .decen-flash-prices.is-reference-only{min-height:16px;}
body .decen-flash-popup .decen-flash-prices.is-reference-only del,
body .decen-flash-popup .decen-flash-prices.is-reference-only del *{color:#777;font-size:12px;font-weight:600;text-decoration:line-through;}
body .decen-flash-popup .decen-flash-add-one__prices{display:inline-flex;align-items:baseline;justify-content:flex-end;gap:7px;white-space:nowrap;}
body .decen-flash-popup .decen-flash-add-one__prices del,
body .decen-flash-popup .decen-flash-add-one__prices del *{color:#777;font-size:11px;font-weight:600;text-decoration:line-through;}
body .decen-flash-popup .decen-flash-add-one__prices strong,
body .decen-flash-popup .decen-flash-add-one__prices strong *{display:inline;color:#e31b23;font-size:14px;font-weight:850;text-decoration:none;}
@media(max-width:640px){
  body .decen-flash-popup form[data-campaign]{border-radius:26px;clip-path:inset(0 round 26px);max-width:calc(100vw - 24px);max-height:calc(100svh - 30px);}
  body .decen-flash-popup form[data-campaign] > :first-child{border-top-left-radius:26px;border-top-right-radius:26px;}
  body .decen-flash-popup form[data-campaign] > :last-child{border-bottom-left-radius:26px;border-bottom-right-radius:26px;}
  body .decen-flash-popup .decen-flash-image{border-radius:17px;}
  body .decen-flash-popup .decen-flash-add-one{gap:8px;}
  body .decen-flash-popup .decen-flash-add-one__prices{gap:5px;}
  body .decen-flash-popup .decen-flash-add-one__prices del,
  body .decen-flash-popup .decen-flash-add-one__prices del *{font-size:10px;}
  body .decen-flash-popup .decen-flash-add-one__prices strong,
  body .decen-flash-popup .decen-flash-add-one__prices strong *{font-size:13px;}
}
@media(prefers-reduced-motion:reduce){
  body .decen-flash-popup,
  body .decen-flash-popup form[data-campaign]{transition:none;transform:translate(-50%,-50%) scale(1);}
  body .decen-flash-popup form[data-campaign]{transform:none;}
}
