@charset "UTF-8";
/* main.scss – Wara global styles */
/* assets/scss/_fonts.scss */
/* Chemins relatifs depuis assets/css/main.css -> ../fonts/... */
/* ---------------- Quicksand (sans-serif) ---------------- */
@font-face {
  font-family: "Quicksand";
  src: url("../fonts/quicksand/Quicksand-Medium.woff2") format("woff2"), url("../fonts/quicksand/Quicksand-Medium.woff") format("woff");
  font-weight: 500;
  font-style: normal;
  font-display: swap;
}
@font-face {
  font-family: "Quicksand";
  src: url("../fonts/quicksand/Quicksand-SemiBold.woff2") format("woff2"), url("../fonts/quicksand/Quicksand-SemiBold.woff") format("woff");
  font-weight: 600;
  font-style: normal;
  font-display: swap;
}
@font-face {
  font-family: "Quicksand";
  src: url("../fonts/quicksand/Quicksand-Bold.woff2") format("woff2"), url("../fonts/quicksand/Quicksand-Bold.woff") format("woff");
  font-weight: bold;
  font-style: normal;
  font-display: swap;
}
/* ---------------- Lora (serif – titres / citations) ---------------- */
@font-face {
  font-family: "Lora";
  src: url("../fonts/lora/Lora-Medium.woff2") format("woff2"), url("../fonts/lora/Lora-Medium.woff") format("woff");
  font-weight: 500;
  font-style: normal;
  font-display: swap;
}
@font-face {
  font-family: "Lora";
  src: url("../fonts/lora/Lora-SemiBold.woff2") format("woff2"), url("../fonts/lora/Lora-SemiBold.woff") format("woff");
  font-weight: 600;
  font-style: normal;
  font-display: swap;
}
/* ---------------- Roboto (UI / petits textes) ---------------- */
@font-face {
  font-family: "Roboto";
  src: url("../fonts/roboto/Roboto-Thin.woff2") format("woff2"), url("../fonts/roboto/Roboto-Thin.woff") format("woff");
  font-weight: 100;
  font-style: normal;
  font-display: swap;
}
@font-face {
  font-family: "Roboto";
  src: url("../fonts/roboto/Roboto-Regular.woff2") format("woff2"), url("../fonts/roboto/Roboto-Regular.woff") format("woff");
  font-weight: 400;
  font-style: normal;
  font-display: swap;
}
@font-face {
  font-family: "Roboto";
  src: url("../fonts/roboto/Roboto-Medium.woff2") format("woff2"), url("../fonts/roboto/Roboto-Medium.woff") format("woff");
  font-weight: 500;
  font-style: normal;
  font-display: swap;
}
@font-face {
  font-family: "Roboto";
  src: url("../fonts/roboto/Roboto-LightItalic.woff2") format("woff2"), url("../fonts/roboto/Roboto-LightItalic.woff") format("woff");
  font-weight: 300;
  font-style: italic;
  font-display: swap;
}
/* ---------------- Variables globales & usage ---------------- */
:root {
  --font-sans: "Quicksand", system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
  --font-serif: "Lora", "Georgia", "Times New Roman", serif;
  --font-ui: "Roboto", system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
}

/* Par défaut : Quicksand pour le texte courant */
body {
  font-family: var(--font-sans);
}

/* Titres : Lora pour un côté éditorial / élégant */
h1,
h2,
h3,
h4 {
  font-family: var(--font-serif);
}

/* Interfaces, petits textes et mentions légales : Roboto */
small,
button,
input,
textarea,
.cs-legal-row {
  font-family: var(--font-ui);
}

/* ============================================= */
/* Framework 3.2 – SCSS source (less is more)    */
/* ============================================= */
/* 1. RESET / NORMALIZE */
html, body, div, span, applet, object, iframe,
h1, h2, h3, h4, h5, h6, p, blockquote, pre,
a, abbr, acronym, address, big, cite, code,
del, dfn, em, img, ins, kbd, q, s, samp,
small, strike, strong, sub, sup, tt, var,
b, u, i, center,
dl, dt, dd, ol, ul, li,
fieldset, form, label, legend,
article, aside, canvas, details, embed,
figure, figcaption, footer, header, hgroup,
main, nav, output, ruby, section, summary,
time, mark, audio, video {
  margin: 0;
  padding: 0;
  border: 0;
  font-size: inherit;
  vertical-align: baseline;
}

article, aside, details, figcaption, figure,
footer, header, hgroup, main, nav, section {
  display: block;
}

table {
  border-collapse: collapse;
  border-spacing: 0;
}

/* Global Box-Sizing */
*, *::before, *::after {
  box-sizing: border-box;
}

