/*
 Theme Name:   Maçonnerie Rouget
 Theme URI:    https://generatepress.com
 Description:  Thème enfant sur-mesure sur la base de GeneratePress premium, customisé par L'Esprit Web pour la SARL Rouget Sébastien - Dernière mise à jour le 24 avril 2026.
 Author:       Loïc Esprit
 Author URI:   https://lesprit-web.fr
 Template:     generatepress
 Version:      1.0.3
*/
@font-face {
    font-display: swap;
    font-family: 'Lexend';
    font-style: normal;
    font-weight: 300;
    src: url('fonts/lexend-v26-latin-300.woff2') format('woff2');
}
@font-face {
    font-display: swap;
    font-family: 'Lexend';
    font-style: normal;
    font-weight: 400;
    src: url('fonts/lexend-v26-latin-regular.woff2') format('woff2');
}
@font-face {
    font-display: swap;
    font-family: 'Lexend';
    font-style: normal;
    font-weight: 600;
    src: url('fonts/lexend-v26-latin-600.woff2') format('woff2');
}
@font-face {
    font-display: swap;
    font-family: 'Lexend';
    font-style: normal;
    font-weight: 700;
    src: url('fonts/lexend-v26-latin-700.woff2') format('woff2');
}
@font-face {
    font-display: swap;
    font-family: 'Allura';
    font-style: normal;
    font-weight: regular;
    src: url('fonts/allura-v23-latin-regular.woff2') format('woff2');
}
img[data-lazyloaded]{
    opacity: 0;
}
img.litespeed-loaded{
    -webkit-transition: opacity .5s linear 0.2s;
    -moz-transition: opacity .5s linear 0.2s;
    transition: opacity .5s linear 0.2s;
    opacity: 1;
}
:root {
    --theme-width: 1500px;
    --theme-width-small: 980px;
    --transition-all: .2s all ease-in;
    --cmplz_banner_width: 480px;
    --cmplz_button_border_radius: 0 !important;
    --cmplz_banner_border_radius: 0 !important;
    --cmplz_button_font_size: 1em !important;
    --cmplz_text_font_size: .9em !important;
    --cmplz_link_font_size: .9em !important;
    --wp--preset--font-size--small: .9em;
    --wp--preset--font-size--medium: 1em;
    --wp--preset--font-size--large: 1.15em;
    --wp--preset--font-size--x-large: 1.3em;
    --global-content-edge-padding: 30px;
}
html {
    --scroll-behavior: smooth;
    scroll-behavior: smooth;
}
@media (min-width: 1500px) {
    :root {
        --cmplz_banner_width: 480px;
        --global-content-edge-padding: 40px;
    }
}
/* FadeIn apparition */
body:not(.block-editor-iframe__body) .animate,
.masonry-load-more {
    opacity: 0;
    transform: translateY(10px);
    transition: transform 0.25s cubic-bezier(0.22, 1, 0.36, 1), 
                opacity 0.4s ease-out;
}
.animate.show,
.masonry-load-more.show {
    opacity: 1 !important;
    transform: translateY(0) !important;
}
@media (max-width: 1500px) {
    body > .site.container {
        overflow-x: hidden;
    }
}
/* COOKIES */
.cmplz-cookiebanner {
    row-gap: 0 !important;
}
.cmplz-cookiebanner .cmplz-message {
    margin-bottom: 0 !important;
}
.cmplz-cookiebanner .cmplz-message p {
    margin-bottom: 10px !important;
}
/* HEADER */
.site-header {
    position: sticky;
    width: 100%;
    top: 0;
    z-index: 9999;
    padding: 0 var(--global-content-edge-padding);
}
.site-branding {
    display: flex;
    flex-direction: column;
    padding: 15px 0;
    margin: 0 auto;
    text-align: center;
    white-space: nowrap;
}
@media (min-width: 769px) {
    .site-branding {
        padding: 0;
    }
}
@media (min-width: 1025px) and (hover: hover) and (pointer: fine) {
    .site-header,
    .site-footer {
        width: calc(100dvw - 15px);
    }
    .entry-content .alignfull {
        margin-left: calc(-100vw / 2 + 100% / 2 + 7.5px) !important;
        margin-right: calc(-100vw / 2 + 100% / 2 + 7.5px) !important;
        max-width: calc(100dvw - 15px) !important;
    }
}

