/* ========================================
   FORCE BLACK & WHITE THEME - AGGRESSIVE OVERRIDES
   ======================================== */

/* Force all text to be black or appropriate gray */
h1, h2, h3, h4, h5, h6,
.section-title h1, .section-title h2, .section-title h3,
.luxury-intro h2, .partners-intro h2 {
  color: #000000 !important;
}

/* Hero section text - Force White only for visible language elements */
.hero-headline,
.slider-caption p,
#slider .slider-caption p,
#slider .hero-headline,
.slider-caption-center p,
.hero-caption p,
.hero-caption .hero-headline {
  color: #ffffff !important;
  text-shadow: 0 2px 4px rgba(0, 0, 0, 0.5) !important;
}

/* Hero text - only for visible language elements */
body[data-lang="en"] .hero-headline .lang-en,
body[data-lang="en"] .slider-caption p .lang-en,
body[data-lang="fr"] .hero-headline .lang-fr,
body[data-lang="fr"] .slider-caption p .lang-fr,
body[data-lang="es"] .hero-headline .lang-es,
body[data-lang="es"] .slider-caption p .lang-es {
  color: #ffffff !important;
  text-shadow: 0 2px 4px rgba(0, 0, 0, 0.5) !important;
}

/* OUR STORY button - Dark grey background with white text */
.intro-badge {
  background: #424242 !important;
  color: #ffffff !important;
  border: 1px solid #424242 !important;
  text-shadow: none !important;
  border-radius: 25px !important;
  padding: 8px 16px !important;
  display: inline-block !important;
}

/* OUR STORY button text - only for visible language elements */
body[data-lang="en"] .intro-badge .lang-en,
body[data-lang="fr"] .intro-badge .lang-fr,
body[data-lang="es"] .intro-badge .lang-es {
  background: #424242 !important;
  color: #ffffff !important;
  border: none !important;
  text-shadow: none !important;
}

/* Language System - Hide all languages by default, show only selected */
.lang, .lang-en, .lang-fr, .lang-es {
  display: none !important;
}

/* Show only the selected language */
body[data-lang="en"] .lang-en {
  display: inline !important;
}

body[data-lang="fr"] .lang-fr {
  display: inline !important;
}

body[data-lang="es"] .lang-es {
  display: inline !important;
}

/* Special cases for block elements */
body[data-lang="en"] .engagement-roadmap .roadmap-meta .lang-en,
body[data-lang="en"] #expertise-production .production-dna-card h4.lang-en {
  display: block !important;
}

body[data-lang="fr"] .engagement-roadmap .roadmap-meta .lang-fr,
body[data-lang="fr"] #expertise-production .production-dna-card h4.lang-fr {
  display: block !important;
}

body[data-lang="es"] .engagement-roadmap .roadmap-meta .lang-es,
body[data-lang="es"] #expertise-production .production-dna-card h4.lang-es {
  display: block !important;
}

/* All Buttons - Force White Text with Maximum Specificity */
.button,
.btn,
button,
input[type="button"],
input[type="submit"],
.button-about,
.button-expertise,
.button-engagement,
.button-partners,
.button-contact,
a.button,
a.btn,
[class*="button-"],
.read-more,
.cta-button,
.button *,
.btn *,
button *,
.button span,
.btn span,
button span,
.button .lang,
.btn .lang,
button .lang {
  color: #ffffff !important;
  text-shadow: none !important;
}

/* Force white text on all button child elements */
.button > *,
.btn > *,
button > *,
.button-about > *,
.button-expertise > *,
.button-engagement > *,
.button-partners > *,
.button-contact > * {
  color: #ffffff !important;
}

/* Button text - only for visible language elements */
body[data-lang="en"] .button .lang-en,
body[data-lang="en"] .btn .lang-en,
body[data-lang="en"] button .lang-en,
body[data-lang="fr"] .button .lang-fr,
body[data-lang="fr"] .btn .lang-fr,
body[data-lang="fr"] button .lang-fr,
body[data-lang="es"] .button .lang-es,
body[data-lang="es"] .btn .lang-es,
body[data-lang="es"] button .lang-es {
  color: #ffffff !important;
}

