/********************************************************/
/*
/* General CSS & Typography
/*
/********************************************************/

/* html {
    overflow-x: hidden;
} */

body {
    margin-bottom: 0 !important;
    background-color: var(--color-gray);
}

/* Typography ********************************************************************/

/* BOLD - 700 */
@font-face {
    font-family: 'Arca Majora 3';
    font-weight: 700;
    font-style: normal;
    src: url('../fonts/ArcaMajora3-Bold.otf') format('otf');
}

/* HEAVY - 900 */
@font-face {
    font-family: 'Arca Majora 3';
    font-weight: 900;
    font-style: normal;
    src: url('../fonts/ArcaMajora3-Heavy.otf') format('otf');
}

h1,
h2,
h3,
blockquote {
    font-family: var(--font-title);
    font-weight: var(--font-weight-bold);
    color: var(--color-2);
}

h4,
h5,
p,
ul:not(.sub-menu, .menu)>li,
a,
select,
input {
    font-family: var(--font-main);
}

h6,
nav a {
    text-transform: uppercase;
}

h1 {
    font-size: var(--font-size-4xl);
    line-height: var(--line-height-4xl);
}

h2 {
    font-size: var(--font-size-2xl);
    line-height: var(--line-height-2xl);
}

h3 {
    font-size: var(--font-size-xl);
    line-height: var(--line-height-xl);
}

h4 {
    font-size: var(--font-size-l);
    line-height: var(--line-height-l);
    font-weight: var(--font-weight-light);
    color: var(--color-3);
}

h5,
nav a {
    font-size: var(--font-size-s);
    line-height: var(--line-height-m);
    font-weight: var(--font-weight-semi-bold);
    color: var(--color-2);
}

h5 {
    font-style: var(--font-style-italic);
}

h6 {
    font-size: var(--font-size-xs);
    line-height: var(--line-height-m);
    font-family: var(--font-title);
    font-weight: bold;
    letter-spacing: 1.32px;
    color: var(--color-1);
}

blockquote {
    font-size: var(--font-size-l);
    line-height: var(--line-height-xl);
}

p,
ul:not(.sub-menu, .menu)>li {
    font-weight: var(--font-weight-regular);
    font-size: var(--font-size-s);
    line-height: var(--line-height-m);
}

ul:not(.sub-menu, .menu)>li {
    position: relative;
    padding-left: 45px;
    /* Bullet width (30px) + 15px margin */
}

ul:not(.sub-menu, .menu)>li:not(:last-child) {
    margin-bottom: var(--margin-s);
}

ul:not(.sub-menu, .menu)>li::before {
    content: "";
    position: absolute;
    top: calc((var(--line-height-m) - 6.5px) / 2);
    left: 0;
    width: 30px;
    height: 6.5px;
    background-color: var(--color-4);
}

p.small,
p>strong {
    color: var(--color-2);
}

p.small {
    font-size: var(--font-size-xs);
}

p>strong {
    font-size: var(--font-size-m);
}

a.link,
:not([data-part="action"])> :not(.btn, .menu-item-has-children)>a[href]:not([href=''], .btn, .social, .cake, .ab-item, .logo, .no-deco),
.btn a,
.sub-menu a,
select,
input[type="button"],
input[type="submit"] {
    position: relative;
    font-size: var(--font-size-s);
    line-height: var(--line-height-s);
    font-weight: var(--font-weight-bold);
    text-transform: initial;
    color: var(--color-2);
    z-index: 1;
}

/* Text color ********************************************************************/

.txt-color-1 {
    color: var(--color-1);
}

.txt-color-2 {
    color: var(--color-2);
}

.txt-color-3 {
    color: var(--color-3);
}

.txt-color-4 {
    color: var(--color-4);
}

.txt-color-5 {
    color: var(--color-5);
}

.txt-white {
    color: var(--color-white);
}

.txt-black {
    color: var(--color-black);
}

.txt-gray {
    color: var(--color-gray);
}

:is(h1, h2, h3, h4, h5, h6, 
p, main ul > li, 
blockquote, label, a) > :is(p, span, a) {
    font: inherit;
    color: inherit;
}

/* Inputs ********************************************************************/

a.btn,
p.btn>a,
input[type="submit"] {
    display: inline-block;
    border: 6px solid var(--color-5);
    border-radius: 32px;
    padding: var(--padding-s) var(--padding-m);
    width: max-content;

    transition: background-color .6s;
    background-color: transparent;
}

a.btn.circle,
p.btn.circle>a {
    padding: 0;
}

a.btn:hover,
p.btn>a:hover,
input[type="submit"]:hover,
input[type="button"]:hover {
    background-color: var(--color-5);
}

a.link,
.sub-menu a,
:not([data-part="action"])> :not(.btn, .menu-item-has-children)>a[href]:not([href=''], .btn, .social, .cake, .ab-item, .logo, .no-deco) {
    position: relative;
    border-bottom: 1px solid var(--color-2);
    padding-bottom: 3px;
    font-size: inherit;
}

a.link::before,
:not([data-part="action"])> :not(.btn, .menu-item-has-children)>a[href]:not([href=''], .btn, .social, .cake, .ab-item, .logo, .no-deco)::before,
.sub-menu a::before {
    content: "";
    width: 100%;
    height: 6px;
    background-color: var(--color-5);
    position: absolute;
    bottom: -7px;
    left: 0;
    transition: opacity .6s;
    z-index: -1;
}

a.link:hover::before,
:not([data-part="action"])> :not(.btn, .menu-item-has-children)>a[href]:not([href=''], .btn, .social, .cake, .ab-item, .logo, .no-deco):hover::before,
.sub-menu a:hover::before {
    opacity: 0;
}

:not(.btn)>a[href]:not([href=''], .cake)[target="_blank"] {
    display: inline-flex;
    width: max-content;
    align-items: center;
}

:not(.btn)>a[href]:not([href=''], .cake)[target="_blank"]::after {
    content: "";
    display: inline-block;
    background: url(../images/arrow_externe.svg) no-repeat center right;
    filter: brightness(0) saturate(100%) invert(20%) sepia(9%) saturate(2732%) hue-rotate(208deg) brightness(99%) contrast(86%);
    width: 15px;
    height: 15px;
    margin-left: 5px;
    margin-bottom: -3px;
}

@media screen and (max-width: 600px) {
    :not(.btn)>a[href]:not([href=''], .cake)[target="_blank"] {
        width: auto;
    }
    :not(.btn)>a[href]:not([href=''], .cake)[target="_blank"]::after {
        width: 25px;
    }
}

input:not([type="button"], [type="submit"]),
select,
textarea {
    padding: var(--padding-s) var(--padding-m) !important;
    line-height: var(--line-height-m);
    min-width: 200px;
}

input:not([type="button"], [type="submit"]),
textarea {
    background-color: var(--color-white);
    border: 3px solid var(--color-4);
    border-radius: 53.5px;
    margin-bottom: calc(var(--margin-m) * 1.5) !important;
}

textarea {
    border-radius: 20px;
}

select {
    border: 6px solid var(--color-5);
    border-radius: 32px;
    padding-right: calc(var(--padding-m) * 2.5) !important;
    background: url(../images/bas.svg) no-repeat right;
    background-size: 32px;
    background-position: calc(100% - 10px) 50%;
    -moz-appearance: none;
    -webkit-appearance: none;
}

