

@font-face {
  font-family: 'Montserrat';
  font-style: normal;
  font-weight: 400;
  font-display: swap;
  src: url('/fonts/montserrat-400.woff2') format('woff2');
}
@font-face {
  font-family: 'Montserrat';
  font-style: normal;
  font-weight: 500;
  font-display: swap;
  src: url('/fonts/montserrat-500.woff2') format('woff2');
}
@font-face {
  font-family: 'Montserrat';
  font-style: normal;
  font-weight: 600;
  font-display: swap;
  src: url('/fonts/montserrat-600.woff2') format('woff2');
}
@font-face {
  font-family: 'Montserrat';
  font-style: normal;
  font-weight: 700;
  font-display: swap;
  src: url('/fonts/montserrat-700.woff2') format('woff2');
}
@font-face {
  font-family: 'Cormorant Garamond';
  font-style: normal;
  font-weight: 400;
  font-display: swap;
  src: url('/fonts/cormorant-garamond-400.woff2') format('woff2');
}
@font-face {
  font-family: 'Cormorant Garamond';
  font-style: normal;
  font-weight: 500;
  font-display: swap;
  src: url('/fonts/cormorant-garamond-500.woff2') format('woff2');
}
@font-face {
  font-family: 'Cormorant Garamond';
  font-style: normal;
  font-weight: 600;
  font-display: swap;
  src: url('/fonts/cormorant-garamond-600.woff2') format('woff2');
}
@font-face {
  font-family: 'Cormorant Garamond';
  font-style: normal;
  font-weight: 700;
  font-display: swap;
  src: url('/fonts/cormorant-garamond-700.woff2') format('woff2');
}
@font-face {
  font-family: 'JetBrains Mono';
  font-style: normal;
  font-weight: 400;
  font-display: swap;
  src: url('/fonts/jetbrainsmono-400.woff2') format('woff2');
}
@font-face {
  font-family: 'JetBrains Mono';
  font-style: normal;
  font-weight: 500;
  font-display: swap;
  src: url('/fonts/jetbrainsmono-500.woff2') format('woff2');
}

