/* Status page mobile menu (Protection/Status.aspx only). WCAG 2.2 AAA: 7:1 text, 44px targets,
   3px focus ring, no motion unless the visitor allows it. Overrides the old checkbox/circle menu. */
.menu-wrap .smm-btn { position: absolute; top: -4px; left: -4px; width: 44px; height: 44px; padding: 0; margin: 0; border: 2px solid #6BC530; border-radius: 10px;
    background: #6BC530; color: #1F1F1F; display: flex; align-items: center; justify-content: center; cursor: pointer; -webkit-tap-highlight-color: transparent; }
.menu-wrap .smm-bars, .menu-wrap .smm-bars::before, .menu-wrap .smm-bars::after { display: block; width: 22px; height: 3px; border-radius: 2px; background: currentColor; content: ""; }
.menu-wrap .smm-bars { position: relative; }
.menu-wrap .smm-bars::before { position: absolute; top: -7px; left: 0; }
.menu-wrap .smm-bars::after { position: absolute; top: 7px; left: 0; }
.menu-wrap .smm-btn:hover { background: #1F5209; border-color: #1F5209; color: #fff; }
.menu-wrap .smm-btn:focus { outline: none; }
.menu-wrap .smm-btn:focus-visible { outline: 3px solid #1F1F1F; outline-offset: 3px; }

/* Sheet drops from the top and is only as tall as its content; the rest of the screen is a dimmed backdrop. */
#status-mobile-menu { position: fixed; inset: 0; width: 100%; height: 100%; display: block; visibility: visible; overflow-y: auto; overflow-x: hidden;
    background: rgba(15, 20, 25, .6); z-index: 2147483002; -webkit-overflow-scrolling: touch; overscroll-behavior: contain; }
#status-mobile-menu[hidden] { display: none; }
#status-mobile-menu > .smm-panel { position: relative; box-sizing: border-box; transform: none; width: 100%; height: auto; max-width: 560px; margin: 0 auto;
    padding: max(12px, env(safe-area-inset-top)) max(16px, env(safe-area-inset-right)) 20px max(16px, env(safe-area-inset-left));
    background: #fff; color: #1F1F1F; border-radius: 0 0 20px 20px; box-shadow: 0 12px 40px rgba(0, 0, 0, .25);
    display: block; flex: none; transition: none; opacity: 1; text-align: left; font-family: "Google Sans", "Open Sans", Arial, sans-serif; }
#status-mobile-menu > .smm-panel > * { opacity: 1; width: auto; max-width: none; max-height: none; text-align: left; }
#status-mobile-menu *, #status-mobile-menu *::before, #status-mobile-menu *::after { box-sizing: border-box; }
#status-mobile-menu .smm-head { display: flex; align-items: center; justify-content: space-between; gap: 12px; margin: 0 0 14px; min-height: 48px; }
#status-mobile-menu .smm-logo { display: inline-flex; align-items: center; min-height: 44px; padding: 2px 4px; margin-left: -4px; border-radius: 8px; }
#status-mobile-menu .smm-logo img { display: block; width: 127px; height: 40px; }
#status-mobile-menu .smm-sr { position: absolute !important; width: 1px; height: 1px; margin: -1px; padding: 0; overflow: hidden; clip: rect(0 0 0 0); clip-path: inset(50%); white-space: nowrap; border: 0; }
#status-mobile-menu .smm-close { width: 44px; height: 44px; flex: 0 0 44px; border: 0; border-radius: 50%; background: #F1F3F1; color: #1F1F1F;
    cursor: pointer; display: flex; align-items: center; justify-content: center; padding: 0; }
#status-mobile-menu .smm-close svg { width: 22px; height: 22px; fill: currentColor; }
#status-mobile-menu .smm-close:hover { background: #1F1F1F; color: #fff; }
#status-mobile-menu nav { display: block; }

#status-mobile-menu ul { list-style: none; margin: 0; padding: 0; width: 100%; }
#status-mobile-menu li { list-style: none; padding: 0 !important; margin: 0 !important; width: 100%; border: 0 !important; box-shadow: none !important; background: none !important; outline: 0; }
#status-mobile-menu li > a { box-shadow: none !important; text-transform: none; letter-spacing: normal; white-space: normal; overflow-wrap: anywhere; transition: none; text-decoration: none; outline: none; }

/* Primary actions: filled buttons */
#status-mobile-menu .smm-primary { display: grid; gap: 10px; margin-bottom: 16px; }
#status-mobile-menu .smm-primary[style*="none"] { display: none; }
#status-mobile-menu .smm-cta { display: flex !important; align-items: center; justify-content: center; gap: 10px; width: 100% !important; min-height: 52px !important; height: auto !important;
    padding: 12px 16px !important; border: 0 !important; border-radius: 12px !important; font-size: 17px !important; line-height: 1.3; font-weight: 700; text-align: center; }
#status-mobile-menu .smm-cta-green { background: #6BC530 !important; color: #1F1F1F !important; }
#status-mobile-menu .smm-cta-dark { background: #1F1F1F !important; color: #fff !important; }
#status-mobile-menu .smm-cta:hover { background: #1F5209 !important; color: #fff !important; text-decoration: underline; }
#status-mobile-menu .smm-gwrap { display: inline-flex; align-items: center; justify-content: center; width: 28px; height: 28px; border-radius: 50%; background: #fff; }
#status-mobile-menu .smm-g { width: 18px; height: 18px; display: block; }