/* Other ********************************************************************/

main > [data-part="wrap"]:not(.cake-block-sticky-gallery) {
    overflow: hidden
}

figure img,
.wp-block-image img {
    width: 100%;
    height: 100%;
    object-fit: cover;
}

.disabled {
    pointer-events: none !important;
    opacity: .5 !important;
}

/* @media screen and (max-width: 1440px) {
    #chatbot-chat {
        bottom: var(--margin-xl) !important;
        left: 90vw;
    }
}

@media screen and (max-width: 700px) {
    #chatbot-chat {
        bottom: calc(var(--margin-l) * 1.5) !important;
        left: 85vw;
    }
}

@media screen and (max-width: 450px) {
    #chatbot-chat {
        left: 75vw;
    }
} */

/********************************************************/
/*
/* Header & Menus
/*
/********************************************************/

header {
    background-color: var(--color-gray);
    padding: var(--padding-l) 0;
}

header menu {
    justify-content: space-between;
}

header .logo {
    width: auto;
    min-height: 100px;
    max-height: 100px;
}

header nav {
    display: flex;
    align-items: center;
    column-gap: var(--margin-xl);
    height: 100%;
}

header nav li.menu-item-has-children {
    position: relative;
}

header nav li.menu-item-has-children:hover {
    padding-bottom: 75px;
    margin-bottom: -75px;
}

header nav li.menu-item-has-children::after {
    content: "";
    display: inline-block;
    width: 30px;
    height: 6.5px;
    position: absolute;
    top: calc(100% + 10px);
    left: 50%;
    transform: translateX(-50%);

    transition: background-color .6s;
    background-color: var(--color-4);
}

header nav li.menu-item-has-children:hover::after,
header nav li.menu-item-has-children:is(.current-page-ancestor, .current-menu-ancestor, .current-menu-item)::after {
    background-color: var(--color-1);
}

header nav li.menu-item-has-children:hover::after {
    top: calc(100% + 10px - 75px);
    /* Compensate the added margin on the parent when hovered */
}

header nav li.menu-item-has-children .sub-menu {
    display: flex;
    flex-direction: column;
    align-items: center;
    text-align: center;
    gap: var(--margin-m);
    width: max-content;
    min-width: 200px;
    position: absolute;
    top: calc(var(--margin-xl) * 1.5);
    left: 50%;
    transform: translateX(-50%);
    background-color: var(--color-white);
    padding: var(--padding-l);
    box-shadow: 0 0 20px 0 rgba(0, 0, 0, 0.1);
    -webkit-box-shadow: 0 0 20px 0 rgba(0, 0, 0, 0.1);
    -moz-box-shadow: 0 0 20px 0 rgba(0, 0, 0, 0.1);
    z-index: 1;

    transition: opacity .6s;
    opacity: 0;
    pointer-events: none;
}

header nav li.menu-item-has-children:hover .sub-menu {
    opacity: 1;
    pointer-events: all;
}

header nav .icons {
    display: flex;
    align-items: center;
    z-index: 3;
    /* Ensures */
}

header nav .icon {
    width: 30px;
    height: 40px;
}

header nav a.icon {
    position: relative;
    pointer-events: all;
    cursor: pointer;
}

header nav .icon img {
    position: absolute;
    transition: opacity .6s;
}

header nav .icons img.hover,
header nav .icons:hover img:not(.hover) {
    opacity: 0;
}

header nav .icons:hover img.hover {
    opacity: 1;
}

#menu-toggle:checked~header .burger,
#menu-toggle:not(:checked)~header .close {
    display: none;
}

@media screen and (max-width: 1300px) {
    header nav>li:nth-last-of-type(2) {
        display: none;
    }
}

@media screen and (max-width: 1100px) {
    header nav>li:nth-last-of-type(3) {
        display: none;
    }
}

@media screen and (max-width: 900px) {
    header nav>li:not(.icons) {
        display: none;
    }
}

@media screen and (max-width: 500px) {
    header .logo {
        min-height: 75px;
        max-height: 75px;
    }
}

/* Complete menu */

.burger-menu-container {
    position: absolute;
    width: 100vw;
    height: 100vh;
    top: 0;
    left: 0;
    overflow-x:  hidden;
    pointer-events: none;
}

aside {
    display: block !important;
    position: absolute;
    right: 0;
    top: 0;
    width: max(500px, calc(100vw / 3));
    max-width: 100vw;
    height: 100vh;
    background-color: var(--color-white);
    box-shadow: 0 0 20px 0 rgba(0, 0, 0, 0.1);
    -webkit-box-shadow: 0 0 20px 0 rgba(0, 0, 0, 0.1);
    -moz-box-shadow: 0 0 20px 0 rgba(0, 0, 0, 0.1);
    z-index: 2;

    transition: transform .6s;
    transform: translateX(max(500px, calc(100vw / 3)));
    pointer-events: none;
}

#menu-toggle:checked~.burger-menu-container aside {
    transform: translateX(0);
    pointer-events: all;
}

aside menu>a {
    opacity: 0;
    pointer-events: none;
}

aside menu {
    height: 100%;
    padding: var(--padding-3xl) 0 0 var(--padding-xl);
}

aside nav {
    position: relative;
    display: flex;
    flex-direction: column;
    gap: calc(var(--margin-m) * 1.5);
}

aside nav>li.menu-item,
aside nav>li.menu-item>a {
    position: relative;
    width: max-content;
}

aside nav>li.menu-item>a {
    transition: none !important;
}

aside nav>li.menu-item>a:hover {
    padding-bottom: 40px;
    margin-bottom: -40px;
}

aside nav>li.menu-item>a::after {
    content: "";
    display: inline-block;
    width: 30px;
    height: 6.5px;
    position: absolute;
    top: calc(100% + 5px);
    left: 0;

    transition: background-color .6s;
    background-color: var(--color-4);
}

aside nav>li.menu-item>a:hover::after,
aside nav>li.menu-item:hover>a::after,
aside nav>li.menu-item:is(.current-page-ancestor, .current-menu-ancestor, .current-menu-item, .selected)>a::after {
    background-color: var(--color-1);
}

aside nav>li.menu-item>a:hover::after {
    top: calc(100% + 5px - 40px);
    /* Compensate the added margin on the parent when hovered */
}

aside nav li.menu-item>a+.sub-menu {
    display: flex;
    flex-direction: column;
    gap: var(--margin-m);
    width: 100%;
    top: calc(var(--margin-xl) * 1.5);
    overflow: hidden;

    transition: max-height 1s, padding 1s .2s;
    max-height: 0;
    padding: 0;
    pointer-events: none;
}

aside nav li.menu-item>a:hover+.sub-menu,
aside nav li.menu-item.selected>.sub-menu,
aside nav li.menu-item>a+.sub-menu:hover {
    transition: max-height 1s, padding .2s;
    max-height: 750px;
    padding: var(--margin-l) 0;
    pointer-events: all;
}

aside a.close-submenu {
    position: absolute;
    top: 65px;
    pointer-events: all;
}

