.elementor-3347 .elementor-element.elementor-element-2bbdcfd{--display:flex;--flex-direction:column;--container-widget-width:100%;--container-widget-height:initial;--container-widget-flex-grow:0;--container-widget-align-self:initial;--flex-wrap-mobile:wrap;--margin-top:-62px;--margin-bottom:0px;--margin-left:0px;--margin-right:0px;}.elementor-3347 .elementor-element.elementor-element-1e73762{--display:flex;--flex-direction:column;--container-widget-width:100%;--container-widget-height:initial;--container-widget-flex-grow:0;--container-widget-align-self:initial;--flex-wrap-mobile:wrap;--margin-top:10px;--margin-bottom:0px;--margin-left:0px;--margin-right:0px;}.elementor-widget-heading .elementor-heading-title{font-family:var( --e-global-typography-primary-font-family ), Sans-serif;font-size:var( --e-global-typography-primary-font-size );font-weight:var( --e-global-typography-primary-font-weight );text-decoration:var( --e-global-typography-primary-text-decoration );line-height:var( --e-global-typography-primary-line-height );word-spacing:var( --e-global-typography-primary-word-spacing );color:var( --e-global-color-primary );}.elementor-3347 .elementor-element.elementor-element-a64c8d3{margin:20px 0px calc(var(--kit-widget-spacing, 0px) + 0px) 0px;}.elementor-3347 .elementor-element.elementor-element-a64c8d3 .elementor-heading-title{font-family:"DM Serif Display", Sans-serif;font-size:40px;font-weight:500;text-decoration:none;line-height:3px;word-spacing:0px;}.elementor-3347 .elementor-element.elementor-element-b55ff3c{--display:flex;--flex-direction:column;--container-widget-width:100%;--container-widget-height:initial;--container-widget-flex-grow:0;--container-widget-align-self:initial;--flex-wrap-mobile:wrap;--margin-top:10px;--margin-bottom:0px;--margin-left:0px;--margin-right:0px;}.elementor-3347 .elementor-element.elementor-element-4070e82{margin:20px 0px calc(var(--kit-widget-spacing, 0px) + 0px) 0px;}.elementor-3347 .elementor-element.elementor-element-4070e82 .elementor-heading-title{font-family:"DM Serif Display", Sans-serif;font-size:30px;font-weight:500;text-decoration:none;line-height:3px;word-spacing:0px;}.elementor-3347 .elementor-element.elementor-element-e2660e5{--display:flex;--flex-direction:column;--container-widget-width:100%;--container-widget-height:initial;--container-widget-flex-grow:0;--container-widget-align-self:initial;--flex-wrap-mobile:wrap;--margin-top:10px;--margin-bottom:0px;--margin-left:0px;--margin-right:0px;}.elementor-3347 .elementor-element.elementor-element-629d89f{margin:20px 0px calc(var(--kit-widget-spacing, 0px) + 0px) 0px;}.elementor-3347 .elementor-element.elementor-element-629d89f .elementor-heading-title{font-family:"DM Serif Display", Sans-serif;font-size:25px;font-weight:500;text-decoration:none;line-height:3px;word-spacing:0px;}.elementor-3347 .elementor-element.elementor-element-a959c9a{--display:flex;--flex-direction:column;--container-widget-width:100%;--container-widget-height:initial;--container-widget-flex-grow:0;--container-widget-align-self:initial;--flex-wrap-mobile:wrap;}.elementor-widget-text-editor{font-family:var( --e-global-typography-text-font-family ), Sans-serif;font-size:var( --e-global-typography-text-font-size );font-weight:var( --e-global-typography-text-font-weight );color:var( --e-global-color-text );}.elementor-widget-text-editor.elementor-drop-cap-view-stacked .elementor-drop-cap{background-color:var( --e-global-color-primary );}.elementor-widget-text-editor.elementor-drop-cap-view-framed .elementor-drop-cap, .elementor-widget-text-editor.elementor-drop-cap-view-default .elementor-drop-cap{color:var( --e-global-color-primary );border-color:var( --e-global-color-primary );}.elementor-3347 .elementor-element.elementor-element-8e898a4{--display:flex;--flex-direction:column;--container-widget-width:100%;--container-widget-height:initial;--container-widget-flex-grow:0;--container-widget-align-self:initial;--flex-wrap-mobile:wrap;}.elementor-3347 .elementor-element.elementor-element-13a3c51{font-family:"Inter", Sans-serif;font-size:14px;font-weight:400;}.elementor-3347 .elementor-element.elementor-element-3907e80{--display:flex;--flex-direction:column;--container-widget-width:100%;--container-widget-height:initial;--container-widget-flex-grow:0;--container-widget-align-self:initial;--flex-wrap-mobile:wrap;}.elementor-3347 .elementor-element.elementor-element-cc13ee1{font-family:"Inter", Sans-serif;font-size:13px;font-weight:400;}.elementor-3347 .elementor-element.elementor-element-6a38e97{--display:flex;--flex-direction:column;--container-widget-width:100%;--container-widget-height:initial;--container-widget-flex-grow:0;--container-widget-align-self:initial;--flex-wrap-mobile:wrap;}.elementor-3347 .elementor-element.elementor-element-50fc0694{--display:flex;--flex-direction:column;--container-widget-width:100%;--container-widget-height:initial;--container-widget-flex-grow:0;--container-widget-align-self:initial;--flex-wrap-mobile:wrap;}.elementor-3347 .elementor-element.elementor-element-50fc0694:not(.elementor-motion-effects-element-type-background), .elementor-3347 .elementor-element.elementor-element-50fc0694 > .elementor-motion-effects-container > .elementor-motion-effects-layer{background-color:var( --e-global-color-primary );}.elementor-3347 .elementor-element.elementor-element-25fa5ba7{--display:flex;--flex-direction:column;--container-widget-width:100%;--container-widget-height:initial;--container-widget-flex-grow:0;--container-widget-align-self:initial;--flex-wrap-mobile:wrap;}.elementor-3347 .elementor-element.elementor-element-1bd4d8ef{margin:-10px 0px calc(var(--kit-widget-spacing, 0px) + 0px) 0px;padding:0px 0px 0px 0px;}@media(max-width:1024px){.elementor-widget-heading .elementor-heading-title{font-size:var( --e-global-typography-primary-font-size );line-height:var( --e-global-typography-primary-line-height );word-spacing:var( --e-global-typography-primary-word-spacing );}.elementor-3347 .elementor-element.elementor-element-a64c8d3 .elementor-heading-title{font-size:32px;}.elementor-3347 .elementor-element.elementor-element-4070e82 .elementor-heading-title{font-size:32px;}.elementor-3347 .elementor-element.elementor-element-629d89f .elementor-heading-title{font-size:32px;}.elementor-widget-text-editor{font-size:var( --e-global-typography-text-font-size );}.elementor-3347 .elementor-element.elementor-element-13a3c51{font-size:16px;}.elementor-3347 .elementor-element.elementor-element-cc13ee1{font-size:16px;}}@media(max-width:767px){.elementor-widget-heading .elementor-heading-title{font-size:var( --e-global-typography-primary-font-size );line-height:var( --e-global-typography-primary-line-height );word-spacing:var( --e-global-typography-primary-word-spacing );}.elementor-3347 .elementor-element.elementor-element-a64c8d3 .elementor-heading-title{font-size:24px;line-height:1.3em;}.elementor-3347 .elementor-element.elementor-element-4070e82 .elementor-heading-title{font-size:24px;line-height:1.3em;}.elementor-3347 .elementor-element.elementor-element-629d89f .elementor-heading-title{font-size:24px;line-height:1.3em;}.elementor-widget-text-editor{font-size:var( --e-global-typography-text-font-size );}.elementor-3347 .elementor-element.elementor-element-13a3c51{font-size:16px;}.elementor-3347 .elementor-element.elementor-element-cc13ee1{font-size:16px;}}/* Start custom CSS for global, class: .elementor-global-2983 *//* =========================
   IMPORT FONTS
========================= */
@import url('https://fonts.googleapis.com/css2?family=DM+Serif+Display&family=Inter:wght@300;400;500;600;700&display=swap');