/* ============================================= */
/* 2. MAPS, VARIABLES & THEMES                   */
/* ============================================= */
/* Breakpoints map (mobile-first) */
/* Theme palettes (only color tokens here) */
/* Spacing scale used by utilities */
/* ============================================= */
/* 3. MIXINS                                     */
/* ============================================= */
/* Media-query helper */
/* Export a theme map into CSS variables */
/* Generate grid columns for a given prefix */
/* Flex helpers for responsive variants */
/* ============================================= */
/* 4. ROOT VARIABLES (NON-COLOR) + THEMES        */
/* ============================================= */
:root {
  /* Couleurs – injectées depuis les maps de thème */
  --color-primary-1: #1A1A1A;
  --color-primary-2: #4779b3;
  --color-primary-3: #FFF;
  --color-secondary-1: #D2B68A;
  --color-secondary-2: #B7B7B7;
  --color-alert: #70161B;
  /* Fonts */
  --font-1: "Quicksand", sans-serif;
  --font-2: "lora", sans-serif;
  --font-3: "roboto", sans-serif;
  /* Gutter global */
  --gutter: 1rem;
  /* Gap par défaut (pour espaces) */
  --gap-xs: clamp(5px, 1vw, 10px);
  --gap-sm: clamp(8px, 1.5vw, 12px);
  --gap-md: clamp(10px, 2vw, 16px);
  --gap-lg: clamp(12px, 2.5vw, 20px);
  /* Container */
  --container-max-width: 1200px;
  /* Échelles globales pour typographie */
  --title-scale: 1;
  --text-scale: 1;
  /* TITRES RESPONSIVES */
  /* Titre Hero */
  --hero-min: 31px;
  --hero-mid: calc(4.0364vw + 19px);
  --hero-max: 80px;
  --hero-line-height-min: 1.1;
  --hero-line-height-mid: 1.15;
  --hero-line-height-max: 1.2;
  /* H1 */
  --x1-min: 28px;
  --x1-mid: calc(3.8vw + 17px);
  --x1-max: 63px;
  --x1-line-height-min: 1.15;
  --x1-line-height-mid: 1.2;
  --x1-line-height-max: 1.25;
  /* H2 */
  --x2-min: 24px;
  --x2-mid: calc(3.2vw + 15px);
  --x2-max: 51px;
  --x2-line-height-min: 1.2;
  --x2-line-height-mid: 1.25;
  --x2-line-height-max: 1.3;
  /* H3 */
  --x3-min: 22px;
  --x3-mid: calc(2.8vw + 13px);
  --x3-max: 40px;
  --x3-line-height-min: 1.2;
  --x3-line-height-mid: 1.25;
  --x3-line-height-max: 1.3;
  /* H4 */
  --x4-min: 20px;
  --x4-mid: calc(2.5vw + 12px);
  --x4-max: 39px;
  --x4-line-height-min: 1.2;
  --x4-line-height-mid: 1.25;
  --x4-line-height-max: 1.3;
  /* H5 */
  --x5-min: 18px;
  --x5-mid: calc(2.2vw + 10px);
  --x5-max: 31px;
  --x5-line-height-min: 1.2;
  --x5-line-height-mid: 1.25;
  --x5-line-height-max: 1.3;
  /* H6 */
  --x6-min: 16px;
  --x6-mid: calc(2vw + 9px);
  --x6-max: 27px;
  --x6-line-height-min: 1.2;
  --x6-line-height-mid: 1.25;
  --x6-line-height-max: 1.3;
  /* TEXTES RESPONSIVES */
  /* p1 */
  --p1-min: 14px;
  --p1-mid: calc(1.2vw + 10px);
  --p1-max: 19px;
  --p1-line-height-min: 1.4;
  --p1-line-height-mid: 1.45;
  --p1-line-height-max: 1.5;
  /* p2 */
  --p2-min: 16px;
  --p2-mid: calc(1.1vw + 9px);
  --p2-max: 17.5px;
  --p2-line-height-min: 1.45;
  --p2-line-height-mid: 1.5;
  --p2-line-height-max: 1.55;
  /* p3 */
  --p3-min: 12px;
  --p3-mid: calc(1vw + 8px);
  --p3-max: 16px;
  --p3-line-height-min: 1.5;
  --p3-line-height-mid: 1.55;
  --p3-line-height-max: 1.6;
  /* Captions */
  --caption-min: 10px;
  --caption-mid: calc(0.9vw + 7px);
  --caption-max: 14px;
  --caption-line-height-min: 1.1;
  --caption-line-height-mid: 1.15;
  --caption-line-height-max: 1.2;
  /* Legends */
  --legend-min: 11px;
  --legend-mid: calc(1vw + 7px);
  --legend-max: 15px;
  --legend-line-height-min: 1.2;
  --legend-line-height-mid: 1.25;
  --legend-line-height-max: 1.3;
  /* ESPACEMENTS (Gouttières) pour marges/paddings */
  --s-xxs: clamp(2px, 0.5vw, 4px);
  --s-xs: clamp(4px, 1vw, 8px);
  --s-sm: clamp(8px, 2vw, 16px);
  --s-md: clamp(16px, 3vw, 32px);
  --s-lg: clamp(32px, 4vw, 64px);
  --s-xl: clamp(64px, 4vw, 128px);
}

:root[data-theme=dark] {
  /* Palette sombre pour le mode dark */
  --color-primary-1: #F9FAFB;
  --color-primary-2: #60A5FA;
  --color-primary-3: #020617;
  --color-secondary-1: #E5B98A;
  --color-secondary-2: #9CA3AF;
  --color-alert: #F97373;
}

/* ============================================= */
/* 5. ESPACEMENTS (MARGES & PADDINGS)            */
/* ============================================= */
/* Marges / paddings générés à partir de la scale */
.m-xxs {
  margin: var(--s-xxs) !important;
}

.p-xxs {
  padding: var(--s-xxs) !important;
}

.mv-xxs {
  margin-top: var(--s-xxs) !important;
  margin-bottom: var(--s-xxs) !important;
}

.mh-xxs {
  margin-left: var(--s-xxs) !important;
  margin-right: var(--s-xxs) !important;
}

.pv-xxs {
  padding-top: var(--s-xxs) !important;
  padding-bottom: var(--s-xxs) !important;
}

.ph-xxs {
  padding-left: var(--s-xxs) !important;
  padding-right: var(--s-xxs) !important;
}

.m-xs {
  margin: var(--s-xs) !important;
}

.p-xs {
  padding: var(--s-xs) !important;
}

.mv-xs {
  margin-top: var(--s-xs) !important;
  margin-bottom: var(--s-xs) !important;
}

.mh-xs {
  margin-left: var(--s-xs) !important;
  margin-right: var(--s-xs) !important;
}

.pv-xs {
  padding-top: var(--s-xs) !important;
  padding-bottom: var(--s-xs) !important;
}

.ph-xs {
  padding-left: var(--s-xs) !important;
  padding-right: var(--s-xs) !important;
}

.m-sm {
  margin: var(--s-sm) !important;
}

.p-sm {
  padding: var(--s-sm) !important;
}

.mv-sm {
  margin-top: var(--s-sm) !important;
  margin-bottom: var(--s-sm) !important;
}

.mh-sm {
  margin-left: var(--s-sm) !important;
  margin-right: var(--s-sm) !important;
}

.pv-sm {
  padding-top: var(--s-sm) !important;
  padding-bottom: var(--s-sm) !important;
}

.ph-sm {
  padding-left: var(--s-sm) !important;
  padding-right: var(--s-sm) !important;
}

.m-md {
  margin: var(--s-md) !important;
}

.p-md {
  padding: var(--s-md) !important;
}

.mv-md {
  margin-top: var(--s-md) !important;
  margin-bottom: var(--s-md) !important;
}

.mh-md {
  margin-left: var(--s-md) !important;
  margin-right: var(--s-md) !important;
}

.pv-md {
  padding-top: var(--s-md) !important;
  padding-bottom: var(--s-md) !important;
}

.ph-md {
  padding-left: var(--s-md) !important;
  padding-right: var(--s-md) !important;
}

.m-lg {
  margin: var(--s-lg) !important;
}

.p-lg {
  padding: var(--s-lg) !important;
}

.mv-lg {
  margin-top: var(--s-lg) !important;
  margin-bottom: var(--s-lg) !important;
}

.mh-lg {
  margin-left: var(--s-lg) !important;
  margin-right: var(--s-lg) !important;
}

.pv-lg {
  padding-top: var(--s-lg) !important;
  padding-bottom: var(--s-lg) !important;
}

.ph-lg {
  padding-left: var(--s-lg) !important;
  padding-right: var(--s-lg) !important;
}

/* ============================================= */
/* 6. CONTAINERS & GRILLE                        */
/* ============================================= */
/* Conteneur fixe */
.container {
  max-width: var(--container-max-width, 1200px);
  margin: 0 auto;
  padding: 0 var(--gutter, 1rem);
}

/* Conteneur fluide */
.container-fluid {
  width: 100%;
  padding: 0 var(--gutter, 1rem);
}

/* Row */
.row {
  display: flex;
  flex-wrap: wrap;
  margin-left: calc(-0.5 * var(--gutter, 1rem));
  margin-right: calc(-0.5 * var(--gutter, 1rem));
}

