/* =====================================================================
   L'OLIVIER FORGÉ — CSS SECTION : FOOTER (v2 — reprise de l'existant)
   Reprend l'architecture du footer en ligne (Coordonnées · L'Atelier ·
   Liens utiles + logos partenaires), modernisée et plus lisible.
   À ajouter à la suite de olf-global.css.

   Ce CSS stylise À LA FOIS :
   • la version HTML personnalisée (classes .olf-footer__*), et
   • les widgets natifs Elementor (overrides en fin de fichier), si vous
     préférez câbler les menus / réseaux via les widgets Elementor.
   ===================================================================== */

.olf-footer{ background:var(--olf-char); color:rgba(255,255,255,.62); }
.olf-footer__inner{ padding:78px 46px 0; }

/* ---- Bandeau principal : marque + 3 rubriques ---- */
.olf-footer__top{
  display:grid; grid-template-columns:1.5fr 1.1fr 1fr 1.2fr; gap:54px;
  padding-bottom:54px; border-bottom:1px solid rgba(255,255,255,.08);
}

/* Marque */
.olf-footer__logo{
  font-family:'Cormorant Garamond',Georgia,serif; font-style:italic;
  font-size:34px; color:#fff; line-height:1;
}
.olf-footer__tag{
  font-family:'Jost',sans-serif; font-weight:400; letter-spacing:.22em;
  text-transform:uppercase; font-size:9px; color:rgba(255,255,255,.42);
  margin-top:12px;
}
.olf-footer__brand-note{
  font-family:'Jost',sans-serif; font-weight:300; font-size:13px; line-height:1.7;
  color:rgba(255,255,255,.5); margin-top:20px; max-width:300px;
}

/* En-têtes de rubrique */
.olf-footer__h{
  font-family:'Jost',sans-serif; font-weight:400; letter-spacing:.2em;
  text-transform:uppercase; font-size:10px; color:var(--olf-gold);
  margin:0 0 20px; opacity:.95;
}