label.transparent-overlay {
    width: 100vw;
    height: 100vh;
    position: absolute;
    background-color: var(--color-black);
    z-index: 2;

    transition: opacity .6s;
    opacity: 0;
    pointer-events: none;
}

#menu-toggle:checked~label.transparent-overlay {
    opacity: .5;
    pointer-events: all;
}

@media screen and (max-width: 900px) {
    aside {
        width: 100vw;
        transform: translateX(100vw);
    }
    aside menu {
        position: relative;
        padding: calc(var(--padding-2xl) * 1.25) 0 0 var(--padding-xl);
    }
    aside nav>li.top-level-hidden>a {
        margin-left: -100vw;
        opacity: 0;
        pointer-events: none;
        transition: margin-left .6s, height .1s ease, width .1s ease, opacity 2s !important;
    }
    aside nav>li.menu-item, aside nav>li.menu-item>a {
        position: unset;
    }
    aside nav>li.menu-item>a,
    aside nav>li .sub-menu {
        transition: margin-left .6s, height .1s ease, width .1s ease, opacity .6s !important;
    }
    aside nav>li .sub-menu {
        position: absolute;
        top: 0 !important;
        width: 0px;
        height: 0px;
        margin-bottom: 0;
        
        margin-left: 100vw;
    }
    aside nav>li .sub-menu li a {
        border-bottom: none !important;
    }
    aside nav>li.selected .sub-menu {
        margin-left: 0vw;
        overflow: visible;
        pointer-events: all !important;
        padding: 0 !important;
    }
    aside nav>li.selected .sub-menu li {
        margin-bottom: var(--margin-s);
    }
    label.transparent-overlay, aside nav>li.menu-item>a::after, .sub-menu a::before {
        display: none;
    }
}

@media screen and (max-width: 500px) {
    aside menu {
        padding: calc(var(--padding-2xl) * 1.25) 0 0 var(--padding-m);
    }
    aside nav {
        height: 100%;
    }
    aside a.close-submenu {
        top: 55px;
    }
    aside nav>li .sub-menu {
        gap: var(--margin-s) !important;
    }
}

/********************************************************/
/*
/* Blocks
/*
/********************************************************/

/* Page header ********************************************************************/

.cake-block-page-header [data-part="inner"] {
    position: relative;
    padding: var(--padding-2xl) 0 0;
    flex-wrap: wrap;
    justify-content: space-between;
}

.cake-block-page-header [data-part="inner"]>h1 {
    position: relative;
    flex: 100%;
    margin-bottom: calc(var(--margin-m) * 1.5);
    display: flex;
    justify-content: space-between;
    /* align-items: end; */
    align-items: center;
}

.cake-block-page-header [data-part="inner"]>h1::after {
    content: "";
    display: inline-block;
    width: 150px;
    height: 32.5px;
    background-color: var(--color-1);
}

.cake-block-page-header [data-part="inner"]>:not(h1, figure) {
    max-width: 30%;
    translate: 10%;
    font-size: 100%;
}

.cake-block-page-header [data-part="inner"]>div {
    display: flex;
    flex-direction: column;
    gap: var(--margin-m);
}

.cake-block-page-header [data-part="inner"]>figure:first-of-type,
.cake-block-page-header [data-part="inner"]>figure:first-of-type img {
    position: relative;
    min-height: 600px;
    max-height: 600px;
    width: 100%;
    max-width: 100%;
    object-fit: cover;
}

.cake-block-page-header:not(.cake-no-gradient) [data-part="inner"]>figure:first-of-type::before {
    content: "";
    position: absolute;
    background: radial-gradient(circle, var(--color-4) 0%, rgba(254, 252, 243, 0) 50%);
    min-width: 400px;
    width: 50%;
    height: 125%;
    transform: translateY(-50%);
    top: 50%;
    left: -25%;
    z-index: -1;
}

.cake-block-page-header [data-part="inner"]>figure:first-of-type:not(:last-child)::before {
    transform: unset;
    top: -50%;
}

.cake-block-page-header [data-part="inner"]>figure:first-of-type:not(:last-child)::after {
    content: "";
    position: absolute;
    left: 0;
    width: 100%;
    height: 100%;
    background: linear-gradient(90deg, rgba(253, 254, 247, 0.5) 0%, rgba(253, 254, 247, 0) 100%);
}

.cake-block-page-header [data-part="inner"]>:not(h1, figure)+figure:first-of-type {
    max-width: 60%;
    translate: -10%;
}

/* Second image means it is an icon */
.cake-block-page-header [data-part="inner"]>figure+figure {
    position: absolute;
    width: 200px;
    height: auto;
    left: 30%;
    bottom: 150px; /* Half of image's height (500px) - half of icon's height (200px) */
}

@media screen and (max-width: 900px) {
    .cake-block-page-header [data-part="inner"]>figure:first-of-type, .cake-block-page-header [data-part="inner"]>figure:first-of-type img {
        min-height: 450px;
        max-height: 450px;
    }
    .cake-block-page-header [data-part="inner"]>figure+figure {
        width: 150px;
        bottom: 100px;
    }
}

@media screen and (max-width: 600px) {
    .cake-block-page-header [data-part="inner"] {
        padding: var(--padding-xl) 0 0;
    }
    .cake-block-page-header [data-part="inner"]>h1 {
        gap: var(--margin-m);
        align-items: end;
    }
    .cake-block-page-header [data-part="inner"]>h1::after {
        width: 75px;
        height: 20px;
    }
    .cake-block-page-header [data-part="inner"]>:not(h1, figure) {
        max-width: 50%;
    }
    .cake-block-page-header [data-part="inner"]>figure:first-of-type, .cake-block-page-header [data-part="inner"]>figure:first-of-type img {
        min-height: 350px;
        max-height: 350px;
    }
    .cake-block-page-header [data-part="inner"]>:not(h1, figure)+figure:first-of-type {
        max-width: 100%;
        margin-top: calc(var(--margin-m) * 2);
        translate: 20% -10%;
    }
    .cake-block-page-header [data-part="inner"]>figure+figure {
        bottom: 175px;
        left: 70%;
    }
}

@media screen and (max-width: 450px) {
    .cake-block-page-header [data-part="inner"]>h1::after {
        display: none;
    }
    .cake-block-page-header [data-part="inner"]>:not(h1, figure) {
        max-width: 75%;
    }
    .cake-block-page-header [data-part="inner"]>:not(h1, figure)+figure:first-of-type {
        translate: 0;
    }
    .cake-block-page-header [data-part="inner"]>figure+figure {
        width: 100px;
        bottom: 175px;
        left: 70%;
    }
}

/* Text ********************************************************************/

.cake-block-text .panel {
    display: flex;
    flex-direction: column;
    gap: calc(var(--margin-m) * 2);
    background-color: var(--color-white);
    border: 3px solid var(--color-4);
    border-radius: 24px 24px 32px 0;
    padding: var(--padding-l) calc(var(--padding-m) * 1.5);
}

.cake-block-text .icon {
    position: absolute;
    width: 25%;
    max-width: 350px;
    height: auto;
    right: calc(var(--grid-pad) + var(--grid-gap));
}

.cake-block-text .icon~ :not(.icon) {
    width: 70%;
}

.cake-block-text [data-part="inner"] {
    padding: var(--padding-2xl) 0;
    grid-column: col-start 2 / col-end 11;
    flex-direction: column;
}

