/* =========================================================
   akcio.css – Akciók oldal: eltérő (premium) színvilág
   ice (kékes), violet (lilás), emerald (zöldes)
   + kisebb elegáns számláló
   ========================================================= */

.page-hero--promo .promo-hero{
  padding: 18px;
  border-radius: 18px;
  background: rgba(255,255,255,.05);
  border: 1px solid rgba(255,255,255,.12);
}

.promo-hero__meta{
  margin-top: 12px;
  display:flex;
  flex-wrap: wrap;
  gap: 10px;
}

/* Aktív akció kártya */
.promo-live__card{
  display:grid;
  grid-template-columns: 1.2fr .8fr;
  gap: 14px;
  padding: 18px;
  border-radius: 18px;
  border: 1px solid rgba(255,255,255,.12);
  background: rgba(255,255,255,.05);
  position: relative;
  overflow:hidden;
}

/* Szín variánsok */
.promo-live--ice .promo-live__card::before,
.promo-mini--ice::before{
  content:"";
  position:absolute; inset:-1px;
  pointer-events:none;
  background:
    radial-gradient(920px 360px at 20% 20%, rgba(64,140,255,.22), transparent 60%),
    radial-gradient(900px 420px at 80% 10%, rgba(198,90,46,.14), transparent 62%);
}
.promo-live--violet .promo-live__card::before,
.promo-mini--violet::before{
  content:"";
  position:absolute; inset:-1px;
  pointer-events:none;
  background:
    radial-gradient(920px 360px at 20% 20%, rgba(164,92,255,.22), transparent 60%),
    radial-gradient(900px 420px at 80% 10%, rgba(198,90,46,.14), transparent 62%);
}
.promo-live--emerald .promo-live__card::before,
.promo-mini--emerald::before{
  content:"";
  position:absolute; inset:-1px;
  pointer-events:none;
  background:
    radial-gradient(920px 360px at 20% 20%, rgba(38,210,150,.20), transparent 60%),
    radial-gradient(900px 420px at 80% 10%, rgba(198,90,46,.14), transparent 62%);
}

.promo-live__left, .promo-live__right{ position:relative; z-index:1; }

/* Badges */
.pl-badges{ display:flex; flex-wrap:wrap; gap:10px; margin-bottom: 10px; }
.pl-badge{
  display:inline-flex;
  align-items:center;
  gap: 8px;
  font-weight: 900;
  font-size: 12px;
  letter-spacing: .3px;
  padding: 8px 10px;
  border-radius: 999px;
  border: 1px solid rgba(255,255,255,.12);
  background: rgba(255,255,255,.04);
  color: rgba(245,238,220,.92);
}
.pl-badge--hot{
  border-color: rgba(198,90,46,.35);
  background: rgba(198,90,46,.10);
}
.pl-badge--ok{
  border-color: rgba(64,140,255,.24);
  background: rgba(64,140,255,.08);
}

/* Title/lead */
.promo-live__title{
  margin: 8px 0 10px;
  color: rgba(245,238,220,.95);
  font-size: 28px;
  line-height: 1.1;
}
.promo-live__lead{ color: rgba(234,240,246,.85); font-weight: 700; }

/* actions */
.pl-actions{ display:flex; flex-wrap:wrap; gap:10px; margin-top: 12px; }
.pl-ghost{ background: rgba(255,255,255,.06) !important; }

/* proof */
.pl-proof{ margin-top: 14px; display:grid; gap: 8px; }
.pl-proof__row{ display:flex; gap: 10px; align-items:flex-start; color: rgba(234,240,246,.86); font-weight: 800; }
.pl-dot{
  width:10px; height:10px; border-radius:999px;
  margin-top: 5px;
  background: rgba(64,140,255,.55);
  box-shadow: 0 0 0 4px rgba(64,140,255,.12);
}

