/* PERUZA V35 — PROMOTION BANNER MOTION */
.rena-promo-banner {
  position: relative;
  z-index: 12;
  width: min(1640px, 100%);
  display: grid;
  grid-template-columns: minmax(0,1fr) auto;
  gap: 20px;
  align-items: center;
  margin: 0 auto 26px;
  overflow: hidden;
  border: 1px solid rgba(216,236,167,.22);
  border-radius: 22px;
  background:
    radial-gradient(circle at 10% 20%, rgba(216,236,167,.12), transparent 28%),
    linear-gradient(135deg, rgba(17,47,30,.97), rgba(7,23,15,.98));
  color: #eff3eb;
  box-shadow: 0 24px 65px rgba(0,0,0,.27);
  opacity: 0;
  transform: translate3d(0,-24px,0) scale(.985);
  transform-origin: top center;
  will-change: opacity, transform, height, margin;
}
.rena-promo-banner.is-visible {
  animation: renaPromoEnterV35 .68s cubic-bezier(.18,.82,.22,1) both;
}
.rena-promo-banner.is-closing {
  pointer-events: none;
  animation: renaPromoExitV35 .46s cubic-bezier(.55,.05,.85,.25) both !important;
}
@keyframes renaPromoEnterV35 {
  0% { opacity:0; transform:translate3d(0,-28px,0) scale(.975); filter:blur(7px); }
  62% { opacity:1; transform:translate3d(0,4px,0) scale(1.004); filter:blur(0); }
  100% { opacity:1; transform:translate3d(0,0,0) scale(1); filter:blur(0); }
}
@keyframes renaPromoExitV35 {
  0% { opacity:1; transform:translate3d(0,0,0) scale(1); max-height:520px; margin-bottom:26px; }
  55% { opacity:.15; transform:translate3d(0,-14px,0) scale(.985); }
  100% { opacity:0; transform:translate3d(0,-24px,0) scale(.97); max-height:0; margin-bottom:0; border-width:0; }
}
.rena-promo-layout { min-width:0; display:grid; grid-template-columns:minmax(210px,.42fr) minmax(0,1.58fr); align-items:stretch; }
.rena-promo-layout.no-image { grid-template-columns:1fr; }
.rena-promo-layout.is-switching-out { animation:renaPromoContentOutV35 .18s ease both; }
.rena-promo-layout.is-switching-in { animation:renaPromoContentInV35 .34s cubic-bezier(.18,.82,.22,1) both; }
@keyframes renaPromoContentOutV35 { to { opacity:0; transform:translate3d(-12px,0,0); filter:blur(3px); } }
@keyframes renaPromoContentInV35 { from { opacity:0; transform:translate3d(14px,0,0); filter:blur(4px); } to { opacity:1; transform:none; filter:blur(0); } }
.rena-promo-media { display:none; min-height:182px; background:linear-gradient(145deg,#d9d5c9,#aaa99f); overflow:hidden; }
.rena-promo-media.has-image { display:block; }
.rena-promo-media img { width:100%; height:100%; min-height:182px; display:block; object-fit:cover; animation:renaPromoImageV35 7s ease-in-out infinite alternate; }
@keyframes renaPromoImageV35 { from { transform:scale(1); } to { transform:scale(1.035); } }
.rena-promo-copy { min-width:0; display:flex; align-items:center; gap:28px; padding:26px 30px; }
.rena-promo-text-wrap { min-width:0; flex:1; }
.rena-promo-badge { display:inline-flex; padding:8px 12px; border-radius:999px; background:rgba(216,236,167,.11); color:#d8eca7; font-size:12px; font-weight:850; letter-spacing:.12em; text-transform:uppercase; }
.rena-promo-title { margin:11px 0 6px; font-size:clamp(31px,2.9vw,46px); line-height:1.02; letter-spacing:-.035em; }
.rena-promo-description { max-width:820px; margin:0; color:#a9b6ad; font-size:16px; line-height:1.58; white-space:pre-wrap; }
.rena-promo-link { flex:0 0 auto; min-height:52px; display:inline-flex; align-items:center; justify-content:center; padding:0 22px; border-radius:13px; background:#d8eca7; color:#102116!important; font-size:12px; font-weight:900; text-decoration:none; white-space:nowrap; transition:transform .2s ease, box-shadow .2s ease, filter .2s ease; }
.rena-promo-link:hover { transform:translateY(-2px); filter:brightness(1.04); box-shadow:0 12px 28px rgba(163,196,99,.2); }
.rena-promo-controls { display:flex; align-items:center; gap:7px; padding-right:62px; }
.rena-promo-dot { width:8px; height:8px; padding:0; border:0; border-radius:50%; background:rgba(216,236,167,.2); cursor:pointer; transition:transform .2s ease, background .2s ease, box-shadow .2s ease; }
.rena-promo-dot:hover { transform:scale(1.3); }
.rena-promo-dot.active { background:#d8eca7; transform:scale(1.16); box-shadow:0 0 12px rgba(216,236,167,.48); }
.rena-promo-close { position:absolute; top:14px; right:14px; width:34px; height:34px; padding:0; border:1px solid rgba(216,236,167,.14); border-radius:50%; background:rgba(4,16,10,.46); color:transparent; cursor:pointer; transition:transform .22s ease, background .22s ease, border-color .22s ease; }
.rena-promo-close::before,.rena-promo-close::after { content:""; position:absolute; left:50%; top:50%; width:13px; height:1.5px; border-radius:2px; background:#dbe6dc; transform-origin:center; }
.rena-promo-close::before { transform:translate(-50%,-50%) rotate(45deg); }
.rena-promo-close::after { transform:translate(-50%,-50%) rotate(-45deg); }
.rena-promo-close:hover { transform:rotate(90deg); background:rgba(216,236,167,.1); border-color:rgba(216,236,167,.28); }
@media (max-width:940px) { .rena-promo-copy{align-items:flex-start;flex-direction:column}.rena-promo-link{min-height:42px}.rena-promo-controls{position:absolute;right:11px;bottom:12px;padding-right:0} }
@media (max-width:700px) { .rena-promo-banner{margin-bottom:18px;border-radius:18px}.rena-promo-layout{grid-template-columns:1fr}.rena-promo-media.has-image{min-height:130px}.rena-promo-media img{min-height:130px;max-height:180px}.rena-promo-copy{gap:15px;padding:18px}.rena-promo-title{max-width:calc(100% - 25px);font-size:29px}.rena-promo-description{font-size:14px}.rena-promo-controls{position:static;padding:0 18px 17px} }
@media (prefers-reduced-motion:reduce) { .rena-promo-banner,.rena-promo-layout,.rena-promo-media img{animation-duration:.01ms!important;animation-iteration-count:1!important}.rena-promo-link,.rena-promo-close,.rena-promo-dot{transition:none!important} }

.rena-promo-description{font-weight:500;max-width:860px}.rena-promo-title{max-width:22ch}.rena-promo-media img{max-height:100%;}.rena-promo-banner{min-height:0}.rena-promo-copy{min-height:182px}@media (max-width:940px){.rena-promo-copy{padding:24px 24px 18px}.rena-promo-description{font-size:15px}.rena-promo-title{font-size:32px}.rena-promo-link{font-size:12px}}@media (max-width:700px){.rena-promo-title{font-size:30px!important;line-height:1.05}.rena-promo-description{font-size:15px!important;line-height:1.55}.rena-promo-copy{padding:18px 18px 12px}.rena-promo-link{min-height:46px;font-size:12px}.rena-promo-badge{font-size:9px}}
