.ap-promo-fallback[hidden]{display:none!important}

.ap-promo{
  position:relative;
  width:min(1440px,calc(100% - 40px));
  margin:42px auto;
  border:2px solid rgba(255,190,0,.92);
  border-radius:24px;
  overflow:hidden;
  background:
    radial-gradient(circle at 88% 28%,rgba(255,193,7,.23),transparent 28%),
    radial-gradient(circle at 70% 115%,rgba(255,193,7,.12),transparent 38%),
    linear-gradient(115deg,#07141e 0%,#0b2130 52%,#172a25 100%);
  box-shadow:
    0 22px 50px rgba(5,20,31,.20),
    0 0 0 6px rgba(255,190,0,.055),
    0 0 34px rgba(255,190,0,.12);
}

.ap-promo:before{
  content:"";
  position:absolute;
  left:0;
  top:0;
  bottom:0;
  width:7px;
  background:linear-gradient(180deg,#ffd42a 0%,#ffb800 55%,#ff9200 100%);
  z-index:3;
}

.ap-promo__link{
  position:relative;
  min-height:250px;
  display:grid;
  grid-template-columns:minmax(0,1.15fr) minmax(340px,.85fr);
  align-items:stretch;
  color:#fff;
  text-decoration:none!important;
  isolation:isolate;
}

.ap-promo__link:before,
.ap-promo__link:after{
  content:"";
  position:absolute;
  border-radius:999px;
  pointer-events:none;
  z-index:-1;
}
.ap-promo__link:before{
  width:330px;
  height:330px;
  right:-95px;
  top:-175px;
  border:42px solid rgba(255,195,25,.06);
}
.ap-promo__link:after{
  width:230px;
  height:230px;
  right:160px;
  bottom:-175px;
  border:32px solid rgba(255,195,25,.04);
}

.ap-promo__content{
  padding:38px 46px 40px 48px;
  display:flex;
  flex-direction:column;
  justify-content:center;
  order:1;
  position:relative;
  z-index:2;
}

.ap-promo__image{
  order:2;
  min-height:250px;
  overflow:hidden;
  position:relative;
}
.ap-promo__image:before{
  content:"";
  position:absolute;
  inset:0;
  z-index:1;
  background:linear-gradient(90deg,#0c2230 0%,rgba(12,34,48,.52) 22%,rgba(12,34,48,.05) 72%);
  pointer-events:none;
}
.ap-promo__image img{
  width:100%;
  height:100%;
  object-fit:cover;
  display:block;
  transform:scale(1.01);
  transition:transform .35s ease;
}
.ap-promo__link:hover .ap-promo__image img{transform:scale(1.045)}

/* Ha nincs kép, ne maradjon üres jobb oldali oszlop. */
.ap-promo__link:not(:has(.ap-promo__image)){
  grid-template-columns:1fr;
}
.ap-promo__link:not(:has(.ap-promo__image)) .ap-promo__content{
  padding-right:min(30vw,390px);
}

.ap-promo__eyebrow{
  align-self:flex-start;
  display:inline-flex;
  align-items:center;
  min-height:28px;
  padding:0 11px;
  margin-bottom:13px;
  border-radius:999px;
  background:#ffc400;
  color:#08131c;
  text-transform:uppercase;
  letter-spacing:1.25px;
  font-size:10px;
  font-weight:950;
  box-shadow:0 6px 16px rgba(255,190,0,.22);
}

.ap-promo h3{
  color:#fff!important;
  margin:0 0 11px!important;
  font-size:clamp(31px,3.25vw,48px)!important;
  line-height:1.02!important;
  letter-spacing:-1.3px;
  font-weight:900!important;
  text-shadow:0 2px 18px rgba(0,0,0,.22);
}

.ap-promo p{
  color:#d9e2e8!important;
  font-size:16px!important;
  line-height:1.58!important;
  max-width:800px;
  margin:0 0 23px!important;
}

.ap-promo__button{
  align-self:flex-start;
  position:relative;
  overflow:hidden;
  background:linear-gradient(180deg,#ffd12f 0%,#ffb900 100%);
  color:#0a141c;
  min-height:50px;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  gap:10px;
  padding:0 23px;
  border:1px solid rgba(255,255,255,.35);
  border-radius:12px;
  font-size:14px;
  font-weight:950;
  box-shadow:0 10px 24px rgba(255,184,0,.24);
  transition:transform .18s ease,box-shadow .18s ease,filter .18s ease;
}
.ap-promo__button:after{
  content:"";
  position:absolute;
  top:-35%;
  bottom:-35%;
  width:38px;
  left:-70px;
  transform:skewX(-22deg);
  background:rgba(255,255,255,.34);
  transition:left .48s ease;
}
.ap-promo__link:hover .ap-promo__button{
  transform:translateY(-2px) scale(1.025);
  box-shadow:0 14px 30px rgba(255,184,0,.32);
  filter:saturate(1.08);
}
.ap-promo__link:hover .ap-promo__button:after{left:calc(100% + 45px)}

.ap-promo--product{width:100%;margin:36px 0}

@media(max-width:800px){
  .ap-promo{width:min(100% - 24px,1440px);margin:28px auto;border-radius:18px}
  .ap-promo__link,.ap-promo__link:not(:has(.ap-promo__image)){grid-template-columns:1fr}
  .ap-promo__content,.ap-promo__link:not(:has(.ap-promo__image)) .ap-promo__content{padding:27px 25px 30px 28px;order:2}
  .ap-promo__image{order:1;min-height:180px;max-height:235px}
  .ap-promo__image:before{background:linear-gradient(0deg,#0c2230 0%,rgba(12,34,48,.22) 52%,transparent 88%)}
  .ap-promo h3{font-size:clamp(29px,9vw,40px)!important}
  .ap-promo p{font-size:14px!important}
  .ap-promo__button{min-height:48px;padding:0 20px}
}
