/*
Theme Name: XGT Theme
Theme URI: https://xgrupostelegram.com
Author: XGT
Author URI: https://xgrupostelegram.com
Description: Tema próprio do XGT para catálogo de grupos do Telegram.
Version: 1.2.6
Text Domain: xgt-theme
*/

:root{
    --bg0:#070612;
    --bg1:#0b0a18;
    --card:#0c1020;
    --card-2:#10162a;
    --text:#e7e7ff;
    --muted:#a7a7c8;
    --stroke:rgba(255,255,255,.08);
    --purple:#8a2be2;
    --rose:#ff3ea5;
    --cyan:#21d4fd;
    --glow:0 0 18px rgba(255,62,165,.20),0 0 28px rgba(138,43,226,.18);
    --max:1320px;
}

*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{
    margin:0;
    font-family:Arial, Helvetica, sans-serif;
    color:var(--text);
    background:
        radial-gradient(1100px 600px at 20% -10%, rgba(138,43,226,.22), transparent 60%),
        radial-gradient(900px 520px at 80% -10%, rgba(255,62,165,.18), transparent 55%),
        radial-gradient(1000px 700px at 50% 120%, rgba(33,212,253,.10), transparent 60%),
        linear-gradient(180deg, var(--bg1), var(--bg0) 50%, #05040d 100%);
    min-height:100vh;
}
a{color:inherit;text-decoration:none}
img{display:block;max-width:100%}
.xgt-wrap{min-height:100vh}
.xgt-container{width:min(var(--max), calc(100% - 32px));margin:0 auto}
.xgt-topbar{
    position:sticky;top:0;z-index:999;
    background:linear-gradient(180deg, rgba(12,16,32,.92), rgba(10,14,26,.78));
    border-bottom:1px solid var(--stroke);
    backdrop-filter:blur(10px);
}
.xgt-topbar-inner{
    display:flex;align-items:center;justify-content:space-between;
    gap:16px;padding:16px 0;flex-wrap:wrap;
}
.xgt-brand{display:flex;align-items:center;gap:10px;font-weight:800;letter-spacing:.2px;font-size:20px}
.xgt-brand-badge{
    width:18px;height:18px;border-radius:999px;
    background:radial-gradient(circle at 30% 30%, var(--cyan), var(--purple) 55%, var(--rose) 100%);
    box-shadow:var(--glow);
}
.xgt-nav{display:flex;align-items:center;gap:6px;flex-wrap:wrap}
.xgt-nav-pill{
    color:var(--muted);padding:11px 14px;border-radius:14px;
    display:inline-flex;align-items:center;gap:8px;border:1px solid transparent;
}
.xgt-nav-pill:hover{
    color:var(--text);border-color:rgba(255,255,255,.10);background:rgba(255,255,255,.03);
}
.xgt-nav-pill.active{
    color:var(--text);
    background:linear-gradient(90deg, rgba(138,43,226,.20), rgba(255,62,165,.16));
    border-color:rgba(255,62,165,.25);
    box-shadow:var(--glow);
}
.xgt-actions{display:flex;align-items:center;gap:10px;flex-wrap:wrap}
.xgt-search{
    display:flex;align-items:center;background:rgba(5,6,12,.40);
    border:1px solid rgba(255,255,255,.10);border-radius:14px;overflow:hidden;
}
.xgt-search input{
    width:260px;max-width:48vw;background:transparent;border:0;outline:none;
    color:var(--text);padding:12px 14px;
}
.xgt-search button{
    border:0;color:#fff;padding:12px 14px;cursor:pointer;
    background:linear-gradient(90deg, rgba(138,43,226,.85), rgba(255,62,165,.85));
}
.xgt-cta{
    border:0;color:#fff;font-weight:700;padding:12px 16px;border-radius:14px;
    background:linear-gradient(90deg, rgba(255,62,165,.95), rgba(138,43,226,.95));
    box-shadow:var(--glow);display:inline-flex;align-items:center;gap:8px;
}
.xgt-main{padding:24px 0 48px}
.xgt-notice{
    background:linear-gradient(90deg, rgba(138,43,226,.16), rgba(255,62,165,.10));
    border:1px solid rgba(255,255,255,.10);border-radius:16px;padding:16px;
    box-shadow:0 10px 26px rgba(0,0,0,.25);margin-bottom:20px;
}
.xgt-notice-row{
    display:flex;align-items:center;justify-content:space-between;gap:16px;flex-wrap:wrap;
}
.xgt-muted{color:var(--muted)}
.xgt-results{margin:0 0 16px;color:#cfcfea}
.xgt-grid{display:grid;grid-template-columns:repeat(4, minmax(0, 1fr));gap:18px}
.xgt-card{
    background:linear-gradient(180deg, rgba(12,16,32,.95), rgba(9,12,22,.92));
    border:1px solid rgba(255,255,255,.08);border-radius:18px;
    box-shadow:0 12px 30px rgba(0,0,0,.32);overflow:hidden;position:relative;height:100%;
    transition:transform .15s ease, border-color .15s ease, box-shadow .15s ease;
}
.xgt-card:hover{
    transform:translateY(-3px);border-color:rgba(255,62,165,.22);
    box-shadow:0 18px 42px rgba(0,0,0,.38), var(--glow);
}
.xgt-pin{
    position:absolute;top:12px;right:12px;z-index:2;
    font-size:12px;font-weight:700;color:#fff;padding:5px 10px;border-radius:999px;
    background:linear-gradient(90deg, rgba(255,62,165,.92), rgba(138,43,226,.92));
    box-shadow:var(--glow);
}
.xgt-bar{height:4px;background:rgba(255,255,255,.06)}
.xgt-bar span{
    display:block;height:100%;
    background:linear-gradient(90deg, rgba(33,212,253,.9), rgba(138,43,226,.9), rgba(255,62,165,.9));
    box-shadow:var(--glow);
}
.xgt-avatar{
    width:92px;height:92px;border-radius:999px;display:grid;place-items:center;
    font-weight:900;font-size:34px;color:#fff;box-shadow:0 10px 24px rgba(0,0,0,.40);
    border:1px solid rgba(255,255,255,.14);margin:22px auto 14px;overflow:hidden;
}
.xgt-avatar img{width:100%;height:100%;object-fit:cover}
.xgt-title{text-align:center;font-weight:800;letter-spacing:.2px;padding:0 16px;margin:0 0 6px;font-size:22px}
.xgt-meta{text-align:center;color:var(--muted);margin-bottom:10px;padding:0 14px;min-height:42px}
.xgt-excerpt{
    color:#d8d8f0;font-size:15px;line-height:1.45;text-align:center;
    padding:0 16px;min-height:44px;
}
.xgt-card-actions{display:flex;justify-content:center;margin:18px 0}
.xgt-tgbtn{
    display:inline-flex;align-items:center;gap:8px;border-radius:12px;padding:11px 14px;
    border:1px solid rgba(33,212,253,.22);
    background:linear-gradient(90deg, rgba(33,212,253,.18), rgba(138,43,226,.12));
    color:var(--text);font-weight:700;
}
.xgt-tgbtn:hover{border-color:rgba(255,62,165,.22);box-shadow:var(--glow)}
.xgt-stats{
    display:flex;justify-content:space-between;align-items:center;gap:10px;
    padding:12px 16px 16px;color:var(--muted);font-size:14px;
}
.xgt-empty{
    background:linear-gradient(90deg, rgba(138,43,226,.16), rgba(255,62,165,.10));
    border:1px solid rgba(255,255,255,.10);border-radius:16px;padding:18px;
}
.xgt-footer{
    color:rgba(255,255,255,.45);border-top:1px solid rgba(255,255,255,.06);
    padding:24px 0;margin-top:30px;text-align:center;
}
.xgt-single{max-width:840px;margin:0 auto}
.xgt-single-card{
    background:linear-gradient(180deg, rgba(12,16,32,.95), rgba(9,12,22,.92));
    border:1px solid rgba(255,255,255,.08);border-radius:22px;padding:24px;
    box-shadow:0 12px 30px rgba(0,0,0,.32);
}
.xgt-single-title{margin:0 0 10px;font-size:38px;line-height:1.1}
.xgt-single-thumb{margin:18px 0;border-radius:18px;overflow:hidden;border:1px solid rgba(255,255,255,.08)}
.xgt-content{color:#dddff5;line-height:1.7}
.xgt-content p{margin:0 0 1em}
.xgt-back{display:inline-flex;align-items:center;gap:8px;margin-bottom:16px;color:var(--muted)}
.xgt-back:hover{color:var(--text)}
.xgt-archive-head{margin-bottom:18px}
.xgt-archive-head h1{margin:0 0 8px}
@media (max-width: 1100px){.xgt-grid{grid-template-columns:repeat(3, minmax(0, 1fr))}}
@media (max-width: 860px){.xgt-grid{grid-template-columns:repeat(2, minmax(0, 1fr))}}
@media (max-width: 860px){
    .xgt-site-footer{
        padding:28px 0 14px;
    }
    .xgt-site-footer-grid{
        grid-template-columns:1fr;
        gap:22px;
    }
}
@media (max-width: 760px){
    .xgt-topbar{position:static}
    .xgt-topbar-inner{
        display:grid;
        grid-template-columns:1fr;
        align-items:stretch;
        gap:12px;
        padding:14px 0;
    }
    .xgt-brand{
        grid-row:1;
        width:100%;
        font-size:18px;
    }
    .xgt-actions{
        grid-row:2;
        width:100%;
        display:grid;
        grid-template-columns:1fr;
        gap:10px;
    }
    .xgt-search{
        width:100%;
    }
    .xgt-search input{
        width:100%;
        max-width:100%;
        min-width:0;
    }
    .xgt-search button{
        padding:13px 16px;
        flex-shrink:0;
    }
    .xgt-cta{
        justify-self:start;
        padding:10px 14px;
        border-radius:12px;
        font-size:15px;
    }
    .xgt-nav{
        grid-row:3;
        width:100%;
        flex-wrap:nowrap;
        overflow-x:auto;
        overflow-y:hidden;
        gap:10px;
        padding-bottom:4px;
        -webkit-overflow-scrolling:touch;
        scrollbar-width:none;
    }
    .xgt-nav::-webkit-scrollbar{display:none}
    .xgt-nav-pill{
        flex:0 0 auto;
        white-space:nowrap;
    }
}
@media (max-width: 640px){
    .xgt-grid{grid-template-columns:1fr}
    .xgt-search input{width:100%;max-width:100%}
    .xgt-container{width:min(var(--max), calc(100% - 20px))}
    .xgt-single-title{font-size:30px}
}


.xgt-card-cover{display:block}
.xgt-card-body{padding-bottom:8px}
.xgt-card-title-link{display:block}
.xgt-card-title-link:hover{color:#fff}
.xgt-card-tags{display:flex;justify-content:center;gap:8px;flex-wrap:wrap;padding:0 16px 8px}
.xgt-chip{
    display:inline-flex;align-items:center;justify-content:center;
    padding:6px 10px;border-radius:999px;
    background:rgba(255,255,255,.05);border:1px solid rgba(255,255,255,.08);
    color:var(--text);font-size:13px;font-weight:700;
}
.xgt-status-badge{
    position:absolute;top:14px;left:14px;z-index:2;
    display:inline-flex;align-items:center;justify-content:center;
    min-height:32px;padding:6px 10px;border-radius:999px;
    font-size:12px;font-weight:800;letter-spacing:.2px;
    border:1px solid rgba(255,255,255,.10);
}
.xgt-status-badge--active{
    background:rgba(16,185,129,.16);
    color:#d5ffe9;
    border-color:rgba(16,185,129,.30);
}
.xgt-status-badge--unavailable{
    background:rgba(245,158,11,.16);
    color:#ffe9c1;
    border-color:rgba(245,158,11,.30);
}
.xgt-status-badge--removed{
    background:rgba(244,63,94,.16);
    color:#ffd1db;
    border-color:rgba(244,63,94,.30);
}
.xgt-card--unavailable .xgt-card-cover,
.xgt-card--removed .xgt-card-cover{opacity:.96}
.xgt-single{max-width:980px;margin:0 auto}
.xgt-single-card{
    position:relative;
    background:linear-gradient(180deg, rgba(12,16,32,.95), rgba(9,12,22,.92));
    border:1px solid rgba(255,255,255,.08);border-radius:22px;padding:24px;
    box-shadow:0 12px 30px rgba(0,0,0,.32);
}
.xgt-single-header{text-align:center;margin-bottom:18px}
.xgt-single-header .xgt-status-badge{position:static;margin:0 auto 14px}
.xgt-single-title{margin:0 0 6px;font-size:38px;line-height:1.1}
.xgt-single-username{color:var(--muted);font-size:16px}
.xgt-single-hero{
    display:grid;grid-template-columns:220px 1fr;gap:24px;align-items:center;
    margin:22px 0 24px;
}
.xgt-single-avatar{
    width:220px;height:220px;border-radius:999px;overflow:hidden;
    margin:0 auto;border:1px solid rgba(255,255,255,.10);
    box-shadow:0 18px 42px rgba(0,0,0,.38);
}
.xgt-single-avatar img{width:100%;height:100%;object-fit:cover}
.xgt-single-avatar--fallback{
    display:grid;place-items:center;
    font-size:64px;font-weight:900;color:#fff;
    background:linear-gradient(135deg, rgba(33,212,253,.30), rgba(138,43,226,.32), rgba(255,62,165,.28));
}
.xgt-single-actions{display:flex;flex-direction:column;align-items:flex-start;gap:12px}
.xgt-note{margin:0;color:var(--muted);line-height:1.6}
.xgt-single-kpis{
    display:grid;grid-template-columns:repeat(4, minmax(0, 1fr));gap:12px;
    margin-top:6px;
}
.xgt-kpi{
    padding:16px;border-radius:16px;
    background:rgba(255,255,255,.04);border:1px solid rgba(255,255,255,.08);
    display:flex;flex-direction:column;gap:6px;align-items:center;justify-content:center;
    text-align:center;
}
.xgt-kpi strong{font-size:22px;line-height:1.1}
.xgt-kpi span{color:var(--muted);font-size:14px}
.xgt-alert{
    display:flex;flex-direction:column;gap:8px;
    margin-top:18px;padding:16px;border-radius:16px;
    background:rgba(244,63,94,.10);border:1px solid rgba(244,63,94,.24);
    color:#ffe7ed;
}
.xgt-alert small{color:#ffd1db}
.xgt-related{margin-top:28px}
.xgt-section-title{margin:0 0 16px;font-size:26px}
@media (max-width: 860px){
    .xgt-single-hero{grid-template-columns:1fr}
    .xgt-single-actions{align-items:center;text-align:center}
    .xgt-single-kpis{grid-template-columns:repeat(2, minmax(0, 1fr))}
}
@media (max-width: 640px){
    .xgt-single-avatar{width:164px;height:164px}
    .xgt-single-title{font-size:30px}
    .xgt-single-kpis{grid-template-columns:1fr}
}


/* XGT post/home username cleanup */
.xgt-card .xgt-meta > div + div{
    display:none;
}


.xgt-brand-link{
    text-decoration:none;
}
.xgt-brand-link:hover{
    opacity:.96;
}
.xgt-pagination{
    margin:30px 0 8px;
}
.xgt-pagination-inner{
    width:min(520px, 100%);
    margin:0 auto;
    display:grid;
    grid-template-columns:minmax(116px, 1fr) auto minmax(116px, 1fr);
    align-items:center;
    gap:12px;
    padding:10px;
    border-radius:20px;
    border:1px solid rgba(255,255,255,.08);
    background:linear-gradient(90deg, rgba(12,16,32,.58), rgba(9,12,22,.72));
    box-shadow:0 14px 32px rgba(0,0,0,.24);
}
.xgt-page-action{
    min-height:42px;
    padding:0 15px;
    display:inline-flex;
    align-items:center;
    justify-content:center;
    gap:8px;
    border-radius:14px;
    border:1px solid rgba(255,255,255,.10);
    background:rgba(255,255,255,.035);
    color:var(--text);
    font-weight:800;
    white-space:nowrap;
    transition:background .15s ease, border-color .15s ease, transform .15s ease;
}
.xgt-page-action:hover{
    transform:translateY(-1px);
    border-color:rgba(255,62,165,.26);
    background:linear-gradient(90deg, rgba(33,212,253,.13), rgba(138,43,226,.15));
    box-shadow:var(--glow);
}
.xgt-page-action.is-disabled{
    opacity:.35;
    cursor:not-allowed;
    transform:none;
    box-shadow:none;
}
.xgt-page-status{
    min-height:42px;
    padding:0 18px;
    display:inline-flex;
    align-items:center;
    justify-content:center;
    gap:7px;
    border-radius:14px;
    color:#fff;
    font-weight:800;
    background:linear-gradient(90deg, rgba(138,43,226,.30), rgba(255,62,165,.24));
    border:1px solid rgba(255,62,165,.24);
    box-shadow:var(--glow);
    white-space:nowrap;
}
.xgt-page-status-label,
.xgt-page-status-separator{
    color:var(--muted);
    font-weight:700;
}
.xgt-page-action-icon{
    font-size:22px;
    line-height:1;
}
@media (max-width: 640px){
    .xgt-pagination{
        margin:24px 0 4px;
    }
    .xgt-pagination-inner{
        width:min(260px, 100%);
        grid-template-columns:44px 1fr 44px;
        gap:8px;
        padding:8px;
        border-radius:18px;
    }
    .xgt-page-action{
        min-width:44px;
        width:44px;
        min-height:40px;
        padding:0;
        border-radius:13px;
    }
    .xgt-page-action-label,
    .xgt-page-status-label{
        display:none;
    }
    .xgt-page-status{
        min-height:40px;
        padding:0 12px;
        gap:5px;
        border-radius:13px;
    }
    .xgt-page-status-separator{
        font-size:0;
    }
    .xgt-page-status-separator::before{
        content:"/";
        font-size:14px;
    }
}
.xgt-site-footer{
    margin-top:38px;
    padding:34px 0 16px;
    background:linear-gradient(180deg, rgba(12,16,32,.92), rgba(10,14,26,.78));
    border-top:1px solid rgba(255,255,255,.06);
}
.xgt-site-footer-grid{
    display:grid;
    grid-template-columns:minmax(0, 1.7fr) minmax(220px, .8fr);
    gap:36px;
    align-items:start;
    justify-content:space-between;
}
.xgt-site-footer h2{
    margin:0 0 12px;
    font-size:15px;
    line-height:1.15;
    letter-spacing:.14em;
    text-transform:uppercase;
    color:#fff;
}
.xgt-site-footer-copy{
    max-width:720px;
}
.xgt-site-footer-copy p{
    margin:0 0 10px;
    color:var(--muted);
    font-size:12px;
    line-height:1.7;
}
.xgt-site-footer-links{
    display:flex;
    flex-direction:column;
    align-items:flex-start;
    gap:8px;
    padding-top:1px;
}
.xgt-site-footer-links a{
    color:#55b8ff;
    font-size:12px;
    font-weight:700;
    line-height:1.35;
}
.xgt-site-footer-links a:hover{
    color:#8fd0ff;
}
.xgt-site-footer-bottom{
    margin-top:20px;
    padding-top:14px;
    border-top:1px solid rgba(255,255,255,.07);
    color:rgba(255,255,255,.50);
    font-size:12px;
    text-align:center;
}
@media (max-width: 860px){
    .xgt-site-footer{
        padding:28px 0 14px;
    }
    .xgt-site-footer-grid{
        grid-template-columns:1fr;
        gap:18px;
    }
    .xgt-site-footer h2{
        font-size:14px;
    }
    .xgt-site-footer-copy p,
    .xgt-site-footer-links a,
    .xgt-site-footer-bottom{
        font-size:12px;
    }
}


/* Patch 1.2.0 */
.xgt-topbar{
    position:static;
}
.xgt-topbar-inner{
    display:grid;
    grid-template-columns:minmax(0, 1fr) minmax(320px, 520px);
    grid-template-areas:
        "brand search"
        "nav nav";
    align-items:center;
    gap:18px 22px;
    padding:18px 0 14px;
}
.xgt-brand{
    grid-area:brand;
    min-width:0;
}
.xgt-search{
    grid-area:search;
    width:100%;
    justify-self:end;
    background:rgba(5,6,12,.48);
    border-color:rgba(255,255,255,.12);
    border-radius:16px;
}
.xgt-search input{
    width:100%;
    max-width:none;
    min-width:0;
    padding:13px 15px;
}
.xgt-search button{
    min-width:108px;
    padding:13px 16px;
    font-weight:700;
}
.xgt-nav{
    grid-area:nav;
    width:100%;
    gap:10px;
    flex-wrap:wrap;
    padding-top:2px;
}
.xgt-nav-pill{
    min-height:44px;
    padding:11px 16px;
    border-radius:14px;
}
.xgt-main{
    padding:28px 0 52px;
}
.xgt-notice{
    padding:18px;
    margin-bottom:22px;
    border-radius:18px;
}
.xgt-notice-row{
    gap:18px;
}
.xgt-grid{
    gap:20px;
}
.xgt-card{
    border-radius:20px;
}
.xgt-card-link{
    display:block;
    height:100%;
    color:inherit;
}
.xgt-card-link:focus-visible{
    outline:2px solid rgba(33,212,253,.7);
    outline-offset:3px;
}
.xgt-card:hover .xgt-tgbtn--card{
    border-color:rgba(255,62,165,.24);
    box-shadow:var(--glow);
}
.xgt-card-cover{
    display:block;
    padding-top:4px;
}
.xgt-avatar{
    width:96px;
    height:96px;
    margin:26px auto 16px;
}
.xgt-card-body{
    display:flex;
    flex-direction:column;
    padding-bottom:10px;
}
.xgt-title{
    margin:0 0 8px;
    padding:0 18px;
    font-size:21px;
    line-height:1.12;
    min-height:2.24em;
    display:-webkit-box;
    -webkit-line-clamp:2;
    -webkit-box-orient:vertical;
    overflow:hidden;
}
.xgt-meta{
    min-height:auto;
    margin-bottom:12px;
    padding:0 18px;
    font-size:15px;
}
.xgt-card-tags{
    padding:0 18px 10px;
}
.xgt-chip{
    padding:7px 12px;
    font-size:12px;
    font-weight:800;
    background:rgba(255,255,255,.04);
}
.xgt-card-actions{
    margin:18px 0 14px;
}
.xgt-tgbtn{
    min-height:44px;
    padding:11px 16px;
    border-radius:14px;
}
.xgt-tgbtn--card{
    min-width:132px;
    justify-content:center;
}
.xgt-stats{
    display:grid;
    grid-template-columns:repeat(3, minmax(0, 1fr));
    gap:12px;
    padding:0 18px 18px;
    font-size:13px;
}
.xgt-stats span{
    padding:10px 8px;
    border-radius:14px;
    border:1px solid rgba(255,255,255,.06);
    background:rgba(255,255,255,.03);
    text-align:center;
    color:var(--muted);
}
.xgt-status-badge{
    top:16px;
    left:16px;
}
.xgt-pin{
    top:14px;
    right:14px;
}
.xgt-site-footer{
    margin-top:44px;
    padding:38px 0 18px;
}
.xgt-site-footer-grid{
    grid-template-columns:minmax(0, 1.6fr) repeat(2, minmax(180px, .8fr));
    gap:32px;
}
.xgt-site-footer-copy{
    max-width:none;
}
.xgt-site-footer-copy p{
    font-size:13px;
    line-height:1.8;
    max-width:720px;
}
.xgt-site-footer-links{
    gap:10px;
}
.xgt-site-footer-links a{
    font-size:13px;
}
.xgt-site-footer-bottom{
    display:flex;
    align-items:center;
    justify-content:space-between;
    gap:12px;
    flex-wrap:wrap;
    text-align:left;
}
.xgt-results{
    margin:0 0 18px;
}
@media (max-width: 860px){
    .xgt-topbar-inner{
        grid-template-columns:1fr;
        grid-template-areas:
            "brand"
            "search"
            "nav";
        gap:12px;
        padding:14px 0;
    }
    .xgt-brand{
        font-size:18px;
    }
    .xgt-search{
        justify-self:stretch;
    }
    .xgt-nav{
        flex-wrap:nowrap;
        overflow-x:auto;
        overflow-y:hidden;
        padding:2px 0 6px;
        -webkit-overflow-scrolling:touch;
        scrollbar-width:none;
    }
    .xgt-nav::-webkit-scrollbar{
        display:none;
    }
    .xgt-nav-pill{
        flex:0 0 auto;
        white-space:nowrap;
    }
    .xgt-grid{
        grid-template-columns:repeat(2, minmax(0, 1fr));
        gap:14px;
    }
    .xgt-card{
        border-radius:18px;
    }
    .xgt-avatar{
        width:72px;
        height:72px;
        margin:20px auto 12px;
    }
    .xgt-title{
        padding:0 12px;
        margin-bottom:6px;
        font-size:16px;
        min-height:2.3em;
    }
    .xgt-meta{
        padding:0 12px;
        margin-bottom:10px;
        font-size:13px;
    }
    .xgt-card-tags{
        padding:0 12px 8px;
    }
    .xgt-chip{
        padding:6px 9px;
        font-size:11px;
    }
    .xgt-card-actions{
        margin:14px 0 10px;
    }
    .xgt-tgbtn{
        min-height:40px;
        border-radius:12px;
    }
    .xgt-tgbtn--card{
        min-width:104px;
        padding:10px 12px;
        font-size:14px;
    }
    .xgt-stats{
        gap:8px;
        padding:0 10px 12px;
        font-size:11px;
    }
    .xgt-stats span{
        padding:8px 6px;
        border-radius:12px;
    }
    .xgt-status-badge{
        top:12px;
        left:12px;
        min-height:28px;
        padding:5px 9px;
        font-size:11px;
    }
    .xgt-pin{
        top:12px;
        right:12px;
        font-size:11px;
    }
    .xgt-site-footer{
        padding:30px 0 16px;
    }
    .xgt-site-footer-grid{
        grid-template-columns:1fr;
        gap:20px;
    }
    .xgt-site-footer-bottom{
        flex-direction:column;
        align-items:flex-start;
    }
}
@media (max-width: 420px){
    .xgt-container{
        width:min(var(--max), calc(100% - 20px));
    }
    .xgt-search button{
        min-width:92px;
        padding:13px 14px;
    }
    .xgt-nav-pill{
        padding:10px 14px;
    }
    .xgt-grid{
        grid-template-columns:repeat(2, minmax(0, 1fr));
        gap:12px;
    }
}
@media (max-width: 360px){
    .xgt-grid{
        grid-template-columns:1fr;
    }
}


/* Patch 1.2.2 */
@media (min-width: 861px){
    .xgt-site-footer-grid{
        grid-template-columns:minmax(0, 1.9fr) minmax(240px, .7fr);
        align-items:start;
        gap:48px;
    }
    .xgt-site-footer-links{
        justify-self:end;
        width:min(100%, 260px);
    }
}


/* Mobile sidebar drawer - restores original nav outside drawer */
.xgt-mobile-menu-toggle,
.xgt-mobile-drawer,
.xgt-mobile-drawer-overlay{
    display:none;
}

@media (max-width: 860px){
    body.xgt-mobile-drawer-open{
        overflow:hidden;
        touch-action:none;
    }

    .xgt-topbar{
        position:static;
        top:auto;
    }

    .xgt-topbar-inner{
        grid-template-columns:40px minmax(0, 1fr);
        grid-template-areas:
            "menu brand"
            "nav nav";
        align-items:center;
        gap:8px 10px;
        padding:10px 0 8px;
    }

    .xgt-mobile-menu-toggle{
        grid-area:menu;
        display:inline-flex;
        align-items:center;
        justify-content:center;
        width:34px;
        height:34px;
        border:1px solid rgba(255,62,165,.32);
        border-radius:10px;
        color:#fff;
        background:rgba(12,16,32,.72);
        box-shadow:0 0 14px rgba(255,62,165,.12);
        font-size:20px;
        line-height:1;
        cursor:pointer;
    }

    .xgt-brand{
        grid-area:brand;
        min-width:0;
        max-width:100%;
        font-size:17px;
        line-height:1.15;
        overflow:hidden;
    }

    .xgt-brand .xgt-brand-badge{
        flex:0 0 auto;
    }

    .xgt-brand span:last-child{
        display:block;
        min-width:0;
        overflow:hidden;
        white-space:nowrap;
        text-overflow:ellipsis;
    }

    .xgt-search{
        display:none;
    }

    .xgt-nav{
        grid-area:nav;
        display:flex;
        width:100%;
        flex-wrap:nowrap;
        gap:8px;
        overflow-x:auto;
        overflow-y:hidden;
        padding:3px 0 2px;
        -webkit-overflow-scrolling:touch;
        scrollbar-width:none;
    }

    .xgt-nav::-webkit-scrollbar{
        display:none;
    }

    .xgt-nav-pill{
        flex:0 0 auto;
        min-height:34px;
        padding:8px 12px;
        border-radius:12px;
        font-size:14px;
        line-height:1;
        white-space:nowrap;
    }

    .xgt-mobile-drawer-overlay{
        display:block;
        position:fixed;
        inset:0;
        z-index:9998;
        background:rgba(0,0,0,.62);
        backdrop-filter:blur(2px);
    }

    .xgt-mobile-drawer-overlay[hidden]{
        display:none !important;
    }

    .xgt-mobile-drawer{
        display:flex;
        flex-direction:column;
        position:fixed;
        top:0;
        left:0;
        z-index:9999;
        width:min(68vw, 258px);
        max-width:258px;
        height:100dvh;
        max-height:100dvh;
        overflow-y:auto;
        overscroll-behavior:contain;
        padding:10px 10px 18px;
        transform:translateX(-105%);
        transition:transform .18s ease;
        background:
            radial-gradient(280px 180px at 25% 0%, rgba(255,62,165,.16), transparent 58%),
            linear-gradient(180deg, rgba(9,10,22,.98), rgba(5,6,13,.98));
        border-right:1px solid rgba(255,62,165,.22);
        box-shadow:16px 0 38px rgba(0,0,0,.48);
    }

    body.xgt-mobile-drawer-open .xgt-mobile-drawer{
        transform:translateX(0);
    }

    .xgt-mobile-drawer-head{
        display:flex;
        align-items:center;
        justify-content:space-between;
        gap:8px;
        padding:0 0 10px;
        border-bottom:1px solid rgba(255,255,255,.07);
        margin-bottom:10px;
    }

    .xgt-mobile-drawer-head .xgt-brand{
        font-size:13px;
        letter-spacing:.4px;
        text-transform:uppercase;
    }

    .xgt-mobile-drawer-head .xgt-brand-badge{
        width:14px;
        height:14px;
    }

    .xgt-mobile-drawer-close{
        display:inline-flex;
        align-items:center;
        justify-content:center;
        width:30px;
        height:30px;
        border:1px solid rgba(255,255,255,.14);
        border-radius:9px;
        color:#fff;
        background:rgba(255,255,255,.08);
        font-size:20px;
        line-height:1;
        cursor:pointer;
    }

    .xgt-mobile-drawer-action{
        display:flex;
        align-items:center;
        justify-content:flex-start;
        min-height:38px;
        padding:9px 12px;
        margin:0 0 8px;
        border-radius:11px;
        color:#fff;
        font-size:14px;
        font-weight:800;
        background:linear-gradient(90deg, rgba(255,62,165,.96), rgba(138,43,226,.92));
        box-shadow:0 10px 24px rgba(255,62,165,.18);
    }

    .xgt-mobile-category-nav{
        display:flex;
        flex-direction:column;
        gap:0;
    }

    .xgt-mobile-category-link{
        display:flex;
        align-items:center;
        gap:10px;
        min-height:44px;
        padding:7px 2px;
        border-bottom:1px solid rgba(255,255,255,.075);
        color:var(--rose);
        font-weight:800;
        font-size:13px;
        line-height:1.15;
    }

    .xgt-mobile-category-link:hover{
        color:#fff;
    }

    .xgt-mobile-category-avatar{
        width:32px;
        height:32px;
        flex:0 0 32px;
        border-radius:999px;
        display:grid;
        place-items:center;
        overflow:hidden;
        color:#fff;
        font-size:11px;
        font-weight:900;
        background:linear-gradient(135deg, rgba(255,62,165,.92), rgba(138,43,226,.92));
        border:1px solid rgba(255,255,255,.12);
    }

    .xgt-mobile-category-avatar img{
        width:100%;
        height:100%;
        object-fit:cover;
    }

    .xgt-mobile-category-empty{
        color:var(--muted);
        font-size:13px;
        padding:10px 0;
    }
}

@media (min-width: 861px){
    .xgt-mobile-menu-toggle,
    .xgt-mobile-drawer,
    .xgt-mobile-drawer-overlay{
        display:none !important;
    }
}


/* Mobile drawer hardening: full-height solid panel + no click leakage */
@media (max-width: 860px){
    .xgt-mobile-drawer-overlay{
        position:fixed !important;
        inset:0 !important;
        width:100vw !important;
        height:100vh !important;
        min-height:100vh !important;
        z-index:2147483000 !important;
        pointer-events:auto !important;
        background:rgba(0,0,0,.68) !important;
        backdrop-filter:blur(2px);
        -webkit-backdrop-filter:blur(2px);
    }

    .xgt-mobile-drawer{
        position:fixed !important;
        top:0 !important;
        bottom:0 !important;
        left:0 !important;
        z-index:2147483001 !important;
        width:min(68vw, 258px) !important;
        max-width:258px !important;
        height:auto !important;
        min-height:100vh !important;
        max-height:none !important;
        overflow-y:auto !important;
        overscroll-behavior:contain !important;
        pointer-events:auto !important;
        opacity:1 !important;
        background:
            radial-gradient(280px 180px at 25% 0%, rgba(255,62,165,.12), transparent 58%),
            linear-gradient(180deg, #090a16 0%, #05060d 100%) !important;
        isolation:isolate !important;
    }

    body.xgt-mobile-drawer-open .xgt-main,
    body.xgt-mobile-drawer-open main,
    body.xgt-mobile-drawer-open .xgt-grid,
    body.xgt-mobile-drawer-open .xgt-card{
        pointer-events:none !important;
    }

    body.xgt-mobile-drawer-open .xgt-topbar,
    body.xgt-mobile-drawer-open .xgt-mobile-drawer,
    body.xgt-mobile-drawer-open .xgt-mobile-drawer *,
    body.xgt-mobile-drawer-open .xgt-mobile-drawer-overlay{
        pointer-events:auto !important;
    }
}


/* Mobile drawer layer fix: drawer/overlay are rendered outside the header so cards cannot paint above it. */
@media (max-width: 860px){
    .xgt-mobile-drawer-overlay,
    .xgt-mobile-drawer{
        transform-style:flat !important;
        backface-visibility:hidden !important;
        will-change:transform !important;
    }

    .xgt-mobile-drawer-overlay{
        position:fixed !important;
        inset:0 !important;
        display:block;
        z-index:2147483600 !important;
    }

    .xgt-mobile-drawer-overlay[hidden]{
        display:none !important;
    }

    .xgt-mobile-drawer{
        position:fixed !important;
        inset:0 auto 0 0 !important;
        z-index:2147483601 !important;
        height:100vh !important;
        min-height:100vh !important;
        max-height:100vh !important;
        background:#070814 !important;
        background:
            radial-gradient(320px 210px at 20% 0%, rgba(255,62,165,.13), transparent 60%),
            linear-gradient(180deg, #090a16 0%, #05060d 100%) !important;
        box-shadow:18px 0 44px rgba(0,0,0,.72) !important;
        opacity:1 !important;
    }

    body.xgt-mobile-drawer-open .xgt-card,
    body.xgt-mobile-drawer-open .xgt-notice,
    body.xgt-mobile-drawer-open .xgt-grid{
        transform:none !important;
    }
}


/* Default mobile sidebar category shortcuts */
@media (max-width: 860px){
    .xgt-mobile-default-nav{
        display:flex;
        flex-direction:column;
        margin:0 0 8px;
        padding:0 0 8px;
        border-bottom:1px solid rgba(255,255,255,.08);
    }

    .xgt-mobile-default-link{
        color:#fff !important;
    }

    .xgt-mobile-default-avatar{
        background:linear-gradient(135deg, rgba(0,207,255,.94), rgba(138,43,226,.94)) !important;
        box-shadow:0 0 14px rgba(0,207,255,.18);
    }
}


/* Mobile header search toggle */
.xgt-mobile-search-toggle{
    display:none;
}

@media (max-width: 860px){
    .xgt-topbar-inner{
        grid-template-columns:34px minmax(0, 1fr) 34px;
        grid-template-areas:
            "menu brand search-toggle"
            "search search search"
            "nav nav nav";
    }

    .xgt-mobile-search-toggle{
        grid-area:search-toggle;
        display:inline-flex;
        align-items:center;
        justify-content:center;
        width:34px;
        height:34px;
        border:1px solid rgba(255,62,165,.32);
        border-radius:10px;
        color:#fff;
        background:
            radial-gradient(circle at 30% 20%, rgba(33,212,253,.42), transparent 45%),
            linear-gradient(135deg, rgba(12,16,32,.86), rgba(138,43,226,.34));
        box-shadow:0 0 14px rgba(255,62,165,.12);
        font-size:21px;
        line-height:1;
        cursor:pointer;
    }

    .xgt-mobile-search-toggle[aria-expanded="true"]{
        border-color:rgba(255,62,165,.62);
        background:linear-gradient(135deg, rgba(33,212,253,.28), rgba(255,62,165,.42));
        box-shadow:0 0 18px rgba(255,62,165,.22);
    }

    .xgt-search{
        grid-area:search;
        width:100%;
        display:none;
        align-items:center;
        margin:3px 0 0;
        border-radius:13px;
        background:rgba(5,6,12,.72);
        border:1px solid rgba(255,62,165,.20);
        box-shadow:0 10px 24px rgba(0,0,0,.24), 0 0 18px rgba(138,43,226,.12);
    }

    body.xgt-mobile-search-open .xgt-search{
        display:flex;
    }

    .xgt-search input{
        width:100%;
        max-width:none;
        min-width:0;
        padding:11px 12px;
        font-size:14px;
    }

    .xgt-search button{
        flex:0 0 auto;
        padding:11px 13px;
        font-size:13px;
        font-weight:800;
        border-radius:0 12px 12px 0;
    }
}


/* XGT compact pagination size tuning */
.xgt-pagination{
    margin:20px 0 4px;
}
.xgt-pagination-inner{
    width:min(390px, 100%);
    grid-template-columns:minmax(92px, 1fr) auto minmax(92px, 1fr);
    gap:8px;
    padding:7px;
    border-radius:15px;
    box-shadow:0 10px 24px rgba(0,0,0,.20);
}
.xgt-page-action{
    min-height:34px;
    padding:0 11px;
    gap:6px;
    border-radius:11px;
    font-size:13px;
}
.xgt-page-status{
    min-height:34px;
    padding:0 13px;
    gap:5px;
    border-radius:11px;
    font-size:13px;
}
.xgt-page-action-icon{
    font-size:18px;
}
@media (max-width: 640px){
    .xgt-pagination{
        margin:18px 0 2px;
    }
    .xgt-pagination-inner{
        width:min(178px, 100%);
        grid-template-columns:34px 1fr 34px;
        gap:6px;
        padding:6px;
        border-radius:14px;
    }
    .xgt-page-action{
        min-width:34px;
        width:34px;
        min-height:32px;
        border-radius:10px;
        font-size:13px;
    }
    .xgt-page-status{
        min-height:32px;
        padding:0 8px;
        border-radius:10px;
        font-size:13px;
    }
    .xgt-page-action-icon{
        font-size:17px;
    }
}
