/* Minimal safe overrides to ensure images display and interact correctly */
img {
  pointer-events: auto !important;
  -webkit-user-select: auto !important;
  -moz-user-select: auto !important;
  user-select: auto !important;
}

/* Some images may include width/height attributes; ensure they still layout correctly */
img[width] {
  display: block;
  height: auto;
  max-width: 100%;
}

/* Guarantee article panel images are visible even without JS-driven class toggles */
.article-panel__image img {
  opacity: 1 !important;
  visibility: visible !important;
}

/* Ensure aspect-ratio containers render images properly */
.aspect-ratio > img,
.aspect-ratio .article-panel__image > img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}

/* Ensure sticky backgrounds cover the entire section */
/* Sticky backgrounds used by NiEW + LP sections */
.lp-section,
.home-section,
.latest-news,
.specials,
.home-gm,
section {
  position: relative;
}
.sticky-background {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  z-index: 0;
  overflow: hidden;
  background-image: var(--background);
  background-position: center;
  background-repeat: no-repeat;
  background-size: cover;
}
@media (max-width: 768px) {
  .sticky-background {
    background-image: var(--background-mobile, var(--background));
  }
}
.sticky-background picture,
.sticky-background img {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  object-fit: cover;
}
.lp-section__container,
.lp-section__content,
.home-section__inner,
.latest-news__inner {
  position: relative;
  z-index: 1;
}

/* SPECIAL section layering: keep content above sticky background */
section.specials { position: relative; }
.mega-marquee__article-panels,
.mega-marquee__articles {
  position: relative;
  z-index: 1;
}

/* Footer minimal styles */
footer.footer {
  /* Use provided background variable when available */
  background-image: var(--background-large, var(--background, none));
  background-size: cover;
  background-position: center;
  padding: clamp(24px, 4vw, 48px) 16px;
}

.footer__head {
  display: flex;
  justify-content: space-between;
  align-items: center;
  gap: 16px;
  padding-bottom: clamp(16px, 2.5vw, 24px);
}
.footer__subscription .subscription-form {
  display: flex;
  gap: 8px;
  align-items: center;
}

.transition-opacity { transition: opacity 200ms ease-out; }
.transition-opacity:hover { opacity: .7; }
/* Navigation layout */
.footer .nav { grid-template-columns: 1fr; }
@media (min-width: 768px) {
  .footer .nav { grid-template-columns: 1fr 1fr 1fr; }
}
.footer .nav a { text-decoration: none; color: inherit; }
.footer .nav .nav__primary { display: inline-block; margin: 4px 0; }

.footer .search-form {
  display: flex;
  gap: 8px;
  align-items: center;
}
.footer .search-form input { flex: 1 1 auto; }

.footer .nav-twocols-on-small {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 8px;
}
@media (min-width: 1024px) {
  .footer .nav-twocols-on-small { grid-template-columns: repeat(7, max-content); }
}

.footer .nav__socials {
  display: flex;
  gap: 12px;
  list-style: none;
  padding: 0;
  margin: 8px 0;
}
.footer .nav__socials .icon { width: 24px; height: 24px; }

.footer .nav__tertiary {
  display: grid;
  grid-template-columns: repeat(3, max-content);
  gap: 8px 16px;
}
@media (max-width: 767px) {
  .footer .nav__tertiary { grid-template-columns: 1fr 1fr; }
}

.footer .nav__language {
  display: flex;
  align-items: center;
  gap: 8px;
  margin-top: 8px;
}

.footer .nav__copyright {
  margin-top: 16px;
  text-align: center;
}
