/*
 Theme Name:   Bricks Child Theme
 Theme URI:    https://bricksbuilder.io/
 Description:  Use this child theme to extend Bricks.
 Author:       Bricks
 Author URI:   https://bricksbuilder.io/
 Template:     bricks
 Version:      1.1
 Text Domain:  bricks
*/




/*
 * UNIVERSAL FLUID CSS FRAMEWORK v1.0
 * ==========================================================================
 * Un système de design fluide basé sur clamp() pour la typographie et l'espacement.
 * Conçu pour être utilisé avec WordPress et Bricks Builder.
 *
 * Configuration personnalisée:
 * - 1rem = 10px
 * - Viewport Min: 320px | Viewport Max: 1280px
 * - Typographie de titrage: 'Playfair Display', serif
 * - Typographie courante: 'Montserrat', sans-serif
 *
 * Générateurs recommandés :
 * - Typographie : https://utopia.fyi/type/calculator/
 * - Espacement : https://utopia.fyi/space/calculator/
 *
 * Instructions pour Bricks Builder :
 * 1. Placez ce code dans le style.css de votre thème enfant ou enfilez-le comme première feuille de style.
 * 2. Dans Bricks > Settings > Theme Styles, créez un thème et assignez-le à "Entire Website".
 * 3. Dans l'éditeur Bricks, ouvrez le Global Variables Manager (CMD/CTRL +.).
 * 4. Cliquez sur "Import" et collez UNIQUEMENT les noms des variables SANS les deux-points
 *    (ex: --fs-0) pour les enregistrer dans le picker sans surcharger les valeurs.
 * 5. Organisez les variables importées en catégories (Typographie, Espacement).
 * ==========================================================================
 */

/* ==========================================================================
   0. RESET CSS (Normalize.css v8.0.1)
   ========================================================================== */
/*! normalize.css v8.0.1 | MIT License | github.com/necolas/normalize.css *//*html{line-height:1.15;-webkit-text-size-adjust:100%}body{margin:0}main{display:block}h1{font-size:2em;margin:.67em 0}hr{box-sizing:content-box;height:0;overflow:visible}pre{font-family:monospace,monospace;font-size:1em}a{background-color:transparent}abbr[title]{border-bottom:none;text-decoration:underline;text-decoration:underline dotted}b,strong{font-weight:bolder}code,kbd,samp{font-family:monospace,monospace;font-size:1em}small{font-size:80%}sub,sup{font-size:75%;line-height:0;position:relative;vertical-align:baseline}sub{bottom:-.25em}sup{top:-.5em}img{border-style:none}button,input,optgroup,select,textarea{font-family:inherit;font-size:100%;line-height:1.15;margin:0}button,input{overflow:visible}button,select{text-transform:none}[type=button],[type=reset],[type=submit]{-webkit-appearance:button}[type=button]::-moz-focus-inner,[type=reset]::-moz-focus-inner,[type=submit]::-moz-focus-inner{border-style:none;padding:0}[type=button]:-moz-focusring,[type=reset]:-moz-focusring,[type=submit]:-moz-focusring{outline:1px dotted ButtonText}fieldset{padding:.35em.75em.625em}legend{box-sizing:border-box;color:inherit;display:table;max-width:100%;padding:0;white-space:normal}progress{vertical-align:baseline}textarea{overflow:auto}[type=checkbox],[type=radio]{box-sizing:border-box;padding:0}[type=number]::-webkit-inner-spin-button,[type=number]::-webkit-outer-spin-button{height:auto}[type=search]{-webkit-appearance:textfield;outline-offset:-2px}[type=search]::-webkit-search-decoration,[type=search]::-webkit-search-cancel-button{-webkit-appearance:none}::-webkit-file-upload-button{-webkit-appearance:button;font:inherit}details{display:block}summary{display:list-item}template{display:none}[hidden]{display:none}*/

/* ========================================================================
   1. SYSTEME DE TYPOGRAPHIE FLUIDE
   ======================================================================== */