.cake-block-text [data-part="inner"]> :first-child:not(.icon) {
    position: relative;
}

.cake-block-text [data-part="inner"]> :first-child:not(.icon)::after {
    content: "";
    position: absolute;
    left: calc(((var(--inner-grid-w) * (1 / 12)) + 150px) * -1);
    top: 0;
    width: 150px;
    height: 32.5px;
    background-color: var(--color-1);
}

.cake-block-text :is(h1, h2, p, ul):not(:last-child) {
    margin-bottom: var(--margin-xl);
}

.cake-block-text :is(h3, h4, h5):not(:last-child) {
    margin-bottom: calc(var(--margin-m) * 1.5);
}

/* Hide red rectangle when following block page header or if first child of single content */
.cake-block-page-header+.cake-block-text [data-part="inner"]> :first-child::after,
.news-single-content .cake-block-text:first-child [data-part="inner"]> :first-child::after {
    display: none;
}

@media screen and (max-width: 1462px) {
    .cake-block-text .icon {
        right: 5%;
    }
    
}

@media screen and (max-width: 600px) {
    .cake-block-text [data-part="inner"] {
        grid-column: inner-start / inner-end;
        padding: var(--padding-xl) 0;
    }
}

/* 2 Col ********************************************************************/

.cake-block-2-col [data-part="inner"] {
    padding: var(--padding-2xl) 0 0;
    gap: calc(var(--margin-m) * 1.5);
}

.cake-block-2-col .wp-block-column {
    display: flex;
    flex-direction: column;
}

.cake-block-2-col .wp-block-column :is(h1, h2, h3, p):not(:last-child) {
    margin-bottom: var(--margin-xl);
}

.cake-block-2-col .wp-block-column :is(h4, h5):not(:last-child) {
    margin-bottom: calc(var(--margin-m) * 1.5);
}

.cake-block-2-col .wp-block-column:has(figure) {
    justify-content: end;
}

.cake-block-2-col .wp-block-column figure,
.cake-block-2-col .wp-block-column figure img {
    width: 100%;
    min-height: 450px;
    max-height: 450px;
    object-fit: contain;
    object-position: right;
}

@media screen and (max-width: 800px) {
    .cake-block-2-col .wp-block-column:is(.wp-block-column) {
        flex-basis: unset !important;
    }
    .cake-block-2-col [data-part="inner"] .wp-block-columns {
        flex-direction: column-reverse;
    }
    .cake-block-2-col .wp-block-column figure, .cake-block-2-col .wp-block-column figure img {
        object-position: left;
        min-height: 250px;
        max-height: 250px;
    }
}

@media screen and (max-width: 600px) {
    .cake-block-2-col .wp-block-column figure, .cake-block-2-col .wp-block-column figure img {
        min-height: 200px;
        max-height: 200px;
    }
    .cake-block-2-col .wp-block-columns, .cake-block-2-col .wp-block-column {
        max-width: 100%;
    }
    .cake-block-2-col .wp-block-spacer {
        display: none;
    }
}

/* Alt version */

.cake-block-2-col.cake-alt-version .wp-block-columns {
    gap: calc(var(--margin-2xl) * 1.2);
}


/* Text-media ********************************************************************/

.cake-block-text-media [data-part="inner"] {
    flex-direction: column;
}

.cake-block-text-media .wp-block-columns {
    position: relative;
    gap: var(--margin-2xl);
    padding: calc(var(--padding-xl) * 1.5) 0;
}

.cake-block-text-media .wp-block-column {
    height: max-content;
    margin: auto;
}

.cake-block-text-media .wp-block-column :is(h1, h2, h3):not(:last-child) {
    margin-bottom: var(--margin-m);
}

.cake-block-text-media .wp-block-column :is(h4, h5):not(:last-child) {
    margin-bottom: calc(var(--margin-m) * 1.5);
}

.cake-block-text-media .wp-block-column p:not(:last-child) {
    margin-bottom: var(--margin-xl);
}

.cake-block-text-media .wp-block-column figure {
    width: 100%;
    height: auto;
    aspect-ratio: 1 / 1;
    border: 32px solid var(--color-2);
    border-radius: 50% 50% 50% 0;
    overflow: hidden;
}

.cake-block-text-media .wp-block-columns:nth-child(even) figure {
    border-color: var(--color-4);
}

.cake-block-text-media .wp-block-columns:nth-child(odd)::before,
.cake-block-text-media .wp-block-columns:nth-child(even)::before {
    content: "";
    position: absolute;
    background: radial-gradient(circle, var(--color-4) 0%, rgba(254, 252, 243, 0) 50%);
    width: 75%;
    height: 75%;
    transform: translateY(-50%);
    top: 50%;
    z-index: -1;
}

.cake-block-text-media .wp-block-columns:nth-child(odd)::before {
    left: 0;
}

.cake-block-text-media .wp-block-columns:nth-child(even)::before {
    right: 0;
}

@media screen and (max-width: 1000px) {
    .cake-block-text-media .wp-block-columns {
        gap: var(--margin-xl);
        padding: var(--padding-xl) 0;
    }
    .cake-block-text-media .wp-block-column figure {
        border: 24px solid var(--color-2);
    }
}

@media screen and (max-width: 600px) {
    .cake-block-text-media .wp-block-columns:nth-child(even) {
        flex-wrap: nowrap !important;
        flex-direction: column-reverse;
    }
    .cake-block-text-media .wp-block-column {
        margin: 0;
    }
    .cake-block-text-media .wp-block-column figure {
        border: 32px solid var(--color-2);
    }
}

@media screen and (max-width: 500px) {
    .cake-block-text-media .wp-block-column figure {
        border: 24px solid var(--color-2);
    }
    .cake-block-text-media .wp-block-columns:nth-child(odd)::before, .cake-block-text-media .wp-block-columns:nth-child(even)::before {
        width: 120%;
        left: -10%;
    }
}

/* Panels ********************************************************************/

.cake-block-panels {
    background: linear-gradient(328.93deg, var(--color-4) 0%, rgba(254, 252, 243, 0) 100%);
    margin-top: var(--margin-xl);
}

.cake-block-panels [data-part="inner"] {
    flex-wrap: wrap;
    justify-content: center;
    gap: calc(var(--margin-m) * 1.5);
    padding: calc(var(--padding-2xl) * 1.25) 0;
}

.cake-block-panels [data-part="inner"]>.has-text-align-center {
    align-self: center;
}

.cake-block-panels [data-part="inner"]> :not(.wp-block-columns) {
    width: 100%;
    padding-right: 25%;
}

.cake-block-panels [data-part="inner"]> :is(h1, h2, h3, h4, h5, p):not(:last-child) {
    margin-bottom: var(--margin-m); 
}

.cake-block-panels [data-part="inner"]> :is(h6):not(:last-child) {
    margin-bottom: calc(var(--margin-s) * 0.75);
}

.cake-block-panels .wp-block-columns {
    display: contents; 
}

.cake-block-panels .wp-block-columns:not(:last-child) {
    margin-bottom: calc(var(--margin-m) * 1.5);
}