/* Colonne de base */
.col {
  flex: 1 1 0%;
  max-width: 100%;
  padding: 0 calc(0.5 * var(--gutter, 1rem));
}

/* XS (base) : .col-xs-* */
.col-xs-1 {
  flex: 0 0 8.3333333333%;
  max-width: 8.3333333333%;
}

.col-xs-2 {
  flex: 0 0 16.6666666667%;
  max-width: 16.6666666667%;
}

.col-xs-3 {
  flex: 0 0 25%;
  max-width: 25%;
}

.col-xs-4 {
  flex: 0 0 33.3333333333%;
  max-width: 33.3333333333%;
}

.col-xs-5 {
  flex: 0 0 41.6666666667%;
  max-width: 41.6666666667%;
}

.col-xs-6 {
  flex: 0 0 50%;
  max-width: 50%;
}

.col-xs-7 {
  flex: 0 0 58.3333333333%;
  max-width: 58.3333333333%;
}

.col-xs-8 {
  flex: 0 0 66.6666666667%;
  max-width: 66.6666666667%;
}

.col-xs-9 {
  flex: 0 0 75%;
  max-width: 75%;
}

.col-xs-10 {
  flex: 0 0 83.3333333333%;
  max-width: 83.3333333333%;
}

.col-xs-11 {
  flex: 0 0 91.6666666667%;
  max-width: 91.6666666667%;
}

.col-xs-12 {
  flex: 0 0 100%;
  max-width: 100%;
}