/* Accordion */
.pl-acc{ margin-top: 14px; border-top: 1px solid rgba(255,255,255,.10); padding-top: 10px; }
.pl-acc__btn{
  width:100%;
  display:flex;
  justify-content: space-between;
  align-items:center;
  gap: 10px;
  padding: 12px 12px;
  border-radius: 14px;
  border: 1px solid rgba(255,255,255,.10);
  background: rgba(255,255,255,.04);
  color: rgba(245,238,220,.92);
  font-weight: 900;
  cursor:pointer;
}
.pl-acc__panel{ padding: 10px 12px; }
.pl-acc__list{ margin: 0; padding-left: 18px; color: rgba(234,240,246,.86); font-weight: 700; }
.pl-acc__text p{ margin: 0; color: rgba(234,240,246,.86); font-weight: 700; }
.pl-acc__chev{ transition: transform .18s ease; }

/* Kisebb számláló */
.pl-timer{
  border: 1px solid rgba(255,255,255,.12);
  background: rgba(11,15,20,.35);
  border-radius: 18px;
  padding: 14px;
  box-shadow: 0 18px 56px rgba(0,0,0,.30);
}
.pl-kicker{
  font-family: "Oswald","Inter",system-ui,sans-serif;
  letter-spacing: .7px;
  text-transform: uppercase;
  font-weight: 800;
  color: rgba(245,238,220,.85);
  font-size: 12px;
}
.pl-timegrid{
  margin-top: 10px;
  display:grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 8px;
}
.pl-unit{
  border-radius: 16px;
  border: 1px solid rgba(255,255,255,.10);
  background: rgba(255,255,255,.04);
  padding: 10px 8px;
  text-align:center;
}
.pl-num{
  font-size: 20px;
  font-weight: 950;
  color: rgba(245,238,220,.95);
  line-height: 1;
}
.pl-lbl{
  margin-top: 6px;
  font-size: 12px;
  font-weight: 800;
  color: rgba(234,240,246,.70);
}
.pl-hint{ margin-top: 10px; color: rgba(234,240,246,.70); font-weight: 800; font-size: 13px; }
.pl-done{ margin-top: 10px; color: rgba(245,238,220,.95); font-weight: 900; }

/* Media */
.pl-media{ margin-top: 12px; }
.pl-gallery{
  border: 1px solid rgba(255,255,255,.12);
  background: rgba(255,255,255,.04);
  border-radius: 18px;
  padding: 12px;
}
.pl-gview{
  border-radius: 16px;
  overflow:hidden;
  border: 1px solid rgba(255,255,255,.10);
}
.pl-gimg{ width:100%; height: 320px; object-fit: cover; display:block; }
.pl-thumbs{
  margin-top: 10px;
  display:flex;
  gap: 10px;
  overflow:auto;
  padding-bottom: 4px;
}
.pl-thumb{
  border: 1px solid rgba(255,255,255,.12);
  background: rgba(255,255,255,.03);
  border-radius: 14px;
  padding: 0;
  cursor:pointer;
  flex: 0 0 auto;
  overflow:hidden;
}
.pl-thumb img{ width: 86px; height: 58px; object-fit: cover; display:block; }
.pl-thumb.is-active{ border-color: rgba(64,140,255,.35); }

/* Archive */
.promo-archive__head{ margin: 18px 0 10px; }
.promo-archive__list{ display:grid; gap: 12px; }

.promo-mini{
  position: relative;
  overflow:hidden;
  border-radius: 18px;
  border: 1px solid rgba(255,255,255,.12);
  background: rgba(255,255,255,.05);
}
.promo-mini > *{ position:relative; z-index:1; }
.promo-mini__btn{
  width:100%;
  display:flex;
  align-items:center;
  justify-content: space-between;
  gap: 12px;
  padding: 14px;
  background: transparent;
  border: 0;
  color: rgba(245,238,220,.95);
  cursor:pointer;
}
.promo-mini__badge{
  display:inline-block;
  font-weight: 950;
  font-size: 12px;
  letter-spacing: .3px;
  padding: 6px 10px;
  border-radius: 999px;
  border: 1px solid rgba(255,255,255,.12);
  background: rgba(255,255,255,.04);
  margin-bottom: 8px;
}
.promo-mini__title{ font-weight: 950; font-size: 16px; }
.promo-mini__meta{ margin-top: 6px; color: rgba(234,240,246,.70); font-weight: 800; font-size: 13px; }
.promo-mini__meta .dot{ margin: 0 8px; opacity:.6; }

.promo-mini__panel{ padding: 0 14px 14px; }
.promo-mini__lead{ margin-top: 0; color: rgba(234,240,246,.82); font-weight: 800; }

