/* =========================================================
   MONTOYA LINE — Promociones (tienda)
   ========================================================= */

/* ---- línea arriba del catálogo ---- */
.promobar { background: var(--terra); color: var(--paper); }
.promobar__in {
  max-width: var(--maxw); margin-inline: auto; padding: .7rem var(--pad);
  display: flex; align-items: center; justify-content: center; gap: 1rem; flex-wrap: wrap; text-align: center;
}
.promobar__pct { font-weight: 500; letter-spacing: .1em; text-transform: uppercase; font-size: .74rem; background: rgba(247, 243, 236, .18); padding: .2rem .6rem; }
.promobar__txt { font-size: .92rem; }
.promobar__cta { font-size: .78rem; letter-spacing: .06em; text-transform: uppercase; text-decoration: underline; text-underline-offset: 3px; white-space: nowrap; }

/* ---- cartel grande (modal) ---- */
.promomodal { position: fixed; inset: 0; z-index: 160; display: grid; place-items: center; padding: 1.2rem; visibility: hidden; }
.promomodal.is-open { visibility: visible; }
.promomodal__bg { position: absolute; inset: 0; background: rgba(14, 26, 22, .55); opacity: 0; transition: opacity .3s var(--ease); }
.promomodal.is-open .promomodal__bg { opacity: 1; }
.promomodal__card {
  position: relative; z-index: 1; width: min(560px, 100%); background: var(--sea); color: var(--paper);
  text-align: center; overflow: hidden;
  transform: translateY(16px) scale(.97); opacity: 0; transition: transform .4s var(--ease), opacity .4s var(--ease);
}
.promomodal__body { padding: clamp(2.4rem, 6vw, 3.4rem) clamp(1.6rem, 5vw, 2.6rem); }
.promomodal.is-open .promomodal__card { transform: none; opacity: 1; }
.promomodal__pct { font-weight: 500; letter-spacing: .22em; text-transform: uppercase; font-size: .82rem; color: var(--sand); margin-bottom: 1rem; }
.promomodal__t { font-family: var(--serif); font-optical-sizing: auto; font-weight: 450; font-size: clamp(2.2rem, 7vw, 3.2rem); line-height: 1.02; letter-spacing: -.02em; }
.promomodal__x { color: rgba(247, 243, 236, .85); margin: 1rem auto 1.8rem; max-width: 32ch; line-height: 1.5; }
.promomodal__cta { background: var(--paper); color: var(--ink); border: 1px solid var(--paper); }
.promomodal__cta:hover { background: var(--sand); border-color: var(--sand); }
.promomodal__close { position: absolute; top: .9rem; right: 1.1rem; z-index: 3; width: 38px; height: 38px; font-size: 1.6rem; line-height: 1; color: var(--paper); border-radius: 50%; background: rgba(14, 26, 22, .35); }
.promomodal__close:hover { background: rgba(14, 26, 22, .6); }

/* ---- cartel con imagen: el recuadro se ajusta a la imagen ---- */
.promomodal.has-img .promomodal__card { background: var(--sea); }
.promomodal__media { display: block; position: relative; z-index: 0; line-height: 0; }
.promomodal__media img { width: 100%; height: auto; max-height: 84vh; display: block; }
/* texto anclado sobre la parte de abajo de la imagen */
.promomodal.has-img .promomodal__body {
  position: absolute; left: 0; right: 0; bottom: 0; z-index: 2;
  padding: 3.6rem clamp(1.6rem, 5vw, 2.4rem) clamp(1.5rem, 4vw, 2.1rem);
  background: linear-gradient(to top, rgba(14, 26, 22, .94) 6%, rgba(14, 26, 22, .68) 52%, rgba(14, 26, 22, 0));
}

/* ---- badge de descuento (tarjetas / ficha) ---- */
.pcard__media { position: relative; }
.pcard__off { position: absolute; top: .7rem; right: .7rem; z-index: 2; background: var(--terra); color: var(--paper); font-size: .62rem; font-weight: 500; letter-spacing: .06em; padding: .24rem .5rem; }
.pdp__off { position: absolute; top: 1rem; right: 1rem; z-index: 2; background: var(--terra); color: var(--paper); font-size: .72rem; font-weight: 500; letter-spacing: .06em; padding: .3rem .62rem; }

/* ---- precio tachado + nuevo ---- */
.price-old { text-decoration: line-through; color: var(--ink-soft); opacity: .75; margin-right: .35em; font-size: .92em; }
.price-old .cur { text-decoration: line-through; }
.price-new { color: var(--terra); }
.pdp__price .price-new { color: var(--terra); }
