:root { --member-blue:#0d6efd; --member-blue-dark:#245ba9; --bs-primary:#0d6efd; --bs-primary-rgb:13,110,253; --bs-link-color:#0d6efd; --bs-link-hover-color:#0a58ca; }
body { background:#f8f9fa; color:#243044; }
.bg-primary { background-color:#0d6efd!important; }
.btn-primary { --bs-btn-bg:#0d6efd; --bs-btn-border-color:#0d6efd; --bs-btn-hover-bg:#0a58ca; --bs-btn-hover-border-color:#0a58ca; }
.btn-outline-primary { --bs-btn-color:#0d6efd; --bs-btn-border-color:#0d6efd; --bs-btn-hover-bg:#0d6efd; --bs-btn-hover-border-color:#0d6efd; }
.aab-member-logo { height:40px; width:40px; object-fit:contain; border-radius:50%; background:#fff; }
.navbar-brand { padding-top:.1rem; padding-bottom:.1rem; }
.navbar .nav-link { font-size:.95rem; }
.dropdown-menu { border:0; border-radius:.8rem; }
.member-nav { position:sticky; top:56px; z-index:1010; }
.member-auth-bg { background:linear-gradient(125deg,#e7f0ff,#f8f9fa 55%,#eef5ff); }
.member-login-icon { align-items:center; background:#e7f0ff; border-radius:50%; color:#0d6efd; display:inline-flex; font-size:1.5rem; height:64px; justify-content:center; width:64px; }
.member-hero { color:#fff; background:linear-gradient(125deg,#0d6efd,#326cc4 55%,#69a3ff); box-shadow:0 .5rem 1.5rem rgba(13,110,253,.18); }
.footer-link { color:rgba(255,255,255,.7); text-decoration:none; }
.footer-link:hover { color:#fff; }
.member-stat { color:inherit; border:0; box-shadow:0 .25rem 1rem rgba(38,55,85,.08); transition:transform .15s ease,box-shadow .15s ease; }
.member-stat:hover { transform:translateY(-2px); box-shadow:0 .5rem 1.25rem rgba(38,55,85,.14); }
.member-stat i { font-size:1.35rem; }
.member-home-event:hover { background:#f2f6fc; }
.member-home-event-date { background:#e7f0ff; border-radius:.5rem; color:#0d6efd; flex:0 0 58px; font-size:.78rem; font-weight:700; height:max-content; padding:.4rem .25rem; text-align:center; text-transform:uppercase; }
.card { border-radius:.8rem; }
.member-ludo-nav .nav-link.active { background:#d63384; color:#fff; }
.member-game-cover { height:180px; object-fit:contain; background:#fff7fb; }
.member-game-gallery-trigger { background:transparent; border:0; border-radius:.5rem; cursor:zoom-in; padding:0; position:relative; }
.member-game-gallery-trigger:focus-visible { box-shadow:0 0 0 .25rem rgba(214,51,132,.25); outline:2px solid #d63384; outline-offset:2px; }
.member-game-gallery-trigger > span { background:rgba(0,0,0,.68); border-radius:999px; bottom:.75rem; color:#fff; font-size:.8rem; left:50%; padding:.35rem .7rem; position:absolute; transform:translateX(-50%); white-space:nowrap; }
.member-game-gallery .modal-content { background:#161616; color:#fff; }
.member-game-gallery .modal-header { border-bottom-color:#3b3b3b; }
.member-game-gallery .btn-close { filter:invert(1) grayscale(100%) brightness(200%); }
.member-game-gallery-image { background:#111; height:min(78vh,800px); object-fit:contain; }
.member-game-gallery-counter { background:rgba(0,0,0,.72); border-radius:999px; bottom:1rem; color:#fff; padding:.3rem .65rem; position:absolute; right:1rem; }
.member-game-placeholder { height:180px; background:#fff0f6; color:#b02a6f; }
.member-calendar-day { min-height:145px; min-width:0; }
.planning-calendar .planning-filterable-event { overflow-wrap:anywhere; }
.planning-color-dot { border:1px solid rgba(0,0,0,.18); border-radius:50%; display:inline-block; height:.8rem; margin-right:.35rem; vertical-align:-.05rem; width:.8rem; }
@media (max-width:767.98px) {
    .planning-filterable-event:last-child { margin-bottom:0!important; }
}
@media (max-width:1199.98px) {
    .navbar .dropdown-menu { background:rgba(255,255,255,.08); box-shadow:none!important; }
    .navbar .dropdown-item { color:#fff; }
    .navbar .dropdown-item:hover { background:rgba(255,255,255,.12); }
}
.member-ludo-accent { border-top:4px solid #d63384; }
