/* --- Variables --- */
:root {
    --color-green: #ADCE62;
    --color-green-dark: #92B745;
    --color-blue-dark: #005D57;
    --color-blue-duck: #008D84;
    --color-blue-light: #31CABF;
    --color-orange: #FFAB5B;
    --color-brown: #946343;
    --color-brown-dark: #553825;
    --color-red: #EF4231;
    --color-secondary-100: #FFF8E9;
    --color-black: #002E2B;
    --color-white: #FFFFFF;
    --color-grey-100: #F5FFFE;
    --color-grey-500: #A0AEC0;
    --color-grey-700: #4A5568;
    --info-200-color: #e3f5ff;
    --info-700-color: #0f62a8;
    --success-200-color: #c9f3da;
    --success-700-color: #067503;
    --warning-200-color: #fefcbf;
    --warning-700-color: #c07e1a;
    --error-200-color: #fed7d7;
    --error-700-color: #ae1616;
    --gradient-green: linear-gradient(180deg, rgba(22, 31, 2, 0.7) 30.77%, rgba(49, 70, 6, 0.42) 100%);
    --gradient-brown: linear-gradient(180deg, rgba(58, 33, 9, 0.70) 30.77%, rgba(97, 59, 23, 0.42) 100%);
    --gradient-blue: linear-gradient(180deg, rgba(0, 141, 132, 0.7) 0%, rgba(0, 141, 132, 0.07) 100%);
    --gradient-black: linear-gradient(180deg, rgba(0, 0, 0, 0) 0%, rgba(0, 0, 0, 0.4) 100%);
    --shadow-lg: 0px 10px 15px -3px #0000001A;
    --font-size-title-5xl: clamp(2.25rem, 1.0658rem + 5.0658vw, 4.5rem);
    --font-size-title-4xl: clamp(2rem, 1.4737rem + 2.2807vw, 3rem);
    --font-size-title-3xl: clamp(1.75rem, 1.6623rem + 0.3759vw, 1.875rem);
    --font-size-title-2xl: clamp(1.375rem, 1.2873rem + 0.3759vw, 1.5rem);
    --font-size-title-xl: clamp(1.25rem, 1.1623rem + 0.3759vw, 1.375rem);
    --font-size-title-lg: clamp(1.125rem, 0.9497rem + 0.7519vw, 1.375rem);
    --font-size-text-regular: clamp(1rem, 0.9123rem + 0.3759vw, 1.125rem);
    --font-size-text-sm: clamp(0.875rem, 0.7873rem + 0.3759vw, 1rem);
    --font-size-text-xs: clamp(0.75rem, 0.6623rem + 0.3759vw, 0.875rem);
    --radius-16: 16px;
}

@media (width >= 1512px) {
    :root {
        --font-size-title-5xl: 4rem;
    }
}

/* --- CSS Reset --- */
* {
    box-sizing: border-box;
    margin: 0;
    padding: 0;
    text-rendering: optimizeLegibility !important;
    -webkit-font-smoothing: antialiased !important;
    scroll-behavior: smooth;
}

button,
input,
select,
textarea {
    font-family: "Montserrat", sans-serif;
    font-size: 1rem;
    margin: 0;
    padding: 0;
    box-sizing: border-box;
    background: transparent;
    color: inherit;
    line-height: 1.5;
    outline: none;
    -webkit-font-smoothing: antialiased;
}

/* --- Layout --- */
body {
    width: 1280px;
    max-width: 100%;
    margin: 0 auto;
    padding: 0 20px;
    overflow-x: hidden;
}

.alignfull,
.alignwide {
    width: 100vw;
    max-width: 100vw;
    margin-left: calc(50% - 50vw) !important;
    margin-right: calc(50% - 50vw) !important;
}

.wp-block-group.alignwide>*:not(.wp-block-image),
.wp-block-cover.alignwide>*:not(.wp-block-image) {
    width: 1280px !important;
    max-width: calc(100% - 40px) !important;
    margin-left: auto !important;
    margin-right: auto !important;
}

@media (width >= 782px) {
    .wp-block-group.alignwide>*:not(.wp-block-image),
    .wp-block-cover.alignwide>*:not(.wp-block-image) {
        padding-left: 20px;
        padding-right: 20px;
    }
}

.wp-block-cover.alignwide .wp-block-cover__inner-container,
.wp-block-cover.alignfull .wp-block-cover__inner-container {
    width: 1240px;
    max-width: calc(100% - 40px);
    margin: 0 auto;
}

.wp-block-image.alignfull img,
.wp-block-image.alignwide img {
    width: 100%;
    max-width: none;
}

[class*="wp-container-"]>.alignwide,
[class*="wp-container-"]>.alignfull {
    margin-left: calc(50% - 50vw) !important;
    margin-right: calc(50% - 50vw) !important;
    max-width: 100vw !important;
}

