/* =========================================================
   FOOTER PREMIUM — Globale Esthétique
   Chargé par includes/footer.php : ne concerne QUE le footer
   et le bouton WhatsApp flottant. Préfixe .ge-footer pour ne
   jamais entrer en conflit avec les anciennes règles .footer-*.
========================================================= */
.ge-footer{
  --gf-fond:#241712;           /* chocolat actuel (var(--ink)) */
  --gf-creme:#F3EAE3;
  --gf-texte:#CBBDB3;
  --gf-doux:#9D8C82;
  --gf-rose:#E9C6CB;           /* rose pâle : petits accents */
  --gf-ligne:rgba(243,234,227,.12);
  position:relative;
  overflow:hidden;
  background:var(--gf-fond);
  color:var(--gf-texte);
  padding:58px 0 24px;
  font-size:14px;
  line-height:1.6;
}
.ge-footer .container{position:relative;z-index:1;}

/* Décoration botanique : 2 rameaux au trait, très faible opacité, sur les côtés */
.ge-footer-deco{
  position:absolute;z-index:0;pointer-events:none;
  width:230px;height:300px;opacity:.07;
  background:no-repeat center/contain url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 120 160' fill='none' stroke='%23F3EAE3' stroke-width='1.1' stroke-linecap='round'%3E%3Cpath d='M60 158C58 118 62 72 88 8'/%3E%3Cpath d='M61 128c-14-4-24-16-26-30 14 2 24 13 26 30z'/%3E%3Cpath d='M62 104c14-5 23-17 24-31-14 3-23 14-24 31z'/%3E%3Cpath d='M66 80c-13-5-21-17-21-30 13 3 21 14 21 30z'/%3E%3Cpath d='M71 58c13-6 20-18 19-31-12 4-19 15-19 31z'/%3E%3Cpath d='M78 36c-10-6-15-16-13-27 10 4 15 14 13 27z'/%3E%3C/svg%3E");
}
.ge-footer-deco-g{left:-54px;bottom:-40px;transform:rotate(-14deg);}
.ge-footer-deco-d{right:-60px;top:-50px;transform:scaleX(-1) rotate(-160deg);}

.ge-footer-grid{
  display:grid;
  grid-template-columns:minmax(0,1.35fr) minmax(0,1fr) minmax(0,1fr) minmax(0,1.3fr);
  gap:44px;
  align-items:start;
}

/* Colonne marque */
.ge-footer-logo{display:inline-block;}
.ge-footer-logo img{height:52px;width:auto;display:block;filter:brightness(0) invert(1);opacity:.93;}
.ge-footer-desc{margin:16px 0 0;max-width:280px;color:var(--gf-texte);font-size:13.5px;line-height:1.7;}
.ge-footer-insta{
  display:inline-flex;align-items:center;gap:9px;margin-top:20px;
  color:var(--gf-creme);font-size:13.5px;font-weight:500;
  padding-bottom:3px;border-bottom:1px solid rgba(233,198,203,.35);
  transition:color .2s ease,border-color .2s ease;
}
.ge-footer-insta svg{width:18px;height:18px;color:var(--gf-rose);flex:none;}
.ge-footer-insta .ge-fleche{transition:transform .2s ease;}
.ge-footer-insta:hover{color:var(--gf-rose);border-color:var(--gf-rose);}
.ge-footer-insta:hover .ge-fleche{transform:translateX(3px);}

/* Colonnes */
.ge-footer-col h4{
  margin:4px 0 20px;color:var(--gf-creme);
  font-family:var(--font-body,'DM Sans',sans-serif);
  font-size:12px;font-weight:600;letter-spacing:.2em;text-transform:uppercase;
  position:relative;padding-bottom:12px;
}
.ge-footer-col h4::after{content:"";position:absolute;left:0;bottom:0;width:26px;height:1px;background:var(--gf-rose);opacity:.8;}
.ge-footer-col ul{list-style:none;margin:0;padding:0;}
.ge-footer-col li{margin:0 0 11px;}
.ge-footer-col a,.ge-footer-col span{color:var(--gf-texte);font-size:14px;transition:color .2s ease;}
.ge-footer-col a:hover,.ge-footer-col a:focus-visible{color:var(--gf-rose);}
.ge-footer a:focus-visible{outline:2px solid var(--gf-rose);outline-offset:3px;border-radius:3px;}

/* Contact : petites icônes rose pâle */
.ge-footer-contact li{display:flex;align-items:flex-start;gap:10px;}
.ge-footer-contact svg{width:16px;height:16px;flex:none;margin-top:3px;color:var(--gf-rose);opacity:.9;}
.ge-footer-contact a,.ge-footer-contact span{overflow-wrap:anywhere;}

/* Bas du footer : copyright uniquement */
.ge-footer-bas{
  margin-top:44px;padding-top:20px;border-top:1px solid var(--gf-ligne);
  text-align:center;font-size:12.5px;color:var(--gf-doux);letter-spacing:.02em;
}

/* Tablette : marque sur toute la largeur, 3 colonnes dessous */
@media (max-width:900px){
  .ge-footer{padding:46px 0 22px;}
  .ge-footer-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:32px 24px;}
  .ge-footer-marque{grid-column:1 / -1;}
  .ge-footer-desc{max-width:420px;}
}
/* Mobile : tout s'empile ; espace final pour que WhatsApp et la barre du bas ne cachent rien */
@media (max-width:600px){
  .ge-footer{padding:40px 0 calc(96px + env(safe-area-inset-bottom));}
  .ge-footer-grid{grid-template-columns:1fr;gap:30px;}
  .ge-footer-col h4{margin-bottom:14px;}
  .ge-footer-col li{margin-bottom:9px;}
  .ge-footer-bas{margin-top:32px;}
  .ge-footer-deco{width:170px;height:220px;opacity:.05;}
}

/* =========================================================
   Bouton WhatsApp flottant (indépendant du footer)
   Règle finale unique : chargée après les autres feuilles,
   elle remplace les anciennes valeurs empilées.
========================================================= */
.whatsapp-float{
  width:56px !important;height:56px !important;
  right:24px !important;bottom:24px !important;
  border-radius:50% !important;background:#25D366 !important;
  display:flex !important;align-items:center;justify-content:center;
  box-shadow:0 8px 22px rgba(37,211,102,.30),0 2px 6px rgba(0,0,0,.12) !important;
  transition:transform .22s ease,box-shadow .22s ease !important;
}
.whatsapp-float svg{width:28px !important;height:28px !important;}
.whatsapp-float:hover{transform:translateY(-3px) scale(1.04) !important;box-shadow:0 12px 28px rgba(37,211,102,.38),0 3px 8px rgba(0,0,0,.14) !important;}
.whatsapp-float:active{transform:scale(.96) !important;}
.whatsapp-float:focus-visible{outline:3px solid #fff;outline-offset:3px;}
@media (max-width:900px){
  /* au-dessus de la barre de navigation mobile, avec marge de sécurité */
  .whatsapp-float{width:52px !important;height:52px !important;right:16px !important;bottom:calc(86px + env(safe-area-inset-bottom)) !important;}
  .whatsapp-float svg{width:26px !important;height:26px !important;}
}
@media (prefers-reduced-motion:reduce){
  .whatsapp-float,.ge-footer-insta,.ge-footer-insta .ge-fleche{transition:none !important;}
  .whatsapp-float:hover{transform:none !important;}
}