:root {
  /* Configuration: vp(320-1280px), base(16-20px), scale(1.25) */
  --fs--2: clamp(1.024rem, 1.024rem + 0vw, 1.024rem);
  --fs--1: clamp(1.28rem, 1.229rem + 0.153vw, 1.6rem);
  --fs-0: clamp(1.6rem, 1.536rem + 0.192vw, 2rem);
  --fs-1: clamp(2rem, 1.92rem + 0.24vw, 2.5rem);
  --fs-2: clamp(2.5rem, 2.4rem + 0.3vw, 3.125rem);
  --fs-3: clamp(3.125rem, 3.0rem + 0.375vw, 3.90625rem);
  --fs-4: clamp(3.90625rem, 3.75rem + 0.46875vw, 4.8828125rem);
  --fs-5: clamp(4.8828125rem, 4.6875rem + 0.5859375vw, 6.103515625rem);

   /* ========================================================================
      2. SYSTEME D'ESPACEMENT FLUIDE
      ======================================================================== */
   /* Configuration: Basé sur le système typographique ci-dessus */
   /* --- Espaces à valeur unique (T-Shirt Sizes) --- */
   --space-3xs: clamp(0.5rem, 0.5rem + 0vw, 0.5rem);
   --space-2xs: clamp(0.8rem, 0.769rem + 0.096vw, 1rem);
   --space-xs: clamp(1.2rem, 1.154rem + 0.144vw, 1.5rem);
   --space-s: clamp(1.6rem, 1.536rem + 0.192vw, 2rem);
   --space-m: clamp(2.4rem, 2.308rem + 0.288vw, 3rem);
   --space-l: clamp(3.2rem, 3.077rem + 0.385vw, 4rem);
   --space-xl: clamp(4.8rem, 4.615rem + 0.577vw, 6rem);
   --space-2xl: clamp(6.4rem, 6.154rem + 0.769vw, 8rem);
   --space-3xl: clamp(9.6rem, 9.231rem + 1.154vw, 12rem);

   /* --- Espaces composites (One-up pairs) --- */
   --space-xs-s: clamp(1.2rem, 1.154rem + 0.144vw, 2rem);
   --space-s-m: clamp(1.6rem, 1.536rem + 0.192vw, 3rem);
   --space-m-l: clamp(2.4rem, 2.308rem + 0.288vw, 4rem);
   --space-l-xl: clamp(3.2rem, 3.077rem + 0.385vw, 6rem);
   --space-xl-2xl: clamp(4.8rem, 4.615rem + 0.577vw, 8rem);
   --space-2xl-3xl: clamp(6.4rem, 6.154rem + 0.769vw, 12rem);
}

/* Typographie */
html {
  /* Définit la base de 1rem à 10px pour faciliter les calculs */
  font-size: 62.5%;
}
body {
  font-family: 'Montserrat', sans-serif;
}

h1, h2, h3, h4, h5, h6 {
  font-family: 'Playfair Display', serif;
}

/* ==========================================================================
   3. STYLES DE BASE OPTIONNELS POUR LES MISES EN PAGE FLUIDES
   ========================================================================== */
/* Conteneur de contenu principal pour une lisibilité optimale */
.vf-content-wrapper {
  width: clamp(45ch, 80%, 75ch); /* Ajusté pour être un peu plus large sur mobile */
  margin-left: auto;
  margin-right: auto;
}

/* Grille de cartes intrinsèquement responsive */
.responsive-card-grid {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(clamp(30rem, 25rem + 15.625vw, 45rem), 1fr));
  gap: var(--space-s-m);
}

/* Colonnes de section dynamiques */
.section-columns {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(clamp(32rem, 24rem + 25vw, 56rem), 1fr));
  gap: var(--space-l);
}






/*
 * UNIVERSAL FLUID CSS FRAMEWORK v1.0
 * ==========================================================================
 * 
 *  END
 *
 * ==========================================================================
 */
























