/**
 * LE MINISTÈRE AUTREMENT - Brand System (Simplified)
 * Version: 3.0 - Ultra-minimal
 */

/* GOOGLE FONTS - MUST BE FIRST */
@import url("https://fonts.googleapis.com/css2?family=Crimson+Pro:wght@400;600;700;800&family=Google+Sans:wght@400;500;600;700&family=Lato:wght@400;700;900&display=swap");

/* Force CSS variables on html and body */
html,
body {
  --font-heading: "Crimson Pro", serif !important;
  --font-body: "Google Sans", sans-serif !important;
  --font-ui: "Google Sans", sans-serif !important;
}

:root {
  /* CORE COLORS */
  --navy: #1a2b4a;
  --burgundy: #9b3d5c;
  --teal: #2a9d8f;
  --white: #ffffff;
  --gray: #f1f3f5;

  /* COLOR VARIATIONS */
  --navy-light: #2a3d5f;
  --burgundy-light: #b8547a;
  --teal-light: #5dd9c1;

  /* BRAND PURPLE VARIATIONS (for compatibility) */
  --brand-purple: var(--burgundy);
  --brand-purple-light: var(--burgundy-light);
  --brand-purple-ultra-light: rgba(155, 61, 92, 0.05);
  --brand-purple-opacity-10: rgba(155, 61, 92, 0.1);
  --brand-purple-opacity-20: rgba(155, 61, 92, 0.2);

  /* BRAND COLOR ALIASES (for brand guide compatibility) */
  --brand-navy: var(--navy);
  --brand-white: var(--white);
  --brand-teal: var(--teal);
  --brand-teal-light: var(--teal-light);
  --brand-teal-dark: #237c72;
  --brand-teal-ultra-light: rgba(42, 157, 143, 0.05);
  --brand-light-gray: var(--gray);
  --brand-off-white: #fafbfc;
  --border-color: var(--border);

  /* TEXT COLORS */
  --text: #1a2b4a;
  --text-light: #525f7f;
  --text-lighter: #8898aa;

  /* ADDITIONAL COLORS */
  --brand-white: var(--white);
  --error: #e63757;
  --text-sm: 0.875rem;
  --tracking-wide: 0.025em;

  /* BORDERS & SHADOWS */
  --border: #e1e8ed;
  --shadow: rgba(26, 43, 74, 0.08);

  /* TYPOGRAPHY */
  --font-heading: "Crimson Pro", serif;
  --font-body: "Google Sans", sans-serif;
  --font-ui: "Google Sans", sans-serif;
  --font-display: var(--font-heading);
  --font-semibold: 600;
  --font-bold: 700;

  /* SPACING */
  --space-xs: 0.5rem;
  --space-sm: 1rem;
  --space-md: 1.5rem;
  --space-lg: 2rem;
  --space-xl: 3rem;

  /* EFFECTS */
  --radius: 8px;
  --radius-full: 9999px;
  --radius-md: 0.5rem;
  --radius-lg: 0.75rem;
  --radius-xl: 1rem;
  --transition: 350ms cubic-bezier(0.4, 0, 0.2, 1);
  --transition-base: 350ms cubic-bezier(0.4, 0, 0.2, 1);
  --transition-fast: 250ms cubic-bezier(0.4, 0, 0.2, 1);

  /* Z-INDEX */
  --z-sticky: 1020;
  --z-tooltip: 1070;
  --z-modal-backdrop: 5000;

  /* EXTENDED SPACING */
  --space-2xl: 3.5rem;
  --space-3xl: 5rem;
  --space-4xl: 7rem;

  /* EXTENDED TYPOGRAPHY */
  --font-normal: 400;
  --font-medium: 500;

  /* EXTENDED TRANSITIONS */
  --transition-smooth: 500ms cubic-bezier(0.4, 0, 0.2, 1);

  /* SHADOWS */
  --shadow-glow: 0 0 20px rgba(155, 61, 92, 0.35);

  /* GRADIENTS */
  --gradient-accent: linear-gradient(135deg, #9b3d5c, #b8547a);
  --gradient-overlay: linear-gradient(135deg, #1a2b4a 0%, #243557 100%);
  --gradient-hero: linear-gradient(135deg, #1a2b4a 0%, #2a9d8f 100%);
}

/* UNIVERSAL FONT OVERRIDE - Ensure only Crimson Pro, Source Sans Pro, and Lato are used */
* {
  font-family: var(--font-body) !important;
}

/* Override all WordPress, plugin, and theme fonts */
body,
html,
input,
textarea,
select,
button,
.mce-content-body,
.wp-block,
.elementor-widget,
.media-modal,
.media-frame,
#wpadminbar,
.wp-editor-area,
td,
th,
table,
div,
span,
p,
a,
li,
label {
  font-family: var(--font-body) !important;
}

/* BASE STYLES */
body {
  font-family: var(--font-body) !important;
  font-size: 16px;
  line-height: 1.5;
  color: var(--text);
  background: var(--white);
}

/* GLOBAL IMAGE RESET - Fix asymmetric spacing issues */
img {
  display: block;
  margin: 0;
  padding: 0;
  max-width: 100%;
  height: auto;
  vertical-align: middle;
}

/* Force all headings to use Outfit with MAXIMUM specificity */
h1,
h2,
h3,
h4,
h5,
h6,
.h1,
.h2,
.h3,
.h4,
.h5,
.h6,
.heading,
.title,
[class*="title"],
[class*="heading"],
.wp-block-heading,
.entry-title,
.site-title,
.elementor-heading-title {
  font-family: "Crimson Pro", var(--font-heading), Georgia, serif !important;
  font-weight: 700 !important;
  line-height: 1.25 !important;
  color: var(--navy) !important;
  margin-bottom: var(--space-sm) !important;
}

h1 {
  font-size: clamp(2rem, 5vw, 3.5rem);
}
h2 {
  font-size: clamp(1.75rem, 4vw, 2.5rem);
}
h3 {
  font-size: clamp(1.5rem, 3vw, 2rem);
}
h4 {
  font-size: 1.5rem;
}
h5 {
  font-size: 1.25rem;
}
h6 {
  font-size: 1.125rem;
}

p {
  margin-bottom: var(--space-sm);
  color: var(--text-light);
}

a {
  color: var(--burgundy);
  text-decoration: none;
  transition: color var(--transition);
}

a:hover {
  color: var(--navy);
}

/* BUTTONS */
.btn,
button,
input[type="submit"],
input[type="button"],
.button,
.wp-block-button__link {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  padding: 0.75rem 1.5rem;
  font-family: "Lato", var(--font-ui), sans-serif !important;
  font-weight: 700;
  border-radius: var(--radius);
  border: 2px solid transparent;
  cursor: pointer;
  transition: all var(--transition);
}

.btn-primary {
  background: var(--burgundy);
  color: var(--white);
}

.btn-primary:hover {
  background: var(--navy);
  transform: translateY(-2px);
}

.btn-secondary {
  background: var(--navy);
  color: var(--white);
}

.btn-secondary:hover {
  background: var(--burgundy);
  transform: translateY(-2px);
}

.btn-outline {
  background: transparent;
  border-color: var(--burgundy);
  color: var(--burgundy);
}

.btn-outline:hover {
  background: var(--burgundy);
  color: var(--white);
}

/* UTILITIES */
.text-navy {
  color: var(--navy);
}
.text-burgundy {
  color: var(--burgundy);
}
.text-teal {
  color: var(--teal);
}
.text-white {
  color: var(--white);
}

.bg-navy {
  background: var(--navy);
}
.bg-burgundy {
  background: var(--burgundy);
}
.bg-teal {
  background: var(--teal);
}
.bg-white {
  background: var(--white);
}
.bg-gray {
  background: var(--gray);
}

/* UI ELEMENTS - All use Lato */
nav,
.menu,
.navigation,
.nav-menu,
.primary-menu,
.menu-item,
.menu-link,
input,
select,
textarea,
label,
.form-control,
.input-group,
.breadcrumb,
.badge,
.tag,
.pill,
.chip,
.alert,
.notification,
.toast,
.tab,
.nav-link,
.pagination,
.dropdown-menu,
.search-form,
.woocommerce-input-wrapper,
.woocommerce .quantity input,
.cart-collaterals {
  font-family: "Lato", var(--font-ui), sans-serif !important;
}

/* FOCUS STATES */
a:focus-visible,
button:focus-visible,
input:focus-visible,
select:focus-visible,
textarea:focus-visible {
  outline: 2px solid var(--burgundy);
  outline-offset: 2px;
}

/* Remove default focus outline for mouse clicks */
a:focus:not(:focus-visible),
button:focus:not(:focus-visible),
input:focus:not(:focus-visible),
select:focus:not(:focus-visible),
textarea:focus:not(:focus-visible) {
  outline: none;
}

/* REDUCED MOTION */
@media (prefers-reduced-motion: reduce) {
  *,
  *::before,
  *::after {
    animation-duration: 0.01ms !important;
    transition-duration: 0.01ms !important;
  }
}