/* =========================
   RESET
========================= */

*{
    margin:0;
    padding:0;
    box-sizing:border-box;
}

body{
    padding-top:80px;
    overflow-x:hidden;
    font-family:'Inter', sans-serif;
    color:#F5F4F2;
}

/* =========================
   HEADER
========================= */

.modern-header{
    position:fixed;
    top:0;
    left:0;
    width:100%;
    height:80px;
    background:#48493C; /* vert du header */
    backdrop-filter:blur(12px);
    -webkit-backdrop-filter:blur(12px);
    border-bottom:1px solid rgba(255,255,255,0.05);
    z-index:999999;
}

.header-inner{
    width:100%;
    max-width:1400px;
    height:100%;
    margin:auto;
    display:flex;
    align-items:center;
    justify-content:space-between;
    padding:0 24px;
}

/* =========================
   LEFT / RIGHT
========================= */

.header-left,
.header-right{
    display:flex;
    align-items:center;
}

.header-left{
    gap:40px;
}

.header-right{
    gap:18px;
}

/* =========================
   LOGO
========================= */

.header-logo img{
    height:42px;
    width:auto;
    display:block;
    transition:0.3s ease;
}

.header-logo:hover img{
    transform:scale(1.04);
}

/* =========================
   NAVIGATION
========================= */