html {
  font-size: 16px;
}
body {
	font-family: 'Inter', sans-serif;
	--primary-color: #10B981; /* emerald-600 */
	--secondary-color: #34D399; /* emerald-400 */
	--accent-color: #A3E635; /* lime-400 */
	--light-bg: #F0FDF4; /* emerald-50 */
	--dark-text: #065F46; /* emerald-800 */
	--primary-dark: #065F46; /* emerald-800 */
	--text-color: #374151; /* gray-700 */
}
h1, h2, h3, h4 {
	font-family: 'Playfair Display', serif;
	color: var(--dark-text);
}
h1, h2, h3, h4, h5, h6 {
	font-family: 'Playfair Display', serif;
	color: var(--primary-dark);
}
#brx-header {
  background-color: #ffffff;
}
.btn-primary {
	background-color: var(--primary-color);
	color: white;
	transition: background-color 0.3s ease;
}
.btn-primary:hover {
	background-color: var(--dark-text);
}
.icon-contact {
	width: 1.5rem;
	height: 1.5rem;
	margin-right: 0.75rem;
	color: var(--primary-color);
}


/*body {
	font-family: 'Inter', sans-serif;
}
h1, h2, h3 {
	font-family: 'Playfair Display', serif;
}*/
.hero-icon {
	width: 1.5rem;
	height: 1.5rem;
	display: inline-block;
	vertical-align: middle;
	margin-right: 0.5rem;
}
.value-card-icon {
	width: 2.5rem;
	height: 2.5rem;
}

blockquote {
    border-left-width: 0;
    padding: 0 0 0 0;
}
.max-w-4xl{
    max-width: 80rem;
}