/* NAVIGATION */
nav.main-navigation {
    padding: 0;
    margin: 0;
}
@media (min-width: 1025px) {
    .site-branding {
        text-align: left;
    }
    nav.main-navigation {
        width: 100%;
    }
}
#primary-menu {
    margin: 0 auto;
}
.main-navigation .main-nav ul li a {
    display: flex !important;
    align-items: center;
    gap: 15px;
    justify-content: center;
    line-height: 1.3em !important;
}
.main-navigation .main-nav ul li a svg {
    width: 28px;
    height: 28px;
}
@media (min-width: 769px) {
    .main-navigation .main-nav ul li a {
    line-height: 1em !important;
}
}
@media (min-width: 1025px) and (max-width: 1380px) {
    .site-header .wp-block-kadence-advancedbtn a .kb-svg-icon-wrap {
        display: none;
    }
    .site-header .wp-block-kadence-advancedbtn a {
        padding-right: 10px !important;
        padding-left: 10px !important;
    }
    .main-title {
        font-size: 1.3em !important;
    }
    .site-description {
        font-size: 1.4em !important;
    }
    .main-navigation .main-nav ul li a {
        gap: 7px;
        padding-left: 10px;
        padding-right: 10px;
    }
}
@media (min-width: 1025px) and (max-width: 1168px) {
    .main-navigation .main-nav ul li a span {
        max-width: 140px;
    }
}

/* MOBILE */
@media (min-width: 1025px) {
    #slideout-toggle {
        display: none !important;
    }
}
.main-navigation .menu-toggle {
    padding: 0;
}
.hamburger {
    padding: 15px 15px;
    display: inline-block;
    cursor: pointer;
    transition-property: opacity, filter;
    transition-duration: 0.15s;
    transition-timing-function: linear;
    font: inherit;
    color: inherit;
    text-transform: none;
    background-color: transparent;
    border: 0;
    margin: 0;
    overflow: visible;
}
.slide-opened .hamburger .hamburger-inner,
.slide-opened .hamburger .hamburger-inner::before,
.slide-opened .hamburger .hamburger-inner::after {
    background-color: var(--color-alt);
}
.hamburger-box {
  width: 24px;
  height: 24px;
  display: inline-block;
  position: relative;
}
.hamburger-inner {
    display: block;
    top: 50%;
    margin-top: 3px;
    right: 0;
}
.hamburger-inner,
.hamburger-inner::before,
.hamburger-inner::after {
    width: 22px;
    height: 2px;
    background-color: var(--base);
    border-radius: 4px;
    position: absolute;
    transition-property: transform;
    transition-duration: 0.25s;
    transition-timing-function: ease;
}
.hamburger-inner::before, .hamburger-inner::after {
    content: "";
    display: block;
}
.hamburger-inner::before {
    top: -8px;
}
.hamburger-inner::after {
    bottom: -8px;
}
.hamburger--spin .hamburger-inner {
    transition-duration: 0.22s;
    transition-timing-function: cubic-bezier(0.55, 0.055, 0.675, 0.19);
}
.hamburger--spin .hamburger-inner::before {
    transition: top 0.1s 0.25s ease-in, opacity 0.1s ease-in;
}
.hamburger--spin .hamburger-inner::after {
    transition: bottom 0.1s 0.25s ease-in, transform 0.22s cubic-bezier(0.55, 0.055, 0.675, 0.19);
}
.slide-opened .hamburger--spin .hamburger-inner {
    transform: rotate(225deg);
    transition-delay: 0.12s;
    transition-timing-function: cubic-bezier(0.215, 0.61, 0.355, 1);
}
.slide-opened .hamburger--spin .hamburger-inner::before {
    top: 0;
    opacity: 0;
    transition: top 0.1s ease-out, opacity 0.1s 0.12s ease-out;
}
.slide-opened .hamburger--spin .hamburger-inner::after {
    bottom: 0;
    transform: rotate(-90deg);
    transition: bottom 0.1s ease-out, transform 0.22s 0.12s cubic-bezier(0.215, 0.61, 0.355, 1);
}


