/* 
Theme Name: Hello Elementor Child
Theme URI: https://github.com/elementor/hello-theme-child/
Description: Hello Elementor Child is a child theme of Hello Elementor, created by Elementor team
Author: Elementor Team
Author URI: https://elementor.com/
Template: hello-elementor
Version: 2.0.0
Text Domain: hello-elementor-child
License: GNU General Public License v3 or later.
License URI: https://www.gnu.org/licenses/gpl-3.0.html
Tags: flexible-header, custom-colors, custom-menu, custom-logo, editor-style, featured-images, rtl-language-support, threaded-comments, translation-ready
*/

/* Add your custom styles here */

/* Appliquer sur la liste */
header .elementor-nav-menu li .elementor-item,
header .elementor-nav-menu li.menu-item-has-children > .elementor-item-anchor {
    position: relative;
}

/* Elementor: Pseudo-element for the gradient underline effect */
header .elementor-nav-menu li .elementor-item::before,
header .elementor-nav-menu li.menu-item-has-children > .elementor-item-anchor::before {
    content: '';
    position: absolute;
    bottom: -3px;
    left: 0;
    width: 0;
    height: 4px;
    background: linear-gradient(90deg, #69b000 0%, #f3c400 100%);
    border-radius: 0;
    transition: all 0.2s ease-in-out;
}

/* Elementor: Hover state to expand the gradient underline */
header .elementor-nav-menu li .elementor-item-active:before,
header .elementor-nav-menu li .elementor-item:hover::before,
header .elementor-nav-menu li.menu-item-has-children > .elementor-item-anchor:hover::before {
    width: 100%;
}

header .e--pointer-double-line .elementor-item:after, header .e--pointer-underline .elementor-item:after {
    content: inherit !important;
}

.elementor-location-single ul {
    list-style: none;
    padding-left: 0;
    margin: 0 0 5px;
}

.elementor-location-single ul li {
    position: relative;
    padding-left: 26px; /* 15px (puce) + ~11px d'espace */
    padding-bottom: 5px;
}

.elementor-location-single ul li::before {
    content: "";
    position: absolute;
    left: 0;
    top: 0.35em; /* ajuste l’alignement vertical */
    width: 15px;
    height: 15px;
    background: #ffce00;
    border-radius: 50%;
}

.lca-wrapper {
    position: absolute;
    width: 600px;
    height: 765px;
    top: -450px;
    right: -30%;
}

.shadow-svg {
    position: absolute;
    inset: 0;
    z-index: 1;
}

.glass-layer {
    position: absolute;
    inset: 0;
    z-index: 2;

    background: rgba(255, 255, 255, 0.18);
    backdrop-filter: blur(5px) brightness(110%);
    -webkit-backdrop-filter: blur(5px) brightness(110%);

    mask-image: url("/wp-content/uploads/2026/03/lca_filigrane.svg");
    -webkit-mask-image: url("/wp-content/uploads/2026/03/lca_filigrane.svg");

    mask-size: contain;
    mask-repeat: no-repeat;
    mask-position: center;
}

@media (max-width: 1024px) {
    .lca-wrapper {
        display: none;
    }
}


.elementor-mark-required .elementor-field-label:after {
    color: #4E9D2D !important;
    font-weight: 900;
}

.elementor-widget-theme-post-content .e-con-boxed {
    --padding-inline-start: none;
    --padding-inline-end: none;
}

#cmplz-manage-consent .cmplz-manage-consent {
    opacity: 0.5;
    filter: blur(0.5px);
    animation: mc_slideIn 0.5s forwards !important;
}

#cmplz-manage-consent .cmplz-manage-consent:hover, #cmplz-manage-consent .cmplz-manage-consent:focus {
    opacity: 1;
    filter: none;
}

header .header_sticky {
    transition: all 0.5s ease;
}

/* état “scrollé” */
header .header_sticky.is-scrolled {
    background: rgba(255, 255, 255, 0.50) !important;
    backdrop-filter: blur(15px) saturate(180%);
    box-shadow: 0 2px 10px rgba(0, 0, 0, 0.15);
    min-height: 70px;
    transition: all 0.5s ease;
}

header .header_sticky:not(.is-scrolled) #logo_sticky, header .header_sticky.is-scrolled #logo_full {
    display: none !important;
}

header .is-scrolled #logo_sticky {
    display: inline-block !important;
}

.lca-button, #contact_form .elementor-button {
    padding: 5px 10px;
    text-decoration: none;
    border-radius: 50px !important;
    text-transform: uppercase !important;
    letter-spacing: 0;
    display: inline-block; /* IMPORTANT */
    transition: transform 0.1s ease,
    box-shadow 0.1s ease;
}

.lca_card:hover .lca-button,
a.lca-button:hover, #contact_form .elementor-button:hover {
    transform: scale(0.95);
}

.lca-button.glossy_blur {
    text-transform: initial !important;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 0.5em;
    color: #ffffff;
    background: rgba(255, 255, 255, 0.12);
    border: 1px solid rgba(255, 255, 255, 0.8);
    backdrop-filter: blur(10px);
    -webkit-backdrop-filter: blur(10px);
    font-weight: 600;
    text-shadow: 0 1px 2px rgba(0, 0, 0, 0.2);
    box-shadow: 0 4px 10px rgba(0, 0, 0, 0.2);
}

.lca-button.bg_white_text_gradient {
    background: #fff;
}

