/* ESSIK Builder front — lignes/colonnes (réutilise essik-header/footer.css) */
.essik-bheader { width:100%; }
.essik-brow { width:100%; }
.essik-brow-inner { max-width:80rem; margin:0 auto; padding:0 1rem; display:flex; align-items:center; justify-content:space-between; gap:1rem; }
.essik-brow-topbar { background:var(--essik-dark-bg,#090B0E); color:#cbd5e1; font-size:.75rem; padding:.45rem 0; }
.essik-brow-topbar a { color:#e2e8f0; text-decoration:none; }
.essik-brow-main .essik-brow-inner { padding-top:.9rem; padding-bottom:.9rem; }
.essik-brow-bottom { border-top:1px solid var(--essik-dark-border,#1F2633); padding:.5rem 0; }
.essik-bcol { display:flex; align-items:center; gap:.9rem; flex-wrap:wrap; }
.essik-bcol-center { justify-content:center; flex:1; }
.essik-bcol-right { justify-content:flex-end; }
.essik-bcol-left { justify-content:flex-start; }
.essik-sticky-main .essik-brow-main { position:sticky; top:0; z-index:40; background:inherit; }
.essik-sticky-all { position:sticky; top:0; z-index:40; background:#fff; }
.dark .essik-sticky-all { background:#090B0E; }
.essik-top-contact { font-size:.75rem; font-weight:600; }
/* Brand footer : logo dédié + description */
.essik-bfooter .essik-footer-brand-img { max-width:180px; height:auto; }
.essik-bfooter .essik-footer-desc { display:block; font-size:.8rem; opacity:.75; margin-top:.35rem; }
/* Logos builder : principal / retina (srcset 2x) / sticky au scroll.
 * Largeurs pilotées par les variables --essik-logo-w / --essik-logo-sticky-w
 * (réglées dans la modal « Logo », 250px par défaut côté édition). */
.essik-bheader .essik-brand img { max-width:var(--essik-logo-w,56px); height:auto; }
.essik-bheader .essik-logo-sticky { display:none; max-width:var(--essik-logo-sticky-w,var(--essik-logo-w,56px)); }
.essik-bheader.is-stuck .essik-logo-sticky { display:inline-block; }
.essik-bheader.is-stuck .essik-logo-main { display:none; }
.essik-top-socials a, .essik-footer-socials a { margin-right:.5rem; font-size:.75rem; font-weight:700; }
.essik-top-text { opacity:.8; }
/* Footer builder : nombre de colonnes variable (classe sur la grille elle-même) */
.essik-bfooter .essik-footer-grid { display:grid; grid-template-columns:1fr; }
@media (min-width:768px){
  .essik-bfooter .essik-footer-grid.essik-fcols-2,
  .essik-bfooter .essik-footer-grid.essik-fcols-3,
  .essik-bfooter .essik-footer-grid.essik-fcols-4 { grid-template-columns:repeat(2,1fr); }
}
@media (min-width:1024px){
  .essik-bfooter .essik-footer-grid.essik-fcols-1 { grid-template-columns:1fr; }
  .essik-bfooter .essik-footer-grid.essik-fcols-2 { grid-template-columns:repeat(2,1fr); }
  .essik-bfooter .essik-footer-grid.essik-fcols-3 { grid-template-columns:repeat(3,1fr); }
  .essik-bfooter .essik-footer-grid.essik-fcols-4 { grid-template-columns:repeat(4,1fr); }
}
/* ============================================================
 * Footer builder — même design que le footer du thème (Theme Core).
 * Couleurs pilotées par les variables --essik-bf-* (panneau Design
 * du footer : vide = design du thème). Ne s'applique qu'au builder.
 * ============================================================ */
.essik-bfooter {
  --essik-bf-bg:#090B0E; --essik-bf-text:#cbd5e1; --essik-bf-heading:#fff;
  --essik-bf-link:#94a3b8; --essik-bf-accent:#FF5500; --essik-bf-bottom:transparent;
  background:var(--essik-bf-bg); color:var(--essik-bf-text);
  border-top:1px solid rgba(30,41,59,.8); position:relative; overflow:hidden;
}
.essik-bfooter .essik-footer-container { max-width:80rem; margin:0 auto; padding:4rem 1rem 2rem; position:relative; z-index:1; }
.essik-bfooter .essik-brow-inner { max-width:80rem; }
.essik-bfooter .essik-frow-top { border-bottom:1px solid #1e293b; padding:1rem 0; margin-bottom:2.5rem; }
.essik-bfooter .essik-footer-grid { padding-bottom:3rem; border-bottom:1px solid #1e293b; }
.essik-bfooter .essik-footer-col { min-width:0; }
.essik-bfooter .essik-footer-col > * + * { margin-top:1.25rem; }
/* Marque */
.essik-bfooter .essik-footer-logo img, .essik-bfooter .essik-footer-brand-img { max-height:44px; width:auto; }
.essik-bfooter .essik-brand-mark-light .essik-brand-name { color:var(--essik-bf-accent); font-weight:800; font-size:1.4rem; letter-spacing:.12em; }
.essik-bfooter .essik-footer-tagline { font-size:.62rem; letter-spacing:.18em; text-transform:uppercase; color:var(--essik-bf-link); }
.essik-bfooter .essik-footer-about { font-size:.875rem; line-height:1.7; max-width:24rem; margin:0; color:var(--essik-bf-link); }
.essik-bfooter .essik-footer-desc { display:block; font-size:.8rem; opacity:.75; margin-top:.35rem; }
/* Réseaux sociaux : boutons icônes SVG */
.essik-bfooter .essik-footer-socials { display:flex; flex-wrap:wrap; gap:.5rem; }
.essik-bfooter .essik-footer-socials a { display:inline-flex; align-items:center; justify-content:center; width:38px; height:38px; border:1px solid #1e293b; border-radius:9999px; background:#12161F; color:var(--essik-bf-link); text-decoration:none; }
.essik-bfooter .essik-footer-socials a:hover { border-color:var(--essik-bf-accent); color:var(--essik-bf-accent); }
.essik-bfooter .essik-footer-socials svg { display:block; }
/* Newsletter */
.essik-bfooter .essik-nl-form { display:flex; gap:.5rem; max-width:28rem; }
.essik-bfooter .essik-nl-input { flex:1; background:#12161F; border:1px solid #1e293b; border-radius:.75rem; padding:.65rem .9rem; font-size:.75rem; color:#fff; min-width:0; }
.essik-bfooter .essik-nl-input::placeholder { color:#64748b; }
.essik-bfooter .essik-nl-input:focus { outline:none; border-color:var(--essik-bf-accent); }
.essik-bfooter .essik-nl-btn { display:inline-flex; align-items:center; gap:.3rem; padding:.65rem 1rem; background:var(--essik-bf-accent); color:#fff; border:1px solid var(--essik-bf-accent); border-radius:.75rem; font-size:.75rem; font-weight:700; cursor:pointer; white-space:nowrap; }
.essik-bfooter .essik-nl-btn:hover { filter:brightness(.92); }
/* Bouton devis */
.essik-bfooter .essik-footer-quote { display:block; text-align:center; margin-top:1rem; padding:.6rem .8rem; border-radius:.6rem; background:rgba(255,85,0,.12); color:var(--essik-bf-accent); border:1px solid rgba(255,85,0,.3); font-size:.75rem; font-weight:700; text-decoration:none; }
.essik-bfooter .essik-footer-quote:hover { background:var(--essik-bf-accent); color:#fff; }
/* Barre basse */
.essik-bfooter .essik-footer-bottom { background:var(--essik-bf-bottom); padding-top:2rem; display:flex; flex-direction:column; align-items:center; gap:1rem; font-size:.75rem; color:#64748b; }
@media (min-width:640px) { .essik-bfooter .essik-footer-bottom { flex-direction:row; justify-content:space-between; } }
.essik-bfooter .essik-footer-legal-list { list-style:none; margin:0; padding:0; display:flex; flex-wrap:wrap; gap:1rem; }
/* Responsive */
@media (max-width:640px){
  .essik-bfooter .essik-footer-container { padding:2.5rem 1rem 1.5rem; }
}
.essik-bfooter .essik-frow-top { border-bottom:1px solid var(--essik-dark-border,#1F2633); padding:1rem 0; margin-bottom:1rem; }
@media (max-width:1023px){
  .essik-brow-topbar, .essik-brow-bottom { display:none; }
  .essik-brow-main .essik-bcol-center, .essik-brow-main .essik-bcol-left, .essik-brow-main .essik-bcol-right { display:none; }
}
