/* Generated from inline <style> blocks so browsers can cache them. Edit here, not in the views. */

/* ---- from themes/common/nav/nav_main.php ---- */
/* 3D capsule nav buttons: Guide, Search, Subscribe */
.mega-menu-wrapper{--nb-c:var(--vr-theme-color,#19bc9c);--nb-d:color-mix(in srgb,var(--nb-c) 62%,#000)}
.btn-nav-guide,.mega-menu-wrapper .btn-nav-subscribe,.mega-menu-wrapper .search-icon-btn{position:relative;overflow:hidden;display:inline-flex;align-items:center;justify-content:center;gap:7px;height:40px;min-width:40px;padding:0 20px;margin:0;border-radius:999px!important;font-size:14px;font-weight:700;line-height:1;letter-spacing:.01em;white-space:nowrap;text-decoration:none!important;cursor:pointer;-webkit-tap-highlight-color:transparent;transform:translateY(0);transition:transform .18s cubic-bezier(.3,.7,.4,1),box-shadow .18s cubic-bezier(.3,.7,.4,1),background .25s,color .25s,filter .25s}
.btn-nav-guide::after,.mega-menu-wrapper .btn-nav-subscribe::after,.mega-menu-wrapper .search-icon-btn::after{content:"";position:absolute;top:0;left:-70%;width:45%;height:100%;background:linear-gradient(105deg,transparent,rgba(255,255,255,.55),transparent);transform:skewX(-20deg);pointer-events:none;transition:none}
.btn-nav-guide:hover::after,.mega-menu-wrapper .btn-nav-subscribe:hover::after,.mega-menu-wrapper .search-icon-btn:hover::after{left:130%;transition:left .7s ease}
/* Guide: light capsule with a theme-coloured edge */
.btn-nav-guide{color:var(--nb-d)!important;background:linear-gradient(180deg,#fff 0%,color-mix(in srgb,var(--nb-c) 14%,#fff) 100%);border:1.5px solid var(--nb-c);box-shadow:0 4px 0 var(--nb-c),0 8px 14px -4px color-mix(in srgb,var(--nb-c) 55%,transparent),inset 0 1px 0 #fff}
.btn-nav-guide:hover{transform:translateY(-2px);box-shadow:0 6px 0 var(--nb-c),0 12px 18px -5px color-mix(in srgb,var(--nb-c) 60%,transparent),inset 0 1px 0 #fff}
/* Subscribe: solid theme capsule */
.mega-menu-wrapper .btn-nav-subscribe{color:#fff!important;background:linear-gradient(180deg,color-mix(in srgb,var(--nb-c) 78%,#fff) 0%,var(--nb-c) 55%,color-mix(in srgb,var(--nb-c) 88%,#000) 100%)!important;border:1.5px solid var(--nb-d)!important;box-shadow:0 4px 0 var(--nb-d),0 8px 14px -4px color-mix(in srgb,var(--nb-c) 65%,transparent),inset 0 1px 0 rgba(255,255,255,.45)!important;text-shadow:0 1px 0 rgba(0,0,0,.22)}
.mega-menu-wrapper .btn-nav-subscribe:hover{transform:translateY(-2px);box-shadow:0 6px 0 var(--nb-d),0 12px 18px -5px color-mix(in srgb,var(--nb-c) 70%,transparent),inset 0 1px 0 rgba(255,255,255,.45)!important;filter:brightness(1.05)}
/* Search: round capsule, same look as Guide */
.mega-menu-wrapper .search-icon-btn{width:40px;padding:0;color:var(--nb-d)!important;background:linear-gradient(180deg,#fff 0%,color-mix(in srgb,var(--nb-c) 14%,#fff) 100%)!important;border:1.5px solid var(--nb-c)!important;box-shadow:0 4px 0 var(--nb-c),0 8px 14px -4px color-mix(in srgb,var(--nb-c) 55%,transparent),inset 0 1px 0 #fff}
.mega-menu-wrapper .search-icon-btn:hover{transform:translateY(-2px);box-shadow:0 6px 0 var(--nb-c),0 12px 18px -5px color-mix(in srgb,var(--nb-c) 60%,transparent),inset 0 1px 0 #fff}
/* Pressed: the button sinks into its edge */
.btn-nav-guide:active,.mega-menu-wrapper .btn-nav-subscribe:active,.mega-menu-wrapper .search-icon-btn:active{transform:translateY(3px);transition-duration:.06s}
.btn-nav-guide:active{box-shadow:0 1px 0 var(--nb-c),0 2px 4px -2px color-mix(in srgb,var(--nb-c) 50%,transparent),inset 0 2px 4px rgba(0,0,0,.12)}
.mega-menu-wrapper .btn-nav-subscribe:active{box-shadow:0 1px 0 var(--nb-d),0 2px 4px -2px color-mix(in srgb,var(--nb-c) 50%,transparent),inset 0 2px 5px rgba(0,0,0,.2)!important}
.mega-menu-wrapper .search-icon-btn:active{box-shadow:0 1px 0 var(--nb-c),0 2px 4px -2px color-mix(in srgb,var(--nb-c) 50%,transparent),inset 0 2px 4px rgba(0,0,0,.12)}
.btn-nav-guide:focus-visible,.mega-menu-wrapper .btn-nav-subscribe:focus-visible,.mega-menu-wrapper .search-icon-btn:focus-visible{outline:3px solid color-mix(in srgb,var(--nb-c) 45%,transparent);outline-offset:3px}
.mega-menu-wrapper .d-flex.ms-auto{padding-bottom:4px}
[data-bs-theme="dark"] .btn-nav-guide,[data-bs-theme="dark"] .mega-menu-wrapper .search-icon-btn{color:var(--nb-c)!important;background:linear-gradient(180deg,#1f2937 0%,#111827 100%)!important}
/* Header logo size: a little smaller so it balances the menu buttons */
.mega-menu-wrapper .navbar-brand .logo{height:50px!important;width:auto!important;max-width:100%}
/* Menu links (Article, Showbiz, NEWS...) as 3D capsules, same family as the Guide button */
@media (min-width:992px){
.mega-menu-wrapper .navbar-nav>.nav-item{display:flex;align-items:center;margin:0;padding:0 5px 4px 0}
.mega-menu-wrapper .navbar-nav>.nav-item>.nav-link{display:inline-flex!important;align-items:center;gap:5px;height:38px;padding:0 16px!important;margin:0!important;border-radius:999px!important;font-size:14.5px!important;font-weight:700!important;line-height:1!important;letter-spacing:.01em;white-space:nowrap;text-decoration:none!important;color:var(--nb-d)!important;background:linear-gradient(180deg,#fff 0%,color-mix(in srgb,var(--nb-c) 12%,#fff) 100%)!important;border:1.5px solid var(--nb-c)!important;box-shadow:0 3px 0 var(--nb-c),0 6px 12px -5px color-mix(in srgb,var(--nb-c) 50%,transparent),inset 0 1px 0 #fff!important;transform:translateY(0);transition:transform .18s cubic-bezier(.3,.7,.4,1),box-shadow .18s cubic-bezier(.3,.7,.4,1),background .25s,color .25s!important}
.mega-menu-wrapper .navbar-nav>.nav-item>.nav-link svg{transition:transform .25s ease}
.mega-menu-wrapper .navbar-nav>.nav-item>.nav-link:hover,
.mega-menu-wrapper .navbar-nav>.nav-item:hover>.nav-link,
.mega-menu-wrapper .navbar-nav>.nav-item>.nav-link.show,
.mega-menu-wrapper .navbar-nav>.nav-item.active>.nav-link{color:#fff!important;background:linear-gradient(180deg,color-mix(in srgb,var(--nb-c) 78%,#fff) 0%,var(--nb-c) 55%,color-mix(in srgb,var(--nb-c) 88%,#000) 100%)!important;border-color:var(--nb-d)!important;text-shadow:0 1px 0 rgba(0,0,0,.2);box-shadow:0 3px 0 var(--nb-d),0 6px 12px -5px color-mix(in srgb,var(--nb-c) 60%,transparent),inset 0 1px 0 rgba(255,255,255,.45)!important}
.mega-menu-wrapper .navbar-nav>.nav-item:hover>.nav-link,
.mega-menu-wrapper .navbar-nav>.nav-item>.nav-link:hover{transform:translateY(-2px)}
.mega-menu-wrapper .navbar-nav>.nav-item:hover>.nav-link svg{transform:rotate(180deg)}
.mega-menu-wrapper .navbar-nav>.nav-item>.nav-link:active{transform:translateY(2px)!important;transition-duration:.06s!important;box-shadow:0 1px 0 var(--nb-d),inset 0 2px 4px rgba(0,0,0,.18)!important}
.mega-menu-wrapper .navbar-nav>.nav-item>.nav-link::before,
.mega-menu-wrapper .navbar-nav>.nav-item>.nav-link::after{display:none!important}
.mega-menu-wrapper .navbar-nav>.nav-item>.nav-link:focus-visible{outline:3px solid color-mix(in srgb,var(--nb-c) 45%,transparent);outline-offset:3px}
[data-bs-theme="dark"] .mega-menu-wrapper .navbar-nav>.nav-item>.nav-link{color:var(--nb-c)!important;background:linear-gradient(180deg,#1f2937 0%,#111827 100%)!important}
[data-bs-theme="dark"] .mega-menu-wrapper .navbar-nav>.nav-item:hover>.nav-link,[data-bs-theme="dark"] .mega-menu-wrapper .navbar-nav>.nav-item.active>.nav-link{color:#fff!important;background:linear-gradient(180deg,color-mix(in srgb,var(--nb-c) 78%,#fff) 0%,var(--nb-c) 55%,color-mix(in srgb,var(--nb-c) 88%,#000) 100%)!important}
}
.btn-nav-guide svg{flex:0 0 auto}
.btn-nav-guide .bng-right{transform-box:fill-box;transform-origin:left center;animation:bngFlip 5s ease-in-out infinite}
@keyframes bngFlip{0%,80%,100%{transform:scaleX(1)}88%{transform:scaleX(-.2)}}
@media (prefers-reduced-motion:reduce){.btn-nav-guide .bng-right{animation:none}}
/* Section titles (NEWS, Article, ...): the coloured underline runs the full width of the dim line */
.section-title:after{width:100%!important}
/* FINAL: flat, smaller capsule buttons (no 3D ledge, no lift, no shine) */
.btn-nav-guide,.mega-menu-wrapper .btn-nav-subscribe,.mega-menu-wrapper .search-icon-btn{height:32px!important;min-width:32px;padding:0 14px!important;font-size:13px!important;gap:6px;box-shadow:none!important;text-shadow:none!important;filter:none!important;transform:none!important;border-width:1.5px!important;background:transparent!important;transition:background .25s ease,color .25s ease,border-color .25s ease!important}
.mega-menu-wrapper .search-icon-btn{width:32px!important;padding:0!important}
.mega-menu-wrapper .search-icon-btn svg{width:17px;height:17px}
.btn-nav-guide svg{width:15px;height:15px}
.btn-nav-guide::after,.mega-menu-wrapper .btn-nav-subscribe::after,.mega-menu-wrapper .search-icon-btn::after{display:none!important}
.btn-nav-guide,.mega-menu-wrapper .search-icon-btn{color:var(--nb-c)!important;border-color:var(--nb-c)!important}
.mega-menu-wrapper .btn-nav-subscribe{color:#fff!important;background:var(--nb-c)!important;border-color:var(--nb-c)!important}
.btn-nav-guide:hover,.btn-nav-guide:active,.mega-menu-wrapper .search-icon-btn:hover,.mega-menu-wrapper .search-icon-btn:active{color:#fff!important;background:var(--nb-c)!important;transform:none!important;box-shadow:none!important}
.mega-menu-wrapper .btn-nav-subscribe:hover,.mega-menu-wrapper .btn-nav-subscribe:active{background:var(--nb-d)!important;border-color:var(--nb-d)!important;transform:none!important;box-shadow:none!important}
.mega-menu-wrapper .d-flex.ms-auto{padding-bottom:0}
@media (min-width:992px){
.mega-menu-wrapper .navbar-collapse>.navbar-nav{flex:1 1 auto;justify-content:center;margin-left:0!important;margin-right:0!important}
.mega-menu-wrapper .navbar-nav>.nav-item{padding:0 4px 0 0}
.mega-menu-wrapper .navbar-nav>.nav-item>.nav-link{height:32px!important;padding:0 13px!important;gap:4px;font-size:13.5px!important;font-weight:600!important;color:var(--nb-c)!important;background:transparent!important;border:1.5px solid var(--nb-c)!important;box-shadow:none!important;text-shadow:none!important;transform:none!important;transition:background .25s ease,color .25s ease!important}
.mega-menu-wrapper .navbar-nav>.nav-item>.nav-link svg{width:16px;height:16px}
.mega-menu-wrapper .navbar-nav>.nav-item>.nav-link:hover,
.mega-menu-wrapper .navbar-nav>.nav-item:hover>.nav-link,
.mega-menu-wrapper .navbar-nav>.nav-item>.nav-link.show,
.mega-menu-wrapper .navbar-nav>.nav-item.active>.nav-link,
.mega-menu-wrapper .navbar-nav>.nav-item>.nav-link:active{color:#fff!important;background:var(--nb-c)!important;border-color:var(--nb-c)!important;box-shadow:none!important;transform:none!important;text-shadow:none!important}
[data-bs-theme="dark"] .mega-menu-wrapper .navbar-nav>.nav-item>.nav-link{background:transparent!important}
[data-bs-theme="dark"] .mega-menu-wrapper .navbar-nav>.nav-item:hover>.nav-link,[data-bs-theme="dark"] .mega-menu-wrapper .navbar-nav>.nav-item.active>.nav-link{background:var(--nb-c)!important}
}
[data-bs-theme="dark"] .btn-nav-guide,[data-bs-theme="dark"] .mega-menu-wrapper .search-icon-btn{background:transparent!important;color:var(--nb-c)!important}
[data-bs-theme="dark"] .btn-nav-guide:hover,[data-bs-theme="dark"] .mega-menu-wrapper .search-icon-btn:hover{background:var(--nb-c)!important;color:#fff!important}

/* ---- from themes/common/partials/_earn_reading_banner.php ---- */
.erp-banner-section{margin:24px 0 4px}

    /* Same look as the article reading reward card (.reading-reward-box.rr-ready) */
    .erp-card-box{
        --erp-g:#22a05a;--erp-c:var(--vr-theme-color,#19bc9c);
        position:relative;display:flex;align-items:center;gap:18px;max-width:800px;margin:0 auto;padding:18px 22px;
        border:1px solid var(--erp-g);border-radius:12px;background:rgba(34,160,90,.08);overflow:hidden
    }

    /* Left: member balance */
    .erp-account{flex:0 0 auto;display:flex;align-items:center;gap:12px;padding-right:20px;border-right:1px solid rgba(34,160,90,.25)}
    .erp-account-avatar{flex:0 0 46px;width:46px;height:46px;border-radius:50%;object-fit:cover;border:2px solid rgba(34,160,90,.35)}
    .erp-account-info{display:flex;flex-direction:column;min-width:0}
    .erp-account-hi{max-width:180px;font-size:.92rem;line-height:1.3;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
    .erp-account-hi strong{font-weight:700}
    .erp-account-label{font-size:.68rem;font-weight:600;letter-spacing:.6px;text-transform:uppercase;opacity:.65}
    .erp-account-money{display:flex;align-items:center;gap:4px;margin-top:1px}
    .erp-account-amount{font-size:1.35rem;font-weight:800;line-height:1.2;color:var(--erp-g);font-variant-numeric:tabular-nums;white-space:nowrap}
    .erp-account-eye{display:flex;align-items:center;justify-content:center;width:26px;height:26px;padding:0;border:0;border-radius:6px;color:inherit;opacity:.55;background:transparent;cursor:pointer;transition:opacity .15s,background .15s}
    .erp-account-eye:hover{opacity:1;background:rgba(34,160,90,.12)}
    .erp-eye-off{display:none}
    .erp-account.erp-masked .erp-eye-on{display:none}
    .erp-account.erp-masked .erp-eye-off{display:block}
    .erp-account-link{margin-left:4px;font-size:.78rem;font-weight:600;color:var(--erp-g) !important;text-decoration:none !important;white-space:nowrap}
    .erp-account-link:hover{text-decoration:underline !important}

    /* Guest icon (same as .rr-icon) */
    .erp-card-icon{flex:0 0 auto;display:flex;align-items:center;justify-content:center;width:52px;height:52px;border-radius:50%;color:var(--erp-g);background:rgba(34,160,90,.15);animation:erpFloat 3.2s ease-in-out infinite}
    @keyframes erpFloat{50%{transform:translateY(-4px)}}

    /* Middle: call to action text */
    .erp-card-body{flex:1 1 auto;min-width:0}
    .erp-card-eyebrow{display:inline-flex;align-items:center;gap:7px;margin-bottom:2px;font-size:.68rem;font-weight:700;letter-spacing:1.2px;text-transform:uppercase;color:var(--erp-g)}
    .erp-live{position:relative;width:7px;height:7px;border-radius:50%;background:var(--erp-g)}
    .erp-live:after{content:"";position:absolute;inset:0;border-radius:50%;background:var(--erp-g);animation:erpPing 1.6s ease-out infinite}
    @keyframes erpPing{to{transform:scale(2.6);opacity:0}}
    .erp-card-title{margin:0 0 3px;font-size:1.05rem;font-weight:700;line-height:1.3}
    .erp-rotator{position:relative;height:20px;overflow:hidden;font-size:.9rem;opacity:.85}
    .erp-rotator span{position:absolute;left:0;top:0;white-space:nowrap;opacity:0;animation:erpRotate 9s infinite}
    .erp-rotator span:nth-child(2){animation-delay:3s}
    .erp-rotator span:nth-child(3){animation-delay:6s}
    @keyframes erpRotate{0%{opacity:0;transform:translateY(100%)}5%,28%{opacity:1;transform:none}33%,100%{opacity:0;transform:translateY(-100%)}}
    .erp-banner-note{margin-top:4px;font-size:.82rem;color:var(--erp-g)}
    .erp-banner-note:empty{display:none}

    /* Right: button (same color as the "Unlock Earning" button) */
    .erp-card-action{flex:0 0 auto;display:flex;flex-direction:column;gap:8px;min-width:150px}
    .erp-myacc{display:flex;align-items:center;justify-content:center;gap:7px;height:38px;padding:0 14px;border-radius:8px;border:1.5px solid var(--erp-g);font-size:.86rem;font-weight:700;color:var(--erp-g) !important;text-decoration:none !important;white-space:nowrap;background:rgba(255,255,255,.55);transition:background .2s,color .2s,transform .15s,box-shadow .2s}
    .erp-myacc:hover{color:#fff !important;background:var(--erp-g);transform:translateY(-1px);box-shadow:0 8px 16px -8px var(--erp-g)}

    /* Active plan flag: hangs from the top edge of the card into the free space right of the member name */
    .erp-account{position:relative;align-self:stretch}
    .erp-flag{position:absolute;z-index:2;top:-18px;right:14px;display:flex;flex-direction:column;align-items:center;justify-content:flex-start;width:60px;padding:7px 4px 14px;color:#fff !important;text-decoration:none !important;text-align:center;line-height:1.1;clip-path:polygon(0 0,100% 0,100% 100%,50% 84%,0 100%);filter:drop-shadow(0 6px 8px rgba(0,0,0,.25));transition:transform .2s ease}
    .erp-flag:hover{transform:translateY(2px)}
    .erp-flag svg{margin-bottom:2px}
    .erp-flag b{display:block;max-width:100%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:.68rem;font-weight:800;letter-spacing:.04em;text-transform:uppercase}
    .erp-flag small{display:block;font-size:.48rem;font-weight:700;letter-spacing:.08em;text-transform:uppercase;opacity:.88}
    .erp-flag-bronze{background:linear-gradient(180deg,#e6a06a,#a85a24)}
    .erp-flag-silver{background:linear-gradient(180deg,#b8c4d4,#6b7a90)}
    .erp-flag-gold{color:#3a2703 !important;background:linear-gradient(180deg,#ffd76a,#d99a0c)}
    .erp-flag-platinum{background:linear-gradient(180deg,#8fa9d0,#3f5f90)}
    .erp-flag-plan{background:linear-gradient(180deg,#3fd07f,#14783f)}
    .erp-flag-free{background:linear-gradient(180deg,#a9b6c6,#7b8a9e)}
    .erp-flag-free svg{opacity:.8}
    .erp-account-info{padding-right:0}
    .erp-account-hi{box-sizing:border-box;max-width:240px;padding-right:76px}

    /* Next reading session timer */
    .erp-timers{display:flex;flex-wrap:wrap;gap:6px;margin-top:8px}
    .erp-tchip{display:inline-flex;align-items:center;gap:6px;padding:4px 10px;border-radius:999px;font-size:.76rem;font-weight:600;line-height:1.3;color:#166534;background:rgba(255,255,255,.7);border:1px solid rgba(34,160,90,.35)}
    .erp-tchip b{font-weight:800;font-variant-numeric:tabular-nums;letter-spacing:.02em}
    .erp-tchip svg{flex:0 0 auto}
    .erp-t-ready{color:#166534;background:rgba(34,197,94,.16);border-color:rgba(34,160,90,.5)}
    .erp-t-ready svg{animation:erpTick 1.6s ease-in-out infinite}
    .erp-t-cool{color:#92400e;background:rgba(251,191,36,.18);border-color:rgba(217,119,6,.45)}
    .erp-t-quota{color:#9a3412;background:rgba(249,115,22,.15);border-color:rgba(234,88,12,.45)}
    .erp-t-cool b,.erp-t-quota b{font-size:.84rem}
    .erp-t-today{color:#334155}
    @keyframes erpTick{50%{transform:scale(1.18) rotate(-8deg)}}
    .erp-card-box .erp-card-btn{position:relative;width:auto;height:46px;padding:0 20px;gap:7px;border-radius:8px;font-size:.95rem;font-weight:600;white-space:nowrap;overflow:visible;background:var(--erp-c);box-shadow:none}
    .erp-card-box .erp-card-btn:hover{background:color-mix(in srgb,var(--erp-c) 85%,#000);box-shadow:0 8px 18px -8px var(--erp-c)}
    .erp-card-box .erp-card-btn:before{content:"";position:absolute;inset:0;border-radius:inherit;border:2px solid var(--erp-c);animation:erpPulse 2.2s ease-out infinite;pointer-events:none}
    @keyframes erpPulse{0%{opacity:.6;transform:scale(1)}100%{opacity:0;transform:scale(1.1,1.3)}}
    .erp-card-box .erp-card-btn .erp-arrow{animation:erpNudge 1.6s ease-in-out infinite}
    @keyframes erpNudge{50%{transform:translateX(3px)}}

    @media (max-width:767px){
        .erp-banner-section{margin:18px 0 4px}
        .erp-card-box{flex-wrap:wrap;gap:12px;padding:16px}
        .erp-account{flex:1 1 100%;padding:0 0 12px;border-right:0;border-bottom:1px solid rgba(34,160,90,.25)}
        .erp-account-hi{padding-right:76px}
        .erp-account{align-self:auto}
    .erp-flag{top:-16px;right:0}
        .erp-card-icon{width:44px;height:44px}
        .erp-card-body{flex:1 1 0}
        .erp-card-action{flex:1 1 100%;flex-direction:row;min-width:0}
        .erp-card-box .erp-card-btn{flex:1 1 0;width:auto;padding:0 12px}
        .erp-myacc{flex:0 0 auto;height:46px;padding:0 16px}
    }
    @media (prefers-reduced-motion:reduce){
        .erp-card-box *,.erp-card-box *:before,.erp-card-box *:after{animation:none !important}
        .erp-t-ready svg{animation:none}
        .erp-rotator{height:auto}.erp-rotator span{position:static;display:none;opacity:1}.erp-rotator span:first-child{display:inline}
    }

/* ---- from themes/magazine/category/_keyword_ticker.php ---- */
.cat-kw-ticker { display: flex; align-items: center; gap: 12px; margin: -6px 0 18px; }
        .cat-kw-ticker .kw-label { flex: 0 0 auto; display: inline-flex; align-items: center; gap: 6px; font-size: 12px; font-weight: 700; letter-spacing: .04em; text-transform: uppercase;
            color: #fff; background: var(--vr-theme-color); padding: 5px 10px; border-radius: 999px; line-height: 1; }
        .cat-kw-ticker .kw-label svg { width: 12px; height: 12px; }
        .cat-kw-ticker .kw-viewport { position: relative; flex: 1 1 auto; min-width: 0; overflow: hidden;
            -webkit-mask-image: linear-gradient(90deg, transparent 0, #000 40px, #000 calc(100% - 40px), transparent 100%);
                    mask-image: linear-gradient(90deg, transparent 0, #000 40px, #000 calc(100% - 40px), transparent 100%); }
        .cat-kw-ticker .kw-track { display: flex; width: max-content; animation: catKwMarquee var(--kw-speed, 30s) linear infinite; will-change: transform; }
        .cat-kw-ticker:hover .kw-track, .cat-kw-ticker:focus-within .kw-track { animation-play-state: paused; }
        .cat-kw-ticker .kw-list { display: flex; gap: 10px; margin: 0; padding: 0 10px 0 0; list-style: none; }
        .cat-kw-ticker .kw-list a { display: inline-block; white-space: nowrap; font-size: 13px; font-weight: 500; line-height: 1; padding: 6px 12px; border-radius: 999px;
            color: var(--vr-text-main); background: var(--vr-gray-50, rgba(0,0,0,.04)); border: 1px solid var(--vr-border-color, rgba(0,0,0,.08));
            transition: color .25s ease, background-color .25s ease, border-color .25s ease, transform .25s ease; }
        .cat-kw-ticker .kw-list a::before { content: "#"; opacity: .5; margin-right: 2px; }
        .cat-kw-ticker .kw-list a:hover, .cat-kw-ticker .kw-list a:focus { color: #fff !important; background: var(--vr-theme-color); border-color: var(--vr-theme-color); transform: translateY(-1px); }
        [data-bs-theme=dark] .cat-kw-ticker .kw-list a { background: rgba(255,255,255,.06); border-color: rgba(255,255,255,.1); }
        @keyframes catKwMarquee { from { transform: translateX(0); } to { transform: translateX(-50%); } }
        /* Direction stays right to left on RTL pages too */
        [dir=rtl] .cat-kw-ticker .kw-viewport { direction: ltr; }
        @media (max-width: 575.98px) { .cat-kw-ticker .kw-label span { display: none; } }
        @media (prefers-reduced-motion: reduce) {
            .cat-kw-ticker .kw-track { animation: none; }
            .cat-kw-ticker .kw-viewport { overflow-x: auto; -webkit-mask-image: none; mask-image: none; }
            .cat-kw-ticker .kw-list[aria-hidden] { display: none; }
        }

/* ---- from themes/common/partials/_home_seo_section.php ---- */
.home-seo{padding:28px 0 8px}
    .home-seo .hs-eyebrow{margin:0 0 12px;font-size:.8rem;font-weight:700;letter-spacing:.08em;text-transform:uppercase;color:var(--vr-theme-color)}
    .home-seo .hs-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(310px,1fr));gap:16px}
    .home-seo .hs-card{padding:20px;border:1px solid var(--vr-border-color,#e5e7eb);border-radius:14px;background:var(--vr-bg-white,#fff)}
    .home-seo .hs-h2{margin:0 0 8px;font-size:1.15rem;font-weight:700;line-height:1.35;color:var(--vr-gray-900,#0f172a)}
    .home-seo .hs-h3{margin:12px 0 4px;font-size:.98rem;font-weight:700;color:var(--vr-gray-900,#0f172a)}
    .home-seo p{margin:0 0 8px;font-size:.93rem;line-height:1.6;color:var(--vr-gray-600,#475569)}
    .home-seo .hs-link{display:inline-block;margin-top:4px;font-weight:600;font-size:.9rem;color:var(--vr-theme-color);text-decoration:none}
    .home-seo .hs-link:hover{text-decoration:underline}
    .home-seo .hs-faq{margin-top:28px;max-width:860px}
    .home-seo .hs-faq > .hs-h2{font-size:1.35rem;margin-bottom:12px}
    .home-seo .hs-faq-item{border-bottom:1px solid var(--vr-border-color,#e5e7eb);padding:4px 0}
    .home-seo .hs-faq-item summary{cursor:pointer;list-style:none;padding:10px 28px 10px 0;position:relative}
    .home-seo .hs-faq-item summary::-webkit-details-marker{display:none}
    .home-seo .hs-faq-item summary::after{content:"+";position:absolute;right:4px;top:8px;font-size:1.25rem;color:var(--vr-theme-color)}
    .home-seo .hs-faq-item[open] summary::after{content:"\2212"}
    .home-seo .hs-q{display:inline;margin:0;font-size:1rem;font-weight:600;color:var(--vr-gray-900,#0f172a)}
    .home-seo .hs-faq-item p a{color:var(--vr-theme-color)}
    [data-bs-theme="dark"] .home-seo .hs-card{background:var(--vr-bg-body,#111827)}
    [data-bs-theme="dark"] .home-seo .hs-h2,[data-bs-theme="dark"] .home-seo .hs-h3,[data-bs-theme="dark"] .home-seo .hs-q{color:var(--vr-text-main,#f1f5f9)}
    [data-bs-theme="dark"] .home-seo p{color:var(--vr-text-muted,#cbd5e1)}

/* ---- from themes/common/partials/_app_download_card.php ---- */
.appdl{position:relative;display:flex;align-items:center;gap:18px;max-width:800px;margin:18px auto;padding:16px 20px;border-radius:14px;background:linear-gradient(135deg,#0f2a22,#0b1f3a);color:#fff;overflow:hidden;box-shadow:0 10px 28px -14px rgba(0,0,0,.45)}
.appdl[hidden]{display:none}
.appdl::after{content:"";position:absolute;right:-40px;top:-40px;width:160px;height:160px;border-radius:50%;background:radial-gradient(circle,rgba(34,160,90,.45),transparent 70%);pointer-events:none}
.appdl-ico{flex:0 0 auto;width:52px;height:52px;border-radius:22%;background:transparent;overflow:hidden;box-shadow:0 8px 18px -8px rgba(52,211,153,.7)}
.appdl-ico img{width:100%;height:100%;object-fit:cover;display:block}
.appdl-body{flex:1 1 auto;min-width:0;position:relative;z-index:1}
.appdl-tag{font-size:11px;letter-spacing:.08em;text-transform:uppercase;color:#7ee2a8;font-weight:700}
.appdl-title{font-size:18px;font-weight:700;line-height:1.25;margin:2px 0}
.appdl-sub{font-size:13px;opacity:.8;margin:0}
.appdl-btn{flex:0 0 auto;position:relative;z-index:1;display:inline-flex;align-items:center;gap:8px;padding:11px 20px;border:0;border-radius:30px;background:#22a05a;color:#fff!important;font-weight:700;font-size:14px;text-decoration:none!important;white-space:nowrap;cursor:pointer;transition:transform .2s,background .2s}
.appdl-btn:hover{background:#1c8a4d;transform:translateY(-1px)}
.appdl-x{position:absolute;top:6px;right:8px;z-index:2;background:none;border:0;color:#fff;opacity:.5;font-size:18px;line-height:1;cursor:pointer;padding:2px 6px}
.appdl-x:hover{opacity:1}
.appdl-inline{margin:26px 0;padding:14px 16px}
.appdl-inline .appdl-title{font-size:16px}
@media(max-width:575px){.appdl{flex-wrap:wrap;gap:12px;padding:16px}.appdl-btn{width:100%;justify-content:center}.appdl-sub{display:none}}

/* ---- from themes/common/partials/_earn_reading_popup.php ---- */
/* One compact card, centred on every screen */
    .erp-overlay{position:fixed;inset:0;z-index:1060;display:flex;align-items:center;justify-content:center;padding:16px;background:radial-gradient(80% 60% at 50% 50%,rgba(6,78,59,.35),transparent 70%),rgba(8,13,26,.62);backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px);opacity:0;transition:opacity .3s ease}
    .erp-overlay[hidden]{display:none}
    .erp-overlay.erp-show{opacity:1}
    .erp-card{position:relative;width:100%;max-width:392px;max-height:calc(100vh - 32px);max-height:calc(100dvh - 32px);overflow-x:hidden;overflow-y:auto;border-radius:28px;background:#fff;box-shadow:0 0 0 1px rgba(255,255,255,.08),0 40px 90px -18px rgba(2,6,23,.7);transform:translateY(18px) scale(.94);opacity:0;transition:transform .5s cubic-bezier(.16,1,.3,1),opacity .3s ease;font-family:inherit;-webkit-overflow-scrolling:touch}
    .erp-show .erp-card{transform:none;opacity:1}

    .erp-band{position:relative;height:124px;overflow:hidden;background:radial-gradient(120% 120% at 100% 0%,rgba(52,211,153,.55),transparent 55%),linear-gradient(140deg,#0b1220 0%,#0a3d33 58%,#059669 100%)}
    .erp-orb{position:absolute;border-radius:50%;filter:blur(2px)}
    .erp-orb1{width:150px;height:150px;left:-46px;top:-60px;background:rgba(255,255,255,.08)}
    .erp-orb2{width:120px;height:120px;right:-30px;bottom:-56px;background:rgba(110,231,183,.22)}
    .erp-wm{position:absolute;right:-6px;bottom:-30px;width:110px;height:110px;background:url('../img/e-icon-sm.webp') center/contain no-repeat;opacity:.13;transform:rotate(-10deg)}
    .erp-logo{position:absolute;left:50%;top:20px;width:112px;height:auto;margin-left:-56px;filter:drop-shadow(0 4px 10px rgba(0,0,0,.35))}
    .erp-chip{position:absolute;display:flex;align-items:center;justify-content:center;width:26px;height:26px;border-radius:50%;font-size:13px;font-weight:800;color:#5b3a00;background:radial-gradient(circle at 30% 25%,#fff3b0,#f5c542 55%,#d19a10);box-shadow:0 8px 14px -4px rgba(0,0,0,.45),inset 0 -2px 0 rgba(0,0,0,.12);animation:erpFloat 3s ease-in-out infinite}
    .erp-chip1{left:26px;top:26px}.erp-chip2{left:64px;top:62px;width:20px;height:20px;font-size:10px;animation-delay:-1s}.erp-chip3{right:64px;top:22px;width:18px;height:18px;font-size:9px;animation-delay:-2s}
    @keyframes erpFloat{0%,100%{transform:translateY(0) rotate(-6deg)}50%{transform:translateY(-7px) rotate(6deg)}}
    .erp-close{position:absolute;top:12px;right:12px;z-index:3;display:flex;align-items:center;justify-content:center;width:32px;height:32px;border:0;border-radius:50%;color:#fff;background:rgba(255,255,255,.16);backdrop-filter:blur(4px);cursor:pointer;transition:background .2s,transform .25s}
    .erp-close:hover{background:rgba(255,255,255,.3);transform:rotate(90deg)}
    .erp-badge{position:absolute;z-index:2;top:92px;left:50%;display:flex;align-items:center;justify-content:center;width:64px;height:64px;margin-left:-32px;border-radius:50%;color:#059669;background:#fff;box-shadow:0 0 0 5px #fff,0 16px 28px -10px rgba(5,150,105,.6)}
    .erp-inner{padding:44px 22px 20px;text-align:center}
    .erp-eyebrow{display:inline-flex;align-items:center;gap:7px;margin-bottom:10px;padding:5px 12px;border-radius:999px;font-size:11px;font-weight:700;letter-spacing:1.2px;text-transform:uppercase;color:#047857;background:#ecfdf5;border:1px solid #a7f3d0}
    .erp-eyebrow i{width:7px;height:7px;border-radius:50%;background:#10b981;animation:erpPing 1.8s ease-out infinite}
    @keyframes erpPing{0%{box-shadow:0 0 0 0 rgba(16,185,129,.6)}70%,100%{box-shadow:0 0 0 8px rgba(16,185,129,0)}}
    .erp-title{margin:0 0 8px;font-size:23px;font-weight:800;line-height:1.2;letter-spacing:-.4px;color:#0f172a}
    .erp-text{margin:0 auto 16px;max-width:320px;font-size:14px;line-height:1.5;color:#64748b}
    .erp-balance{display:flex;align-items:center;gap:12px;margin:0 0 14px;padding:11px 14px;border-radius:16px;text-align:left;color:#fff;background:linear-gradient(135deg,#10b981,#047857);box-shadow:0 14px 24px -14px rgba(4,120,87,.85)}
    .erp-balance-ico{display:flex;align-items:center;justify-content:center;flex:0 0 38px;width:38px;height:38px;border-radius:12px;background:rgba(255,255,255,.2)}
    .erp-balance-txt small{display:block;font-size:11px;font-weight:600;letter-spacing:.06em;text-transform:uppercase;opacity:.85}
    .erp-balance-txt b{display:block;font-size:20px;font-weight:800;line-height:1.15}
    .erp-steps{display:grid;grid-template-columns:repeat(3,1fr);gap:8px;margin:0 0 16px;padding:0;list-style:none}
    .erp-steps li{display:flex;flex-direction:column;align-items:center;gap:8px;padding:12px 6px 10px;border-radius:16px;background:#f5faf8;border:1px solid #e2f1ec;transition:transform .2s ease,box-shadow .2s ease}
    .erp-steps li:hover{transform:translateY(-2px);box-shadow:0 12px 20px -14px rgba(5,150,105,.7)}
    .erp-fi{display:flex;align-items:center;justify-content:center;width:38px;height:38px;border-radius:12px;color:#fff;background:linear-gradient(135deg,#10b981,#059669);box-shadow:0 10px 16px -10px rgba(5,150,105,.9)}
    .erp-steps strong{font-size:12px;font-weight:700;line-height:1.3;color:#0f172a}
    .erp-btn{display:flex;align-items:center;justify-content:center;gap:10px;width:100%;height:50px;padding:0 20px;border:0;border-radius:10px;font-size:15.5px;font-weight:600;letter-spacing:.1px;color:#fff !important;text-decoration:none !important;background:#059669;box-shadow:0 1px 2px rgba(0,0,0,.08),inset 0 1px 0 rgba(255,255,255,.12);cursor:pointer;transition:background .15s,box-shadow .15s,transform .15s}
    .erp-btn:hover{background:#047857;box-shadow:0 8px 20px -6px rgba(5,150,105,.6)}
    .erp-btn:active{transform:translateY(1px)}
    .erp-btn:focus-visible{outline:3px solid #a7f3d0;outline-offset:2px}
    .erp-arrow{transition:transform .15s}
    .erp-btn:hover .erp-arrow{transform:translateX(3px)}
    .erp-spinner{display:none;width:18px;height:18px;border:2px solid rgba(255,255,255,.35);border-top-color:#fff;border-radius:50%;animation:erpSpin .7s linear infinite}
    .erp-btn.erp-loading{pointer-events:none;background:#047857}
    .erp-btn.erp-loading .erp-spinner{display:inline-block}
    .erp-btn.erp-loading .erp-arrow{display:none}
    @keyframes erpSpin{to{transform:rotate(360deg)}}
    .erp-card .erp-btn{position:relative;overflow:hidden;height:54px;border-radius:16px;font-size:16px;font-weight:700;background:linear-gradient(135deg,#10b981 0%,#059669 55%,#047857 100%);box-shadow:0 16px 28px -12px rgba(5,150,105,.75),inset 0 1px 0 rgba(255,255,255,.3)}
    .erp-card .erp-btn::after{content:"";position:absolute;top:0;left:-70%;width:45%;height:100%;background:linear-gradient(105deg,transparent,rgba(255,255,255,.4),transparent);transform:skewX(-20deg);animation:erpShine 3.6s ease-in-out infinite}
    @keyframes erpShine{0%,55%{left:-70%}100%{left:130%}}
    .erp-card .erp-btn:hover{background:linear-gradient(135deg,#0fbf8a 0%,#059669 55%,#047857 100%);transform:translateY(-1px);box-shadow:0 20px 32px -12px rgba(5,150,105,.85),inset 0 1px 0 rgba(255,255,255,.3)}
    .erp-card .erp-btn{position:relative;overflow:hidden;height:52px;border-radius:16px;font-size:16px;font-weight:700;background:linear-gradient(135deg,#10b981 0%,#059669 55%,#047857 100%);box-shadow:0 16px 28px -12px rgba(5,150,105,.75),inset 0 1px 0 rgba(255,255,255,.3)}
    .erp-card .erp-btn::after{content:"";position:absolute;top:0;left:-70%;width:45%;height:100%;background:linear-gradient(105deg,transparent,rgba(255,255,255,.4),transparent);transform:skewX(-20deg);animation:erpShine 3.6s ease-in-out infinite}
    @keyframes erpShine{0%,55%{left:-70%}100%{left:130%}}
    .erp-card .erp-btn:hover{transform:translateY(-1px);box-shadow:0 20px 32px -12px rgba(5,150,105,.85),inset 0 1px 0 rgba(255,255,255,.3)}
    .erp-note{min-height:0;margin-top:8px;font-size:13px;text-align:center;color:#64748b}
    .erp-note:empty{display:none}
    .erp-links{display:flex;align-items:center;justify-content:center;flex-wrap:wrap;gap:8px;margin-top:12px;font-size:13px;color:#94a3b8}
    .erp-links a,.erp-links button{padding:0;border:0;background:none;font-size:13px;font-weight:600;color:#475569;text-decoration:none;cursor:pointer}
    .erp-links a:hover,.erp-links button:hover{color:#0f172a;text-decoration:underline}
    .erp-free{display:inline-flex;align-items:center;gap:6px;color:#047857;font-weight:600}

    /* Small phones and short screens: everything still fits in the middle of the screen */
    @media (max-width:420px){
        .erp-overlay{padding:14px}
        .erp-card{border-radius:24px}
        .erp-band{height:104px}
        .erp-logo{top:16px;width:100px;margin-left:-50px}
        .erp-badge{top:74px;width:58px;height:58px;margin-left:-29px}
        .erp-inner{padding:38px 16px 16px}
        .erp-title{font-size:21px}
        .erp-text{font-size:13.5px;margin-bottom:12px}
        .erp-steps{gap:6px;margin-bottom:14px}
        .erp-steps li{padding:10px 4px 8px}
        .erp-steps strong{font-size:11.5px}
    }
    @media (max-height:760px){
        .erp-band{height:104px}.erp-logo{top:16px;width:100px;margin-left:-50px}
        .erp-badge{top:72px;width:56px;height:56px;margin-left:-28px}
        .erp-inner{padding:38px 20px 16px}.erp-title{font-size:21px;margin-bottom:6px}
        .erp-text{font-size:13.5px;margin-bottom:10px}.erp-eyebrow{margin-bottom:8px}
        .erp-steps{margin-bottom:12px}.erp-steps li{padding:9px 4px 8px;gap:6px}
    }
    @media (max-height:640px){
        .erp-band{height:84px}.erp-logo{top:12px;width:84px;margin-left:-42px}.erp-badge{top:56px;width:52px;height:52px;margin-left:-26px}
        .erp-inner{padding-top:34px}.erp-text{display:none}.erp-steps{margin-bottom:12px}.erp-fi{width:32px;height:32px}
    }
    @media (prefers-reduced-motion:reduce){.erp-card,.erp-overlay{transition:none}.erp-chip,.erp-eyebrow i,.erp-card .erp-btn::after{animation:none}}

/* ---- from themes/common/partials/_referral_nudge_popup.php ---- */
.rnp-overlay{position:fixed;inset:0;z-index:1060;display:flex;align-items:center;justify-content:center;padding:16px;background:radial-gradient(80% 60% at 50% 50%,rgba(6,78,59,.35),transparent 70%),rgba(8,13,26,.62);backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px);opacity:0;transition:opacity .3s ease}
    .rnp-overlay[hidden]{display:none}
    .rnp-overlay.rnp-show{opacity:1}
    .rnp-card{position:relative;width:100%;max-width:400px;max-height:calc(100vh - 32px);max-height:calc(100dvh - 32px);overflow-x:hidden;overflow-y:auto;border-radius:28px;background:#fff;box-shadow:0 0 0 1px rgba(255,255,255,.08),0 40px 90px -18px rgba(2,6,23,.7);transform:translateY(18px) scale(.94);opacity:0;transition:transform .5s cubic-bezier(.16,1,.3,1),opacity .3s ease;font-family:inherit;-webkit-overflow-scrolling:touch}
    .rnp-show .rnp-card{transform:none;opacity:1}
    .rnp-band{position:relative;height:118px;overflow:hidden;background:radial-gradient(120% 120% at 0% 0%,rgba(52,211,153,.5),transparent 55%),linear-gradient(140deg,#0b1220 0%,#0a3d33 58%,#059669 100%)}
    .rnp-orb{position:absolute;border-radius:50%}
    .rnp-orb1{width:150px;height:150px;right:-46px;top:-60px;background:rgba(255,255,255,.08)}
    .rnp-orb2{width:120px;height:120px;left:-30px;bottom:-56px;background:rgba(110,231,183,.2)}
    .rnp-dot{position:absolute;width:10px;height:10px;border-radius:50%;background:#6ee7b7;box-shadow:0 0 0 4px rgba(110,231,183,.18);animation:rnpFloat 3.2s ease-in-out infinite}
    .rnp-dot1{left:30px;top:28px}.rnp-dot2{right:52px;top:58px;width:8px;height:8px;animation-delay:-1s}.rnp-dot3{left:84px;top:72px;width:6px;height:6px;animation-delay:-2s}
    @keyframes rnpFloat{0%,100%{transform:translateY(0)}50%{transform:translateY(-7px)}}
    .rnp-logo{position:absolute;left:50%;top:20px;width:112px;height:auto;margin-left:-56px;filter:drop-shadow(0 4px 10px rgba(0,0,0,.35))}
    .rnp-close{position:absolute;top:12px;right:12px;z-index:3;display:flex;align-items:center;justify-content:center;width:32px;height:32px;border:0;border-radius:50%;color:#fff;background:rgba(255,255,255,.16);cursor:pointer;transition:background .2s,transform .25s}
    .rnp-close:hover{background:rgba(255,255,255,.3);transform:rotate(90deg)}
    .rnp-badge{position:absolute;z-index:2;top:86px;left:50%;display:flex;align-items:center;justify-content:center;width:64px;height:64px;margin-left:-32px;border-radius:50%;color:#059669;background:#fff;box-shadow:0 0 0 5px #fff,0 16px 28px -10px rgba(5,150,105,.6)}
    .rnp-inner{padding:44px 22px 20px;text-align:center}
    .rnp-eyebrow{display:inline-flex;align-items:center;gap:7px;margin-bottom:10px;padding:5px 12px;border-radius:999px;font-size:11px;font-weight:700;letter-spacing:1.2px;text-transform:uppercase;color:#047857;background:#ecfdf5;border:1px solid #a7f3d0}
    .rnp-eyebrow i{width:7px;height:7px;border-radius:50%;background:#10b981;animation:rnpPing 1.8s ease-out infinite}
    @keyframes rnpPing{0%{box-shadow:0 0 0 0 rgba(16,185,129,.6)}70%,100%{box-shadow:0 0 0 8px rgba(16,185,129,0)}}
    .rnp-title{margin:0 0 8px;font-size:22px;font-weight:800;line-height:1.25;letter-spacing:-.3px;color:#0f172a}
    .rnp-text{margin:0 auto 14px;max-width:330px;font-size:14px;line-height:1.5;color:#64748b}
    .rnp-target{margin:0 0 12px;padding:10px 14px;border-radius:14px;background:#f5faf8;border:1px solid #e2f1ec;text-align:left}
    .rnp-target-row{display:flex;justify-content:space-between;align-items:center;font-size:12.5px;color:#475569}
    .rnp-target-row b{color:#0f172a}
    .rnp-bar{height:6px;margin-top:7px;border-radius:3px;background:#e2e8f0;overflow:hidden}
    .rnp-bar span{display:block;width:4%;height:100%;border-radius:3px;background:linear-gradient(90deg,#10b981,#059669)}
    .rnp-link{display:flex;gap:6px;margin:0 0 12px;padding:5px;border-radius:14px;background:#f8fafc;border:1px dashed #a7f3d0}
    .rnp-link input{flex:1;min-width:0;border:0;background:transparent;padding:0 8px;font-size:13px;color:#0f172a;outline:0;text-overflow:ellipsis}
    .rnp-copy{display:inline-flex;align-items:center;gap:6px;flex:0 0 auto;height:36px;padding:0 12px;border:0;border-radius:10px;font-size:13px;font-weight:700;color:#047857;background:#d1fae5;cursor:pointer;transition:background .15s}
    .rnp-copy:hover{background:#a7f3d0}
    .rnp-copy.rnp-copied{color:#fff;background:#059669}
    .rnp-btn{position:relative;overflow:hidden;display:flex;align-items:center;justify-content:center;gap:10px;width:100%;height:52px;padding:0 20px;border-radius:16px;font-size:16px;font-weight:700;color:#fff !important;text-decoration:none !important;background:linear-gradient(135deg,#10b981 0%,#059669 55%,#047857 100%);box-shadow:0 16px 28px -12px rgba(5,150,105,.75),inset 0 1px 0 rgba(255,255,255,.3);transition:transform .15s,box-shadow .15s}
    .rnp-btn::after{content:"";position:absolute;top:0;left:-70%;width:45%;height:100%;background:linear-gradient(105deg,transparent,rgba(255,255,255,.4),transparent);transform:skewX(-20deg);animation:rnpShine 3.6s ease-in-out infinite}
    @keyframes rnpShine{0%,55%{left:-70%}100%{left:130%}}
    .rnp-btn:hover{transform:translateY(-1px);box-shadow:0 20px 32px -12px rgba(5,150,105,.85)}
    .rnp-btn:focus-visible{outline:3px solid #a7f3d0;outline-offset:2px}
    .rnp-links{margin-top:12px}
    .rnp-links button{padding:0;border:0;background:none;font-size:13px;font-weight:600;color:#475569;cursor:pointer}
    .rnp-links button:hover{color:#0f172a;text-decoration:underline}
    @media (max-width:420px){
        .rnp-overlay{padding:14px}.rnp-card{border-radius:24px}
        .rnp-band{height:100px}.rnp-logo{top:16px;width:100px;margin-left:-50px}
        .rnp-badge{top:70px;width:58px;height:58px;margin-left:-29px}
        .rnp-inner{padding:38px 16px 16px}.rnp-title{font-size:20px}.rnp-text{font-size:13.5px;margin-bottom:12px}
        .rnp-copy span{display:none}.rnp-copy{padding:0 11px}
    }
    @media (max-height:640px){
        .rnp-band{height:84px}.rnp-logo{top:12px;width:84px;margin-left:-42px}.rnp-badge{top:56px;width:52px;height:52px;margin-left:-26px}
        .rnp-inner{padding-top:34px}.rnp-text{display:none}
    }
    @media (prefers-reduced-motion:reduce){.rnp-card,.rnp-overlay{transition:none}.rnp-dot,.rnp-eyebrow i,.rnp-btn::after{animation:none}}

/* ---- from themes/common/partials/_pwa.php ---- */
.pwa-banner { position: fixed; z-index: 1065; left: 16px; bottom: 16px; width: 380px; max-width: calc(100vw - 32px); padding: 16px 16px 14px; border-radius: 18px;
        color: #e8f5ee; background: linear-gradient(160deg, #0f2a1d, #0b1622); border: 1px solid rgba(52,211,153,.3);
        box-shadow: 0 24px 48px -18px rgba(0,0,0,.55); transform: translateY(24px); opacity: 0; transition: transform .35s cubic-bezier(.2,.8,.2,1), opacity .35s; }
    .pwa-banner.is-in { transform: none; opacity: 1; }
    .pwa-banner[hidden] { display: none; }
    .pwa-row { display: flex; gap: 14px; align-items: center; padding-right: 18px; }
    .pwa-icon { flex: 0 0 56px; width: 56px; height: 56px; border-radius: 22%; background: transparent; object-fit: cover; box-shadow: 0 8px 18px -8px rgba(52,211,153,.7); }
    .pwa-title { font-weight: 800; font-size: 1.02rem; color: #fff; line-height: 1.25; }
    .pwa-sub { font-size: .84rem; color: rgba(232,245,238,.72); margin-top: 3px; line-height: 1.4; }
    .pwa-x { position: absolute; top: 8px; right: 10px; border: 0; background: none; color: #fff; opacity: .55; font-size: 22px; line-height: 1; cursor: pointer; padding: 2px 6px; }
    .pwa-x:hover { opacity: 1; }
    .pwa-ios { margin-top: 12px; padding: 10px 12px; border-radius: 12px; background: rgba(255,255,255,.06); font-size: .85rem; }
    .pwa-ios ol { margin: 0; padding-left: 18px; display: grid; gap: 5px; }
    .pwa-ios svg { vertical-align: -3px; color: #34d399; }
    .pwa-ios b { color: #34d399; font-size: 1.1em; }
    .pwa-hint { margin-top: 8px; font-size: .78rem; color: rgba(232,245,238,.65); }
    .pwa-inapp p { margin: 0 0 10px; }
    .pwa-open-chrome { text-decoration: none !important; }
    .pwa-actions { display: flex; justify-content: flex-end; gap: 8px; margin-top: 14px; }
    .pwa-btn { display: inline-flex; align-items: center; gap: 7px; border: 0; border-radius: 999px; padding: 10px 18px; font-weight: 700; font-size: .9rem; cursor: pointer; transition: transform .2s, background .2s; }
    .pwa-btn-main { background: #22a05a; color: #fff; box-shadow: 0 10px 22px -10px rgba(34,160,90,.9); }
    .pwa-btn-main:hover { background: #1c8a4d; transform: translateY(-1px); }
    .pwa-btn-ghost { background: transparent; color: rgba(232,245,238,.8); }
    .pwa-btn-ghost:hover { color: #fff; }
    @media (max-width: 575px) {
        .pwa-banner { left: 10px; right: 10px; bottom: 10px; width: auto; max-width: none; }
        body.has-acc-bar .pwa-banner { bottom: 78px; }
    }
    @media (prefers-reduced-motion: reduce) { .pwa-banner { transition: none; } }
