/* ============================================================
   D360 FOOTER — colonnes groupées + accordéon mobile
   V1.2 RUN 2+3 -- Chaima C6 "le pied de page est encombré".
   Chargé dans layout_new.blade.php sur toutes les pages.
   ============================================================ */
.footer-grouped {
    background: var(--d360-blue, #1a6aad);
    padding: 32px 0 20px;
    color: #fff;
}
.footer-columns {
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    gap: 4px 24px;
    margin-bottom: 20px;
}
.footer-col {
    border-bottom: 1px solid rgba(255, 255, 255, 0.15);
}
.footer-col-title {
    display: flex;
    align-items: center;
    justify-content: space-between;
    width: 100%;
    background: none;
    border: none;
    color: #fff;
    font-weight: 700;
    font-size: 0.92rem;
    padding: 14px 2px;
    text-align: start;
}
.footer-col-title::after {
    content: '+';
    font-size: 1.1rem;
    font-weight: 400;
    transition: transform 0.15s;
}
.footer-col-title[aria-expanded="true"]::after {
    transform: rotate(45deg);
}
.footer-col-title-static {
    cursor: default;
}
.footer-col-title-static::after {
    content: '';
}
.footer-col-links {
    display: flex;
    flex-direction: column;
    gap: 10px;
    padding-bottom: 14px;
}
/* D360 feedback Aug-2026 F07 (mobile audit): each link rendered at 21px
   tall, under the WCAG 2.2 SC 2.5.8 24x24px tap-target minimum -- same
   pattern already used for .social-icons-footer a (R1, V1.2): padding
   grows the real clickable area, the matching negative margin keeps the
   visible gap between links unchanged. */
.footer-col-links a {
    color: rgba(255, 255, 255, 0.85);
    font-size: 0.86rem;
    text-decoration: none;
    display: inline-block;
    padding: 4px 0;
    margin: -4px 0;
}
.footer-col-links a:hover {
    color: #fff;
    text-decoration: underline;
}
.footer-col-social {
    grid-column: 1 / -1;
    border-bottom: none;
}
/* R1 (mobile optimization audit) -- .social-icons-footer a had zero
   padding, so the real tap target was exactly the icon glyph's own
   box (~14x20px), well under the WCAG 2.2 SC 2.5.8 24x24px minimum,
   even though the flex `gap-3` made the icons look comfortably
   spaced. Padding grows the actual clickable area without changing
   the icon's visual size. */
.social-icons-footer {
    flex-wrap: wrap;
}
.social-icons-footer a {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    padding: 10px;
    margin: -10px;
}
/* Desktop (>=768px): every column always open, no accordion chrome. */
@media (min-width: 768px) {
    .footer-columns {
        grid-template-columns: repeat(5, 1fr);
        gap: 24px;
    }
    .footer-col {
        border-bottom: none;
    }
    .footer-col-title {
        cursor: default;
        padding: 0 0 12px;
    }
    .footer-col-title::after {
        content: '';
    }
    .footer-col-links {
        display: flex !important;
        padding-bottom: 0;
    }
    /* Juridique has more real documents (10) than any other column fits
       naturally (Solutions, the tallest of the rest, has 6) -- capping its
       height to match rather than letting it stretch the whole footer row.
       Every link stays a real, crawlable <a>, just scrollable past #6. */
    .footer-col-scroll {
        max-height: 186px;
        overflow-y: auto;
        scrollbar-width: thin;
        scrollbar-color: rgba(255, 255, 255, 0.4) transparent;
    }
    .footer-col-scroll::-webkit-scrollbar {
        width: 5px;
    }
    .footer-col-scroll::-webkit-scrollbar-thumb {
        background: rgba(255, 255, 255, 0.4);
        border-radius: 3px;
    }
    .footer-col-social {
        grid-column: auto;
    }
}
.bottom-bar {
    padding-top: 16px;
    border-top: 1px solid rgba(255, 255, 255, 0.15);
    color: rgba(255, 255, 255, 0.85);
    font-size: 0.82rem;
}
