/*
 * PromoVEN canonical header and footer.
 * Scoped so legacy page styles cannot change the shared shell.
 */
body > header,
body > footer:not(#pv-global-footer),
body > .compliance,
body > .compliance-bar,
body > .site-compliance-bar,
body > .header,
body > .nav,
body > .topnav,
body > .topbar,
body > .top,
body > .siteheader,
body > .footer,
body > .foot:not(#pv-global-footer),
body > .site-footer,
body > .approved-header,
body > [class*="compliance"]:not(#pv-global-shell):not(#pv-global-footer),
body > [class*="header"]:not(#pv-global-shell):not(#pv-global-footer),
body > [class*="footer"]:not(#pv-global-footer),
body > img[class*="header"] {
  display: none !important;
}

#pv-global-shell,
#pv-global-footer {
  --pv-navy: #052846;
  --pv-navy2: #003366;
  --pv-ink: #192c3e;
  --pv-gold: #f4b400;
  --pv-pale: #f5f8fb;
  --pv-compliance: #d60814;
}

#pv-global-shell,
#pv-global-shell *,
#pv-global-footer,
#pv-global-footer * {
  box-sizing: border-box;
}

#pv-global-shell {
  position: relative;
  z-index: 100;
  color: var(--pv-ink);
  font-family: Inter, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
  line-height: 1.4;
}

#pv-global-shell a,
#pv-global-footer a {
  text-decoration: none;
}

#pv-global-shell button {
  font: inherit;
  cursor: pointer;
}

#pv-global-shell .site-compliance-bar {
  width: 100%;
  min-height: 51px;
  display: flex;
  align-items: center;
  background: var(--pv-compliance);
  color: #fff;
}

#pv-global-shell .site-compliance-inner {
  width: min(1090px, calc(100% - 25px));
  margin: 0 auto;
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 21px;
}

#pv-global-shell .site-shield {
  width: 26px;
  height: 29px;
  flex: none;
}

#pv-global-shell .site-compliance-title {
  margin: 0;
  font-family: Montserrat, Inter, system-ui, sans-serif;
  font-size: 15px;
  font-weight: 800;
  letter-spacing: .05px;
  white-space: nowrap;
}

#pv-global-shell .site-compliance-separator {
  width: 1px;
  height: 29px;
  flex: none;
  background: rgba(255, 255, 255, .78);
}

#pv-global-shell .site-compliance-pill {
  padding: 8px 18px;
  border: 0;
  border-radius: 30px;
  background: #fff;
  box-shadow: 0 1px 2px rgba(0, 0, 0, .14);
  color: #d40000;
  font-family: Montserrat, Inter, system-ui, sans-serif;
  font-size: 10px;
  font-weight: 800;
  white-space: nowrap;
}

#pv-global-shell .site-header {
  position: relative;
  z-index: 3;
  background: #fff;
  box-shadow: 0 1px 3px #0b23320d;
}

#pv-global-shell .site-header-row {
  width: min(1090px, calc(100% - 50px));
  height: 51px;
  margin: 0 auto;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 20px;
}

#pv-global-shell .site-brand {
  display: flex;
  align-items: center;
  align-self: stretch;
  flex: none;
}

#pv-global-shell .site-brand img {
  width: 80px;
  height: 50px;
  object-fit: contain;
}

#pv-global-shell .site-menu-toggle {
  display: none;
  padding: 6px;
  border: 0;
  background: transparent;
  color: var(--pv-navy);
  font-size: 23px;
}

#pv-global-shell .site-nav {
  margin-left: auto;
  display: flex;
  align-items: center;
  gap: 12px;
}

#pv-global-shell .site-nav > a:not(.site-join-btn):not(.site-login-pill) {
  color: var(--pv-navy2);
  font-size: 10px;
  font-weight: 800;
  white-space: nowrap;
}

#pv-global-shell .site-nav a:hover {
  color: #00518b;
}

#pv-global-shell .site-news-nav {
  display: inline-flex;
  align-items: center;
  gap: 10px;
  padding-block: 15px 10px;
  border-bottom: 2px solid var(--pv-gold);
}

#pv-global-shell .site-news-nav > span:first-child {
  color: #003f76;
  font-size: 14px;
}