.hero-section {
	background-image: url('https://placehold.co/1920x800/D1FAE5/065F46?text=Image+Nature+Inspirante'); /* Placeholder - Remplacez par une belle image */
	background-size: cover;
	background-position: center;
}
.btn {
	display: inline-block;
	padding: 0.75rem 1.5rem;
	border-radius: 0.5rem;
	font-weight: 600;
	transition: all 0.3s ease;
	text-align: center;
}
.btn-primary {
	background-color: var(--primary-color);
	color: white;
}
.btn-primary:hover {
	background-color: var(--primary-dark);
}
.btn-secondary {
	background-color: var(--accent-color);
	color: var(--primary-dark);
}
.btn-secondary:hover {
	background-color: #84CC16; /* lime-500 */
}
.section-icon {
	width: 3rem;
	height: 3rem;
	margin-bottom: 0.5rem;
	color: var(--primary-color);
}
.pillar-card, .program-card, .testimonial-card {
	background-color: white;
	border-radius: 0.75rem;
	padding: 1.5rem;
	box-shadow: 0 4px 6px -1px rgba(0,0,0,0.1), 0 2px 4px -1px rgba(0,0,0,0.06);
	transition: transform 0.3s ease, box-shadow 0.3s ease;
}
.pillar-card:hover, .program-card:hover, .testimonial-card:hover {
	transform: translateY(-5px);
	box-shadow: 0 10px 15px -3px rgba(0,0,0,0.1), 0 4px 6px -2px rgba(0,0,0,0.05);
}


        body {
            font-family: 'Inter', sans-serif;
            --primary-color: #10B981; /* emerald-600 */
            --primary-dark: #065F46; /* emerald-800 */
            --light-bg: #F0FDF4; /* emerald-50 */
            --text-color: #374151; /* gray-700 */
        }
        h1, h2, h3, h4, .font-playfair {
            font-family: 'Playfair Display', serif;
            color: var(--primary-dark);
        }
        .btn {
            display: inline-block;
            padding: 0.5rem 1rem;
            border-radius: 0.375rem; /* rounded-md */
            font-weight: 600;
            transition: all 0.3s ease;
            text-align: center;
        }
        .btn-primary {
            background-color: var(--primary-color);
            color: white;
        }
        .btn-primary:hover {
            background-color: var(--primary-dark);
        }
        .article-card {
            background-color: white;
            border-radius: 0.75rem; /* rounded-xl */
            box-shadow: 0 4px 6px -1px rgba(0,0,0,0.1), 0 2px 4px -1px rgba(0,0,0,0.06); /* shadow-lg */
            overflow: hidden;
            transition: transform 0.3s ease, box-shadow 0.3s ease;
        }
        .article-card:hover {
            transform: translateY(-5px);
            box-shadow: 0 10px 15px -3px rgba(0,0,0,0.1), 0 4px 6px -2px rgba(0,0,0,0.05); /* shadow-xl */
        }
        .tag {
            background-color: var(--light-bg);
            color: var(--primary-dark);
            padding: 0.25rem 0.75rem;
            border-radius: 9999px; /* rounded-full */
            font-size: 0.75rem; /* text-xs */
            font-weight: 500;
        }

        body {
            font-family: 'Inter', sans-serif;
            --primary-color: #10B981; /* emerald-600 */
            --primary-dark: #065F46; /* emerald-800 */
            --light-bg: #F0FDF4; /* emerald-50 */
            --text-color: #374151; /* gray-700 */
        }
        h1, h2, h3, h4, .font-playfair {
            font-family: 'Playfair Display', serif;
            color: var(--primary-dark);
        }
        .prose { /* Styles pour le contenu de l'article */
            color: var(--text-color);
        }
        .prose h2 { margin-top: 2em; margin-bottom: 1em; font-size: 1.875rem; /* text-3xl */ }
        .prose h3 { margin-top: 1.5em; margin-bottom: 0.75em; font-size: 1.5rem; /* text-2xl */ }
        .prose p { margin-bottom: 1.25em; line-height: 1.75; }
        .prose a { color: var(--primary-color); text-decoration: underline; }
        .prose a:hover { color: var(--primary-dark); }
        .prose ul, .prose ol { margin-left: 1.5em; margin-bottom: 1.25em; }
        .prose li { margin-bottom: 0.5em; }
        .prose blockquote {
            border-left: 4px solid var(--primary-color);
            padding-left: 1em;
            font-style: italic;
            color: #4B5563; /* gray-600 */
            margin: 1.5em 0;
        }
        .tag {
            background-color: var(--light-bg);
            color: var(--primary-dark);
            padding: 0.25rem 0.75rem;
            border-radius: 9999px; /* rounded-full */
            font-size: 0.75rem; /* text-xs */
            font-weight: 500;
            margin-right: 0.5rem;
            display: inline-block;
        }
        .btn {
            display: inline-block;
            padding: 0.5rem 1rem;
            border-radius: 0.375rem; /* rounded-md */
            font-weight: 600;
            transition: all 0.3s ease;
            text-align: center;
        }
        .btn-primary {
            background-color: var(--primary-color);
            color: white;
        }
        .btn-primary:hover {
            background-color: var(--primary-dark);
        }


        body {
            font-family: 'Inter', sans-serif;
            --primary-color: #10B981; /* emerald-600 */
            --primary-dark: #065F46; /* emerald-800 */
            --secondary-color-lime: #A3E635; /* lime-400 */
            --light-bg: #F0FDF4; /* emerald-50 */
            --text-color: #374151; /* gray-700 */
        }
        h1, h2, h3, h4, .font-playfair {
            font-family: 'Playfair Display', serif;
            color: var(--primary-dark);
        }
        .btn {
            display: inline-block;
            padding: 0.625rem 1.25rem; /* 10px 20px */
            border-radius: 0.5rem; /* rounded-lg */
            font-weight: 600;
            transition: all 0.3s ease;
            text-align: center;
        }
        .btn-primary {
            background-color: var(--primary-color);
            color: white;
        }
        .btn-primary:hover {
            background-color: var(--primary-dark);
        }
        .btn-secondary {
            background-color: var(--secondary-color-lime);
            color: var(--primary-dark);
        }
        .btn-secondary:hover {
            background-color: #84CC16; /* lime-500 adjusted */
        }
        .resource-card {
            background-color: white;
            border-radius: 0.75rem; /* rounded-xl */
            padding: 1.5rem; /* p-6 */
            box-shadow: 0 4px 6px -1px rgba(0,0,0,0.1), 0 2px 4px -1px rgba(0,0,0,0.06); /* shadow-lg */
            display: flex;
            flex-direction: column;
            align-items: center;
            text-align: center;
            transition: transform 0.3s ease, box-shadow 0.3s ease;
        }
        .resource-card:hover {
            transform: translateY(-5px);
            box-shadow: 0 10px 15px -3px rgba(0,0,0,0.1), 0 4px 6px -2px rgba(0,0,0,0.05); /* shadow-xl */
        }
        .resource-icon {
            width: 3.5rem; /* w-14 */
            height: 3.5rem; /* h-14 */
            margin-bottom: 1rem; /* mb-4 */
            color: var(--primary-color);
        }
        .tag {
            background-color: var(--light-bg);
            color: var(--primary-dark);
            padding: 0.25rem 0.75rem;
            border-radius: 9999px;
            font-size: 0.75rem;
            font-weight: 500;
        }


        body {
            font-family: 'Inter', sans-serif;
            --primary-color: #10B981; /* emerald-600 */
            --primary-dark: #065F46; /* emerald-800 */
            --secondary-color-lime: #A3E635; /* lime-400 */
            --secondary-color-emerald: #34D399; /* emerald-400 */
            --light-bg: #F0FDF4; /* emerald-50 */
            --text-color: #374151; /* gray-700 */
            --white-color: #FFFFFF;
        }
        h1, h2, h3, h4, .font-playfair {
            font-family: 'Playfair Display', serif;
            color: var(--primary-dark);
        }
        .btn {
            display: inline-block;
            padding: 0.75rem 1.5rem;
            border-radius: 0.5rem;
            font-weight: 600;
            transition: all 0.3s ease;
            text-align: center;
            text-decoration: none;
        }
        .btn-primary {
            background-color: var(--primary-color);
            color: var(--white-color);
        }
        .btn-primary:hover {
            background-color: var(--primary-dark);
        }
        .btn-secondary {
            background-color: var(--secondary-color-lime);
            color: var(--primary-dark);
        }
        .btn-secondary:hover {
            background-color: #84CC16; /* lime-500 adjusted */
        }
        .subscription-card {
            background-color: var(--white-color);
            border-radius: 0.75rem; /* rounded-xl */
            padding: 2rem; /* p-8 */
            box-shadow: 0 10px 15px -3px rgba(0,0,0,0.1), 0 4px 6px -2px rgba(0,0,0,0.05); /* shadow-xl */
            display: flex;
            flex-direction: column;
            height: 100%; /* For equal height cards in a grid */
        }
        .subscription-card.popular {
            border: 3px solid var(--primary-color);
            position: relative;
        }
        .popular-badge {
            position: absolute;
            top: -15px;
            left: 50%;
            transform: translateX(-50%);
            background-color: var(--primary-color);
            color: var(--white-color);
            padding: 0.25rem 0.75rem;
            border-radius: 9999px;
            font-size: 0.75rem;
            font-weight: 600;
        }
        .feature-list li {
            display: flex;
            align-items: flex-start; /* Changed from center to start for better text alignment */
            margin-bottom: 0.5rem; /* space-y-2 equivalent */
            font-size: 0.95rem; /* Slightly increased for readability */
        }
        .feature-icon {
            flex-shrink: 0;
            width: 1.25rem; /* w-5 */
            height: 1.25rem; /* h-5 */
            margin-right: 0.75rem; /* mr-3 */
            color: var(--primary-color);
        }

