/* 
Theme Name: Hello Elementor Child
Template: hello-elementor
*/

/* 
Fonts 
*/

#view-switch-grid {
    display: block!important;
}

/* Theme Base (Headings) */
@font-face {
  font-family:'Himneu-VF'; /* 79kb */
  src: url('fonts/Himneu-VF.ttf') format('ttf');
  font-weight: 100 900;
  font-stretch: 50% 150%;
  font-style: normal;
  font-display: swap;
}
/* Theme Base (text) */
@font-face {
  font-family:'Geist-VF'; /* 168kb */
  src: url('fonts/Geist-VF.ttf') format('ttf');
  font-weight: 100 900;
  font-stretch: 50% 150%;
  font-style: normal;
  font-display: swap;
}

/* 68e Congrès */
@font-face {
  font-family:'LeagueGothic-VF'; /* 65kb */
  src: url('fonts/LeagueGothic-VF.ttf') format('ttf');
  font-weight: 100 900;
  font-stretch: 50% 150%;
  font-style: normal;
  font-display: swap;
}

/* TEST FONTS */
@font-face {
  font-family:'InterTight-VF';  /* 580kb */
  src: url('fonts/InterTight-VF.ttf') format('ttf');
  font-weight: 100 900;
  font-stretch: 50% 150%;
  font-style: normal;
  font-display: swap;
}
@font-face {
  font-family:'GoogleSansFlex-VF'; /* 4153kb */
  src: url('fonts/GoogleSansFlex-VF.ttf') format('ttf');
  font-weight: 100 900;
  font-stretch: 50% 150%;
  font-style: normal;
  font-display: swap;
}
@font-face {
  font-family:'Manrope-VF'; /* 167kb */
  src: url('fonts/Manrope-VF.ttf') format('ttf');
  font-weight: 100 900;
  font-stretch: 50% 150%;
  font-style: normal;
  font-display: swap;
}
@font-face {
  font-family:'Robout-VF'; /* 76kb */
  src: url('fonts/Robout-VF.ttf') format('ttf');
  font-weight: 100 900;
  font-stretch: 50% 150%;
  font-style: normal;
  font-display: swap;
}

@font-face {
  font-family:'Mulish-VF'; /* 210kb */
  src: url('fonts/Mulish-VF.ttf') format('ttf');
  font-weight: 100 900;
  font-stretch: 50% 150%;
  font-style: normal;
  font-display: swap;
}
@font-face {
  font-family:'InstrumentSans-VF'; /* 193kb */
  src: url('fonts/InstrumentSans-VF.ttf') format('ttf');
  font-weight: 100 900;
  font-stretch: 50% 150%;
  font-style: normal;
  font-display: swap;
}
@font-face {
  font-family:'DMSans-VF'; /* 238kb */
  src: url('fonts/DMSans-VF.ttf') format('ttf');
  font-weight: 100 900;
  font-stretch: 50% 150%;
  font-style: normal;
  font-display: swap;
}
@font-face {
  font-family:'Akt-VF'; /* 357kb */
  src: url('fonts/Akt-VF.ttf') format('ttf');
  font-weight: 100 900;
  font-stretch: 50% 150%;
  font-style: normal;
  font-display: swap;
}
@font-face {
  font-family:'ReadexPro-VF'; /* 276kb */
  src: url('fonts/ReadexPro-VF.ttf') format('ttf'); 
  font-weight: 100 900;
  font-stretch: 50% 150%;
  font-style: normal;
  font-display: swap;
}



/* Global Tokens */
:root {

	/* Font families 
	--font-main: 'Helvetica Neue', Arial, sans-serif;
	--font-code: 'Courier New', monospace;
	*/

	/* Fonts Sizes */
	--step--1: clamp(0.875rem, 0.85rem + 0.15vw, 1rem);
	--step-0: clamp(1rem, 0.95rem + 0.25vw, 1.125rem);
	--step-1: clamp(1.125rem, 1.05rem + 0.35vw, 1.35rem);
	--step-2: clamp(1.25rem, 1.1rem + 0.5vw, 1.6rem);
	--step-3: clamp(1.5rem, 1.3rem + 0.9vw, 2.6rem);
	--step-4: clamp(1.75rem, 1.25rem + 1.4vw, 3rem);
	--step-5: clamp(2rem, 1.4rem + 2vw, 3.25rem);

	/* Colors */
	--primary-color: ;
	--color-accent: oklch(67.27% 0.161 28.43); /* Corail (Salmon Red) [2026] #e8695b */
	--color-bg-pale: oklch(20.25% 0.010 285.48); /* Dark Main (Black Russian) [2026] #16161B */
	--color-bg-dark:  oklch(95.78% 0.005 95.10); /* #F2F1ED */
	--color-bg-dark-elevated:o klch(26.34% 0.029 272.74); /* Dark Elevated (Deep Indigo-Blue) [2026] #202433 */
	--color-pale-on-dark: oklch(95.78% 0.005 95.10); /* #F2F1ED */
	--color-pale-on-accent: oklch(97.89% 0.003 264.54); /*#F7F8FA */
	--color-text: oklch(18.74% 0.013 270.66); /* Dark Text (Void Midnight Blue) [2026] #111319  */

	/* Congrès 2026 */
	--color-congres68-blue: oklch(41.77% 0.133 275.86); /* CSN Indigo (Deep Cobalt Blue) [Congrès 2026] #3B4193 */
	--color-congres68-green-dark: oklch(65.96% 0.046 199.80); /* CSN Bleu Sauge (Light Sea Green) [Congrès 2026] #719B9D */
	--color-congres68-green-pale-1: oklch(84.00% 0.030 113.35); /* CSN Vert Sauge [Congrès 2026] #CACDB7 */
	--color-congres68-green-pale-2: oklch(86.32% 0.030 109.13); /* CSN Tidepool (Grayish-Yellow) [2026] #D3D4BE */

	/* Layout */
	--container: min(100% - 2rem, 1200px);
	--container-wide: min(100% - 2rem, 1440px);
	--content: min(100% - 2rem, 760px);

	/* Fluid spacing */
	--space-xs: clamp(0.5rem, 0.4rem + 0.3vw, 0.75rem);
	--space-sm: clamp(0.75rem, 0.6rem + 0.5vw, 1rem);
	--space-md: clamp(1.25rem, 1rem + 1vw, 2rem);
	--space-lg: clamp(2rem, 1.5rem + 2vw, 4rem);
	--space-xl: clamp(3rem, 2rem + 4vw, 7rem);

	/* Radius */
	--radius-sm: 0.5rem;
	--radius-md: 1rem;
	--radius-lg: 1.5rem;

	/* Type */
	--text-sm: clamp(0.875rem, 0.85rem + 0.15vw, 1rem);
	--text-md: clamp(1rem, 0.95rem + 0.25vw, 1.125rem);
	--text-lg: clamp(1.125rem, 1.05rem + 0.35vw, 1.35rem);
}