/* CONTENTS */
.typed-cursor {
    color: var(--color-alt);
}
input[type="checkbox"] {
    margin-right: 8px;
}
body.contained-content .container.grid-container,
body.full-width-content .container.grid-container {
    padding-left: var(--global-content-edge-padding);
    padding-right: var(--global-content-edge-padding);
}
body.contained-content .container.grid-container {
    max-width: var(--theme-width-small);
}
.fullscreen > .kt-row-column-wrap {
    min-height: calc(100vh - 102px) !important;
}
@media (max-width: 1024px) {
    .fullscreen > .kt-row-column-wrap > .wp-block-kadence-column:nth-child(2) > .kt-inside-inner-col {
        min-height: 60vh;
    }
    .fullscreen > .kt-row-column-wrap > .wp-block-kadence-column:nth-child(1) > .kt-inside-inner-col {
        min-height: calc(100vh - 60vh - 82px);
    }
}
body.page .entry-header {
    margin-top: 50px;
}
a,
.wp-block-kadence-advancedheading .kb-adv-heading-icon {
    transition: var(--transition-all);
}
b, strong {
    font-weight: 600;
}

/* Ranrée avec background diapo */
.kb-row-layout-wrap>.kb-blocks-bg-slider .splide__arrow {
    opacity: 0;
    transition: .3s all ease-out !important;
}
.kb-row-layout-wrap>.kb-blocks-bg-slider .splide__arrow.slick-prev {
    left: 30px;
}
.kb-row-layout-wrap>.kb-blocks-bg-slider .splide__arrow.slick-next {
    right: 30px;
}
.kb-row-layout-wrap>.kb-blocks-bg-slider:hover .splide__arrow {
    opacity: 1;
}
.kb-row-layout-wrap>.kb-blocks-bg-slider .kb-blocks-bg-slider-init.kt-blocks-carousel-init.kt-carousel-arrowstyle-whiteondark .splide__arrow {
    width: 80px;
    height: 80px;
}
@media (min-width: 769px) {
    .kb-row-layout-wrap>.kb-blocks-bg-slider .kb-blocks-bg-slider-init.kt-blocks-carousel-init.kt-carousel-arrowstyle-whiteondark .splide__arrow {
        width: 100px;
        height: 100px;
    }
}
.kb-row-layout-wrap>.kb-blocks-bg-slider .kb-blocks-bg-slider-init.kt-blocks-carousel-init.kt-carousel-arrowstyle-whiteondark .splide__arrow svg {
    display: none;
}
.kb-row-layout-wrap>.kb-blocks-bg-slider .kb-blocks-bg-slider-init.kt-blocks-carousel-init.kt-carousel-arrowstyle-whiteondark .splide__arrow.slick-prev {
    background: transparent url('data:image/svg+xml,<svg viewBox="0 0 24 24" role="img" xmlns="http://www.w3.org/2000/svg" stroke="%23ffffff" stroke-width=".75" stroke-linecap="square" stroke-linejoin="miter" fill="none" color="%23ffffff"><g stroke-width="0"></g><g stroke-linecap="round" stroke-linejoin="round"></g><g><polyline points="14 18 8 12 14 6 14 6"></polyline></g></svg>');
}
.kb-blocks-bg-slider:hover .kb-blocks-bg-slider-init.kt-blocks-carousel-init.kt-carousel-arrowstyle-whiteondark .splide__arrow.slick-prev {
    left: 0;
}
.kb-blocks-bg-slider .kb-blocks-bg-slider-init.kt-blocks-carousel-init.kt-carousel-arrowstyle-whiteondark .splide__arrow.slick-next {
    background: transparent url('data:image/svg+xml,<svg viewBox="0 0 24 24" role="img" xmlns="http://www.w3.org/2000/svg" stroke="%23ffffff" stroke-width=".75" stroke-linecap="square" stroke-linejoin="miter" fill="none" color="%23ffffff"><g stroke-width="0"></g><g stroke-linecap="round" stroke-linejoin="round"></g><g><polyline points="10 6 16 12 10 18 10 18"></polyline></g></svg>');
}
.kb-blocks-bg-slider:hover .kb-blocks-bg-slider-init.kt-blocks-carousel-init.kt-carousel-arrowstyle-whiteondark .splide__arrow.slick-next {
    right: 0;
}

/* KB rangée background galery */
.glightbox-container .gprev,
.glightbox-container .gnext {
    opacity: 1 !important;
    background-color: rgba(0, 0, 0, .4);
}
.glightbox-container .gprev {
    left: 10px !important;
    width: 32px !important;
}
.glightbox-container .gnext {
    right: 10px !important;
    width: 32px !important;
}