/* Override any paragraph rules that might affect buttons */
.button p,
.btn p,
button p,
.button span,
.btn span,
button span {
  color: #ffffff !important;
}

/* Force all bubble animations to be grey instead of colorful */
.luxury-intro.expertise-intro::before,
.luxury-intro.about-intro::before,
.luxury-intro.engagement-intro::before,
.luxury-intro.partners-intro::before,
.luxury-intro.works-intro::before,
.luxury-intro.contact-intro::before {
  background: radial-gradient(circle, rgba(128, 128, 128, 0.15), rgba(128, 128, 128, 0)) !important;
}

.luxury-intro.expertise-intro::after,
.luxury-intro.about-intro::after,
.luxury-intro.engagement-intro::after,
.luxury-intro.partners-intro::after,
.luxury-intro.works-intro::after,
.luxury-intro.contact-intro::after {
  background: radial-gradient(circle, rgba(96, 96, 96, 0.12), rgba(96, 96, 96, 0)) !important;
}

/* Other decorative bubble elements */
.about-overview .luxury-intro::before,
.about-pillars-intro::before,
.expertise-production::before,
.engagement-roadmap::before {
  background: radial-gradient(circle, rgba(128, 128, 128, 0.15), rgba(128, 128, 128, 0)) !important;
}

.about-overview .luxury-intro::after,
.about-pillars-intro::after,
.expertise-production::after,
.engagement-roadmap::after {
  background: radial-gradient(circle, rgba(96, 96, 96, 0.12), rgba(96, 96, 96, 0)) !important;
}

/* Additional bubble elements */
.about-highlight-card::after,
.pillar-card::before,
.production-dna-card::after,
.engagement-card::after {
  background: radial-gradient(circle, rgba(112, 112, 112, 0.18), rgba(112, 112, 112, 0)) !important;
}

/* Remove all teal/green colors (15, 118, 110) and replace with grey */
.contact-form-card .form-control:focus,
.contact-form-card .form-select:focus {
  border-color: rgba(128, 128, 128, 0.55) !important;
  box-shadow: 0 0 0 3px rgba(128, 128, 128, 0.18) !important;
}

/* Preserve custom hover shadows defined in theme */

/* Remove teal backgrounds and replace with grey */
.certification-icon,
.engagement-card .card-icon,
.material-tags span {
  background: rgba(128, 128, 128, 0.12) !important;
  color: #424242 !important;
}

/* Remove any remaining teal gradients */
.impact-stats,
.engagement-panel,
.partners-cta,
.cta-panel {
  background: linear-gradient(145deg, rgba(64, 64, 64, 0.92), rgba(96, 96, 96, 0.95)) !important;
}

/* Impact snapshot card - force white text and icons */
.impact-stats,
.impact-stats * {
  color: #ffffff !important;
}

.impact-stats .impact-icon {
  background: rgba(255, 255, 255, 0.25) !important;
  color: #ffffff !important;
}

.impact-stats .impact-value,
#engagement-intro .impact-stats .impact-value,
.impact-stats .impact-tile .impact-value {
  color: #ffffff !important;
}

.impact-stats .impact-progress {
  background: rgba(255, 255, 255, 0.25) !important;
}

/* Partners CTA panel - force white text */
.partners-cta,
.partners-cta h3,
.partners-cta p,
.partners-cta span,
.partners-cta .lang,
.partners-cta strong {
  color: #ffffff !important;
}

.partners-cta p {
  opacity: 1 !important;
}

