/* ==========================================================================
   NEADOO CORE DESIGN SYSTEM - CLEAN ENGINE (FONT FAMILY & SPACING ONLY)
   ========================================================================== */

/* 1. Universal Subpixel Vector Font Smoothing Engine */
html, body, *, *::before, *::after {
  text-rendering: geometricPrecision !important;
  font-smooth: always !important;
  -webkit-text-size-adjust: 100% !important;
  -webkit-font-smoothing: subpixel-antialiased !important;
  -moz-osx-font-smoothing: auto !important;
  font-kerning: normal !important;
}

/* Crisp Vector Headings & High Contrast Text */
h1, h2, h3, h4, h5, h6, .font-bold, .font-extrabold, .font-black {
  -webkit-font-smoothing: subpixel-antialiased !important;
  font-feature-settings: 'cv02', 'cv03', 'cv04', 'cv11', 'calt', 'liga' 1 !important;
  letter-spacing: -0.025em;
}

/* 2. Google Material Symbols Protection */
.material-symbols-outlined,
span.material-symbols-outlined,
i.material-symbols-outlined,
div.material-symbols-outlined {
  font-family: 'Material Symbols Outlined' !important;
  font-weight: normal !important;
  font-style: normal !important;
  line-height: 1 !important;
  letter-spacing: normal !important;
  text-transform: none !important;
  display: inline-block !important;
  white-space: nowrap !important;
  word-wrap: normal !important;
  direction: ltr !important;
  -webkit-font-feature-settings: 'liga' !important;
  font-feature-settings: 'liga' !important;
}

/* 3. Global Section Container & Max-Width Standardization */
section:not(#side-drawer *) {
  padding-top: 6rem !important;
  padding-bottom: 6rem !important;
  width: 100% !important;
  box-sizing: border-box !important;
}

section:not(#side-drawer *) > div.max-w-\[1200px\],
section:not(#side-drawer *) > div.max-w-container-max,
section:not(#side-drawer *) > div.container-max {
  max-width: 1200px !important;
  margin-left: auto !important;
  margin-right: auto !important;
}

/* 4. Dynamic Typography Switcher (Including Clash Display & Geist) */
html[data-font="clash"] body:not(#side-drawer), html[data-font="clash"] div:not(#side-drawer *), html[data-font="clash"] h1, html[data-font="clash"] h2, html[data-font="clash"] h3, html[data-font="clash"] p, html[data-font="clash"] span:not(.material-symbols-outlined), html[data-font="clash"] a, html[data-font="clash"] button { font-family: 'Clash Display', 'Inter', sans-serif !important; }
html[data-font="geist"] body:not(#side-drawer), html[data-font="geist"] div:not(#side-drawer *), html[data-font="geist"] h1, html[data-font="geist"] h2, html[data-font="geist"] h3, html[data-font="geist"] p, html[data-font="geist"] span:not(.material-symbols-outlined), html[data-font="geist"] a, html[data-font="geist"] button { font-family: 'Geist', sans-serif !important; }
html[data-font="inter"] body:not(#side-drawer), html[data-font="inter"] div:not(#side-drawer *), html[data-font="inter"] h1, html[data-font="inter"] h2, html[data-font="inter"] h3, html[data-font="inter"] p, html[data-font="inter"] span:not(.material-symbols-outlined), html[data-font="inter"] a, html[data-font="inter"] button { font-family: 'Inter', sans-serif !important; }
html[data-font="plus-jakarta"] body:not(#side-drawer), html[data-font="plus-jakarta"] div:not(#side-drawer *), html[data-font="plus-jakarta"] h1, html[data-font="plus-jakarta"] h2, html[data-font="plus-jakarta"] h3, html[data-font="plus-jakarta"] p, html[data-font="plus-jakarta"] span:not(.material-symbols-outlined), html[data-font="plus-jakarta"] a, html[data-font="plus-jakarta"] button { font-family: 'Plus Jakarta Sans', sans-serif !important; }
html[data-font="outfit"] body:not(#side-drawer), html[data-font="outfit"] div:not(#side-drawer *), html[data-font="outfit"] h1, html[data-font="outfit"] h2, html[data-font="outfit"] h3, html[data-font="outfit"] p, html[data-font="outfit"] span:not(.material-symbols-outlined), html[data-font="outfit"] a, html[data-font="outfit"] button { font-family: 'Outfit', sans-serif !important; }
html[data-font="open-sans"] body:not(#side-drawer), html[data-font="open-sans"] div:not(#side-drawer *), html[data-font="open-sans"] h1, html[data-font="open-sans"] h2, html[data-font="open-sans"] h3, html[data-font="open-sans"] p, html[data-font="open-sans"] span:not(.material-symbols-outlined), html[data-font="open-sans"] a, html[data-font="open-sans"] button { font-family: 'Open Sans', sans-serif !important; }
html[data-font="roboto"] body:not(#side-drawer), html[data-font="roboto"] div:not(#side-drawer *), html[data-font="roboto"] h1, html[data-font="roboto"] h2, html[data-font="roboto"] h3, html[data-font="roboto"] p, html[data-font="roboto"] span:not(.material-symbols-outlined), html[data-font="roboto"] a, html[data-font="roboto"] button { font-family: 'Roboto', sans-serif !important; }

/* 5. Dynamic Spacing Density (Padding Override) */
html[data-spacing="compact"] section:not(#side-drawer *), html[data-spacing="compact"] .editorial-section { padding-top: 3.5rem !important; padding-bottom: 3.5rem !important; }
html[data-spacing="comfortable"] section:not(#side-drawer *), html[data-spacing="comfortable"] .editorial-section { padding-top: 6rem !important; padding-bottom: 6rem !important; }
html[data-spacing="spacious"] section:not(#side-drawer *), html[data-spacing="spacious"] .editorial-section { padding-top: 8.5rem !important; padding-bottom: 8.5rem !important; }
