/*
Theme Name: Giving Tuesday Theme
Theme URI: 
Author: Antigravity
Author URI: 
Description: Custom WordPress theme built for Giving Tuesday
Version: 1.0
Text Domain: givingtuesday
*/

/* ==========================================================================
   CSS Variables (REM System)
   ========================================================================== */
:root {
    /* Colors */
    --color-primary2: #003087;
    /* Navy Blue */
    --color-secondary2: #E31837;
    /* Red */
    --color-white: #ffffff;
    --color-light-gray: #f5f5f5;
    --color-text-dark: #1A1A1A;
    --color-text-light: #6B6966;

    /* Theme Dynamic Colors */
    --color-title: #1A1A1A;
    --color-paragraph: #6B6966;
    --color-btn-text: #FFFFFF;
    --color-btn-bg: #003087;
    --color-primary: #003087;
    --color-secondary: #E31837;
    --color-h5: #6B6966;

    /* Typography */
    --font-primary: 'Inter', sans-serif;

    /* Spacing (1rem = 10px) */
    --spacing-xs: 0.8rem;
    /* 8px */
    --spacing-sm: 1.6rem;
    /* 16px */
    --spacing-md: 3.2rem;
    /* 32px */
    --spacing-lg: 6.4rem;
    /* 64px */
    --spacing-xl: 12.8rem;
    /* 128px */
}

html {
    /* Base REM System: 1rem = 10px */
    font-size: 10px;
    scroll-behavior: smooth;
}







/* ==========================================================================
   Reset & Base
   ========================================================================== */
* {
    margin: 0;
    padding: 0;
    box-sizing: border-box;
}

body {
    font-family: var(--font-primary);
    color: var(--color-paragraph);
    line-height: 1.6;
    background-color: var(--color-white);
}

h1,
h2,
h3,
h6 {
    color: var(--color-title);
    margin-bottom: var(--spacing-sm);
    font-weight: 700;
}

h1 strong {
    color: var(--color-primary);
}

h2 {
    font-size: 3.6rem;
    letter-spacing: -0.1rem;
    margin-bottom: 1.2rem;
    font-weight: 900;
}

h4 {
    color: var(--color-secondary);
    margin-bottom: var(--spacing-sm);
    font-weight: 800;
    font-size: 1.6rem;
    line-height: 1.6rem;
    letter-spacing: 0.176rem;
    margin-bottom: 1.2rem;
    text-transform: uppercase;
}

h5 {
    font-size: 1.5rem;
    line-height: 1.5rem;
    color: var(--color-h5);
    margin-bottom: var(--spacing-sm);
    font-weight: 700;
}

p {
    color: var(--color-paragraph);
    margin-bottom: var(--spacing-sm);
    font-size: 1.6rem;
    line-height: 2.4rem;
}

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

a {
    text-decoration: none;
    color: var(--color-primary);
    transition: color 0.3s ease;
}

.container {
    width: 100%;
    max-width: 132rem;
    margin: 0 auto;
    padding: 0 var(--spacing-sm);
}

/* ==========================================================================
   Header
   ========================================================================== */

/* --- Brand Bar (top row) --- */
.header-brand-bar {
    background-color: var(--header-bg, #ffffff);
    border-bottom: 0.1rem solid rgba(0, 0, 0, 0.06);
    padding: 1rem 0;
    transition: padding 0.3s ease;
}

#site-header.is-scrolled .header-brand-bar {
    padding: 1rem 0;
}

header .container {
    max-width: 131.2rem;
}

header .header-nav-bar .container {
    padding-left: 0;
}

.header-brand-inner {
    display: flex;
    align-items: center;
    justify-content: space-between;
}

.header-logo-link {
    display: flex;
    align-items: center;
    gap: 1.2rem;
    text-decoration: none;
}

.header-logo-img {
    height: 2.8rem;
    width: auto;
    object-fit: contain;
}

.header-brand-text {
    display: flex;
    flex-direction: column;
    line-height: 1.1;
}