/* Petits smartphones (ps) */
@media (min-width: 321px) {
  .col-ps-1 {
    flex: 0 0 8.3333333333%;
    max-width: 8.3333333333%;
  }
  .col-ps-2 {
    flex: 0 0 16.6666666667%;
    max-width: 16.6666666667%;
  }
  .col-ps-3 {
    flex: 0 0 25%;
    max-width: 25%;
  }
  .col-ps-4 {
    flex: 0 0 33.3333333333%;
    max-width: 33.3333333333%;
  }
  .col-ps-5 {
    flex: 0 0 41.6666666667%;
    max-width: 41.6666666667%;
  }
  .col-ps-6 {
    flex: 0 0 50%;
    max-width: 50%;
  }
  .col-ps-7 {
    flex: 0 0 58.3333333333%;
    max-width: 58.3333333333%;
  }
  .col-ps-8 {
    flex: 0 0 66.6666666667%;
    max-width: 66.6666666667%;
  }
  .col-ps-9 {
    flex: 0 0 75%;
    max-width: 75%;
  }
  .col-ps-10 {
    flex: 0 0 83.3333333333%;
    max-width: 83.3333333333%;
  }
  .col-ps-11 {
    flex: 0 0 91.6666666667%;
    max-width: 91.6666666667%;
  }
  .col-ps-12 {
    flex: 0 0 100%;
    max-width: 100%;
  }
}
/* Smartphones moyens (sm) */
@media (min-width: 481px) {
  .col-sm-1 {
    flex: 0 0 8.3333333333%;
    max-width: 8.3333333333%;
  }
  .col-sm-2 {
    flex: 0 0 16.6666666667%;
    max-width: 16.6666666667%;
  }
  .col-sm-3 {
    flex: 0 0 25%;
    max-width: 25%;
  }
  .col-sm-4 {
    flex: 0 0 33.3333333333%;
    max-width: 33.3333333333%;
  }
  .col-sm-5 {
    flex: 0 0 41.6666666667%;
    max-width: 41.6666666667%;
  }
  .col-sm-6 {
    flex: 0 0 50%;
    max-width: 50%;
  }
  .col-sm-7 {
    flex: 0 0 58.3333333333%;
    max-width: 58.3333333333%;
  }
  .col-sm-8 {
    flex: 0 0 66.6666666667%;
    max-width: 66.6666666667%;
  }
  .col-sm-9 {
    flex: 0 0 75%;
    max-width: 75%;
  }
  .col-sm-10 {
    flex: 0 0 83.3333333333%;
    max-width: 83.3333333333%;
  }
  .col-sm-11 {
    flex: 0 0 91.6666666667%;
    max-width: 91.6666666667%;
  }
  .col-sm-12 {
    flex: 0 0 100%;
    max-width: 100%;
  }
}
/* Tablettes portrait (tp) */
@media (min-width: 601px) {
  .col-tp-1 {
    flex: 0 0 8.3333333333%;
    max-width: 8.3333333333%;
  }
  .col-tp-2 {
    flex: 0 0 16.6666666667%;
    max-width: 16.6666666667%;
  }
  .col-tp-3 {
    flex: 0 0 25%;
    max-width: 25%;
  }
  .col-tp-4 {
    flex: 0 0 33.3333333333%;
    max-width: 33.3333333333%;
  }
  .col-tp-5 {
    flex: 0 0 41.6666666667%;
    max-width: 41.6666666667%;
  }
  .col-tp-6 {
    flex: 0 0 50%;
    max-width: 50%;
  }
  .col-tp-7 {
    flex: 0 0 58.3333333333%;
    max-width: 58.3333333333%;
  }
  .col-tp-8 {
    flex: 0 0 66.6666666667%;
    max-width: 66.6666666667%;
  }
  .col-tp-9 {
    flex: 0 0 75%;
    max-width: 75%;
  }
  .col-tp-10 {
    flex: 0 0 83.3333333333%;
    max-width: 83.3333333333%;
  }
  .col-tp-11 {
    flex: 0 0 91.6666666667%;
    max-width: 91.6666666667%;
  }
  .col-tp-12 {
    flex: 0 0 100%;
    max-width: 100%;
  }
}
/* Tablettes paysage (tpl) */
@media (min-width: 769px) {
  .col-tpl-1 {
    flex: 0 0 8.3333333333%;
    max-width: 8.3333333333%;
  }
  .col-tpl-2 {
    flex: 0 0 16.6666666667%;
    max-width: 16.6666666667%;
  }
  .col-tpl-3 {
    flex: 0 0 25%;
    max-width: 25%;
  }
  .col-tpl-4 {
    flex: 0 0 33.3333333333%;
    max-width: 33.3333333333%;
  }
  .col-tpl-5 {
    flex: 0 0 41.6666666667%;
    max-width: 41.6666666667%;
  }
  .col-tpl-6 {
    flex: 0 0 50%;
    max-width: 50%;
  }
  .col-tpl-7 {
    flex: 0 0 58.3333333333%;
    max-width: 58.3333333333%;
  }
  .col-tpl-8 {
    flex: 0 0 66.6666666667%;
    max-width: 66.6666666667%;
  }
  .col-tpl-9 {
    flex: 0 0 75%;
    max-width: 75%;
  }
  .col-tpl-10 {
    flex: 0 0 83.3333333333%;
    max-width: 83.3333333333%;
  }
  .col-tpl-11 {
    flex: 0 0 91.6666666667%;
    max-width: 91.6666666667%;
  }
  .col-tpl-12 {
    flex: 0 0 100%;
    max-width: 100%;
  }
}
/* Laptops (lap) */
@media (min-width: 1025px) {
  .col-lap-1 {
    flex: 0 0 8.3333333333%;
    max-width: 8.3333333333%;
  }
  .col-lap-2 {
    flex: 0 0 16.6666666667%;
    max-width: 16.6666666667%;
  }
  .col-lap-3 {
    flex: 0 0 25%;
    max-width: 25%;
  }
  .col-lap-4 {
    flex: 0 0 33.3333333333%;
    max-width: 33.3333333333%;
  }
  .col-lap-5 {
    flex: 0 0 41.6666666667%;
    max-width: 41.6666666667%;
  }
  .col-lap-6 {
    flex: 0 0 50%;
    max-width: 50%;
  }
  .col-lap-7 {
    flex: 0 0 58.3333333333%;
    max-width: 58.3333333333%;
  }
  .col-lap-8 {
    flex: 0 0 66.6666666667%;
    max-width: 66.6666666667%;
  }
  .col-lap-9 {
    flex: 0 0 75%;
    max-width: 75%;
  }
  .col-lap-10 {
    flex: 0 0 83.3333333333%;
    max-width: 83.3333333333%;
  }
  .col-lap-11 {
    flex: 0 0 91.6666666667%;
    max-width: 91.6666666667%;
  }
  .col-lap-12 {
    flex: 0 0 100%;
    max-width: 100%;
  }
}
/* Wide (wide) */
@media (min-width: 1281px) {
  .col-wide-1 {
    flex: 0 0 8.3333333333%;
    max-width: 8.3333333333%;
  }
  .col-wide-2 {
    flex: 0 0 16.6666666667%;
    max-width: 16.6666666667%;
  }
  .col-wide-3 {
    flex: 0 0 25%;
    max-width: 25%;
  }
  .col-wide-4 {
    flex: 0 0 33.3333333333%;
    max-width: 33.3333333333%;
  }
  .col-wide-5 {
    flex: 0 0 41.6666666667%;
    max-width: 41.6666666667%;
  }
  .col-wide-6 {
    flex: 0 0 50%;
    max-width: 50%;
  }
  .col-wide-7 {
    flex: 0 0 58.3333333333%;
    max-width: 58.3333333333%;
  }
  .col-wide-8 {
    flex: 0 0 66.6666666667%;
    max-width: 66.6666666667%;
  }
  .col-wide-9 {
    flex: 0 0 75%;
    max-width: 75%;
  }
  .col-wide-10 {
    flex: 0 0 83.3333333333%;
    max-width: 83.3333333333%;
  }
  .col-wide-11 {
    flex: 0 0 91.6666666667%;
    max-width: 91.6666666667%;
  }
  .col-wide-12 {
    flex: 0 0 100%;
    max-width: 100%;
  }
}
/* Très grands écrans (xxl) */
@media (min-width: 1441px) {
  .col-xxl-1 {
    flex: 0 0 8.3333333333%;
    max-width: 8.3333333333%;
  }
  .col-xxl-2 {
    flex: 0 0 16.6666666667%;
    max-width: 16.6666666667%;
  }
  .col-xxl-3 {
    flex: 0 0 25%;
    max-width: 25%;
  }
  .col-xxl-4 {
    flex: 0 0 33.3333333333%;
    max-width: 33.3333333333%;
  }
  .col-xxl-5 {
    flex: 0 0 41.6666666667%;
    max-width: 41.6666666667%;
  }
  .col-xxl-6 {
    flex: 0 0 50%;
    max-width: 50%;
  }
  .col-xxl-7 {
    flex: 0 0 58.3333333333%;
    max-width: 58.3333333333%;
  }
  .col-xxl-8 {
    flex: 0 0 66.6666666667%;
    max-width: 66.6666666667%;
  }
  .col-xxl-9 {
    flex: 0 0 75%;
    max-width: 75%;
  }
  .col-xxl-10 {
    flex: 0 0 83.3333333333%;
    max-width: 83.3333333333%;
  }
  .col-xxl-11 {
    flex: 0 0 91.6666666667%;
    max-width: 91.6666666667%;
  }
  .col-xxl-12 {
    flex: 0 0 100%;
    max-width: 100%;
  }
}
/* Ultra-wide (xxxl) */
@media (min-width: 1920px) {
  .col-xxxl-1 {
    flex: 0 0 8.3333333333%;
    max-width: 8.3333333333%;
  }
  .col-xxxl-2 {
    flex: 0 0 16.6666666667%;
    max-width: 16.6666666667%;
  }
  .col-xxxl-3 {
    flex: 0 0 25%;
    max-width: 25%;
  }
  .col-xxxl-4 {
    flex: 0 0 33.3333333333%;
    max-width: 33.3333333333%;
  }
  .col-xxxl-5 {
    flex: 0 0 41.6666666667%;
    max-width: 41.6666666667%;
  }
  .col-xxxl-6 {
    flex: 0 0 50%;
    max-width: 50%;
  }
  .col-xxxl-7 {
    flex: 0 0 58.3333333333%;
    max-width: 58.3333333333%;
  }
  .col-xxxl-8 {
    flex: 0 0 66.6666666667%;
    max-width: 66.6666666667%;
  }
  .col-xxxl-9 {
    flex: 0 0 75%;
    max-width: 75%;
  }
  .col-xxxl-10 {
    flex: 0 0 83.3333333333%;
    max-width: 83.3333333333%;
  }
  .col-xxxl-11 {
    flex: 0 0 91.6666666667%;
    max-width: 91.6666666667%;
  }
  .col-xxxl-12 {
    flex: 0 0 100%;
    max-width: 100%;
  }
}
/* ============================================= */
/* 7. FLEXBOX UTILITAIRES                        */
/* ============================================= */
/* Base (XS) */
.flex {
  display: flex;
  flex-wrap: wrap;
}

/* Directions */
.flex-row {
  flex-direction: row;
}

.flex-row-reverse {
  flex-direction: row-reverse;
}

.flex-column {
  flex-direction: column;
}

.flex-column-reverse {
  flex-direction: column-reverse;
}

/* Justify Content */
.justify-start {
  justify-content: flex-start;
}

.justify-center {
  justify-content: center;
}

.justify-end {
  justify-content: flex-end;
}

.justify-between {
  justify-content: space-between;
}

.justify-around {
  justify-content: space-around;
}

.justify-evenly {
  justify-content: space-evenly;
}

/* Align Items */
.items-start {
  align-items: flex-start;
}

.items-center {
  align-items: center;
}

.items-end {
  align-items: flex-end;
}

.items-stretch {
  align-items: stretch;
}

/* Order */
.order-1 {
  order: 1;
}

.order-2 {
  order: 2;
}

.order-3 {
  order: 3;
}

.order-4 {
  order: 4;
}

.order-minus-1 {
  order: -1;
}

/* Flex Grow / Shrink & Basis */
.flex-grow-0 {
  flex-grow: 0;
}