.header-nav{
    display:flex;
}

.nav-menu{
    display:flex;
    align-items:center;
    gap:30px;
    list-style:none;
}

.nav-menu li{
    position:relative;
}

.nav-menu a{
    text-decoration:none;
    color:#F5F4F2; /* blanc cassé */
    font-size:15px;
    font-weight:500;
    opacity:0.85;
    transition:0.3s ease;
    display:flex;
    align-items:center;
    gap:6px;
}

.nav-menu a:hover{
    opacity:1;
    color:#f38768; /* orange CTA */
}

.arrow{
    font-size:12px;
    transition:0.3s ease;
}

/* =========================
   SUBMENU
========================= */

.submenu{
    position:absolute;
    top:55px;
    left:50%;
    transform:translateX(-50%);
    min-width:220px;
    background:#48493C; /* vert du header */
    border-radius:14px;
    padding:12px 0;
    list-style:none;
    opacity:0;
    visibility:hidden;
    transition:0.3s ease;
    box-shadow:0 10px 35px rgba(0,0,0,0.25);
}

.has-dropdown:hover .submenu{
    opacity:1;
    visibility:visible;
}

.has-dropdown:hover .arrow{
    transform:rotate(180deg);
}

.submenu a{
    display:block;
    padding:12px 18px;
    font-size:14px;
    color:#F5F4F2; /* texte blanc */
    transition:0.3s ease;
}

.submenu a:hover{
    color:#f38768; /* orange CTA au survol */
}

/* =========================
   SOCIALS
========================= */

.header-socials{
    display:flex;
    gap:14px;
}

.header-socials a{
    display:flex;
    align-items:center;
    justify-content:center;
}

.header-socials svg{
    width:20px;
    height:20px;
    fill:#F5F4F2;
    opacity:0.7;
    transition:0.3s ease;
}

.header-socials a:hover svg{
    opacity:1;
    fill:#f38768;
}

/* =========================
   CONTACT BUTTON
========================= */

.contact-btn-mat{
    text-decoration:none;
    background:#f38768; /* orange CTA */
    color:#F5F4F2; /* texte blanc */
    padding:11px 22px;
    border-radius:12px;
    font-size:14px;
    font-weight:600;
    transition:0.25s ease;
    white-space:nowrap;
    border:1px solid transparent;
}

.contact-btn-mat:hover{
    background:#e97a5d; /* léger hover orange */
    color:#F5F4F2; /* reste blanc */
}

/* =========================
   BURGER MENU
========================= */

.burger-menu{
    display:none;
    width:46px;
    height:46px;
    border:none;
    background:#f38768; /* orange CTA */
    border-radius:12px;
    cursor:pointer;
    flex-direction:column;
    justify-content:center;
    align-items:center;
    gap:5px;
    transition:0.25s ease;
}

.burger-menu:hover{
    background:#e97a5d; /* hover léger */
}

.burger-menu span{
    width:22px;
    height:2px;
    background:#F5F4F2; /* traits blancs */
    border-radius:50px;
    transition:0.25s ease;
}

.burger-menu.open span:nth-child(1){
    transform:translateY(7px) rotate(45deg);
}

