.degrade {
    position      : fixed;
    height        : 148px;
    width         : 100%;
    background    : linear-gradient(to bottom, rgba(255,255,255,1) 0%, rgba(255,255,255,0.9) 50%, rgba(255,255,255,0) 100%);
    pointer-events: none;
    z-index       : 10;
}
.builderjs-layout {
    background: var(--bg-light);
}
h1 {
    font-size  : 41px;
    font-weight: 800;
    color      : var(--color-1);
    text-shadow: 0 2px 4px rgb(174 174 192 / 54%);
}
h2 {
    font-size    : 40px;
    font-weight  : 800;
    color        : var(--color-1);
    text-shadow  : 0 2px 4px rgb(174 174 192 / 54%);
    line-height  : 1.1;
    margin-bottom: 1rem;
}
h3 {
    font-size    : 22px;
    font-weight  : 800;
    color        : var(--color-1);
    text-shadow  : 0 2px 4px rgb(174 174 192 / 54%);
    line-height  : 1.1;
    margin-bottom: 1rem;
}
.atouts p {
    font-size  : 24px;
    font-weight: 600;
    text-shadow: 0 2px 4px rgb(174 174 192 / 54%);
}
/* .atouts .bloc-atout {
    height: 100%;
}
.atouts .feature {
    background   : var(--bg-light-2);
    filter:var(--drop-shadow-1);
    border-radius: 20px;
} */
/* Layout principal */
.atouts__grid {
    display              : grid;
    grid-template-columns: repeat(3, 1fr);
    grid-template-rows   : repeat(4, 190px);
    gap                  : 24px;
    align-items          : start;
}
/* Photo: colonne 1, lignes 1-2 */
.atouts__photo {
    grid-column  : 1;
    grid-row     : 1 / span 2;
    background   : #EEF2FF;
    border-radius: 20px;
    overflow     : hidden;
    background   : transparent;
}
/* les 2 vides du haut */
.atouts__empty--col2 {
    grid-column: 2;
    grid-row   : 1;
}
.atouts__empty--col3 {
    grid-column: 3;
    grid-row   : 1;
}
/* Row 2 */
.atout-card--r2c2 {
    grid-column: 2;
    grid-row   : 2;
}
.atout-card--r2c3 {
    grid-column: 3;
    grid-row   : 2;
}
/* Row 3 */
.atout-card--r3c1 {
    grid-column: 1;
    grid-row   : 3;
}
.atout-card--r3c2 {
    grid-column: 2;
    grid-row   : 3;
}
.atout-card--r3c3 {
    grid-column: 3;
    grid-row   : 3;
}
/* Row 4 */
.atout-card--r4c1 {
    grid-column: 1;
    grid-row   : 4;
}
.atout-card--r4c2 {
    grid-column: 2;
    grid-row   : 4;
}
.atout-card--r4c3 {
    grid-column: 3;
    grid-row   : 4;
}
/* Style cards */
.atout-card {
    background     : #EEF2FF;
    border-radius  : 20px;
    padding        : 28px;
    text-align     : center;
    height         : 100%;
    display        : flex;
    align-items    : center;
    justify-content: center;
    flex-direction : column;
    box-shadow     : var(--shadow-1);
    position       : relative;
    overflow       : hidden;
    transition     : 0.25s ease;
}
/* Optionnel, pour aligner l’icône + texte comme sur ta maquette */
.atout-card__icon {
    display        : flex;
    justify-content: center;
    margin-bottom  : 14px;
}
.atout-card__text {
    margin     : 0;
    font-size  : 24px;
    font-weight: 600;
    text-shadow: 0 2px 4px rgb(174 174 192 / 54%);
    line-height: 1.2;
}
.atout-card__front {
    display       : flex;
    flex-direction: column;
    align-items   : center;
    gap           : 14px;
    transition    : opacity 0.2s ease;
}
/* Face hover (cachée) */
.atout-card__back {
    position       : absolute;
    inset          : 0;
    padding        : 28px;
    display        : flex;
    align-items    : center;
    justify-content: center;
    text-align     : left;
    opacity        : 0;
    pointer-events : none;
    transform      : translateY(8px);
    transition     : 0.25s ease;
    background     : #EEF2FF;
    /* même fond pour remplacer le contenu */
}
.radius {
    border-radius: 15px;
}
p {
    line-height: 1.2;
}
.soustitre {
    text-transform: uppercase;
    color         : #535353;
    font-weight   : 500;
    font-size     : 18px;
}
.bloc-content {
    box-shadow   : var(--shadow-2);
    background   : var(--bg-light-2);
    padding      : 1.5rem;
    border-radius: 20px;
}
.atout-card__back p {
    line-height  : 1.1;
    margin-bottom: 0;
}
/* Hover : on cache la face normale */
.atout-card:hover .atout-card__front {
    opacity: 0;
}
/* Hover : on affiche uniquement le texte */
.atout-card:hover .atout-card__back {
    opacity       : 1;
    transform     : translateY(0);
    pointer-events: auto;
}
.offres ul li {
    position: relative;
}
.offres ul li:before {
    content    : "\f058";
    font-family: "Font Awesome 7 Pro";
    font-weight: 900;
    position   : absolute;
    left       : 0;
    top        : 2px;
    color      : #FF5220;
    font-size  : 18px;
    left       : -30px;
    top        : -1px;
    text-shadow: 0 2px 4px rgb(174 174 192 / 54%);
}
.offres ul {
    list-style-type: none;
}
.offres .mois {
    font-size: 18px;
}
.offres .data-item__content_short {
    font-weight: 600;
    font-size  : 18px;
}
.offres .prix {
    font-size: 50px;
    color    : #535353;
}
.offres .data-item__title {
    font-size     : 50px;
    color         : #535353;
    text-transform: uppercase;
    font-weight   : 900;
    filter:var(--drop-shadow-1);
}
.card {
    background   : var(--bg-light-2);
    box-shadow   : var(--shadow-1);
    border-radius: 20px;
    overflow     : hidden;
}
.offres .card {
    padding: 1rem;
}
.offres #content ul {
    padding-left: 20px;
}
.widget-header h2 {
    color        : var(--color-1);
    font-size    : 40px;
    font-weight  : 900;
    text-shadow  : 0 2px 4px rgb(174 174 192 / 54%);
    margin-bottom: 1rem;
}
.widget-header p {
    text-transform: uppercase;
    font-weight   : 500;
    font-size     : 18px;
    color         : #535353;
}
@media(max-width:991px) {
    /* les 2 vides du haut */
    .atouts__grid {
        grid-template-columns: repeat(2, 1fr);
        grid-template-rows   : auto;
    }
    .atouts__photo {
        grid-column: 1 / -1;
        grid-row   : 1;
    }
    .atouts__photo img {
        height : auto;
        display: block;
    }
    .atouts__empty--col2 {
        grid-column: auto;
        grid-row   : auto;
        display    : none;
        /* on supprime les 2 cases vides */
    }
    .atouts__empty--col3 {
        grid-column: auto;
        grid-row   : auto;
        display    : none;
        /* on supprime les 2 cases vides */
    }
    /* Row 2 */
    .atout-card--r2c2 {
        grid-column: auto;
        grid-row   : auto;
    }
    .atout-card--r2c3 {
        grid-column: auto;
        grid-row   : auto;
    }
    /* Row 3 */
    .atout-card--r3c1 {
        grid-column: auto;
        grid-row   : auto;
    }
    .atout-card--r3c2 {
        grid-column: auto;
        grid-row   : auto;
    }
    .atout-card--r3c3 {
        grid-column: auto;
        grid-row   : auto;
    }
    /* Row 4 */
    .atout-card--r4c1 {
        grid-column: auto;
        grid-row   : auto;
    }
    .atout-card--r4c2 {
        grid-column: auto;
        grid-row   : auto;
    }
    .atout-card--r4c3 {
        grid-column: auto;
        grid-row   : auto;
    }
}
.atouts-2 .bloc {
    background   : var(--bg-light-2);
    border-radius: 20px;
    box-shadow   : var(--shadow-1);
    height       : 100%;
    padding      : 1rem;
}
.atouts-2 .bloc h3 {
    text-shadow: 0 2px 4px rgb(174 174 192 / 54%);
    font-weight: 600;
    line-height: 1.1;
    font-size  : 24px;
    color      : black;
}
.data-item__category span {
    box-shadow    : var(--shadow-2);
    border-radius : 26px;
    background    : #C2CCEB;
    padding       : 3px 15px 5px;
    font-size     : 13px;
    text-transform: uppercase;
}
.data-item__category {
    margin-bottom: 1rem;
}
.data-item__title {
    font-size  : 22px;
    font-weight: 600;
    line-height: 1.2;
    text-shadow: 0 2px 4px rgb(174 174 192 / 54%);
}
.data-item__content_short {
    color      : var(--gris);
    line-height: 1.2;
}
.accordion-item:last-of-type,
.accordion-item:last-of-type > .accordion-header .accordion-button.collapsed {
    border-bottom-right-radius: 20px;
    border-bottom-left-radius : 20px;
}
.accordion-item:first-of-type,
.accordion-item:first-of-type > .accordion-header .accordion-button {
    border-top-left-radius : 20px;
    border-top-right-radius: 20px;
}
.accordion-item {
    border    : none;
    background: none;
}
.accordion-button {
    border       : none;
    background   : transparent;
    border-radius: 20px;
}
.accordion-item:hover {
    border       : none;
    background   : none;
    border-radius: 20px;
    background   : var(--bg-light-2);
    box-shadow   : var(--shadow-2);
}
.accordion-button:not(.collapsed) {
    color: black;
}
.accordion-title {
    font-size  : 20px;
    font-weight: 800;
}
.accordion-button:focus {
    box-shadow: none;
}
.accordion-body {
    padding-top: 0;
}
.accordion-button:not(.collapsed) {
    background: transparent;
}
.accordion-button::after,
.accordion-button:not(.collapsed)::after {
    background-image: none;
}
.audio-card {
    background   : var(--bg-light-2);
    padding      : 20px;
    border-radius: 20px;
    box-shadow   : var(--shadow-2);
    font-family  : inherit;
}
.audio-card__header {
    display        : flex;
    justify-content: space-between;
    align-items    : center;
}
.audio-title p {
    margin-bottom: 4px;
    font-weight  : 700;
}
.audio-desc {
    margin     : 0;
    font-weight: 13px;
    color      : var(--gris);
}
.audio-toggle {
    width        : 48px;
    height       : 48px;
    border-radius: 50%;
    border       : none;
    cursor       : pointer;
    font-size    : 18px;
    background   : var(--bg-light-2);
    box-shadow   : -4px -4px 8px rgba(255,255,255,0.8), 4px 4px 10px rgba(174,174,192,0.4);
}
.audio-toggle.playing {
    color: #ff5220;
}
.audio-progress {
    height       : 6px;
    background   : #DEE3F3;
    border-radius: 10px;
    margin       : 15px 0;
    cursor       : pointer;
    position     : relative;
    box-shadow   : var(--shadow-2);
}
.audio-progress__bar {
    height    : 100%;
    width     : 0;
    background: #ff5220;
    transition: width 0.1s linear;
}
.audio-time {
    display        : flex;
    justify-content: space-between;
    font-size      : 14px;
    color          : #666;
}
.audio-progress__thumb {
    position     : absolute;
    top          : 50%;
    left         : 0;
    width        : 25px;
    height       : 25px;
    background   : #ff5220;
    border-radius: 50%;
    transform    : translate(-50%, -50%);
    box-shadow   : var(--shadow-1);
    transition   : left 0.1s linear;
    border       : 6px solid var(--bg-light-2);
}
.audio-toggle {
    display        : flex;
    align-items    : center;
    justify-content: center;
    transition     : 0.2s all;
}
swiper-container::part(wrapper) {
    padding: 1rem 0;
}
swiper-container::part(container) {
    padding: 0 1rem;
}
@media(max-width:1299px) {
    h1,
    h2 {
        font-size: 35px;
    }
    .offres .data-item__title {
        font-size: 42px;
    }
}
@media(max-width:991px) {
    .offres .data-item__title {
        font-size: 38px;
    }
    .offres .prix {
        font-size: 35px;
    }
    #main-menu {
        margin-left: 17px;
        margin-top : 16px;
    }
    h1,
    h2 {
        font-size: 27px;
    }
}
@media(max-width:767px) {
    .features-stacked-md .feature {
        text-align: center;
    }
    .atout-card__text,
    .atouts-2 .bloc h3 {
        font-size: 20px;
    }
    .atouts-2 svg {
        width: 80px;
    }
    .gaia {
        width: 200px;
    }
}
@media(max-width:575px) {
    .atouts__grid {
        grid-template-columns: repeat(1, 1fr);
    }
}
.form-label,
form .text-danger {
    display: none;
}
.form-control {
    background   : var(--bg-light-2);
    box-shadow   : var(--shadow-2);
    border       : none !important;
    border-radius: 10px;
}
.form-control:focus {
    background: var(--bg-light-2);
}
#main-menu.menu-breakpoint {
    width: 100%;
}