.cake-block-panels .wp-block-column {
    display: flex;
    flex-direction: column;
    gap: calc(var(--margin-s) * 1.5);
    min-width: calc((100% - (var(--margin-m) * 3)) / 3);
    max-width: calc((100% - (var(--margin-m) * 3)) / 3);
    border-radius: 24px 24px 32px 0;
    padding: var(--padding-l);
    background-color: var(--color-white);
}

.cake-block-panels .wp-block-column.hide {
    display: none;
}

@media screen and (max-width: 1000px) {
    .cake-block-panels [data-part="inner"] {
        padding: calc(var(--padding-xl) * 1.5) 0;
    }
    .cake-block-panels .wp-block-columns {
        flex-wrap: wrap !important;
    }
    .cake-block-panels .wp-block-column {
        min-width: calc((100% - calc(var(--margin-m) * 1.5)) / 2);
        max-width: calc((100% - calc(var(--margin-m) * 1.5)) / 2);
    }
}

@media screen and (max-width: 600px) {
    .cake-block-panels [data-part="inner"]> :not(.wp-block-columns) {
        width: 100%;
    }
    .cake-block-panels .wp-block-column {
        min-width: 100%;
        max-width: 100%;
    }
}

/* Alt version */

.cake-block-panels.cake-alt-version {
    position: relative;
    background: var(--color-2);
}

.cake-block-panels.cake-alt-version::before {
    content: "";
    position: absolute;
    top: 0;
    right: 0;
    background: url(../images/R-longue-patte-cropped.svg) no-repeat center right;
    filter: invert(100%) sepia(100%) saturate(0%) hue-rotate(356deg) brightness(101%) contrast(103%);
    width: 175%;
    height: 100%;
    aspect-ratio: 6 / 1;
    opacity: .2;
}

.cake-block-panels.cake-alt-version [data-part="inner"] {
    z-index: 1;
}

.cake-block-panels .wp-block-columns {
    margin-top: 0;
}

/* Services ********************************************************************/

.cake-block-services {
    background: linear-gradient(328.93deg, var(--color-4) 0%, rgba(254, 252, 243, 0) 100%);
    margin-top: var(--margin-3xl);
}

.cake-block-services [data-part="inner"] {
    flex-direction: column;
    padding: var(--padding-3xl) 0;
}

.cake-block-services [data-part="inner"]>*:not(.services) {
    width: 90%;
}

.cake-block-services [data-part="inner"]>h6 {
    margin-bottom: var(--margin-m);
}

.cake-block-services [data-part="inner"]>h3 {
    margin-bottom: var(--margin-xl);
}

.cake-block-services .services {
    display: grid;
    grid-template-columns: repeat(6, 1fr);
    grid-template-rows: auto;
    gap: calc(var(--margin-m) * 1.5);
    margin-top: var(--margin-2xl);
}

.cake-block-services .service {
    display: flex;
    flex-direction: column;
    position: relative;
    grid-column: span 2;
    border-radius: 24px 24px 32px 0;
    padding: calc(var(--padding-xl) * 1.5) var(--padding-l) var(--padding-xl);
    min-height: 400px;

    transition: background-color .6s;
    background-color: var(--color-white);
}

.cake-block-services .service:hover {
    background-color: var(--color-3);
}

.cake-block-services .service *:is(h4, p) {
    width: calc(100% - 120px);
    /* 100% - (Width of icon + bit of leeway) */
}

.cake-block-services .service h4 {
    margin-bottom: var(--margin-s);
    transition: color .6s;
}

.cake-block-services .service p {
    transition: color .4s;
}

.cake-block-services .service:hover *:is(h4, p) {
    color: var(--color-white);
}

.cake-block-services .service>img {
    position: absolute;
    top: var(--margin-l);
    right: var(--margin-l);
    width: 100px;
    height: 100px;
}

.cake-block-services .service>a[target='_self'] {
    display: flex;
    justify-content: center;
    align-items: center;
    align-self: end;
    width: 55px;
    height: 55px;
    border: 6px solid var(--color-5);
    border-radius: 100%;
    margin-top: auto;
    margin-bottom: calc(var(--margin-l) * -1);

    transition: background-color .6s;
    background-color: transparent;
}

.cake-block-services .service>a[target='_self']:hover {
    background-color: var(--color-5);
}

.cake-block-services .service>a[target='_self'] span {
    display: none;
}

.cake-block-services .service>a[target='_self']::after {
    content: "";
    display: inline-block;
    background: url(../images/arrow_droite.svg) no-repeat center right;
    width: 15px;
    height: 15px;
}

.cake-block-services .service>a[target='_blank'] {
    display: inline-block;
    position: relative;
    width: max-content;
    border-bottom: 1px solid var(--color-2);
    font-size: var(--font-size-s);
    line-height: var(--line-height-s);
    font-weight: var(--font-weight-bold);
    text-transform: initial;
    color: var(--color-2);
    margin-top: var(--margin-xl);
}

.cake-block-services .service>a[target='_blank']::after {
    content: "";
    width: 100%;
    height: 6px;
    background-color: var(--color-5);
    transition: opacity .6s;
}

.cake-block-services .service>a[target='_blank']:hover::after {
    opacity: 0;
}

/* If number of children is not a multiple of 3, make outcast children span half the row. */
.cake-block-services .services:has(.service:last-child:nth-child(3n-1)) .service:nth-last-child(-n+2),
.cake-block-services .services:has(.service:last-child:nth-child(3n-2)) .service:last-child {
    grid-column: span 3;
}

@media screen and (max-width: 1200px) {
    .cake-block-services .service {
        grid-column: span 3;
        min-height: 300px;
    }
}

@media screen and (max-width: 800px) {
    .cake-block-services .service {
        padding: var(--padding-l);
    }
    .cake-block-services .service>img {
        position: unset;
        margin-bottom: var(--margin-l);
    }
    .cake-block-services .service *:is(h4, p) {
        width: 100%;
    }
    .cake-block-services .service p {
        margin-bottom: var(--margin-xl);
    }
    .cake-block-services .service>a[target='_self'] {
        margin-bottom: 0;
    }
}

@media screen and (max-width: 600px) {
    .cake-block-services .service {
        grid-column: span 6 !important;
    }
}

/* News ********************************************************************/

.cake-block-news [data-part="inner"] {
    grid-column: col-start 2 / col-end 11;
    flex-direction: column;
    padding: var(--padding-2xl) 0;
}

.cake-block-news [data-part="inner"]> :is(h1, h2, h3):not(:last-child) {
    margin-bottom: var(--margin-m);
}

.cake-block-news [data-part="inner"]> :is(h4, h5):not(:last-child) {
    margin-bottom: calc(var(--margin-m) * 1.5);
}

.cake-block-news [data-part="inner"]>h6:not(:last-child) {
    margin-bottom: var(--margin-s);
}

.cake-block-news [data-part="inner"]>*:not(.news-module, .btn) {
    max-width: 75%;
}

.cake-block-news [data-part="inner"] .news-filters {
    margin: var(--margin-xl) 0;
}

.cake-block-news [data-part="inner"] .news-cards,
.cake-block-news [data-part="inner"] .news-card {
    display: flex;
    flex-direction: column;
}

.cake-block-news [data-part="inner"] .news-cards {
    gap: var(--margin-s);
    margin-bottom: calc(var(--margin-xl) * 1.5);
}

