/* ==========================================================================
   MEGA MENU — treść głównej nawigacji: Kategorie + Producenci + Okazje + Tagi
   (samo pokazywanie/ukrywanie i pozycjonowanie panelu obsługuje .main-nav
   w 03-header.css — tu tylko stylowanie zawartości w środku)
   ========================================================================== */

.mega-menu__inner {
  display: flex;
  flex-direction: column;
  gap: var(--space-lg);
  padding: var(--space-md);
  background: var(--color-white) !important;
  min-height: 100px;
}

.mega-menu__col-title {
  font-size: var(--fs-xs);
  text-transform: uppercase;
  letter-spacing: var(--ls-uppercase);
  color: var(--color-text-muted);
  margin-bottom: var(--space-sm);
}

.mega-menu__list-link {
  display: block;
  font-size: var(--fs-small);
  font-weight: 500;
  padding-block: var(--space-2xs);
}
.mega-menu__sublist {
  padding-left: var(--space-md);
}
.mega-menu__sublist a {
  display: block;
  font-size: var(--fs-small);
  color: var(--color-text-muted);
  padding-block: var(--space-2xs);
}
.mega-menu__sublist a:hover { color: var(--color-primary); }

.mega-menu__brands {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: var(--space-sm);
}
.mega-menu__brand {
  display: flex;
  align-items: center;
  justify-content: center;
  padding: var(--space-sm);
  border: 1px solid var(--color-border);
  border-radius: var(--radius-sm);
  min-height: 56px;
}
.mega-menu__brand img { max-width: 100%; max-height: 32px; object-fit: contain; }
.mega-menu__brand-name { font-size: var(--fs-xs); text-align: center; }

.mega-menu__tags {
  display: flex;
  flex-wrap: wrap;
  gap: var(--space-xs);
}
.mega-menu__tag {
  font-size: var(--fs-xs);
  padding: 0.4em 0.9em;
  border: 1px solid var(--color-border);
  border-radius: var(--radius-full);
  color: var(--color-text-muted);
}
.mega-menu__tag:hover { color: var(--color-primary); border-color: var(--color-primary); }

/* Baner promocyjny "2 za 1" — na mobile ląduje na samym dole menu (naturalna
   kolejność w kodzie), na desktopie wypełnia pustą przestrzeń po prawej
   (flex: 1, patrz media query niżej), zamiast zostawiać ją pustą. */
.mega-menu__promo {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  gap: 4px;
  padding: var(--space-lg);
  background: linear-gradient(135deg, var(--color-primary) 0%, #7a1f1f 100%);
  color: var(--color-white);
  border-radius: var(--radius-md);
}
.mega-menu__promo-badge {
  background: var(--color-white);
  color: var(--color-primary);
  font-weight: 700;
  font-size: var(--fs-xs);
  padding: 3px 10px;
  border-radius: var(--radius-full);
  margin-bottom: var(--space-xs);
}
.mega-menu__promo-title { font-family: var(--font-heading); font-size: 1.25rem; }
.mega-menu__promo-desc { font-size: var(--fs-small); opacity: 0.9; }
.mega-menu__promo-cta { font-size: var(--fs-small); font-weight: 600; text-decoration: underline; margin-top: var(--space-sm); }

/* --- Desktop: kolumny obok siebie --- */
@media (min-width: 992px) {
  .mega-menu__inner {
    display: grid;
    grid-template-columns: repeat(4, minmax(140px, 1fr)) 320px;
    max-width: var(--container-max);
    margin-inline: auto;
    padding: var(--space-xl) var(--container-padding);
    gap: var(--space-xl);
    align-items: start;
  }
  .mega-menu__col { min-width: 0; }
  .mega-menu__promo {
    grid-column: 5;
    grid-row: 1;
  }

  .mega-menu__list { display: flex; flex-direction: column; gap: var(--space-sm); }
  .mega-menu__brands { grid-template-columns: repeat(2, 1fr); }
}