.flex-grow-1 {
  flex-grow: 1;
}

.flex-shrink-0 {
  flex-shrink: 0;
}

.flex-shrink-1 {
  flex-shrink: 1;
}

.flex-auto {
  flex: 1 1 auto;
}

.flex-initial {
  flex: 0 1 auto;
}

.flex-none {
  flex: none;
}

/* Align Self */
.self-start {
  align-self: flex-start;
}

.self-center {
  align-self: center;
}

.self-end {
  align-self: flex-end;
}

.self-stretch {
  align-self: stretch;
}

/* Wrap */
.flex-nowrap {
  flex-wrap: nowrap;
}

.flex-wrap {
  flex-wrap: wrap;
}

/* Responsive flex variants (directions + justify + items) */
@media (min-width: 321px) {
  .flex-row-ps {
    flex-direction: row;
  }
  .flex-row-reverse-ps {
    flex-direction: row-reverse;
  }
  .flex-column-ps {
    flex-direction: column;
  }
  .flex-column-reverse-ps {
    flex-direction: column-reverse;
  }
  .justify-start-ps {
    justify-content: flex-start;
  }
  .justify-center-ps {
    justify-content: center;
  }
  .justify-end-ps {
    justify-content: flex-end;
  }
  .justify-between-ps {
    justify-content: space-between;
  }
  .justify-around-ps {
    justify-content: space-around;
  }
  .justify-evenly-ps {
    justify-content: space-evenly;
  }
  .items-start-ps {
    align-items: flex-start;
  }
  .items-center-ps {
    align-items: center;
  }
  .items-end-ps {
    align-items: flex-end;
  }
  .items-stretch-ps {
    align-items: stretch;
  }
}
@media (min-width: 481px) {
  .flex-row-sm {
    flex-direction: row;
  }
  .flex-row-reverse-sm {
    flex-direction: row-reverse;
  }
  .flex-column-sm {
    flex-direction: column;
  }
  .flex-column-reverse-sm {
    flex-direction: column-reverse;
  }
  .justify-start-sm {
    justify-content: flex-start;
  }
  .justify-center-sm {
    justify-content: center;
  }
  .justify-end-sm {
    justify-content: flex-end;
  }
  .justify-between-sm {
    justify-content: space-between;
  }
  .justify-around-sm {
    justify-content: space-around;
  }
  .justify-evenly-sm {
    justify-content: space-evenly;
  }
  .items-start-sm {
    align-items: flex-start;
  }
  .items-center-sm {
    align-items: center;
  }
  .items-end-sm {
    align-items: flex-end;
  }
  .items-stretch-sm {
    align-items: stretch;
  }
}
@media (min-width: 601px) {
  .flex-row-tp {
    flex-direction: row;
  }
  .flex-row-reverse-tp {
    flex-direction: row-reverse;
  }
  .flex-column-tp {
    flex-direction: column;
  }
  .flex-column-reverse-tp {
    flex-direction: column-reverse;
  }
  .justify-start-tp {
    justify-content: flex-start;
  }
  .justify-center-tp {
    justify-content: center;
  }
  .justify-end-tp {
    justify-content: flex-end;
  }
  .justify-between-tp {
    justify-content: space-between;
  }
  .justify-around-tp {
    justify-content: space-around;
  }
  .justify-evenly-tp {
    justify-content: space-evenly;
  }
  .items-start-tp {
    align-items: flex-start;
  }
  .items-center-tp {
    align-items: center;
  }
  .items-end-tp {
    align-items: flex-end;
  }
  .items-stretch-tp {
    align-items: stretch;
  }
}
@media (min-width: 769px) {
  .flex-row-tpl {
    flex-direction: row;
  }
  .flex-row-reverse-tpl {
    flex-direction: row-reverse;
  }
  .flex-column-tpl {
    flex-direction: column;
  }
  .flex-column-reverse-tpl {
    flex-direction: column-reverse;
  }
  .justify-start-tpl {
    justify-content: flex-start;
  }
  .justify-center-tpl {
    justify-content: center;
  }
  .justify-end-tpl {
    justify-content: flex-end;
  }
  .justify-between-tpl {
    justify-content: space-between;
  }
  .justify-around-tpl {
    justify-content: space-around;
  }
  .justify-evenly-tpl {
    justify-content: space-evenly;
  }
  .items-start-tpl {
    align-items: flex-start;
  }
  .items-center-tpl {
    align-items: center;
  }
  .items-end-tpl {
    align-items: flex-end;
  }
  .items-stretch-tpl {
    align-items: stretch;
  }
}
@media (min-width: 1025px) {
  .flex-row-lap {
    flex-direction: row;
  }
  .flex-row-reverse-lap {
    flex-direction: row-reverse;
  }
  .flex-column-lap {
    flex-direction: column;
  }
  .flex-column-reverse-lap {
    flex-direction: column-reverse;
  }
  .justify-start-lap {
    justify-content: flex-start;
  }
  .justify-center-lap {
    justify-content: center;
  }
  .justify-end-lap {
    justify-content: flex-end;
  }
  .justify-between-lap {
    justify-content: space-between;
  }
  .justify-around-lap {
    justify-content: space-around;
  }
  .justify-evenly-lap {
    justify-content: space-evenly;
  }
  .items-start-lap {
    align-items: flex-start;
  }
  .items-center-lap {
    align-items: center;
  }
  .items-end-lap {
    align-items: flex-end;
  }
  .items-stretch-lap {
    align-items: stretch;
  }
}
@media (min-width: 1281px) {
  .flex-row-wide {
    flex-direction: row;
  }
  .flex-row-reverse-wide {
    flex-direction: row-reverse;
  }
  .flex-column-wide {
    flex-direction: column;
  }
  .flex-column-reverse-wide {
    flex-direction: column-reverse;
  }
  .justify-start-wide {
    justify-content: flex-start;
  }
  .justify-center-wide {
    justify-content: center;
  }
  .justify-end-wide {
    justify-content: flex-end;
  }
  .justify-between-wide {
    justify-content: space-between;
  }
  .justify-around-wide {
    justify-content: space-around;
  }
  .justify-evenly-wide {
    justify-content: space-evenly;
  }
  .items-start-wide {
    align-items: flex-start;
  }
  .items-center-wide {
    align-items: center;
  }
  .items-end-wide {
    align-items: flex-end;
  }
  .items-stretch-wide {
    align-items: stretch;
  }
}
@media (min-width: 1441px) {
  .flex-row-xxl {
    flex-direction: row;
  }
  .flex-row-reverse-xxl {
    flex-direction: row-reverse;
  }
  .flex-column-xxl {
    flex-direction: column;
  }
  .flex-column-reverse-xxl {
    flex-direction: column-reverse;
  }
  .justify-start-xxl {
    justify-content: flex-start;
  }
  .justify-center-xxl {
    justify-content: center;
  }
  .justify-end-xxl {
    justify-content: flex-end;
  }
  .justify-between-xxl {
    justify-content: space-between;
  }
  .justify-around-xxl {
    justify-content: space-around;
  }
  .justify-evenly-xxl {
    justify-content: space-evenly;
  }
  .items-start-xxl {
    align-items: flex-start;
  }
  .items-center-xxl {
    align-items: center;
  }
  .items-end-xxl {
    align-items: flex-end;
  }
  .items-stretch-xxl {
    align-items: stretch;
  }
}
@media (min-width: 1920px) {
  .flex-row-xxxl {
    flex-direction: row;
  }
  .flex-row-reverse-xxxl {
    flex-direction: row-reverse;
  }
  .flex-column-xxxl {
    flex-direction: column;
  }
  .flex-column-reverse-xxxl {
    flex-direction: column-reverse;
  }
  .justify-start-xxxl {
    justify-content: flex-start;
  }
  .justify-center-xxxl {
    justify-content: center;
  }
  .justify-end-xxxl {
    justify-content: flex-end;
  }
  .justify-between-xxxl {
    justify-content: space-between;
  }
  .justify-around-xxxl {
    justify-content: space-around;
  }
  .justify-evenly-xxxl {
    justify-content: space-evenly;
  }
  .items-start-xxxl {
    align-items: flex-start;
  }
  .items-center-xxxl {
    align-items: center;
  }
  .items-end-xxxl {
    align-items: flex-end;
  }
  .items-stretch-xxxl {
    align-items: stretch;
  }
}
/* ============================================= */
/* 8. BORDER RADIUS                              */
/* ============================================= */
.br-sm {
  border-radius: 4px;
}