.cake-block-news [data-part="inner"] .news-card {
    position: relative;
    background-color: var(--color-white);
    border: 3px solid var(--color-4);
    border-radius: 24px 24px 32px 0;
    padding: var(--padding-l);
    gap: calc(var(--margin-s) / 2);
}

.cake-block-news [data-part="inner"] .news-card *:is(h4, .terms) {
    max-width: calc(100% - 100px);
}

.cake-block-news [data-part="inner"] .news-card>div {
    display: flex;
    gap: var(--margin-s);
}

.cake-block-news [data-part="inner"] .news-card>div h6 {
    padding: 0 var(--padding-s);
    background-color: var(--color-5);
    color: var(--color-black);
}

.cake-block-news [data-part="inner"] .news-card .btn {
    position: absolute;
    display: flex;
    justify-content: center;
    align-items: center;
    width: 55px;
    height: 55px;
    right: var(--padding-l);
    top: 50%;
    padding: 0;
    transform: translateY(-50%);
}

.cake-block-news [data-part="inner"] .news-card .btn::after {
    content: "";
    display: inline-block;
    background: url(../images/arrow_droite.svg) no-repeat center right;
    width: 15px;
    height: 15px;
}

@media screen and (max-width: 800px) {
    .cake-block-news [data-part="inner"] {
        grid-column: inner-start / inner-end;
        padding: var(--padding-xl) 0;
    }
}

@media screen and (max-width: 600px) {
    .cake-block-news [data-part="inner"] .news-cards {
        margin-bottom: var(--margin-xl);
    }
    .cake-block-news [data-part="inner"] .news-card *:is(h4, .terms) {
        max-width: 100%;
        margin-bottom: var(--margin-s);
    }
    .cake-block-news [data-part="inner"] .news-card .btn {
        position: unset;
        transform: unset;
        align-self: end;
        margin-top: var(--margin-s);
    }
}

/* CTA ********************************************************************/

.cake-block-cta:not(.cake-alt-version) [data-part="inner"] {
    grid-column: col-start 2 / col-end 11;
    padding: var(--padding-xl) 0 var(--padding-2xl);
}

.cake-block-cta .wp-block-columns {
    width: 100%;
    gap: var(--margin-xl);
}

.cake-block-cta .wp-block-column {
    position: relative;
}

.cake-block-cta:not(.cake-alt-version) .wp-block-column:nth-child(odd)::before,
.cake-block-cta:not(.cake-alt-version) .wp-block-column:nth-child(even)::before {
    content: "";
    position: absolute;
    background: radial-gradient(circle, var(--color-4) 0%, rgba(254, 252, 243, 0) 50%);
    width: 75%;
    height: 75%;
    bottom: 0;
    z-index: -1;
}

.cake-block-cta:not(.cake-alt-version) .wp-block-column:last-child {
    margin-top: calc(var(--margin-m) * 3);
}

.cake-block-cta .wp-block-column :is(h1, h2, h3, p),
.cake-block-cta:not(.cake-alt-version) .wp-block-column figure {
    margin-bottom: calc(var(--margin-m) * 1.5);
}

.cake-block-cta .wp-block-column :is(h4, h5, h6) {
    margin-bottom: var(--margin-s);
}

.cake-block-cta .wp-block-column figure,
.cake-block-cta .wp-block-column figure img {
    width: 200px;
    height: 215px;
    object-fit: contain;
}

.cake-block-cta .wp-block-column> :last-child {
    margin-top: var(--margin-xl);
}

@media screen and (max-width: 800px) {
    .cake-block-cta:not(.cake-alt-version) .wp-block-column:nth-child(odd)::before, .cake-block-cta:not(.cake-alt-version) .wp-block-column:nth-child(even)::before {
        background: radial-gradient(circle, var(--color-4) 0%, rgba(254, 252, 243, 0) 40%);
        width: 100%;
    }
    .cake-block-cta .wp-block-column figure, .cake-block-cta .wp-block-column figure img {
        width: 175px;
        height: 190px;
    }
}

@media screen and (max-width: 600px) {
    .cake-block-cta:not(.cake-alt-version) [data-part="inner"] {
        grid-column: inner-start / inner-end;
    }
    .cake-block-cta .wp-block-column> :last-child {
        margin-top: var(--margin-l);
    }
    .cake-block-cta:not(.cake-alt-version) .wp-block-column:last-child {
        margin-top: var(--margin-m);
    }
}

/* Alt version */

.cake-block-cta.cake-alt-version {
    padding: var(--padding-3xl) 0;
    position: relative;
    overflow: hidden;
}

.cake-block-cta.cake-alt-version .wp-block-column {
    display: flex;
    flex-direction: column;
    justify-content: center;
    max-width: 50%;
}

.cake-block-cta.cake-alt-version .wp-block-column:first-child {
    z-index: 1;
}

.cake-block-cta.cake-alt-version .wp-block-column:last-child {
    display: contents;
}

.cake-block-cta.cake-alt-version .wp-block-column> :last-child {
    margin-top: auto;
}

.cake-block-cta.cake-alt-version .wp-block-column figure,
.cake-block-cta.cake-alt-version .wp-block-column figure img {
    width: auto;
    height: 100%;
    object-fit: contain;
}

.cake-block-cta.cake-alt-version .wp-block-column figure {
    position: absolute;
    bottom: 0;
    right: 15%;
}

@media screen and (max-width: 1920px) {
    .cake-block-cta.cake-alt-version .wp-block-column figure {
        right: 0;
    }
}

@media screen and (max-width: 1400px) {
    .cake-block-cta.cake-alt-version .wp-block-column figure {
        right: -10%;
    }
}

@media screen and (max-width: 900px) {
    .cake-block-cta.cake-alt-version .wp-block-column figure {
        right: -30%;
    }
}

@media screen and (max-width: 500px) {
    .cake-block-cta.cake-alt-version {
        padding: var(--padding-xl) 0;
    }
    .cake-block-cta.cake-alt-version .wp-block-column {
        max-width: 100%;
    }
    .cake-block-cta.cake-alt-version .wp-block-column:last-child {
        display: none;
    }
}
    

/* Accordions ********************************************************************/

.cake-block-accordions {
    position: relative;
}

.cake-block-accordions [data-part="inner"] {
    padding: var(--padding-l) 0;
    grid-column: col-start 2 / col-end 11;
    flex-direction: column;
    gap: calc(var(--margin-s) * 1.5);
}

.cake-block-accordions [data-part="inner"]> :is(h1, h2, h3, p) {
    margin-bottom: calc(var(--margin-m) * 1.5);
}

.cake-block-accordions [data-part="inner"]> :is(h4, h5, h6) {
    margin-bottom: var(--margin-s);
}

.cake-block-accordions [data-part="inner"]> :first-child::after {
    content: "";
    position: absolute;
    left: calc(var(--grid-pad) + var(--grid-gap) - 150px);
    width: 150px;
    height: 32.5px;
    background-color: var(--color-1);
}


.cake-block-accordions .c-accordion__item {
    /* position: relative; */
    display: flex;
    flex-direction: column;
    gap: calc(var(--margin-m) * 2);
    background-color: var(--color-white);
    border: 3px solid var(--color-4);
    border-radius: 24px 24px 32px 0;
    padding: var(--padding-l) calc(var(--padding-m) * 1.5);
}

