/* ============================================================
 * CSS recupere d'Elementor Pro le 21/08/2026, lors de la sortie
 * de l'extension. Contient le CSS global du kit et les CSS de widget.
 * Source d'origine : reglages du kit Elementor et cle custom_css des widgets.
 * ============================================================ */

/* --- CSS global du kit --- */
@import url('https://fonts.googleapis.com/css2?family=Playfair+Display:ital,wght@0,400;0,500;0,600;0,700;1,400&family=Inter:wght@300;400;500;600;700&display=swap');

:root{--wb-primary:#004AAD;--wb-primary-dark:#003a8c;--wb-primary-light:#e8f0fd;--wb-accent:#C9A96E;--wb-dark:#0f1f3d;--wb-text:#1a1a2e;--wb-muted:#6B7280;--wb-bg:#F9FAFB;--wb-white:#ffffff;--wb-border:#E5E7EB;--wb-font-heading:'Playfair Display',Georgia,serif;--wb-font-body:'Inter',-apple-system,sans-serif;--wb-radius:10px;--wb-shadow:0 4px 24px rgba(0,0,0,0.08);--wb-shadow-md:0 8px 40px rgba(0,0,0,0.12);--wb-ease:cubic-bezier(0.4,0,0.2,1);}

html{scroll-behavior:smooth;}
body{font-family:var(--wb-font-body)!important;color:var(--wb-text)!important;-webkit-font-smoothing:antialiased!important;}
::selection{background:rgba(0,74,173,0.15);color:var(--wb-dark);}

h1,h2,h3,h4,h5,h6,.elementor-heading-title{font-family:var(--wb-font-heading)!important;letter-spacing:-0.02em!important;}
p,li,.elementor-widget-text-editor p{font-family:var(--wb-font-body)!important;font-size:17px!important;line-height:1.75!important;color:#374151!important;}
.elementor-widget-text-editor p{max-width:65ch;}
h1.elementor-heading-title{font-size:clamp(2.25rem,5vw,4.5rem)!important;font-weight:700!important;line-height:1.1!important;letter-spacing:-0.03em!important;}
h2.elementor-heading-title{font-size:clamp(1.75rem,3vw,2.75rem)!important;font-weight:600!important;line-height:1.2!important;color:var(--wb-dark)!important;}
h3.elementor-heading-title{font-size:clamp(1.25rem,2vw,1.75rem)!important;font-weight:600!important;}

/* NAVBAR STICKY */
.elementor-location-header{position:sticky!important;top:0!important;z-index:9999!important;background:rgba(255,255,255,0.96)!important;backdrop-filter:blur(20px) saturate(180%)!important;-webkit-backdrop-filter:blur(20px) saturate(180%)!important;border-bottom:1px solid rgba(0,74,173,0.08)!important;box-shadow:0 2px 24px rgba(15,31,61,0.06)!important;}
.elementor-location-header .elementor-container,.elementor-location-header .e-con-inner,.elementor-location-header .e-con{min-height:72px!important;max-height:72px!important;padding-top:0!important;padding-bottom:0!important;display:flex!important;align-items:center!important;}
.elementor-location-header .elementor-widget-image img{max-height:38px!important;width:auto!important;}
.elementor-location-header .elementor-nav-menu--main .elementor-item,.elementor-location-header .elementor-nav-menu a{font-family:var(--wb-font-body)!important;font-size:14px!important;font-weight:500!important;letter-spacing:0.06em!important;text-transform:uppercase!important;color:var(--wb-text)!important;text-decoration:none!important;padding:8px 16px!important;border-radius:4px!important;transition:color 0.2s ease,background 0.2s ease!important;}
.elementor-location-header .elementor-nav-menu--main .elementor-item:hover,.elementor-location-header .elementor-nav-menu a:hover{color:var(--wb-primary)!important;background:var(--wb-primary-light)!important;}

/* HERO OVERLAY */
.elementor-element-72cfada{position:relative!important;min-height:100vh!important;display:flex!important;align-items:center!important;}
.elementor-element-72cfada::before{content:''!important;position:absolute!important;inset:0!important;background:linear-gradient(135deg,rgba(10,25,65,0.72) 0%,rgba(0,74,173,0.45) 50%,rgba(0,0,0,0.25) 100%)!important;z-index:0!important;pointer-events:none!important;}
.elementor-element-72cfada>.elementor-container,.elementor-element-72cfada>.e-con-inner{position:relative!important;z-index:1!important;}
.elementor-element-72cfada h1.elementor-heading-title{font-size:clamp(2.5rem,5.5vw,5rem)!important;font-weight:700!important;color:#fff!important;text-shadow:0 2px 30px rgba(0,0,0,0.4)!important;line-height:1.05!important;}
.elementor-element-72cfada h2.elementor-heading-title,.elementor-element-72cfada h3.elementor-heading-title{font-size:clamp(1.1rem,2vw,1.4rem)!important;font-weight:400!important;color:rgba(255,255,255,0.88)!important;line-height:1.65!important;font-family:var(--wb-font-body)!important;}
.elementor-element-72cfada p{font-size:1.1rem!important;line-height:1.75!important;color:rgba(255,255,255,0.82)!important;}

/* BOUTONS PREMIUM */
.elementor-button{font-family:var(--wb-font-body)!important;font-size:13px!important;font-weight:600!important;letter-spacing:0.1em!important;text-transform:uppercase!important;padding:15px 40px!important;border-radius:4px!important;transition:all 0.25s cubic-bezier(0.4,0,0.2,1)!important;cursor:pointer!important;border:none!important;display:inline-flex!important;align-items:center!important;justify-content:center!important;}
.elementor-element-72cfada .elementor-button{background:var(--wb-white)!important;color:var(--wb-primary)!important;border:none!important;box-shadow:0 4px 20px rgba(255,255,255,0.2)!important;}
.elementor-element-72cfada .elementor-button:hover{background:var(--wb-accent)!important;color:#fff!important;transform:translateY(-2px)!important;box-shadow:0 8px 30px rgba(201,169,110,0.45)!important;}
.elementor-button[style*="border-color: rgb(0, 74, 173)"],.elementor-button[style*="color: rgb(0, 74, 173)"]{background:var(--wb-primary)!important;color:#fff!important;border:none!important;box-shadow:0 4px 20px rgba(0,74,173,0.28)!important;}
.elementor-button[style*="border-color: rgb(0, 74, 173)"]:hover,.elementor-button[style*="color: rgb(0, 74, 173)"]:hover{background:var(--wb-primary-dark)!important;transform:translateY(-2px)!important;box-shadow:0 10px 35px rgba(0,74,173,0.42)!important;}
.elementor-button[style*="border-color: rgb(255, 50, 48)"],.elementor-button[style*="color: rgb(255, 50, 48)"]{display:none!important;}

/* FOOTER DARK PREMIUM */
.elementor-location-footer{background:var(--wb-dark)!important;border-top:1px solid rgba(201,169,110,0.3)!important;}
.elementor-location-footer,.elementor-location-footer p,.elementor-location-footer span,.elementor-location-footer li{color:rgba(255,255,255,0.65)!important;font-family:var(--wb-font-body)!important;}
.elementor-location-footer h1,.elementor-location-footer h2,.elementor-location-footer h3,.elementor-location-footer h4,.elementor-location-footer .elementor-heading-title{color:#fff!important;font-family:var(--wb-font-heading)!important;}
.elementor-location-footer a{color:rgba(255,255,255,0.6)!important;text-decoration:none!important;transition:color 0.2s ease!important;}
.elementor-location-footer a:hover{color:var(--wb-accent)!important;}
.elementor-location-footer a[href*="/services/"]{pointer-events:none!important;cursor:default!important;color:rgba(255,255,255,0.35)!important;font-size:12px!important;}
.elementor-location-footer .elementor-widget-image img{max-height:44px!important;width:auto!important;filter:brightness(0) invert(1)!important;opacity:0.85!important;}
.elementor-location-footer .elementor-nav-menu a,.elementor-location-footer .elementor-nav-menu--main .elementor-item{font-size:13px!important;letter-spacing:0.05em!important;text-transform:uppercase!important;color:rgba(255,255,255,0.6)!important;}

/* FORMULAIRE */
input[type="text"],input[type="email"],input[type="tel"],textarea{font-family:var(--wb-font-body)!important;font-size:15px!important;border:1.5px solid var(--wb-border)!important;border-radius:var(--wb-radius)!important;padding:14px 18px!important;background:#fff!important;transition:border-color 0.2s ease,box-shadow 0.2s ease!important;}
input:focus,textarea:focus{border-color:var(--wb-primary)!important;box-shadow:0 0 0 3px rgba(0,74,173,0.12)!important;outline:none!important;}

/* ACCESSIBILITÉ */
a:focus-visible,button:focus-visible,input:focus-visible,textarea:focus-visible{outline:2px solid var(--wb-primary)!important;outline-offset:3px!important;border-radius:4px!important;}

/* MOBILE */
@media(max-width:768px){.elementor-element-72cfada{min-height:100svh!important;}.elementor-element-72cfada h1.elementor-heading-title{font-size:clamp(1.85rem,7vw,2.5rem)!important;}.elementor-button{font-size:13px!important;padding:14px 28px!important;width:100%!important;}.elementor-section .elementor-container,.e-con-inner{padding-left:20px!important;padding-right:20px!important;}.elementor-location-header .elementor-container,.elementor-location-header .e-con-inner{min-height:60px!important;max-height:none!important;}}

/* FAQ - TEXTE BLANC SECTIONS SOMBRES */
.elementor-element-04802bb h1,
.elementor-element-04802bb h2,
.elementor-element-04802bb h3,
.elementor-element-04802bb p,
.elementor-element-04802bb .elementor-heading-title,
.elementor-element-04802bb .elementor-widget-text-editor,
.elementor-element-77f1ed0 h1,
.elementor-element-77f1ed0 h2,
.elementor-element-77f1ed0 h3,
.elementor-element-77f1ed0 p,
.elementor-element-77f1ed0 .elementor-heading-title,
.elementor-element-77f1ed0 .elementor-widget-text-editor,
.elementor-element-6b4fe26 h1,
.elementor-element-6b4fe26 h2,
.elementor-element-6b4fe26 h3,
.elementor-element-6b4fe26 p,
.elementor-element-6b4fe26 .elementor-heading-title,
.elementor-element-6b4fe26 .elementor-widget-text-editor {
  color: #ffffff !important;
}

/* FOOTER - LIEN SERVICES TAILLE */
.elementor-location-footer a[href*="/services"] {
  font-size: 19px !important;
  color: rgba(255,255,255,0.6) !important;
  pointer-events: auto !important;
  cursor: pointer !important;
}

/* --- CSS de widgets, document #11 Accueil --- */
/* element 0fc2ab4 */
.elementor-element.elementor-element-0fc2ab4 .elementor-button {
  background-color: #ffffff !important;
  color: #1a3a6b !important;
  border-color: #ffffff !important;
}
/* element 0dcf1e5 */
.elementor-element.elementor-element-0dcf1e5 {
  max-width: 700px;
  margin-left: auto;
  margin-right: auto;
}

/* --- CSS de widgets, document #15 Services --- */
/* element d5b7dba */
.elementor-element.elementor-element-d5b7dba .elementor-button {
  background-color: #ffffff !important;
  color: #1a3a6b !important;
  border-color: #ffffff !important;
}

/* --- CSS de widgets, document #17 FAQ --- */
/* element 6b4fe26 */
.elementor-element.elementor-element-6b4fe26 h1,
.elementor-element.elementor-element-6b4fe26 h2,
.elementor-element.elementor-element-6b4fe26 h3,
.elementor-element.elementor-element-6b4fe26 p,
.elementor-element.elementor-element-6b4fe26 .elementor-widget-text-editor,
.elementor-element.elementor-element-6b4fe26 .elementor-heading-title {
  color: #ffffff !important;
}e résoudre 

/* --- CSS de widgets, document #23 Mentions légales --- */
/* element 78ade8b */
.elementor-element.elementor-element-78ade8b h2{
    font-size: 20px;
    padding-top: 40px;
}

.elementor-element.elementor-element-78ade8b h3{
    font-size: 16px;
    padding-top: 20px;
}

/* --- CSS de widgets, document #126 Annonces --- */
/* element 104cab7 */
.elementor-element.elementor-element-104cab7 .e-filter-item {

    border-radius: 100px;
}

/* --- CSS de widgets, document #339 Property Listings --- */
/* element 104cab7 */
.elementor-element.elementor-element-104cab7 .e-filter-item {nn    border-radius: 100px;n}


/* ============================================================
 * En-tete : contraintes reprises du gabarit Elementor Pro d'origine.
 * HFE rend the_custom_logo() sans borne, le fichier est un 2x de 656 px.
 * Pose le 21/08/2026 lors de la sortie d'Elementor Pro.
 * ============================================================ */
.elementor-widget-site-logo img.custom-logo,
.hfe-site-logo img.custom-logo,
a.custom-logo-link img.custom-logo {
	max-width: 200px;
	height: auto;
}

/* ------------------------------------------------------------
 * Deux regressions constatees apres la sortie d'Elementor Pro,
 * corrigees le 21/08/2026 :
 *  1. le menu tombait en #CC3366 au lieu du bleu de marque du gabarit Pro
 *  2. tous les boutons Elementor heritaient d'un soulignement
 * ------------------------------------------------------------ */
.hfe-nav-menu a.hfe-menu-item,
.hfe-nav-menu a.hfe-sub-menu-item,
.hfe-nav-menu .menu-item a,
.elementor-widget-navigation-menu .menu-item a {
	color: #004AAD;
}
.hfe-nav-menu a.hfe-menu-item:hover,
.hfe-nav-menu .menu-item a:hover,
.elementor-widget-navigation-menu .menu-item a:hover {
	color: #C9A96E;
}
.elementor-button,
a.elementor-button,
.elementor-button-link,
.elementor-button-wrapper a {
	text-decoration: none;
}