/* Liens */
.main-navigation .main-nav ul li:not([class*="current-menu-"]) > a > span,
.kt-svg-icon-list-text a,
p:not(.main-title) a {
    position: relative;
    text-decoration: none;
    transition: var(--transition-all);
}
.main-navigation .main-nav ul li:not([class*="current-menu-"]) > a > span::after,
.kt-svg-icon-list-text a::after,
p:not(.main-title) a::after {
    content: "";
    position: absolute;
    left: 0;
    bottom: 0px;
    width: 100%;
    height: 1px;
    background-color: var(--color-3);
    transform: scaleX(1);
    transform-origin: left;
    transition: transform 0.3s ease;
}
.main-navigation .main-nav ul li:not([class*="current-menu-"]):hover > a span::after,
.main-navigation .main-nav ul li:not([class*="current-menu-"]):hover > a span::after,
.kt-svg-icon-list-text a:hover::after,
.kt-svg-icon-list-text a:focus::after,
p:not(.main-title) a:hover::after,
p:not(.main-title) a:focus::after {
    transform: scaleX(0);
}
.main-navigation .main-nav ul li:not([class*="current-menu-"]) > a span::after {
    bottom: -7px;
    background-color: var(--color-alt) !important;
    transform: scaleX(0) !important;
}
.main-navigation .main-nav ul li[class*="current-menu-"] > a span::after,
.main-navigation .main-nav ul li:not([class*="current-menu-"]):hover > a span::after,
.main-navigation .main-nav ul li:not([class*="current-menu-"]):hover > a span::after {
    transform: scaleX(1) !important;
}
/* Séparateur */
hr.wp-block-separator {
    margin-top: 20px;
    margin-bottom: 20px;
}
/* WP Buttons */
:root :where(.wp-block-button .wp-block-button__link),
a.button, a.wp-block-button__link:not(.has-background) {
    border-radius: 0 !important;
    transition: var(--transition-all);
    -moz-transition: var(--transition-all);
    -webkit-transition: var(--transition-all);
}
.wp-block-button .wp-block-button__link {
    color: var(--base);
    background-color: var(--color-1);
    border: 1px solid var(--color-1);
}
.wp-block-button .wp-block-button__link:hover,
.wp-block-button .wp-block-button__link:focus {
    color: var(--base);
    background-color: var(--color-3);
}
.wp-block-button.is-style-outline .wp-block-button__link {
    color: var(--color-1);
    background-color: var(--base);
}
.wp-block-button.is-style-outline .wp-block-button__link:hover,
.wp-block-button.is-style-outline .wp-block-button__link:focus {
    color: var(--base);
    background-color: var(--color-3);
}

/* KB buttons icons */
@media (max-width: 1024px) {
    .wp-block-kadence-advancedbtn a.kt-btn-has-svg-true span.kb-svg-icon-wrap {
        width: auto !important;
        opacity: 1 !important;
    }
}

/* KB Galery */
.kb-gallery-ul .kadence-blocks-gallery-item .kadence-blocks-gallery-item-inner figure .kb-gallery-image-contain,
.kb-gallery-ul .kadence-blocks-gallery-item .kadence-blocks-gallery-item-inner figure .kb-gallery-image-contain img {
    transition: var(--transition-all);
}
.kb-gallery-ul .kadence-blocks-gallery-item .kadence-blocks-gallery-item-inner figure .kb-gallery-image-contain:hover img {
    filter: brightness(0.6);
}
.kb-gallery-ul .kadence-blocks-gallery-item .kadence-blocks-gallery-item-inner figure .kb-gallery-image-contain:after {
    transition: var(--transition-all);
    opacity: 0;
    display: block;
    content: '';
    background-image: url('data:image/svg+xml,<svg width="32px" height="32px" viewBox="0 0 512 512" xmlns="http://www.w3.org/2000/svg" fill="%23FFFFFF"><g stroke-width="0"></g><g stroke-linecap="round" stroke-linejoin="round"></g><g><polygon fill="var(--ci-primary-color, %23FFFFFF)" points="208 48 208 16 16 16 16 208 48 208 48 70.627 208.687 231.313 231.313 208.687 70.627 48 208 48" class="ci-primary"></polygon><polygon fill="var(--ci-primary-color, %23FFFFFF)" points="464 304 464 441.373 299.313 276.687 276.687 299.313 441.373 464 304 464 304 496 496 496 496 304 464 304" class="ci-primary"></polygon></g></svg>');
    background-repeat: no-repeat;
    width: 32px;
    height: 32px;
    position: absolute;
    top: calc(50% - 16px);
    left: calc(50% - 16px);
}
.kb-gallery-ul .kadence-blocks-gallery-item .kadence-blocks-gallery-item-inner figure .kb-gallery-image-contain:hover:after {
    opacity: 1;
}

