/* Site footer aligned with alimnee.com, shared by the pages served by the backend (calendar, Pack 3 niveaux).
   Self-contained: its own tokens and font, so any page can load it next to its own stylesheet. */
@import url('https://fonts.googleapis.com/css2?family=Montserrat:wght@400;500;600;700;800&display=swap');

.site-footer{
  --sf-violet:#692C81;
  --sf-violet-dark:#4D287E;
  --sf-font:'Montserrat',system-ui,sans-serif;
  --sf-column:1140px;
  margin-top:48px;background:var(--sf-violet);color:#fff;
  padding:clamp(40px,5vw,50px) clamp(16px,3vw,32px) clamp(48px,6vw,56px);
  font-family:var(--sf-font);box-sizing:border-box;
}
.site-footer *{box-sizing:border-box;margin:0;padding:0}
.site-footer-inner{width:100%;max-width:var(--sf-column);margin:0 auto}
.site-footer-top{
  display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:32px 40px;
  align-items:start;margin-bottom:clamp(36px,5vw,48px);
}
.site-footer-cta h3{
  font-family:var(--sf-font);font-style:italic;font-weight:800;text-transform:uppercase;
  font-size:clamp(1.75rem,3.2vw,2.35rem);line-height:1.05;letter-spacing:.01em;
  /* Solid white: the outlined violet-on-violet version was hard to read (Oualid, 30/10/2026). */
  color:#fff;
}
.site-footer-btn{
  display:inline-block;margin-top:24px;padding:14px 22px;border-radius:4px;
  background:#fff;color:var(--sf-violet);text-decoration:none;
  font-family:var(--sf-font);font-weight:700;font-size:.95rem;
  transition:transform .18s ease, box-shadow .18s ease;
}
.site-footer-btn:hover{transform:translateY(-1px);box-shadow:0 6px 18px rgba(0,0,0,.18)}
.site-footer-top-right{
  display:flex;align-items:flex-start;justify-content:flex-end;gap:24px;
}
.site-footer-logo-mobile{display:none}
.site-footer-social{display:flex;align-items:center;gap:20px}
.site-footer-social a{
  display:inline-flex;color:#fff;text-decoration:none;transition:opacity .18s;
}
.site-footer-social a:hover{opacity:.82}
.site-footer-social svg{width:30px;height:30px;fill:currentColor}
.site-footer-nav{
  display:grid;grid-template-columns:minmax(0,2fr) repeat(3,minmax(0,1fr));gap:28px 32px;
  align-items:start;
}
.site-footer-brand{align-self:end;padding-bottom:4px}
.site-footer-brand img,.site-footer-logo-mobile img{display:block;width:147px;height:auto}
.site-footer-col h4{
  font-family:var(--sf-font);font-size:1.125rem;font-weight:700;line-height:1.4;
  margin-bottom:4px;color:#fff;
}
.site-footer-col ul{list-style:none}
.site-footer-col li{margin:0}
.site-footer-col a{
  display:inline-block;padding:8px 0;color:#fff;text-decoration:none;
  font-size:1.05rem;line-height:1.35;opacity:.96;transition:opacity .18s;
}
.site-footer-col a:hover{opacity:.75;text-decoration:underline}
.site-footer-col a[aria-current="page"]{font-weight:700}
.site-footer-col button{
  display:inline-block;padding:8px 0;color:#fff;background:none;border:0;cursor:pointer;
  font:inherit;font-size:1.05rem;line-height:1.35;opacity:.96;transition:opacity .18s;
}
.site-footer-col button:hover{opacity:.75;text-decoration:underline}

@media (max-width:1024px){
  .site-footer-top{grid-template-columns:1fr}
  .site-footer-top-right{justify-content:space-between}
  .site-footer-logo-mobile{display:block}
  .site-footer-brand{display:none}
  .site-footer-nav{grid-template-columns:repeat(3,minmax(0,1fr))}
}
@media (max-width:767px){
  .site-footer-nav{grid-template-columns:1fr;gap:24px}
  .site-footer-social svg{width:26px;height:26px}
  .site-footer-social{gap:10px}
}
