(icônes éventuelles) */
.social-footer a{
width:42px; height:42px;
display:inline-flex; align-items:center; justify-content:center;
border-radius:50%;
background: radial-gradient(ellipse at 30% 30%, var(--brand2), var(--brand));
color:#fff !important; text-decoration:none;
box-shadow: 0 8px 20px rgba(31,127,58,.35);
border: 1px solid rgba(255,255,255,.18);
transition: transform .12s ease, filter .2s ease, box-shadow .2s ease;
}
.social-footer a:hover{
transform: translateY(-2px);
filter: brightness(1.05);
box-shadow: 0 10px 26px rgba(31,127,58,.45);
}
.social-footer i{ font-size:18px; }
/* ======================= CONTACT STRIP ======================= */
.contact-strip{
max-width: 1100px;
margin: 18px auto 8px;
padding: 12px clamp(12px, 3vw, 24px);
text-align:center;
color:#e7f3ec;
border-radius: 12px;
background:
linear-gradient(180deg, rgba(255,255,255,.06), rgba(255,255,255,.04));
border: 1px solid rgba(255,255,255,.14);
}
.contact-strip a{
color:#ffffff; text-decoration:none; border-bottom:1px dashed rgba(255,255,255,.35);
}
.contact-strip a:hover{
border-bottom-color: transparent;
}
.contact-strip > div{ line-height:1.8; }
/* ======================= COPYRIGHT ======================= */
.footer{
width:100%;
margin: 10px 0 0;
padding: 16px 16px calc(16px + env(safe-area-inset-bottom));
text-align:center;
font-size: 13px;
color:#cfe9db;
background:
linear-gradient(180deg, rgba(255,255,255,.04), rgba(255,255,255,.02));
border-top: 1px solid rgba(255,255,255,.12);
position: relative;
}
.footer::before{
content:""; position:absolute; left:0; right:0; top:-2px; height:2px;
background: linear-gradient(90deg, var(--brand), var(--brand2));
opacity:.85;
}
.footer a{ color:#ffffff; text-decoration:none }
.footer a:hover{ text-decoration:underline }
/* ======================= MENU MOBILE (généré par ton PHP) ======================= */
body_menu{ display:block; }
footer_mobile{
position:fixed; left:0; right:0; bottom:0;
display:grid; grid-template-columns: repeat(6, 1fr);
gap: 0;
background: #0b1510;
background: linear-gradient(180deg, #0e1c15 0%, #0a140f 100%);
border-top: 1px solid rgba(255,255,255,.12);
padding: 8px 8px calc(8px + env(safe-area-inset-bottom));
z-index: 9999;
}
footer_mobile > div{
text-align:center; color:#d3e8de; font-size:11px;
}
footer_mobile a{
display:flex; align-items:center; justify-content:center;
width:44px; height:44px; margin: 0 auto 4px;
border-radius:12px;
background: linear-gradient(135deg, var(--brand), var(--brand2));
color:#07130c !important;
text-decoration:none;
box-shadow: 0 6px 18px rgba(31,127,58,.25);
transition: transform .12s ease, filter .2s ease, box-shadow .2s ease;
}
footer_mobile a:hover{
transform: translateY(-1px);
filter: brightness(1.05);
box-shadow: 0 8px 22px rgba(31,127,58,.35);
}
footer_mobile i{ font-size:18px; line-height:1; }
footer_mobile span{ display:block; opacity:.95; }
/* Espace sous le contenu pour ne pas être masqué par le menu mobile */
#contenu{
padding-bottom: clamp(80px, 10vh, 120px);
}
/* ======================= RESPONSIVE ======================= */
@media (max-width: 900px){
.prefooter{ margin-top: 24px; }
}
@media (max-width: 640px){
.prefooter-columns{ grid-template-columns: 1fr 1fr; }
}
@media (max-width: 480px){
.prefooter-columns{ grid-template-columns: 1fr; }
.social-footer{ gap:10px; }
}
/* ======================= ACCESSIBILITÉ ======================= */
@media (prefers-reduced-motion: reduce){
.social-footer a,
footer_mobile a{ transition:none; }
}