.elementor-2000 .elementor-element.elementor-element-5b47b1e{--display:flex;--flex-direction:column;--container-widget-width:100%;--container-widget-height:initial;--container-widget-flex-grow:0;--container-widget-align-self:initial;--flex-wrap-mobile:wrap;--margin-top:72px;--margin-bottom:0px;--margin-left:0px;--margin-right:0px;--padding-top:0px;--padding-bottom:0px;--padding-left:0px;--padding-right:0px;}.elementor-2000 .elementor-element.elementor-element-30e94fb3{--display:flex;--flex-direction:column;--container-widget-width:100%;--container-widget-height:initial;--container-widget-flex-grow:0;--container-widget-align-self:initial;--flex-wrap-mobile:wrap;}/* Start custom CSS for html, class: .elementor-element-3e690f20 *//* ================================
   THÈME – scopé au FOOTER
   - Clair par défaut
   - <html data-theme="dark"> force sombre
   - Sans data-theme : suit l’OS
==================================*/
.site-footer{
  --bg: #ffffff;
  --text: #111111;
  --muted: #666666;
  --accent: #CFBF8D;
  /* remplace l'URL par ton logo PNG/SVG (monochrome conseillé) */
  --logo-src: url('https://jeremysorres.com/wp-content/uploads/2025/08/Logo-Signature-scaled.png');

  color-scheme: light;
  background: var(--bg);           /* full-bleed background */
  color: var(--text);
  width: 100%;
  border-top: 1px solid rgba(0,0,0,.12);
  transition: background 0.0s ease, color .35s ease, border-color .35s ease;
}
:root:not([data-theme]) .site-footer { /* suit l'OS */ }
@media (prefers-color-scheme: dark){
  :root:not([data-theme]) .site-footer{
    --bg:#0f0f10; --text:#eaeaea; --muted:#9b9b9b; color-scheme: dark;
  }
}
html[data-theme="dark"] .site-footer{
  --bg:#0f0f10; --text:#eaeaea; --muted:#9b9b9b; color-scheme: dark;
  border-top-color: rgba(255,255,255,.12);
}
html[data-theme="light"] .site-footer{
  --bg:#ffffff; --text:#111111; --muted:#666666; color-scheme: light;
}

/* Container centré (mixte) : background full-bleed, contenu limité */
.footer-container{
  max-width: 1400px;               /* largeur max du contenu */
  margin-inline: auto;             /* centre le contenu */
}

/* ================================
   GRILLE & COLONNES
==================================*/
.footer-grid{
  display: grid;
  grid-template-columns: 1.1fr 1fr 1fr;
  gap: clamp(18px, 3.5vw, 36px);
  padding: clamp(28px, 5vw, 64px) clamp(16px, 6vw, 80px);
}
.f-col{ display: flex; flex-direction: column; gap: 14px; }

/* ================================
   BRANDING
==================================*/
.f-brand{ align-items: center; text-align: center; }

.brand{
  display: inline-flex; align-items: center; justify-content: center;
  color: var(--text); text-decoration: none; background: transparent !important;
  outline: none;
}
.brand:focus-visible{ outline:2px solid var(--accent); outline-offset:6px; border-radius:8px; }

.logo-mask{
  display: inline-block; position: relative;
  width: clamp(110px, 15vw, 180px);
  aspect-ratio: 1929.52 / 1081;
  background: currentColor;
  -webkit-mask-image: var(--logo-src); mask-image: var(--logo-src);
  -webkit-mask-repeat:no-repeat;      mask-repeat:no-repeat;
  -webkit-mask-position:center;       mask-position:center;
  -webkit-mask-size:contain;          mask-size:contain;
  transition: transform .35s ease, color .35s ease, filter .35s ease;
}
/* sheen doux */
.logo-mask::after{
  content:""; position:absolute; inset:0;
  background:linear-gradient(75deg, transparent 35%, rgba(255,255,255,.35) 47%, transparent 60%);
  transform:translateX(-125%); opacity:0; pointer-events:none; mix-blend-mode:screen;
  -webkit-mask-image:var(--logo-src); mask-image:var(--logo-src);
  -webkit-mask-repeat:no-repeat;      mask-repeat:no-repeat;
  -webkit-mask-position:center;       mask-position:center;
  -webkit-mask-size:contain;          mask-size:contain;
  transition: transform .7s ease, opacity .4s ease;
}
.brand:hover{ color:var(--accent); }
.brand:hover .logo-mask{
  transform: translateZ(0) scale(1.02);
  filter: drop-shadow(0 0 .6rem color-mix(in oklab, var(--accent) 55%, transparent));
}
.brand:hover .logo-mask::after{ transform: translateX(125%); opacity:.7; }

.tagline{ font-size:.95rem; color:var(--muted); margin-top:6px; }

/* ================================
   RÉSEAUX
==================================*/
.socials{ display:flex; justify-content:center; align-items:center; gap:12px; margin-top:8px; }
.socials .ico{
  width: clamp(18px, 5vw, 24px); height: clamp(18px, 5vw, 24px);
  display:inline-flex; align-items:center; justify-content:center;
  color: var(--text); text-decoration:none; border:0; padding:0; border-radius:6px;
  background: transparent !important;
  transition: transform .22s ease, filter .22s ease, color .22s ease;
}
.socials .ico svg{ width:100%; height:100%; fill:currentColor; }
.socials .ico:hover{
  color: var(--accent);
  transform: translateZ(0) scale(1.06);
  filter: drop-shadow(0 0 .4rem color-mix(in oklab, var(--accent) 55%, transparent));
}

/* ================================
   LISTES & LIENS
==================================*/
.f-heading{ font-size:1rem; font-weight:600; color: currentColor; }
.f-list{ list-style:none; margin:0; padding:0; display:grid; gap:.48rem; }
.f-list a{
  color: var(--text); text-decoration:none; position:relative; display:inline-block;
  background: transparent !important; transition: color .25s ease;
}
.f-list a::after{
  content:""; position:absolute; left:0; bottom:-2px; height:1px; width:0%;
  background: currentColor; transition: width .25s ease;
}
.f-list a:hover{ color: var(--accent); }
.f-list a:hover::after{ width:100%; }
.f-list a:focus-visible{ outline:2px solid var(--accent); outline-offset:4px; border-radius:6px; }

/* ================================
   META (barre basse)
==================================*/
.footer-meta{
  width:100%;
  text-align:center;
  padding: 16px clamp(16px, 6vw, 80px);
  color: var(--muted);
  font-size: .92rem;
  border-top: 1px dashed rgba(0,0,0,.10);
}
html[data-theme="dark"] .footer-meta{ border-top-color: rgba(255,255,255,.10); }
@supports (border-top: 1px dashed color-mix(in oklab, red 10%, white)){
  .footer-meta{
    border-top-color: color-mix(in oklab, var(--text) 10%, transparent);
  }
}

/* ================================
   RESPONSIVE
==================================*/
@media (max-width: 900px){
  .footer-grid{
    grid-template-columns: 1fr;
    text-align: center;
  }
  .f-col{ align-items: center; }
}

@media (prefers-reduced-motion: reduce){
  .logo-mask, .logo-mask::after, .socials .ico, .f-list a{ transition:none; }
}/* End custom CSS */