.promo-mini__imgs{
  margin-top: 10px;
  display:grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 10px;
}
.promo-mini__imgs img{
  width:100%;
  height: 110px;
  object-fit: cover;
  border-radius: 14px;
  border: 1px solid rgba(255,255,255,.10);
}

.promo-mini__actions{ margin-top: 12px; display:flex; flex-wrap:wrap; gap:10px; }

@media (max-width: 980px){
  .promo-live__card{ grid-template-columns: 1fr; }
  .pl-gimg{ height: 260px; }
  .promo-mini__imgs{ grid-template-columns: repeat(2, minmax(0, 1fr)); }
}
<?php if ($active): ?>
  <section class="promo-countdown-wrap" aria-label="Akció visszaszámláló">
    <div class="container">
      <div class="card promo-countdown">
        <strong><?= htmlspecialchars($active['title']) ?></strong>
        <div class="promo-countdown__text">
          <?= $daysLeft > 0 ? ('Már csak <b>' . $daysLeft . '</b> napig érvényes!') : 'Ez az akció már lejárt.' ?>
        </div>
      </div>
    </div>
  </section>
<?php endif; ?>
.promo-hero__meta{
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
}
/* =========================================================
   MOBILE FORCE FIX – Akciók oldal
   Cél: ne lógjon ki semmi, minden 1 oszlop, nincs vízszintes scroll
   ========================================================= */

@media (max-width: 1023px){

  /* 0) Globális: ne lehessen vízszintes scroll */
  html, body{ overflow-x: hidden !important; }
  *{ box-sizing: border-box; }

  /* 1) Container biztosan ne legyen szélesebb */
  .container{
    width: 100% !important;
    max-width: 100% !important;
  }

  /* 2) Az aktív akció kártya 1 oszlop */
  .promo-live__card{
    display: flex !important;
    flex-direction: column !important;
    gap: 12px !important;
  }

  .promo-live__left,
  .promo-live__right{
    width: 100% !important;
    min-width: 0 !important;
  }

  /* 3) Bármilyen grid/flex belül: törjön, ne lógjon */
  .pl-actions{
    display: grid !important;
    grid-template-columns: 1fr !important;
    gap: 10px !important;
  }

  /* 4) Timer 2x2 rács, számok ne nyomják szét */
  .pl-timegrid{
    display: grid !important;
    grid-template-columns: repeat(2, minmax(0,1fr)) !important;
    gap: 10px !important;
  }
  .pl-unit{ min-width: 0 !important; }
  .pl-num{ font-size: 22px !important; line-height: 1.1 !important; }

  /* 5) Galéria: kép ne legyen fix, ne legyen túl magas */
  .pl-gview,
  .pl-gview img,
  .pl-gimg{
    width: 100% !important;
    max-width: 100% !important;
    height: auto !important;
    max-height: 320px !important;
    object-fit: cover !important;
    display: block !important;
  }

  /* 6) Thumbs: fix oszlopok, ne nyúljon ki */
  .pl-thumbs{
    display: grid !important;
    grid-template-columns: repeat(4, minmax(0,1fr)) !important;
    gap: 10px !important;
  }
  .pl-thumb,
  .pl-thumb img{
    width: 100% !important;
    max-width: 100% !important;
    height: auto !important;
    display: block !important;
  }

  /* 7) Szöveg és badge-ek ne okozzanak kilógást */
  .promo-live__title,
  .promo-live__lead,
  .pl-micro,
  .pl-hint,
  .pl-proof__row,
  .pl-badges{
    overflow-wrap: anywhere !important;
    word-break: break-word !important;
  }

  /* 8) A “Korábbi akciók” mini kártyák gombja se csússzon szét */
  .promo-mini__btn{
    display: flex !important;
    gap: 10px !important;
    align-items: center !important;
  }
  .promo-mini__left{ min-width: 0 !important; }
  .promo-mini__title{ overflow-wrap:anywhere !important; }

}

/* extra szűk mobil */
@media (max-width: 520px){
  .pl-thumbs{
    grid-template-columns: repeat(3, minmax(0,1fr)) !important;
  }
  .pl-num{ font-size: 20px !important; }
}