.header-site-name {
    font-size: 3.6rem;
    line-height: 4.4rem;
    font-weight: 700;
    color: var(--header-name-color, #E31837);
    letter-spacing: -0.036em;
    padding: 0.2rem 0.6rem;
    border-radius: 0.4rem;
    transition: color 0.3s ease, background-color 0.3s ease;
}



.header-tagline {
    font-size: 1.6rem;
    font-weight: 700;
    color: var(--header-tagline-color, #6B6966);
    letter-spacing: 0.25rem;
    text-transform: uppercase;
    margin-top: 0.3rem;
    padding: 0 0.6rem;
}

.header-icon-wrap {
    display: flex;
    align-items: center;
}

.header-icon-img {
    height: 7.2rem;
    width: auto;
}

.header-icon-svg {
    display: block;
}

/* --- Nav Bar (bottom row) --- */
.header-nav-bar {
    background-color: var(--header-nav-bg, #ffffff);
    border-bottom: 0.1rem solid rgba(0, 0, 0, 0.08);
}

.header-nav-inner {
    display: flex;
    align-items: center;
    justify-content: space-between;
    padding: 1.2rem 0;
}

/* Navigation links */
.header-nav-list {
    display: flex;
    align-items: center;
    list-style: none;
    padding: 0;
    margin: 0;
    gap: 0;
    flex: 1;
}

.header-nav-item {
    position: relative;
}

.header-nav-link {
    display: block;
    padding: 0 1.6rem;
    font-size: 1.3rem;
    font-weight: 500;
    color: var(--header-nav-text, #333333);
    text-decoration: none;
    transition: transform 0.2s ease, color 0.2s ease;
    white-space: nowrap;
}

.header-nav-link i {
    margin-left: 0.6rem;
}



.header-nav-link.active {
    color: var(--header-active-color, #003087);
    font-weight: 600;
}

.header-nav-link::after {
    content: '';
    transition: 0.6s ease;
}





/* Submenu / Dropdown Styling (Desktop) */
.header-nav-link {
    display: inline-flex;
    align-items: center;
    /* gap: 0.6rem; */
}

.submenu-indicator {
    font-size: 1rem;
    transition: transform 0.2s ease;
}



.header-submenu {
    position: absolute;
    top: 100%;
    left: 1.4rem;
    background-color: #ffffff;
    box-shadow: 0 0.8rem 2.4rem rgba(0, 0, 0, 0.08);
    border-radius: 0.6rem;
    padding: 1rem 0;
    list-style: none;
    min-width: 20rem;
    opacity: 0;
    visibility: hidden;
    transform: translateY(1rem);
    transition: opacity 0.2s ease, transform 0.2s ease, visibility 0.2s;
    z-index: 100;
}



.header-submenu-link {
    display: block;
    padding: 1rem 2rem;
    font-size: 1.3rem;
    font-weight: 500;
    color: var(--header-nav-text, #333333);
    text-decoration: none;
    transition: background-color 0.2s, color 0.2s;
}



/* CTA Button */
.header-cta-btn {
    display: inline-flex;
    align-items: center;
    gap: 0.8rem;
    padding: 0.965rem 2rem;
    background-color: var(--color-btn-bg);
    background-color: var(--header-cta-bg, #003087);
    color: var(--header-cta-text, #ffffff);
    font-size: 2rem;
    font-weight: 700;
    border-radius: 0.8rem;
    text-decoration: none;
    white-space: nowrap;
    flex-shrink: 0;
    transition: opacity 0.2s ease, transform 0.2s ease;
}



/* Hamburger (mobile) */
.header-hamburger {
    display: none;
    flex-direction: column;
    justify-content: center;
    gap: 1.2rem;
    background: none;
    border: none;
    cursor: pointer;
    padding: 1.2rem;
    margin-left: auto;
}

.header-hamburger span {
    display: block;
    width: 6rem;
    height: 0.6rem;
    background-color: var(--header-nav-text, #333333);
    border-radius: 0.4rem;
    transition: transform 0.3s ease, opacity 0.3s ease;
}

.header-hamburger.is-active span:nth-child(1) {
    transform: translateY(1.8rem) rotate(45deg);
}

.header-hamburger.is-active span:nth-child(2) {
    opacity: 0;
}

.header-hamburger.is-active span:nth-child(3) {
    transform: translateY(-1.8rem) rotate(-45deg);
}

/* Mobile nav drawer */
.header-mobile-nav {
    display: none;
    background-color: var(--header-nav-bg, #ffffff);
    border-top: 0.1rem solid rgba(0, 0, 0, 0.08);
    padding: 2rem 0 3rem;
    position: absolute;
    top: 100%;
    left: 0;
    right: 0;
    z-index: 100;
    box-shadow: 0 0.8rem 2rem rgba(0, 0, 0, 0.1);
    transform: translateY(-1rem);
    opacity: 0;
    pointer-events: none;
    transition: opacity 0.3s ease, transform 0.3s ease;
}

.header-mobile-nav.is-open {
    opacity: 1;
    transform: translateY(0);
    pointer-events: auto;
}

.header-mobile-nav-list {
    list-style: none;
    padding: 0;
    margin: 0 0 2rem;
}

.header-mobile-nav-link {
    display: block;
    padding: 1.6rem 3.2rem;
    font-size: 3rem;
    font-weight: 500;
    color: var(--header-nav-text, #333333);
    text-decoration: none;
    transition: color 0.2s ease, background-color 0.2s ease;
    flex: 1;
}



.mobile-nav-link-row {
    display: flex;
    align-items: center;
    border-bottom: 0.1rem solid rgba(0, 0, 0, 0.05);
}

.mobile-submenu-toggle {
    background: none;
    border: none;
    padding: 1.6rem 3.2rem;
    color: var(--header-nav-text, #333333);
    cursor: pointer;
    font-size: 3rem;
    display: flex;
    align-items: center;
    justify-content: center;
    border-left: 0.1rem solid rgba(0, 0, 0, 0.05);
    transition: transform 0.3s ease;
}

.mobile-submenu-toggle.is-active {
    transform: rotate(180deg);
}

.header-mobile-submenu {
    display: none;
    list-style: none;
    padding: 0;
    margin: 0;
    background-color: rgba(0, 0, 0, 0.02);
}

.header-mobile-submenu-link {
    display: block;
    padding: 1.2rem 4.8rem;
    font-size: 2.8rem;
    color: var(--header-nav-text, #555555);
    text-decoration: none;
    border-bottom: 0.1rem solid rgba(0, 0, 0, 0.03);
    transition: color 0.2s;
}



.header-cta-btn--mobile {
    margin: 2rem 3.2rem 0;
    font-size: 2.6rem;
    padding: 2rem 3.2rem;
    display: flex;
    justify-content: center;
}

/* Make header sticky */
#site-header {
    position: fixed;
    top: 0;
    z-index: 999;
    width: 100%;
}

main {
    padding-top: 22.5rem;
    padding-top: 20.5rem;
    /* background-color: #000; */
}

main.page-entreprises {
    padding-top: 10.5rem;
}

/* --- Header Responsive --- */


/* Buttons */
.btn {
    display: inline-block;
    padding: 1rem 2rem;
    font-weight: 600;
    border-radius: 4px;
    text-transform: uppercase;
    letter-spacing: 0.5px;
    transition: all 0.3s ease;
}

.btn-primary {
    background-color: var(--color-secondary2);
    color: var(--color-white);
}



/* ==========================================================================
   Blocks
   ========================================================================== */

/* Hero Block */
.block-hero {
    position: relative;
    display: flex;
    align-items: center;
    justify-content: center;
    color: var(--color-white, #ffffff);
    padding: 8rem 0 7.1rem 0;
    overflow: hidden;
    min-height: 55rem;
    background-color: #D3D3D3;
}

.block-hero::before {
    content: '';
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background-image: var(--hero-bg-img);
    background-size: contain;
    background-size: cover;
    background-position: center;
    background-repeat: no-repeat;
    /* opacity: 0.3; */
    z-index: 2;
}

/* .block-hero::after {
    content: '';
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background: linear-gradient(180deg, rgba(255, 255, 255, 1) 0%, rgba(255, 255, 255, 0) 24%, rgba(255, 255, 255, 0) 76%, rgba(255, 255, 255, 1) 100%);
    z-index: 4;
} */

.radial-hero {
    content: '';
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background: radial-gradient(circle at 75% center, rgba(255, 255, 255, 0) 50%, rgba(255, 255, 255, 0.62) 100%);
    background: radial-gradient(circle at 170% center, rgba(255, 255, 255, 0) 64%, rgba(255, 255, 255, 0.62) 75%);
    z-index: 3;
}

.solid-color-hero {
    content: '';
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background: #d3d3d3;
    z-index: 1;
    opacity: 1;
}

/* Container — centered vertical column */
.block-hero__container {
    position: relative;
    z-index: 10;
    width: 100%;
    max-width: 131.2rem;
    margin: 0 auto;
    padding: 0 var(--spacing-sm);
    padding: 0;
    display: flex;
    flex-direction: column;
    align-items: center;
    text-align: center;
}

/* Badge pill */
.block-hero__badge {
    display: inline-flex;
    align-items: center;
    gap: 0.6rem;
    padding: 0.8rem 2.4rem;
    background-color: #E6ECF5;
    /* backdrop-filter: blur(0.8rem); */
    /* border: 0.1rem solid rgba(230, 236, 245, 0.25); */
    box-shadow: 0 0.4rem 1.6rem rgba(0, 48, 135, 0.05);
    border-radius: 10rem;
    font-size: 1.6rem;
    font-weight: 700;
    color: var(--color-primary2);
    color: var(--color-primary);
    margin-bottom: 2.8rem;
}

/* Content center block */
.block-hero__content-center {
    display: flex;
    flex-direction: column;
    align-items: center;
    /* max-width: 80rem; */
    padding: 0 1rem;
}

/* Title — bold italic */
.block-hero__wysiwyg h1 {
    font-size: 5.62rem;
    font-weight: 900;
    line-height: 1.1;
    letter-spacing: -0.02em;
    margin-bottom: 2rem;
}

/* Subtitle paragraph */
.block-hero__wysiwyg p {
    font-size: 2.4rem;
    font-weight: 600;
    line-height: 3.06rem;
    margin-bottom: 4rem;
    color: #1A1A1A;
    text-shadow: 0 0 2rem rgba(255, 255, 255, 0.9);
    /* max-width: 65rem; */
}

/* CTA Star Button */
.block-hero__btn-wrap {
    /* margin-bottom: 6rem; */
}

.block-hero__cta {
    display: inline-flex;
    align-items: center;
    gap: 1rem;
    padding: 1.817rem 5rem;
    background-color: var(--color-btn-bg);
    color: #ffffff;
    font-size: 2.4rem;
    font-weight: 800;
    border-radius: 0.8rem;
    text-decoration: none;
    transition: opacity 0.2s ease, transform 0.2s ease, box-shadow 0.2s ease;
    box-shadow: 0 0.4rem 1.6rem rgba(0, 48, 135, 0.35);
}



/* Cards Section */
.block-hero__cards-section {
    width: 100%;
    padding: 6.4rem 0 0 0;
    position: relative;
}

.block-hero__cards-title {
    font-size: 2rem;
    font-weight: 500;
    color: #1A1A1A;
    margin-bottom: 2rem;
    text-align: center;
    padding: 0 1rem;
}

.block-hero__cards-grid {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 1.6rem;
}

/* Individual Card */
.hero-card {
    background: rgba(255, 255, 255, 0.92);
    backdrop-filter: blur(1.2rem);
    border: 0.1rem solid rgba(0, 0, 0, 0.06);
    border-radius: 1.2rem;
    padding: 2.4rem 2.05rem;
    text-align: left;
    transition: transform 0.2s ease, box-shadow 0.2s ease;
}



.hero-card__icon-box {
    width: 4.8rem;
    height: 4.8rem;
    /* background: rgba(0, 48, 135, 0.06); */
    /* border-radius: 1rem; */
    display: flex;
    align-items: center;
    justify-content: center;
    margin-bottom: 1.6rem;
}

.hero-card__icon {
    font-size: 2.2rem;
}

.hero-card__title {
    font-size: 1.6rem;
    font-weight: 800;
    color: #1a1a1a;
    margin-bottom: 0.73rem;
}

.hero-card__desc {
    font-size: 1.6rem;
    font-weight: 400;
    line-height: 2.01rem;
    margin-bottom: 0;
}

.hero-card__link {
    display: inline-flex;
    align-items: center;
    gap: 0.6rem;
    font-size: 1.6rem;
    font-weight: 700;
    color: var(--color-primary);
    text-decoration: none;
    transition: gap 0.2s ease;
    margin-top: 1.6rem;
}



/* Hero Responsive */


/* ==========================================================================
   Compteur Block
   ========================================================================== */
.block-compteur {
    background-color: var(--color-primary);
    width: 100%;
}

.block-compteur__container {
    width: 100%;
    max-width: 132rem;
    margin: 0 auto;
    padding: 0 var(--spacing-sm);
    display: grid;
    grid-template-columns: repeat(var(--cols-count, 4), 1fr);
    /* justify-items: center; */
    align-items: center;
}

.block-compteur__item {
    display: flex;
    flex-direction: column;
    align-items: center;
    text-align: center;
    padding: 3.2rem 2.4rem;
    position: relative;
}

.block-compteur__item+.block-compteur__item::before {
    content: '';
    position: absolute;
    left: 0;
    top: 0%;
    height: 100%;
    width: 0.1rem;
    background: rgba(255, 255, 255, 0.12);
}

.block-compteur__number {
    font-size: 3.6rem;
    font-weight: 900;
    color: var(--color-btn-text);
    line-height: 1;
    margin-bottom: 0.6rem;
    letter-spacing: -0.1rem;
    display: block;
}

.block-compteur__label {
    font-size: 1.68rem;
    font-weight: 500;
    color: rgba(255, 255, 255, 0.6);
    line-height: 1.68;
    display: block;
}

/* Compteur Responsive */


/* Services Block */
.block-services {
    padding: var(--spacing-lg) 0;
    background-color: var(--color-light-gray);
}

.block-services .section-title {
    text-align: center;
    font-size: 2.5rem;
    color: var(--color-primary2);
    margin-bottom: var(--spacing-lg);
}

.services-grid {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(300px, 1fr));
    gap: var(--spacing-md);
}

.service-card {
    background: var(--color-white);
    padding: var(--spacing-md);
    border-radius: 8px;
    box-shadow: 0 4px 6px rgba(0, 0, 0, 0.05);
    text-align: center;
    transition: transform 0.3s ease;
}



.service-card h3 {
    color: var(--color-primary2);
    margin-bottom: var(--spacing-sm);
}

/* Realisations Block */
.block-realisations {
    padding: var(--spacing-lg) 0;
}

.block-realisations .section-title {
    text-align: center;
    font-size: 2.5rem;
    color: var(--color-primary2);
    margin-bottom: var(--spacing-lg);
}

.realisations-grid {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(350px, 1fr));
    gap: var(--spacing-md);
}

.realisation-card {
    position: relative;
    border-radius: 8px;
    overflow: hidden;
    aspect-ratio: 4/3;
    background-color: #ddd;
}

.realisation-card .overlay {
    position: absolute;
    bottom: 0;
    left: 0;
    right: 0;
    background: linear-gradient(transparent, rgba(0, 51, 102, 0.9));
    padding: var(--spacing-md);
    color: var(--color-white);
}

.realisation-card h3 {
    font-size: 1.5rem;
    margin-bottom: 0;
}

/* CTA Block */
.block-cta {
    padding: var(--spacing-lg) 0;
    text-align: center;
    color: var(--color-white);
}

.block-cta h2 {
    font-size: 2.5rem;
    margin-bottom: var(--spacing-sm);
}

.block-cta p {
    font-size: 1.2rem;
    margin-bottom: var(--spacing-md);
}

/* Text Image Block */
.block-text-image {
    padding: var(--spacing-lg) 0;
}

.text-image-wrapper {
    display: flex;
    align-items: center;
    gap: var(--spacing-lg);
}

.text-image-wrapper.image-right {
    flex-direction: row-reverse;
}

.text-image-content {
    flex: 1;
}

.text-image-media {
    flex: 1;
    border-radius: 8px;
    overflow: hidden;
}

.text-image-content h2 {
    font-size: 2.5rem;
    color: var(--color-primary2);
    margin-bottom: var(--spacing-md);
}

/* ==========================================================================
   Footer
   ========================================================================== */

/* Footer Color Variables */
:root {
    --footer-bg: #1A1A1A;
    --footer-bottom-bg: #959A9F;
    --footer-text: #FFFFFF;
    --footer-icon-color: #2B353F;
    --footer-link-hover: rgba(255, 255, 255, 0.7);
    --footer-nav-gap: 2rem;
}

.site-footer {
    font-family: 'Inter', sans-serif;
}

/* -- Main Footer Area -- */
.footer-main {
    background-color: var(--footer-bg);
    padding: 5.6rem 0 6.1rem;
}

.footer-grid {
    display: flex;
    /* grid-template-columns: 1.6fr 1fr 1fr 1fr; */
    gap: 4rem;
    justify-content: center;
    /* align-items: start; */
}

/* -- Brand Column -- */
.footer-brand-logo {
    display: flex;
    align-items: center;
    gap: 1rem;
    margin-bottom: 1.6rem;
}

.footer-logo-img {
    width: 3.2rem;
    height: 3.2rem;
    object-fit: contain;
}

.footer-logo-icon {
    display: flex;
    align-items: center;
    justify-content: center;
    background-color: #E3000F;
    width: 3.8rem;
    height: 3.8rem;
    border-radius: 50%;
    flex-shrink: 0;
}

.footer-logo-icon svg {
    fill: #ffffff;
}

.footer-site-name {
    color: var(--footer-text);
    font-size: 1.5rem;
    font-weight: 700;
    letter-spacing: 0.01em;
}

.footer-description {
    color: var(--footer-text);
    font-size: 1.3rem;
    line-height: 2.08;
    margin-bottom: 1.6rem;
    opacity: 0.85;
    max-width: 49.7rem;
}

/* -- Social Icons -- */
.footer-social-list {
    display: flex;
    gap: 2.5rem;
    list-style: none;
    flex-wrap: wrap;
    padding: 0;
    margin: 0;
}

.footer-social.btn-primary {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    padding: 1.8rem 4rem;
    font-size: 2rem;
    font-weight: 600;
    color: var(--color-btn-text);
    background-color: var(--color-btn-bg);
    border-radius: 5rem;
    transition: transform 0.2s ease, box-shadow 0.2s ease;
}

.footer-social-link {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 6.2rem;
    height: 6.2rem;
    border-radius: 50%;
    background-color: #ffffff;
    color: var(--footer-icon-color);
    transition: background-color 0.3s ease, transform 0.2s ease;
}

.footer-social-link i {
    font-size: 3.5rem;
    color: var(--footer-icon-color);
    transition: color 0.3s ease;
}



/* -- Nav Columns -- */
.footer-nav-col {
    min-width: 23.433rem;
}

/* Accordion icon — hidden on desktop */
.accordion-icon {
    display: none;
}

.footer-nav-title {
    color: var(--footer-text);
    font-size: 1.4rem;
    font-weight: 700;
    letter-spacing: 0.12em;
    text-transform: uppercase;
    margin-bottom: 1.5rem;
}

.footer-nav-list {
    list-style: none;
    padding: 0;
    margin: 0;
    display: flex;
    flex-direction: column;
    gap: 1rem;
}

.footer-nav-list a {
    color: var(--footer-text);
    font-size: 1.3rem;
    font-weight: 400;
    opacity: 0.75;
    transition: opacity 0.2s ease;
    text-decoration: none;
}



/* -- Bottom Bar -- */
.footer-bottom {
    background-color: var(--footer-bottom-bg);
    padding: 1rem 0;
}

.footer-main .container {
    padding: 0;

}

.footer-bottom .container {
    display: flex;
    align-items: center;
    justify-content: space-between;
    padding: 0;
}

.footer-copyright,
.footer-hashtag {
    color: #444444;
    font-size: 1.2rem;
    font-weight: 400;
}

/* -- Responsive -- */


/*  */
#wpadminbar {
    display: none;
}

html {
    margin-top: 0 !important;
}

/* Carrousel Logos Block */
.block-carrousel-logos {
    padding: 4rem 0;
    overflow: hidden;
    background: #ffffff;
    text-align: center;
}

.block-carrousel-logos__container {
    /* max-width: 120rem; */
    margin: 0 auto;
    padding: 0 var(--spacing-sm);
}

.block-carrousel-logos__title {
    font-size: 1.6rem;
    color: var(--color-text-light, #333);
    margin-bottom: 2rem;
    text-transform: uppercase;
    font-weight: 700;
}

.block-carrousel-logos__slider {
    margin-bottom: var(--spacing-md);
    overflow: hidden;
    width: 100%;
    position: relative;
    display: flex;
}

.block-carrousel-logos__slider::before {
    content: '';
    position: absolute;
    width: 8rem;
    top: 0;
    left: 0;
    height: 100%;
    background: linear-gradient(90deg, rgba(255, 255, 255, 1) 0%, rgba(255, 255, 255, 0) 100%);
    z-index: 1;
}

.block-carrousel-logos__slider::after {
    content: '';
    position: absolute;
    width: 8rem;
    top: 0;
    right: 0;
    height: 100%;
    background: linear-gradient(90deg, rgba(255, 255, 255, 0) 0%, rgba(255, 255, 255, 1) 100%);
    z-index: 1;
}

.block-carrousel-logos__track {
    display: flex;
    width: max-content;
    animation: marquee 25s linear infinite;
}



.block-carrousel-logos__item {
    flex: 0 0 20rem;
    display: flex;
    justify-content: center;
    align-items: center;
    padding: 0 2rem;
}

.block-carrousel-logos__item img {
    max-width: 100%;
    height: auto;
    max-height: 8rem;
    object-fit: contain;
}

@keyframes marquee {
    0% {
        transform: translateX(0);
    }

    100% {
        /* Move by 1/3 of the track width since we duplicated it 3 times */
        transform: translateX(-33.33%);
    }
}

.block-carrousel-logos__link-wrap {
    margin-top: var(--spacing-md);
}

.block-carrousel-logos__link {
    font-weight: 700;
    color: var(--color-primary);
    text-decoration: none;
    font-size: 1.8rem;
    display: inline-flex;
    align-items: center;
    gap: 0.6rem;
    transition: gap 0.2s ease;
}

.block-carrousel-logos__link i {
    transition-duration: 0.3s;
}

.block-carrousel-logos__link-arrow {
    font-size: 2.2rem;
    transition: transform 0.2s ease;
}

.block-carrousel-logos__link:hover .block-carrousel-logos__link-arrow {
    transform: translateX(5px);
}



/* ==========================================================================
   Actions Grid Block
   ========================================================================== */
.block-actions-grid {
    background-color: var(--color-white);
    padding-bottom: 5.6rem;
}

/* Section Header */
.actions-grid-header {
    padding: 8rem 0;
    text-align: center;
}

.actions-section-badge {
    display: inline-block;
    font-size: 1.6rem;
    font-weight: 800;
    letter-spacing: 0.176rem;
    text-transform: uppercase;
    margin-bottom: 1.2rem;
}

.actions-section-title {
    font-size: 3.6rem;
    font-weight: 900;
    margin-bottom: 1.2rem;
    line-height: 1.1;
}

.actions-section-subtitle {
    font-size: 1.6rem;
    font-weight: 700;
    color: var(--color-title);
    margin-bottom: 2rem;
}

.actions-section-description {
    font-size: 1.6rem;
    margin-top: 1.2rem;
    margin-bottom: 0;
    color: var(--color-paragraph);
}

/* Profil Tabs */
.filter-profils {
    display: flex;
    justify-content: center;
    gap: 1.2rem;
    flex-wrap: wrap;
}

.profil-tab {
    background: transparent;
    border: 0.2rem solid #E0DED8;
    border-radius: 10rem;
    padding: 1rem 2.2rem;
    font-size: 1.6rem;
    line-height: 1.6rem;
    font-weight: 700;
    color: var(--color-paragraph);
    cursor: pointer;
    transition: all 0.25s ease;
}

.profil-tab.active {
    background: var(--color-primary2);
    border-color: var(--color-primary2);
    color: var(--color-white);
}



/* Filter Bar */
.actions-filter-bar-wrap {
    background-color: var(--color-white);
    /* border-top: 1px solid #eee; */
    border-bottom: 1px solid #E0DED8;
    padding: 1.5rem 0;
    margin-bottom: 3rem;
    position: sticky;
    top: 0;
    z-index: 100;
    box-shadow: 0 2px 8px rgba(0, 0, 0, 0.04);
    max-width: 144rem;
    margin: 0 auto 5.6rem auto;
    background-color: #F5F5F3;
}

.filter-bar {
    display: flex;
    align-items: center;
    gap: 1.5rem;
    flex-wrap: wrap;
}

.filter-bar-label {
    font-size: 1.5rem;
    font-weight: 600;
    color: var(--color-title);
    margin-right: 0.5rem;
    white-space: nowrap;
}

.filter-group {
    position: relative;
    flex: 0 0 auto;
}

.filter-select {
    appearance: none;
    -webkit-appearance: none;
    padding: 0.8rem 3.5rem 0.8rem 1.5rem;
    border: 1.5px solid #ddd;
    border-radius: 6px;
    font-size: 1.5rem;
    font-weight: 500;
    color: var(--color-title);
    background-color: var(--color-white);
    cursor: pointer;
    min-width: 160px;
    transition: border-color 0.2s ease;
}

.filter-select:focus {
    outline: none;
    border-color: var(--color-primary2);
}

.filter-chevron {
    position: absolute;
    right: 1.2rem;
    top: 50%;
    transform: translateY(-50%);
    font-size: 1.1rem;
    color: #888;
    pointer-events: none;
}

.filter-count {
    font-size: 1.6rem;
    font-weight: 500;
    color: var(--color-paragraph);
    margin-right: auto;
    white-space: nowrap;
}

.filter-reset {
    background: none;
    border: none;
    font-size: 1.6rem;
    color: var(--color-paragraph);
    text-decoration: underline;
    cursor: pointer;
    padding: 0;
    white-space: nowrap;
}

/* Results count line */
.actions-results-header {
    margin-bottom: 3.2rem;
}

.actions-results-count {
    font-size: 1.6rem;
    color: var(--color-paragraph);
}

/* Actions Grid */
.actions-loader {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background: rgba(255, 255, 255, 0.8);
    display: flex;
    justify-content: center;
    align-items: center;
    font-size: 3rem;
    color: var(--color-primary2);
    z-index: 10;
}

.actions-grid {
    margin-top: 2rem;
    transition: opacity 0.3s ease;
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 2.4rem;
}

/* Action Card */
.action-card-col {
    margin-bottom: 0.6rem;
}

.action-card {
    background: var(--color-white);
    border: 1px solid #E0DED8;
    border-radius: 1.6rem;
    overflow: hidden;
    box-shadow: 0 4px 12px rgba(0, 0, 0, 0.05);
    transition: transform 0.3s ease, box-shadow 0.3s ease;
    display: block;
}

.action-card:hover {
    transform: translateY(-5px);
    box-shadow: 0 12px 24px rgba(0, 0, 0, 0.1);
}

.action-card-image {
    position: relative;
    height: 16rem;
    overflow: hidden;
}

.action-card-image img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    transition: transform 0.3s ease;
}

.action-card:hover .action-card-image img {
    transform: scale(1.05);
}

.action-card-image .placeholder-bg {
    width: 100%;
    height: 100%;
    background-color: var(--color-light-gray);
}

.action-badges {
    position: absolute;
    top: 1.2rem;
    left: 1.2rem;
    display: flex;
    gap: 0.6rem;
    flex-wrap: wrap;
    z-index: 2;
}

.action-badge {
    /* background: var(--color-secondary2); */
    background-color: rgba(0, 0, 0, 0.45);
    color: var(--color-white);
    padding: 0.4rem 1rem;
    border-radius: 0.6rem;
    font-size: 1rem;
    font-weight: 800;
}

.badge-associations {
    background-color: #003087;
}

.badge-entreprises {
    background-color: #2E7D32;
}

.badge-citoyens {
    background-color: #E31837;
}

.badge-collectivites {
    background-color: #F2994A;
}

.action-card-body {
    padding: 2rem 2.2rem;
}

.action-meta {
    font-size: 1.2rem;
    font-weight: 500;
    display: flex;
    flex-wrap: wrap;
    gap: 1.6rem;
    margin-bottom: 1.6rem;
    min-height: 1.95rem;
}

.meta-item i {
    margin-right: 0.5rem;
}

.action-card-title {
    font-size: 1.7rem;
    font-weight: 800;
    margin-bottom: 0.8rem;
    /*  */
    display: -webkit-box;
    -webkit-line-clamp: 1;
    -webkit-box-orient: vertical;
    overflow: hidden;
    /* min-height: 5.5rem; */
}

.action-card-title a {
    color: var(--color-title);
    text-decoration: none;
    transition: color 0.3s ease;
    display: block;
}

.action-card-title a:hover {
    color: var(--color-primary2);
}

.action-card-excerpt {
    font-size: 1.3rem;
    margin-bottom: 1.6rem;
    display: -webkit-box;
    -webkit-line-clamp: 2;
    -webkit-box-orient: vertical;
    overflow: hidden;
    min-height: 4.3rem;
}

.action-card-footer .btn {
    border: 2px solid var(--color-btn-bg);
    background-color: var(--color-btn-bg);
    color: var(--color-btn-text);
    border-radius: 1rem;
    padding: 1rem 2rem;
    font-weight: 700;
    transition: all 0.3s ease;
    text-align: center;
    display: block;
    font-size: 1.4rem;
    text-decoration: none;
    text-transform: initial;
}

.action-card-footer .btn:hover {
    background: var(--color-primary2);
    color: var(--color-white);
}

/* Pagination */
.actions-pagination {
    margin-top: 4rem;
    text-align: center;
}

.actions-pagination .page-numbers {
    display: inline-block;
    width: 3.6rem;
    height: 3.6rem;
    line-height: 3.6rem;
    text-align: center;
    border-radius: 0.8rem;
    background: transparent;
    border: 1px solid #E0DED8;
    color: var(--color-paragraph);
    font-size: 1.3rem;
    margin: 0 0.3rem;
    text-decoration: none;
    font-weight: 600;
    transition: all 0.3s ease;
}

.actions-pagination .page-numbers.current,
.actions-pagination .page-numbers:hover {
    background: var(--color-primary);
    color: var(--color-white);
    border-color: var(--color-primary);
}

/* block-types-daction Start */
.block-types-daction {
    background-position: center;
    background-size: cover;
    background-repeat: no-repeat;
    position: relative;
    padding: 7.9rem 0 7.4rem 0;
}

.sec_bg2 {
    content: '';
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background: linear-gradient(180deg, rgba(255, 255, 255, 1) 0%, rgba(255, 255, 255, 0) 24%, rgba(255, 255, 255, 0) 76%, rgba(255, 255, 255, 1) 100%);
    z-index: 4;
}

.block-types-daction__container {
    position: relative;
    z-index: 10;
    text-align: center;
}

.block-types-daction__texte {
    font-size: 1.6rem;
    margin-bottom: 4rem;
}

.enhanced .block-types-daction__texte {
    color: var(--color-white);
    background-color: var(--color-primary);
    font-size: 1.4rem;
    font-weight: 800;
    text-align: center;
    width: auto;
    padding: 0.8rem 2rem;
    border-radius: 10rem;
    display: inline-block;
    margin-bottom: 4.7rem;
}

.primary-button {
    padding: 1.6rem 3.6rem;
    border-radius: 1.2rem;
    display: inline-flex;
    align-items: center;
    gap: 1rem;
    font-size: 1.5rem;
    font-weight: 700;
    transition: 0.3s ease;
    background-color: var(--color-btn-bg, #003087);
    color: var(--color-btn-text, #ffffff);
}

.block-types-daction__items {
    margin-bottom: 4rem;
    display: grid;
    grid-template-columns: repeat(4, 1fr);
    gap: 1.6rem;
    padding: 0 0.4rem;
}

.block-types-daction__item img {
    width: 100%;
    max-height: 16.5rem;
    object-fit: cover;
}

.block-types-daction__item {
    border-radius: 1.4rem;
    overflow: hidden;
    background-color: var(--color-white);
    text-align: left;
    cursor: pointer;
    transition: transform 0.2s ease, box-shadow 0.2s ease;
    display: block;
}

.block-types-daction__item-content {
    padding: 1.4rem;
}

.block-types-daction__item-content *:last-child {
    margin-bottom: 0;
}

.block-types-daction__item-content h3 {
    font-size: 1.3rem;
    font-weight: 800;
    margin-bottom: 0.5rem;
}

.block-types-daction__item-content p {
    font-size: 1.2rem;
    line-height: 1.8rem;
    margin-bottom: 0.5rem;
}

.block-types-daction__item-content h6 {
    font-size: 1.1rem;
    font-weight: 600;
    color: var(--color-primary);
}

/* block-types-daction End */
/* Single Article */
.block__back {
    padding: 8rem 0 2.5rem 0;
}

.block__back a {
    color: #a7a7a7;
    font-size: 1.6rem;
    display: flex;
    align-items: center;
    gap: 1rem;
    transition: transform 0.3s;
}

.block__back a span {
    text-decoration: underline;
}

.block__actualites--title .title-block {
    display: flex;
}

.block__actualites--title .logo-block,
.block__actualites--title .text-block {
    width: 50%;
    height: 13rem;
    display: flex;
    align-items: center;
    justify-content: center;
}

.block__actualites--title .logo-block {
    background-color: #f2f2f2;
}

.block__actualites--title .logo-block img {
    width: 41.9rem;
}

.block__actualites--title .text-block {
    background-color: var(--color-btn-bg);
}

.block__actualites--title .text-block h1 {
    color: var(--color-btn-text) !important;
    font-size: 5.2rem !important;
    line-height: 5.2rem !important;
    font-weight: 700 !important;
    margin-bottom: 0 !important;
    letter-spacing: 0 !important;
    text-align: initial !important;
}

.block__actualites--content {
    max-width: 80%;
    margin: 0 auto;
    padding: 5rem 0;
}

.block__actualites--content .news-attribute {
    font-size: 1.6rem;
    color: #a7a7a7;
    font-weight: 500;
    margin-bottom: 1.5rem;
}

.block__actualites--content h1 {
    color: var(--color-primary) !important;
    font-size: 5.2rem !important;
    line-height: initial !important;
    margin-bottom: 2.4rem !important;
    font-weight: 900 !important;
    letter-spacing: 0 !important;
    text-align: initial !important;
    padding-right: 12rem !important;
}

.block__actualites--content .text-block .title-text-block {
    display: flex;
    justify-content: flex-start;
    gap: 1.5rem;
    align-items: flex-start;
    margin-bottom: 2.4rem;
}

.block__actualites--content .text-block .title-text-block img {
    width: 40%;
    display: block;
}

.block__actualites--content .text-block .title-text-block p {
    margin-bottom: 0;
    font-size: 1.6rem;
    color: var(--color-title);
    font-weight: 700;
}

.block__actualites--content .article ol {
    padding-left: 2rem;
}

.block__actualites--content .article p,
.block__actualites--content .article li {
    font-size: 1.6rem;
    margin-top: 1.6rem;
    margin-bottom: 1.6rem;
}

.block__actualites--content .article p a {
    text-decoration: underline;
}

.block__actualites--content .article h2,
.block__actualites--content .article h3,
.block__actualites--content .article h4,
.block__actualites--content .article h5,
.block__actualites--content .article h6 {
    color: var(--color-secondary);
    margin-bottom: 0;
    font-weight: 900;
    text-transform: initial;
    letter-spacing: initial;
}

.block__actualites--content .article h2 {
    font-size: 2.4rem;
}

.block__actualites--content .article h3 {
    font-size: 2.2rem;
}

.block__actualites--content .article h4 {
    font-size: 2rem;
}

.block__actualites--content .article h5 {
    font-size: 1.8rem;
}

.block__actualites--content .article h6 {
    font-size: 1.6rem;
}

.block__actualites--content .status {
    background-color: var(--color-secondary);
    color: var(--color-btn-text);
    display: inline-block;
    box-sizing: border-box;
    text-transform: uppercase;
    letter-spacing: .03em;
    font-size: 1.6rem;
    padding: .6rem 1rem;
    font-weight: 800;
    margin-bottom: 2.4rem;
}

.actualites-slider,
.actualites-slider .img-block,
.actualites-slider .img-block img {
    width: 100%;
}

.actualites-slider .img-block img {
    height: 50rem;
    object-fit: cover;
    object-position: center center;
}

.actualites-slider .text-block {
    margin-bottom: 0;
    font-size: 1.6rem;
    color: var(--color-title);
    font-weight: 700;
    padding: 0.5rem 0;
}

.actualites-slider-btn {
    position: absolute;
    top: 50%;
    background-color: transparent;
    transform: translate(0, -50%);
    color: var(--color-primary);
    border: none;
    padding: 1rem;
    cursor: pointer;
    z-index: 10;
    border-radius: 50%;
    width: 4.5rem;
    height: 4.5rem;
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 3.6rem;
    transition-duration: 0.3s;
}

.actualites-slider-btn.slick-prev {
    left: -4.5rem;
}

.actualites-slider-btn.slick-next {
    right: -4.5rem;
}

.actualites-slider-btn.slick-prev:hover {
    transform: translate(-10%, -50%);
}

.actualites-slider-btn.slick-next:hover {
    transform: translate(10%, -50%);
}

.actualites-slider .slick-dots {
    position: absolute;
    left: 50%;
    bottom: 0;
    transform: translateX(-50%);
    display: flex;
    justify-content: center;
    align-items: center;
    gap: 0.8rem;
    list-style: none;
}

.actualites-slider .slick-dots li button {
    color: #ccc;
    font-size: 2rem;
    background-color: transparent;
    border: none;
    padding: 0;
    cursor: pointer;
}

.actualites-slider .slick-dots li.slick-active button {
    color: var(--color-primary);
}

.block__actualites--news-block {
    border-top: 1px solid var(--color-title);
    padding: 3rem 0;
}

.actualite-grid {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 1.6rem;
    margin-top: 3rem;
}

.actualite-card-col .action-card-title {
    display: -webkit-box;
    -webkit-line-clamp: 2;
    -webkit-box-orient: vertical;
    overflow: hidden;
    min-height: 5.5rem;
}

.actualite-card-col .action-card-excerpt {
    display: -webkit-box;
    -webkit-line-clamp: 3;
    -webkit-box-orient: vertical;
    overflow: hidden;
    min-height: 6.3rem;
}

.news-content {
    position: relative;
}

.sticky-social-block {
    -webkit-box-sizing: border-box;
    box-sizing: border-box;
    padding: 1.5rem 1rem 0;
    background: #f2f2f2;
    width: 10.8rem;
    position: absolute;
    right: -13rem;
    top: 5rem;
    color: var(--color-title);
}

.social-block .title-block {
    font-size: 1.4rem;
    font-weight: 700;
    color: var(--color-title);
    text-align: center;
    margin-bottom: 2.5rem;
}

.social-block ul li {
    margin-bottom: 2.5rem;
    -webkit-box-sizing: border-box;
    box-sizing: border-box;
    list-style: none;
}

.social-block ul li a {
    display: block;
    width: 4rem;
    height: 4rem;
    border-radius: 100%;
    background: var(--color-secondary);
    color: var(--color-btn-text);
    text-align: center;
    margin: 0 auto;
}

.social-block ul li a .fab,
.social-block ul li a .fa-brands {
    line-height: 4rem;
    font-size: 2.6rem;
    -webkit-transition-duration: .3s;
    -o-transition-duration: .3s;
    transition-duration: .3s;
}

.gt-load-hidden {
    display: none !important;
}

.gt-actus-page {
    padding-top: 10rem;
}

.gt-actus-page h1 {
    margin-bottom: 5rem;
    padding: 0 4rem;
    text-align: center;
    font-size: 5.2rem;
    font-weight: 900;
    letter-spacing: 0.03em;
    color: var(--color-secondary);
    line-height: 1;
}

.gt-actus-grid--wrapper {
    background-color: var(--color-primary);
    padding: 4rem 0 3rem 0;
}

.gt-actus-grid--wrapper h2 {
    max-width: 28rem;
    margin: 0 auto 7.1rem;
    padding: 0 2rem;
    text-align: center;
    font-weight: 800;
    font-size: 4rem;
    line-height: 5.2rem;
    color: var(--color-white);
    text-align: center;
}

.gt-actus-grid--full {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 2rem;
}

.gt-actus-grid--full .gt-actus-grid__card {
    background-color: var(--color-white);
    padding: 1rem;
    box-sizing: border-box;
}

.gt-actus-grid--full .gt-actus-grid__card-content {
    padding: 2rem 1.5rem;
    box-sizing: border-box;
}

.block__frontpage--actus__footer {
    margin-top: 3.5rem;
    text-align: center;
}

.block__frontpage--actus__footer__link {
    font-size: 1.8rem;
    color: var(--color-white);
    border: none;
    padding: 1.2rem 2.6rem;
    font-weight: 600;
    text-decoration: underline;
    display: inline-block;
    margin-bottom: 0rem !important;
    text-align: center;
}

.faq,
.contacts {
    padding-top: 10rem;
}

.faq h1,
.contacts h1 {
    margin-bottom: 5rem;
    padding: 0 4rem;
    text-align: center;
    font-size: 5.2rem;
    font-weight: 900;
    letter-spacing: 0.03em;
    color: var(--color-secondary);
    line-height: 1;
}

.section {
    background: url(./assets/images/heart.jpg) center left no-repeat;
}

.questions {
    text-align: left;
    margin: auto;
    margin-top: 6.7rem;
    max-width: 85.2rem;
    position: relative;
    z-index: 10;
    border-top: 0.5rem solid #5d5d5d;
}

.questions .question {
    color: var(--color-primary);
    -webkit-transition-duration: .3s;
    -o-transition-duration: .3s;
    transition-duration: .3s;
    border-bottom: 0.5rem solid #5d5d5d;
}

.questions .question.is-closed {
    color: #5d5d5d;
    -webkit-transition-duration: .3s;
    -o-transition-duration: .3s;
    transition-duration: .3s;
}

.questions .question h3 {
    font-size: 2.2rem;
    font-weight: 700;
    padding-bottom: 2.2rem;
    padding-top: 1.9rem;
    padding-right: 2rem;
    -webkit-transition-duration: .3s;
    -o-transition-duration: .3s;
    transition-duration: .3s;
    position: relative;
    color: var(--color-primary);
    margin-bottom: 0;
    cursor: pointer;
}

.questions .question.is-closed h3 {
    color: #5d5d5d;
}

.reponse {
    display: flex;
    justify-content: center;
    align-items: center;
    text-align: center;
    color: var(--color-primary);
    font-size: 2.3rem;
}

.questions .question .reponse {
    color: var(--color-primary);
    font-weight: 300;
    opacity: 0;
    font-size: 1.6rem;
    padding-bottom: 2rem;
    -webkit-transition-delay: 0s;
    -o-transition-delay: 0s;
    transition-delay: 0s;
    -webkit-transition-duration: .5s;
    -o-transition-duration: .5s;
    transition-duration: .5s;
    -webkit-animation: faqOpen .5s ease-in-out forwards;
    animation: faqOpen .5s ease-in-out forwards;
    -webkit-animation-delay: .5s;
    animation-delay: .5s;
}

.questions .question .reponse * {
    color: var(--color-primary);
    margin-bottom: 0;
}

.questions .question .reponse p {
    font-size: 1.6rem;
    line-height: initial;
    transition: all .5s .2s ease-in-out;
}

.questions .question.is-closed .reponse p {
    font-size: 0;
}

@-webkit-keyframes faqClose {
    0% {
        opacity: 1;
    }

    100% {
        opacity: 0;
    }
}

@keyframes faqClose {
    0% {
        opacity: 1;
    }

    100% {
        opacity: 0;
    }
}

@-webkit-keyframes faqOpen {
    0% {
        opacity: 0;
    }

    100% {
        opacity: 1;
    }
}

@keyframes faqOpen {
    0% {
        opacity: 0;
    }

    100% {
        opacity: 1;
    }
}

.questions .question h3:before {
    content: '-';
    display: block;
    position: absolute;
    right: 0;
    top: 50%;
    -webkit-transform: translate(0, -50%);
    -ms-transform: translate(0, -50%);
    transform: translate(0, -50%);
    font-weight: 900;
}

.questions .question.is-closed h3:before {
    content: '+';
}

.questions .question.is-closed .reponse {
    -webkit-animation: faqClose .5s ease-in-out forwards;
    animation: faqClose .5s ease-in-out forwards;
    -webkit-animation-delay: 0s;
    animation-delay: 0s;
    font-size: 0;
    padding-bottom: 0;
    overflow: hidden;
    opacity: 0;
    -webkit-transition-delay: .5s;
    -o-transition-delay: .5s;
    transition-delay: .5s;
    -webkit-transition-duration: .5s;
    -o-transition-duration: .5s;
    transition-duration: .5s;
}

.questions .question .reponse a {
    text-decoration: underline;
}

.faq__btn {
    display: flex;
    justify-content: center;
    align-items: center;
    padding: 4rem 0;
    gap: 3rem;
}

.faq__btn .primary-button {
    /* min-width: 29.5rem; */
    min-height: 5.7rem;
    padding: 0 3.6rem;
    line-height: 1.9rem;
    text-align: center;
}

.block--contacts-privilegies__col {
    width: 22.3rem;
}

.block--contacts-privilegies__container {
    max-width: 59.5rem;
    margin: 0 auto;
}

.contacts {
    padding-bottom: 10rem;
}

.block--contacts-privilegies__top img {
    margin-bottom: 1.6rem;
}

.block--contacts-privilegies__top h3,
.block--contacts-privilegies__top p,
.block--contacts-privilegies__top a {
    font-size: 1.8rem;
    line-height: 2.2rem;
    font-weight: 700;
}

.block--contacts-privilegies__top h3 {
    color: var(--color-secondary);
    margin-bottom: 0;
}

.block--contacts-privilegies__top p {
    color: var(--color-title);
}

.block--contacts-privilegies__top a {
    text-decoration: underline;
}

.block--contacts-privilegies__top {
    margin-bottom: 10rem;
}

.block--contacts-privilegies__social {
    padding: 3.3rem 1.5rem 6.2rem;
    background: #e9e9e9;
}

.block--contacts-privilegies__social__title {
    margin: 0 auto 2.8rem;
    font-weight: 700;
    font-size: 2.2rem;
    line-height: 3rem;
    letter-spacing: 0.03em;
    color: var(--color-title);
    text-align: center;
}

.block--contacts-privilegies__social__list {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: center;
    -ms-flex-pack: center;
    justify-content: center;
}

.block--contacts-privilegies__social li {
    margin: 0 1.5rem;
    list-style: none;
}

.block--contacts-privilegies__social li:first-child {
    margin-left: 0;
}

.block--contacts-privilegies__social li:last-child {
    margin-right: 0;
}

.block--contacts-privilegies__social a {
    width: 6.3rem;
    height: 6.3rem;
    border-radius: 50%;
    background: var(--color-secondary);
    color: #fff;
    font-size: 4rem;
    line-height: 6.3rem;
    text-align: center;
    position: relative;
    overflow: hidden;
    border: 3px solid var(--color-secondary);
    display: inline-block;
}

.block--contacts-privilegies__social a .fab {
    position: relative;
    z-index: 1;
}

.block--contacts-privilegies__social a:before {
    content: '';
    display: block;
    position: absolute;
    left: 0;
    top: 100%;
    width: 100%;
    height: 100%;
    -webkit-transition-duration: 0s;
    -o-transition-duration: 0s;
    transition-duration: 0s;
}

.block__actualites--title .title-block .text-block h1,
.block__actualites--content .news-content .title,
.block__actions--main h1,
.block__participent h1,
.block__presse--content .block-title-page,
.section .wrap h1,
.block--propos__intro h1 {
    font-size: 5.2rem;
    font-weight: 800;
    letter-spacing: 0.03em;
    color: var(--color-secondary);
    text-align: center;
    line-height: 1;
}

.block--propos__intro {
    position: relative;
    padding: 9.7rem 0 0;
}

.block--propos__intro h1 {
    margin-bottom: 9.5rem;
    padding: 0 4rem;
}

.block--propos__intro__img {
    position: absolute;
    bottom: 0;
    right: 0;
    width: 100%;
    height: 100%;
}

.block--propos__intro__img img {
    width: 100%;
    -o-object-fit: cover;
    object-fit: cover;
}

.block--propos__intro__text {
    position: relative;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
    width: 50%;
    padding: 7.3rem 6.6rem;
    background: rgba(255, 255, 255, 0.88);
    font-weight: 300;
    color: var(--color-primary);
    letter-spacing: 0.03em;
}

.block--propos p {
    margin: 0 0 1em;
}

.block--propos__intro__text p {
    color: var(--color-primary);
}

.block--propos__intro__text strong {
    color: var(--color-secondary);
    font-weight: 700;
    font-size: 2.6rem;
    line-height: 3.4rem;
}

.block--propos__intro__read-more {
    display: none;
    margin-top: 3.5rem;
    text-align: center;
}

.block--propos__france {
    position: relative;
    padding: 9.2rem 0 7.3rem;
    background: var(--color-primary);
    color: #fff;
}

.block .container {
    margin: 0 auto;
    padding: 0 2rem;
    -webkit-box-sizing: border-box;
    box-sizing: border-box;
}

.block--propos .container {
    max-width: 131.5rem;
}

.block--propos__france .container {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
}

.block--propos__france__img {
    -webkit-box-flex: 0;
    -ms-flex: 0 0 45.2rem;
    flex: 0 0 45.2rem;
    padding-right: 4rem;
    -webkit-animation: swing .7s infinite alternate ease-in-out;
    animation: swing .7s infinite alternate ease-in-out;
}

.block--propos__france .img-mobile {
    max-width: 79%;
    margin: 0 auto;
}

.block--propos__france__text {
    font-weight: 300;
    font-size: 2.5rem;
    line-height: 3.4rem;
    letter-spacing: 0.03em;
}

.block--propos__france__text strong {
    font-size: 3.4rem;
    line-height: 4.3rem;
    font-weight: 700;
    font-size: 2rem;
    line-height: 3rem;
}

.block--propos__france__text p {
    color: #ffffff;
}

.block--propos__france__text a {
    color: #fff;
    text-decoration: underline;
}

.block--propos__citation {
    padding-top: 12.4rem;
    padding-bottom: 11.7rem;
    overflow: hidden;
}

.block--propos__citation .container {
    max-width: 118.8rem;
}

.block--propos__citation__cols {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: justify;
    -ms-flex-pack: justify;
    justify-content: space-between;
    margin: 0 -4rem;
}

.block--propos__citation__col {
    width: 50%;
    padding: 0 4rem;
}

.block--propos__citation blockquote {
    position: relative;
    margin: 0;
    padding: 0 5.5rem;
    font-size: 2.2rem;
    line-height: 3.3rem;
    letter-spacing: 0.03em;
    color: var(--color-primary);
}

@-webkit-keyframes swing {
    0% {
        -webkit-transform: rotate(-4deg);
        transform: rotate(-4deg);
    }

    100% {
        -webkit-transform: rotate(-1.5deg);
        transform: rotate(-1.5deg);
    }
}

@keyframes swing {
    0% {
        -webkit-transform: rotate(-4deg);
        transform: rotate(-4deg);
    }

    100% {
        -webkit-transform: rotate(-1.5deg);
        transform: rotate(-1.5deg);
    }
}

.block--propos__citation .quote {
    position: absolute;
    font-weight: 500;
    font-size: 12.5rem;
    font-style: normal;
    line-height: 1;
    color: var(--color-secondary);
}

.block--propos__citation .quote-left {
    top: -2.6rem;
    left: 0;
}

.block--propos__citation .quote-right {
    margin-left: 1.0rem;
    margin-top: -0.5rem;
}

.block--propos__citation p strong {
    display: block;
    font-size: 3.0rem;
    line-height: 3.8rem;
    font-weight: 700;
}

.block--propos__citation p {
    margin: 0;
    display: inline;
    font-style: italic;
    color: var(--color-primary);
}

.block--propos__citation footer {
    margin-top: 4.1rem;
    text-align: right;
    font-size: 2.2rem;
    font-weight: normal;
}

.block--propos__citation footer strong {
    font-weight: 700;
}

.block--propos__key-numbers {
    padding: 6.4rem 0 9.2rem;
    background: var(--color-secondary);
    color: #fff;
    text-align: center;
}

.block--propos__key-numbers h2 {
    margin-bottom: 8.3rem;
    color: #fff;
    font-weight: 800;
    font-size: 4.0rem;
}

.block--propos__key-numbers__item:last-child {
    border: 0;
}

.block--propos__key-numbers__items {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    width: 100%;
    margin-bottom: 6.8rem;
}

.block--propos__key-numbers__item {
    -webkit-box-flex: 1;
    -ms-flex: 1;
    flex: 1;
    border-right: 1px solid #fff;
    font-weight: 700;
    font-size: 2rem;
    line-height: 2.6rem;
    padding: 1.2rem 1.5rem 0;
}

.block--propos__key-numbers__icon {
    height: 10rem;
}

.block--propos__key-numbers img {
    margin: 0 auto;
}

.block--propos__key-numbers__item {
    -webkit-box-flex: 1;
    -ms-flex: 1;
    flex: 1;
    border-right: 1px solid #fff;
    font-weight: 700;
    font-size: 2.4rem;
    line-height: 3.1rem;
    padding: 1.2rem 1.5rem 0;
}

.block--propos__key-numbers__item strong {
    display: block;
    margin-bottom: 0.7rem;
    font-size: 3.9rem;
}

.block--propos__bg {
    position: relative;
}

.block--propos__bg img {
    width: 100%;
}

.secondary-button {
    background-color: var(--color-secondary);
}

.pr {
    position: relative;
}

.trigger {
    position: absolute;
    top: -20rem;
    left: 0;
    width: 0;
    height: 0;
    opacity: 0;
}

.ml {
    padding: 4rem 0;
}

.ml p {
    margin-top: 1.6rem;
    margin-bottom: 1.6rem;
}

.ml ul {
    padding-left: 2rem;
}

.ml p,
.ml li,
.ml a {
    font-size: 1.6rem;
    color: var(--color-text-dark);
}

.ml a {
    color: var(--color-primary);
    text-decoration: underline;
}

.page-template-template-entreprises #site-header .header-brand-bar {
    padding: 1rem 0;
}

.block__presse {
    padding-top: 10rem;
}

.block__presse .inner-wrapper {
    margin: 0 auto;
    width: 100%;
    max-width: 113rem;
    -webkit-box-sizing: border-box;
    box-sizing: border-box;
    padding: 0 2rem;
    position: relative;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -ms-flex-wrap: wrap;
    flex-wrap: wrap;
    -webkit-box-pack: justify;
    -ms-flex-pack: justify;
    justify-content: space-between;
}

.block__presse--content .block-title-page {
    text-align: center;
    margin-bottom: 10rem;
    width: 100%;
    -webkit-box-ordinal-group: 1;
    -ms-flex-order: 0;
    order: 0;
}

.block__presse--content-block {
    width: 50%;
    max-width: 73rem;
    float: right;
    -webkit-box-flex: 1;
    -ms-flex-positive: 1;
    flex-grow: 1;
    -webkit-box-ordinal-group: 3;
    -ms-flex-order: 2;
    order: 2;
}

.block__presse--contact-block {
    float: left;
    position: relative;
    width: 25.5rem;
    padding-right: 3rem;
    -webkit-box-ordinal-group: 2;
    -ms-flex-order: 1;
    order: 1;
}

.block__frontpage--block-files {
    background: var(--color-primary);
}

.block__presse--content-block__top {
    padding-bottom: 3rem;
}

.block__presse--content-block__title {
    padding-bottom: 1.5rem;
    border-bottom: 1px solid var(--color-primary);
    margin-bottom: 3rem;
}

.block__presse--content-block__title h2 {
    color: var(--color-primary);
    line-height: 1.2;
    margin-bottom: 0;
}

.block__presse--content-block__list {
    padding-bottom: 3rem;
}

.block__presse .presse-list {
    margin: 0 -0.7rem 2rem;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -ms-flex-wrap: wrap;
    flex-wrap: wrap;
}

.block__presse .presse-read-more {
    text-align: center;
}

.block__presse .presse-read-more a {
    color: var(--color-secondary);
    font-weight: 700;
    line-height: 1;
    text-decoration: underline;
    font-size: 1.6rem;
}

.block__presse .presse-list li {
    float: left;
    -webkit-box-sizing: border-box;
    box-sizing: border-box;
    width: 50%;
    padding: 0 0.7rem;
    margin-bottom: 1.4rem;
}

.block__presse .presse-list li:nth-child(2n+1) {
    clear: both;
}

.news-block {
    -webkit-box-sizing: border-box;
    box-sizing: border-box;
    background: #fff;
    -webkit-box-shadow: 0rem 0rem 0.3rem 0rem rgba(0, 0, 0, 0.35);
    box-shadow: 0rem 0rem 0.3rem 0rem rgba(0, 0, 0, 0.35);
    padding: 2rem;
    height: 100%;
    display: block;
}

.news-block .img-block {
    position: relative;
    margin-bottom: 1.5rem;
}

.news-block .img-block img {
    display: block;
    width: 100%;
    height: 18.3rem;
    object-fit: cover;
}

.news-block .img-block .status {
    position: absolute;
    bottom: 0;
    right: 0;
    background: var(--color-secondary);
    color: #fff;
    z-index: 1;
    font-weight: 900;
    line-height: 1;
    -webkit-box-sizing: border-box;
    box-sizing: border-box;
    text-transform: uppercase;
    letter-spacing: .03em;
    font-size: 1.6rem;
    padding: 0.6rem 1rem;
}

.news-block .text-block .news-title {
    font-size: 2.1rem;
    font-weight: 700;
    letter-spacing: 0.03em;
    line-height: 1.2;
    margin-bottom: 1.5rem;
    -webkit-transition-duration: .3s;
    -o-transition-duration: .3s;
    transition-duration: .3s;
}

.news-block .text-block .text {
    font-weight: 300;
    line-height: 1.3;
    margin-bottom: 0.5rem;
}

.news-block .text-block .link-block {
    text-align: right;
    font-size: 1.6rem;
    text-decoration: underline;
    -webkit-transition-duration: .3s;
    -o-transition-duration: .3s;
    transition-duration: .3s;
    font-weight: 700;
}

.block__presse .presse-read-more.no-more {
    display: none;
}

.block__presse .presse-list-2 li {
    margin-bottom: 2.5rem;
}

.block__presse .presse-list-2 li.is-visible {
    opacity: 1;
    height: auto;
    margin-bottom: 2.5rem;
    -webkit-transition-duration: .5s;
    -o-transition-duration: .5s;
    transition-duration: .5s;
}

.block__presse .presse-list-2 li.is-hide {
    height: 0;
    overflow: hidden;
    opacity: 0;
    margin: 0;
}

@-webkit-keyframes visibleList {
    0% {
        font-size: 0;
        margin: 0;
    }

    100% {
        font-size: 1.8rem;
        margin-bottom: 0.2rem;
    }
}

@keyframes visibleList {
    0% {
        font-size: 0;
        margin: 0;
    }

    100% {
        font-size: 1.8rem;
        margin-bottom: 2rem;
    }
}

@-webkit-keyframes visibleList2 {
    0% {
        margin: 0;
    }

    100% {
        margin-bottom: 7.5rem;
    }
}

@keyframes visibleList2 {
    0% {
        margin: 0;
    }

    100% {
        margin-bottom: 7.5rem;
    }
}

.block__presse .presse-list-2 li.is-hide {
    height: 0;
    overflow: hidden;
    opacity: 0;
    margin: 0;
}

.block__presse--content-block__list-2 {
    padding-bottom: 3rem;
}

.block__presse .presse-list-2 {
    margin-bottom: 3rem;
}

.block__presse .presse-list-2 li {
    margin-bottom: 2.5rem;
}

.press-block .discription-block a,
.press-block .discription-block span {
    font-weight: 300;
    color: #1a1a1a;
}

.press-block .author-block .author {
    text-transform: uppercase;
    color: #1a1a1a;
    font-weight: 700;
    margin-right: 1rem;
}

.press-block .author-block .date {
    font-weight: 300;
    color: #808080;
}

.news-block .text-block .news-title {
    text-decoration: underline;
}

.discription-block,
.author-block {
    font-size: 1.6rem;
}

.press-block .discription-block a {
    text-decoration: underline;
    transition-duration: 0.3s;
}

.block__presse--contact-block__title h2 {
    font-size: 3.4rem;
    line-height: 1.5;
    color: var(--color-secondary);
}

.block__presse--contact-block__title {
    margin-bottom: 3rem;
}

.block__presse--contact-block__list {
    margin-bottom: 7.5rem;
}

.block__presse--contact-block__list ul li {
    margin-bottom: 3rem;
}

.block__presse--contact-block__list ul li:last-child {
    margin-bottom: 0;
}

.block__presse--contact-block__list ul li .img-block {
    margin-bottom: 1.5rem;
}

.block__presse--contact-block__list ul li .img-block img {
    display: block;
    width: 100%;
    margin: 0 auto;
    max-width: 22.5rem;
}

.block__presse--contact-block__list ul li .text-block {
    font-weight: 700;
    font-size: 1.8rem;
    line-height: 1.4;
}

.block__presse--contact-block__list ul li .text-block .name-block {
    color: var(--color-secondary);
}

.social-block {
    -webkit-box-sizing: border-box;
    box-sizing: border-box;
    padding: 1.5rem 1rem 0;
    background: #f2f2f2;
    width: 10.8rem;
    position: absolute;
    right: 0;
    top: 5rem;
    color: #1a1a1a;
}

.block__presse--contact-block .social-block {
    position: relative;
    top: 0;
    right: auto;
    width: 100%;
    padding: 2.5rem 3rem;
}

.block__presse--contact-block .social-block .title-block {
    font-size: 2.1rem;
    text-align: left;
    margin-bottom: 4rem;
}

.block__presse--contact-block .social-block ul li {
    margin-bottom: 3rem;
}

.social-block ul li a {
    display: block;
    width: 4rem;
    height: 4rem;
    border-radius: 100%;
    background: var(--color-secondary);
    color: #f2f2f2;
    text-align: center;
    margin: 0 auto;
}

.block__presse--contact-block .social-block ul li a {
    width: 6.5rem;
    height: 6.5rem;
}

.block__presse--contact-block .social-block ul li a .fab {
    font-size: 4rem;
    line-height: 6.5rem;
}

.block__frontpage--block-files .inner-wrapper {
    -webkit-box-sizing: border-box;
    box-sizing: border-box;
    padding: 6rem 4.5rem 14rem;
    width: 100%;
    margin: 0 auto;
    max-width: 95.5rem;
}

.block__frontpage--block-files h2 {
    color: #fff;
    margin: 0 auto 10rem;
    width: 100%;
    max-width: 72.5rem;
    text-align: center;
}

.block__frontpage--block-files .download-block {
    margin: 0 -4.5rem;
    display: flex;
    justify-content: center;
    list-style: none;
}

.block__frontpage--block-files .download-block li {
    width: 33.3333%;
    width: 100%;
    -webkit-box-sizing: border-box;
    box-sizing: border-box;
    padding: 0 4.5rem;
    position: relative;
    z-index: 0;
}

.block__frontpage--block-files .download-block li .block-wrapper {
    background: #fff;
    -webkit-box-sizing: border-box;
    box-sizing: border-box;
    padding: 2.5rem;
    text-align: center;
    min-height: 33.8rem;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -ms-flex-wrap: wrap;
    flex-wrap: wrap;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
    -ms-flex-direction: column;
    flex-direction: column;
    -webkit-box-pack: justify;
    -ms-flex-pack: justify;
    justify-content: space-between;
    position: relative;
}

.block__frontpage--block-files .download-block li .block-wrapper:before {
    content: '';
    display: block;
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background: var(--color-secondary);
    -webkit-transform: rotate(2deg);
    -ms-transform: rotate(2deg);
    transform: rotate(2deg);
    z-index: -1;
}

.block__frontpage--block-files .download-block li .icon-block {
    margin-bottom: 9.5rem;
}

.block__frontpage--block-files .download-block li .title-block {
    color: var(--color-primary);
    font-weight: 500;
    font-size: 2.4rem;
    -webkit-box-flex: 1;
    -ms-flex-positive: 1;
    flex-grow: 1;
}

.download-link,
.block__frontpage--block-files .download-block li .download-link {
    display: block;
    -webkit-box-sizing: border-box;
    box-sizing: border-box;
    background: var(--color-primary);
    color: #fff;
    text-align: center;
    text-transform: uppercase;
    font-size: 1.56rem;
    font-weight: 700;
    letter-spacing: 0.01em;
    border-radius: 1rem;
    width: 100%;
    height: 4.9rem;
    line-height: 4.5rem;
    text-decoration: none;
    overflow: hidden;
    position: relative;
    z-index: 0;
    border: 0.2rem solid #fff;
}

.download-link:before,
.block__frontpage--block-files .download-block li .download-link:before {
    content: '\f019';
    display: block;
    position: absolute;
    width: 100%;
    height: 100%;
    top: -100%;
    font-family: 'Font Awesome\ 5 Free';
    font-size: 2.4rem;
    font-weight: 900;
    color: #fff;
    text-align: center;
    z-index: -1;
    -webkit-transition-duration: .3s;
    -o-transition-duration: .3s;
    transition-duration: .3s;
}

.download-link span,
.block__frontpage--block-files .download-block li .download-link span {
    -webkit-transition-duration: .3s;
    -o-transition-duration: .3s;
    transition-duration: .3s;
    position: relative;
    display: block;
    top: 0;
}

.block__presse--contact-block__list a {
    text-decoration: underline;
    transition-duration: 0.3s;
}

.aff-block {
    color: var(--color-title);
}

/* thématiques */
.block_page.thematiques {
    padding-top: 10rem;
}

.block_page h1 {
    margin-bottom: 3rem;
    padding: 0 4rem;
    text-align: center;
    font-size: 5.2rem;
    font-weight: 700;
    color: var(--color-secondary);
    line-height: 1;
}

.cententPage {
    width: 80%;
    margin: 0 auto;
}

.descript_top p {
    width: 80%;
    margin: 0 auto;
    text-align: center;
    font-size: 2.2rem;
    color: var(--color-title);
}

.descript_top {
    margin-bottom: 5rem;
}

.conteneur_actions_phares {
    display: flex;
    justify-content: space-between;
    align-items: flex-start;
    flex-wrap: wrap;
    width: 80%;
    margin: 0 auto;
}

.item_actions_phares {
    width: 48%;
    margin-bottom: 3rem;
    box-sizing: border-box;
}

.thematiques .item_actions_phares {
    margin-bottom: 5rem;
}

.pic_actions_phares {
    max-height: 39.1rem;
    margin-bottom: 1.5rem;
    overflow: hidden;
}

.pic_actions_phares img {
    width: 100%;
    display: block;
    height: 100%;
    object-fit: cover;
}

.item_actions_phares h3,
.item_actions_phares span,
.item_actions_phares a {
    color: var(--color-primary);
    font-size: 2.2rem;
    font-weight: 700;
    display: block;
    transition: .3s;
}

.item_actions_phares a {
    text-decoration: underline;
}


.thematiques .item_actions_phares p {
    margin-top: 3rem;
}

.item_actions_phares p {
    color: #1a1a1a;
    font-size: 2.2rem;
    margin: 0;
    margin-top: 0.5rem;
    line-height: 1.4;
}

.url_to_post {
    margin-top: 0.5rem;
}

.block_page {
    padding-top: 10rem;
    padding-bottom: 8rem;
}

#section_description {
    margin-bottom: 5rem;
}

#section_description .content {
    text-align: left;
    font-size: 2.2rem;
    line-height: 2.6rem;
    color: var(--color-title);
}

#section_description .content p {
    color: var(--color-title);
    font-size: 2.2rem;
    line-height: 2.6rem;
}

#section_description .content a {
    text-decoration: underline;
}

#section_description .content ul {
    margin-left: 3.9rem;
    margin-bottom: 2rem;
}

#section_description .content h3 {
    margin-bottom: 0;
}

.cententPage h2 {
    font-size: 3.8rem;
    color: #3e5c98;
    text-align: center;
    padding: 0;
    margin: 3.4rem 0;
    line-height: 1.2;
}

.webinaire-img {
    display: block;
    margin-inline: auto;
    max-width: 80%;
    height: auto;
    width: 100%;
    display: block;
    height: 100%;
    object-fit: cover;
}

.webinaire-link,
.webinaire-link * {
    color: #3e5c98;
}

.webinaire-wrap p {
    margin-bottom: 0;
}

.webinaire-wrap p,
.webinaire-wrap ul {
    font-size: 2.2rem;
    list-style: none;
    margin: 0 auto;
    max-width: 80%;
}

.webinaire-wrap p a {
    text-decoration: underline;
    color: #3e5c98;
}

.gt-conseils__desc {
    max-width: 80%;
    font-size: 2.2rem;
    margin: 0 auto;
}

.gt-conseils__desc p {
    color: var(--color-title);
}

.gt-conseils__desc p a {
    text-decoration: underline;
    color: #3e5c98;
}

body .btn--primary {
    background-image: linear-gradient(90deg, var(--gt-red) 0%, #ff3948 50%, var(--gt-red-600) 100%);
    background-size: 200% 100%;
    transition: background-position .25s ease, transform .2s ease, box-shadow .2s ease;
}

.gt-conseils__cta a {
    font-size: 2.2rem;
}

.cententPage a {
    display: inline-block;
}

.cententPage h3 {
    font-size: 1.9rem;
}

.cententPage .banners-block li .block-wrapper {
    height: 14rem;
    width: 15.2rem;
    display: -webkit-box;
    display: -ms-flexbox;
    -ms-flex-wrap: wrap;
    flex-wrap: wrap;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
    -webkit-box-pack: center;
    -ms-flex-pack: center;
    justify-content: center;
}

.conteneur_user {
    display: flex;
    justify-content: space-between;
    align-items: center;
    width: 80%;
    margin: 0 auto;
}

.pic_users {
    width: 23%;
}

.text_users {
    width: 74%;
    font-size: 2.2rem;
    text-align: left;
    font-style: italic;
    line-height: 1.5;
}

.text_users p {
    color: var(--color-title);
}

.pic_users img {
    width: 100%;
    display: block;
}

.slick-slider .slick-arrow {
    display: block;
    margin: 0;
    padding: 0;
    font-size: 0;
    line-height: 0;
    color: transparent;
    width: 0;
    height: 0;
    border-right: 0;
    border-top: 1.3rem solid transparent;
    border-left: 2rem solid #053a80;
    border-bottom: 1.3rem solid transparent;
    background: none;
    -webkit-box-shadow: none;
    box-shadow: none;
    outline: none;
}

.block__icons__slider .slick-arrow,
.cententPage .banners-block .slick-arrow {
    width: 4rem;
    height: 7.4rem;
    background-image: url(./assets/images/icon-arrow-left.png);
    background-position: center;
    background-repeat: no-repeat;
    background-size: contain;
    top: 50%;
    margin-top: -3.7rem;
    border: none !important;
    left: 0;
    position: absolute;
    z-index: 2;
    cursor: pointer;
}

.block__icons__slider .slick-arrow.slick-next,
.cententPage .banners-block .slick-arrow.slick-next {
    -webkit-transform: rotate(180deg);
    -ms-transform: rotate(180deg);
    transform: rotate(180deg);
    left: auto;
    right: 0;
}

.cententPage .banners-block li {
    -webkit-box-sizing: border-box;
    box-sizing: border-box;
    padding: 0 2.3rem;
}

.banners-block li img {
    object-fit: cover;
    width: 100%;
    height: auto;
    max-height: 14rem;
}

.cententPage .banners-block {
    width: 100%;
    max-width: 126.5rem;
    margin: 0 auto;
    padding: 0 5.5rem;
    -webkit-box-sizing: border-box;
    box-sizing: border-box;
    position: relative;
}

.block__participent {
    width: 100%;
    max-width: 115rem;
    margin: 0 auto;
    padding: 10rem 3rem 7rem;
}

/* ===== Styles scoped ===== */
#gtp-scope {
    --gap: 1.6rem;
    --r: 1.2rem;
    --b: 1px solid #eee;
    --imgbg: #fafafa;
    --card: #fff;
}

#gtp-filters {
    display: flex;
    flex-wrap: wrap;
    gap: 1.2rem;
    align-items: center;
    margin: 1.2rem 0 2.4rem;
}

#gtp-filters .fld {
    display: flex;
    align-items: center;
    gap: 0.8rem;
}

#gtp-filters input[type="search"] {
    padding: 1rem 1.2rem;
    border: 1px solid #ddd;
    border-radius: 1rem;
    min-width: 26rem;
    background: #fff;
}

#gtp-filters .count {
    margin-left: auto;
    opacity: .7;
    font-size: 1.6rem;
}

#gtp-grid {
    display: grid !important;
    grid-template-columns: repeat(auto-fill, minmax(20rem, 1fr));
    gap: var(--gap);
}

