/* Candy · Promociones — mobile first */
.cm-promos{display:grid;gap:12px;width:min(var(--cm-width),100% - 2 * var(--cm-space));margin:clamp(44px,7vw,84px) auto 0;font-family:var(--cm-font-body)}
.cm-promos *{box-sizing:border-box}
.cm-promo{position:relative;display:grid;grid-template-columns:minmax(0,1fr) 38%;align-items:center;gap:8px;min-height:180px;padding:22px 0 22px 22px;border-radius:var(--cm-radius);overflow:hidden;background:var(--cm-pink-soft)}
.cm-promo--lilac{background:var(--cm-lilac-soft)}.cm-promo--mint{background:var(--cm-mint)}.cm-promo--butter{background:var(--cm-butter)}
.cm-promo::before{content:"";position:absolute;right:-60px;bottom:-80px;width:240px;height:240px;border-radius:50%;background:rgba(255,255,255,.55)}
.cm-promo-copy{position:relative;z-index:1}
.cm-promo h2{margin:0 0 6px;font-size:clamp(24px,3vw,32px)}
.cm-promo p{margin:0 0 14px;font-size:15px;line-height:1.5;color:var(--cm-ink)}
.cm-promo-link{display:inline-flex;align-items:center;gap:6px;min-height:44px;padding:10px 18px;border-radius:999px;background:#fff;color:var(--cm-primary);font-weight:800;text-decoration:none;box-shadow:0 4px 14px rgba(63,49,80,.08);transition:background .2s,color .2s}
.cm-promo-link::after{content:"";position:absolute;inset:0;z-index:1}
.cm-promo:hover .cm-promo-link{background:var(--cm-primary);color:#fff}
.cm-promo-photo{position:relative;z-index:0;align-self:stretch;display:flex;align-items:flex-end;justify-content:center;margin:-22px 0 -22px}
.cm-promo-photo img{width:100%;height:100%;object-fit:contain;object-position:bottom center;transition:transform .4s}
.cm-promo:hover .cm-promo-photo img{transform:scale(1.04) rotate(-1deg)}
.cm-promo-photo--empty{align-items:center;color:var(--cm-pink);opacity:.6}
@media(min-width:700px){.cm-promos{grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}.cm-promos--3 .cm-promo:first-child{grid-column:1/-1}}
@media(min-width:1024px){
  .cm-promos--3{grid-template-columns:1.3fr 1fr;grid-template-rows:1fr 1fr;gap:18px}
  .cm-promos--3 .cm-promo:first-child{grid-column:1;grid-row:1/3;grid-template-columns:1fr;align-content:space-between;padding:36px 36px 0}
  .cm-promos--3 .cm-promo:first-child .cm-promo-photo{margin:0 -36px;min-height:220px}
  .cm-promos--3 .cm-promo:first-child h2{font-size:40px}
  .cm-promo{min-height:220px;padding:28px 0 28px 30px}
}
@media(prefers-reduced-motion:reduce){.cm-promo-photo img{transition:none}}
/* Fotos reales (no recortadas): rellenan su columna */
.cm-promo-photo img{object-fit:cover;object-position:center}
.cm-promo-photo:not(.cm-promo-photo--empty){align-items:stretch}
