﻿:root {
  --cv3-font: 'Manrope', system-ui, sans-serif;
  --cv3-display: 'Cormorant Garamond', Georgia, serif;

  --cv3-blue: #1a3f66;
  --cv3-blue-dark: #0c1a2e;
  --cv3-blue-light: #4a7ca8;
  --cv3-gold: #c49a2a;
  --cv3-gold-light: #e4c56a;
  --cv3-gold-dark: #8a6a18;
  --cv3-wine: #7a2e3a;

  --cv3-bg: #efe4d2;
  --cv3-bg-elevated: #fbf6ec;
  --cv3-surface: #fbf6ec;
  --cv3-surface-raised: #fffaf1;
  --cv3-surface-hover: #f3ead8;

  --cv3-text: #1a140c;
  --cv3-text-secondary: #4a4034;
  --cv3-text-muted: #7a6e5c;

  --cv3-error: #9b2c2c;

  --cv3-border: rgba(26, 20, 12, 0.12);
  --cv3-border-strong: rgba(196, 154, 42, 0.55);

  --cv3-header-bg: #fbf6ec;
  --cv3-header-text: #1a140c;
  --cv3-on-gold: #1a140c;

  --cv3-radius: 4px;
  --cv3-radius-sm: 3px;
  --cv3-radius-lg: 6px;
  --cv3-shadow: 0 1px 0 rgba(26, 20, 12, 0.04), 0 12px 28px rgba(26, 20, 12, 0.08);
  --cv3-shadow-lg: 0 18px 40px rgba(26, 20, 12, 0.14);
  --cv3-max: 1600px;

  color-scheme: light;
}

*,
*::before,
*::after {
  box-sizing: border-box;
}

html {
  scroll-behavior: smooth;
  background: var(--cv3-bg);
}

body {
  margin: 0;
  font-family: var(--cv3-font);
  font-size: 1rem;
  background-color: var(--cv3-bg);
  background-image:
    radial-gradient(ellipse 80% 40% at 100% -10%, rgba(196, 154, 42, 0.16), transparent 50%),
    radial-gradient(ellipse 50% 30% at 0% 100%, rgba(26, 63, 102, 0.08), transparent 45%),
    repeating-linear-gradient(
      -12deg,
      transparent,
      transparent 11px,
      rgba(26, 20, 12, 0.015) 11px,
      rgba(26, 20, 12, 0.015) 12px
    );
  color: var(--cv3-text);
  line-height: 1.65;
  min-height: 100vh;
  -webkit-font-smoothing: antialiased;
}

body > *:not(.media-modal):not(.cv3-groupe-modal) {
  position: relative;
  z-index: 1;
}

::selection {
  background: rgba(196, 154, 42, 0.28);
  color: var(--cv3-text);
}

img {
  max-width: 100%;
  display: block;
}

button {
  font-family: inherit;
  color: inherit;
  cursor: pointer;
}

a {
  color: var(--cv3-blue);
}

a:hover {
  color: var(--cv3-wine);
}

:focus-visible {
  outline: 2px solid var(--cv3-gold);
  outline-offset: 3px;
}

@media (prefers-reduced-motion: reduce) {
  html {
    scroll-behavior: auto;
  }

  *,
  *::before,
  *::after {
    animation-duration: 0.01ms !important;
    animation-iteration-count: 1 !important;
    transition-duration: 0.01ms !important;
  }
}