/* Secondary links: one grouped list with icons and chevrons */
#status-mobile-menu .smm-list { display: flex; flex-direction: column; gap: 1px; background: #D5DBD2; border: 1px solid #D5DBD2; border-radius: 14px; overflow: hidden; }
#status-mobile-menu .smm-list > li { background: #fff !important; }
#status-mobile-menu .smm-list > li.is-dup-chip { display: none !important; }
#status-mobile-menu .smm-row, #status-mobile-menu .smm-list a.status-tier-chip { display: flex !important; align-items: center; gap: 14px; width: 100% !important; min-height: 52px !important; height: auto !important;
    padding: 12px 16px !important; margin: 0 !important; border: 0 !important; border-radius: 0 !important; background: #fff !important; color: #1F1F1F !important;
    font-size: 16px !important; line-height: 1.35; font-weight: 500; text-align: left; justify-content: flex-start; }
#status-mobile-menu .smm-row::after, #status-mobile-menu .smm-list a.status-tier-chip::after { content: ""; flex: 0 0 auto; width: 8px; height: 8px; margin-left: auto;
    border-top: 2px solid currentColor; border-right: 2px solid currentColor; transform: rotate(45deg); opacity: .8; }
#status-mobile-menu .smm-ico { width: 22px; height: 22px; flex: 0 0 22px; fill: #1F5209; }
#status-mobile-menu .smm-lbl { flex: 1 1 auto; min-width: 0; }
#status-mobile-menu .smm-row:hover, #status-mobile-menu .smm-list a.status-tier-chip:hover { background: #EAF5E3 !important; color: #1F1F1F !important; text-decoration: underline; }

/* FREE TIER / plan chip shown as the first row, highlighted */
#status-mobile-menu .smm-list a.status-tier-chip { background: #EAF5E3 !important; font-weight: 700; }
#status-mobile-menu .smm-list a.status-tier-chip:hover { background: #D6EDC8 !important; }
#status-mobile-menu .smm-list a.status-tier-chip > span { display: inline-flex !important; align-items: center; gap: 14px; color: inherit !important; }
#status-mobile-menu .smm-list a.status-tier-chip, #status-mobile-menu .smm-list a.status-tier-chip span { text-transform: none !important; letter-spacing: normal !important; font-size: 16px !important; }
#status-mobile-menu .smm-list a.status-tier-chip svg { width: 22px !important; height: 22px !important; flex: 0 0 22px; }
#status-mobile-menu .smm-list a.status-tier-chip svg path { stroke: #1F5209; }
#status-mobile-menu .smm-list a.status-tier-chip .hover-txt { display: none !important; }
#status-mobile-menu .smm-list a.status-tier-chip .default-txt { display: inline !important; color: inherit !important; opacity: 1 !important; transform: none !important; position: static !important; }
#status-mobile-menu .smm-list a.status-tier-chip .default-txt::after { content: " \00B7  Upgrade to Pro"; font-weight: 500; }
#status-mobile-menu .smm-list a.status-tier-chip.tier-paid svg path { stroke: none; fill: #1F5209; }

#status-mobile-menu li > a[aria-current="page"] { background: #1F1F1F !important; color: #fff !important; }
#status-mobile-menu li > a[aria-current="page"] .smm-ico { fill: #fff; }

#status-mobile-menu .smm-foot { margin: 14px 4px 0; font-size: 14px; line-height: 1.5; color: #3D3D3D; }

/* Focus: 3px dark ring, inset inside the grouped list so it is never clipped */
#status-mobile-menu a:focus, #status-mobile-menu button:focus { outline: none; }
#status-mobile-menu a:focus-visible, #status-mobile-menu button:focus-visible { outline: 3px solid #1F1F1F !important; outline-offset: 3px; box-shadow: 0 0 0 6px #fff !important; }
#status-mobile-menu .smm-list a:focus-visible { outline-offset: -5px; box-shadow: none !important; }

html.status-menu-open, html.status-menu-open body { overflow: hidden; }
html.status-menu-open header.nav-header { z-index: 2147483001; }
html.status-menu-open .menu-wrap { z-index: 2147483002; }
html.status-menu-open .dmca-share-fab { display: none; }

@media (max-width: 359.9px) {
    #status-mobile-menu .smm-row, #status-mobile-menu .smm-list a.status-tier-chip { padding: 12px !important; gap: 10px; font-size: 15px !important; }
    #status-mobile-menu .smm-cta { font-size: 16px !important; }
}
@media (prefers-reduced-motion: no-preference) {
    #status-mobile-menu:not([hidden]) { animation: smm-fade .18s ease-out both; }
    #status-mobile-menu:not([hidden]) > .smm-panel { animation: smm-in .22s ease-out both; }
    @keyframes smm-fade { from { background-color: rgba(15, 20, 25, 0); } to { background-color: rgba(15, 20, 25, .6); } }
    @keyframes smm-in { from { opacity: 0; transform: translateY(-16px); } to { opacity: 1; transform: none; } }
}
@media (min-width: 992px) {
    #status-mobile-menu { display: none !important; }
}
