/* ============================================================
   LOCATION EN FÊTE — CSS PAGE CONTACT
   Fichier : lef-contact.css (thème enfant)
   ============================================================ */

.lef-ct *{margin:0;padding:0;box-sizing:border-box;}
.lef-ct{overflow-x:hidden;font-family:'Poppins',sans-serif;color:#2D3436;}
.lef-ct a{text-decoration:none;transition:all .3s;}

/* ========== HERO CONTACT ========== */
.lef-ct-hero{
  position:relative;padding:8rem 2rem 6rem;text-align:center;overflow:hidden;
  background:linear-gradient(135deg,#3AA6B9 0%,#2997AA 50%,#1e6d7a 100%);
}
.lef-ct-hero::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.05'%3E%3Ccircle cx='30' cy='30' r='3'/%3E%3C/g%3E%3C/g%3E%3C/svg%3E");
}
/* Formes rondes décoratives */
.lef-ct-hero-shape{position:absolute;border-radius:50%;pointer-events:none;}
.lef-ct-hero-s1{width:300px;height:300px;background:radial-gradient(circle at 38% 32%,rgba(255,255,255,.08),transparent 65%);top:-80px;right:-60px;}
.lef-ct-hero-s2{width:200px;height:200px;background:radial-gradient(circle at 38% 32%,rgba(255,107,107,.1),transparent 65%);bottom:-40px;left:-30px;}
.lef-ct-hero-s3{width:120px;height:120px;background:radial-gradient(circle at 38% 32%,rgba(253,203,110,.1),transparent 65%);top:30%;left:10%;}

.lef-ct-hero-content{position:relative;z-index:2;max-width:700px;margin:0 auto;}
.lef-ct-hero .lef-ct-badge{
  display:inline-flex;align-items:center;gap:.4rem;
  padding:.4rem 1.2rem;background:rgba(255,255,255,.12);backdrop-filter:blur(6px);
  border:1px solid rgba(255,255,255,.18);border-radius:50px;
  font-size:.8em;font-weight:600;color:#fff;margin-bottom:1.2rem;
}
.lef-ct-hero h1{
  font-size:clamp(2rem,5vw,3.2rem);font-weight:800;color:#fff;
  line-height:1.2;margin-bottom:1rem;
}
.lef-ct-hero h1 span{color:#FFEAA7;}
.lef-ct-hero p{
  font-size:1.05em;color:rgba(255,255,255,.8);line-height:1.7;
  max-width:550px;margin:0 auto;
}

/* ========== CARTES CONTACT ========== */
.lef-ct-cards{
  padding:4rem 2rem;
  background:linear-gradient(180deg,#f0f8f9 0%,#fff 100%);
}
.lef-ct-cards-grid{
  max-width:1100px;margin:0 auto;
  display:grid;grid-template-columns:repeat(3,1fr);gap:1.5rem;
  margin-top:-2rem;position:relative;z-index:3;
}
.lef-ct-card{
  background:#fff;border-radius:20px;padding:2.5rem 2rem;text-align:center;
  border:2px solid #CAE6E8;transition:all .4s;
  box-shadow:0 4px 20px rgba(0,0,0,.04);
}
.lef-ct-card:hover{
  transform:translateY(-6px);
  box-shadow:0 15px 40px rgba(58,166,185,.12);
  border-color:#3AA6B9;
}
.lef-ct-card-icon{
  width:65px;height:65px;margin:0 auto 1.2rem;
  background:linear-gradient(135deg,#EEF8F9,#E0F2F4);
  border-radius:18px;display:flex;align-items:center;justify-content:center;
  transition:all .4s;
}
.lef-ct-card:hover .lef-ct-card-icon{
  background:linear-gradient(135deg,#3AA6B9,#2997AA);
  transform:scale(1.08);
}
.lef-ct-card-icon svg{
  width:26px;height:26px;fill:none;stroke:#3AA6B9;stroke-width:1.8;
  stroke-linecap:round;stroke-linejoin:round;transition:all .4s;
}
.lef-ct-card:hover .lef-ct-card-icon svg{stroke:#fff;}
.lef-ct-card h3{font-size:1em;font-weight:700;margin-bottom:.5rem;}
.lef-ct-card p{font-size:.88em;color:#636E72;line-height:1.6;margin-bottom:.8rem;}
.lef-ct-card a{color:#3AA6B9;font-weight:600;font-size:.9em;}
.lef-ct-card a:hover{color:#FF6B6B;}

/* ========== SECTION MAP + INFOS ========== */
.lef-ct-map-section{
  padding:4rem 2rem 5rem;background:#fff;
}
.lef-ct-map-inner{
  max-width:1100px;margin:0 auto;
  display:grid;grid-template-columns:1fr 1fr;gap:3rem;align-items:stretch;
}

/* Carte Google Maps */
.lef-ct-map-wrap{
  border-radius:20px;overflow:hidden;
  border:2px solid #CAE6E8;
  box-shadow:0 10px 35px rgba(0,0,0,.06);
  min-height:400px;
}
.lef-ct-map-wrap iframe{
  width:100%;height:100%;min-height:400px;border:0;display:block;
}

/* Infos pratiques */
.lef-ct-infos{
  display:flex;flex-direction:column;justify-content:center;
}
.lef-ct-infos-badge{
  display:inline-flex;align-items:center;gap:.4rem;
  padding:.4rem 1.1rem;background:#fff;border:2px solid #CAE6E8;border-radius:50px;
  font-size:.78em;font-weight:600;color:#2997AA;text-transform:uppercase;
  letter-spacing:.06em;margin-bottom:1rem;width:fit-content;
}
.lef-ct-infos h2{
  font-size:clamp(1.6rem,3vw,2.2rem);font-weight:800;margin-bottom:.5rem;line-height:1.25;
}
.lef-ct-infos h2 span{color:#3AA6B9;}
.lef-ct-infos-desc{color:#636E72;line-height:1.7;margin-bottom:2rem;font-size:.92em;}

.lef-ct-info-row{
  display:flex;align-items:flex-start;gap:1rem;margin-bottom:1.5rem;
}
.lef-ct-info-icon{
  width:44px;height:44px;min-width:44px;
  background:linear-gradient(135deg,#EEF8F9,#E0F2F4);border-radius:12px;
  display:flex;align-items:center;justify-content:center;
}
.lef-ct-info-icon svg{
  width:20px;height:20px;fill:none;stroke:#3AA6B9;stroke-width:1.8;
  stroke-linecap:round;stroke-linejoin:round;
}
.lef-ct-info-content strong{display:block;font-size:.9em;margin-bottom:.15rem;color:#2D3436;}
.lef-ct-info-content span{font-size:.82em;color:#636E72;}
.lef-ct-info-content a{color:#3AA6B9;font-weight:600;font-size:.85em;}
.lef-ct-info-content a:hover{color:#FF6B6B;}

/* Bouton CTA */
.lef-ct-cta-btn{
  display:inline-flex;align-items:center;gap:.5rem;
  padding:.85rem 2.2rem;background:#FF6B6B;color:#fff !important;
  border-radius:50px;font-weight:700;font-size:.9em;
  transition:all .3s;box-shadow:0 6px 25px rgba(255,107,107,.35);
  margin-top:1rem;
}
.lef-ct-cta-btn:hover{
  background:#FF5959;transform:translateY(-3px);color:#fff !important;
  box-shadow:0 10px 30px rgba(255,107,107,.4);
}

/* ========== SECTION ZONES DE LIVRAISON ========== */
.lef-ct-zones{
  padding:4rem 2rem 5rem;
  background:linear-gradient(180deg,#f0f8f9 0%,#fff 100%);
  text-align:center;
}
.lef-ct-zones-header{margin-bottom:2.5rem;}
.lef-ct-zones-header h2{
  font-size:clamp(1.6rem,3vw,2.2rem);font-weight:800;margin-bottom:.5rem;
}
.lef-ct-zones-header h2 span{color:#3AA6B9;}
.lef-ct-zones-header p{color:#636E72;max-width:550px;margin:0 auto;font-size:.92em;line-height:1.7;}

.lef-ct-zones-grid{
  max-width:800px;margin:0 auto;
  display:grid;grid-template-columns:repeat(3,1fr);gap:1.2rem;
}
.lef-ct-zone{
  background:#fff;border-radius:16px;padding:2rem 1.5rem;
  border:2px solid #CAE6E8;transition:all .4s;
}
.lef-ct-zone:hover{
  border-color:#3AA6B9;transform:translateY(-4px);
  box-shadow:0 10px 30px rgba(58,166,185,.1);
}
.lef-ct-zone-flag{font-size:2.5em;margin-bottom:.8rem;display:block;}
.lef-ct-zone h3{font-size:1em;font-weight:700;margin-bottom:.3rem;}
.lef-ct-zone p{font-size:.8em;color:#636E72;line-height:1.5;}

/* ========== SECTION FAQ RAPIDE ========== */
.lef-ct-faq{
  padding:4rem 2rem 5rem;background:#fff;
}
.lef-ct-faq-inner{max-width:800px;margin:0 auto;}
.lef-ct-faq-header{text-align:center;margin-bottom:2.5rem;}
.lef-ct-faq-header h2{font-size:clamp(1.6rem,3vw,2.2rem);font-weight:800;margin-bottom:.5rem;}
.lef-ct-faq-header h2 span{color:#3AA6B9;}

.lef-ct-faq-item{
  background:#f9fcfd;border:2px solid #CAE6E8;border-radius:14px;
  padding:1.2rem 1.5rem;margin-bottom:.8rem;transition:all .3s;
}
.lef-ct-faq-item:hover{border-color:#3AA6B9;}
.lef-ct-faq-q{font-weight:700;font-size:.92em;margin-bottom:.4rem;color:#2D3436;}
.lef-ct-faq-a{font-size:.85em;color:#636E72;line-height:1.6;}

/* ========== RESPONSIVE ========== */
@media(max-width:900px){
  .lef-ct-map-inner{grid-template-columns:1fr;}
  .lef-ct-map-wrap{min-height:300px;}
}
@media(max-width:768px){
  .lef-ct-cards-grid{grid-template-columns:1fr;max-width:400px;}
  .lef-ct-zones-grid{grid-template-columns:1fr;max-width:300px;}
  .lef-ct-hero{padding:6rem 1.5rem 4rem;}
  .lef-ct-cards{padding:3rem 1.5rem;}
  .lef-ct-map-section{padding:3rem 1.5rem;}
}