#pv-global-shell .site-events-link {
  display: flex;
  align-items: center;
  gap: 10px !important;
  padding: 11px 16px;
  border-radius: 28px;
  background: #00264e;
  box-shadow: 0 2px 8px #032b5f20;
  color: #fff !important;
  white-space: nowrap;
}

#pv-global-shell .site-events-link .site-calendar-icon {
  color: var(--pv-gold);
  font-size: 17px;
}

#pv-global-shell .site-search-link {
  min-width: 18px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
}

#pv-global-shell .site-search-link svg {
  width: 17px;
  height: 17px;
  fill: none;
  stroke: #00284a;
  stroke-width: 2;
}

#pv-global-shell .site-language-switch {
  display: flex;
  align-items: center;
  gap: 3px;
  flex: none;
}

#pv-global-shell .mobile-language-switch {
  display: none;
}

#pv-global-shell .site-language-button {
  padding: 6px 5px;
  border: 1px solid transparent;
  border-radius: 18px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 4px;
  background: transparent;
  color: var(--pv-navy);
  font-size: 9px;
  font-weight: 800;
  white-space: nowrap;
  cursor: pointer;
}

#pv-global-shell .site-language-button:hover {
  background: var(--pv-pale);
}

#pv-global-shell .site-language-button[aria-pressed="true"] {
  background: #00264e;
  color: #fff;
}

#pv-global-shell .site-language-flag {
  width: 18px;
  height: 14px;
  flex: 0 0 18px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  line-height: 0;
}

#pv-global-shell .site-language-flag img {
  display: block;
  width: 100%;
  max-height: 100%;
  height: auto;
  object-fit: contain;
  border: 1px solid rgba(5, 40, 70, .16);
  border-radius: 2px;
}

#pv-global-shell .site-login-pill {
  padding: 8px 13px;
  border: 1.5px solid #66a2eb;
  border-radius: 30px;
  color: #1762b4;
  font-size: 10px;
  font-weight: 750;
  white-space: nowrap;
}

#pv-global-shell .site-join-btn {
  padding: 10px 15px;
  border-radius: 30px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  background: var(--pv-gold);
  box-shadow: 0 3px 9px #00000012;
  color: #06142a;
  font-family: Montserrat, Inter, system-ui, sans-serif;
  font-size: 10px;
  font-weight: 800;
  white-space: nowrap;
}

#pv-global-shell .site-join-btn:hover {
  background: #ffd25c;
}

#pv-global-shell [data-lang][hidden] {
  display: none !important;
}

#pv-global-footer.foot {
  position: relative;
  z-index: 1;
  margin-top: 48px;
  padding: 39px 0;
  background: var(--pv-navy);
  color: #dbe6ef;
  font-family: Inter, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
  line-height: 1.55;
}

#pv-global-footer .wrap {
  width: min(1180px, 100%);
  margin: 0 auto;
  padding: 0 26px;
  display: grid;
  grid-template-columns: 1.2fr .75fr 1.25fr 1.2fr .8fr;
  gap: 28px;
}

#pv-global-footer section {
  min-width: 0;
}

#pv-global-footer h4 {
  margin: 0 0 12px;
  color: #fff;
  font-family: Montserrat, Inter, system-ui, sans-serif;
  font-size: 14px;
  font-weight: 800;
}

#pv-global-footer p {
  max-width: 410px;
  margin: 7px 0;
  font-size: 13px;
}

#pv-global-footer a:not(.pv-social-link) {
  margin: 7px 0;
  display: block;
  color: #dbe6ef;
  font-size: 13px;
}

#pv-global-footer a:hover {
  color: #fff;
  text-decoration: underline;
  text-underline-offset: 3px;
}

#pv-global-footer .mini {
  grid-column: 1 / -1;
  margin: 0;
  padding-top: 18px;
  border-top: 1px solid #37536c;
  color: #b9c8d4;
}

#pv-global-footer .pv-social-links {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 12px 8px;
}

#pv-global-footer .pv-social-link {
  min-width: 0;
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 5px;
  color: #dbe6ef;
  font-size: 11px;
  font-weight: 600;
  text-align: center;
}

#pv-global-footer .pv-social-link svg {
  width: 21px;
  height: 21px;
  flex: none;
  fill: currentColor;
}

