/* MST Nevada — base styles ported from src/index.css */

:root {
  --corporate-blue: 220 100% 32%;
  --mst-green: 155 67% 25%;
  --mst-green-dark: 155 67% 20%;
  --training-orange: 25 100% 48%;
  --mine-gold: 42 91% 47%;
  --advisory-blue: 195 100% 44%;
  --innovation-green: 171 100% 35%;
  --studio-red: 0 100% 38%;
  --goed-blue: 199 100% 40%;

  --dark-grey: 0 0% 35%;
  --medium-grey: 0 0% 60%;
  --light-grey: 0 0% 85%;
  --white: 0 0% 100%;

  --background: 0 0% 100%;
  --foreground: 0 0% 20%;
  --card: 0 0% 100%;
  --card-foreground: 0 0% 20%;
  --popover: 0 0% 100%;
  --popover-foreground: 0 0% 20%;
  --primary: 155 67% 25%;
  --primary-foreground: 0 0% 100%;
  --secondary: 220 100% 32%;
  --secondary-foreground: 0 0% 100%;
  --muted: 0 0% 96%;
  --muted-foreground: 0 0% 35%;
  --accent: 42 91% 47%;
  --accent-foreground: 0 0% 20%;
  --destructive: 0 100% 38%;
  --destructive-foreground: 0 0% 100%;
  --border: 0 0% 85%;
  --input: 0 0% 85%;
  --ring: 155 67% 25%;
  --radius: 0.5rem;
  --section-light: 0 0% 97%;
  --section-blue: 220 100% 32%;
}

html { scroll-behavior: smooth; }

body {
  background-color: hsl(var(--background));
  color: hsl(var(--foreground));
  font-family: 'Open Sans', 'Lucida Grande', 'Lucida Sans', Verdana, sans-serif;
  -webkit-font-smoothing: antialiased;
}

h1, h2, h3, h4, h5, h6 {
  font-weight: 600;
  letter-spacing: -0.025em;
  font-family: 'Open Sans', 'Lucida Grande', 'Lucida Sans', Verdana, sans-serif;
}
h1 { text-transform: uppercase; }
h2 { text-transform: uppercase; }

/* Utility classes (used by inline class names) */
.section-padding { padding-top: 4rem; padding-bottom: 4rem; }
@media (min-width: 768px) { .section-padding { padding-top: 6rem; padding-bottom: 6rem; } }

.container-main {
  max-width: 1400px;
  margin-left: auto;
  margin-right: auto;
  padding-left: 1rem;
  padding-right: 1rem;
}
@media (min-width: 640px) { .container-main { padding-left: 1.5rem; padding-right: 1.5rem; } }
@media (min-width: 1024px) { .container-main { padding-left: 2rem; padding-right: 2rem; } }

.text-balance { text-wrap: balance; }

.card-shadow { box-shadow: 0 4px 6px -1px rgb(0 0 0 / 0.05), 0 2px 4px -2px rgb(0 0 0 / 0.05); }
.card-shadow-hover { box-shadow: 0 10px 15px -3px rgb(0 0 0 / 0.08), 0 4px 6px -4px rgb(0 0 0 / 0.05); }

/* Forms — visual reset for static export */
form[data-static-form] button[type="submit"] { cursor: pointer; }

/* Hide elements that depend on JS routing if they fail to render */
[data-spa-only] { display: none; }

/* Mobile menu open state (toggled by nav.js) */
.mst-mobile-menu { display: none; }
.mst-mobile-menu.open { display: block; }

/* Accordion content (toggled by accordions.js) */
[data-accordion-content][hidden] { display: none; }

/* === Static export interactivity safety net === */
[data-state="closed"][role="region"],
[data-state="closed"][id^="radix-"] { display: none; }
[data-state="open"][role="region"],
[data-state="open"][id^="radix-"]   { display: block; }
.rotate-180 { transform: rotate(180deg); }
.transition-transform { transition: transform 200ms ease; }


/* Hero logo docking (static export) */
@media (min-width: 1024px) {
  body:not(.logo-docked) [data-navbar-logo] { opacity: 0; visibility: hidden; }
  body.logo-docked [data-navbar-logo] { opacity: 1; visibility: visible; transition: opacity 0.2s ease; }
}
/* Accordion safety net: ensure closed panels are truly hidden */
[data-state="closed"][hidden] { display: none !important; }


/* v5: Native select styling for static export */
select.form-select-native {
  appearance: none;
  -webkit-appearance: none;
  -moz-appearance: none;
  background-image: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' width='16' height='16' viewBox='0 0 24 24' fill='none' stroke='currentColor' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'><path d='m6 9 6 6 6-6'/></svg>");
  background-repeat: no-repeat;
  background-position: right 0.75rem center;
  background-size: 1rem;
  padding-right: 2.25rem;
  cursor: pointer;
}
select.form-select-native:invalid { color: hsl(var(--muted-foreground, 215 16% 47%)); }
select.form-select-native option { color: hsl(var(--foreground, 222 47% 11%)); }


/* === v8: Static FAQ accordion (self-contained, no Tailwind/Radix dependency) === */
.mst-faq { width: 100%; border-top: 1px solid hsl(var(--border, 220 13% 91%)); }
.mst-faq-item { border-bottom: 1px solid hsl(var(--border, 220 13% 91%)); }
.mst-faq-trigger {
  display: flex; align-items: center; justify-content: space-between;
  width: 100%; padding: 16px 0; background: transparent; border: 0;
  font: inherit; font-weight: 600; color: hsl(var(--foreground, 222 47% 11%));
  text-align: left; cursor: pointer; gap: 16px;
}
.mst-faq-trigger:hover .mst-faq-q { text-decoration: underline; }
.mst-faq-q { flex: 1; }
.mst-faq-chev { flex-shrink: 0; transition: transform 200ms ease; color: currentColor; }
.mst-faq-trigger[aria-expanded="true"] .mst-faq-chev { transform: rotate(180deg); }
.mst-faq-panel { overflow: hidden; }
.mst-faq-panel[hidden] { display: none !important; }
.mst-faq-answer { padding: 0 0 16px 0; color: hsl(var(--muted-foreground, 215 16% 47%)); font-size: 14px; line-height: 1.6; }
