/* REDE Marketing Campañas 1.0.5 — capa aislada. */
.rede-campaign-link{display:block!important;color:inherit!important;text-decoration:none!important}
.rede-campaign-banner{--rede-campaign-yellow:#ffd400;position:relative;box-sizing:border-box;width:100%;overflow:hidden;background:linear-gradient(115deg,#080808 0%,#171717 70%,#090909 100%);color:#fff;font-family:system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;border:1px solid rgba(255,212,0,.16)}
.rede-campaign-banner::after{content:"";position:absolute;left:0;right:0;bottom:0;height:3px;background:linear-gradient(90deg,transparent 0%,var(--rede-campaign-yellow) 35%,transparent 80%);opacity:.8}
.rede-campaign-primary{min-height:clamp(96px,15vh,160px);max-height:180px;display:grid;grid-template-columns:auto minmax(0,1fr) minmax(120px,30%);align-items:center;gap:18px;padding:18px 28px;margin:0 0 22px;border-radius:16px}
.rede-campaign-brand-icon{position:relative;z-index:2;width:clamp(44px,5vw,72px)!important;height:clamp(44px,5vw,72px)!important;object-fit:contain!important;margin:0!important;border-radius:12px!important}
.rede-campaign-copy{position:relative;z-index:2;display:flex;align-items:baseline;flex-wrap:wrap;gap:10px 16px;min-width:0}
.rede-campaign-month{color:var(--rede-campaign-yellow);font-size:clamp(32px,5vw,68px);font-weight:950;line-height:.95;letter-spacing:-.04em;text-shadow:0 0 20px rgba(255,212,0,.12)}
.rede-campaign-dot{color:var(--rede-campaign-yellow);font-size:clamp(28px,4vw,54px);font-weight:900;line-height:1}
.rede-campaign-theme{font-size:clamp(20px,2.3vw,36px);font-weight:900;line-height:1.05;letter-spacing:-.025em;max-width:760px}
.rede-campaign-occasion{position:relative;z-index:2;justify-self:end;font-size:clamp(56px,8vw,110px);line-height:1;filter:saturate(.7)}
.rede-campaign-media{position:absolute!important;z-index:1;top:0;right:0;width:34%!important;height:100%!important;object-fit:cover!important;margin:0!important;border-radius:0!important;opacity:.78;mask-image:linear-gradient(90deg,transparent 0%,#000 28%);-webkit-mask-image:linear-gradient(90deg,transparent 0%,#000 28%)}
.rede-campaign-primary::before{content:"";position:absolute;z-index:1;inset:0;background:linear-gradient(105deg,rgba(0,0,0,0) 55%,rgba(255,212,0,.05) 100%);pointer-events:none}

.rede-campaign-secondary{min-height:100px;display:grid;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:22px;padding:22px 28px;margin:30px 0 20px;border-radius:16px}
.rede-campaign-emotional{position:relative;z-index:2;margin:0!important;color:#fff!important;font-size:clamp(22px,2.7vw,38px)!important;font-weight:650!important;line-height:1.15!important;letter-spacing:-.025em!important}
.rede-campaign-secondary-icon{position:relative;z-index:2;color:var(--rede-campaign-yellow);font-size:clamp(42px,6vw,78px);line-height:1}
.rede-campaign-secondary-media{position:absolute!important;z-index:1;top:0;right:0;width:28%!important;height:100%!important;object-fit:cover!important;margin:0!important;border-radius:0!important;opacity:.25;mask-image:linear-gradient(90deg,transparent,#000 45%);-webkit-mask-image:linear-gradient(90deg,transparent,#000 45%)}
.rede-campaign-link:focus-visible>.rede-campaign-banner{outline:3px solid var(--rede-campaign-yellow);outline-offset:3px}

@media (max-width:767px){
  .rede-campaign-primary{min-height:104px;max-height:140px;grid-template-columns:auto minmax(0,1fr);gap:10px;padding:14px 16px;margin:0 0 16px;border-radius:0}
  .rede-campaign-primary .rede-campaign-brand-icon{width:42px!important;height:42px!important}
  .rede-campaign-copy{gap:4px 8px}
  .rede-campaign-month{font-size:clamp(28px,10vw,44px)}
  .rede-campaign-dot{font-size:32px}
  .rede-campaign-theme{flex-basis:100%;font-size:clamp(15px,4.8vw,22px)}
  .rede-campaign-media{width:42%!important;opacity:.46}
  .rede-campaign-occasion{display:none}
  .rede-campaign-secondary{min-height:90px;grid-template-columns:auto minmax(0,1fr);gap:12px;padding:16px;margin:22px 0 14px;border-radius:0}
  .rede-campaign-secondary .rede-campaign-brand-icon{width:38px!important;height:38px!important}
  .rede-campaign-emotional{font-size:clamp(19px,5.7vw,26px)!important}
  .rede-campaign-secondary-icon{display:none}
  .rede-campaign-secondary-media{width:45%!important;opacity:.18}
}

@media (prefers-reduced-motion:reduce){.rede-campaign-banner video{display:none!important}}

/* v1.0.3 — cuando existe creativo, reemplaza por completo el modo automático. */
.rede-campaign-banner.is-creative{display:block!important;padding:0!important;min-height:0!important;max-height:none!important;background:#090909;line-height:0}
.rede-campaign-banner.is-creative::before,.rede-campaign-banner.is-creative::after{display:none!important}
.rede-campaign-full-media{display:block!important;width:100%!important;height:auto!important;margin:0!important;border:0!important;border-radius:0!important;object-fit:cover!important;background:#090909}
.rede-campaign-primary.is-creative .rede-campaign-full-media{aspect-ratio:6.4/1}
.rede-campaign-secondary.is-creative .rede-campaign-full-media{aspect-ratio:8/1}
@media(max-width:767px){.rede-campaign-primary.is-creative .rede-campaign-full-media{aspect-ratio:3/1}.rede-campaign-secondary.is-creative .rede-campaign-full-media{aspect-ratio:3.6/1}}
@media(prefers-reduced-motion:reduce){.rede-campaign-banner.is-creative video{display:block!important}}

/* v1.0.5 — anclajes independientes y responsive seguro.
   Marketing no toca Electro, header, imágenes, familia/ambiente ni contenido guardado. */
.rede-campaign-primary,
.rede-campaign-secondary{
  isolation:isolate;
  clear:both;
  visibility:visible!important;
  opacity:1!important;
}
@media(max-width:767px){
  .rede-campaign-secondary{
    display:grid!important;
    width:100%!important;
    max-width:100%!important;
    box-sizing:border-box!important;
    position:relative!important;
    z-index:2!important;
  }
  .rede-campaign-secondary.is-creative{
    display:block!important;
  }
  .rede-campaign-secondary .rede-campaign-full-media{
    display:block!important;
    width:100%!important;
    max-width:100%!important;
    height:auto!important;
  }
}