.br-md {
  border-radius: 8px;
}

.br-lg {
  border-radius: 16px;
}

.br-xl {
  border-radius: 32px;
}

.br-circle {
  border-radius: 50%;
}

.br-pill {
  border-radius: 999px;
}

/* ============================================= */
/* 9. TITRES RESPONSIVES                         */
/* ============================================= */
/* Fallback (navigateurs sans clamp) */
.title-hero {
  font-size: var(--hero-max, 80px);
}

.title-x1, .heading-1 {
  font-size: var(--x1-max, 63px);
  font-family: var(--font-1);
}

.title-x2, .heading-2 {
  font-size: var(--x2-max, 51px);
  font-family: var(--font-1);
}

.title-x3, .heading-3 {
  font-size: var(--x3-max, 43px);
  font-family: var(--font-1);
}

.title-x4, .heading-4 {
  font-size: var(--x4-max, 39px);
  font-family: var(--font-1);
}

.title-x5, .heading-5 {
  font-size: var(--x5-max, 31px);
  font-family: var(--font-1);
}

.title-x6, .heading-6 {
  font-size: var(--x6-max, 27px);
  font-family: var(--font-1);
}

/* Version moderne avec clamp() */
@supports (font-size: clamp(1px, 2vw, 3px)) {
  .title-hero {
    font-size: clamp(var(--hero-min, 31px), var(--hero-mid, calc(4.0364vw + 19px)), var(--hero-max, 80px));
    line-height: clamp(var(--hero-line-height-min, 1.1), var(--hero-line-height-mid, 1.15), var(--hero-line-height-max, 1.2));
  }
  .title-x1,
  .heading-1 {
    font-size: clamp(var(--x1-min, 28px), var(--x1-mid, calc(3.8vw + 17px)), var(--x1-max, 63px));
    line-height: clamp(var(--x1-line-height-min, 1.15), var(--x1-line-height-mid, 1.2), var(--x1-line-height-max, 1.25));
  }
  .title-x2,
  .heading-2 {
    font-size: clamp(var(--x2-min, 24px), var(--x2-mid, calc(3.2vw + 15px)), var(--x2-max, 51px));
    line-height: clamp(var(--x2-line-height-min, 1.2), var(--x2-line-height-mid, 1.25), var(--x2-line-height-max, 1.3));
  }
  .title-x3,
  .heading-3 {
    font-size: clamp(var(--x3-min, 22px), var(--x3-mid, calc(2.8vw + 13px)), var(--x3-max, 43px));
    line-height: clamp(var(--x3-line-height-min, 1.2), var(--x3-line-height-mid, 1.25), var(--x3-line-height-max, 1.3));
  }
  .title-x4,
  .heading-4 {
    font-size: clamp(var(--x4-min, 20px), var(--x4-mid, calc(2.5vw + 12px)), var(--x4-max, 39px));
    line-height: clamp(var(--x4-line-height-min, 1.2), var(--x4-line-height-mid, 1.25), var(--x4-line-height-max, 1.3));
  }
  .title-x5,
  .heading-5 {
    font-size: clamp(var(--x5-min, 18px), var(--x5-mid, calc(2.2vw + 10px)), var(--x5-max, 31px));
    line-height: clamp(var(--x5-line-height-min, 1.2), var(--x5-line-height-mid, 1.25), var(--x5-line-height-max, 1.3));
  }
  .title-x6,
  .heading-6 {
    font-size: clamp(var(--x6-min, 16px), var(--x6-mid, calc(2vw + 9px)), var(--x6-max, 27px));
    line-height: clamp(var(--x6-line-height-min, 1.2), var(--x6-line-height-mid, 1.25), var(--x6-line-height-max, 1.3));
  }
}
/* ============================================= */
/* 10. TEXTES RESPONSIVES                        */
/* ============================================= */
.p1, .p2, .p3, .caption, .legend {
  line-height: 1.6; /* Fallback générique */
}

/* Fallback pour textes (IE) */
.p1 {
  font-size: var(--p1-max, 20px);
}

.p2 {
  font-size: var(--p2-max, 18px);
}

.p3 {
  font-size: var(--p3-max, 16px);
}

.caption {
  font-size: var(--caption-max, 14px);
}

.legend {
  font-size: var(--legend-max, 15px);
}

/* Version moderne avec clamp() */
@supports (font-size: clamp(1px, 2vw, 3px)) {
  .p1 {
    font-size: clamp(var(--p1-min, 14px), var(--p1-mid, calc(1.2vw + 10px)), var(--p1-max, 20px));
    line-height: clamp(var(--p1-line-height-min, 1.4), var(--p1-line-height-mid, 1.45), var(--p1-line-height-max, 1.5));
  }
  .p2 {
    font-size: clamp(var(--p2-min, 13px), var(--p2-mid, calc(1.1vw + 9px)), var(--p2-max, 18px));
    line-height: clamp(var(--p2-line-height-min, 1.45), var(--p2-line-height-mid, 1.5), var(--p2-line-height-max, 1.55));
  }
  .p3 {
    font-size: clamp(var(--p3-min, 12px), var(--p3-mid, calc(1vw + 8px)), var(--p3-max, 16px));
    line-height: clamp(var(--p3-line-height-min, 1.5), var(--p3-line-height-mid, 1.55), var(--p3-line-height-max, 1.6));
  }
  .caption {
    font-size: clamp(var(--caption-min, 10px), var(--caption-mid, calc(0.9vw + 7px)), var(--caption-max, 14px));
    line-height: clamp(var(--caption-line-height-min, 1.1), var(--caption-line-height-mid, 1.15), var(--caption-line-height-max, 1.2));
  }
  .legend {
    font-size: clamp(var(--legend-min, 11px), var(--legend-mid, calc(1vw + 7px)), var(--legend-max, 15px));
    line-height: clamp(var(--legend-line-height-min, 1.2), var(--legend-line-height-mid, 1.25), var(--legend-line-height-max, 1.3));
  }
}
/* ============================================= */
/* 11. IMAGES                                    */
/* ============================================= */
.img-fluid {
  display: block;
  width: 100%;
  max-width: 100%;
  height: auto;
  object-position: 50% 50%;
}