#pv-global-footer .pv-social-link .pv-instagram-icon,
#pv-global-footer .pv-social-link .pv-linkedin-icon,
#pv-global-footer .pv-social-link .pv-youtube-icon {
  fill: none;
  stroke: currentColor;
  stroke-width: 1.8;
}

#pv-global-footer .pv-social-link .pv-instagram-dot {
  fill: currentColor;
  stroke: none;
}

#pv-global-footer .pv-social-link .pv-social-play {
  fill: currentColor;
  stroke: none;
}

@media (max-width: 1250px) {
  #pv-global-shell .site-nav { gap: 12px; }
  #pv-global-shell .site-compliance-title { font-size: 13px; }
}

@media (max-width: 1000px) {
  #pv-global-shell .site-compliance-inner { gap: 11px; }
  #pv-global-shell .site-compliance-title { font-size: 11px; }
  #pv-global-shell .site-compliance-pill { padding: 8px 10px; font-size: 9px; }
  #pv-global-shell .site-nav { gap: 8px; }
  #pv-global-shell .site-header-row { gap: 8px; }
  #pv-global-shell .site-nav > a:not(.site-join-btn):not(.site-login-pill) { font-size: 9px; }
  #pv-global-shell .site-language-button { padding: 5px 3px; font-size: 9px; }
  #pv-global-shell .site-login-pill,
  #pv-global-shell .site-join-btn { padding: 9px 11px; font-size: 9px; }
}

@media (max-width: 900px) {
  #pv-global-shell .site-header-row { width: calc(100% - 32px); height: 66px; }
  #pv-global-shell .site-brand { order: 1; }
  #pv-global-shell .site-brand img { width: 92px; height: 59px; }
  #pv-global-shell .mobile-language-switch { order: 2; display: flex; margin-left: auto; gap: 3px; }
  #pv-global-shell .desktop-language-switch { display: none; }
  #pv-global-shell .site-menu-toggle { order: 3; display: block; margin-left: 6px; }
  #pv-global-shell .site-nav {
    position: absolute;
    top: 66px;
    right: 0;
    left: 0;
    z-index: 20;
    order: 4;
    padding: 12px 24px 22px;
    display: none;
    flex-direction: column;
    align-items: stretch;
    gap: 5px;
    background: #fff;
    box-shadow: 0 9px 22px #001e3433;
  }
  #pv-global-shell .site-nav.is-open { display: flex; }
  #pv-global-shell .site-nav > a:not(.site-join-btn):not(.site-login-pill) {
    padding: 10px;
    font-size: 14px;
  }
  #pv-global-shell .site-news-nav,
  #pv-global-shell .site-events-link { align-self: flex-start; }
  #pv-global-shell .site-language-button { padding: 6px; font-size: 11px; }
  #pv-global-shell .site-login-pill { align-self: flex-start; margin: 7px 0; }
  #pv-global-shell .site-join-btn { align-self: flex-start; }
  #pv-global-footer .wrap { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 24px; }
  #pv-global-footer .mini { grid-column: 1 / -1; }
}

@media (max-width: 750px) {
  #pv-global-shell .site-compliance-bar { padding: 7px 8px; }
  #pv-global-shell .site-compliance-inner { flex-wrap: wrap; gap: 6px 12px; }
  #pv-global-shell .site-compliance-title {
    min-width: 235px;
    flex: 1;
    font-size: 10px;
    line-height: 1.25;
    white-space: normal;
  }
  #pv-global-shell .site-compliance-separator { display: none; }
  #pv-global-shell .site-compliance-pill { margin-left: 38px; }
  #pv-global-footer .wrap { grid-template-columns: 1fr; gap: 14px; }
  #pv-global-footer .mini { grid-column: auto; }
}

@media (max-width: 400px) {
  #pv-global-shell .site-header-row { width: calc(100% - 20px); gap: 4px; }
  #pv-global-shell .site-brand img { width: 72px; height: 46px; }
  #pv-global-shell .mobile-language-switch { gap: 1px; }
  #pv-global-shell .site-language-button { gap: 2px; padding: 5px 3px; font-size: 9px; }
  #pv-global-shell .site-language-flag { width: 16px; flex-basis: 16px; }
  #pv-global-shell .site-menu-toggle { margin-left: 2px; padding: 3px; font-size: 20px; }
}