:root {

  --c-brand:        #5C2E88;
  --c-brand-dark:   #2E0A58;
  --c-brand-darker: #1D102F;
  --c-brand-light:  #7A4FA3;
  --c-brand-light-contrast: #B794D6; /* RGAA AA : contraste 6.33:1 sur fond --c-bg-dark, contrairement à --c-brand-light (2.68:1) */
  --c-brand-tint:   #F1E9F7;
  --c-brand-tint-2: #E4D3F0;

  --c-accent:       #C4A052;
  --c-accent-dark:  #A88735;
  --c-accent-dark-contrast: #8A6210; /* RGAA AA : doré profond, ≥4.63:1 sur tous les fonds clairs du site (blanc, --c-bg, --c-brand-tint, --c-accent-tint, --c-bg-subtle) - remplace l'olive #7A5F1A jugé terne, en gardant la teinte de --c-accent */
  --c-accent-tint:  #F6EFDF;

  --c-grey-pearl:   #96939D;

  --c-bg:           #FAF9F5;
  --c-bg-elevated:  rgba(250, 247, 242, 0.85);
  --c-bg-subtle:    #F1ECE3;
  --c-bg-strong:    #E5DED2;
  --c-bg-dark:      #241D33;

  --c-text:           #241D33;
  --c-text-secondary: #4A4458;
  --c-text-muted:     #6B6675;
  --c-text-on-brand:  #FFFFFF;
  --c-text-on-dark:   #FAF7F2;

  --c-border:         rgba(36, 29, 51, 0.08);
  --c-border-strong:  rgba(36, 29, 51, 0.15);
  --c-border-focus:   #5C2E88;

  --c-success:        #0F8F4D;
  --c-success-tint:   #E6F4EC;
  --c-error:          #C82828;
  --c-error-tint:     #FCEAEA;
  --c-warning:        #B7770F;
  --c-warning-tint:   #FCF3E0;
  --c-info:           #2563B8;
  --c-info-tint:      #E8F0FB;

  --c-card-bg:        #FFFFFF;
  --c-card-border:    rgba(36, 29, 51, 0.06);
  --c-input-bg:       #FFFFFF;
  --c-input-border:   rgba(36, 29, 51, 0.12);
  --c-input-focus:    #5C2E88;
  --c-overlay:        rgba(36, 29, 51, 0.5);

  --c-badge-sale:     #5C2E88;
  --c-badge-rent:     #241D33;

  --c-dpe-A: #009B47;
  --c-dpe-B: #54B956;
  --c-dpe-C: #C7D62B;
  --c-dpe-D: #FFEB3B;
  --c-dpe-E: #FFA826;
  --c-dpe-F: #F26F1E;
  --c-dpe-G: #DA1B1B;

  --c-ges-A: #A8D4EA;
  --c-ges-B: #8FB8D9;
  --c-ges-C: #7C9FC4;
  --c-ges-D: #6B83AB;
  --c-ges-E: #5C6B8F;
  --c-ges-F: #474862;
  --c-ges-G: #2E2840;

  --font-sans: 'Montserrat', -apple-system, BlinkMacSystemFont, "Segoe UI",
               "Helvetica Neue", Arial, sans-serif;
  --font-display: 'Cormorant Garamond', Georgia, "Times New Roman", "Times", serif;
  --font-mono: ui-monospace, SFMono-Regular, "SF Mono", Menlo,
               "Cascadia Mono", Consolas, monospace;

  --fs-xs:   0.75rem;
  --fs-sm:   0.875rem;
  --fs-base: 1rem;
  --fs-md:   1.125rem;
  --fs-lg:   1.25rem;
  --fs-xl:   1.5rem;
  --fs-2xl:  2rem;
  --fs-3xl:  2.5rem;
  --fs-4xl:  3rem;
  --fs-hero: clamp(2.5rem, 6vw, 4.5rem);

  --fw-regular: 400;
  --fw-medium:  500;
  --fw-semibold: 600;
  --fw-bold:    700;

  --lh-tight:   1.15;
  --lh-normal:  1.6;
  --lh-relaxed: 1.75;

  --letter-tight:  -0.01em;
  --letter-normal: 0;
  --letter-wide:   0.08em;

  --sp-0:  0;
  --sp-1:  0.25rem;
  --sp-2:  0.5rem;
  --sp-3:  0.75rem;
  --sp-4:  1rem;
  --sp-5:  1.25rem;
  --sp-6:  1.5rem;
  --sp-8:  2rem;
  --sp-10: 2.5rem;
  --sp-12: 3rem;
  --sp-16: 4rem;
  --sp-20: 5rem;
  --sp-24: 6rem;

  --r-xs:  4px;
  --r-sm:  8px;
  --r-md:  12px;
  --r-lg:  16px;
  --r-xl:  24px;
  --r-2xl: 32px;
  --r-full: 9999px;

  --shadow-xs: 0 1px 2px rgba(36, 29, 51, 0.04);
  --shadow-sm: 0 2px 4px rgba(36, 29, 51, 0.05),
               0 1px 2px rgba(36, 29, 51, 0.03);
  --shadow-md: 0 4px 12px rgba(36, 29, 51, 0.06),
               0 2px 4px rgba(36, 29, 51, 0.04);
  --shadow-lg: 0 12px 28px rgba(36, 29, 51, 0.10),
               0 4px 8px rgba(36, 29, 51, 0.04);
  --shadow-xl: 0 24px 48px rgba(36, 29, 51, 0.14),
               0 8px 16px rgba(36, 29, 51, 0.06);
  --shadow-glow: 0 0 0 4px rgba(92, 46, 136, 0.15);

  --border-thin: 1px;
  --border-thick: 2px;

  --container-max: 1280px;
  --container-narrow: 720px;

  --ease-out:  cubic-bezier(0.16, 1, 0.3, 1);
  --ease-in-out: cubic-bezier(0.65, 0, 0.35, 1);
  --t-fast:   140ms;
  --t-base:   220ms;
  --t-slow:   400ms;

  --header-h:    64px;
  --header-h-lg: 80px;
  --input-h:     48px;
  --input-h-sm:  40px;
  --tap-min:     44px;

  --z-base:    0;
  --z-elevated: 10;
  --z-header:  100;
  --z-overlay: 1000;
  --z-modal:   2000;
  --z-toast:   3000;
}
