/* Shared dark-theme chrome for Barris Vius campaign pages (barris-vius, ediciones-anteriores,
   alimentacion-proximidad, ...). Extracted from the original barris-vius/page.tsx inline styles
   so every new campaign page doesn't re-duplicate the LegacyHeader neutralization rules. */

.barris-page-outer {
  background-color: #000000 !important;
  color: #FFFFFF;
  min-height: 100vh;
  font-family: 'DM Sans', sans-serif !important;
  letter-spacing: -0.01em;
  overflow-x: hidden !important;
  margin: 0;
  padding: 0;
  width: 100%;
  max-width: 100vw;
  position: relative;
}

.barris-page-outer,
.barris-page-outer p,
.barris-page-outer span:not(.material-icons),
.barris-page-outer a:not(.material-icons),
.barris-page-outer label,
.barris-page-outer input,
.barris-page-outer button {
  font-family: 'DM Sans', sans-serif !important;
}

.barris-page-outer .material-icons {
  font-family: 'Material Icons' !important;
  font-weight: normal !important;
  font-style: normal !important;
  font-size: 24px;
  display: inline-block;
  line-height: 1;
  text-transform: none !important;
  letter-spacing: normal;
  word-wrap: normal;
  white-space: nowrap;
  direction: ltr;
  -webkit-font-smoothing: antialiased;
  text-rendering: optimizeLegibility;
}

.barris-page-outer header {
  background-color: #000000 !important;
  border-bottom: 1px solid rgba(255, 255, 255, 0.08) !important;
  position: relative !important;
  z-index: 10;
}

.barris-page-outer .header-container {
  background-color: #000000 !important;
  padding-top: calc(12px + env(safe-area-inset-top, 0px)) !important;
  padding-bottom: 8px !important;
  padding-left: calc(16px + env(safe-area-inset-left, 0px)) !important;
  padding-right: calc(16px + env(safe-area-inset-right, 0px)) !important;
}
.barris-page-outer .dropdown-ini {
  position: relative !important;
  margin-top: 0 !important;
}
.barris-page-outer .menumobile {
  color: #FFFFFF !important;
  top: calc(12px + env(safe-area-inset-top, 0px)) !important;
  right: calc(18px + env(safe-area-inset-right, 0px)) !important;
  left: auto !important;
  margin-left: 0 !important;
}

.barris-page-outer header a:not(.nav-dropdown-content a),
.barris-page-outer header span:not(.material-icons):not(.nav-dropdown-content *),
.barris-page-outer header nav a:not(.nav-dropdown-content a) {
  font-family: 'DM Sans', sans-serif !important;
  color: #E0E0E0 !important;
  font-weight: 500 !important;
}

.barris-page-outer header .material-icons,
.barris-page-outer .dropdown .selected-language {
  color: #FFFFFF !important;
}

.barris-page-outer .dropdown-ini .selected-language,
.barris-page-outer .dropdown-ini .language-icon {
  color: #92419F !important;
  font-weight: 700 !important;
}

/* Nav dropdown content menu */
.barris-page-outer header .nav-dropdown-content,
header .nav-dropdown-content {
  background-color: #ffffff !important;
  border: 2px solid #92419F !important;
  border-radius: 8px !important;
  box-shadow: 0 8px 24px rgba(0, 0, 0, 0.25) !important;
  padding: 8px 0 !important;
  z-index: 1001 !important;
}

.barris-page-outer header .nav-dropdown-content a,
.barris-page-outer header nav .nav-dropdown-content a,
header .nav-dropdown-content a {
  color: #2B0C33 !important;
  font-family: 'DM Sans', sans-serif !important;
  font-weight: 700 !important;
  font-size: 15px !important;
  display: block !important;
  padding: 10px 18px !important;
  background-color: transparent !important;
  text-decoration: none !important;
  transition: background-color 0.15s ease, color 0.15s ease !important;
}

.barris-page-outer header .nav-dropdown-content a:hover,
.barris-page-outer header nav .nav-dropdown-content a:hover,
header .nav-dropdown-content a:hover {
  background-color: #FAF5FC !important;
  color: #92419F !important;
}

/* Scope mobile menu popup (#mobileMenu) so popup content text is black on white */
#mobileMenu,
#mobileMenu a,
#mobileMenu span:not(.material-icons),
#mobileMenu nav a,
#mobileMenu .header-link {
  color: #2B0C33 !important;
}
#mobileMenu a.active-lang,
#mobileMenu .active-lang {
  color: #92419F !important;
  font-weight: 900 !important;
}
#mobileMenu .close-menu {
  color: #2B0C33 !important;
}
#mobileMenu .button-join span {
  color: #FFFFFF !important;
}

.campaign-wrapper {
  max-width: 1160px;
  width: 100%;
  margin: 0 auto;
  padding: 0px 24px 80px;
  position: relative;
  box-sizing: border-box;
}

.dates-subtitle {
  font-family: 'DM Sans', sans-serif !important;
  font-size: 0.9rem;
  color: #00D2FF;
  font-weight: 700;
  letter-spacing: 0.15em;
  text-transform: uppercase;
  margin-bottom: 8px;
  display: inline-block;
  border-bottom: 2px solid #00D2FF;
  padding-bottom: 4px;
}
