
/* v36 Final Unique Mobile Menu Drawer */
.ab-final-menu-overlay{
    position:fixed; inset:0; background:rgba(15,23,42,.58);
    z-index:9996; opacity:0; visibility:hidden; transition:.22s ease;
}
.ab-final-menu-overlay.active{opacity:1;visibility:visible}
.ab-final-mobile-menu{
    position:fixed; right:0; top:0; height:100vh;
    width:min(var(--drawer-width,82vw),430px);
    background:#fff; z-index:9997; transform:translateX(105%);
    transition:transform .28s cubic-bezier(.22,.8,.32,1);
    overflow-y:auto; box-shadow:-25px 0 55px rgba(15,23,42,.22);
    border-radius:22px 0 0 22px;
}
.ab-final-mobile-menu.active{transform:translateX(0)}
.ab-final-menu-close{
    position:absolute; right:18px; top:15px; z-index:2;
    width:38px; height:38px; border:0; background:transparent;
    color:#fff; font-size:38px; line-height:1; cursor:pointer;
}
.ab-final-menu-top{
    min-height:158px; padding:38px 26px 28px;
    background:
      radial-gradient(circle at 80% 40%, rgba(255,255,255,.18), transparent 24%),
      linear-gradient(135deg,var(--menu-red,#e60012),#bd0010);
    color:#fff; border-radius:22px 0 0 0; position:relative; overflow:hidden;
}
.ab-final-menu-top:after{
    content:""; position:absolute; right:-40px; top:20px; width:230px; height:92px;
    background:radial-gradient(circle,rgba(255,255,255,.18) 2px,transparent 3px);
    background-size:13px 13px; opacity:.45; transform:rotate(-14deg);
}
.ab-final-time{font-size:34px;font-weight:900;line-height:1.1;letter-spacing:.2px;position:relative;z-index:1}
.ab-final-date{font-size:18px;font-weight:800;margin-top:12px;position:relative;z-index:1}
.ab-final-menu-body{padding:26px 24px 20px}
.ab-final-menu-body h3{font-size:24px;margin:0;color:#111827;font-weight:900}
.ab-final-title-line{width:34px;height:3px;background:var(--menu-red,#e60012);border-radius:99px;margin:9px 0 18px}
.ab-final-cat-list{list-style:none;padding:0;margin:0;display:grid;gap:0}
.ab-final-cat-list li{border-bottom:1px solid #edf0f5}
.ab-final-cat-list a{
    display:grid; grid-template-columns:var(--icon-size,38px) 1fr 22px;
    align-items:center; gap:14px; text-decoration:none; color:#111827;
    padding:12px 0; min-height:58px;
}
.ab-final-cat-icon{
    width:var(--icon-size,38px); height:var(--icon-size,38px);
    border-radius:50%; display:grid; place-items:center;
    background:color-mix(in srgb, var(--cat-color) 14%, white);
    color:var(--cat-color); font-size:20px; font-weight:900;
}
.ab-final-cat-list strong{font-size:18px;font-weight:900;line-height:1.2}
.ab-final-cat-list em{font-style:normal;color:#9ca3af;font-size:32px;line-height:1;text-align:right}
body.ab-final-menu-open{overflow:hidden}

@media(min-width:768px){
    .ab-final-mobile-menu{width:min(430px,42vw)}
}
@media(max-width:767px){
    .ab-final-mobile-menu{width:min(var(--drawer-width,82vw),390px);border-radius:18px 0 0 18px}
    .ab-final-menu-top{min-height:138px;padding:34px 22px 24px;border-radius:18px 0 0 0}
    .ab-final-time{font-size:29px}
    .ab-final-date{font-size:16px}
    .ab-final-menu-body{padding:22px 20px 18px}
    .ab-final-cat-list a{grid-template-columns:var(--icon-size,38px) 1fr 20px;gap:12px;min-height:55px}
    .ab-final-cat-list strong{font-size:17px}
}
@media(max-width:380px){
    .ab-final-mobile-menu{width:86vw}
    .ab-final-time{font-size:26px}
    .ab-final-date{font-size:14px}
    .ab-final-cat-list strong{font-size:16px}
}

/* bind existing menu buttons visually unaffected */