body {
  /*font-size: var(--step-0);
  line-height: 1.6;
  background-color: var(--color-bg-pale);
  color: var(--color-text);    */
  }

p {
  /*font-size: var(--step-0);*/
  line-height: 1.65;
  max-width: 68ch;
}

h1 {
  font-size: var(--step-5);
  line-height: 1.05;
  letter-spacing: -0.035em;
}

h2 {
  font-size: var(--step-4);
  line-height: 1.1;
  letter-spacing: -0.03em;
}

h3 {
  font-size: var(--step-3);
  line-height: 1.15;
  letter-spacing: -0.025em;
}

h4 {
  font-size: var(--step-2);
  line-height: 1.2;
  letter-spacing: -0.015em;
}

h5 {
  font-size: var(--step-1);
  line-height: 1.25;
  letter-spacing: -0.01em;
}

h6 {
  font-size: var(--step--1);
  line-height: 1.3;
  letter-spacing: 0.04em;
  text-transform: uppercase;
}


h1, h2, h3, h4, h5, h6 {
  margin-block: 0 0.5em;
  font-weight: 700;
}


/* Didomi banner */
.didomi-notice-text p{
	max-width: 200ch;
	font-size: 0.8rem;
	line-height: 0.8lh;
}

/* Elementor-friendly polish classes */
.card {
  padding: var(--space-md);
  border-radius: var(--radius-lg);
  background: #fff;
  box-shadow: 0 1rem 3rem rgb(0 0 0 / 0.08);
}

.pill {
  border-radius: 999px;
}

.full-bleed {
  width: 100vw;
  margin-inline: calc(50% - 50vw);
}

.hide-mobile {
  display: initial;
}

.show-mobile {
  display: none;
}

@media (max-width: 767px) {
  .hide-mobile {
    display: none!important;
  }

  .show-mobile {
    display: initial;
  }
}

/*
Container helpers
Add these classes to Elementor containers.

.container {
  width: var(--container);
  margin-inline: auto;
}

.container-wide {
  width: var(--container-wide);
  margin-inline: auto;
}

.content {
  width: var(--content);
  margin-inline: auto;
}
*/

/* 
Stack Spacing
Use it on a parent container. Children space themselves without clicking through 97 Elementor panels.
*/

.stack > * + * {
  margin-block-start: var(--space-md);
}

.stack-sm > * + * {
  margin-block-start: var(--space-sm);
}

.stack-lg > * + * {
  margin-block-start: var(--space-lg);
}

/* 
Section spacing helpers
Instead of manually setting padding on every Elementor section 

.section {
  padding-block: var(--space-xl);
}

.section-sm {
  padding-block: var(--space-lg);
}

.section-tight {
  padding-block: var(--space-md);
}

.section-zero {
  padding-block: 0;
}
*/


/*
Flex layout utilities
*/

/* Flex rows 
.flex-row {
  display: flex;
  gap: var(--space-md);
}

.flex-row-wrap {
  display: flex;
  flex-wrap: wrap;
  gap: var(--space-md);
}
*/

/* Flex columns 
.flex-col {
  display: flex;
  flex-direction: column;
  gap: var(--space-md);
}

.flex-col-sm {
  display: flex;
  flex-direction: column;
  gap: var(--space-sm);
}

.flex-col-lg {
  display: flex;
  flex-direction: column;
  gap: var(--space-lg);
}
*/

/* Common alignment */
.center {
  display: flex;
  align-items: center;
  justify-content: center;
}

.between {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: var(--space-md);
}

.cluster {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: var(--space-sm);
}

/* Responsive flex columns 
.flex-2 > * {
  flex: 1 1 min(100%, 28rem);
}

.flex-3 > * {
  flex: 1 1 min(100%, 20rem);
}

.flex-4 > * {
  flex: 1 1 min(100%, 15rem);
}

*/

/* Mobile stack 
@media (max-width: 767px) {
  .flex-row,
  .between {
    flex-direction: column;
    align-items: stretch;
  }
}

.equal-children > * {
  flex: 1;
}

*/

/* “don’t get weirdly skinny” columns 
.flex-safe > * {
  min-width: 0;
}*/