.gtp-card {
    border: var(--b);
    border-radius: var(--r);
    background: var(--card);
    overflow: hidden;
    display: flex;
    flex-direction: column;
    height: 100%;
}

.gtp-link {
    display: block;
    height: 100%;
    text-decoration: none;
    color: inherit;
}

.gtp-thumb {
    aspect-ratio: 1/1;
    background: var(--imgbg);
    display: flex;
    align-items: center;
    justify-content: center;
    overflow: hidden;
}

.gtp-thumb img {
    width: 100%;
    height: 100%;
    object-fit: contain;
}

.gtp-title {
    padding: 1rem 1.2rem;
    font-weight: 600;
    font-size: 1.6rem;
    color: var(--color-title);
    line-height: 1.25;
    word-break: break-word;
    hyphens: auto;
}

/* Anti-Slick visuel (si un JS global injecte des wrappers) */
#gtp-scope .slick-slider,
#gtp-scope .slick-list,
#gtp-scope .slick-track {
    display: contents !important;
    width: auto !important;
    transform: none !important;
    overflow: visible !important;
}

#gtp-scope .slick-slide {
    display: contents !important;
    width: auto !important;
    float: none !important;
}

#gtp-scope .slick-arrow,
#gtp-scope .slick-dots {
    display: none !important;
}