/* CGV */
        /* Définition de la nouvelle charte graphique */
        body {
            font-family: 'Montserrat', sans-serif;
            --olive-green: #3a5f0b;
            --baby-blue: #a1caf1;
            --beige-bg: #f3e9d8;
            --peach-accent: #f5a66a;
            --charcoal-text: #36454f;
            --linen-bg: #faf0e6;
            --white-color: #FFFFFF;
        }
        h1, h2, h3, h4, .font-playfair {
            font-family: 'Playfair Display', serif;
            color: var(--olive-green);
        }
        .prose h2 {
            font-size: 1.5rem; /* text-2xl */
            margin-top: 2rem;
            margin-bottom: 1rem;
            padding-bottom: 0.5rem;
            border-bottom: 2px solid var(--beige-bg);
        }
        .prose h3 {
            font-size: 1.25rem; /* text-xl */
            margin-top: 1.5rem;
            margin-bottom: 0.75rem;
        }
        .prose p, .prose li {
            color: var(--charcoal-text);
            line-height: 1.75;
        }
        .prose a {
            color: var(--olive-green);
            font-weight: 600;
            text-decoration: none;
        }
        .prose a:hover {
            text-decoration: underline;
        }
        .info-box {
            background-color: var(--beige-bg);
            border-left: 4px solid var(--peach-accent);
            padding: 1rem 1.5rem;
            margin: 1.5rem 0;
            border-radius: 0 0.5rem 0.5rem 0;
        }
        .info-box p {
            font-size: 0.95rem;
        }
