/* Design system : seul endroit où sont définies les valeurs visuelles.
   Référence : maquette 1 (reference/ozeaxion-maquette-1-onepage), couleurs limitées à la charte client. */

:root {
  /* Palette officielle */
  --color-wine: #541D22;
  --color-wine-soft: #7E4245;
  --color-rose-earth: #AA6A6B;
  --color-rose: #D89394;
  --color-blush: #FFDADA;
  --color-cream: #FFF5F5;

  /* Versions RVB, nécessaires aux liens Bootstrap (rgba(var(--bs-link-color-rgb), …)) */
  --color-wine-rgb: 84, 29, 34;
  --color-wine-soft-rgb: 126, 66, 69;
  --color-blush-rgb: 255, 218, 218;
  --color-cream-rgb: 255, 245, 245;

  /* Neutres (seules exceptions à la charte) */
  --color-paper: #FFFDFC;
  --color-ink: #2C1719;
  --color-white: #fff;

  /* Rôles */
  --color-text-muted: var(--color-wine-soft);
  --color-on-dark: var(--color-blush);
  --color-on-dark-muted: var(--color-rose);
  --color-footer: var(--color-wine);

  /* Lignes */
  --color-line: rgba(84, 29, 34, .18);
  --color-line-strong: rgba(84, 29, 34, .3);
  --color-line-light: rgba(255, 255, 255, .18);

  /* Encart légèrement éclairci sur fond foncé */
  --color-surface-on-dark: rgba(255, 255, 255, .09);

  /* Couleurs DISC 4Colors (page Entreprises) */
  --color-disc-red: #B4453A;
  --color-disc-yellow: #E5B64B;
  --color-disc-green: #7E9A72;
  --color-disc-blue: #66859C;

  /* Typographie */
  --font-display: "Playfair Display", Georgia, serif;
  --font-body: "Inter", system-ui, -apple-system, "Segoe UI", Roboto, Arial, sans-serif;
  --line-height-body: 1.6;
  --heading-weight: 500;
  --heading-line-height: .98;
  --line-height-h2: 1.1;
  --heading-letter-spacing: -.03em;
  --heading-spacing: 1.75rem;
  --font-size-h1: clamp(3.25rem, 7vw, 6rem);
  --font-size-h1-compact: clamp(3rem, 5.5vw, 4.5rem);
  --font-size-h1-long: clamp(3rem, 5.5vw, 3.5rem);
  --font-size-h2: clamp(2.6rem, 4.5vw, 4rem);
  --font-size-h2-long: clamp(2.2rem, 4vw, 3.1rem);
  --font-size-h3: 1.22rem;
  --line-height-h3: 1.2;
  --font-size-eyebrow: .72rem;
  --letter-spacing-eyebrow: .22em;
  --font-size-small: .75rem;
  --font-size-hero-lead: clamp(1.2rem, 1.5vw, 1.5rem);
  --font-size-stat: 2rem;
  --font-size-stat-label: 1.75rem;
  --font-size-stat-number: clamp(2.75rem, 5vw, 3.75rem);
  --font-size-stat-text: .82rem;
  --font-size-card-title: clamp(2rem, 2.4vw, 2.2rem);
  --line-height-card-title: 1.1;
  --card-title-spacing: 1.25rem;
  --card-title-lines: 2;
  --font-size-kicker: .68rem;
  --letter-spacing-kicker: .18em;
  --font-size-lead: 1.08rem;
  --font-size-note: 1.42rem;
  --font-size-quote: clamp(1.6rem, 2.2vw, 2rem);
  --font-size-prose: 1.16rem;
  --font-size-statement: clamp(2rem, 3.3vw, 3.4rem);
  --font-size-statement-band: clamp(1.6rem, 3.3vw, 3.4rem);
  --font-size-statement-band-xl: 3rem;
  --font-size-pull-quote: clamp(1.7rem, 3vw, 2.6rem);
  --font-size-pull-quote-small: clamp(1.3rem, 2vw, 1.6rem);

  /* Bandeau signature des témoignages */
  --testimonial-footer-border: var(--color-wine-soft);
  --testimonial-footer-text: var(--color-wine-soft);
  --testimonial-footer-author: var(--color-wine);
  --testimonial-photo-size: 56px;
  --testimonial-gap: 1.5rem;

  /* Header et logo */
  --color-header-bg: rgba(255, 253, 252, .93);
  --header-blur: 16px;
  --font-size-brand: clamp(1.18rem, 2vw, 1.45rem);
  --font-size-brand-sub: .6rem;
  --brand-logo-size: 56px;
  --brand-logo-gap: .75rem;
  --footer-logo-size: 96px;
  --letter-spacing-brand: .06em;
  --letter-spacing-brand-sub: .24em;
  --font-size-nav: .86rem;
  --icon-burger: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 30 30'%3e%3cpath stroke='%23541D22' stroke-linecap='round' stroke-miterlimit='10' stroke-width='2' d='M4 7h22M4 15h22M4 23h22'/%3e%3c/svg%3e");
  --icon-close: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 30 30'%3e%3cpath stroke='%23541D22' stroke-linecap='round' stroke-miterlimit='10' stroke-width='2' d='M7 7l16 16M23 7L7 23'/%3e%3c/svg%3e");
  --icon-chevron: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16' fill='none' stroke='%23541D22' stroke-linecap='round' stroke-linejoin='round'%3e%3cpath d='m2 5 6 6 6-6'/%3e%3c/svg%3e");

  /* Boutons */
  --btn-min-height: 48px;
  --btn-padding-y: .75rem;
  --btn-padding-x: 1.25rem;
  --btn-font-size: .88rem;
  --btn-font-weight: 700;
  --btn-letter-spacing: .015em;

  /* Formes */
  --radius-sm: 6px;
  --radius-lg: 12px;
  --shadow: 0 22px 70px rgba(84, 29, 34, .14);
  --shadow-dark: 0 24px 64px rgba(84, 29, 34, .35);
  --focus-outline: 2px solid var(--color-wine-soft);
  --focus-offset: 4px;

  /* Mise en page */
  --container-max: 1220px;
  --section-spacing: 112px;
  --section-spacing-mobile: 78px;
  --header-height: 86px;
  --hero-padding: 3rem;
  --hero-padding-compact: 1.5rem;
  --container-gutter-lg: 5rem;
  --hero-visual-height-mobile: 520px;
  --hero-visual-height: min(74vh, 760px);
  --section-heading-max: 900px;
  --statement-band-padding: 4.5rem;
  --section-heading-spacing: 3.5rem;
  --card-min-height: 430px;
  --card-padding: 2.125rem;
  --card-padding-mobile: 1.5rem;
  --footer-padding: 3.625rem;
  --about-photo-height-mobile: 420px;
  --about-photo-height: 560px;
  --social-link-size: 44px;
  --social-icon-size: 1.25rem;
  --zone-icon-size: 2.5em;
  --color-zone-icon: rgba(var(--color-wine-rgb), .3);
  --press-logo-height: 48px;
  --press-logo-max-width: 180px;
  --press-logo-opacity: .7;
  --press-date-opacity: .8;
  --press-list-column-gap: 4rem;
  --press-list-row-gap: 2rem;
  --step-number-size: 46px;
  --cta-max: 760px;
  --cta-max-wide: 1160px;

  /* Animations */
  --transition: .25s ease;
  --hover-lift: -6px;

  /* Raccordement à Bootstrap (les versions -rgb servent aux utilitaires text-primary, bg-primary…) */
  --bs-body-bg: var(--color-paper);
  --bs-body-color: var(--color-ink);
  --bs-body-font-family: var(--font-body);
  --bs-body-line-height: var(--line-height-body);
  --bs-secondary-color: var(--color-text-muted);
  --bs-heading-color: var(--color-wine);
  --bs-primary: var(--color-wine);
  --bs-primary-rgb: var(--color-wine-rgb);
  --bs-link-color: var(--color-wine);
  --bs-link-color-rgb: var(--color-wine-rgb);
  --bs-link-hover-color: var(--color-wine-soft);
  --bs-link-hover-color-rgb: var(--color-wine-soft-rgb);
  --bs-border-color: var(--color-line);
  --bs-focus-ring-color: rgba(84, 29, 34, .25);
  --bs-border-radius: var(--radius-sm);
  --bs-border-radius-sm: var(--radius-sm);
  --bs-border-radius-lg: var(--radius-lg);
  --bs-border-radius-xl: var(--radius-lg);
  --bs-border-radius-xxl: var(--radius-lg);
}