#gtp-empty {
    display: none;
    margin: 1.2rem 0 0;
    font-style: italic;
    opacity: .8;
}

.rechercher {
    color: var(--color-title);
    font-size: 1.8rem;
}

/* general template */
.block--reasons .wrap {
    position: relative;
    z-index: 1;
    max-width: 118rem;
    margin: 0 auto;
    text-align: center;
    padding: 6.1rem 2rem 19.7rem;
}

.block--reasons h2 {
    margin-bottom: 6.2rem;
    color: #053a80;
    font-size: 4rem;
    line-height: 5.2rem;
}

.block--reasons h2 strong {
    color: #d90525;
}

.block--reasons ul {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    margin: 0 -2rem;
}

.block--reasons li {
    position: relative;
    -webkit-box-flex: 1;
    -ms-flex-positive: 1;
    flex-grow: 1;
    -ms-flex-preferred-size: 0;
    flex-basis: 0;
    padding: 0 1rem;
    text-align: center;
    color: #053a80;
    font-weight: bold;
    font-size: 2.2rem;
    list-style: none;
}

.block--reasons li strong,
.block--reasons li span {
    display: block;
    width: 5.8rem;
    height: 5.8rem;
    margin: 0 auto 0.6rem;
    border-radius: 5rem;
    background: #d90525;
    color: #fff;
    font-size: 3.6rem;
    line-height: 5.8rem;
    text-align: center;
}

.block--reasons__logo {
    position: absolute;
    bottom: -3rem;
    left: 50%;
    -webkit-transform: translateX(-50%);
    -ms-transform: translateX(-50%);
    transform: translateX(-50%);
    width: 20.8rem;
}

.block__frontpage--actus__slider .slick-dots,
.block--ideas .slick-dots {
    margin: 2.3rem 0;
}

.block__frontpage--actus__slider .slick-dots li,
.block--ideas .slick-dots li {
    margin: 0 1rem;
}

.block__frontpage--actus__slider .slick-dots li button,
.block--ideas .slick-dots li button {
    width: 2.1rem;
    height: 2.1rem;
    border: 0;
    background: #fff;
}

.block__frontpage--actus__slider .slick-dots li.slick-active button,
.block--ideas .slick-dots li.slick-active button {
    background: #d90525;
}