.img-cover {
  object-fit: cover;
}

.img-contain {
  object-fit: contain;
}

.img-fill {
  object-fit: fill;
}

.img-scale-down {
  object-fit: scale-down;
}

/* ============================================= */
/* 12. POSITIONS                                 */
/* ============================================= */
.pos-relative {
  position: relative;
}

.pos-absolute {
  position: absolute;
}

.pos-fixed {
  position: fixed;
}

.pos-sticky {
  position: sticky;
}

.top-0 {
  top: 0;
}

.right-0 {
  right: 0;
}

.bottom-0 {
  bottom: 0;
}

.left-0 {
  left: 0;
}

.top-50 {
  top: 50%;
}

.left-50 {
  left: 50%;
}

.center-absolute {
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
}

/* ============================================= */
/* 13. UTILITAIRES DIVERS                        */
/* ============================================= */
/* text-color */
.txt-color-primary-1 {
  color: var(--color-primary-1, #1A1A1A);
}

.txt-color-primary-2 {
  color: var(--color-primary-2, #4779b3);
}

.txt-color-primary-3 {
  color: var(--color-primary-3, #FFF);
}

.txt-color-secondary-1 {
  color: var(--color-secondary-1, #D2B68A);
}

.txt-color-secondary-2 {
  color: var(--color-secondary-2, #B7B7B7);
}

.txt-color-secondary-3 {
  color: var(--color-alert, #70161B);
}

/* bg color */
.bgc-color-primary-1 {
  background-color: var(--color-primary-1, #1A1A1A);
}

.bgc-color-primary-2 {
  background-color: var(--color-primary-2, #4779b3);
}

.bgc-color-primary-3 {
  background-color: var(--color-primary-3, #FFF);
}

.bgc-color-secondary-1 {
  background-color: var(--color-secondary-1, #D2B68A);
}

.bgc-color-secondary-2 {
  background-color: var(--color-secondary-2, #B7B7B7);
}

.bgc-color-secondary-3 {
  background-color: var(--color-alert, #70161B);
}

/* Visibilité */
.visible {
  visibility: visible;
}

.invisible {
  visibility: hidden;
}

.hidden {
  display: none;
}

/* Text Align */
.text-left {
  text-align: left;
}

.text-center {
  text-align: center;
}

.text-right {
  text-align: right;
}

.text-justify {
  text-align: justify;
}

/* Largeurs (pourcentages & vw) */
.w-10 {
  width: 10%;
}

.w-20 {
  width: 20%;
}

.w-30 {
  width: 30%;
}

.w-40 {
  width: 40%;
}

.w-50 {
  width: 50%;
}

.w-60 {
  width: 60%;
}

.w-70 {
  width: 70%;
}

.w-80 {
  width: 80%;
}

.w-90 {
  width: 90%;
}

.w-100 {
  width: 100%;
}

.w-25vw {
  width: 25vw;
}

.w-50vw {
  width: 50vw;
}

.w-75vw {
  width: 75vw;
}

.w-100vw {
  width: 100vw;
}

/* Hauteurs (pourcentages & vh) */
.h-10 {
  height: 10%;
}

.h-20 {
  height: 20%;
}

.h-30 {
  height: 30%;
}

.h-40 {
  height: 40%;
}

.h-50 {
  height: 50%;
}

.h-60 {
  height: 60%;
}

.h-70 {
  height: 70%;
}

.h-80 {
  height: 80%;
}

.h-90 {
  height: 90%;
}

.h-100 {
  height: 100%;
}

.h-25vh {
  height: 25vh;
}

.h-50vh {
  height: 50vh;
}

.h-75vh {
  height: 75vh;
}

.h-100vh {
  height: 100vh;
}

/* Overflows */
.overflow-hidden {
  overflow: hidden;
}

.overflow-auto {
  overflow: auto;
}

.overflow-scroll {
  overflow: scroll;
}

.overflow-visible {
  overflow: visible;
}

.overflow-x-hidden {
  overflow-x: hidden;
}

.overflow-x-auto {
  overflow-x: auto;
}

.overflow-x-scroll {
  overflow-x: scroll;
}

.overflow-x-visible {
  overflow-x: visible;
}

.overflow-y-hidden {
  overflow-y: hidden;
}

.overflow-y-auto {
  overflow-y: auto;
}

.overflow-y-scroll {
  overflow-y: scroll;
}

.overflow-y-visible {
  overflow-y: visible;
}

/* Z-index */
.z-0 {
  z-index: 0;
}

.z-1 {
  z-index: 1;
}

.z-10 {
  z-index: 10;
}

.z-50 {
  z-index: 50;
}

.z-100 {
  z-index: 100;
}

.z-500 {
  z-index: 500;
}

.z-999 {
  z-index: 999;
}

.z-auto {
  z-index: auto;
}

/* Aspect Ratio */
.aspect-1-1 {
  aspect-ratio: 1/1;
}

.aspect-4-3 {
  aspect-ratio: 4/3;
}

.aspect-16-9 {
  aspect-ratio: 16/9;
}

.aspect-21-9 {
  aspect-ratio: 21/9;
}

/* Curseur */
.cursor-default {
  cursor: default;
}

.cursor-pointer {
  cursor: pointer;
}

.cursor-wait {
  cursor: wait;
}

.cursor-text {
  cursor: text;
}

.cursor-move {
  cursor: move;
}

.cursor-not-allowed {
  cursor: not-allowed;
}

.cursor-crosshair {
  cursor: crosshair;
}

/* Pointer Events */
.pointer-events-none {
  pointer-events: none;
}

.pointer-events-auto {
  pointer-events: auto;
}

/* Word Break & White Space */
.break-word {
  overflow-wrap: break-word;
}

.break-all {
  word-break: break-all;
}

.whitespace-normal {
  white-space: normal;
}

.whitespace-nowrap {
  white-space: nowrap;
}

.whitespace-pre {
  white-space: pre;
}

.whitespace-pre-wrap {
  white-space: pre-wrap;
}

.whitespace-pre-line {
  white-space: pre-line;
}

/* ============================================= */
/* FIN DU FRAMEWORK – SCSS SOURCE                */
/* ============================================= */
/* pages/_coming-soon.scss */
.coming-soon-page {
  min-height: 100vh;
  color: #3f2b23;
  display: flex;
  align-items: center;
}
.coming-soon-page::before {
  content: "";
  position: fixed;
  inset: 0;
  z-index: -1;
  background-image: url("/wp-content/uploads/2025/11/Boho-Seamless-Patterns-Saumon-DEA787.svg");
  background-repeat: repeat;
  background-size: 800px 800px;
  opacity: 0.1;
}
.coming-soon-page .cs-wrapper {
  width: 100%;
}
.coming-soon-page .cs-main-row {
  margin-bottom: var(--gap-lg);
  margin-top: 2vh;
}
.coming-soon-page {
  /* Colonne logo */
}
.coming-soon-page .cs-logo-col {
  text-align: center;
}
.coming-soon-page .cs-logo {
  max-width: 420px;
  width: 100%;
  height: auto;
  display: inline-block;
  padding: 40px;
}
.coming-soon-page {
  /* Colonne texte */
}
.coming-soon-page .cs-content-col {
  padding: var(--gap-md);
  margin-bottom: 50px;
}
.coming-soon-page .cs-title {
  margin-bottom: var(--gap-sm);
  color: #7a4a32;
}
.coming-soon-page .cs-text p + p {
  margin-top: 0.75rem;
}
.coming-soon-page .cs-text strong {
  font-weight: bold;
  color: #7a4a32;
  letter-spacing: 0.01em;
}
.coming-soon-page {
  /* Réseaux sociaux */
}
.coming-soon-page .cs-socials {
  margin-top: var(--gap-md);
  display: flex;
  gap: var(--gap-sm);
  justify-content: flex-start;
}
.coming-soon-page .cs-social-link {
  width: 60px;
  height: 60px;
  border-radius: 50%;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  background: transparent;
  overflow: hidden;
  transition: transform 0.15s ease-out, background 0.15s ease-out;
}
.coming-soon-page .cs-social-link .cs-social-svg {
  display: inline-flex;
  justify-content: center;
  stroke: rgb(0, 0, 0);
  fill: rgb(0, 0, 0);
  transition: transform 0.15s ease-out, fill 0.15s ease-out;
}
.coming-soon-page .cs-social-link img,
.coming-soon-page .cs-social-link svg {
  max-width: 65%;
  width: 65%;
  height: auto;
  display: block;
}
.coming-soon-page {
  /* Hover spécial pour le 1er enfant (Instagram) */
}
.coming-soon-page .cs-socials .cs-social-link:nth-child(1):hover {
  background: radial-gradient(circle at 30% 20%, rgba(237, 214, 166, 0.92) 0%, rgba(222, 167, 135, 0.97) 25%, rgba(240, 138, 91, 0.98) 55%, rgba(212, 90, 145, 0.98) 82%, rgba(122, 86, 197, 0.95) 100%);
}
.coming-soon-page .cs-socials .cs-social-link:nth-child(1):hover svg {
  fill: rgb(255, 255, 255);
  stroke: rgb(255, 255, 255);
}
.coming-soon-page {
  /* Hover spécial pour le 2ème enfant (TikTok) */
}
.coming-soon-page .cs-socials .cs-social-link:nth-child(2):hover {
  background: rgb(0, 0, 0);
}
.coming-soon-page .cs-socials .cs-social-link:nth-child(2):hover svg {
  fill: rgb(255, 255, 255);
  stroke: rgb(255, 255, 255);
}
.coming-soon-page {
  /* Hover spécial pour le 3ème enfant (Email) */
}
.coming-soon-page .cs-socials .cs-social-link:nth-child(3):hover {
  background: rgba(210, 182, 138, 0.7);
}
.coming-soon-page .cs-socials .cs-social-link:nth-child(3):hover svg {
  fill: rgb(255, 255, 255);
  stroke: rgb(255, 255, 255);
}
.coming-soon-page {
  /* Citation / carrousel */
}
.coming-soon-page .cs-quote-carousel {
  position: relative;
  min-height: 4rem;
  /* on cache le carrousel tant que JS n'a pas fini l'init */
  opacity: 0;
  visibility: hidden;
}
.coming-soon-page .cs-quote-carousel.is-ready {
  opacity: 1;
  visibility: visible;
  transition: opacity 0.3s ease-out;
}
.coming-soon-page .cs-quote-slide {
  position: absolute;
  inset: 0;
  opacity: 0;
  pointer-events: none;
  text-align: center;
  transition: opacity 0.6s ease-out;
  padding-inline: var(--gap-md);
}
.coming-soon-page .cs-quote-slide.is-active {
  opacity: 1;
  pointer-events: auto;
  position: relative;
}
.coming-soon-page .cs-quote {
  font-style: italic;
  font-family: var(--font-serif);
  font-size: 1rem;
  line-height: 1.5;
}
.coming-soon-page .cs-quote-author {
  margin-top: 0.35rem;
  font-weight: 600;
  font-family: var(--font-ui);
}
.coming-soon-page {
  /* Mentions légales | Politique de confidentialité */
}
.coming-soon-page .cs-legal-row {
  text-align: center;
  font-size: 0.75rem;
  text-transform: uppercase;
  margin-top: 60px;
}
.coming-soon-page .cs-legal-link {
  text-decoration: none;
  letter-spacing: 0.5px;
  color: var(--color-primary-1, #1A1A1A);
}
.coming-soon-page .cs-legal-link:hover {
  text-decoration: underline;
  color: var(--color-alert, #70161B);
}
.coming-soon-page .cs-legal-separator {
  display: inline-block;
  margin: 0 10px; /* 10px à gauche et à droite */
}
.coming-soon-page .sr-only {
  position: absolute;
  width: 1px;
  height: 1px;
  padding: 0;
  margin: -1px;
  overflow: hidden;
  clip: rect(0, 0, 0, 0);
  border: 0;
}
.coming-soon-page {
  /* --------- Breakpoints du framework --------- */
  /* À partir de laptop : vraie disposition 2 colonnes + alignement icônes */
}
@media (min-width: 1025px) {
  .coming-soon-page .cs-logo-col {
    margin-bottom: 0;
    display: flex;
    align-items: center;
    justify-content: center;
  }
  .coming-soon-page .cs-main-row {
    margin-top: 3vh;
  }
  .coming-soon-page .cs-content-col {
    height: 100%;
    display: flex;
    flex-direction: column;
    justify-content: space-between;
    margin-bottom: inherit;
  }
  .coming-soon-page .cs-socials {
    justify-content: flex-end;
  }
}

/* pages/_legals_pages.scss */
.wara-legal-link {
  text-decoration: none !important;
  letter-spacing: 0.5px;
  text-transform: uppercase;
  color: var(--color-primary-1, #1A1A1A);
}

.wara-legal-link:hover {
  text-decoration: underline !important;
  color: var(--color-alert, #70161B);
}

#ast-scroll-top {
  background-color: var(--color-secondary-2, #B7B7B7) !important;
  font-size: 15px;
}

.wp-block-heading {
  margin-top: 50px;
}

/*# sourceMappingURL=main.css.map */