.is-layout-constrained> :where(:not(.alignleft):not(.alignright):not(.alignfull)) {
    margin-left: 0 !important;
    margin-right: 0 !important;
    max-width: none !important;
}

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

.size-contain img {
    object-fit: contain !important;
}

.entry-content p, .entry-content h2, .entry-content h3 {
    overflow-wrap: break-word;
    word-wrap: break-word;
    word-break: break-word;
}

[class^="wp-block-"] p:not(:last-of-type),
[class*=" wp-block-"] p:not(:last-of-type) {
    margin-bottom: 16px;
}

[class^="wp-block-"] p:last-of-type,
[class*=" wp-block-"] p:last-of-type {
    margin-bottom: 0;
}

p.has-title-xl-font-size {
    margin-bottom: 0 !important;
}

[class^="gap-"]>p,
[class*="gap-"]>p {
    margin-bottom: 0 !important;
}

.wp-block-list li {
    margin-left: 12px;
}

.wp-block-list li::marker {
    content: "· ";
    font-size: 1.5em;
}

.is-content-justification-left.flex-row {
    justify-content: flex-start;
}

.is-content-justification-center.flex-row {
    justify-content: center;
}

.is-content-justification-right.flex-row {
    justify-content: flex-end;
}

.is-content-justification-left.flex-column {
    align-items: flex-start;
}

.is-content-justification-center.flex-column {
    align-items: center;
}

.is-content-justification-right.flex-column {
    align-items: flex-end;
}

@media (width >= 782px) {
    .is-nowrap,
    .is-layout-flex {
        flex-wrap: nowrap;
    }

    .is-layout-flex.wp-block-buttons-is-layout-flex{flex-wrap:wrap;}
}

/* wp-block-size.js */
.content-md {
    max-width: 768px !important;
    margin-inline: auto !important;
}

.content-lg {
    max-width: 1024px !important;
    margin-inline: auto !important;
}

/* --- Icônes --- */
.icon-round {
    border-radius: 100%;
    display: flex;
    justify-content: center;
    align-items: center;
}

.icon-md {
    width: 39px;
    height: 39px;
}

.icon-lg {
    width: 48px;
    height: 48px;
}

/* --- Typographies --- */
.has-title-4-xl-font-size {
    font-family: "Anton", sans-serif;
    line-height: 1.2;
}

.has-title-2-xl-font-size,
.has-title-xl-font-size,
.has-title-lg-font-size {
    font-weight: 700;
}

.has-title-xl-font-size {
    font-family: "Montserrat", sans-serif;
    line-height: 1.5;
}

.has-text-xs-font-size {
    font-weight: 400;
}

/* --- Boutons --- */
.wp-block-buttons .wp-block-button__link {
    transition: all 0.3s ease-out;
}

.wp-block-buttons .wp-block-button__link.has-green-background-color:hover,
.wp-block-buttons .wp-block-button__link.has-solarothermie-background-color:hover {
    color: var(--color-white) !important;
    background-color: var(--color-blue-duck) !important;
}

.wp-block-buttons .wp-block-button__link.has-orange-background-color:hover,
.wp-block-buttons .wp-block-button__link.has-eclairage-background-color:hover {
    color: var(--color-white) !important;
    background-color: var(--color-red) !important;
}

.wp-block-buttons .wp-block-button__link.has-blue-duck-background-color:hover {
    background-color: var(--color-blue-dark) !important;
}

/* --- Inputs --- */
select {
    border-radius: 8px;
    padding: 12px 16px;
    border: 1px solid var(--color-grey-700);
    transition: all 0.3s ease-out;
}

select:focus {
    border: 1px solid var(--color-black);
}

select option {
    padding: 12px;
}

input[type="text"],
input[type="tel"],
input[type="email"] {
    font-weight: 500;
    border: 1px solid var(--color-blue-duck);
    border-radius: 8px;
    padding: 12px 16px;
    height: 48px;
    width: 100%;
}

textarea {
    font-weight: 500;
    border: 1px solid var(--color-blue-duck);
    border-radius: 8px;
    padding: 12px 16px;
    width: 100%;
}

input[type="text"]:focus,
input[type="tel"]:focus,
input[type="email"]:focus,
textarea:focus {
    border-color: var(--color-orange);
}

input[type="submit"] {
    padding: 12px 24px;
    border: none;
    border-radius: 48px;
    background-color: var(--color-orange);
    font-weight: 500;
    cursor: pointer;
    width: fit-content;
    margin-left: auto;
    margin-right: auto;
    transition: all 0.3s ease-out;
}

input[type="submit"]:hover {
    color: var(--color-white) !important;
    background-color: var(--color-blue-duck) !important;
}