.block--ideas {
    background: #03275b;
    background: -webkit-gradient(linear, left top, left bottom, from(#03275b), color-stop(26%, #032f6d), color-stop(45%, #04357a), color-stop(69%, #043173), to(#03275c));
    background: -o-linear-gradient(top, #03275b 0%, #032f6d 26%, #04357a 45%, #043173 69%, #03275c 100%);
    background: linear-gradient(to bottom, #03275b 0%, #032f6d 26%, #04357a 45%, #043173 69%, #03275c 100%);
    filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#03275b', endColorstr='#03275c', GradientType=0);
    color: #fff;
    text-align: center;
}

.block--ideas .wrap {
    max-width: 124.5rem;
    margin: 0 auto;
    padding: 7.2rem 2rem 5.3rem;
}

.block--ideas__title {
    margin-bottom: 9.7rem;
    color: #fff;
    font-size: 4rem;
    line-height: 5.2rem;
}

.block--ideas__icon {
    width: 13rem;
    height: 13rem;
    border-radius: 50%;
    background: #fff;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
    -webkit-box-pack: center;
    -ms-flex-pack: center;
    justify-content: center;
    margin: 0 auto 2.3rem;
}

@media (max-width: 1023px) {
    .block--ideas__icon {
        width: 11rem;
        height: 11rem;
    }
}

.block--ideas__icon img {
    width: 100%;
    max-width: 67%;
}

.block--ideas__list {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: justify;
    -ms-flex-pack: justify;
    justify-content: space-between;
    margin: 0 -1rem 10.2rem;
}

@media all and (min-width: 1280px) {
    .page-id-1619 .block--ideas__list {
        justify-content: center !important;
    }

    .page-id-1619 .block--ideas__item {
        width: 24.5rem !important;
    }

    .page-id-1619 .block--ideas__list .slick-track {
        width: 99.5rem !important;
    }
}

.block--ideas__item {

    -webkit-box-flex: 1;
    -ms-flex-positive: 1;
    flex-grow: 1;
    -ms-flex-preferred-size: 0;
    flex-basis: 0;
    padding: 0 1rem;
    list-style: none;
}

.block--ideas__item__title {
    color: #769abf;
    font-weight: normal;
    font-size: 2rem;
}

.block--ideas__item__title a {
    text-decoration: underline !important;
    color: #fff !important;
}

@media (max-width: 1023px) {
    .block--ideas__item__title {
        font-size: 1.8rem;
    }

    .block--ideas__item__title br {
        display: none;
    }
}

.block--ideas__item__title strong {
    display: block;
    color: #fff;
    font-size: 2.9rem;
}

@media (max-width: 1023px) {
    .block--ideas__item__title strong {
        margin-bottom: 1rem;
        font-size: 1.8rem;
    }
}

.block--ideas__link {
    color: #fff;
    text-decoration: underline;
    font-weight: 500;
    font-size: 1.8rem;
}

.block--ideas__link:hover {
    text-decoration: none;
}

.block--ideas .slick-dots {
    margin-top: 1.8rem;
}

.block__form {
    position: relative;
    background-size: cover;
    padding: 10.5rem 0;
}

.block__form #block-form {
    position: absolute;
    top: -6.1rem;
    left: 0;
}

.block__form .wrap-container {
    max-width: 108.2rem;
}

.block__form header {
    text-align: center;
    margin: 0 0 5rem;
    letter-spacing: 0.03em;
    color: #053a80;
}

.block__form header h2 {
    margin-bottom: 2rem;
    color: #053a80;
    font-weight: 600;
    font-size: 4rem;
    line-height: 5.2rem;
    letter-spacing: 0.03em;
}

.block__form header h2 span {
    color: #d90525;
}

.block__form header p {
    margin: 0;
    font-weight: 300;
    font-size: 2rem;
    line-height: 3rem;
    color: var(--color-primary);
}

.block__form .form-wrapper {
    padding: 2.8rem 3.5rem 3.4rem;
    background: #fff;
    position: relative;
}

.block__form .form-wrapper .merci-popup {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background: white;
    z-index: -1;
    visibility: hidden;
    opacity: 0;
    -webkit-transition-duration: .3s;
    -o-transition-duration: .3s;
    transition-duration: .3s;
}

.block__form .form-wrapper .merci-popup.show {
    opacity: 1;
    visibility: visible;
    z-index: 100;
}

.block__form .form-wrapper .merci-popup div {
    position: absolute;
    top: 50%;
    left: 50%;
    -webkit-transform: translate(-50%, -50%);
    -ms-transform: translate(-50%, -50%);
    transform: translate(-50%, -50%);
    -webkit-box-sizing: border-box;
    box-sizing: border-box;
    width: 100%;
    padding: 3rem;
    font-size: 2.6rem;
    text-align: center;
    color: #053a80;
}

.block__form .form-wrapper .merci-popup .close-popup {
    font-size: 1.6em;
    position: absolute;
    right: 1.5rem;
    top: 1rem;
    opacity: .7;
    -webkit-transition-duration: .3s;
    -o-transition-duration: .3s;
    transition-duration: .3s;
    cursor: pointer;
}

.block__form .form-wrapper .merci-popup .close-popup:hover {
    opacity: 1;
}

.block__form .form-wrapper .btn {
    text-align: center;
    margin: 3.3rem 0 2.1rem;
}

.block__form .form-wrapper .btn button {
    color: #fff;
    background: #db021b;
    text-transform: uppercase;
    padding: 0.3rem 0;
    width: 27.2rem;
    max-width: 100%;
    position: relative;
    font-size: 1.4rem;
    line-height: 1.1;
    font-weight: 700;
    -webkit-transition-duration: .3s;
    -o-transition-duration: .3s;
    transition-duration: .3s;
    border: 0.3rem solid #db021b;
    text-align: center;
    border-radius: 0.8rem;
    letter-spacing: 0.2rem;
    outline: 0;
    cursor: pointer;
}

.block__form .form-wrapper .btn button span {
    position: relative;
    z-index: 3;
}

.block__form .form-wrapper .btn button:after {
    background: #fff;
    content: '';
    position: absolute;
    z-index: 2;
    height: 100%;
    left: 0;
    top: 0;
    width: 0;
    -webkit-transition-duration: .3s;
    -o-transition-duration: .3s;
    transition-duration: .3s;
}

.block__form .form-wrapper .btn button:hover {
    text-decoration: none;
}

.block__form .form-wrapper .btn button:hover span {
    color: #db021b;
}

.block__form .form-wrapper .btn button:hover:after {
    width: 100%;
}

.block__form .form-wrapper .form-item {
    margin: 0 0 1rem;
}

.block__form .form-wrapper .form-item__title {
    margin-bottom: 4.5rem;
    color: #053a80;
    font-weight: 600;
    font-size: 2.2rem;
    text-align: center;
}

.block__form .form-wrapper .form-item__text {
    margin-bottom: 0;
}

.block__form .form-wrapper .form-item__text input {
    width: 100%;
    max-width: 52rem;
    height: 2.7rem;
    margin-bottom: 1rem;
    border: 0.1rem solid #dcdcdc;
    padding: 0 1.2rem;
    color: #053a80;
    font-weight: 300;
    font-size: 1.6rem;
    font-family: inherit;
    outline: 0;
}

.block__form .form-wrapper .form-item__text input.error {
    border-color: #d90525;
}

.block__form .form-wrapper .form-item__text .error_text {
    margin-top: -0.5rem;
}

.block__form .form-wrapper .form-item ::-webkit-input-placeholder {
    color: #829cbf;
    opacity: 1 !important;
    font-style: italic;
}

.block__form .form-wrapper .form-item ::-moz-placeholder {
    color: #829cbf;
    opacity: 1 !important;
    font-style: italic;
}

.block__form .form-wrapper .form-item :-moz-placeholder {
    color: #829cbf;
    opacity: 1 !important;
    font-style: italic;
}

.block__form .form-wrapper .form-item :-ms-input-placeholder {
    color: #829cbf;
    opacity: 1 !important;
    font-style: italic;
}

.block__form .form-wrapper .form-item__radio {
    margin-bottom: 3.1rem;
}

.block__form .form-wrapper .form-item__radio .item {
    display: inline-block;
    vertical-align: middle;
    margin-right: 2.8rem;
}

.block__form .form-wrapper .form-item__radio .item label {
    display: block;
    padding-left: 2rem;
    color: #053a80;
    font-size: 1.6rem;
    font-weight: normal;
    position: relative;
    line-height: 1.4rem;
    cursor: pointer;
}

.block__form .form-wrapper .form-item__radio .item label:before {
    content: '';
    position: absolute;
    left: 0;
    top: 0;
    border-radius: 50%;
    border: 0.1rem solid #dcdcdc;
    width: 1.2rem;
    height: 1.2rem;
}

.block__form .form-wrapper .form-item__radio .item label:after {
    content: '';
    position: absolute;
    left: 0.4rem;
    top: 0.4rem;
    background-color: #053a80;
    -webkit-transition-duration: .3s;
    -o-transition-duration: .3s;
    transition-duration: .3s;
    border-radius: 50%;
    width: 0.6rem;
    height: 0.6rem;
    -webkit-transform: scale(0);
    -ms-transform: scale(0);
    transform: scale(0);
}

.block__form .form-wrapper .form-item__radio .item label.error {
    color: #cc0033;
}

.block__form .form-wrapper .form-item__radio .item input {
    display: none;
}

.block__form .form-wrapper .form-item__radio .item input:checked~label:after {
    -webkit-transform: scale(1);
    -ms-transform: scale(1);
    transform: scale(1);
}

.block__form .form-wrapper .form-item__radio-text .item label {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
    -webkit-box-pack: center;
    -ms-flex-pack: center;
    justify-content: center;
    width: 100%;
    font-size: 1.6rem;
    font-weight: bold;
    color: #053a80;
    line-height: 1.2;
    letter-spacing: 0.05em;
    height: 5.9rem;
    border-radius: 0.5rem;
    text-align: center;
    cursor: pointer;
    -webkit-transition-duration: .3s;
    -o-transition-duration: .3s;
    transition-duration: .3s;
    background: #fff;
    margin-bottom: 1.4rem;
    -webkit-box-shadow: 0 0.9rem 0.3rem -0.9rem rgba(0, 0, 0, 0.75);
    box-shadow: 0 0.9rem 0.3rem -0.9rem rgba(0, 0, 0, 0.75);
}

.block__form .form-wrapper .form-item__radio-text .item .form-item__text {
    height: 0;
    -webkit-transition-duration: .3s;
    -o-transition-duration: .3s;
    transition-duration: .3s;
    -webkit-box-sizing: border-box;
    box-sizing: border-box;
    position: absolute;
    top: 5.3rem;
    margin: 0;
    left: 38rem;
    width: calc(100% - 41rem);
    overflow: hidden;
}

.block__form .form-wrapper .form-item__radio-text .item input[type="radio"] {
    display: none;
}

.block__form .form-wrapper .form-item__radio-text .item input[type="radio"]:checked~label {
    background: #053a80;
    color: #fff;
}

.block__form .form-wrapper .form-item__radio-text .item input[type="radio"]:checked~.form-item__text {
    height: auto;
}

.block__form .form-wrapper .form-item__radio-text .item input.error {
    border-color: #cc0033;
}

.block__form .block-text-items {
    max-width: 52rem;
}

.block__form .form {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    position: relative;
    background: #f3f4f6;
}

.block__form .form__left {
    -webkit-box-flex: 0;
    -ms-flex: 0 0 35rem;
    flex: 0 0 35rem;
    background: #dbe1ea;
    padding: 1.4rem 3.9rem 0;
}

.block__form .form__left .form-item__title {
    margin-bottom: 1.9rem;
}

.block__form .form__right {
    padding: 1.4rem 3rem 2rem;
}

.block__form .form__right .form-item__title.hasMargin {
    margin-bottom: 9.8rem;
}

.block__form .form__right p {
    color: #7f7f7f;
    font-size: 1.2rem;
    line-height: 1.2;
    margin: 0;
    text-align: justify;
    letter-spacing: -0.025em;
}

.block__form--2 {
    padding: 0;
    padding-top: 30rem;
    background: #03275b;
    background: -webkit-gradient(linear, left top, left bottom, from(#03275b), color-stop(26%, #032f6d), color-stop(45%, #04357a), color-stop(69%, #043173), to(#03275c));
    background: -o-linear-gradient(top, #03275b 0%, #032f6d 26%, #04357a 45%, #043173 69%, #03275c 100%);
    background: linear-gradient(to bottom, #03275b 0%, #032f6d 26%, #04357a 45%, #043173 69%, #03275c 100%);
    filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#03275b', endColorstr='#03275c', GradientType=0);
}

.block__form--2 .form-wrapper {
    padding-bottom: 5rem;
}

.block__form--2 .form-wrapper .form-item__title {
    margin-bottom: 2.7rem;
}

.block__form--2 .form-wrapper .form-item__radio {
    margin-bottom: 1.1rem;
    margin-top: 1.9rem;
}

.block__form--2 header {
    margin-bottom: 3.9rem;
}

.block__form--2 .form {
    max-width: 69rem;
    margin: 0 auto;
}

.block__form--2 .form__right {
    max-width: 58.8rem;
    margin: 0 auto;
    padding-bottom: 3.5rem;
}

.block__form--2 .sponsor {
    position: absolute;
    top: 2.4rem;
    left: 2.8rem;
    z-index: 1;
    color: #053a80;
    font-size: 1.2rem;
}

.block__form--2 .sponsor img {
    width: 9.3rem;
    margin: 0.6rem auto;
}


/* Si le conteneur dâ€™actions est en flex, on Ã©vite les dÃ©bords */
.block__form .form-actions,
.block__form .form__actions,
.block__form .block_form__form__actions {
    display: flex;
    flex-wrap: wrap;
    gap: 1.2rem;
}

/* Option : compacte un peu la hauteur du bouton */
.block__form .btn {
    min-height: 4.8rem;
    padding: 1rem 1.4rem;
    line-height: 1.15;
}

.wrap-container {
    padding: 0 2rem;
    width: 100%;
    max-width: 112rem;
    -webkit-box-sizing: border-box;
    box-sizing: border-box;
    margin: 0 auto;
}

.block__frontpage--block-banners h2 {
    font-size: 4rem;
    line-height: 1.5;
    color: var(--color-secondary);
}

.block__frontpage--block-banners {
    -webkit-box-sizing: border-box;
    box-sizing: border-box;
    padding: 7rem 1.5rem;
    text-align: center;
}

.block__frontpage--block-banners h2 {
    margin-bottom: 5.5rem;
}

.block__frontpage--block-banners .banners-block {
    width: 100%;
    max-width: 126.5rem;
    margin: 0 auto;
    padding: 0 5.5rem;
    -webkit-box-sizing: border-box;
    box-sizing: border-box;
    position: relative;
}

.block__frontpage--block-banners .banners-block li {
    -webkit-box-sizing: border-box;
    box-sizing: border-box;
    padding: 0 2.3rem;
    outline: none;
}

.block__frontpage--block-banners .banners-block li .block-wrapper {
    height: 14rem;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -ms-flex-wrap: wrap;
    flex-wrap: wrap;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
    -webkit-box-pack: center;
    -ms-flex-pack: center;
    justify-content: center;
}

.block__frontpage--block-banners .banners-block li .block-wrapper img {
    display: block;
    width: auto;
    height: auto;
    max-width: 100%;
    max-height: 100%;
}

.block__frontpage--block-banners .banners-block .slick-arrow {
    width: 4rem;
    height: 7.4rem;
    background-image: url("assets/images/icon-arrow-left.png");
    background-position: center;
    background-repeat: no-repeat;
    background-size: contain;
    top: 50%;
    margin-top: -3.7rem;
    border: none !important;
    left: 0;
    position: absolute;
    cursor: pointer;
}

.block__frontpage--block-banners .banners-block .slick-next {
    -webkit-transform: rotate(180deg);
    -ms-transform: rotate(180deg);
    transform: rotate(180deg);
    left: auto;
    right: 0;
}

.form .error_text {
    display: none;
}

.error_text {
    font-size: 1.2rem;
    color: red;
    margin: 0.5rem 0 1rem;
    display: none;
}

.form.sb-show-invalid input:invalid~.error_text,
.form.sb-show-invalid input.is-invalid~.error_text {
    display: block;
}

.block--propos__block__icons {
    padding: 8.8rem 4rem 10.6rem;
    background: #fff;
    text-align: center;
}

.block--propos__block__icons .content {
    position: relative;
    max-width: 126.5rem;
    padding: 0 5.5rem;
    margin: 0 auto;
}



.block--propos__block__icons h2 {
    margin-bottom: 5.7rem;
    font-weight: 800;
    font-size: 4rem;
    color: var(--color-secondary);
}



.block--propos__block__icons .faq__btn {
    padding: 3.2rem 0 0;
}

.block--propos__block__icons .faq__btn a {
    padding: 0.4rem 2.8rem;
    font-size: 2rem;
    line-height: 1;
    width: auto;
}

.block__icons .item h4 {
    font-size: 1.4rem;
    line-height: 1.4;
    color: #000;
    margin: 0.8rem 0 0;
    font-weight: 700;
    letter-spacing: 0;
    text-decoration: underline;
}

.block__icons .item {
    display: block;
    text-align: center;
    padding: 0 5.3rem;
    padding: 0 2.7rem;
    margin: 0 0 8rem;
    -webkit-box-sizing: border-box;
    box-sizing: border-box;
}

.a-propos .block__icons .item {
    width: 100%;

}

.block__icons .item:hover,
.block__icons .item:focus {
    text-decoration: none;
}

.block__icons .item:hover h4,
.block__icons .item:focus h4 {
    text-decoration: underline;
}

.block__icons .item .img {
    position: relative;
    width: 100%;
    height: 0;
    padding-top: 100%;
}

.block__icons .item .img img {
    position: absolute;
    top: 50%;
    left: 50%;
    -webkit-transform: translate(-50%, -50%);
    -ms-transform: translate(-50%, -50%);
    transform: translate(-50%, -50%);
    max-width: 100%;
    max-height: 100%;
}

.a-propos .block__icons .item .img img {
    width: 12.5rem;
}

.block__icons .content {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -ms-flex-wrap: wrap;
    flex-wrap: wrap;
    margin: 0 auto;
}

.title__h1 {
    color: #d90525;
    text-align: center;
    margin: 0 0 10rem;
    font-size: 5.2rem;
    font-weight: normal;
    padding-top: 10rem;
}

.block__icons .item {
    width: 20%;
    text-align: center;
    padding: 0 2.7rem;
    margin: 0 0 8rem;
    -webkit-box-sizing: border-box;
    box-sizing: border-box;
}

.block__icons footer {
    text-align: center;
    display: none;
}

.faq__btn a {
    color: #fff;
    background: var(--color-secondary);
    text-transform: uppercase;
    padding: 1.2rem 2.1rem;
    /* width: 32.4rem; */
    position: relative;
    font-size: 1.8rem;
    font-weight: 700;
    -webkit-transition-duration: .3s;
    -o-transition-duration: .3s;
    transition-duration: .3s;
    border: 0.3rem solid var(--color-secondary);
    text-align: center;
    border-radius: 0.5rem;
    letter-spacing: 0.2rem;
}

.je-publie-mon-action {
    background: #fff !important;
}

.inner-wrapper.form-wrapper {
    max-width: 98rem;
    margin: 0 auto;
    padding: 0 1.6rem;
}

/* ===== Title like actions-genereuses ===== */
.block-title-page {
    margin: 1.8rem 0 1.4rem;
}

/* ===== Unified sizing & spacing ===== */
:root {
    --gtH: 5.1rem !important;
    --gtGap: 1.2rem;
    --gtRadius: 1.4rem;
    --gtBorder: rgba(0, 0, 0, .14);
    --gtBlue: #1f2e7a;
    --gtAccent: rgba(220, 0, 70, .08);
}

.input-block-wrapper {
    margin: 0 0 1.8rem;
}

.input-wrapper {
    margin: 0 0 var(--gtGap);
}

.input-title {
    font-weight: 900;
    margin: 0 0 1rem;
}

.req {
    color: #d81b60;
    margin-left: 0.6rem;
    font-weight: 900;
}

/* Inputs same height */
.input-wrapper input[type="text"],
.input-wrapper input[type="email"],
.input-wrapper input[type="url"],
.input-wrapper input[type="date"],
.input-wrapper select {
    height: var(--gtH) !important;
    width: 100%;
    box-sizing: border-box;
    border: 1px solid var(--gtBorder);
    border-radius: var(--gtRadius);
    padding: 0 1.4rem;
    background: #fff;
    font-size: 1.8rem !important;
}

.input-wrapper textarea {
    width: 100%;
    box-sizing: border-box;
    border: 1px solid var(--gtBorder);
    border-radius: var(--gtRadius);
    padding: 1.4rem 1.4rem;
    background: #fff;
    min-height: 13rem;
    font-size: 1.8rem !important;
}

/* Errors */
.block__form .error_text {
    display: none;
    font-size: .92rem;
    margin-top: .35rem;
    color: #c62828;
    text-align: left;
}

.block__form .error_text.show {
    display: block;
}

/* ===== Validation states (added) ===== */
.is-invalid {
    border-color: #c62828 !important;
    box-shadow: 0 0 0 0.3rem rgba(198, 40, 40, .10);
}

.gtwiz__cards.is-invalid .gtwiz__card {
    border-color: #c62828 !important;
}


/* ===== Wizard header (centered) ===== */
.gtwiz__head {
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 1rem;
    margin-bottom: 1.8rem;
}

/* Steps with segment under each (centered) */
.gtwiz__steps {
    list-style: none;
    padding: 0;
    margin: 0;
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: 1.4rem;
    width: min(86rem, 100%);
    pointer-events: none;
    /* stepper not clickable */
}

.gtwiz__step {
    cursor: default;
    user-select: none;
    text-align: center;
}

.gtwiz__stepTop {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 1rem;
    font-weight: 900;
    font-size: 1.6rem;
    /* a bit bigger */
    opacity: .55;
}

.gtwiz__step .n {
    width: 3rem;
    height: 3rem;
    border-radius: 999px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    border: 1px solid rgba(0, 0, 0, .18);
    background: #fff;
    font-size: 1.4rem;
}

.gtwiz__seg {
    height: 1rem;
    border-radius: 999px;
    background: rgba(0, 0, 0, .10);
    margin-top: 1rem;
    overflow: hidden;
}

.gtwiz__seg i {
    display: block;
    height: 100%;
    width: 0%;
    background: var(--gtBlue);
    /* default = blue */
    border-radius: 999px;
    transition: width .25s ease;
}

/* Segments: when a step is validated (done), make its segment green (consistent) */
.gtwiz__step.is-done .gtwiz__seg i {
    background: #2e7d32;
}

/* Active but not yet validated stays blue */
.gtwiz__step.is-active:not(.is-done) .gtwiz__seg i {
    background: var(--gtBlue);
}

.gtwiz__step.is-active .gtwiz__stepTop {
    opacity: 1;
}

.gtwiz__step.is-done .gtwiz__stepTop {
    opacity: .85;
}

.gtwiz__step.is-done .n {
    background: rgba(46, 125, 50, .10);
    border-color: rgba(46, 125, 50, .55);
    color: #2e7d32;
}

.gtwiz__step.is-active .n {
    background: var(--gtBlue);
    border-color: var(--gtBlue);
    color: #fff;
}

/* If the current step is ALSO done (ex: step 4 after publication), keep it green */
.gtwiz__step.is-active.is-done .n {
    background: rgba(46, 125, 50, .10);
    border-color: rgba(46, 125, 50, .55);
    color: #2e7d32;
}

.gtwiz__step.is-active .gtwiz__seg i,
.gtwiz__step.is-done .gtwiz__seg i {
    width: 100%;
}

/* Buttons pseudo-disabled */
.gtwiz__btn.is-disabled {
    opacity: .45;
    cursor: not-allowed;
}


/* Force invalid borders on actual controls (theme-proof) */
.input-wrapper input.is-invalid,
.input-wrapper textarea.is-invalid,
.input-wrapper select.is-invalid,
.gtui__selectBtn.is-invalid {
    border-color: #c62828 !important;
    box-shadow: 0 0 0 0.3rem rgba(198, 40, 40, .10) !important;
}

/* Neutralize native :invalid styles (some themes paint red by default) */
#gt-publish-form:not(.gt-show-invalid) input:invalid,
#gt-publish-form:not(.gt-show-invalid) textarea:invalid,
#gt-publish-form:not(.gt-show-invalid) select:invalid {
    border-color: var(--gtBorder) !important;
    box-shadow: none !important;
}


/* Recap a bit sexier */
.gtwiz__recap {
    border: 1px solid rgba(0, 0, 0, .10);
    border-radius: 1.6rem;
    padding: 1.4rem;
    background: rgba(0, 0, 0, .02);
}

.gtwiz__recapRow {
    display: grid;
    grid-template-columns: 16rem 1fr;
    gap: 1.2rem;
    padding: 1rem 0.8rem;
    border-bottom: 1px solid rgba(0, 0, 0, .06);
}

.gtwiz__recapRow:last-child {
    border-bottom: none;
}

.gtwiz__recapKey {
    font-weight: 900;
    opacity: .75;
}

.gtwiz__recapVal {
    font-weight: 700;
}

/* ===== Panels ===== */
.gtwiz__panel {
    display: none;
    background: #fff;
    border: 1px solid rgba(0, 0, 0, .10);
    border-radius: 1.8rem;
    padding: 2.2rem 2.2rem;
    max-width: 86rem;
    margin: 0 auto 1.8rem;
    box-shadow: 0 0.8rem 2.2rem rgba(0, 0, 0, .06);
}

.gtwiz__panel.is-active {
    display: block;
}

.gtwiz__panelTitle {
    margin: 0 0 1.4rem;
    font-size: 2.2rem;
    font-weight: 900;
}

/* ===== Card radios (bullets centered & consistent height) ===== */
.gtwiz__cards {
    display: grid;
    grid-template-columns: 1fr;
    gap: var(--gtGap);
    margin-bottom: var(--gtGap);
}

@media (min-width: 740px) {
    .gtwiz__cards {
        grid-template-columns: 1fr 1fr;
    }
}

.gtwiz__card {
    border: 1px solid var(--gtBorder);
    border-radius: var(--gtRadius);
    padding: 0 1.4rem;
    min-height: var(--gtH);
    display: flex;
    align-items: center;
    /* bullet vertically centered */
    gap: 1rem;
    cursor: pointer;
    background: #fff;
}

.gtwiz__card:hover {
    box-shadow: 0 0.6rem 1.6rem rgba(0, 0, 0, .06);
}

.gtwiz__card input {
    width: 1.8rem;
    height: 1.8rem;
    margin: 0;
}

.gtwiz__card strong {
    font-weight: 900;
}

/* ===== Custom dropdown (Secteur/Région/Catégorie) ===== */
.gtui__dropdown {
    position: relative;
}

.gtui__selectBtn {
    width: 100%;
    height: var(--gtH);
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 1.2rem;
    border: 1px solid var(--gtBorder);
    border-radius: var(--gtRadius);
    padding: 0 1.4rem;
    background: #fff;
    font-weight: 900;
    cursor: pointer;
}

.gtui__selectBtn .chev {
    opacity: .65;
    font-size: 1.2rem;
}

.gtui__panel {
    display: none;
    margin-top: 1rem;
    border: 1px solid rgba(0, 0, 0, .12);
    background: #fff;
    border-radius: var(--gtRadius);
    overflow: hidden;
}

.gtui__dropdown.is-open .gtui__panel:focus-within,
.gtui__dropdown.is-open .gtui__panel {
    display: block;
}

.gtui__dropdown.is-open .gtui__panel {
    display: block;
}

.gtui__panel label {
    display: flex;
    align-items: center;
    gap: 1rem;
    padding: 1.2rem 1.4rem;
    border-bottom: 1px solid rgba(0, 0, 0, .06);
    cursor: pointer;
    font-size: 1.6rem;
}

.gtui__panel label:last-child {
    border-bottom: 0;
}

.gtui__panel input {
    width: 1.8rem;
    height: 1.8rem;
    margin: 0;
}

@media (min-width: 768px) {
    .gtui__panel {
        max-height: 26rem;
        overflow: auto;
    }
}

/* ===== Date picker clickable whole box ===== */
.gtui__dateWrap {
    position: relative;
    cursor: pointer;
}

.gtui__dateWrap input[type="date"] {
    pointer-events: none;
    appearance: none;
    -webkit-appearance: none;
    padding-right: 4.4rem;
}

.gtui__dateIcon {
    position: absolute;
    right: 1.4rem;
    top: 50%;
    transform: translateY(-50%);
    opacity: .55;
    pointer-events: none;
}

/* ===== Upload button ===== */
.gtui__upload {
    display: flex;
    align-items: center;
    gap: 1.2rem;
    min-height: var(--gtH);
}

.gtui__button {
    height: var(--gtH);
    border: 1px solid rgba(0, 0, 0, .18);
    border-radius: var(--gtRadius);
    background: #fff;
    padding: 0 1.4rem;
    font-weight: 900;
    cursor: pointer;
}

.gtui__filename {
    font-weight: 700;
    opacity: .85;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}

/* ===== Buttons ===== */
.gtwiz__actions {
    display: flex;
    justify-content: flex-end;
    gap: 1.2rem;
    margin-top: 0.6rem;
}

.gtwiz__btn {
    height: var(--gtH);
    border: 1px solid rgba(0, 0, 0, .18);
    border-radius: var(--gtRadius);
    background: #fff;
    padding: 0 1.6rem;
    font-weight: 900;
    cursor: pointer;
}

.gtwiz__btn--primary {
    border: 0;
    background: var(--gtBlue);
    color: #fff;
    padding: 0 1.8rem;
}

.gtwiz__btn:disabled {
    opacity: .55;
    cursor: not-allowed;
}

/* ===== Recap preview ===== */
.gtwiz__recap {
    display: grid;
    gap: 1rem;
    margin-bottom: 1.4rem;
}

.gtwiz__recapItem {
    border: 1px solid rgba(0, 0, 0, .10);
    border-radius: var(--gtRadius);
    padding: 1.2rem 1.2rem;
    display: flex;
    justify-content: space-between;
    gap: 1.2rem;
}

.gtwiz__recapItem strong {
    font-weight: 900;
}

.gtwiz__recapItem span {
    opacity: .85;
    text-align: right;
    overflow-wrap: anywhere;
}

#gt-publish-msg {
    margin-top: 1rem;
    font-weight: 900;
    text-align: center;
}

#gt-publish-msg.success {
    color: #0a7a3d;
}

#gt-publish-msg.error {
    color: #c62828;
}

.gtwiz__success {
    border: 1px solid rgba(10, 122, 61, .25);
    background: rgba(10, 122, 61, .06);
    border-radius: var(--gtRadius);
    padding: 1.4rem 1.4rem;
    font-weight: 900;
}

/* Neutralise les styles :invalid du thème (on affiche le rouge uniquement quand on le décide en JS) */
#gt-publish-form input:invalid,
#gt-publish-form textarea:invalid,
#gt-publish-form select:invalid {
    box-shadow: none !important;
    outline: none !important;
}

#gt-publish-form:not(.gt-show-invalid) input:invalid,
#gt-publish-form:not(.gt-show-invalid) textarea:invalid,
#gt-publish-form:not(.gt-show-invalid) select:invalid {
    border-color: rgba(0, 0, 0, .14) !important;
}

.gtui__dateIcon {
    display: none;
}

button[disabled],
button[type="submit"][disable],
input[type="submit"][disabled] {
    opacity: .45;
    cursor: not-allowed;
}

.is-loading {
    opacity: .45;
    cursor: not-allowed;
}

.gtui__dateWrap input[type="date"] {
    padding-right: 0.8rem !important;
}

/* ===============================
   MOBILE UX – STEPPER + BUTTONS
   =============================== */
@media (max-width: 768px) {

    /* Stepper: chiffres only */
    .gtwiz__steps {
        gap: 1rem;
    }

    .gtwiz__stepTop {
        gap: 0;
        font-size: 0;
    }

    .gtwiz__stepTop .t {
        display: none !important;
    }

    .gtwiz__step .n {
        width: 3.6rem;
        height: 3.6rem;
        font-size: 1.4rem;
    }

    /* garde une petite barre sous chaque step (lisible) */
    .gtwiz__seg {
        height: 0.8rem;
        margin-top: 0.8rem;
    }

    /* Buttons: full width */
    .gtwiz__actions {
        flex-direction: column;
        align-items: stretch;
        justify-content: flex-start;
        gap: 1.2rem;
    }

    .gtwiz__btn {
        width: 100%;
        min-height: 4.8rem;
        font-size: 1.6rem;
    }
}

.je-publie-mon-action {
    padding: 10rem 0 9rem 0;
}

.je-publie-mon-action .block__actions--main h1 {
    margin-bottom: 8rem;
}

.gtwiz__panelTitle {
    color: var(--color-secondary);
}

.input-title,
.gtwiz__card strong,
.gtui__selectBtn span,
.gtwiz__recapKey,
.gtwiz__recapVal,
#gt-publish-msg,
.gtwiz__success {
    font-size: 1.6rem;
    color: var(--color-title);
}

.gtwiz__recapVal {
    color: var(--color-title);
}

/* ===== Styles compacts + legacy voice ===== */
.block__actions_filter .input-wrap {
    margin-bottom: 1.6rem;
}

/* Grille */
#gt-actions-ul {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(30rem, 1fr));
    gap: 2.4rem;
    list-style: none;
    margin: 0;
    padding: 0;
}