.lca-button.bg_white_text_gradient .lca-button-text, .title_gradient strong {
    background: linear-gradient(to left, #FFCE00, #4E9D2D);
    -webkit-background-clip: text;
    -webkit-text-fill-color: transparent;
    background-clip: text;
}

.lca-button.bg_gradient, #contact_form .elementor-button {
    border-radius: 50px !important;
    background: #4E9D2D;
    background: linear-gradient(90deg, #4E9D2D 0%, #FFCE00 100%) !important;
    color: #fff !important;
}

.title_gradient strong {
    display: inline-block;
    text-shadow: 0px 0px 50px rgba(255, 255, 255, 0.2);
}

.lca-button.bg_gradient, #contact_form .elementor-button {
    color: #fff !important;
    font-weight: 400 !important;
}

.lca-button.bg_gradient:hover, #contact_form .elementor-button:hover {
    color: #fff !important;
}

.lca-button.bg_gradient strong, #contact_form .elementor-button {
    font-weight: 800 !important;
}

.txt_gradient_vertical {
    background: linear-gradient(#FFCE00, #4E9D2D);
    -webkit-background-clip: text;
    -webkit-text-fill-color: transparent;
}

.txt_gradient_horizontal strong {
    background: linear-gradient(to left, #FFCE00, #4E9D2D);
    -webkit-background-clip: text;
    -webkit-text-fill-color: transparent;
}

.count_border {
    border-color: transparent; /* épaisseur et base transparente */
    border-image: linear-gradient(#FFCE00, #4E9D2D) 1;
    border-radius: 8px; /* facultatif */
}

.arc-shadow {
    filter: drop-shadow(0px 5px 3px rgba(50, 50, 0, 0.2));
}

.arc-shadow > .e-con {
    background: #fff;
    clip-path: ellipse(65% 100% at 50% 0);
}

@media (max-width: 768px) {
    .arc-shadow > .e-con {
        clip-path: ellipse(100% 100% at 50% 0);
    }
}

.title_line {
    overflow: hidden;
}

.title_line .elementor-heading-title, .title_line #breadcrumbs {
    position: relative;
    display: inline-block;
    text-transform: uppercase;
    letter-spacing: 6px;
    padding-right: 1rem; /* espace entre le texte et le trait */
}

.title_line .elementor-heading-title::after, .title_line #breadcrumbs:after {
    content: '';
    position: absolute;
    top: 50%;
    left: 100%;
    transform: translateY(-50%);
    height: 1px;
    width: 9999px; /* pour que la ligne s'étende loin à droite */
    background: #9c9c9c;
}


.lca-grid {
    display: grid;
    grid-template-columns: repeat(4, 1fr);
    gap: 0;
    position: relative;
}

.lca-item {
    position: relative;
    height: 300px;
    overflow: visible;
    transition: filter .4s ease;
}

.lca-inner {
    position: relative;
    height: 100%;
    will-change: transform;
    overflow: hidden;
}

.lca-item:hover .lca-inner {
    z-index: 20;
}

/* IMAGE */
.lca-image {
    position: absolute;
    inset: 0;
    height: 210px;
    overflow: hidden;
}

.lca-image img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    transition: transform .6s cubic-bezier(.25, .8, .25, 1);
}

/* OVERLAY */
.lca-overlay {
    position: absolute;
    bottom: 0;
    width: 100%;
    height:90px;
    z-index: 2;
    background: linear-gradient(90deg, #f3c400 0%, #69b000 100%);
    perspective: 800px;
}

/* GRAYSCALE */
.lca-grid:hover .lca-item {
    filter: grayscale(100%) brightness(0.7);
}

.lca-grid .lca-item:hover {
    filter: grayscale(0%) brightness(1);
}

/* =========================
   FLIP SYSTEM
========================= */

.lca-flip {
    position: relative;
    width: 100%;
    height: 100%;
    transform-style: preserve-3d;
    transition: transform .6s cubic-bezier(.25,.8,.25,1);
}

/* IMPORTANT : position absolute obligatoire */
.lca-legend,
.lca-details {
    position: absolute;
    inset: 0;
    backface-visibility: hidden;
    display: flex;
    flex-direction: column;
    justify-content: center;
}

/* FACE AVANT */
.lca-legend {
    padding: 10px;
    text-align: center;
}

/* FACE ARRIÈRE */
.lca-details {
    background: #fff;
    transform: rotateX(180deg);
    padding: 19px 15px;

    /* 🔥 on neutralise l'ancien système */
    opacity: 1;
    height: auto;
}

/* HOVER = FLIP */
.lca-item:hover .lca-flip {
    transform: rotateX(180deg);
}

/* =========================
   TEXTE
========================= */

.lca-legend * {
    text-transform: uppercase;
    color: white !important;
    margin: 0;
    padding: 0;
}

.lca-legend h3 {
    font-size: 17px;
    line-height: 17px;
    height: 50px;
}

.lca-legend span {
    font-size: 14px;
    line-height: 14px;
}

.lca-details p {
    font-size: 14px;
    line-height: 14px;
    margin: 0;
    padding: 0;
}

/* =========================
   RESPONSIVE
========================= */

@media (max-width: 1024px) {
    .lca-grid {
        grid-template-columns: repeat(2, 1fr);
    }
}

@media (max-width: 640px) {
    .lca-grid {
        grid-template-columns: 1fr;
    }
}

/* =========================
   DÉCOR
========================= */

.lca-crop {
    position: absolute;
    top: 0;
    right: 0;

    width: 1000px;
    height: 400px;

    overflow: hidden;

    border-top-right-radius: 250px;
    border-bottom-right-radius: 250px;

    transform: rotate(-8deg);
}

.lca-crop-img img {
    width: 150%;
    object-fit: cover;

    transform: rotate(8deg) translateY(-100px);
    transform-origin: center;

    position: absolute;
    left: 0;
    top: 0;
}