/* FORMINATOR */
form.forminator-ui,
form.forminator-ui .forminator-row:last-child {
    margin-bottom: 0 !important;
}
.forminator-ui.forminator-custom-form[data-design=material] .forminator-label[for],
.forminator-ui.forminator-custom-form[data-design=material] .forminator-input,
.forminator-ui.forminator-custom-form[data-design=material] .forminator-input::placeholder,
.forminator-ui.forminator-custom-form[data-design=material] .forminator-textarea,
.forminator-ui.forminator-custom-form[data-design=material] .forminator-textarea::placeholder {
    font-size: 1em !important;
    font-weight: 300 !important;
}
.forminator-ui.forminator-custom-form[data-design=material] .forminator-input,
.forminator-ui.forminator-custom-form[data-design=material] .forminator-textarea {
    border-color: var(--color-alt);
}
.forminator-ui.forminator-custom-form[data-design=material] .forminator-input:hover,
.forminator-ui.forminator-custom-form[data-design=material] .forminator-input:focus,
.forminator-ui.forminator-custom-form[data-design=material] .forminator-textarea:hover,
.forminator-ui.forminator-custom-form[data-design=material] .forminator-textarea:focus {
    border-color: var(--contrast);
}
.forminator-ui.forminator-custom-form[data-design=material] .forminator-input::placeholder,
.forminator-ui.forminator-custom-form[data-design=material] .forminator-textarea::placeholder {
    font-style: italic;
}
.forminator-ui.forminator-custom-form[data-design=material] .forminator-floating--textarea {
    padding: 29px 0 0 0 !important;
}
.forminator-ui.forminator-custom-form[data-design=material] .forminator-textarea {
    padding: 10px 0 !important;
    border-left: 0 !important;
    border-right: 0 !important;
    border-top: 0 !important;
    outline: 0 !important;
}
.forminator-ui.forminator-custom-form[data-design=material] .forminator-textarea--wrap:after {
    opacity: 0 !important;
}
.forminator-ui.forminator-custom-form[data-design=material] .forminator-error-message {
    line-height: 1.4em !important;
    font-size: .8em !important;
    font-weight: 300 !important;
}
.forminator-ui.forminator-custom-form[data-design=material] .forminator-button {
    padding: 12px 25px !important;
    background-color: var(--color-1) !important;
}
.forminator-ui.forminator-custom-form[data-design=material] .forminator-button:hover,
.forminator-ui.forminator-custom-form[data-design=material] .forminator-button:focus {
    background-color: var(--color-3) !important;
}
.forminator-ui.forminator-custom-form[data-design=material] .forminator-is_active .forminator-floating--textarea,
.forminator-ui.forminator-custom-form[data-design=material] .forminator-is_filled .forminator-floating--textarea {
    transform: translateY(calc(-100% + 5px )) !important;
}

/* FOOTER */
.site-footer {
    width: 100%;
}

/* OFF CANVA */
#generate-slideout-menu {
    height: calc(100dvh - 82px) !important;
    top: 82px !important;
    transition: opacity .3s, visibility .3s !important;
}
#generate-slideout-menu .inside-navigation {
    padding: 40px 30px 0;
}
#generate-slideout-menu .main-nav ul li {
    margin-bottom: 40px !important;
}
#generate-slideout-menu .main-nav ul li a {
    flex-direction: column;
}
#generate-slideout-menu .main-nav ul li a svg {
    width: 42px;
    height: 42px;
}
.slideout-navigation button.slideout-exit {
    display: none !important;
}
@media (min-width: 769px) and (max-width: 2024px) {
    #generate-slideout-menu {
        height: calc(100dvh - 102px) !important;
        top: 102px !important;
    }
}