/* ============================================================
   LOCATION EN FÊTE — CSS PAGE D'ACCUEIL
   À ajouter dans : Apparence > Personnaliser > CSS additionnel
   Ou via un fichier custom.css dans votre thème enfant
   ============================================================ */

.lef *{margin:0;padding:0;box-sizing:border-box;}
.lef{overflow-x:hidden;}
.lef a{text-decoration:none;}

/* ========== HERO ========== */
.lef-hero{
  position:relative;min-height:100vh;display:flex;align-items:center;justify-content:center;
  overflow:hidden;text-align:center;margin-top:-80px;padding-top:80px;
}
.lef-hero-bg{
  position:absolute;inset:0;z-index:0;
  /* 📸 IMAGE DE FOND HERO — modifiez l'URL ici */
  background:url('https://locationenfete.be/wp-content/uploads/2026/01/d44aa40f9d2a43aa72f3fb552adb773fae0a12cd-1-scaled.jpg') center/cover no-repeat;
  transform:scale(1.05);animation:lefZoom 25s ease-in-out infinite alternate;
}
@keyframes lefZoom{0%{transform:scale(1.05)}100%{transform:scale(1.15)}}
.lef-hero-overlay{
  position:absolute;inset:0;z-index:1;
  background:linear-gradient(180deg,rgba(41,151,170,.45) 0%,rgba(45,52,54,.5) 50%,rgba(45,52,54,.88) 100%);
}
.lef-confetti{position:absolute;inset:0;z-index:2;pointer-events:none;overflow:hidden;}
.lef-conf{position:absolute;top:-20px;animation:lefFall var(--d,6s) linear infinite;animation-delay:var(--dl,0s);opacity:.5;width:var(--s,8px);height:var(--s,8px);border-radius:var(--r,50%);}
@keyframes lefFall{0%{transform:translateY(-20px) rotate(0);opacity:0}8%{opacity:.55}90%{opacity:.25}100%{transform:translateY(calc(100vh + 40px)) rotate(var(--rot,720deg));opacity:0}}

.lef-hero-content{position:relative;z-index:3;max-width:900px;padding:0 2rem;}
.lef-hero-logo{margin-bottom:2rem;animation:lefFD .8s ease-out;}
@keyframes lefFD{from{opacity:0;transform:translateY(-20px)}to{opacity:1;transform:translateY(0)}}

/* 🔧 TAILLE LOGO HERO PC — modifiez height ci-dessous */
.lef-hero-logo img{height:110px;filter:brightness(0) invert(1);}
.lef-hero-tagline{font-size:.7em;font-weight:500;letter-spacing:.2em;text-transform:uppercase;color:rgba(255,255,255,.55);margin-top:.5rem;padding:0 1rem;}

