
/* GHOSTBASE V26.06 — MEMBERS DIRECTORY PREMIUM */

.gb-members-hero{
    border-bottom:1px solid #1f333a;
    background:
        radial-gradient(circle at 85% 10%,rgba(255,107,0,.10),transparent 32%),
        linear-gradient(145deg,#0b161a,#080d10);
}
.gb-members-hero__inner,
.gb-members-directory__inner{
    width:min(100%,1220px);
    margin:0 auto;
    padding-left:24px;
    padding-right:24px;
}
.gb-members-hero__inner{
    min-height:300px;
    display:grid;
    grid-template-columns:minmax(0,1fr) 360px;
    align-items:center;
    gap:50px;
    padding-top:50px;
    padding-bottom:50px;
}
.gb-members-copy>span,
.gb-members-toolbar .title>span,
.gb-member-group>header span{
    color:#ff6b00;
    font-size:9px;
    font-weight:950;
    letter-spacing:.15em;
}
.gb-members-copy h1{
    margin:8px 0 12px;
    font-size:52px;
    line-height:.98;
    letter-spacing:-.055em;
}
.gb-members-copy h1 b{color:#fff}
.gb-members-copy p{
    max-width:640px;
    margin:0;
    color:#85969d;
    font-size:14px;
    line-height:1.6;
}
.gb-members-actions{
    display:flex;
    gap:8px;
    flex-wrap:wrap;
    margin-top:22px;
}
.gb-members-actions a{
    min-height:42px;
    display:grid;
    place-items:center;
    padding:0 15px;
    border:1px solid #344a53;
    border-radius:9px;
    color:#dfe7e9;
    text-decoration:none;
    font-size:10px;
    font-weight:900;
}
.gb-members-actions a.primary{
    border-color:#ff6b00;
    background:linear-gradient(90deg,#ff6b00,#ff8c00);
    color:#111;
}
.gb-members-stats{
    display:grid;
    grid-template-columns:repeat(2,1fr);
    gap:10px;
}
.gb-members-stats article{
    padding:18px;
    border:1px solid #2c414a;
    border-radius:14px;
    background:rgba(8,18,22,.72);
}
.gb-members-stats small,
.gb-members-stats strong,
.gb-members-stats span{display:block}
.gb-members-stats small{
    color:#6e838c;
    font-size:7px;
    font-weight:950;
    letter-spacing:.12em;
}
.gb-members-stats strong{
    margin:7px 0 3px;
    font-size:31px;
    letter-spacing:-.04em;
}
.gb-members-stats span{color:#687d86;font-size:8px}

.gb-members-directory{
    padding:38px 0 70px;
    background:#070c0f;
}
.gb-members-toolbar{
    display:grid;
    grid-template-columns:minmax(260px,.75fr) minmax(0,1.5fr);
    gap:28px;
    align-items:end;
    padding:17px;
    border:1px solid #263d46;
    border-radius:15px;
    background:#0a1519;
}
.gb-members-toolbar .title h2{
    margin:6px 0 5px;
    font-size:27px;
    letter-spacing:-.04em;
}
.gb-members-toolbar .title p{
    margin:0;
    color:#70858e;
    font-size:9px;
    line-height:1.5;
}
.gb-members-filter{
    display:grid;
    grid-template-columns:minmax(220px,1.5fr) repeat(4,minmax(120px,.8fr)) auto;
    gap:7px;
    align-items:center;
}
.gb-members-filter .search{
    display:grid;
    grid-template-columns:34px 1fr;
    align-items:center;
    min-width:0;
    border:1px solid #344a53;
    border-radius:9px;
    background:#081216;
}
.gb-members-filter .search span{
    display:grid;
    place-items:center;
    color:#6f848d;
}
.gb-members-filter input,
.gb-members-filter select{
    width:100%;
    min-width:0;
    height:42px;
    padding:0 10px;
    border:1px solid #344a53;
    border-radius:9px;
    outline:none;
    background:#081216;
    color:#dfe7e9;
    font-size:9px;
}
.gb-members-filter .search input{
    border:0;
    background:transparent;
}
.gb-members-filter button{
    height:42px;
    padding:0 14px;
    border:0;
    border-radius:9px;
    background:linear-gradient(90deg,#ff6b00,#ff8c00);
    color:#111;
    font-size:9px;
    font-weight:950;
    cursor:pointer;
}
.gb-member-group{margin-top:30px}
.gb-member-group>header{
    display:flex;
    align-items:end;
    justify-content:space-between;
    gap:16px;
    margin-bottom:11px;
}
.gb-member-group>header h2{
    margin:5px 0 0;
    font-size:22px;
}
.gb-member-group>header>strong{
    padding:6px 9px;
    border:1px solid #2a4149;
    border-radius:999px;
    color:#81969e;
    font-size:8px;
}
.gb-member-grid{
    display:grid;
    grid-template-columns:repeat(3,minmax(0,1fr));
    gap:10px;
}
.gb-member-card{
    position:relative;
    display:grid;
    grid-template-columns:72px minmax(0,1fr) 25px;
    gap:12px;
    align-items:center;
    min-height:112px;
    padding:12px;
    border:1px solid #263d46;
    border-radius:13px;
    background:
        radial-gradient(circle at 100% 0,rgba(255,107,0,.04),transparent 35%),
        #0a1519;
    color:#edf3f5;
    text-decoration:none;
    transition:transform .16s ease,border-color .16s ease,background .16s ease;
}
.gb-member-card:hover{
    transform:translateY(-2px);
    border-color:#76401b;
    background:#0d181c;
}
.gb-member-photo{
    position:relative;
    width:72px;
    height:82px;
    overflow:hidden;
    border:1px solid #344c55;
    border-radius:11px;
    background:#071014;
}
.gb-member-photo img{
    width:100%;
    height:100%;
    object-fit:cover;
}
.gb-member-photo>b{
    width:100%;
    height:100%;
    display:grid;
    place-items:center;
    color:#ff6b00;
    font-size:24px;
}
.gb-member-photo i{
    position:absolute;
    right:5px;
    top:5px;
    width:8px;
    height:8px;
    border:2px solid #0a1519;
    border-radius:50%;
    background:#62dc96;
}
.gb-member-card__body{min-width:0}
.gb-member-id{
    color:#7a8f97;
    font-size:7px;
    font-weight:900;
    letter-spacing:.06em;
}
.gb-member-card h3{
    margin:5px 0 7px;
    overflow:hidden;
    color:#f1f5f6;
    font-size:15px;
    line-height:1.1;
    text-overflow:ellipsis;
    white-space:nowrap;
}
.gb-member-meta{
    display:grid;
    gap:3px;
    color:#84979f;
    font-size:8px;
}
.gb-member-meta span{
    overflow:hidden;
    text-overflow:ellipsis;
    white-space:nowrap;
}
.gb-member-badges{
    display:flex;
    gap:4px;
    flex-wrap:wrap;
    margin-top:7px;
}
.gb-member-badges em{
    padding:4px 6px;
    border:1px solid #29434b;
    border-radius:999px;
    color:#718790;
    font-size:6px;
    font-style:normal;
    font-weight:850;
}
.gb-member-badges em:first-child{
    border-color:#28583f;
    background:#0a2017;
    color:#63dc96;
}
.gb-member-arrow{
    color:#ff6b00;
    font-size:17px;
    opacity:.65;
}
.gb-members-empty{
    margin-top:30px;
    padding:45px 20px;
    border:1px dashed #314851;
    border-radius:14px;
    text-align:center;
}
.gb-members-empty .icon{
    width:55px;
    height:55px;
    display:grid;
    place-items:center;
    margin:0 auto 13px;
    border:1px solid #7b4219;
    border-radius:13px;
    background:#160f0b;
    color:#ff6b00;
    font-weight:950;
}
.gb-members-empty h3{margin:0;font-size:17px}
.gb-members-empty p{color:#70858e;font-size:9px}

@media(max-width:1150px){
    .gb-members-filter{grid-template-columns:repeat(3,minmax(0,1fr))}
    .gb-members-filter .search{grid-column:span 2}
    .gb-member-grid{grid-template-columns:repeat(2,1fr)}
}
@media(max-width:850px){
    .gb-members-hero__inner{grid-template-columns:1fr;gap:25px;min-height:auto}
    .gb-members-stats{max-width:430px}
    .gb-members-toolbar{grid-template-columns:1fr}
}
@media(max-width:650px){
    .gb-members-hero__inner,.gb-members-directory__inner{padding-left:14px;padding-right:14px}
    .gb-members-copy h1{font-size:39px}
    .gb-members-filter{grid-template-columns:1fr}
    .gb-members-filter .search{grid-column:auto}
    .gb-member-grid{grid-template-columns:1fr}
}


/* =========================================================
   V26.08 — Diretório de membros: escala e controles
   ========================================================= */
.gb-members-hero__inner,
.gb-members-directory__inner{
    width:min(100%,1320px)!important;
}
.gb-members-actions a{
    min-height:46px!important;
    padding:0 17px!important;
    font-size:12px!important;
    border-radius:10px!important;
}
.gb-members-toolbar{
    grid-template-columns:minmax(280px,.8fr) minmax(0,1.6fr)!important;
    padding:20px!important;
    gap:32px!important;
}
.gb-members-toolbar .title h2{
    font-size:30px!important;
}
.gb-members-toolbar .title p{
    font-size:11px!important;
}
.gb-members-filter{
    grid-template-columns:minmax(230px,1.5fr) repeat(4,minmax(135px,.8fr)) auto!important;
    gap:8px!important;
}
.gb-members-filter .search,
.gb-members-filter input,
.gb-members-filter select,
.gb-members-filter button{
    min-height:46px!important;
    height:46px!important;
    border-radius:10px!important;
    font-size:11px!important;
}
.gb-members-filter button{
    min-width:84px!important;
    padding:0 16px!important;
    font-weight:900!important;
}
.gb-member-grid{
    gap:12px!important;
}
.gb-member-card{
    grid-template-columns:82px minmax(0,1fr) 30px!important;
    min-height:128px!important;
    padding:14px!important;
    border-radius:14px!important;
}
.gb-member-photo{
    width:82px!important;
    height:94px!important;
}
.gb-member-card h3{
    font-size:17px!important;
}
.gb-member-id{
    font-size:8px!important;
}
.gb-member-meta{
    font-size:10px!important;
}
.gb-member-badges em{
    font-size:8px!important;
    padding:5px 7px!important;
}
.gb-member-arrow{
    font-size:20px!important;
}
@media(max-width:1150px){
    .gb-members-filter{
        grid-template-columns:repeat(3,minmax(0,1fr))!important;
    }
}
@media(max-width:650px){
    .gb-members-toolbar{
        padding:15px!important;
    }
    .gb-members-filter{
        grid-template-columns:1fr!important;
    }
    .gb-members-filter .search,
    .gb-members-filter input,
    .gb-members-filter select,
    .gb-members-filter button{
        min-height:50px!important;
        height:50px!important;
        font-size:14px!important;
    }
    .gb-members-filter button{
        width:100%!important;
    }
    .gb-member-card{
        grid-template-columns:76px minmax(0,1fr) 26px!important;
        min-height:120px!important;
        padding:12px!important;
    }
    .gb-member-photo{
        width:76px!important;
        height:88px!important;
    }
    .gb-member-card h3{
        font-size:16px!important;
    }
    .gb-member-meta{
        font-size:11px!important;
    }
}


/* =========================================================
   GHOSTBASE V26.10 — MEMBERS DIRECTORY LAYOUT FIX
   Corrige compactação, overflow e responsividade
   ========================================================= */

.gb-members-hero__inner,
.gb-members-directory__inner{
    width:min(100% - 40px,1480px)!important;
    max-width:1480px!important;
}

.gb-members-hero__inner{
    grid-template-columns:minmax(0,1fr) 390px!important;
    gap:64px!important;
    min-height:340px!important;
    padding-top:58px!important;
    padding-bottom:58px!important;
}

.gb-members-copy h1{
    font-size:58px!important;
    line-height:.96!important;
}

.gb-members-copy p{
    max-width:760px!important;
    font-size:15px!important;
    line-height:1.65!important;
}

.gb-members-stats article{
    min-height:125px!important;
    padding:22px!important;
}

.gb-members-stats strong{
    font-size:36px!important;
}

/* Toolbar passa a trabalhar em duas linhas de forma controlada */
.gb-members-toolbar{
    display:grid!important;
    grid-template-columns:minmax(300px,.75fr) minmax(0,1.45fr)!important;
    align-items:center!important;
    gap:34px!important;
    padding:24px!important;
    overflow:hidden!important;
}

.gb-members-toolbar .title{
    min-width:0!important;
}

.gb-members-toolbar .title h2{
    font-size:32px!important;
    line-height:1.05!important;
}

.gb-members-toolbar .title p{
    max-width:420px!important;
    font-size:12px!important;
    line-height:1.55!important;
}

/* Filtros: grid de 3 colunas + botão, sem sair do quadro */
.gb-members-filter{
    display:grid!important;
    grid-template-columns:minmax(260px,1.5fr) minmax(150px,.85fr) minmax(160px,.95fr)!important;
    gap:10px!important;
    width:100%!important;
    min-width:0!important;
}

.gb-members-filter .search{
    grid-column:1 / span 2!important;
    min-width:0!important;
}

.gb-members-filter select{
    min-width:0!important;
    width:100%!important;
}

.gb-members-filter button{
    width:100%!important;
    min-width:0!important;
}

.gb-members-filter > :nth-child(4){
    grid-column:1!important;
}

.gb-members-filter > :nth-child(5){
    grid-column:2!important;
}

.gb-members-filter > button{
    grid-column:3!important;
}

/* Cards maiores e com texto podendo quebrar */
.gb-member-group{
    margin-top:38px!important;
}

.gb-member-group>header{
    margin-bottom:15px!important;
}

.gb-member-group>header h2{
    font-size:26px!important;
}

.gb-member-grid{
    grid-template-columns:repeat(3,minmax(0,1fr))!important;
    gap:14px!important;
}

.gb-member-card{
    grid-template-columns:96px minmax(0,1fr) 32px!important;
    min-height:148px!important;
    padding:16px!important;
    gap:14px!important;
    overflow:hidden!important;
}

.gb-member-photo{
    width:96px!important;
    height:112px!important;
}

.gb-member-card__body{
    min-width:0!important;
    overflow:hidden!important;
}

.gb-member-id{
    font-size:9px!important;
}

.gb-member-card h3{
    margin:6px 0 9px!important;
    font-size:19px!important;
    line-height:1.15!important;
    white-space:normal!important;
    overflow:visible!important;
    text-overflow:clip!important;
    overflow-wrap:anywhere!important;
}

.gb-member-meta{
    gap:5px!important;
    font-size:11px!important;
    line-height:1.45!important;
}

.gb-member-meta span{
    white-space:normal!important;
    overflow:visible!important;
    text-overflow:clip!important;
    overflow-wrap:anywhere!important;
}

.gb-member-badges{
    margin-top:9px!important;
    gap:6px!important;
}

.gb-member-badges em{
    font-size:9px!important;
    padding:5px 8px!important;
}

.gb-member-arrow{
    align-self:center!important;
    justify-self:end!important;
    font-size:22px!important;
}

/* Desktop médio */
@media(max-width:1280px){
    .gb-members-hero__inner,
    .gb-members-directory__inner{
        width:min(100% - 32px,1180px)!important;
    }

    .gb-members-toolbar{
        grid-template-columns:1fr!important;
        gap:18px!important;
    }

    .gb-members-toolbar .title p{
        max-width:none!important;
    }

    .gb-members-filter{
        grid-template-columns:repeat(3,minmax(0,1fr))!important;
    }

    .gb-members-filter .search{
        grid-column:1 / span 2!important;
    }

    .gb-members-filter > :nth-child(4),
    .gb-members-filter > :nth-child(5),
    .gb-members-filter > button{
        grid-column:auto!important;
    }

    .gb-member-grid{
        grid-template-columns:repeat(2,minmax(0,1fr))!important;
    }
}

/* Tablet */
@media(max-width:900px){
    .gb-members-hero__inner{
        grid-template-columns:1fr!important;
        gap:28px!important;
        min-height:auto!important;
    }

    .gb-members-stats{
        max-width:520px!important;
    }

    .gb-members-filter{
        grid-template-columns:repeat(2,minmax(0,1fr))!important;
    }

    .gb-members-filter .search{
        grid-column:1 / -1!important;
    }

    .gb-members-filter button{
        grid-column:1 / -1!important;
    }

    .gb-member-grid{
        grid-template-columns:1fr!important;
    }
}

/* Mobile */
@media(max-width:620px){
    .gb-members-hero__inner,
    .gb-members-directory__inner{
        width:100%!important;
        padding-left:14px!important;
        padding-right:14px!important;
    }

    .gb-members-hero__inner{
        padding-top:34px!important;
        padding-bottom:36px!important;
    }

    .gb-members-copy h1{
        font-size:40px!important;
    }

    .gb-members-copy p{
        font-size:14px!important;
    }

    .gb-members-stats{
        grid-template-columns:repeat(2,minmax(0,1fr))!important;
        gap:8px!important;
    }

    .gb-members-stats article{
        min-height:105px!important;
        padding:15px!important;
    }

    .gb-members-stats strong{
        font-size:29px!important;
    }

    .gb-members-toolbar{
        padding:16px!important;
        border-radius:13px!important;
    }

    .gb-members-toolbar .title h2{
        font-size:26px!important;
    }

    .gb-members-filter{
        grid-template-columns:1fr!important;
        gap:9px!important;
    }

    .gb-members-filter .search,
    .gb-members-filter > :nth-child(4),
    .gb-members-filter > :nth-child(5),
    .gb-members-filter > button{
        grid-column:1!important;
    }

    .gb-members-filter .search,
    .gb-members-filter input,
    .gb-members-filter select,
    .gb-members-filter button{
        min-height:52px!important;
        height:52px!important;
        font-size:14px!important;
    }

    .gb-member-group{
        margin-top:30px!important;
    }

    .gb-member-group>header h2{
        font-size:23px!important;
    }

    .gb-member-card{
        grid-template-columns:82px minmax(0,1fr) 24px!important;
        min-height:132px!important;
        padding:13px!important;
        gap:11px!important;
    }

    .gb-member-photo{
        width:82px!important;
        height:98px!important;
    }

    .gb-member-card h3{
        font-size:17px!important;
    }

    .gb-member-meta{
        font-size:11px!important;
    }

    .gb-member-badges em{
        font-size:8px!important;
    }
}


/* =========================================================
   GHOSTBASE V26.12 — MEMBERS DIRECTORY FINAL POLISH
   ========================================================= */

/* container e respiro geral */
.gb-members-directory{
    padding:46px 0 84px!important;
}

.gb-members-directory__inner{
    width:min(100% - 48px,1500px)!important;
    max-width:1500px!important;
}

/* Toolbar precisa ter altura própria e nunca invadir grupo abaixo */
.gb-members-toolbar{
    position:relative!important;
    z-index:2!important;
    display:grid!important;
    grid-template-columns:minmax(310px,.72fr) minmax(0,1.55fr)!important;
    gap:34px!important;
    align-items:center!important;
    min-height:150px!important;
    margin-bottom:38px!important;
    padding:26px!important;
    overflow:visible!important;
}

.gb-members-toolbar .title{
    align-self:center!important;
    min-width:0!important;
}

.gb-members-toolbar .title h2{
    margin:7px 0 8px!important;
    font-size:34px!important;
    line-height:1.04!important;
}

.gb-members-toolbar .title p{
    max-width:470px!important;
    font-size:12px!important;
    line-height:1.55!important;
}

/* filtros controlados dentro da caixa */
.gb-members-filter{
    display:grid!important;
    grid-template-columns:minmax(250px,1.35fr) repeat(2,minmax(150px,.8fr))!important;
    gap:10px!important;
    align-items:center!important;
    width:100%!important;
    min-width:0!important;
}

.gb-members-filter .search{
    grid-column:1 / span 2!important;
    min-width:0!important;
}

.gb-members-filter input,
.gb-members-filter select,
.gb-members-filter button{
    min-width:0!important;
    width:100%!important;
    min-height:48px!important;
    height:48px!important;
    font-size:12px!important;
    border-radius:10px!important;
}

.gb-members-filter > :nth-child(4){
    grid-column:1!important;
}

.gb-members-filter > :nth-child(5){
    grid-column:2!important;
}

.gb-members-filter > button{
    grid-column:3!important;
}

/* Grupo sempre começa fora do quadro dos filtros */
.gb-member-group{
    position:relative!important;
    z-index:1!important;
    clear:both!important;
    margin-top:0!important;
    margin-bottom:42px!important;
}

.gb-member-group>header{
    min-height:62px!important;
    margin-bottom:16px!important;
    padding:0 2px!important;
}

.gb-member-group>header h2{
    margin-top:6px!important;
    font-size:28px!important;
    line-height:1!important;
}

.gb-member-group>header>strong{
    padding:8px 11px!important;
    font-size:9px!important;
}

/* cards maiores */
.gb-member-grid{
    grid-template-columns:repeat(3,minmax(0,1fr))!important;
    gap:16px!important;
}

.gb-member-card{
    grid-template-columns:108px minmax(0,1fr) 34px!important;
    gap:16px!important;
    min-height:164px!important;
    padding:18px!important;
    border-radius:15px!important;
}

.gb-member-photo{
    width:108px!important;
    height:128px!important;
    border-radius:12px!important;
}

.gb-member-card__body{
    min-width:0!important;
}

.gb-member-id{
    font-size:9px!important;
    letter-spacing:.08em!important;
}

.gb-member-card h3{
    margin:7px 0 10px!important;
    font-size:20px!important;
    line-height:1.12!important;
    white-space:normal!important;
    overflow-wrap:anywhere!important;
}

.gb-member-meta{
    gap:5px!important;
    font-size:12px!important;
    line-height:1.45!important;
}

.gb-member-meta span{
    white-space:normal!important;
    overflow-wrap:anywhere!important;
}

.gb-member-badges{
    gap:6px!important;
    margin-top:10px!important;
}

.gb-member-badges em{
    padding:6px 8px!important;
    font-size:9px!important;
}

.gb-member-arrow{
    font-size:23px!important;
}

/* desktop médio */
@media(max-width:1280px){
    .gb-members-directory__inner{
        width:min(100% - 36px,1200px)!important;
    }

    .gb-members-toolbar{
        grid-template-columns:1fr!important;
        min-height:auto!important;
        gap:20px!important;
        margin-bottom:34px!important;
    }

    .gb-members-filter{
        grid-template-columns:repeat(3,minmax(0,1fr))!important;
    }

    .gb-members-filter .search{
        grid-column:1 / span 2!important;
    }

    .gb-members-filter > :nth-child(4),
    .gb-members-filter > :nth-child(5),
    .gb-members-filter > button{
        grid-column:auto!important;
    }

    .gb-member-grid{
        grid-template-columns:repeat(2,minmax(0,1fr))!important;
    }
}

/* tablet */
@media(max-width:900px){
    .gb-members-filter{
        grid-template-columns:repeat(2,minmax(0,1fr))!important;
    }

    .gb-members-filter .search{
        grid-column:1 / -1!important;
    }

    .gb-members-filter button{
        grid-column:1 / -1!important;
    }

    .gb-member-grid{
        grid-template-columns:1fr!important;
    }
}

/* mobile */
@media(max-width:620px){
    .gb-members-directory{
        padding:30px 0 60px!important;
    }

    .gb-members-directory__inner{
        width:100%!important;
        padding-left:14px!important;
        padding-right:14px!important;
    }

    .gb-members-toolbar{
        margin-bottom:28px!important;
        padding:16px!important;
        border-radius:14px!important;
    }

    .gb-members-toolbar .title h2{
        font-size:27px!important;
    }

    .gb-members-toolbar .title p{
        font-size:13px!important;
    }

    .gb-members-filter{
        grid-template-columns:1fr!important;
        gap:9px!important;
    }

    .gb-members-filter .search,
    .gb-members-filter > :nth-child(4),
    .gb-members-filter > :nth-child(5),
    .gb-members-filter > button{
        grid-column:1!important;
    }

    .gb-members-filter input,
    .gb-members-filter select,
    .gb-members-filter button{
        min-height:52px!important;
        height:52px!important;
        font-size:14px!important;
    }

    .gb-member-group{
        margin-bottom:32px!important;
    }

    .gb-member-group>header{
        min-height:52px!important;
    }

    .gb-member-group>header h2{
        font-size:24px!important;
    }

    .gb-member-card{
        grid-template-columns:92px minmax(0,1fr) 26px!important;
        min-height:146px!important;
        padding:14px!important;
        gap:12px!important;
    }

    .gb-member-photo{
        width:92px!important;
        height:110px!important;
    }

    .gb-member-card h3{
        font-size:18px!important;
    }

    .gb-member-meta{
        font-size:12px!important;
    }
}