.burger-menu.open span:nth-child(2){
    opacity:0;
}

.burger-menu.open span:nth-child(3){
    transform:translateY(-7px) rotate(-45deg);
}

/* =========================
   PROGRESS BAR
========================= */

.progress-wrap{
    position:absolute;
    bottom:0;
    left:0;
    width:100%;
    height:2px;
    background:rgba(255,255,255,0.05);
}

.progress-fill{
    height:100%;
    width:100%;
    background:#f38768;
    transform:scaleX(0);
    transform-origin:left;
}

/* =========================
   TABLETTE / MOBILE
========================= */

@media screen and (max-width:1024px){

    .burger-menu{
        display:flex;
    }

    .header-socials{
        display:none;
    }

    .header-nav{
        position:fixed;
        top:80px;
        right:-100%;
        width:100%;
        height:calc(100vh - 80px);
        background:#48493C;
        transition:0.4s ease;
        overflow-y:auto;
        padding:30px 20px;
    }

    .header-nav.active{
        right:0;
    }

    .nav-menu{
        flex-direction:column;
        align-items:flex-start;
        width:100%;
        gap:0;
    }

    .nav-menu li{
        width:100%;
        border-bottom:1px solid rgba(255,255,255,0.06);
    }

    .nav-menu a{
        width:100%;
        padding:18px 0;
        font-size:18px;
        justify-content:space-between;
    }

    .submenu{
        position:static;
        transform:none;
        opacity:1;
        visibility:visible;
        max-height:0;
        overflow:hidden;
        background:transparent;
        padding:0;
        border-radius:0;
        box-shadow:none;
        transition:max-height 0.3s ease;
    }

    .submenu a{
        padding:14px 0 14px 18px;
        font-size:16px;
    }

    .has-dropdown.mobile-open .submenu{
        max-height:500px;
    }

    .has-dropdown.mobile-open .arrow{
        transform:rotate(180deg);
    }
}

/* =========================
   MOBILE
========================= */

@media screen and (max-width:768px){

    body{
        padding-top:72px;
    }

    .modern-header{
        height:72px;
    }

    .header-inner{
        padding:0 16px;
    }

    .header-logo img{
        height:36px;
    }

    .contact-btn-mat{
        padding:10px 16px;
        font-size:13px;
    }

    .header-nav{
        top:72px;
        height:calc(100vh - 72px);
    }
}

/* =========================
   PETITS ÉCRANS
========================= */

@media screen and (max-width:480px){

    .header-right{
        gap:10px;
    }

    .contact-btn-mat{
        padding:9px 14px;
        font-size:12px;
    }

    .burger-menu{
        width:42px;
        height:42px;
    }
}/* End custom CSS */
/* Start custom CSS for html, class: .elementor-element-6bfde6c3 */.rd-back-to-top {
    position: fixed !important;
    bottom: 40px !important;
    right: 40px !important;
    z-index: 99999 !important;
    
    width: 48px;
    height: 48px;
    
    /* Fond anthracite à 40% d'opacité */
    background-color: rgba(39, 35, 27, 0.4) !important; 
    color: #ffffff !important;
    
    /* Effet "Glassmorphism" pour la profondeur */
    backdrop-filter: blur(8px) !important;
    -webkit-backdrop-filter: blur(8px) !important;
    
    display: flex;
    align-items: center;
    justify-content: center;
    border-radius: 8px; 
    border: 1px solid rgba(255, 255, 255, 0.12); /* Bordure discrète */
    
    /* Animation d'évaporation fluide */
    opacity: 0;
    visibility: hidden;
    transform: translateY(20px);
    transition: 
        opacity 0.8s cubic-bezier(0.4, 0, 0.2, 1), 
        transform 0.8s cubic-bezier(0.4, 0, 0.2, 1), 
        visibility 0.8s,
        background-color 0.3s ease;
    cursor: pointer;
    text-decoration: none !important;
}

/* État actif aux 55% de scroll */
.rd-back-to-top.is-active {
    opacity: 1 !important;
    visibility: visible !important;
    transform: translateY(0) !important;
}

/* Interaction au survol (opacité augmente à 80% pour le clic) */
.rd-back-to-top:hover {
    background-color: rgba(39, 35, 27, 0.8) !important;
    transform: translateY(-5px) !important;
}