/* Listes de liens */
.olf-footer__list{ list-style:none; margin:0; padding:0; }
.olf-footer__list li{ margin-bottom:13px; }
.olf-footer__list a{
  font-family:'Jost',sans-serif; font-weight:300; font-size:14px;
  letter-spacing:.02em; color:rgba(255,255,255,.66);
  text-decoration:none; transition:color .35s ease, padding-left .35s ease;
}
.olf-footer__list a:hover{ color:#fff; padding-left:4px; }

/* Coordonnées : ligne icône + texte */
.olf-footer__coords{ list-style:none; margin:0; padding:0; }
.olf-footer__coords li{
  display:flex; align-items:flex-start; gap:12px; margin-bottom:16px;
  font-family:'Jost',sans-serif; font-weight:300; font-size:14px;
  line-height:1.6; color:rgba(255,255,255,.66);
}
.olf-footer__coords svg{ width:16px; height:16px; flex:0 0 auto; margin-top:2px; color:var(--olf-gold); }
.olf-footer__coords a{ color:rgba(255,255,255,.66); text-decoration:none; transition:color .35s ease; }
.olf-footer__coords a:hover{ color:#fff; }

/* Réseaux sociaux */
.olf-footer__social{ display:flex; align-items:center; gap:12px; margin-top:26px; }
.olf-footer__social a{
  display:inline-flex; align-items:center; justify-content:center;
  width:40px; height:40px; border-radius:50%;
  border:1px solid rgba(255,255,255,.16); color:rgba(255,255,255,.72);
  transition:border-color .4s ease, color .4s ease, background .4s ease, transform .4s ease;
}
.olf-footer__social a:hover{ border-color:var(--olf-gold); color:#fff; background:rgba(176,141,87,.1); transform:translateY(-2px); }
.olf-footer__social svg{ width:17px; height:17px; }

/* ---- Bande logos partenaires / labels ---- */
.olf-footer__partners{
  display:flex; flex-direction:column; align-items:center; gap:26px;
  padding:46px 46px 44px;
}
.olf-footer__partners-h{
  font-family:'Jost',sans-serif; font-weight:400; letter-spacing:.26em;
  text-transform:uppercase; font-size:9px; color:rgba(255,255,255,.4);
}
.olf-footer__logos{
  display:flex; flex-wrap:wrap; align-items:center; justify-content:center; gap:46px;
}
.olf-footer__logos img{
  height:62px; width:auto; display:block;
  opacity:.6; filter:grayscale(1) brightness(0) invert(1); /* logos blancs uniformes */
  transition:opacity .4s ease;
}
.olf-footer__logos img:hover{ opacity:1; }

/* ---- Bas de page ---- */
.olf-footer__bottom{
  display:flex; align-items:center; justify-content:space-between; gap:20px;
  padding:24px 46px; border-top:1px solid rgba(255,255,255,.08); flex-wrap:wrap;
}
.olf-footer__copy,
.olf-footer__bottom-note{
  font-family:'Jost',sans-serif; font-weight:300; font-size:11.5px;
  letter-spacing:.04em; color:rgba(255,255,255,.4);
}

/* ------------------------------------------------------------------ */
/*  TABLETTE                                                           */
/* ------------------------------------------------------------------ */
@media (max-width:1024px){
  .olf-footer__inner{ padding:62px 28px 0; }
  .olf-footer__top{ grid-template-columns:1fr 1fr; gap:40px 32px; }
  .olf-footer__brand{ grid-column:1 / -1; }
  .olf-footer__partners{ padding:40px 28px; }
  .olf-footer__logos{ gap:36px; }
  .olf-footer__bottom{ padding:22px 28px; }
}

/* ------------------------------------------------------------------ */
/*  MOBILE                                                             */
/* ------------------------------------------------------------------ */
@media (max-width:767px){
  .olf-footer__inner{ padding:50px 24px 0; }
  .olf-footer__top{ grid-template-columns:1fr; gap:34px; padding-bottom:40px; text-align:center; }
  .olf-footer__brand-note{ margin-left:auto; margin-right:auto; }
  .olf-footer__social{ justify-content:center; }
  .olf-footer__coords li{ justify-content:center; }
  .olf-footer__logos{ gap:30px; }
  .olf-footer__logos img{ height:52px; }
  .olf-footer__bottom{ flex-direction:column; align-items:center; text-align:center; gap:10px; padding:22px 24px; }
}

/* ==================================================================== */
/*  OPTION — OVERRIDES POUR WIDGETS NATIFS ELEMENTOR                     */
/*  Ajoutez la classe indiquée dans « Avancé > Classes CSS » du widget.  */
/* ==================================================================== */

/* Widget « Menu de navigation » → classe : olf-foot-menu
   (rubriques L'Atelier et Liens utiles) */
.olf-foot-menu .elementor-nav-menu{ display:flex; flex-direction:column; gap:13px; }
.olf-foot-menu .elementor-nav-menu .elementor-item{
  font-family:'Jost',sans-serif !important; font-weight:300 !important;
  font-size:14px !important; letter-spacing:.02em !important;
  color:rgba(255,255,255,.66) !important; padding:0 !important;
  background:transparent !important; transition:color .35s ease, padding-left .35s ease;
}
.olf-foot-menu .elementor-nav-menu .elementor-item:hover{ color:#fff !important; padding-left:4px !important; }

/* Widget « Icônes sociales » → classe : olf-foot-social
   (Facebook, Instagram, LinkedIn, Pinterest) */
.olf-foot-social .elementor-social-icon{
  background:transparent !important;
  border:1px solid rgba(255,255,255,.16) !important;
  width:40px !important; height:40px !important;
  transition:border-color .4s ease, background .4s ease, transform .4s ease;
}
.olf-foot-social .elementor-social-icon i,
.olf-foot-social .elementor-social-icon svg{ color:rgba(255,255,255,.72) !important; fill:rgba(255,255,255,.72) !important; }
.olf-foot-social .elementor-social-icon:hover{ border-color:var(--olf-gold) !important; background:rgba(176,141,87,.1) !important; transform:translateY(-2px); }
.olf-foot-social .elementor-social-icon:hover i,
.olf-foot-social .elementor-social-icon:hover svg{ color:#fff !important; fill:#fff !important; }

/* Widget « Image » des logos partenaires → classe : olf-foot-partner */
.olf-foot-partner img{
  filter:grayscale(1) brightness(0) invert(1); opacity:.6; transition:opacity .4s ease;
}
.olf-foot-partner:hover img{ opacity:1; }