.cake-block-accordions .c-accordion__item {
    margin-top: calc(var(--margin-m) * 2);
}

.cake-block-accordions .c-accordion__item+.c-accordion__item {
    margin-top: 0;
}

.cake-block-accordions .c-accordion__item .c-accordion__title {
    padding-right: 75px;
}

.cake-block-accordions .c-accordion__item .c-accordion__title::after {
    content: "";
    display: flex;
    justify-content: center;
    align-items: center;
    align-self: end;
    width: 55px;
    height: 55px;
    border: 6px solid var(--color-5);
    border-radius: 100%;
    margin-top: auto;

    transition: background .6s, transform .4s;
    transform: translateY(-50%) rotate(0deg);
    background: url(../images/bas.svg) no-repeat center center/24px 24px transparent;
}

.cake-block-accordions .c-accordion__item .c-accordion__title:hover::after {
    background: url(../images/bas.svg) no-repeat center center/24px 24px var(--color-5);
}

.cake-block-accordions .c-accordion__item.is-open .c-accordion__title::after {
    transform: translateY(-50%) rotate(180deg);
}

.cake-block-accordions .c-accordion__item .c-accordion__content > * + * {
    margin-top: 1em;
}

.cake-block-accordions .c-accordion__item .c-accordion__content > a {
    z-index: -1;
}

@media screen and (max-width: 600px) {
    .cake-block-accordions [data-part="inner"] {
        grid-column: inner-start / inner-end;
    }
    .cake-block-accordions .c-accordion__item {
        margin-top: 0;
    }
}

/* Sticky Gallery ********************************************************************/

.cake-block-sticky-gallery {
    position: relative;
    background-color: var(--color-2);
}

.cake-block-sticky-gallery [data-part="inner"] {
    grid-column: full-start / full-end;
    min-width: calc(var(--inner-grid-w) + (var(--grid-gap) * 2));
    max-width: calc(var(--inner-grid-w) + (var(--grid-gap) * 2));
    justify-self: center;
}

.cake-block-sticky-gallery [data-part="inner"]::before {
    content: '';
    position: absolute;
    width: 50%;
    height: 100%;
    left: 0;
    top: 0;
    background-color: var(--color-gray);
}

.cake-block-sticky-gallery .gallery {
    display: flex;
    position: relative;
    gap: var(--margin-2xl);
}

.cake-block-sticky-gallery .gallery-imgs,
.cake-block-sticky-gallery .gallery-slides {
    min-width: calc((100% - var(--margin-2xl)) / 2);
    max-width: calc((100% - var(--margin-2xl)) / 2);
}

.cake-block-sticky-gallery .gallery-imgs {
    position: sticky;
    top: 0;
    left: 0;
    translate: 0 30%;
    background-color: var(--color-gray);
    height: max-content;
    padding: var(--padding-l);
    z-index: 0;
}

.cake-block-sticky-gallery .gallery-imgs div {
    position: relative;
    width: 100%;
    aspect-ratio: 3 / 2;
}

.cake-block-sticky-gallery .gallery-imgs img {
    position: absolute;
    width: 100%;
    height: 100%;
    object-fit: contain;

    transition: opacity .6s .2s;
    opacity: 0;
}

.cake-block-sticky-gallery .gallery-imgs div img.active {
    transition: opacity .6s;
    opacity: 1;
}

.cake-block-sticky-gallery .gallery-slides {
    display: flex;
    flex-direction: column;
    gap: var(--margin-xl);
    padding: var(--padding-3xl) 0 var(--padding-4xl);
}

.cake-block-sticky-gallery .gallery-slides .slide *:not(h4, span, strong) {
    color: var(--color-white);
    margin-bottom: var(--margin-l);
}

.cake-block-sticky-gallery .gallery-slides .slide p > span {
    display: inline-block;
    translate: 0 1px;
}

.cake-block-sticky-gallery + section {
    position: relative;
    z-index: 1;
}

@media screen and (max-width: 1464px) {
    .cake-block-sticky-gallery [data-part="inner"] {
        min-width: unset;
        max-width: 100vw;
    }
    .cake-block-sticky-gallery .slide {
        width: 90%;
    }
}

@media screen and (max-width: 1000px) {
    .cake-block-sticky-gallery .gallery {
        gap: var(--margin-xl);
    }
    .cake-block-sticky-gallery .gallery-imgs, .cake-block-sticky-gallery .gallery-slides {
        min-width: calc((100% - var(--margin-xl)) / 2);
        max-width: calc((100% - var(--margin-xl)) / 2);
    }
    .cake-block-sticky-gallery .gallery-imgs {
        gap: var(--margin-m);
        padding: var(--margin-l); 
    }
}

@media screen and (max-width: 700px) {
    .cake-block-sticky-gallery .gallery {
        gap: 0;
    }
    .cake-block-sticky-gallery .gallery-imgs,
    .cake-block-sticky-gallery [data-part="inner"]::before {
        display: none;
    }
    .cake-block-sticky-gallery .gallery-slides {
        min-width: 100%;
        max-width: 100%;
    }
    .cake-block-sticky-gallery .slide {
        width: 80%;
        align-self: center;
    }
}

/* Partners ********************************************************************/

.cake-block-partners [data-part="inner"],
.cake-block-partners .wp-block-column {
    flex-direction: column;
}

.cake-block-partners [data-part="inner"] {
    gap: calc(var(--margin-m) * 1.5);
    padding: var(--padding-xl) 0 var(--padding-2xl);
}

.cake-block-partners .wp-block-column {
    flex-basis: unset;
    display: flex;
    gap: var(--margin-m);
}

.cake-block-partners .wp-block-column figure {
    height: 200px;
}

.cake-block-partners .wp-block-column .link {
    margin-top: auto;
    margin-bottom: 6px;
}

/* NOTE: No extra code was needed for responsive */

/* Ressources ********************************************************************/

.cake-block-ressources {
    background: linear-gradient(328.93deg, var(--color-4) 0%, rgba(254, 252, 243, 0) 100%);
    margin-top: var(--margin-xl);
    padding: var(--padding-2xl) 0 calc(var(--padding-2xl) * 1.2);
}

.cake-block-ressources [data-part="inner"] {
    grid-column: col-start 2 / col-end 11;
    gap: calc(var(--margin-s) * 1.5);
}

.cake-block-ressources [data-part="inner"],
.cake-block-ressources [data-part="inner"]>div {
    display: flex;
    flex-direction: column;
}

.cake-block-ressources [data-part="inner"]>div {
    border-radius: 24px 24px 32px 0;
    padding: var(--padding-l);
    background-color: var(--color-white);
}

.cake-block-ressources [data-part="inner"]>div {
    gap: var(--margin-s);
}

.cake-block-ressources [data-part="inner"]>div>* {
    max-width: 90%;
}

.cake-block-ressources [data-part="inner"]>div>.btn {
    align-self: end;
}

.cake-block-ressources [data-part="inner"]>div>.btn a {
    display: flex;
    justify-content: center;
    align-items: center;
    width: 55px;
    height: 55px;
    border: 6px solid var(--color-5);
    border-radius: 100%;
    font-size: 0;

    transition: background-color .6s;
    background-color: transparent;
}