.rd-back-to-top svg {
    pointer-events: none;
}/* End custom CSS */
/* Start custom CSS for html, class: .elementor-element-1bd4d8ef *//* 1. BASE ET PLEINE LARGEUR */
.minimal-footer {
    background-color: #48493C;
    color: #ffffff;
    width: 100vw !important;
    position: relative;
    left: 50%;
    right: 50%;
    margin-left: -50vw;
    margin-right: -50vw;
    padding: 80px 0 40px 0;
    font-family: 'Inter', sans-serif;
    box-sizing: border-box;
    overflow: hidden;
}

/* 2. CONTENEUR */
.footer-container {
    display: flex;
    justify-content: space-between;
    align-items: flex-start;
    max-width: 1200px;
    margin: 0 auto;
    padding: 0 40px;
    box-sizing: border-box;
}

/* 3. COLONNE BRAND */
.footer-col-brand {
    flex: 1;
    max-width: 350px;
}

.logo-tiny {
    width: 60px;
    height: auto;
    margin-bottom: 25px;
    transition: transform 0.3s ease;
}

.footer-text {
    font-size: 14px;
    opacity: 0.7;
    line-height: 1.6;
    margin-bottom: 30px;
}

.footer-social-icons {
    display: flex;
    gap: 15px;
}

.footer-social-icons svg {
    width: 20px;
    height: 20px;
    fill: #ffffff;
    opacity: 0.7;
    transition: 0.3s ease;
}

.footer-social-icons a:hover svg {
    fill: #f38768;
    transform: translateY(-3px);
    opacity: 1;
}

/* 4. NAVIGATION */
.footer-col-nav {
    display: flex;
    gap: 80px;
    flex: 2;
    justify-content: flex-end;
}

.minimal-footer h3 {
    font-size: 11px;
    text-transform: uppercase;
    letter-spacing: 2px;
    color: rgba(255,255,255,0.4);
    margin-bottom: 25px;
    font-weight: 700;
}

.nav-list {
    list-style: none;
    padding: 0;
    margin: 0;
}

.nav-list li { margin-bottom: 12px; }

.nav-list a {
    color: #ffffff;
    text-decoration: none !important;
    font-size: 15px;
    opacity: 0.8;
    transition: 0.3s;
}

.nav-list a:hover {
    color: #f38768 !important;
    opacity: 1;
}

/* 5. DROP-UP RÉALISATIONS */
.sub-nav {
    max-height: 0;
    overflow: hidden;
    list-style: none;
    padding-left: 15px;
    transition: max-height 0.4s ease;
    border-left: 1px solid rgba(243, 135, 104, 0.3);
    margin-left: 5px;
}

.nav-item-dropdown:hover .sub-nav {
    max-height: 200px;
    margin-top: 10px;
}

.sub-nav a { font-size: 13px; opacity: 0.5; }

/* 6. COPYRIGHT */
.footer-copyright {
    margin-top: 60px;
    padding: 30px 20px 0 20px;
    border-top: 1px solid rgba(255,255,255,0.05);
    text-align: center;
    font-size: 12px;
    opacity: 0.3;
}

/* --- RESPONSIVE TABLETTE (1024px) --- */
@media (max-width: 1024px) {
    .footer-container {
        padding: 0 30px;
    }
    .footer-col-nav {
        gap: 40px;
    }
}

/* --- RESPONSIVE MOBILE (768px) --- */
@media (max-width: 768px) {
    .minimal-footer {
        padding: 60px 0 30px 0;
    }
    .footer-container {
        flex-direction: column;
        align-items: center;
        text-align: center;
    }
    .footer-col-brand {
        max-width: 100%;
        margin-bottom: 50px;
    }
    .footer-text {
        max-width: 300px;
        margin: 0 auto 25px auto;
    }
    .footer-social-icons {
        justify-content: center;
    }
    .footer-col-nav {
        flex-direction: column;
        align-items: center;
        text-align: center;
        gap: 40px;
        width: 100%;
    }
    .sub-nav {
        border-left: none;
        padding-left: 0;
    }
    .footer-copyright {
        margin-top: 40px;
    }
}/* End custom CSS */