/* Promo Split Box v1.2.7 */
.promo-wrap{ width:100%; }
.promo-wrap.align-left .promo-box{ margin:0; }
.promo-wrap.align-center .promo-box{ margin:0 auto; }
.promo-wrap.align-right .promo-box{ margin:0 0 0 auto; }

.promo-box{
  --promo-accent:#ef4444;
  --promo-bg:#111111;
  --promo-radius:12px;
  --promo-border:2px;
  --promo-shadow:1;
  --promo-font-size:1rem;
  --promo-font-min:12px;
  --promo-left-width:100px;
  --promo-left-max:30%;

  display:flex;
  align-items:stretch;
  border:var(--promo-border) solid var(--promo-accent);
  border-radius:var(--promo-radius);
  overflow:hidden;
  box-shadow:0 6px 16px rgba(0,0,0,.08);
  font-weight:700;
  line-height:1;
  width:max-content;
  max-width:100%;
  isolation:isolate;
  will-change:transform, filter;
  font-size:var(--promo-font-size);
}

.promo-box.full{ width:100%; }
.promo-box.invert{ flex-direction:row-reverse; }

.promo-box{ box-shadow: calc(var(--promo-shadow)) * 0 6px 16px rgba(0,0,0,.08); }

.promo-box a{
  display:flex;
  align-items:center;
  justify-content:center;
  gap:.4em;
  padding:12px 18px;
  text-decoration:none;
  transition:transform .08s ease, filter .18s ease;
  color:#fff;
  white-space:nowrap;
}

/* Left segment fixed width */
.promo-left{
  background:var(--promo-accent);
  flex:0 0 var(--promo-left-width);
  width:var(--promo-left-width);
  min-width:var(--promo-left-width);
}

/* Right segment responsive text (always on) */
.promo-right{
  background:var(--promo-bg);
  flex:1 1 auto;
  min-width:0;
  overflow:hidden;
  text-overflow:ellipsis;
}
.promo-right .promo-txt{
  display:inline-block;
  font-size: clamp(var(--promo-font-min), calc(1.2vw + 0.2rem), var(--promo-font-size));
}

/* Two-line clamp when wrap-right class present */
.promo-box.wrap-right .promo-right{
  white-space:normal;
}
.promo-box.wrap-right .promo-right .promo-txt{
  white-space:normal;
  overflow:hidden;
  display:-webkit-box;
  -webkit-box-orient:vertical;
  -webkit-line-clamp:2;
  line-clamp:2;
  text-overflow:ellipsis;
}

.promo-ico{ font-weight:900; line-height:1; }
.promo-txt{ line-height:1.1; }

.promo-box a:focus{ outline:2px solid #fff; outline-offset:-2px; }
@media (hover:hover){
  .promo-box a:hover{ filter:brightness(1.07); }
  .promo-box a:active{ transform:translateY(1px); }
}

/* Sizes tweak only paddings */
.promo-box.sm a{ padding:8px 14px; }
.promo-box.lg a{ padding:14px 22px; }

/* Mobile stacking */
.promo-box.stack-mobile{ display:flex; }
@media (max-width: 520px){
  .promo-box.stack-mobile{ flex-direction:column; width:100%; }
  .promo-left, .promo-right{
    min-width:auto; width:100%;
    flex:1 1 auto;
  }
}

@media (prefers-reduced-motion: reduce){
  .promo-box a{ transition:none; }
}

@media (prefers-color-scheme:dark){
  .promo-box{ box-shadow:0 6px 18px rgba(0,0,0,.25); }
}