#gt-actions-ul>li {
    width: 100% !important;
    min-width: 0;
}

/* Anti-Slick */
#gt-actions-ul.slick-initialized .slick-list {
    overflow: visible !important;
}

#gt-actions-ul.slick-initialized .slick-track {
    display: grid !important;
    grid-template-columns: repeat(auto-fit, minmax(30rem, 1fr)) !important;
    gap: 2.4rem !important;
    width: 100% !important;
    transform: none !important;
}

#gt-actions-ul.slick-initialized .slick-slide {
    width: auto !important;
    float: none !important;
    display: block !important;
}

#gt-actions-ul .slick-dots,
#gt-actions-ul .slick-arrow,
#gt-actions-ul .slick-cloned {
    display: none !important;
}

/* Accessibilité */
.sr-only {
    position: absolute !important;
    width: 0.1rem;
    height: 0.1rem;
    padding: 0;
    margin: -0.1rem;
    overflow: hidden;
    clip: rect(0, 0, 0, 0);
    white-space: nowrap;
    border: 0;
}

/* === LOOK LEGACY “Don de la voix” === */
.action-block--voice .action-media img {
    display: block;
    width: 100%;
    height: auto;
    aspect-ratio: 16/9;
    object-fit: cover;
    border-top-left-radius: 0.6rem;
    border-top-right-radius: 0.6rem;
}

.action-block--voice .head-block {
    padding: 0.8rem 1.2rem 0;
}

.action-block--voice .info-block {
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 0.4rem;
    margin-top: 0.8rem;
}

.action-block--voice .date-block {
    font-weight: 700;
    color: #0b3f8f;
    text-align: center;
    margin: 0.8rem 0 0;
}

.action-block--voice .loc-block {
    color: #324a6d;
    font-size: .95rem;
    text-align: center;
}

.action-block--voice .title {
    text-transform: uppercase;
    font-weight: 800;
    text-align: center;
    color: #09326d;
    margin-top: 0.6rem;
}

.action-block--voice .text-block {
    padding: 0.6rem 1.2rem 1rem;
    text-align: center;
}

.action-block--voice .gt-desc p {
    margin: 0.8rem 0 1rem;
    color: #263145;
    text-align: center;
    line-height: 1.4;
}

/* Empêche l’effondrement visuel au ré-render */
.action-block--voice .gt-desc {
    display: -webkit-box;
    -webkit-box-orient: vertical;
    -webkit-line-clamp: 8;
    /* 250 caractères ≈ 6 lignes */
    overflow: hidden;
    min-height: 1.25rem;
}

.action-block--voice .link-wrap a {
    font-weight: 700;
    color: #0b3f8f;
    text-decoration: underline;
}

.action-block--voice .share-legacy {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 1rem;
    background: #0b3f8f;
    color: #fff;
    border-bottom-left-radius: 0.6rem;
    border-bottom-right-radius: 0.6rem;
    padding: 1rem 1.2rem;
    margin-top: 0.8rem;
}

.action-block--voice .share-legacy ul {
    display: flex;
    gap: 1.2rem;
    margin: 0;
    padding: 0;
    list-style: none;
}

.action-block--voice .share-legacy a {
    color: #fff;
    text-decoration: none;
}

.block__actions_list--more-block {
    text-align: center;
    margin: 2.4rem 0 0.8rem;
}

.actions_list--more.no-more {
    display: none !important;
}

.actions_list--more.is-loading {
    opacity: .6;
    pointer-events: none;
}

#gt-actions-ul img {
    opacity: 1 !important;
    visibility: visible !important;
}

/* Multiselect UI */
.checkboxes_multiselect {
    position: relative;
}

.checkboxes_multiselect .action-select-page {
    display: none;
    position: absolute;
    z-index: 6;
    background: #fff;
    border: 0.1rem solid #dfe7f2;
    padding: 0.8rem 1.2rem;
    max-height: 26rem;
    overflow: auto;
    min-width: 26rem;
    box-shadow: 0 0.8rem 2.4rem rgba(0, 0, 0, .08);
}

.checkboxes_multiselect .selectBox {
    position: relative;
    cursor: pointer;
}

.select-of-page-action {
    width: 100%;
    appearance: none;
    -webkit-appearance: none;
    background: #f6f8fb;
    border: 0.1rem solid #dfe7f2;
    padding: 0.8rem 1.2rem;
    border-radius: 0.6rem;
}

/* Hack ciblé Safari iOS */
@supports (-webkit-touch-callout: none) {
    @media (max-width: 991px) {

        /* Le bloc filtres reste devant son contenu, mais derrière les cartes */
        .block__actions_filter {
            position: relative;
            z-index: 10;
        }

        /* La liste des actions passe AU-DESSUS de tout ça */
        .block__actions_list,
        #gt-actions-ul {
            position: relative;
            z-index: 30;
        }

        /* Le panneau déroulant du multiselect reste au-dessus de son select... */
        .checkboxes_multiselect .action-select-page {
            z-index: 20;
        }

        /* ...mais n’écrase plus les cartes */
        #gt-actions-ul>li,
        #gt-actions-ul>li .action-block--voice {
            position: relative;
            z-index: 40;
        }
    }
}

@media (max-width: 991px) {
    .block__frontpage--intro {
        transform: none !important;
    }
}

/* ============================
   FIX MOBILE / iPHONE
   ============================ */
@media (max-width: 991px) {

    /* 1. Grille : 1 colonne en mobile, plus safe */
    #gt-actions-ul {
        grid-template-columns: 1fr;
    }

    /* 2. Filtres : z-index bas */
    .block__actions_filter {
        position: relative;
        z-index: 5;
    }

    /* 3. Multiselect : overlay local, mais pas au-dessus des cartes */
    .checkboxes_multiselect {
        position: relative;
        z-index: 6;
    }

    .checkboxes_multiselect .action-select-page {
        z-index: 7;
        /* au-dessus du select, mais pas des cartes */
    }

    /* 4. Liste d’actions : toujours devant les filtres */
    .block__actions_list,
    #gt-actions-ul {
        position: relative;
        z-index: 10;
    }

    /* 5. Chaque carte : top du stack */
    #gt-actions-ul>li,
    #gt-actions-ul>li .action-block--voice {
        position: relative;
        z-index: 11;
    }
}

/* ============================
   MULTISELECT : FIX SPECIAL iPHONE
   ============================ */
@media (max-width: 991px) {

    /* Panneau = overlay indépendant du flow */
    .checkboxes_multiselect .action-select-page {
        position: fixed !important;
        top: 10rem;
        /* juste sous le header GT */
        left: 0;
        right: 0;
        z-index: 9999;
        width: 100%;
        max-height: 60vh;
        overflow-y: auto;
        border-radius: 0.8rem;
        background: #fff;
        box-shadow: 0 1rem 3rem rgba(0, 0, 0, 0.18);
        display: none;
        /* ton JS gère déjà l’ouverture */
        padding: 1.6rem;
    }

    /* Le conteneur parent ne doit plus créer de stacking context */
    .checkboxes_multiselect {
        position: static !important;
        z-index: auto !important;
        overflow: visible !important;
    }

    /* Les cartes doivent rester claires sous l’overlay */
    #gt-actions-ul>li {
        position: relative;
        z-index: 1;
    }
}

/* ============================
   FORCER "VOIR PLUS D'ACTIONS" EN MOBILE
   ============================ */
@media (max-width: 991px) {

    /* Le conteneur général de la liste ne doit rien couper */
    .block__actions_list,
    .block__actions_list .wrap {
        overflow: visible !important;
        height: auto !important;
        max-height: none !important;
    }

    /* Le bloc qui contient le lien doit être visible et cliquable */
    .block__actions_list--more-block {
        display: block !important;
        visibility: visible !important;
        position: relative;
        z-index: 5;
        margin: 2.4rem 0 4rem !important;
    }

    /* Le lien lui-même : pas de display:none, pas de opacité chelou */
    .actions_list--more {
        display: inline-block !important;
        visibility: visible !important;
        opacity: 1 !important;
        pointer-events: auto !important;
    }

    /* On neutralise la classe no-more côté CSS pour tester */
    .actions_list--more.no-more {
        display: inline-block !important;
    }
}

.page__actions-actions-a-decouvrir {
    padding-top: 10rem;
    padding-bottom: 10rem;
}

.block__actions .inner-wrapper {
    margin: 0 auto;
    width: 100%;
    max-width: 112rem;
    padding: 0 1.5rem;
}

.block__actions_filter {
    border-bottom: 0.1rem solid #000000;
    -webkit-box-sizing: border-box;
    box-sizing: border-box;
    margin-bottom: 5.4rem;
    margin-top: 5rem;
}

.block__actions_filter .actions-filter-form-block,
.block__participent_filter .participent-filter-form-block {
    float: right;
}

.block__actions_filter .actions-filter-form-block,
.block__participent_filter .participent-filter-form-block {
    float: right;
}

@media (max-width: 41.9rem) {

    .block__actions_filter .actions-filter-form-block,
    .block__participent_filter .participent-filter-form-block {
        text-align: right;
    }
}

.block__actions_filter .actions-filter-form-block .input-wrap,
.block__participent_filter .participent-filter-form-block .input-wrap {
    font-size: 1.6rem;
    font-weight: 300;
    color: #1a1a1a;
    display: inline-block;
    width: 19rem;
    text-align: right;
    position: relative;
}

.block__actions_filter .actions-filter-form-block .input-wrap:first-child {
    width: 46rem;
}

.block__actions_filter .actions-filter-form-block .input-wrap:first-child:before {
    content: none;
    width: 0.1rem;
    height: 50%;
    background: #000;
    position: absolute;
    display: block;
    left: 0;
    top: 25%;
}

@media (max-width: 76.8rem) {

    .block__actions_filter .actions-filter-form-block .input-wrap:after,
    .block__participent_filter .participent-filter-form-block .input-wrap:after {
        display: none;

    }

    .block__actions_filter .actions-filter-form-block .input-wrap:first-child:before,
    .block__participent_filter .participent-filter-form-block .input-wrap:first-child:before {
        display: none;
    }
}

@media (max-width: 76.8rem) {
    .block__actions_filter .actions-filter-form-block .input-wrap:first-child:after {
        display: none;
    }
}

.block__actions_filter .actions-filter-form-block .input-wrap label {
    display: inline-block;
    vertical-align: middle;
    line-height: 1;
}

.block__actions_filter .actions-filter-form-block .input-wrap .selectric-wrapper,
.block__participent_filter .participent-filter-form-block .input-wrap .selectric-wrapper {
    display: inline-block;
    vertical-align: middle;
}

.block__actions_filter .actions-filter-form-block .input-wrap .selectric,
.block__participent_filter .participent-filter-form-block .input-wrap .selectric {
    width: auto;
    background: 0;
}

.block__actions_filter .actions-filter-form-block .input-wrap .selectric .label,
.block__participent_filter .participent-filter-form-block .input-wrap .selectric .label {
    margin-right: 3.5rem;
}

@media (max-width: 991px) {

    .block__actions_filter .actions-filter-form-block .input-wrap,
    .block__participent_filter .participent-filter-form-block .input-wrap {
        width: 60rem;
        display: block;
        margin: auto;
        text-align: center;
        margin-bottom: 4rem;
    }

    .block__actions_filter .actions-filter-form-block .input-wrap .selectric,
    .block__participent_filter .participent-filter-form-block .input-wrap .selectric {
        width: 100%;
        background: #FFF;
        border-radius: 0.2rem;
        -webkit-box-shadow: 0 0.3rem 0.6rem -0.3rem rgba(77, 77, 77, 0.69);
        -moz-box-shadow: 0 0.3rem 0.6rem -0.3rem rgba(77, 77, 77, 0.69);
        box-shadow: 0 0.3rem 0.6rem -0.3rem rgba(77, 77, 77, 0.69);
    }
}

@media (max-width: 57.5rem) {

    .block__actions_filter .actions-filter-form-block .input-wrap,
    .block__participent_filter .participent-filter-form-block .input-wrap {
        padding-left: 1.5rem;
    }
}

@media (max-width: 76.7rem) {

    .block__actions_filter .actions-filter-form-block,
    .block__participent_filter .participent-filter-form-block {
        float: none;
    }
}

.block__actions--form form .input-block-wrapper__i-am .inner-input-wrapper #sa_checkboxes label,
.page-id-39 .block__actions_filter .actions-filter-form-block .input-wrap .action-select-page label,
.page-id-4680 .block__actions_filter .actions-filter-form-block .input-wrap .action-select-page label,
.page-id-37 .block__participent_filter .participent-filter-form-block .input-wrap .action-select-pageO label {
    display: block;
    text-align: left;
    padding: 0;
    margin: 0;
    font-weight: 300;
    border: none;
    border-radius: 0;
    text-transform: none;
    font-size: 1.5rem;
    -webkit-box-align: start;
    -webkit-box-pack: start;
    color: #919191;
    height: auto;
}

.page-id-39 .block__actions_filter .actions-filter-form-block .input-wrap .action-select-page label,
.page-id-4680 .block__actions_filter .actions-filter-form-block .input-wrap .action-select-page label,
.page-id-37 .block__participent_filter .participent-filter-form-block .input-wrap .action-select-pageO label {
    color: #000;
    display: flex;
    align-items: center;
    flex-direction: row-reverse;
    padding-bottom: 0.8rem;
    padding-top: 0.8rem;
    position: relative;
    font-size: 1.6rem;
    text-align: right;
}

.page-id-39 .block__actions_filter .actions-filter-form-block .input-wrap .action-select-page label::after,
.page-id-4680 .block__actions_filter .actions-filter-form-block .input-wrap .action-select-page label::after,
.page-id-37 .block__participent_filter .participent-filter-form-block .input-wrap .action-select-pageO label::after {
    content: '';
    display: block;
    position: absolute;
    left: 0;
    right: 0;
    bottom: 0;
    max-width: 90%;
    margin: 0 auto;
    border-bottom: 0.1rem solid #000;
}

.page-id-39 .block__actions_filter .actions-filter-form-block .input-wrap .action-select-page label:last-child::after,
.page-id-4680 .block__actions_filter .actions-filter-form-block .input-wrap .action-select-page label:last-child::after,
.page-id-37 .block__participent_filter .participent-filter-form-block .input-wrap .action-select-pageO label:last-child::after {
    content: none;
}

.slick-slider .slick-track:after,
.wrap-section:after,
.block__actualites--news-all .news-list-all:after,
.block__actualites--content .news-content .status-block:after,
.block__actualites--content .news-content .text-block .title-text-block:after,
.block__actions_filter:after,
.block__actions_list>ul:after,
.block__actions_list .slick-track:after,
.block__actions_list>ul .action-block .social-block ul:after,
.block__actions_list .slick-track .action-block .social-block ul:after,
.block__actions--form form .input-block-wrapper:after,
.block__frontpage--block-files .download-block:after,
.block__frontpage--block-social .social-manual:after,
.block__participent_filter:after,
.block__participent_list:after,
.block__participent_list li:after,
.block__soutiennent .soutiennent-list:after,
.block__presse .inner-wrapper:after,
.block__presse .presse-list:after,
.news-list:after {
    content: '';
    display: table;
    width: 100%;
    height: 0;
    clear: both;
    opacity: 0;
}

.block__actions_list>ul .action-block-container .action-block,
.block__actions_list .action-block-container .action-block {
    background: #fff;
    -webkit-box-sizing: border-box;
    box-sizing: border-box;
    width: 100%;
    height: 100%;
    padding: 0;
    -webkit-box-shadow: 0 0 0.3rem 0 rgba(0, 0, 0, 0.35);
    box-shadow: 0 0 0.3rem 0 rgba(0, 0, 0, 0.35);
}

.block__actions_list>ul .action-block-container,
.block__actions_list .action-block-container {
    position: relative;
    height: 100%;
}

.block__actions_list>ul>li,
.block__actions_list .slick-track>li {
    float: left;
    width: 33.3333%;
    padding: 0 1.5rem;
    margin-bottom: 6rem;
    outline: none;
}

#gt-actions-ul>li {
    width: 100% !important;
    min-width: 0;
}

.block__actions_list>ul .action-block .text-block,
.block__actions_list .action-block .text-block {
    color: #1a1a1a;
    padding: 1rem 3.5rem;
    word-wrap: break-word;
    word-break: break-word;
    -webkit-box-flex: 1;
    -ms-flex-positive: 1;
    flex-grow: 1;
    text-align: center;
}

.block__actions_list>ul .action-block-container .action-block,
.block__actions_list .action-block-container .action-block {
    display: flex;
    flex-direction: column;
}

.block__actions_list>ul .action-block .head-block .title-block .title,
.block__actions_list .action-block .head-block .title-block .title {
    font-size: 2.2rem;
    font-weight: 700;
}