.cake-block-ressources [data-part="inner"]>div>.btn a:hover {
    background-color: var(--color-5);
}

.cake-block-ressources [data-part="inner"]>div>.btn a::after {
    content: "";
    display: inline-block;
    background: url(../images/arrow_externe.svg) no-repeat center right;
    width: 20px;
    height: 20px;
}

.cake-block-ressources [data-part="inner"]>div>.btn.download a::after {
    background: url(../images/ico_download.svg) no-repeat center right;
}

.cake-block-ressources [data-part="inner"]>h6 {
    margin-bottom: var(--margin-s);
}

.cake-block-ressources [data-part="inner"]>h6:not(:first-of-type) {
    margin-top: var(--margin-2xl);
}

@media screen and (max-width: 600px) {
    .cake-block-ressources [data-part="inner"] {
        grid-column: inner-start / inner-end;
    }
}

/* Form ********************************************************************/

.cake-block-form [data-part="inner"] {
    padding: var(--padding-2xl) 0;
    grid-column: col-start 2 / col-end 11;
    flex-direction: column;
}

.cake-block-form [data-part="inner"]> :not(.gform_wrapper) {
    max-width: 75%;
    margin-bottom: calc(var(--margin-m) * 1.5) !important;
}

.cake-block-form .gform_wrapper .gfield_html {
    margin-top: calc(var(--margin-m) * 2);
}

.cake-block-form .gform_wrapper .gfield_html>* {
    margin-bottom: calc(var(--margin-s) * 1.5);
}

.cake-block-form .gform_wrapper .gform_footer {
    justify-content: center;
    margin-top: var(--margin-xl) !important;
    padding-top: var(--padding-xl) !important;
    border-top: 1px solid var(--color-2);
}

/* Gravity Forms CSS Override */
.cake-block-form .gform_wrapper.gravity-theme .gform_fields {
    row-gap: 0 !important;
}

@media screen and (max-width: 600px) {
    .cake-block-form [data-part="inner"] {
        grid-column: inner-start / inner-end;
    }
}


/********************************************************/
/*
/* Singles
/*
/********************************************************/

/* News single ********************************************************************/

.news-single-header>[data-part="inner"] {
    flex-direction: column;
    grid-column: col-start 2 / col-end 11;
    padding: calc(var(--padding-xl) * 1.5) 0 var(--padding-m);
}

.news-single-header .fields>h6 {
    margin-bottom: var(--margin-s);
}

.news-single-header .fields> :is(h1, .terms) {
    margin-bottom: var(--margin-xl);
}

.news-single-header .fields .terms {
    display: flex;
    gap: var(--margin-s);
}

.news-single-header .fields .terms h6 {
    padding: 0 var(--padding-s);
    background-color: var(--color-5);
    color: var(--color-black);
}

.news-single-content {
    margin-bottom: var(--margin-3xl);
}

.news-single-content .cake-block-text>[data-part="inner"] {
    padding: var(--padding-xl) 0 0;
}

.news-single-content> :first-child>[data-part="inner"] {
    border-top: 1px solid var(--color-2);
    padding-top: calc(var(--padding-m) * 2);
}

.news-single-content> :last-child>[data-part="inner"] {
    border-bottom: 1px solid var(--color-2);
    padding-bottom: calc(var(--padding-2xl) * 1.2);
}

@media screen and (max-width: 1000px) {
    .news-single-content {
        margin-bottom: var(--margin-xl);
    }
    .news-single-content> :last-child>[data-part="inner"] {
        padding-bottom: calc(var(--padding-xl) * 1.5);
    }
}

@media screen and (max-width: 600px) {
    .news-single-header>[data-part="inner"] {
        grid-column: inner-start / inner-end;
    }
}

/********************************************************/
/*
/* Footer
/*
/********************************************************/

footer {
    background-color: var(--color-gray);
}

footer [data-part="inner"] {
    padding: calc(var(--padding-m) * 1.5) 0;
    align-items: center;
}

footer [data-part="inner"].cta {
    border-bottom: 3px solid var(--color-4);
}

footer [data-part="inner"].cta .logo {
    width: 70px;
    margin-right: var(--margin-xl);
}

footer [data-part="inner"].cta [data-part="action"].social {
    display: flex;
    align-items: center;
    gap: var(--margin-s);
    margin-left: auto;
}

footer [data-part="inner"].cta [data-part="action"].social [data-part="action__href"] {
    display: flex;
    justify-content: center;
    align-items: center;
    position: relative;
    width: 50px;
    height: 50px;
    border: 6px solid var(--color-5);
    border-radius: 100%;

    transition: background-color .6s;
    background-color: transparent;
}

footer [data-part="inner"].cta [data-part="action"].social [data-part="action__href"]:hover {
    background-color: var(--color-5);
}

footer [data-part="inner"].cta [data-part="action"].social [data-part="action__href"]::after {
    display: inline-block;
    font: var(--stack-icn);
    color: var(--color-black);
}

footer [data-part="inner"].cta [data-part="action"].social [data-part="action__href"].fb::after {
    content: "\f39e";
}

footer [data-part="inner"].cta [data-part="action"].social [data-part="action__href"].ig::after {
    content: "\f16d";
}

footer [data-part="inner"].cta [data-part="action"].social [data-part="action__ctn"] {
    display: none;
}

footer [data-part="inner"].credits {
    gap: 0;
}

footer [data-part="inner"].credits>p:first-child {
    padding-right: var(--padding-s);
    margin-right: var(--margin-s);
    border-right: 1px solid var(--color-2);
}

footer [data-part="inner"].credits a.cake {
    margin-left: auto;
}

footer [data-part="inner"].credits a.cake img {
    filter: brightness(0) saturate(100%) invert(0%) sepia(7%) saturate(29%) hue-rotate(335deg) brightness(93%) contrast(107%);
}

@media screen and (max-width: 700px) {
    footer [data-part="inner"].cta [data-part="action"].social {
        flex-wrap: wrap;
        max-width: 20%;
    }
    footer [data-part="inner"].cta [data-part="action"].social > :is(h6, li:first-of-type) {
        margin-left: auto;
    }
    footer [data-part="inner"].cta [data-part="action"].social > h6 {
        width: 100%;
        text-align: right;
    }
}

@media screen and (max-width: 600px) {
    footer [data-part="inner"].cta {
        flex-wrap: wrap;
    }
    footer [data-part="inner"].cta .logo {
        max-width: 25%;
        margin-right: 0;
    }
    footer [data-part="inner"].cta, footer [data-part="inner"].cta [data-part="action"].social {
        justify-content: center;
    }
    footer [data-part="inner"].cta [data-part="action"].social {
        width: 100%;
        max-width: 100%;
        margin-top: var(--margin-l);
    }
    footer [data-part="inner"].cta [data-part="action"].social > :is(h6, li:first-of-type) {
        margin-left: 0;
        text-align: center;
    }
    footer [data-part="inner"].credits {
        flex-direction: column;
        gap: var(--margin-s);
    }
    footer [data-part="inner"].credits>p:first-child {
        padding-right: 0;
        margin-right: 0;
        border-right: 0;
    }
    footer [data-part="inner"].credits a.cake {
        margin-left: unset;
    }
}