/* 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; }
}

/* ---------- Desktop WELCOME menu (Status header, >= 992px): AAA menu button panel ---------- */
@media (min-width: 992px) {
    header.nav-header li[data-dmca-wm] { position: relative !important; }
    header.nav-header li[data-dmca-wm] > .dropdown-content {
        display: none !important; position: absolute !important; top: calc(100% + 8px) !important; bottom: auto !important; right: 0 !important; left: auto !important;
        min-width: 240px; width: max-content; max-width: min(320px, calc(100vw - 32px)); max-height: calc(100vh - 110px); overflow-y: auto;
        margin: 0 !important; padding: 6px !important; background: #fff !important; color: #1F1F1F !important;
        border: 1px solid #C9C9C9 !important; border-radius: 10px !important; box-shadow: 0 12px 32px rgba(0, 0, 0, .18), 0 2px 6px rgba(0, 0, 0, .10) !important;
        z-index: 100050 !important; transform: none !important; text-align: start;
    }
    /* hover bridge so the 8px gap doesn't close a hover-opened panel */
    header.nav-header li[data-dmca-wm] > .dropdown-content::before { content: ""; position: absolute; left: 0; right: 0; top: -10px; height: 10px; }
    header.nav-header li[data-dmca-wm]:hover > .dropdown-content, header.nav-header li[data-dmca-wm][data-hover] > .dropdown-content, header.nav-header li[data-dmca-wm][data-open] > .dropdown-content { display: block !important; }
    header.nav-header li[data-dmca-wm][data-dismissed]:not([data-open]) > .dropdown-content { display: none !important; }
    header.nav-header li[data-dmca-wm][data-dismissed]:not([data-open]) > .dropdown-content { display: none !important; }
    header.nav-header li[data-dmca-wm] > .dropdown-content a {
        display: flex !important; align-items: center; min-height: 44px; box-sizing: border-box; margin: 0 !important; padding: 10px 14px !important;
        font: 600 16px/1.3 "Google Sans", "Open Sans", Arial, sans-serif !important; letter-spacing: 0 !important; text-transform: none !important;
        color: #1F1F1F !important; background: transparent !important; text-decoration: none !important; white-space: nowrap;
        border: 0 !important; border-bottom: 1px solid #E6E6E6 !important; border-radius: 6px !important; box-shadow: none !important; width: auto !important; height: auto !important;
    }
    header.nav-header li[data-dmca-wm] > .dropdown-content a:last-child { border-bottom: 0 !important; }
    header.nav-header li[data-dmca-wm] > .dropdown-content a:hover { background: #E9F6E0 !important; color: #1F1F1F !important; }
    header.nav-header li[data-dmca-wm] > .dropdown-content a:focus { outline: none; }
    header.nav-header li[data-dmca-wm] > .dropdown-content a:focus-visible { background: #E9F6E0 !important; outline: 3px solid #1F1F1F !important; outline-offset: -3px; }
    header.nav-header li[data-dmca-wm] .welcome-btn:focus-visible { outline: 3px solid #1F1F1F !important; outline-offset: 3px; }
}
@media (prefers-reduced-motion: reduce) { header.nav-header li[data-dmca-wm] > .dropdown-content, header.nav-header li[data-dmca-wm] > .dropdown-content a { transition: none !important; animation: none !important; } }
/* Signed in: no guest "Sign in with Google" CTA */
html.dmca-signed-in #certificate-links .signinGoogle, html.dmca-signed-in .guest-btn .signinGoogle,
html.dmca-signed-in #certificate-links .dmca-share-btn { display: none !important; } /* floating .dmca-share-fab stays */


/* ---------- /add/ dashboard header (header.js-header): same AAA WELCOME menu, equal 44px buttons, AAA mobile menu ---------- */
@media (min-width: 1025px) {
    header.js-header .nav-access > ul { display: flex; align-items: center; gap: 10px; }
    header.js-header .nav-access > ul > li.active-membership > a.status-tier-chip,
    header.js-header .nav-access > ul > li.auth-btn > .welcome-btn { display: inline-flex !important; align-items: center; justify-content: center; gap: 8px; box-sizing: border-box;
        height: 44px !important; min-height: 44px !important; max-height: 44px !important; padding: 0 18px !important; margin: 0 !important;
        font-size: 15px !important; font-weight: 700 !important; line-height: 1.2 !important; border-radius: 8px !important; }
    header.js-header .nav-access > ul > li.auth-btn > .welcome-btn { background: #6BC530 !important; color: #1F1F1F !important; border: 1px solid #4E9A23 !important; text-transform: uppercase; }
    header.js-header .nav-access > ul > li.auth-btn > .welcome-btn:hover { background: #1F5209 !important; color: #fff !important; }
    header.js-header .nav-access > ul > li.auth-btn > .welcome-btn i { width: 16px; font-size: 16px; margin: 0 !important; }
    header.js-header .nav-access > ul > li.auth-btn > .welcome-btn:focus-visible,
    header.js-header .nav-access > ul > li.active-membership > a.status-tier-chip:focus-visible { outline: 3px solid #1F1F1F !important; outline-offset: 3px; }
    header.js-header li[data-dmca-wm] { position: relative !important; }
    header.js-header li[data-dmca-wm] > .dropdown-content {
        display: none !important; position: absolute !important; top: calc(100% + 8px) !important; bottom: auto !important; right: 0 !important; left: auto !important;
        min-width: 240px; width: max-content; max-width: min(320px, calc(100vw - 32px)); max-height: calc(100vh - 110px); overflow-y: auto;
        margin: 0 !important; padding: 6px !important; background: #fff !important; color: #1F1F1F !important;
        border: 1px solid #C9C9C9 !important; border-radius: 10px !important; box-shadow: 0 12px 32px rgba(0, 0, 0, .18), 0 2px 6px rgba(0, 0, 0, .10) !important;
        z-index: 100050 !important; transform: none !important; text-align: start; }
    header.js-header li[data-dmca-wm] > .dropdown-content::before { content: ""; position: absolute; left: 0; right: 0; top: -10px; height: 10px; }
    header.js-header li[data-dmca-wm]:hover > .dropdown-content, header.js-header li[data-dmca-wm][data-hover] > .dropdown-content, header.js-header li[data-dmca-wm][data-open] > .dropdown-content { display: block !important; }
    header.js-header li[data-dmca-wm][data-dismissed]:not([data-open]) > .dropdown-content { display: none !important; }
    header.js-header li[data-dmca-wm][data-dismissed]:not([data-open]) > .dropdown-content { display: none !important; }
    header.js-header li[data-dmca-wm] > .dropdown-content a {
        display: flex !important; align-items: center; min-height: 44px; box-sizing: border-box; margin: 0 !important; padding: 10px 14px !important;
        font: 600 16px/1.3 "Google Sans", "Open Sans", Arial, sans-serif !important; letter-spacing: 0 !important; text-transform: none !important;
        color: #1F1F1F !important; background: transparent !important; text-decoration: none !important; white-space: nowrap;
        border: 0 !important; border-bottom: 1px solid #E6E6E6 !important; border-radius: 6px !important; box-shadow: none !important; width: auto !important; height: auto !important; }
    header.js-header li[data-dmca-wm] > .dropdown-content a:last-child { border-bottom: 0 !important; }
    header.js-header li[data-dmca-wm] > .dropdown-content a:hover { background: #E9F6E0 !important; }
    header.js-header li[data-dmca-wm] > .dropdown-content a:focus { outline: none; }
    header.js-header li[data-dmca-wm] > .dropdown-content a:focus-visible { background: #E9F6E0 !important; outline: 3px solid #1F1F1F !important; outline-offset: -3px; }
}
@media (max-width: 1024px) {
    header.js-header .nav-access.is-active { overflow-y: auto; z-index: 100040; }
    header.js-header .nav-access.is-active li.only-on-small:first-child { display: none !important; } /* duplicate WELCOME button */
    header.js-header .nav-access.is-active a.btn, header.js-header .nav-access.is-active .welcome-btn { display: flex !important; align-items: center; justify-content: center; min-height: 44px;
        color: #1F1F1F !important; font-size: 16px !important; font-weight: 700; }
    header.js-header .nav-access.is-active a.btn:focus-visible { outline: 3px solid #1F1F1F !important; outline-offset: 2px; }
    header.js-header button.menu:focus-visible { outline: 3px solid #1F1F1F !important; outline-offset: 3px; }
    header.js-header button.menu { min-width: 44px; min-height: 44px; position: relative; z-index: 100041; }
    header.js-header .nav-access.is-active a.status-tier-chip { min-height: 44px !important; height: auto !important; box-sizing: border-box; }
    html.dmca-add-menu-open, html.dmca-add-menu-open body { overflow: hidden; }
}
@media (prefers-reduced-motion: reduce) {
    header.js-header .nav-access, header.js-header li[data-dmca-wm] > .dropdown-content { transition: none !important; animation: none !important; }
}
/* /add/ header logo kicker: AAA contrast on white (was #58A824, 2.9:1) */
header.js-header .logo__kicker { color: #245A0E !important; }
/* FREE TIER chip stays green; dark 7:1 text like the Status header */
header.js-header a.status-tier-chip.status-tier-green, header.js-header a.status-tier-chip.status-tier-green .default-txt, header.js-header a.status-tier-chip.status-tier-green .hover-txt { color: #1F1F1F !important; }
header.js-header a.status-tier-chip.status-tier-green svg path { stroke: #1F1F1F !important; }
@media (min-width: 1025px) {
    header.js-header .nav-access > ul > li > a.btn.btn--green { display: inline-flex !important; align-items: center; height: 44px !important; min-height: 44px !important; max-height: 44px !important; box-sizing: border-box;
        padding: 0 18px !important; font-size: 15px !important; font-weight: 700 !important; border-radius: 8px !important; color: #1F1F1F !important; background: #6BC530 !important; border: 1px solid #4E9A23 !important; }
    header.js-header .nav-access > ul > li > a.btn.btn--green:hover { background: #1F5209 !important; color: #fff !important; }
    header.js-header .nav-access > ul > li > a.btn.btn--green:focus-visible { outline: 3px solid #1F1F1F !important; outline-offset: 3px; }
}

/* WELCOME dropdown icons, labels, chevrons and the FREE TIER upgrade row (Status + /add/) */
li[data-dmca-wm] > .dropdown-content { min-width: 300px !important; }
li[data-dmca-wm] > .dropdown-content a.dmca-wm-row, li[data-dmca-wm] > .dropdown-content a.dmca-wm-up { gap: 12px; }
li[data-dmca-wm] .dmca-wm-ico { width: 20px; height: 20px; flex: 0 0 20px; fill: #1F5209; color: #1F5209; }
li[data-dmca-wm] .dmca-wm-lbl { flex: 1 1 auto; font-weight: 500; }
li[data-dmca-wm] .dmca-wm-lbl strong { font-weight: 800; }
li[data-dmca-wm] .dmca-wm-chev { width: 16px; height: 16px; flex: 0 0 16px; fill: #3D3D3D; margin-inline-start: 8px; }
[dir="rtl"] li[data-dmca-wm] .dmca-wm-chev { transform: scaleX(-1); }
li[data-dmca-wm] > .dropdown-content a.dmca-wm-up { background: #E9F6E0 !important; border-radius: 8px !important; margin-bottom: 4px !important; }
li[data-dmca-wm] > .dropdown-content a.dmca-wm-up:hover { background: #D7EFC6 !important; }
li[data-dmca-wm] > .dropdown-content a.dmca-wm-up[data-tier="pro"], li[data-dmca-wm] > .dropdown-content a.dmca-wm-up[data-tier="business"] { background: #F1F3F5 !important; }

/* Hover bridge: the panel scrolls (overflow:auto clips its own ::before), so the invisible strip covering the
   8-18px gap between WELCOME and its panel hangs off the <li> instead (desktop, all three pages). */
@media (min-width: 992px) {
    li[data-dmca-wm] { position: relative; }
    li[data-dmca-wm]:hover::after, li[data-dmca-wm][data-hover]::after, li[data-dmca-wm][data-open]::after { content: ""; position: absolute; left: -24px; right: 0; top: 100%; height: 24px; background: transparent; z-index: 100050; }
    li[data-dmca-wm][data-dismissed]:not([data-open])::after { content: none; }
}
/* Mobile menu parity (tier row, icons, labels) */
#status-mobile-menu .dmca-mm-up { background: #EAF5E3 !important; color: #1F1F1F !important; }
#status-mobile-menu .dmca-mm-up .smm-ico { color: #1F5209; }
#status-mobile-menu[data-dmca-tier] .smm-list li.pro-btn { display: none !important; }
@media (max-width: 1024px) {
    header.js-header .nav-access.is-active a.btn.dmca-mm-row { justify-content: flex-start !important; gap: 12px; text-align: left; background: #fff !important; color: #1F1F1F !important;
        border: 1px solid #D0D0D0 !important; border-radius: 8px !important; padding: 0 14px !important; font-size: 15px !important; font-weight: 600 !important; text-transform: none !important; }
    header.js-header .nav-access.is-active a.btn.dmca-mm-row:hover { background: #E9F6E0 !important; }
    header.js-header .nav-access.is-active a.btn.dmca-mm-row .dmca-wm-ico { width: 20px; height: 20px; flex: 0 0 20px; fill: #1F5209; color: #1F5209; }
    header.js-header .nav-access.is-active a.btn.dmca-mm-row .dmca-wm-lbl { flex: 1 1 auto; }
    header.js-header .nav-access.is-active a.btn.dmca-mm-row .dmca-wm-chev { width: 18px; height: 18px; flex: 0 0 18px; fill: #3A3A3A; }
    header.js-header .nav-access.is-active a.btn.dmca-mm-up { background: #EAF5E3 !important; border-color: #4E9A1F !important; }
    header.js-header .nav-access[data-dmca-tier].is-active li.active-membership { display: none !important; }
}