.cgv {
  background-color: #faf0e6;
}
.cgv h1, h2, h3 {
  color: #3a5f0b;
  font-weight: 600 !important;
}


/*#
#
#
# PRE PROD
#
#
#*/


.mute {
  display: none !important;
}




/*#
#
#
# GLOBAL
#
#
#*/
p, h1, h2, h3, h4, em {
	-webkit-hyphens: auto; /* Pour Safari */
	-ms-hyphens: auto;    /* Pour Internet Explorer */
	hyphens: auto;
	word-break: break-word;
	overflow-wrap: break-word;
}


/*#
#
#
# HEADER - GLOBAL
#
#
#*/
@media screen and (max-width: 991px) {
	#header-global .header-global__content {
		flex-direction: column;
	}
	#header-global .header-global__content div:nth-child(2) {
		border-top: 1px solid #c6c6c665;
		padding-top: 1rem;
	}
	#header-global .header-global__content div:nth-child(2) li:nth-child(1) {
		margin-left: 0;
	}
}
@media screen and (max-width: 500px) {
	
	#header-global #brxe-zphbuu {
		border: 1px solid #c6c6c665;
		border-radius: 0.15rem;
		padding: 1rem;

	}
	#header-global .header-global__content {
		justify-content: center;
	}
	#header-global .header-global__content div:nth-child(1) {
		max-width: initial;
		width: 100%;
	}
}





/*#
#
#
# FOOTER - GLOBAL
#
#
#*/
#menu-footer {
	gap: 4rem;
}
#menu-footer li {
	margin: 0;
}
#footer-global #brxe-puhezs {
	width: 120rem;	
}
@media screen and (max-width: 730px) {
	#footer-global #brxe-puhezs {
		justify-content: center;		
	}
	#footer-global #brxe-puhezs div:nth-child(1) {
		width: 100%;
	}
	#footer-global #brxe-puhezs div:nth-child(1) svg {
		margin-right: auto;
		margin-left: auto;
	}
}

/*#
#
#
# BLOG
#
#
#*/

#pager-sm {
	display: none;
}
#pager-lg {
	display: block;
}

@media screen and (max-width: 760px) {
	#section-filters {
		gap: 2rem;
		justify-content: center;
		flex-direction: column;
	}
	#section-filters #search-form input {
		width: 100%;
	}
}

@media screen and (max-width: 1250px) {
	.blog-page__posts {
		flex-wrap: wrap;
	}
	#pager-lg {
		display: none;
	}
	#pager-sm {
		display: block;
	}
	#aside-card {
		margin-top: 4rem;
	}
}



@media screen and (max-width: 1038px) {
	.legal-content__header #brxe-hwghcm, .legal-content__header #brxe-cxhxcg {
		border-right: 0;
	}
	#legal #brxe-dqpdqa {
		max-width: initial;
		width: 100%
	}
}









