/* Hide the theme's default cookie consent — ClassAction provides its own GDPR-compliant version */
.cookie-modal-overlay#cookieConsent { display: none !important; }

.ca-cookie-overlay {
    position: fixed; inset: 0; z-index: 9999;
    background: rgba(0,0,0,.55);
    display: flex; align-items: end; justify-content: center;
    padding: 1rem;
}
.ca-cookie-modal {
    background: var(--bs-body-bg, #fff);
    border-radius: 1rem 1rem 0 0;
    box-shadow: 0 -4px 24px rgba(0,0,0,.15);
    max-width: 720px; width: 100%;
    padding: 1.5rem 2rem;
    animation: ca-slide-up .3s ease-out;
}
@keyframes ca-slide-up { from { transform: translateY(100%); } to { transform: translateY(0); } }
.ca-cookie-modal h3 { font-size: 1.15rem; font-weight: 700; margin-bottom: .75rem; }
.ca-cookie-modal p { font-size: .9rem; color: var(--bs-secondary-color); margin-bottom: .5rem; }
.ca-cookie-modal .ca-cookie-actions { display: flex; gap: .5rem; margin-top: 1rem; flex-wrap: wrap; }
.ca-cookie-modal .ca-cookie-actions .btn { min-width: 120px; }
.ca-cookie-detail { font-size: .8rem; color: var(--bs-secondary-color); }
.ca-cookie-detail summary { cursor: pointer; font-weight: 600; margin-bottom: .5rem; }
.ca-cookie-detail ul { padding-left: 1.25rem; margin: .25rem 0; }

/* ── Footer: full-width legal note + registered-office line ─────────────────── */
.ca-footer-legal {
    grid-column: 1 / -1;            /* span the whole footer-content grid */
    margin-top: .75rem;
    padding-top: 1rem;
    border-top: 1px solid var(--color-border-light, rgba(128, 128, 128, .2));
}
.ca-footer-disclaimer {
    font-size: .78rem;
    line-height: 1.5;
    margin: 0 0 .35rem;
    color: var(--color-text-tertiary, var(--bs-secondary-color));
}
.ca-footer-office {
    font-size: .75rem;
    line-height: 1.5;
    margin: 0;
    color: var(--color-text-tertiary, var(--bs-secondary-color));
}
.ca-footer-office a { color: inherit; text-decoration: underline; }
.ca-footer-office a:hover { color: var(--color-primary-600, var(--bs-primary)); }

/* ── App sidebar offcanvas ──────────────────────────────────────────────────── */
.ca-sidebar-btn { color: var(--bs-body-color); opacity: .7; }
.ca-sidebar-btn:hover { opacity: 1; }

#caAppSidebar { width: 270px; }
#caAppSidebar .ca-nav-section {
    padding: .4rem 1rem .2rem;
    font-size: .7rem;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: .08em;
    color: var(--bs-secondary-color);
}
#caAppSidebar .nav-link {
    color: var(--bs-body-color);
    border-radius: .375rem;
    margin: 0 .5rem;
    padding: .45rem .75rem;
    font-size: .9rem;
    display: flex;
    align-items: center;
}
#caAppSidebar .nav-link:hover { background: var(--bs-tertiary-bg, rgba(0,0,0,.06)); }
#caAppSidebar .nav-link.active {
    background: var(--bs-primary);
    color: #fff;
}
#caAppSidebar .nav-link.active .nav-icon { color: #fff; }
#caAppSidebar .nav-icon { width: 1.25rem; text-align: center; margin-right: .6rem; opacity: .6; }
#caAppSidebar .nav-link.active .nav-icon,
#caAppSidebar .nav-link:hover .nav-icon { opacity: 1; }