/* Engagement roadmap cards - enforce grey palette */
.engagement-roadmap .roadmap-item {
  --phase-color: #d4d4d4 !important;
  --phase-color-soft: rgba(160, 160, 160, 0.18) !important;
  --roadmap-accent: linear-gradient(135deg, #636363, #2e2e2e) !important;
  background: linear-gradient(155deg, rgba(64, 64, 64, 0.92), rgba(32, 32, 32, 0.9)) !important;
  border-color: rgba(255, 255, 255, 0.08) !important;
  color: #ffffff !important;
}

.engagement-roadmap .roadmap-item::before {
  background: linear-gradient(135deg, rgba(96, 96, 96, 0.85), rgba(48, 48, 48, 0.85)) !important;
}

.engagement-roadmap .roadmap-item::after {
  background: radial-gradient(circle, rgba(128, 128, 128, 0.35), rgba(64, 64, 64, 0.05)) !important;
}

.engagement-roadmap .roadmap-number,
.engagement-roadmap .roadmap-phase,
.engagement-roadmap .roadmap-phase span,
.engagement-roadmap .roadmap-phase .lang,
.engagement-roadmap .roadmap-phase i {
  color: #ffffff !important;
}

.engagement-roadmap .roadmap-number {
  background: linear-gradient(135deg, #777777, #424242) !important;
  box-shadow: 0 14px 28px rgba(0, 0, 0, 0.35) !important;
}

.engagement-roadmap .roadmap-phase {
  background: rgba(160, 160, 160, 0.25) !important;
  border: 1px solid rgba(255, 255, 255, 0.1) !important;
}

.engagement-roadmap .roadmap-phase i {
  color: #f0f0f0 !important;
}

.engagement-roadmap .roadmap-body h4,
.engagement-roadmap .roadmap-body p,
.engagement-roadmap .roadmap-body span,
.engagement-roadmap .roadmap-body .lang,
.engagement-roadmap .roadmap-meta,
.engagement-roadmap .roadmap-meta span,
.engagement-roadmap .roadmap-meta .lang,
.engagement-roadmap .roadmap-meta strong {
  color: #f5f5f5 !important;
}

.engagement-roadmap .roadmap-body h4 .lang,
.engagement-roadmap .roadmap-body p .lang,
.engagement-roadmap .roadmap-meta .lang,
.engagement-roadmap .roadmap-meta strong,
.engagement-roadmap .roadmap-body p,
.engagement-roadmap .roadmap-body h4,
.engagement-roadmap .roadmap-body p span,
.engagement-roadmap .roadmap-body h4 span {
  color: #ffffff !important;
}

.engagement-roadmap .roadmap-number,
.engagement-roadmap .roadmap-number span,
.engagement-roadmap .roadmap-number .lang {
  color: #ffffff !important;
}

.engagement-roadmap .roadmap-meta.text-muted,
.engagement-roadmap .roadmap-meta.text-muted * {
  color: #ffffff !important;
  opacity: 1 !important;
}

.engagement-roadmap .roadmap-item *,
.engagement-roadmap .roadmap-item strong {
  color: #ffffff !important;
}

.engagement-roadmap .roadmap-item[data-phase] {
  --phase-color: #e0e0e0 !important;
  --phase-color-soft: rgba(160, 160, 160, 0.18) !important;
  --roadmap-accent: linear-gradient(135deg, #6a6a6a, #373737) !important;
}

.engagement-roadmap .roadmap-item .roadmap-meta strong {
  font-weight: 700;
}

/* Remove teal from form elements and buttons */
#section-contact .contact-form-card form .button:focus-visible {
  outline: 3px solid rgba(128, 128, 128, 0.4) !important;
}

/* Fix About Us CTA Panel - Override the actual CSS classes */
.cta-panel {
  background: linear-gradient(140deg, rgba(64, 64, 64, 0.92), rgba(96, 96, 96, 0.92)) !important;
}

.cta-panel::after {
  background: radial-gradient(circle, rgba(112, 112, 112, 0.28), rgba(112, 112, 112, 0)) !important;
}

.cta-copy {
  color: #ffffff !important;
}

.cta-copy h3 {
  color: #ffffff !important;
}

.cta-copy p {
  color: rgba(255, 255, 255, 0.92) !important;
}

.cta-copy .lang,
.cta-copy span {
  color: #ffffff !important;
}

/* Fix button-light in CTA actions */
.cta-actions .button.button-light {
  background: rgba(255, 255, 255, 0.92) !important;
  color: #000000 !important;
  border: 1px solid rgba(255, 255, 255, 0.2) !important;
}

.cta-actions .button.button-light:hover {
  background: rgba(255, 255, 255, 1) !important;
  color: #000000 !important;
  border-color: rgba(128, 128, 128, 0.35) !important;
}

.cta-actions .button.button-light span,
.cta-actions .button.button-light .lang {
  color: #000000 !important;
}

/* About Us heritage cards - force white text */
.heritage-card,
.heritage-card .heritage-year,
.heritage-card p,
.heritage-card .lang,
.heritage-card span {
  color: #ffffff !important;
}

/* Force all paragraph text to be gray - EXCEPT header menu items, intro-badge, hero elements, buttons, CTA copy, heritage cards, impact stats, engagement roadmap, partners CTA, expertise sampler, partners feature, and works highlight */
p:not(.slider-caption p):not(.hero-caption p):not(.button p):not(.btn p):not(.cta-copy p):not(.heritage-card p):not(.impact-stats p):not(.engagement-roadmap p):not(.partners-cta p):not(.expertise-sampler p):not(.partners-feature p):not(.works-highlight p),
span:not(.menu-link span):not(.primary-menu span):not(.hero-headline span):not(.slider-caption span):not(.intro-badge span):not(.button span):not(.btn span):not(button span):not(.cta-copy span):not(.heritage-card span):not(.impact-stats span):not(.engagement-roadmap span):not(.partners-cta span):not(.expertise-sampler span):not(.partners-feature span):not(.works-highlight span),
div:not(.menu-link div):not(.primary-menu div):not(.hero-headline):not(.slider-caption):not(.button):not(.btn):not(.cta-copy):not(.heritage-card):not(.impact-stats):not(.engagement-roadmap):not(.partners-cta):not(.expertise-sampler):not(.partners-feature):not(.works-highlight) {
  color: #616161 !important;
}

/* Specific override for header area */
#header p, #header span, #header div {
  color: #ffffff !important;
}

/* Navigation menu items - Force White for glassmorphism header */
.menu-item, .menu-link, .nav-link,
.primary-menu .menu-link,
.primary-menu .menu-item .menu-link,
.menu-container .menu-item .menu-link,
#header .primary-menu .menu-link,
#header .menu-link,
.header-row .primary-menu .menu-link {
  color: #ffffff !important;
  text-shadow: 0 1px 3px rgba(0, 0, 0, 0.3) !important;
}

/* Force white for any span or div inside menu links */
.menu-link span,
.menu-link div,
.menu-link .lang,
.menu-link .lang-en,
.menu-link .lang-fr,
.menu-link .lang-es,
.primary-menu span,
.primary-menu div,
.primary-menu .lang,
.primary-menu .lang-en,
.primary-menu .lang-fr,
.primary-menu .lang-es,
#header .lang,
#header .lang-en,
#header .lang-fr,
#header .lang-es {
  color: #ffffff !important;
}