.action-block--voice .gt-desc p,
.action-block--voice .link-wrap a,
.action-block--voice .share-legacy,
.actions_list--more {
    font-size: 1.6rem;
}

.actions_list--more {
    color: var(--color-secondary);
    font-weight: 700;
    text-decoration: underline;
    transition-duration: 0.3s;
}

.actions_list--more:hover {
    color: var(--color-primary);
}

/* highlight-card Start */
.block--highlight-card {
    padding: 8rem 0;
    background-position: center;
    background-size: cover;
    background-repeat: no-repeat;
    text-align: center;
}

.block--highlight-card .container {
    max-width: 128rem;
}

.highlight-card {
    border-radius: 2rem;
    padding: 4.8rem 5.6rem;
}

.highlight-card__content {
    display: flex;
    justify-content: space-between;
    align-items: center;
}

.highlight-card__header {
    text-align: left;
    max-width: 80rem;
}

.highlight-card__title {
    font-size: 2.6rem;
    line-height: initial;
    font-weight: 900;
    margin-bottom: 0.8rem;
    padding: 0.85rem 0;
}

.highlight-card__subtitle {
    font-size: 1.6rem;
    line-height: initial;
    font-weight: 800;
    text-transform: uppercase;
    margin-bottom: 1.2rem;
    letter-spacing: 0.176rem;
}

.highlight-card__text {
    font-size: 1.5rem;
    line-height: 2.256rem;
    font-weight: 400;
    margin-bottom: 0;
}

.highlight-card--enhanced {
    padding: 5.6rem;
}

.highlight-card--enhanced .highlight-card__content {
    flex-direction: column;
    justify-content: center;
    align-items: center;
}

.highlight-card--enhanced .highlight-card__header {
    text-align: center;
    margin-bottom: 3.6rem;
}



/* highlight-card End */

.border-on {
    border: solid 2px var(--color-primary);
    padding: calc(1.6rem - 2px) calc(3.6rem - 2px);
}

/* Temoignages Start */
.block--carrousel-temoignages {
    padding: 8rem 0;
    text-align: center;
}

.carrousel-temoignages__item {
    background-color: #F5F5F3;
    border-radius: 1.8rem;
    padding: 4.8rem 3.2rem 3.2rem 3.2rem;
    width: 41rem;
    text-align: left;
    transition-duration: 0.3s;
    box-shadow: 0 0.4rem 1rem 0 rgba(0, 0, 0, 0.1);
}


.carrousel-temoignages__item__text {
    font-size: 1.5rem;
    line-height: 2.48rem;
    font-style: italic;
    color: var(--color-text-dark);
    margin-bottom: 2.4rem;
    position: relative;
}

.carrousel-temoignages__item__text::after {
    content: '"';
    position: absolute;
    top: -3.8rem;
    left: -0.5rem;
    color: var(--color-primary);
    font-size: 6.4rem;
    line-height: 6.4rem;
    font-style: initial;
    opacity: 0.2;
}

.carrousel-temoignages__item__title {
    margin: 0 auto 2rem 0;
    background-color: #E6ECF5;
    border-radius: 0.8rem;
    padding: 0.84rem 1.4rem;
    font-size: 1.3rem;
    line-height: 1.4;
    font-weight: 700;
    color: var(--color-primary);
    display: inline-block;
}

.carrousel-temoignages__item__logo {
    display: flex;
    gap: 1.2rem;
    justify-content: flex-start;
    align-items: center;
}

.carrousel-temoignages__item__logo img {
    width: 4rem;
}

.carrousel-temoignages__item__logo__content h6 {
    font-size: 1.4rem;
    line-height: 1.4;
    font-weight: 800;
    margin-bottom: 0.2rem;
}

.carrousel-temoignages__item__logo__content p {
    font-size: 1.2rem;
    line-height: 1.4;
    margin: 0;
}

/* Temoignages End */

/* Twitter Feeds Start */
.block--twitter-feeds {
    padding: 8rem 0;
    background-size: cover;
    background-position: center;
    background-repeat: no-repeat;
    text-align: left;
}

.twitter-feeds__subtitle {
    font-size: 2.8rem;
    line-height: 1.4;
    font-weight: 900;
    margin-bottom: 1.2rem;
}

.twitter-feeds__title {
    font-size: 1.4rem;
    line-height: initial;
    font-weight: 800;
    margin-bottom: 5.6rem;
    padding: 0.8rem 2rem;
    color: var(--color-btn-text);
    display: inline-block;
    background-color: var(--color-primary);
    border-radius: 10rem;
}

.twitter-feeds__slider {
    /* height: 76.5rem;
    font-size: 3rem;
    display: flex;
    justify-content: center;
    align-items: center;
    color: var(--color-text-dark);
    font-weight: 900; */
}

/* Twitter Feeds End */

/* Featured Actualites Start */
.block--featured-actualites {
    padding: 8rem 0;
    background-size: cover;
    background-position: center;
    background-repeat: no-repeat;
    text-align: center;
}

.block--featured-actualites.enhanced {
    text-align: left;
}

.actualite-card-col {
    text-align: left;
}

.actualite-card-col .action-card-image {
    height: 21.6rem;
}

.actualite-card-col .action-card-image img {
    object-fit: cover;
}

.actualite-card-col .action-card-title {
    font-size: 1.5rem;
    line-height: 2.1rem;
    margin-bottom: 1rem;
    min-height: 4.25rem;
}

.actualite-card-col .action-card-excerpt {
    font-size: 1.3rem;
    line-height: 2.08rem;
    -webkit-line-clamp: 2;
    min-height: 4.3rem;
}

.actualite-card-col .action-card-footer,
.actualite-card-col .action-card-footer * {
    font-size: 1.3rem;
    text-decoration: underline;
    font-weight: 700;
}

.action-card-category {
    font-size: 1rem;
    line-height: 1rem;
    font-weight: 800;
    padding: 0.5rem 1rem;
    border-radius: 0.6rem;
    background-color: #E6ECF5;
    margin-bottom: 1rem;
    text-transform: uppercase;
    display: inline-block;
    letter-spacing: 0.06rem;
}

/* Featured Actualites End */

/* Newsletter Start */
.block--newsletter {
    padding: 8rem 0;
    text-align: center;
    background-size: cover;
    background-position: center;
    background-repeat: no-repeat;
}

.newsletter {
    width: 75rem;
    margin: 0 auto;
}

.newsletter__title {
    font-size: 2.8rem;
    line-height: 2.8rem;
    margin-bottom: 1.2rem;
    font-weight: 900;
    letter-spacing: -0.05rem;
}

.newsletter__text {
    font-size: 2rem;
    line-height: 2.4rem;
    margin-bottom: 3.2rem;
}

.newsletter__spam {
    font-size: 1.4rem;
    line-height: initial;
    margin-top: 1.2rem;
}

.newsletter form {
    display: flex;
    justify-content: center;
    align-items: flex-start;
    flex-wrap: wrap;
}

.newsletter form p {
    margin: 0;
}

.newsletter input[type="email"] {
    border: 1px solid #E0DED8;
    border-radius: 1rem;
    height: 5rem;
    text-align: left;
    color: var(--color-paragraph);
    color: var(--color-text-dark);
    font-size: 1.6rem;
    padding: 0 1.65rem;
    margin-right: 1rem;
}

.newsletter input[type="submit"] {
    padding: 0 2.4rem;
    background: var(--color-primary);
    border-radius: 1rem;
    color: var(--color-btn-text);
    font-weight: 700;
    font-size: 1.6rem;
    border: 0;
    cursor: pointer;
    transition-duration: 0.3s;
    height: 5rem;
}

.newsletter .wpcf7-not-valid-tip {
    text-align: left;
    font-size: 1.4rem;
    font-weight: 400;
    padding: 1rem 0 0 0;
}

.newsletter .wpcf7-response-output {
    margin: 2rem auto 1.2rem auto !important;
    font-size: 1.4rem !important;
}

/* Newsletter End */
.badge-association {
    background-color: var(--color-primary);
    color: var(--color-white);
}

.badge-entreprise {
    background-color: #2E7D32;
    color: var(--color-white);
}

.badge-particulier,
.badge-citoyen {
    background-color: #E31837;
    color: var(--color-white);
}

.highlight-carte {
    background-color: var(--color-white);
    border-radius: 2rem;
    padding: 4.8rem 5.6rem;
    gap: 4rem;
    display: flex;
    justify-content: flex-start;
    align-items: center;
    text-align: left;
}

.highlight-card__logo {
    width: 4.8rem;
    display: block;
}

.highlight-carte__subtitle {
    font-size: 2.4rem;
    margin-bottom: 1rem;
    line-height: normal;
    font-weight: 900;
}

.highlight-carte__text {
    font-size: 1.6rem;
    line-height: 2.4rem;
    margin-bottom: 1rem;
}

.highlight-carte ul {
    list-style: none;
    display: flex;
    flex-wrap: wrap;
    padding: 0.7rem 0;
    gap: 1.2rem;
    margin-bottom: 1rem;
}

.highlight-carte ul li {
    background-color: #E6ECF5;
    padding: 0.6rem 1.4rem;
    border-radius: 10rem;
    font-size: 1.4rem;
    font-weight: 700;
    line-height: initial;
    color: var(--color-primary);
    margin: 0.7rem 0;
}

.highlight-carte__link {
    background-color: var(--color-white);
    color: var(--color-primary);
}

.has-carte .carrousel-temoignages__slider {
    margin-bottom: 4.8rem;
}

/* Cartes Vitrine Start */
.block--cartes-vitrine {
    padding: 8rem 0;
    background-size: cover;
    background-position: center;
    background-repeat: no-repeat;
    text-align: center;
}

.cartes-vitrine__cards {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 2.4rem;
    margin-bottom: 3rem;
}

.block--cartes-vitrine .cartes-vitrine__cards:last-child {
    margin-bottom: 0;
}

.cartes-vitrine__carte {
    text-align: left;
    background-color: var(--color-secondary);
    padding: 3.6rem 3.2rem;
    border-radius: 1.6rem;
}

.cartes-vitrine__carte-titre {
    font-size: 6.4rem;
    line-height: 6.4rem;
    font-weight: 900;
    margin-bottom: 0.8rem;
}

.cartes-vitrine__carte-sous-titre {
    font-size: 2rem;
    line-height: initial;
    font-weight: 800;
    margin-bottom: 0.8rem;
    letter-spacing: initial;
    text-transform: initial;
}

.cartes-vitrine__carte-texte {
    font-size: 1.6rem;
    line-height: 2.3rem;
    margin-bottom: 0;
}

/* Cartes Vitrine End */

/* Étapes Start */
.block--etapes {
    padding: 8rem 0;
    background-position: center;
    background-repeat: no-repeat;
    background-size: cover;
    text-align: center;
}

.etapes {
    border-radius: 2rem;

}

.etapes__content {
    padding: 6.4rem 4.8rem;
}

.etapes__title {
    font-size: 2.8rem;
    margin-bottom: 0.8rem;
    letter-spacing: 0.05rem;
    line-height: initial;
}

.etapes__text {
    opacity: 0.6;
    margin-bottom: 4.8rem;
}

.etapes__cartes {
    display: grid;
    display: flex;
    justify-content: space-between;
    align-items: flex-start;
    position: relative;
    grid-template-columns: repeat(3, 1fr);
    gap: 3.6rem;
    max-width: 107.7rem;
    margin: 0 auto;
}

.etapes__cartes::before {
    content: '';
    background-color: var(--color-white);
    position: absolute;
    transform: translateX(-50%);
    width: 71.85rem;
    height: 2px;
    opacity: 0.2;
    top: 2.8rem;
    left: 50%;
    z-index: 1;

}

.etapes__etape {
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: center;
    position: relative;
    z-index: 2;
}

.etapes__etape-numero {
    width: 5.6rem;
    height: 5.6rem;
    border-radius: 50%;
    font-size: 2rem;
    margin-bottom: 2rem;
    font-weight: 900;
    display: flex;
    justify-content: center;
    align-items: center;
}

.etapes__etape-titre {
    font-size: 1.8rem;
    line-height: initial;
    margin-bottom: 0.94rem;
    font-weight: 800;
}

.etapes__etape-texte {
    font-size: 1.6rem;
    line-height: 2.24rem;
    margin-bottom: 2rem;
    opacity: 0.7;
    font-weight: 400;
}

/* Étapes End */

/* block-hero-osbl Start */

.block-hero-osbl {
    padding: 7.2rem 0 6.4rem 0;
    overflow: hidden;
}

.block-hero-osbl__container {
    display: flex;
    justify-content: flex-start;
    align-items: center;
    gap: 3.6rem;
    flex-wrap: wrap;
    text-align: left;
}

.block-hero-osbl__content {
    text-align: left;
    display: flex;
    flex-direction: column;
    justify-content: flex-start;
    align-items: flex-start;
    width: calc(100% - 63.7rem);
}

.block-hero-osbl__titre-court {
    font-size: 1.6rem;
    font-weight: 700;
    line-height: initial;
    margin-bottom: 1.6rem;
    padding: 1rem 1.8rem;
    border-radius: 10rem;
    background-color: rgba(255, 255, 255, 0.15);
    text-transform: initial;
    letter-spacing: 0;
}

.block-hero-osbl__titre {
    font-size: 5.2rem;
    line-height: 5.62rem;
    margin-bottom: 1.6rem;
    letter-spacing: -0.02rem;
}

.block-hero-osbl__texte {
    font-size: 1.7rem;
    line-height: 2.89rem;
    margin-bottom: 3.2rem;
    opacity: 0.75;
}

.block-hero-osbl__highlight {
    font-size: 1.6rem;
    line-height: 2.24rem;
    font-weight: 700;
    margin-bottom: 0;
    padding: 1.539rem 2rem;
    border-radius: 1.2rem;
    background-color: rgba(255, 255, 255, 0.15);
    text-transform: initial;
    letter-spacing: 0;
    border-left: 0.3rem solid rgba(255, 255, 255, 0.4);
}

.block-hero-osbl__statistiques {
    width: 60.1rem;
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    gap: 1.2rem;
    text-align: center;
}

.block-hero-osbl__statistique {
    background-color: rgba(255, 255, 255, 0.12);
    padding: 2rem 2.4rem;
    border-radius: 1.4rem;
}

.block-hero-osbl__statistique-titre {
    font-size: 2.8rem;
    line-height: 2.8rem;
    letter-spacing: -0.01rem;
    font-weight: 900;
    margin-bottom: 0.8rem;
}

.block-hero-osbl__statistique-texte {
    font-size: 1.6rem;
    line-height: 1.68rem;
    margin-bottom: 0;
    opacity: 0.6;
}

/* block-hero-osbl End */

/* block-media-card-osbl Start */
.block-media-card-osbl {
    padding: 7.2rem 0;
    text-align: center;

}

.block-media-card-osbl__content {
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: center;
    padding: 5.6rem;
    border-radius: 2rem;
}

.block-media-card-osbl__titre-court {
    font-size: 1.1rem;
    line-height: initial;
    margin-bottom: 1.7rem;
    font-weight: 800;
    letter-spacing: 0.0176rem;
}

.block-media-card-osbl__titre-court span {
    opacity: 0.6 !important;
}

.block-media-card-osbl__titre {
    font-size: 3.2rem;
    line-height: initial;
    font-size: 900;
    margin-bottom: 1.6rem;
}

.block-media-card-osbl__texte {
    margin-bottom: 3.2rem;
}

.block-media-card-osbl__texte * {
    margin-bottom: 0;
    color: var(--block-media-card-osbl__texte);
    font-size: 1.6rem;
    line-height: 2.88rem;
    opacity: 0.8;
}

.block-media-card-osbl__content__text {
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: center;
    margin-bottom: 1.6rem;
}

.block-media-card-osbl__highlight {
    font-size: 1.3rem;
    line-height: initial;
    font-weight: 700;
    padding: 0.8rem 1.8rem;
    border-radius: 10rem;
    background-color: rgba(255, 255, 255, 0.15);
    margin-bottom: 3.2rem;
}

.block-media-card-osbl__content__text h6 {
    font-size: 1.5rem;
    font-weight: 400;
    line-height: initial;
    opacity: 0.8;
    margin-bottom: 0;
}

.block-media-card-osbl__content .footer-social-link i {
    color: var(--hover-color);
}

/* block-media-card-osbl End */

/* block-recap-osbl Start */

.block-recap-osbl {
    padding: 4rem 0 3.2rem 0;
    text-align: center;
}

.block-recap-osbl__block {
    display: flex;
    justify-content: space-between;
    align-items: flex-start;
    gap: 3.5rem;
    padding: 3.2rem 4rem;
    border-radius: 1.6rem;
    margin-bottom: 4.2rem;
}

.block-recap-osbl__texte h4 {
    font-size: 1.1rem;
    line-height: initial;
    margin-bottom: 1rem;
}

.block-recap-osbl__texte h2 {
    font-size: 2.2rem;
    line-height: initial;
    margin-bottom: 1rem;
}

.block-recap-osbl__texte p {
    font-size: 1.4rem;
    line-height: 2.24rem;
    margin-bottom: 0;
}

.block-recap-osbl__cartes {
    width: 80rem;
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 1.2rem;
}

.block-recap-osbl__carte__content p {
    margin-bottom: 0;
}

.block-recap-osbl__carte {
    display: flex;
    gap: 1.2rem;
    justify-content: flex-start;
    align-items: flex-start;
    background-color: #ffffff;
    border-radius: 1.2rem;
    padding: 1.6rem 1.8rem;
}

.block-recap-osbl__carte img {
    display: block;
    width: 2.2rem;
}

.block-recap-osbl__carte__content {
    text-align: left;
}

.block-recap-osbl__carte__content h5 {
    font-size: 1.3rem;
    line-height: initial;
    font-weight: 800;
    margin-bottom: 0.5rem;
}

.block-recap-osbl__carte__content p {
    font-size: 1.2rem;
    line-height: 1.68rem;
    margin-bottom: 0.5rem;
}

.block-recap-osbl__carte__content a {
    font-size: 1.1rem;
    font-weight: 700;
    line-height: initial;
    margin-bottom: 0;
    color: var(--color-primary);
    display: block;
    text-decoration: underline;
}

.block-recap-osbl__bottom {
    padding: 3.2rem 0;
    border-top: 2px solid #E0DED8;
    border-bottom: 2px solid #E0DED8;
    text-align: left;
}

.block-recap-osbl__bottom h3 {
    font-size: 1.6rem;
    line-height: initial;
    font-weight: 700;
    margin-bottom: 1.6rem;
}

.block-recap-osbl__liens {
    display: flex;
    flex-wrap: wrap;
    gap: 0.8rem;
    justify-content: flex-start;
    align-items: flex-start;
}


.block-recap-osbl__lien a {
    color: #6B6966;
    font-size: 1.6rem;
    font-weight: 600;
    line-height: initial;
    margin-bottom: 0;
    display: inline-block;
    text-decoration: underline;
    padding: 1.2rem 2.8rem;
    border-radius: 10rem;
    border: 2px solid #E0DED8;
    text-decoration: none;
    transition: all 0.3s ease;
}

.block-recap-osbl__lien:first-child a {
    color: #ffffff;
    border: 2px solid var(--color-primary);
    background-color: var(--color-primary);
}

/* block-recap-osbl End */

/* block-list-osbl Start */
.block-list-osbl {
    padding: 8rem 0;
}

.block-list-osbl__list {
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    gap: 2rem;
    margin-top: 4.8rem;
}

.block-list-osbl__item {
    gap: 2rem;
    display: flex;
    align-items: flex-start;
    justify-content: flex-start;
    padding: 2.8rem 3.2rem;
    border-radius: 1.6rem;
    border: 1px solid #E0DED8;
}

.block-list-osbl__item__number {
    font-size: 1.6rem;
    width: 4rem;
    height: 4rem;
    border-radius: 1rem;
    line-height: initial;
    font-weight: 900;
    text-align: center;
    display: flex;
    justify-content: center;
    align-items: center;
    background-color: var(--color-primary);
    color: var(--color-white);
}

.block-list-osbl__item__content {
    width: 50.4rem;
}

.block-list-osbl__item__titre {
    font-size: 1.6rem;
    margin-bottom: 1.6rem;
    line-height: initial;
    font-weight: 800;
    color: var(--color-title);
}


.block-list-osbl__item__texte {
    font-size: 1.4rem;
    line-height: 2.08rem;
    margin-bottom: 0;
}

/* block-list-osbl End */

/* block-logos-osbl Start */
.block-logos-osbl {
    padding: 8rem 0;
}

.block-logos-osbl__fichier {
    margin: 4.8rem auto 3.2rem 0;
}

.block-logos-osbl__fichier a {
    display: inline-block;
    padding: 1rem 2rem;
    font-size: 1.6rem;
    line-height: initial;
    border-radius: 0.8rem;
    background-color: var(--color-primary);
    color: var(--color-white);
    font-weight: 700;
    transition: all 0.3s ease;
}

.block-logos-osbl__logos {
    display: grid;
    grid-template-columns: repeat(6, 1fr);
    gap: 1.2rem;
}

.block-logos-osbl__logo {
    text-align: center;
    padding: 1.75rem 1.25rem;
    border-radius: 1.2rem;
    border: 1px solid #E0DED8;
}

.block-logos-osbl__logo img {
    display: block;
    width: 100%;
}

.block-logos-osbl__logo__titre {
    font-size: 1.1rem;
    font-weight: 600;
    line-height: initial;
    margin-top: 1rem;
    margin-bottom: 0;
    color: var(--color-title);
}

/* block-logos-osbl End */

/* block-liste-des-fichiers-telechargeables-osbl Start */
.block-liste-des-fichiers-telechargeables-osbl {
    padding: 8rem 0;
}

.block-liste-des-fichiers-telechargeables-osbl__texte h2,
.block-liste-des-fichiers-telechargeables-osbl__texte p {
    color: #ffffff;
}

.block-liste-des-fichiers-telechargeables-osbl__texte *:last-child {
    margin-bottom: 0;
}