/* 🔧 TAILLE TITRE HERO PC — modifiez clamp(min, preferred, max) */
.lef-hero h1{font-size:clamp(3rem,7vw,5.5rem);font-weight:800;color:#fff;line-height:1.1;margin-bottom:1.5rem;text-shadow:0 2px 40px rgba(0,0,0,.15);animation:lefFU .9s ease-out .1s both;}
@keyframes lefFU{from{opacity:0;transform:translateY(30px)}to{opacity:1;transform:translateY(0)}}

/* 🔧 TAILLE "ICI !" PC */
.lef-hero h1 .accent{color:#FF6B6B;display:block;font-size:1.35em;}
.lef-hero h1 .accent a{color:#FF6B6B;border-bottom:3px solid rgba(255,107,107,.5);padding-bottom:3px;transition:border-color .3s;}
.lef-hero h1 .accent a:hover{border-color:#FF6B6B;}

/* 🔧 TAILLE TEXTE DESCRIPTION HERO PC */
.lef-hero-sub{font-size:1.15em;color:rgba(255,255,255,.88);line-height:1.75;max-width:660px;margin:0 auto 2.5rem;animation:lefFU 1s ease-out .2s both;}

.lef-hero-btns{display:flex;gap:1.2rem;justify-content:center;flex-wrap:wrap;animation:lefFU 1.1s ease-out .3s both;}
.lef-btn-cat{display:inline-flex;align-items:center;gap:.6rem;padding:1rem 2.8rem;background:#FF6B6B;color:#fff !important;font-weight:700;border-radius:50px;transition:all .3s;box-shadow:0 6px 30px rgba(255,107,107,.45);position:relative;overflow:hidden;}
.lef-btn-cat::before{content:'';position:absolute;top:0;left:-100%;width:100%;height:100%;background:linear-gradient(90deg,transparent,rgba(255,255,255,.2),transparent);transition:left .5s;}
.lef-btn-cat:hover::before{left:100%;}
.lef-btn-cat:hover{background:#FF5959;transform:translateY(-3px);color:#fff !important;}

/* Hero category slider */
.lef-hero-slider-wrap{margin-top:2.5rem;animation:lefFU 1.2s ease-out .5s both;overflow:hidden;position:relative;max-width:700px;margin-left:auto;margin-right:auto;}
.lef-hero-slider{display:flex;gap:.6rem;animation:lefSlide 25s linear infinite;width:max-content;}
.lef-hero-slider:hover{animation-play-state:paused;}
@keyframes lefSlide{0%{transform:translateX(0)}100%{transform:translateX(-50%)}}
.lef-hpill{display:inline-flex;align-items:center;gap:.4rem;padding:.5rem 1.2rem;background:rgba(255,255,255,.1);backdrop-filter:blur(6px);border:1px solid rgba(255,255,255,.18);border-radius:50px;color:#fff !important;font-size:.82em;font-weight:500;transition:all .3s;white-space:nowrap;flex-shrink:0;}
.lef-hpill:hover{background:rgba(255,255,255,.25);border-color:#FF6B6B;transform:translateY(-2px);}

/* Scroll anchor */
.lef-scroll{position:absolute;bottom:2rem;left:50%;transform:translateX(-50%);z-index:3;display:flex;flex-direction:column;align-items:center;gap:.4rem;animation:lefB 2.5s ease-in-out infinite;cursor:pointer;text-decoration:none !important;}
.lef-scroll:hover .lef-scroll-line{background:linear-gradient(to bottom,rgba(255,255,255,.8),transparent);}
@keyframes lefB{0%,100%{transform:translateX(-50%) translateY(0)}50%{transform:translateX(-50%) translateY(-10px)}}
.lef-scroll span{font-size:.6em;letter-spacing:.25em;text-transform:uppercase;color:rgba(255,255,255,.45);}
.lef-scroll-line{width:1px;height:30px;background:linear-gradient(to bottom,rgba(255,255,255,.4),transparent);transition:background .3s;}

/* ========== TRUST BAR ========== */
.lef-trust{
  padding:3rem 4rem;position:relative;overflow:hidden;
  background:linear-gradient(135deg,#3AA6B9 0%,#2997AA 100%);
}
.lef-trust::before{content:'';position:absolute;inset:0;background:url("data:image/svg+xml,%3Csvg width='60' height='60' viewBox='0 0 60 60' xmlns='http://www.w3.org/2000/svg'%3E%3Cg fill='none'%3E%3Cg fill='%23ffffff' fill-opacity='0.07'%3E%3Ccircle cx='30' cy='30' r='3'/%3E%3C/g%3E%3C/g%3E%3C/svg%3E");}
.lef-trust-inner{max-width:1300px;margin:0 auto;display:flex;justify-content:center;gap:2rem;flex-wrap:wrap;position:relative;z-index:2;}
.lef-trust-item{display:flex;align-items:center;gap:.7rem;color:#fff;}
.lef-trust-icon{width:48px;height:48px;background:rgba(255,255,255,.15);border:2px solid rgba(255,255,255,.2);border-radius:14px;display:flex;align-items:center;justify-content:center;font-size:1.2rem;flex-shrink:0;transition:all .3s;}
.lef-trust-item:hover .lef-trust-icon{background:rgba(255,255,255,.3);transform:scale(1.08);}
.lef-trust-text strong{display:block;font-size:.85em;color:#fff;}
.lef-trust-text span{font-size:.75em;color:rgba(255,255,255,.7);}

/* ========== SECTIONS COMMON ========== */
.lef-section{padding:5rem 4rem;position:relative;}
.lef-section-header{text-align:center;margin-bottom:3.5rem;}
.lef-badge{display:inline-flex;align-items:center;gap:.5rem;padding:.5rem 1.4rem;background:#fff;border:2px solid #CAE6E8;border-radius:50px;font-size:.85em;font-weight:600;color:#2997AA;text-transform:uppercase;letter-spacing:.06em;margin-bottom:1rem;box-shadow:0 2px 10px rgba(58,166,185,.08);}

/* 🔧 TAILLE TITRES DE SECTIONS PC — modifiez clamp() ci-dessous */
.lef-stitle{font-size:clamp(2rem,4vw,3rem);font-weight:800;margin-bottom:.7rem;line-height:1.25;}
.lef-stitle .hl{color:#3AA6B9;}
.lef-stitle .hlr{color:#FF6B6B;}
.lef-sdesc{color:#636E72;max-width:650px;margin:0 auto;line-height:1.7;}

/* ========== CATEGORIES ========== */
.lef-cats{
  background:#f9fcfd;overflow:hidden;
  background-image:
    radial-gradient(circle at 15% 85%,rgba(58,166,185,.06) 0%,transparent 45%),
    radial-gradient(circle at 85% 15%,rgba(255,107,107,.05) 0%,transparent 45%),
    radial-gradient(circle at 50% 50%,rgba(253,203,110,.04) 0%,transparent 50%),
    linear-gradient(180deg,#fff 0%,#f0f8f9 30%,#f9fcfd 60%,#fff 100%);
}

/* Formes rondes flottantes — ballons décoratifs (plus visibles) */
.lef-cats-shape{position:absolute;border-radius:50%;pointer-events:none;z-index:0;}
.lef-cats-s1{width:320px;height:320px;background:radial-gradient(circle at 38% 32%,rgba(58,166,185,.14),rgba(58,166,185,.03) 65%,transparent);top:-80px;right:-50px;animation:lefFloat 12s ease-in-out infinite;}
.lef-cats-s2{width:240px;height:240px;background:radial-gradient(circle at 38% 32%,rgba(255,107,107,.14),rgba(255,107,107,.03) 65%,transparent);bottom:40px;left:-40px;animation:lefFloat 15s ease-in-out infinite 3s;}
.lef-cats-s3{width:170px;height:170px;background:radial-gradient(circle at 38% 32%,rgba(253,203,110,.16),rgba(253,203,110,.03) 65%,transparent);top:30%;left:6%;animation:lefFloat 10s ease-in-out infinite 1s;}
.lef-cats-s4{width:130px;height:130px;background:radial-gradient(circle at 38% 32%,rgba(162,155,254,.14),rgba(162,155,254,.03) 65%,transparent);top:12%;right:10%;animation:lefFloat 14s ease-in-out infinite 5s;}
.lef-cats-s5{width:190px;height:190px;background:radial-gradient(circle at 38% 32%,rgba(253,121,168,.12),rgba(253,121,168,.02) 65%,transparent);bottom:-30px;right:18%;animation:lefFloat 11s ease-in-out infinite 2s;}
.lef-cats-s6{width:100px;height:100px;background:radial-gradient(circle at 38% 32%,rgba(58,166,185,.13),transparent 65%);top:55%;right:4%;animation:lefFloat 9s ease-in-out infinite 4s;}
.lef-cats-s7{width:90px;height:90px;background:radial-gradient(circle at 38% 32%,rgba(255,234,167,.18),transparent 65%);top:8%;left:30%;animation:lefFloat 13s ease-in-out infinite 6s;}
.lef-cats-s8{width:110px;height:110px;background:radial-gradient(circle at 38% 32%,rgba(255,107,107,.1),transparent 65%);bottom:15%;left:25%;animation:lefFloat 16s ease-in-out infinite 1.5s;}
@keyframes lefFloat{0%,100%{transform:translate(0,0) scale(1)}50%{transform:translate(20px,-20px) scale(1.1)}}

.lef-cat-grid{display:grid;grid-template-columns:repeat(5,1fr);gap:1.2rem;max-width:1400px;margin:0 auto;position:relative;z-index:2;}
.lef-cat-card{
  background:#fff;border-radius:18px;overflow:hidden;
  border:2px solid #CAE6E8;transition:all .4s;cursor:pointer;display:flex;flex-direction:column;
  box-shadow:0 2px 15px rgba(0,0,0,.04);
}
.lef-cat-card:hover{transform:translateY(-8px);box-shadow:0 18px 45px rgba(58,166,185,.14);border-color:#3AA6B9;}
.lef-cat-card-img{height:150px;overflow:hidden;position:relative;flex-shrink:0;}
.lef-cat-card-img img{width:100%;height:100%;object-fit:cover;transition:transform .6s;}
.lef-cat-card:hover .lef-cat-card-img img{transform:scale(1.1);}
.lef-cat-card-body{padding:1rem;text-align:center;display:flex;flex-direction:column;flex:1;}
.lef-cat-card-body h3{font-size:.95em;font-weight:700;margin-bottom:.4rem;}
.lef-cat-card-desc{font-size:.78em;color:#636E72;line-height:1.5;margin-bottom:.8rem;flex:1;}
.lef-cat-btn{
  display:inline-block;padding:.5rem 1.4rem;
  background:#FF6B6B;color:#fff !important;border-radius:50px;
  font-size:.75em;font-weight:600;transition:all .3s;
  box-shadow:0 3px 12px rgba(255,107,107,.25);margin-top:auto;
}
.lef-cat-card:hover .lef-cat-btn{background:#FF5959;box-shadow:0 5px 18px rgba(255,107,107,.35);}

/* ========== PROCESS ========== */
.lef-process{
  background:linear-gradient(180deg,#EEF8F9 0%,#fff 100%);
  background-image:radial-gradient(circle at 50% 0%,rgba(58,166,185,.06) 0%,transparent 60%);
}
.lef-steps{display:grid;grid-template-columns:repeat(5,1fr);gap:1.2rem;max-width:1300px;margin:0 auto;position:relative;}
.lef-steps::before{content:'';position:absolute;top:55px;left:10%;width:80%;height:3px;background:linear-gradient(to right,#3AA6B9,#FF6B6B);border-radius:3px;opacity:.15;z-index:0;}
.lef-step{text-align:center;position:relative;z-index:1;}
.lef-step-circle{
  width:80px;height:80px;margin:0 auto 1.2rem;
  background:#fff;border:3px solid #CAE6E8;border-radius:50%;
  display:flex;align-items:center;justify-content:center;transition:all .4s;
  box-shadow:0 4px 15px rgba(58,166,185,.08);
}
.lef-step:hover .lef-step-circle{background:#3AA6B9;border-color:#3AA6B9;transform:scale(1.12);box-shadow:0 10px 30px rgba(58,166,185,.25);}
.lef-step-circle span{font-size:1.8rem;transition:filter .4s;}
.lef-step:hover .lef-step-circle span{filter:brightness(0) invert(1);}
.lef-step-num{font-size:.65em;font-weight:700;color:#3AA6B9;margin-bottom:.3rem;text-transform:uppercase;letter-spacing:.1em;}
.lef-step h3{font-size:.95em;font-weight:700;margin-bottom:.4rem;}
.lef-step p{font-size:.8em;color:#636E72;line-height:1.6;max-width:180px;margin:0 auto;}

/* ========== ABOUT / QUI SOMMES-NOUS ========== */
.lef-about{
  background:#fff;overflow:hidden;
  background-image:radial-gradient(circle at 80% 50%,rgba(58,166,185,.04) 0%,transparent 50%);
}
.lef-about-inner{max-width:1100px;margin:0 auto;display:grid;grid-template-columns:1fr 1fr;gap:4rem;align-items:center;}
.lef-about-img{border-radius:24px;overflow:hidden;box-shadow:0 20px 50px rgba(0,0,0,.1);position:relative;}
.lef-about-img img{width:100%;height:100%;object-fit:cover;display:block;min-height:350px;}

/* Badge ruban "Depuis 2013" — bandeau en haut à droite de la photo */
.lef-about-img-badge{
  position:absolute;top:1.2rem;right:-2rem;
  background:#3AA6B9;color:#fff;
  padding:.4rem 3rem;
  font-size:.75em;font-weight:700;letter-spacing:.05em;
  transform:rotate(45deg);
  box-shadow:0 3px 10px rgba(0,0,0,.15);
  z-index:2;
}
.lef-about-img-badge strong{color:#fff;}

.lef-about-text h3{font-size:1.5rem;font-weight:800;line-height:1.3;margin-bottom:1rem;}
.lef-about-text h3 .hl{color:#3AA6B9;}
.lef-about-text p{color:#636E72;line-height:1.8;margin-bottom:1.5rem;}
.lef-about-text p strong{color:#2D3436;}
.lef-about-link{
  display:inline-flex;align-items:center;gap:.5rem;
  padding:.85rem 2rem;background:#3AA6B9;color:#fff !important;
  border-radius:50px;font-weight:600;transition:all .3s;
  box-shadow:0 4px 15px rgba(58,166,185,.3);
}
.lef-about-link:hover{background:#2997AA;transform:translateY(-2px);color:#fff !important;}

/* ========== CONTACT ========== */
.lef-contact{
  text-align:center;
  background:linear-gradient(160deg,#EEF8F9 0%,#E8F6F8 40%,#FFF5F5 70%,#FFF0E8 100%);
}
.lef-contact-card{max-width:750px;margin:0 auto;background:#fff;border-radius:28px;padding:3.5rem 3rem;border:2px solid #CAE6E8;box-shadow:0 20px 60px rgba(58,166,185,.1);}
.lef-contact-card p{color:#636E72;line-height:1.7;max-width:480px;margin:0 auto 2rem;}
.lef-contact-info{display:flex;gap:2rem;justify-content:center;flex-wrap:wrap;padding-top:1.5rem;border-top:2px solid #CAE6E8;}
.lef-contact-item{display:flex;align-items:center;gap:.5rem;color:#636E72;}
.lef-contact-icon{width:38px;height:38px;background:#EEF8F9;border-radius:10px;display:flex;align-items:center;justify-content:center;}
.lef-contact-item a{color:#2997AA;font-weight:600;transition:color .3s;}
.lef-contact-item a:hover{color:#FF6B6B;}

/* ========== FOOTER ========== */
.lef-footer{background:#2D3436;color:#fff;padding:4rem 4rem 2rem;}
.lef-footer-top{display:grid;grid-template-columns:2fr 1fr 1fr 1fr;gap:3rem;max-width:1300px;margin:0 auto 3rem;}
.lef-footer-logo img{height:28px;filter:brightness(0) invert(1);margin-bottom:1rem;}
.lef-footer-brand p{font-size:.82em;color:rgba(255,255,255,.5);line-height:1.7;max-width:300px;}
.lef-footer-col h4{font-weight:700;margin-bottom:1rem;}
.lef-footer-col a{display:block;color:rgba(255,255,255,.5);font-size:.82em;margin-bottom:.6rem;transition:color .3s;}
.lef-footer-col a:hover{color:#3AA6B9;}
.lef-footer-bottom{max-width:1300px;margin:0 auto;padding-top:1.5rem;border-top:1px solid rgba(255,255,255,.08);display:flex;justify-content:space-between;align-items:center;flex-wrap:wrap;gap:1rem;}
.lef-footer-bottom p{font-size:.72em;color:rgba(255,255,255,.3);}
.lef-footer-bottom a{color:rgba(255,255,255,.5);}
.lef-footer-socials{display:flex;gap:.6rem;}
.lef-footer-socials a{width:36px;height:36px;background:rgba(255,255,255,.06);border-radius:10px;display:flex;align-items:center;justify-content:center;color:rgba(255,255,255,.5);font-size:.8em;transition:all .3s;}
.lef-footer-socials a:hover{background:#3AA6B9;color:#fff;}

/* ========== ANIMATIONS ========== */
.lef-reveal{opacity:0;transform:translateY(25px);transition:all .7s cubic-bezier(.25,.46,.45,.94);}
.lef-reveal.lef-visible{opacity:1;transform:translateY(0);}
.lef-rd1{transition-delay:.1s}.lef-rd2{transition-delay:.2s}.lef-rd3{transition-delay:.3s}
.lef-rd4{transition-delay:.4s}.lef-rd5{transition-delay:.5s}
.lef-no-io .lef-reveal{opacity:1;transform:none;}

/* ========== RESPONSIVE TABLETTE ========== */
@media(max-width:1100px){
  .lef-section{padding:4rem 2rem;}
  .lef-cat-grid{grid-template-columns:repeat(3,1fr);}
  .lef-steps{grid-template-columns:repeat(3,1fr);gap:2rem;}
  .lef-steps::before{display:none;}
  .lef-footer-top{grid-template-columns:1fr 1fr;}
  .lef-about-inner{grid-template-columns:1fr;gap:2rem;}
  .lef-about-img img{min-height:280px;}
}

/* ========== RESPONSIVE MOBILE ========== */
@media(max-width:768px){
  /* 🔧 TITRE HERO MOBILE */
  .lef-hero h1{font-size:2.8rem;}
  /* 🔧 TAILLE "ICI" MOBILE */
  .lef-hero h1 .accent{font-size:1.4em;}
  .lef-hero-sub{font-size:.9em;padding:0 .5rem;}
  .lef-hero-content{padding:0 1rem;max-width:100%;}
  /* 🔧 LOGO MOBILE */
  .lef-hero-logo img{height:80px;}
  .lef-hero-tagline{font-size:.52em;letter-spacing:.1em;padding:0 .5rem;}
  /* 🔧 TITRES SECTIONS MOBILE */
  .lef-stitle{font-size:1.6rem;}
  .lef-cat-grid{grid-template-columns:repeat(2,1fr);}
  .lef-steps{grid-template-columns:1fr 1fr;max-width:420px;margin:0 auto;}
  .lef-trust{padding:2rem 1.5rem;}
  .lef-trust-inner{flex-direction:column;align-items:flex-start;gap:1rem;padding-left:1rem;}
  .lef-footer-top{grid-template-columns:1fr;}
  .lef-contact-card{padding:2.5rem 1.5rem;}
  .lef-about-inner{gap:1.5rem;}
  .lef-about-text h3{text-align:center;}
  .lef-hero-slider-wrap{max-width:100%;}
}

/* ========== RESPONSIVE PETIT MOBILE ========== */
@media(max-width:500px){
  .lef-cat-grid{grid-template-columns:repeat(2,1fr);gap:.8rem;}
  .lef-cat-card-img{height:120px;}
  .lef-steps{grid-template-columns:1fr;max-width:280px;}
  /* 🔧 TITRE HERO PETIT MOBILE */
  .lef-hero h1{font-size:2.2rem;}
  .lef-hero h1 .accent{font-size:1.3em;}
  .lef-stitle{font-size:1.4rem;}
}