/* SOLEIL footer – five columns, theme tokens and responsive layout. */
.soleil-site-footer { border-top:1px solid var(--soleil-color-border); background:var(--soleil-footer-background,#fafafa); color:var(--soleil-color-muted); font-family:var(--soleil-font-family); font-size:var(--soleil-footer-text-size,12px); line-height:1.65; }
.soleil-site-footer__inner { padding-top:62px; padding-bottom:26px; }
.soleil-site-footer__main { display:grid; grid-template-columns:minmax(205px,1.5fr) minmax(105px,.85fr) minmax(115px,.9fr) minmax(110px,.85fr) minmax(260px,1.55fr); gap:38px clamp(22px,3vw,52px); padding-bottom:58px; }
.soleil-site-footer__column { min-width:0; }
.soleil-site-footer__logo-link { display:inline-flex; align-items:center; max-width:100%; color:var(--soleil-color-text); text-decoration:none; }
.soleil-site-footer__logo { display:block; width:var(--soleil-footer-logo-width,150px); max-width:100%; height:auto; object-fit:contain; }
.soleil-site-footer__wordmark { color:var(--soleil-color-text); font-size:26px; font-weight:500; letter-spacing:.17em; line-height:1.25; }
.soleil-site-footer__brand-text { max-width:300px; margin:20px 0 22px; font-size:inherit; line-height:1.65; }
.soleil-site-footer__socials { display:flex; gap:10px; }
.soleil-site-footer__socials a { display:inline-flex; width:40px; height:40px; align-items:center; justify-content:center; border:1px solid var(--soleil-color-border); border-radius:50%; background:var(--soleil-color-surface); color:var(--soleil-color-muted); transition:border-color .2s ease,color .2s ease; }
.soleil-site-footer__socials a:is(:hover,:focus-visible) { color:var(--soleil-color-accent); border-color:var(--soleil-color-accent); }
.soleil-site-footer__title { margin:0 0 20px; color:var(--soleil-color-text); font-size:var(--soleil-footer-title-size,13px); font-weight:700; line-height:1.5; text-transform:uppercase; letter-spacing:.015em; }
.soleil-site-footer__menu,.soleil-site-footer__bottom-menu { margin:0; padding:0; list-style:none; }
.soleil-site-footer__menu { display:flex; flex-direction:column; gap:14px; }
.soleil-site-footer__menu li,.soleil-site-footer__bottom-menu li { margin:0; padding:0; list-style:none; }
.soleil-site-footer__menu a,.soleil-site-footer__bottom-menu a { display:inline-block; color:var(--soleil-color-muted); text-decoration:none; transition:color .2s ease; }
.soleil-site-footer__menu a:is(:hover,:focus-visible),.soleil-site-footer__bottom-menu a:is(:hover,:focus-visible) { color:var(--soleil-color-accent); }
.soleil-site-footer__newsletter-text { margin:-5px 0 17px; font-size:inherit; line-height:1.6; }
.soleil-footer-newsletter { margin:0; }
.soleil-footer-newsletter__field { display:flex; align-items:center; min-width:0; height:var(--soleil-footer-newsletter-input-height,40px); padding:3px 5px 3px 20px; border:1px solid var(--soleil-color-border); border-radius:999px; background:var(--soleil-color-surface); transition:border-color .2s ease; }
.soleil-footer-newsletter__field:focus-within { border-color:var(--soleil-color-accent); }
.soleil-footer-newsletter__field input[type="email"] { flex:1; min-width:0; width:100%; height:100%; padding:0; margin:0; border:0; outline:none; box-shadow:none; background:transparent; color:var(--soleil-color-text); font:inherit; font-size:12px; }
.soleil-footer-newsletter__field input[type="email"]:focus { border:0; outline:none; box-shadow:none; }
.soleil-footer-newsletter__field input[type="email"]::placeholder { color:var(--soleil-color-muted); opacity:.78; }
.soleil-footer-newsletter__field button { display:flex; flex:0 0 calc(var(--soleil-footer-newsletter-input-height,40px) - 8px); align-items:center; justify-content:center; width:calc(var(--soleil-footer-newsletter-input-height,40px) - 8px); height:calc(var(--soleil-footer-newsletter-input-height,40px) - 8px); padding:0; border:1px solid var(--soleil-color-border); border-radius:50%; outline-offset:3px; background:#fff; color:var(--soleil-color-accent); cursor:pointer; transition:background .2s ease,color .2s ease,border-color .2s ease; }
.soleil-footer-newsletter__field button:is(:hover,:focus-visible) { background:var(--soleil-color-accent); border-color:var(--soleil-color-accent); color:#fff; }
.soleil-footer-newsletter__field button:disabled { opacity:.6; cursor:progress; }
.soleil-footer-newsletter__consent { display:flex; align-items:center; gap:9px; margin-top:14px; font-size:var(--soleil-footer-small-size,9px); line-height:1.6; cursor:pointer; }
.soleil-footer-newsletter__consent input { flex:0 0 auto; width:14px; height:14px; margin:0; accent-color:var(--soleil-color-accent); cursor:pointer; }
.soleil-footer-newsletter__honeypot { position:absolute!important; left:-9999px!important; width:1px; height:1px; overflow:hidden; }
.soleil-footer-newsletter__status { margin:9px 0 0; color:var(--soleil-color-accent); font-size:12px; line-height:1.5; }
.soleil-footer-newsletter__status:empty { display:none; }
.soleil-footer-newsletter__success { margin-top:20px; padding:12px 0 12px 20px; border-left:3px solid var(--soleil-color-accent); }
.soleil-footer-newsletter__success[hidden] { display:none; }
.soleil-footer-newsletter__success strong { display:block; margin-bottom:8px; color:var(--soleil-color-text); font-size:clamp(17px,1.25vw,20px); font-weight:700; line-height:1.3; }
.soleil-footer-newsletter__success p { margin:0; color:var(--soleil-color-muted); font-size:var(--soleil-footer-text-size,12px); line-height:1.6; }
.soleil-site-footer__bottom { display:flex; align-items:center; justify-content:space-between; gap:20px; padding-top:28px; border-top:1px solid var(--soleil-color-border); font-size:var(--soleil-footer-copyright-size,13px); }
.soleil-site-footer__copyright { margin:0; font-size:inherit; }
.soleil-site-footer__bottom-menu { display:flex; flex-wrap:wrap; gap:10px 20px; }
.soleil-site-footer__bottom-menu a { font-size:var(--soleil-footer-text-size,12px); }
@media (max-width:1150px) { .soleil-site-footer__main { grid-template-columns:1.2fr .8fr .8fr; column-gap:34px; } .soleil-site-footer__newsletter { grid-column:span 2; max-width:470px; } }
@media (max-width:680px) { .soleil-site-footer__inner { padding-top:44px; padding-bottom:22px; } .soleil-site-footer__main { grid-template-columns:repeat(2,minmax(0,1fr)); gap:35px 22px; padding-bottom:40px; } .soleil-site-footer__brand,.soleil-site-footer__newsletter { grid-column:1/-1; max-width:none; } .soleil-site-footer__brand-text { max-width:390px; } .soleil-site-footer__title { margin-bottom:14px; } .soleil-site-footer__menu { gap:10px; } .soleil-site-footer__bottom { align-items:flex-start; flex-direction:column; padding-top:23px; } }
@media (prefers-reduced-motion:reduce) { .soleil-site-footer * { transition-duration:.01ms!important; } }