/* Override any inline styles with green colors */
[style*="color:#0d"] { color: #000000 !important; }
[style*="color:#13"] { color: #000000 !important; }
[style*="color:#10"] { color: #000000 !important; }
[style*="color:#14"] { color: #000000 !important; }
[style*="color:#15"] { color: #000000 !important; }
[style*="color:#16"] { color: #000000 !important; }
[style*="color:#17"] { color: #000000 !important; }
[style*="color:#18"] { color: #000000 !important; }
[style*="color:#19"] { color: #000000 !important; }
[style*="color:#1a"] { color: #000000 !important; }
[style*="color:#1b"] { color: #000000 !important; }
[style*="color:#1c"] { color: #000000 !important; }
[style*="color:#1d"] { color: #000000 !important; }
[style*="color:#1e"] { color: #000000 !important; }
[style*="color:#1f"] { color: #000000 !important; }
[style*="color:#20"] { color: #000000 !important; }
[style*="color:#21"] { color: #000000 !important; }
[style*="color:#22"] { color: #000000 !important; }
[style*="color:#23"] { color: #000000 !important; }
[style*="color:#24"] { color: #000000 !important; }
[style*="color:#25"] { color: #000000 !important; }
[style*="color:#26"] { color: #000000 !important; }
[style*="color:#27"] { color: #000000 !important; }
[style*="color:#28"] { color: #000000 !important; }
[style*="color:#29"] { color: #000000 !important; }
[style*="color:#2a"] { color: #000000 !important; }
[style*="color:#2b"] { color: #000000 !important; }
[style*="color:#2c"] { color: #000000 !important; }
[style*="color:#2d"] { color: #000000 !important; }
[style*="color:#2e"] { color: #000000 !important; }
[style*="color:#2f"] { color: #000000 !important; }

/* Common green color codes */
[style*="color:#00ff00"] { color: #000000 !important; }
[style*="color:#008000"] { color: #000000 !important; }
[style*="color:#228B22"] { color: #000000 !important; }
[style*="color:#32CD32"] { color: #000000 !important; }
[style*="color:#90EE90"] { color: #000000 !important; }
[style*="color:#98FB98"] { color: #000000 !important; }
[style*="color:#8FBC8F"] { color: #000000 !important; }
[style*="color:#3CB371"] { color: #000000 !important; }
[style*="color:#2E8B57"] { color: #000000 !important; }
[style*="color:#006400"] { color: #000000 !important; }
[style*="color:#9ACD32"] { color: #000000 !important; }
[style*="color:#6B8E23"] { color: #000000 !important; }
[style*="color:#808000"] { color: #000000 !important; }
[style*="color:#556B2F"] { color: #000000 !important; }
[style*="color:#66CDAA"] { color: #000000 !important; }
[style*="color:#8FBC8B"] { color: #000000 !important; }
[style*="color:#20B2AA"] { color: #000000 !important; }
[style*="color:#48D1CC"] { color: #000000 !important; }
[style*="color:#40E0D0"] { color: #000000 !important; }
[style*="color:#00CED1"] { color: #000000 !important; }
[style*="color:#5F9EA0"] { color: #000000 !important; }
[style*="color:#4682B4"] { color: #000000 !important; }
[style*="color:#B0C4DE"] { color: #000000 !important; }

/* Teal and cyan overrides */
[style*="color:teal"] { color: #000000 !important; }
[style*="color:cyan"] { color: #000000 !important; }
[style*="color:green"] { color: #000000 !important; }
[style*="color:lime"] { color: #000000 !important; }
[style*="color:emerald"] { color: #000000 !important; }

/* Force header visibility */
#header {
  display: block !important;
  visibility: visible !important;
  opacity: 1 !important;
  position: relative !important;
  z-index: 9999 !important;
  height: auto !important;
  overflow: visible !important;
}

#header-wrap {
  display: block !important;
  visibility: visible !important;
  height: auto !important;
}

.header-row {
  display: flex !important;
  visibility: visible !important;
  align-items: center !important;
  justify-content: space-between !important;
  width: 100% !important;
}

#logo {
  display: block !important;
  visibility: visible !important;
  opacity: 1 !important;
}

.primary-menu {
  display: block !important;
  visibility: visible !important;
  opacity: 1 !important;
}

.menu-container {
  display: flex !important;
  visibility: visible !important;
  list-style: none !important;
  margin: 0 !important;
  padding: 0 !important;
}

.menu-item {
  display: block !important;
  visibility: visible !important;
}

.menu-link {
  display: block !important;
  visibility: visible !important;
  color: #000000 !important;
  text-decoration: none !important;
  padding: 10px 15px !important;
}

.language-switcher {
  display: flex !important;
  visibility: visible !important;
  gap: 5px !important;
}

.lang-toggle {
  display: block !important;
  visibility: visible !important;
  background: none !important;
  background-color: transparent !important;
  background-image: none !important;
  backdrop-filter: none !important;
  -webkit-backdrop-filter: none !important;
  border: 1px solid rgba(255, 255, 255, 0.3) !important;
  color: #ffffff !important;
  padding: 8px 12px !important;
  border-radius: 8px !important;
  cursor: pointer !important;
  text-shadow: 0 1px 3px rgba(0, 0, 0, 0.3) !important;
}

/* Force remove background on all language switcher elements */
.language-switcher .lang-toggle,
.language-switcher button,
button.lang-toggle,
[class*="lang-toggle"] {
  background: none !important;
  background-color: transparent !important;
  background-image: none !important;
  backdrop-filter: none !important;
  -webkit-backdrop-filter: none !important;
}

/* Remove background on hover and active states */
.lang-toggle:hover,
.lang-toggle:active,
.lang-toggle:focus,
.lang-toggle.active {
  background: none !important;
  background-color: transparent !important;
  background-image: none !important;
  backdrop-filter: none !important;
  -webkit-backdrop-filter: none !important;
}

/* Nuclear option - remove ALL backgrounds from language switcher area */
.language-switcher *,
.language-switcher *::before,
.language-switcher *::after {
  background: none !important;
  background-color: transparent !important;
  background-image: none !important;
  backdrop-filter: none !important;
  -webkit-backdrop-filter: none !important;
}

/* Specific override for header buttons */
#header .btn,
#header button,
#header input[type="button"],
#header .language-switcher button {
  background: none !important;
  background-color: transparent !important;
  background-image: none !important;
  backdrop-filter: none !important;
  -webkit-backdrop-filter: none !important;
}

/* Force all animations to use black/white colors */
@keyframes fadeInUp {
  from {
    opacity: 0;
    transform: translateY(30px);
  }
  to {
    opacity: 1;
    transform: translateY(0);
  }
}

@keyframes fadeInDown {
  from {
    opacity: 0;
    transform: translateY(-30px);
  }
  to {
    opacity: 1;
    transform: translateY(0);
  }
}

/* Override any CSS animations that might use colors */
* {
  animation-fill-mode: forwards !important;
}

/* Ensure all borders are black/gray */
* {
  border-color: #e0e0e0 !important;
}

/* Override any background colors that might be green */
[style*="background:#0"] { background: #ffffff !important; }
[style*="background:#1"] { background: #ffffff !important; }
[style*="background:#2"] { background: #ffffff !important; }
[style*="background:green"] { background: #ffffff !important; }
[style*="background:teal"] { background: #ffffff !important; }
[style*="background:cyan"] { background: #ffffff !important; }

/* Force specific elements that might have green colors */
.text-success, .text-primary, .text-info, .text-warning, .text-danger {
  color: #000000 !important;
}

.bg-success, .bg-primary, .bg-info, .bg-warning, .bg-danger {
  background-color: #f5f5f5 !important;
}

/* Override Bootstrap/framework colors */
.btn-success, .btn-primary, .btn-info {
  background-color: #000000 !important;
  border-color: #000000 !important;
  color: #ffffff !important;
}

/* Force all SVG and icon colors */
svg, svg * {
  fill: #000000 !important;
  stroke: #000000 !important;
}

/* Override any CSS custom properties that might contain colors */
:root {
  --bs-success: #000000 !important;
  --bs-primary: #000000 !important;
  --bs-info: #000000 !important;
  --bs-warning: #000000 !important;
  --bs-danger: #000000 !important;
  --bs-teal: #000000 !important;
  --bs-cyan: #000000 !important;
  --bs-green: #000000 !important;
}