.block-liste-des-fichiers-telechargeables-osbl__items {
    padding-top: 4.8rem;
    display: grid;
}

.block-liste-des-fichiers-telechargeables-osbl__items.style-3x3 {
    grid-template-columns: repeat(3, 1fr);
    gap: 5rem;
}

.block-liste-des-fichiers-telechargeables-osbl__items.style-4x4 {
    grid-template-columns: repeat(4, 1fr);
    gap: 2rem;
}

.block-liste-des-fichiers-telechargeables-osbl__item {
    border-radius: 1.6rem;
    background-color: #ffffff;
    padding: 0 0 3.79rem 0;
    text-align: left;
    border: 1px solid #E0DED8;
    overflow: hidden;
}

.block-liste-des-fichiers-telechargeables-osbl__item__image {
    height: 14rem;
}

.block-liste-des-fichiers-telechargeables-osbl__item__image img {
    display: block;
    width: 100%;
    height: 100%;
    object-fit: cover;
}

.block-liste-des-fichiers-telechargeables-osbl__item__content {
    padding: 1.8rem 2rem 0 2rem;
}

.block-liste-des-fichiers-telechargeables-osbl__item__icon {
    margin: 0 auto 1rem 0;
    width: 4rem;
}

.block-liste-des-fichiers-telechargeables-osbl__item__icon img {
    width: 100%;
}

.block-liste-des-fichiers-telechargeables-osbl__item__titre {
    font-size: 1.6rem;
    line-height: 1.89rem;
    margin-bottom: 1rem;
    font-weight: 800;
    letter-spacing: 0;
    color: var(--color-title);
    display: -webkit-box;
    -webkit-line-clamp: 2;
    -webkit-box-orient: vertical;
    overflow: hidden;
}


.block-liste-des-fichiers-telechargeables-osbl__item__texte {
    font-size: 1.2rem;
    line-height: 1.8rem;
    margin-bottom: 1rem;
    font-weight: 400;
    letter-spacing: 0;
    display: -webkit-box;
    -webkit-line-clamp: 2;
    -webkit-box-orient: vertical;
    overflow: hidden;
}

.block-liste-des-fichiers-telechargeables-osbl__item__lien {
    font-size: 1.6rem;
    font-weight: 700;
    line-height: initial;
    color: var(--color-primary);
    transition: all 0.3s ease;
    text-decoration: underline;
}

.block-liste-des-fichiers-telechargeables-osbl__item__lien i {
    text-decoration: underline;
    transition: all 0.3s ease;
}

.style-4x4 .block-liste-des-fichiers-telechargeables-osbl__item__image {
    height: 20rem;
}

.style-4x4 .block-liste-des-fichiers-telechargeables-osbl__item {
    border-radius: 1.4rem;
    padding-bottom: 3.9rem;
}

.style-4x4 .block-liste-des-fichiers-telechargeables-osbl__item__titre {
    font-size: 1.4rem;
}

.style-4x4 .block-liste-des-fichiers-telechargeables-osbl__item__texte {
    margin-bottom: 1.6rem;
}

.block-liste-des-fichiers-telechargeables-osbl__item__sous_titre {
    background-color: #E6ECF5;
    border-radius: 0.6rem;
    padding: 0.3rem 1rem;
    color: var(--color-primary);
    font-size: 1.2rem;
    text-transform: uppercase;
    font-weight: 800;
    display: inline-block;
    letter-spacing: 0.06rem;
    margin-bottom: 1rem;
}


/* block-liste-des-fichiers-telechargeables-osbl End */

/* ==========================================================================
   block-liste-des-videos-osbl
   ========================================================================== */

.block-liste-des-videos-osbl {
    padding: 8rem 0;
}

.block-liste-des-videos-osbl__texte {
    margin-bottom: 3.2rem;
}

/* Grid of video cards */
.block-liste-des-videos-osbl__videos {
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    gap: 2.1rem;
}

/* Single video card */
.block-liste-des-videos-osbl__video {
    display: flex;
    align-items: center;
    gap: 2.4rem;
    background: #fff;
    border-radius: 1.4rem;
    box-shadow: 0 2px 16px rgba(0, 48, 135, 0.07);
    overflow: hidden;
    border: 1px solid #E0DED8;
    transition: box-shadow 0.25s ease, transform 0.25s ease;
    padding: 0;
}

.block-liste-des-videos-osbl__video:hover {
    box-shadow: 0 6px 28px rgba(0, 48, 135, 0.13);
    transform: translateY(-2px);
}

/* Thumbnail / play button */
.block-liste-des-videos-osbl__thumb {
    position: relative;
    flex: 0 0 22rem;
    height: 100%;
    display: flex;
    align-items: stretch;
    border: none;
    background: #003087;
    cursor: pointer;
    padding: 0;
    overflow: hidden;
    border-radius: 0;
    outline: none;
}

.block-liste-des-videos-osbl__thumb--no-video {
    cursor: default;
}

.block-liste-des-videos-osbl__thumb__img {
    position: absolute;
    inset: 0;
    width: 100%;
    height: 100%;
    object-fit: cover;
    opacity: 0.65;
    transition: opacity 0.3s ease;
}

.block-liste-des-videos-osbl__thumb:hover .block-liste-des-videos-osbl__thumb__img {
    opacity: 0.5;
}

.block-liste-des-videos-osbl__thumb__placeholder {
    position: absolute;
    inset: 0;
    background: #003087;
    background: linear-gradient(135deg, rgba(44, 62, 80, 1) 0%, rgba(0, 48, 135, 1) 100%);
}

.block-liste-des-videos-osbl__thumb__overlay {
    position: relative;
    z-index: 2;
    width: 100%;
    height: 100%;
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    gap: 0.8rem;
}

.block-liste-des-videos-osbl__thumb__channel {
    font-size: 0.9rem;
    line-height: 0.9rem;
    text-transform: uppercase;
    letter-spacing: 0.09rem;
    color: var(--color-btn-text);
    opacity: 0.7;
    margin-top: 0.8rem;
    font-weight: 800;
}

.block-liste-des-videos-osbl__thumb__play-btn {
    display: flex;
    align-items: center;
    justify-content: center;
    transition: transform 0.2s ease;
    width: 4rem;
}

.block-liste-des-videos-osbl__thumb:hover .block-liste-des-videos-osbl__thumb__play-btn {
    transform: scale(1.12);
}

/* Text content */
.block-liste-des-videos-osbl__video__content {
    padding: 2.3rem 2.4rem 2rem 0;
}

/* Badge / sous-titre */
.block-liste-des-videos-osbl__video__sous_titre {
    display: inline-block;
    background-color: #fce8ec;
    color: var(--color-secondary, #E31837);
    font-size: 1.15rem;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: 0.05rem;
    border-radius: 0.5rem;
    padding: 0.3rem 1rem;
}

/* Title */
.block-liste-des-videos-osbl__video__titre {
    font-size: 1.6rem;
    font-weight: 800;
    line-height: initial;
    color: var(--color-title, #1A1A1A);
    margin: 0;
    margin-top: 1rem;
}

/* Description */
.block-liste-des-videos-osbl__video__texte {
    font-size: 1.3rem;
    line-height: 2.08rem;
    overflow: hidden;
    display: -webkit-box;
    -webkit-line-clamp: 2;
    -webkit-box-orient: vertical;
    margin: 0;
    margin-top: 1rem;
}

/* YouTube link */
.block-liste-des-videos-osbl__video__yt-link {
    display: inline-block;
    font-size: 1.6rem;
    font-weight: 700;
    color: var(--color-primary, #003087);
    text-decoration: underline;
    text-underline-offset: 0.2rem;
    transition: all 0.3s ease;
    margin-top: 1.7rem;
}

.block-liste-des-videos-osbl__video__yt-link i {
    text-decoration: underline;
}

.block-liste-des-videos-osbl__video__yt-link:hover {
    color: var(--color-secondary, #E31837);
}



/* ==========================================================================
   gt-video-popup (modal)
   ========================================================================== */

.gt-video-popup {
    position: fixed;
    inset: 0;
    z-index: 99999;
    display: flex;
    align-items: center;
    justify-content: center;
}

.gt-video-popup[hidden] {
    display: none;
}

.gt-video-popup__backdrop {
    position: absolute;
    inset: 0;
    background: rgba(0, 0, 0, 0.78);
    cursor: pointer;
    backdrop-filter: blur(4px);
}

.gt-video-popup__wrapper {
    position: relative;
    z-index: 2;
    width: 90vw;
    max-width: 90rem;
    background: #000;
    border-radius: 1.2rem;
    overflow: hidden;
    box-shadow: 0 24px 80px rgba(0, 0, 0, 0.55);
    animation: gt-popup-in 0.3s cubic-bezier(0.34, 1.56, 0.64, 1) both;
}

/* Short (vertical 9:16) vs normal (16:9) */
.gt-video-popup__wrapper.is-short {
    max-width: 40rem;
}

@keyframes gt-popup-in {
    from {
        opacity: 0;
        transform: scale(0.88);
    }

    to {
        opacity: 1;
        transform: scale(1);
    }
}

.gt-video-popup__iframe-wrap {
    position: relative;
    width: 100%;
    padding-bottom: 56.25%;
    height: 0;
}

.gt-video-popup__wrapper.is-short .gt-video-popup__iframe-wrap {
    padding-bottom: 177.78%;
}

.gt-video-popup__iframe-wrap iframe {
    position: absolute;
    inset: 0;
    width: 100%;
    height: 100%;
    border: 0;
}

.gt-video-popup__close {
    position: absolute;
    top: 1.2rem;
    right: 1.2rem;
    z-index: 3;
    background: rgba(255, 255, 255, 0.15);
    border: none;
    color: #fff;
    width: 3.8rem;
    height: 3.8rem;
    border-radius: 50%;
    display: flex;
    align-items: center;
    justify-content: center;
    cursor: pointer;
    transition: background 0.2s ease;
}

.gt-video-popup__close:hover {
    background: rgba(255, 255, 255, 0.3);
}

/* block-liste-des-videos-osbl End */

/* block-carte-personnaliser-osbl Start */
.block-carte-personnaliser-osbl {
    padding: 8rem 0;
}

.block-carte-personnaliser-osbl__texte h2,
.block-carte-personnaliser-osbl__texte p {
    color: var(--color-white);
}

.block-carte-personnaliser-osbl__highlight__texte {
    padding: 2.4rem 2.8rem;
    border-radius: 1.4rem;
    background-color: #ffffff;
    color: var(--color-text-dark);
    font-size: 1.5rem;
    line-height: 2.4rem;
    font-weight: 700;
}

.block-carte-personnaliser-osbl__highlight,
.block-carte-personnaliser-osbl__mini-cartes,
.block-carte-personnaliser-osbl__large-cartes {
    margin-bottom: 3.2rem;
}

.block-carte-personnaliser-osbl__content .block-carte-personnaliser-osbl__highlight:last-child,
.block-carte-personnaliser-osbl__content .block-carte-personnaliser-osbl__large-cartes:last-child,
.block-carte-personnaliser-osbl__content .block-carte-personnaliser-osbl__mini-cartes:last-child {
    margin-bottom: 0;
}

.block-carte-personnaliser-osbl__mini-cartes__grid {
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    gap: 2rem;
}

.block-carte-personnaliser-osbl__mini-carte {
    border-radius: 1.4rem;
    border: 1px solid #E0DED8;
    overflow: hidden;
}

.block-carte-personnaliser-osbl__mini-carte__titre {
    padding: 1.45rem 2rem;
    color: #ffffff;
    font-size: 1.2rem;
    line-height: 1.2rem;
    margin-bottom: 0;
    font-weight: 800;
}

.block-carte-personnaliser-osbl__mini-carte__texte *:last-child {
    margin-bottom: 0;
}

.block-carte-personnaliser-osbl__mini-carte__texte {
    padding: 2rem;
    background-color: #ffffff;
    height: 100%;
    height: calc(100% - 4rem);
}

.block-carte-personnaliser-osbl__mini-carte__texte h4 {
    color: #6B6966;
    font-size: 1.2rem;
    line-height: initial;
    font-weight: 700;
    margin-bottom: 0.8rem;
    letter-spacing: 0.048rem;
}

.block-carte-personnaliser-osbl__mini-carte__texte h3 {
    color: var(--color-text-dark);
    font-size: 1.5rem;
    line-height: initial;
    font-weight: 800;
    margin-bottom: 0.8rem;
    letter-spacing: 0;
}

.block-carte-personnaliser-osbl__mini-carte__texte p {
    font-size: 1.3rem;
    line-height: 2.08rem;
}

.block-carte-personnaliser-osbl__mini-carte__lien {
    display: inline-block;
    padding: 1rem 2rem;
    font-size: 1.6rem;
    line-height: initial;
    border-radius: 0.8rem;
    background-color: var(--color-primary);
    color: var(--color-white);
    font-weight: 700;
    transition: all 0.3s ease;
}

.block-carte-personnaliser-osbl__mini-carte__texte_more {
    margin-bottom: 2rem;
    padding: 1.6rem 0;
    border-radius: 1.6rem;
    background: #85C1E9;
    background: linear-gradient(135deg, rgba(133, 193, 233, 1) 0%, rgba(36, 113, 163, 1) 100%);

    text-align: center;
    display: flex;
    align-items: center;
    justify-content: center;
    flex-direction: column;
}

.block-carte-personnaliser-osbl__mini-carte__texte_more p {
    color: var(--color-primary);
    margin-bottom: 0;
    font-size: 1.1rem;
    font-weight: 600;
    line-height: initial;
    margin-top: 1rem;
}

.block-carte-personnaliser-osbl__mini-carte__texte_more .block-carte-personnaliser-osbl__mini-carte__lien {
    background-color: #ffffff;
    color: var(--color-primary);
}

.block-carte-personnaliser-osbl__content {
    margin-top: 4rem;
}

.block-carte-personnaliser-osbl__large-cartes__grid {
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    gap: 2.4rem;
}

.block-carte-personnaliser-osbl__large-carte {
    border-radius: 1.4rem;
    border: 1px solid #E0DED8;
    overflow: hidden;
}

.block-carte-personnaliser-osbl__large-carte__titre {
    padding: 4rem 2rem;
    color: #ffffff;
    font-size: 1.6rem;
    line-height: 1.6rem;
    margin-bottom: 0;
    font-weight: 800;
    text-align: center;
    text-transform: initial;
    letter-spacing: 0;
}

.block-carte-personnaliser-osbl__large-carte__texte {
    padding: 2.4rem 2.8rem;
    background-color: #ffffff;
    height: calc(100% - 9.3rem);
}

.block-carte-personnaliser-osbl__large-carte__texte h5 {
    font-size: 2.2rem;
    font-weight: 700;
    line-height: initial;
    margin-bottom: 1rem;
    letter-spacing: 0;
}

.block-carte-personnaliser-osbl__large-carte__texte h4 {
    font-size: 1.6rem;
    font-weight: 800;
    line-height: initial;
    margin-bottom: 1rem;
    letter-spacing: 0;
    color: var(--color-text-dark);
}

.block-carte-personnaliser-osbl__large-carte__texte p {
    font-size: 1.3rem;
    line-height: 2.08rem;
    margin-bottom: 1rem;
}

.block-carte-personnaliser-osbl__large-carte__texte ul {
    margin-bottom: 1rem;
}

.block-carte-personnaliser-osbl__large-carte__texte li {
    font-size: 1.3rem;
    line-height: 1.91rem;
    margin-bottom: 1.5rem;
    color: var(--color-text-dark);
}

/* Numbered ol — custom badge counter */
.block-carte-personnaliser-osbl__large-carte__texte ol {
    list-style: none;
    padding-left: 0;
    counter-reset: large-carte-counter;
}

.block-carte-personnaliser-osbl__large-carte__texte ol li {
    counter-increment: large-carte-counter;
    position: relative;
    padding-left: 3.4rem;
}

.block-carte-personnaliser-osbl__large-carte__texte ol li::before {
    content: counter(large-carte-counter);
    position: absolute;
    left: 0;
    top: 0.1rem;
    width: 2.2rem;
    height: 2.2rem;
    line-height: 2.2rem;
    border-radius: 50%;
    background-color: #E6ECF5;
    color: var(--color-primary);
    font-size: 1rem;
    font-weight: 800;
    text-align: center;
    flex-shrink: 0;
}

.block-carte-personnaliser-osbl__large-carte__fichier {
    font-size: 1.3rem;
    color: var(--color-primary);
    line-height: initial;
    font-weight: 700;
    margin-top: 0;
    text-decoration: underline;
    transition: all 0.3s ease;
    text-underline-offset: 0.4rem;
}

.block-carte-personnaliser-osbl__large-carte__fichier i {
    text-decoration: underline;
}

.block-carte-personnaliser-osbl__large-carte__fichier:hover,
.block-carte-personnaliser-osbl__large-carte__fichier:hover i {
    text-decoration: none;
}


/* block-carte-personnaliser-osbl End */

/* block-multiples-cartes-osbl Start */
.block-multiples-cartes-osbl {
    padding: 8rem 0;
}

.block-multiples-cartes-osbl__texte *:last-child {
    margin-bottom: 0;
}

.block-multiples-cartes-osbl__texte {
    margin-bottom: 4rem;
}

.block-multiples-cartes-osbl__texte h2,
.block-multiples-cartes-osbl__texte p,
.block-multiples-cartes-osbl__texte h5,
.block-multiples-cartes-osbl__texte h6 {
    color: #ffffff;
}

.block-multiples-cartes-osbl__texte h5 {
    font-size: 1.8rem;
    font-weight: 800;
}

.block-multiples-cartes-osbl__texte h6 {
    font-size: 1.4rem;
    font-weight: 400;
}

.block-multiples-cartes-osbl__cartes {
    margin-bottom: 4rem;
}

.block-multiples-cartes-osbl__cartes__grid {
    display: grid;
}

.six-by-six-square,
.six-by-six-rectangle {
    grid-template-columns: repeat(6, 1fr);
    gap: 1.2rem;
}

.four-by-four-square {
    grid-template-columns: repeat(4, 1fr);
    gap: 1.4rem;
}

.three-by-three-rectangle {
    grid-template-columns: repeat(3, 1fr);
    gap: 1.5rem;
}

.block-multiples-cartes-osbl__cartes__titre {
    font-size: 1.6rem;
    line-height: 2rem;
    font-weight: 800;
    position: relative;
    color: #ffffff;
    margin-bottom: 2rem;
}

.block-multiples-cartes-osbl__cartes__titre span {
    padding-right: 1rem;
    position: relative;
    z-index: 2;
}

.block-multiples-cartes-osbl__cartes__titre::after {
    content: '';
    position: absolute;
    left: 0;
    top: 50%;
    transform: translateY(-50%);
    width: 100%;
    height: 1px;
    background-color: #ffffff;
    z-index: 1;
}

.block-multiples-cartes-osbl__carte {
    overflow: hidden;
    border-radius: 1rem;
    background-color: #fff;
}

.block-multiples-cartes-osbl__carte img {
    display: block;
    width: 100%;
    border-radius: 1rem 1rem 0 0;
    transition: transform 0.4s ease;
    position: relative;
    z-index: 1;
}


.block-multiples-cartes-osbl__carte__titre {
    margin-bottom: 0;
    color: var(--color-text-dark);
    padding: 1rem;
    font-size: 1.2rem;
    line-height: initial;
    font-weight: 600;
    border-radius: 0 0 1rem 1rem;
    background-color: #ffffff;
    position: relative;
    z-index: 2;
}

.block-multiples-cartes-osbl__cartes__lien {
    border: 1px solid #ffffff;
    margin-top: 2rem;
}

/* block-multiples-cartes-osbl End */
.top-bar {
    background-color: var(--color-primary);
    padding: 1rem 0;
}

.top-bar-grid {
    display: flex;
    justify-content: space-between;
    align-items: center;
}

.top-bar-left {
    display: flex;
    align-items: center;
}

.top-bar-left p {
    font-size: 1.2rem;
    color: #ffffff;
    margin: 0;
    border-right: 1px solid rgba(255, 255, 255, 0.2);
    padding: 0 1.4rem;
}

.top-bar-left p a {
    color: #ffffff;

}

.top-bar-left p:first-child {
    padding-left: 0;
}

.top-bar-left p:last-child {
    border-right: none;
    padding-right: 0;
}

.top-bar-right {
    display: flex;
    align-items: center;
    gap: 1.6rem;
}

.top-bar-right a {
    font-size: 1.2rem;
    color: rgba(255, 255, 255, 0.7);
    font-weight: 500;
}

.top-bar-right a:hover {
    text-decoration: underline;
}

.footer-extra-text {
    margin-top: 2rem;
    padding-top: 2rem;
    border-top: 1px solid rgba(255, 255, 255, 0.08);
}

.footer-extra-text p {
    font-size: 1.1rem;
    line-height: initial;
    font-weight: 400;
    color: rgba(255, 255, 255, 0.35);
    margin-bottom: 0.9rem;
}

.footer-extra-text p a {
    color: rgba(255, 255, 255, 0.6);
}

.footer-extra-text p a:hover {
    text-decoration: underline;
}

.footer-extra-text p:last-child {
    margin-bottom: 0;
}

.carrousel-temoignages__slick {
    padding: 0 !important;
    width: 100% !important;
}

.carrousel-temoignages__slick .carrousel-temoignages__item {
    margin: 2rem auto !important;
}

.header-text {
    color: #000000;
    font-weight: 700;
    margin-bottom: 0;
    text-align: center;
    /* transition-duration: 0.3s; */
}

.header-text {
    animation: tempting-pulse 10s ease-in-out infinite;
    transform-origin: center;
}

@keyframes tempting-pulse {

    0%,
    70%,
    100% {
        transform: scale(1);
    }

    74% {
        transform: scale(1.12);
    }

    78% {
        transform: scale(0.98);
    }

    82% {
        transform: scale(1.10);
    }

    86% {
        transform: scale(1);
    }
}