#footer-10,
.article-footer,
.site-footer {
  position: relative;
  isolation: isolate;
  overflow: hidden;
  background: url('/images/footer-100.webp?v=20261012-13') center / cover no-repeat;
  color: rgba(255, 255, 255, .78);
  padding: 48px 0 22px;
}

#footer-10 > .container,
.article-footer > .container,
.site-footer > .container {
  position: relative;
  z-index: 2;
}

/* The legacy module stylesheet hides the first direct child of #footer-10.
   Detail pages start with the content container, so keep that container visible. */
.article-footer > .container {
  display: block !important;
}

#footer-10::before,
.article-footer::before,
.site-footer::before {
  content: '';
  position: absolute;
  inset: 0;
  z-index: 1;
  background: rgba(0, 0, 0, .80);
  pointer-events: none;
}

#footer-10 > div[style*="background-color"],
.site-footer > div[style*="background-color"] {
  display: none;
}

#footer-10 h3,
#footer-10 h6,
.article-footer h3,
.site-footer h3,
.site-footer h6 {
  color: #fff;
  font-size: 1rem;
  font-weight: 700;
  line-height: 1.4;
  margin: 0 0 14px;
}

#footer-10 a,
.article-footer a,
.site-footer a {
  color: rgba(255, 255, 255, .72);
  text-decoration: none;
  transition: color .2s ease;
}

#footer-10 a:hover,
.article-footer a:hover,
.site-footer a:hover {
  color: #fff;
}

/* article.css gives every footer link block display and vertical margins.
   Keep the bottom navigation in one compact row on every page. */
#footer-10 .row:last-child a,
.article-footer .row:last-child a,
.site-footer .row:last-child a {
  display: inline-block !important;
  margin: 0 !important;
}

#footer-10 ul,
.article-footer ul,
.site-footer ul {
  margin: 0;
  padding: 0;
}

#footer-10 .border-bottom,
.article-footer .border-bottom,
.site-footer .border-bottom {
  border-color: rgba(255, 255, 255, .22) !important;
}

#footer-10 img,
.article-footer .footer-logo,
.site-footer .footer-logo {
  width: 126px;
  height: 52px;
  object-fit: contain;
  object-position: left center;
}

#footer-10 p,
.article-footer p,
.site-footer p {
  color: rgba(255, 255, 255, .68);
  line-height: 1.75;
}

.article-footer {
  background-image: url('/images/footer-100.webp?v=20261012-13');
  border-top: 0;
}

.article-footer .footer-copy,
.site-footer .footer-copy {
  border-top: 1px solid rgba(255, 255, 255, .22);
  color: rgba(255, 255, 255, .62);
  margin-top: 22px;
  padding-top: 18px;
  text-align: center;
}

@media (max-width: 767.98px) {
  #footer-10,
  .article-footer,
  .site-footer {
    padding: 36px 0 18px;
  }

  #footer-10 .text-md-end,
  .article-footer .text-md-end,
  .site-footer .text-md-end {
    text-align: left !important;
  }

  #footer-10 img,
  .article-footer .footer-logo,
  .site-footer .footer-logo {
    object-position: left center;
  }
}

/* Shared homepage bottom area.  It does not depend on Bootstrap so the
   landing page and content pages keep the same layout at every breakpoint. */
.pg-shared-footer {
  display: none !important;
  position: relative;
  margin-top: clamp(2rem, 5vw, 4rem);
  padding: 2.75rem 1rem 1.25rem;
  border-top: 1px solid rgba(255, 255, 255, .08);
  background: #12121b;
  color: rgba(255, 255, 255, .72);
}

.pg-shared-footer-inner {
  width: min(100%, 1160px);
  margin: 0 auto;
}

.pg-shared-footer-grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 2rem;
  padding-bottom: 1.75rem;
  border-bottom: 1px solid rgba(255, 255, 255, .14);
}

.pg-shared-footer h2 {
  display: flex;
  align-items: center;
  gap: .55rem;
  margin: 0 0 .9rem;
  color: #fff;
  font-size: .95rem;
  font-weight: 750;
}

.pg-shared-footer h2 i { color: var(--pg-gold, #f5b342); }
.pg-shared-footer p { margin: 0 0 .45rem; color: rgba(255, 255, 255, .62); font-size: .82rem; line-height: 1.7; }
.pg-shared-footer a { display: block; width: fit-content; margin: 0 0 .5rem; color: rgba(255, 255, 255, .7); font-size: .82rem; text-decoration: none; }
.pg-shared-footer a:hover, .pg-shared-footer a:focus-visible { color: var(--pg-gold, #f5b342); }
.pg-shared-footer-brand img { display: block; width: 168px; height: 43px; margin: 0 0 .6rem; object-fit: contain; object-position: left center; }

.pg-shared-footer-bottom {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 1rem;
  padding-top: 1rem;
  color: rgba(255, 255, 255, .5);
  font-size: .76rem;
  line-height: 1.6;
}

.pg-shared-footer-links { display: flex; flex-wrap: wrap; gap: .85rem 1.2rem; }
.pg-shared-footer-links a { display: inline-block; margin: 0; font-size: .76rem; }

.pg-shared-bottom-nav {
  position: fixed;
  z-index: 1040;
  right: 0;
  bottom: 0;
  left: 0;
  display: flex;
  box-sizing: border-box;
  min-height: calc(48px + env(safe-area-inset-bottom, 0px));
  align-items: center;
  justify-content: space-around;
  padding: 3px 0 calc(3px + env(safe-area-inset-bottom, 0px));
  border-top: 1px solid rgba(255, 255, 255, .12);
  background: #101013;
}

body:has(.pg-shared-bottom-nav) {
  padding-bottom: calc(52px + env(safe-area-inset-bottom, 0px));
}

.pg-shared-bottom-nav a {
  display: flex;
  flex: 1 1 25%;
  min-width: 0;
  min-height: 40px;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  gap: 2px;
  margin: 0;
  color: #f2f2f4;
  font-size: 11px;
  font-weight: 500;
  line-height: 1.15;
  text-decoration: none;
}

.pg-shared-bottom-nav a i {
  font-size: 15px;
  line-height: 1;
}

.pg-shared-bottom-nav a:hover,
.pg-shared-bottom-nav a:focus-visible,
.pg-shared-bottom-nav a.active {
  color: var(--pg-gold, #f5b342);
}

@media (max-width: 767.98px) {
  .pg-shared-footer { padding: 2.25rem 1rem calc(5rem + env(safe-area-inset-bottom)); }
  .pg-shared-footer-grid { grid-template-columns: 1fr 1fr; gap: 1.5rem 1rem; }
  .pg-shared-footer-brand { grid-column: 1 / -1; padding-top: .25rem; }
  .pg-shared-footer-bottom { align-items: flex-start; flex-direction: column; }
}
