/*BLOG LIBERADAS CLUB CSS MOBILE FIRST — v2 sênior*/
*{
    margin:0;
    padding:0;
    box-sizing:border-box;
}
:root{
    --bg:#09090c;
    --bg-soft:#121218;
    --bg-input:#0f0f14;
    --text:#ffffff;
    --text-soft:#b6b6c7;
    --text-muted:#7f7f90;
    --primary:#ff2f6d;
    --primary-soft:#ff8dae;
    --border:rgba(255,255,255,.05);
    --radius:20px;
    --transition:.25s ease;
    --tabbar-h:60px;
    --safe-bottom: env(safe-area-inset-bottom, 0px);

    /* ── Cores por categoria — harmônicas, distintas, mantêm o tema dark ── */
    --cat-sexo:   #ff2f6d; /* rosa da marca — conteúdo principal */
    --cat-saude:  #2dd4bf; /* teal — associado a saúde/calma */
    --cat-leis:   #5b9dff; /* azul — associado a institucional/confiança */
    --cat-contos: #ffb84d; /* âmbar — associado a narrativa/calor */
    --cat-autores:#c084fc; /* violeta — neutro, não compete com as 4 categorias */
    --cat-geral:  #9393a8;
}
html{
    scroll-behavior:smooth;
}
body{
    background:var(--bg);
    color:var(--text);
    font-family:
    -apple-system,
    BlinkMacSystemFont,
    "Segoe UI",
    Roboto,
    sans-serif;
    line-height:1.5;
    overflow-x:hidden;
    -webkit-font-smoothing:antialiased;
    text-rendering:optimizeLegibility;
    padding-bottom: calc(var(--tabbar-h) + var(--safe-bottom)); /* espaço pra tabbar mobile */
}
img{
    display:block;
    max-width:100%;
}
a{
    text-decoration:none;
    color:inherit;
}
button,input{
    border:none;
    outline:none;
    font-family:inherit;
}
.container{
    width:100%;
    max-width:1400px;
    margin:0 auto;
    padding:0 16px;
}

/* ════════════════════════════════════════════════
   CORES POR CATEGORIA — aplicadas via classe .cat-*
   ════════════════════════════════════════════════ */
.cat-sexo   { --cat-c: var(--cat-sexo); }
.cat-saude  { --cat-c: var(--cat-saude); }
.cat-leis   { --cat-c: var(--cat-leis); }
.cat-contos { --cat-c: var(--cat-contos); }
.cat-autores{ --cat-c: var(--cat-autores); }
.cat-geral  { --cat-c: var(--cat-geral); }

/* ════════════════════════════════════════════════
   TOPBAR — sticky, preservado
   ════════════════════════════════════════════════ */
.topbar{
    position:sticky;
    top:0;
    z-index:1000;
    background:rgba(9,9,12,.96);
    backdrop-filter:blur(10px);
    border-bottom:1px solid var(--border);
    padding:12px 16px;
}
.topbar-flex{
    display:flex;
    align-items:center;
    justify-content:space-between;
    gap:12px;
    max-width:1400px;
    margin:0 auto;
}
.logo{
    font-size:1.4rem;
    font-weight:900;
    letter-spacing:-.5px;
}
.logo span{
    color:var(--primary);
}
.menu{
    display:flex;
    align-items:center;
    gap:18px;
    font-size:.88rem;
    font-weight:600;
    color:var(--text-soft);
}
.btn-anunciar{
    background:var(--primary);
    color:#fff !important;
    padding:9px 18px;
    border-radius:999px;
    font-weight:700;
    transition:background var(--transition);
}
.btn-anunciar:hover{
    background:#ff4f84;
}
@media (max-width:480px){
    .topbar{
        padding:10px 14px;
    }
    .topbar-flex{
        gap:8px;
    }
    .logo{
        font-size:1.05rem;
        white-space:nowrap;
    }
    .menu{
        gap:8px;
        flex-shrink:0;
    }
    .menu a:not(.btn-anunciar){
        display:none;
    }
    .btn-anunciar{
        padding:8px 14px;
        font-size:.8rem;
        white-space:nowrap;
    }
}

.search-toggle{
    width:44px;
    height:44px;
    display:flex;
    align-items:center;
    justify-content:center;
    background:transparent;
    font-size:1.2rem;
    border-radius:12px;
    cursor:pointer;
    transition:background var(--transition);
}
.search-toggle:hover{
    background:rgba(255,255,255,.05);
}
.search-bar{
    visibility:hidden;
    position:absolute;
    top:70px;
    left:0;
    right:0;
    z-index:999;
    padding:12px 16px;
    background:var(--bg-soft);
    border-bottom:1px solid var(--border);
    transform:translateY(-120%);
    transition:
        opacity .25s ease,
        transform .25s ease,
        visibility .25s ease;
}
.search-bar.open{
    opacity:1;
    visibility:visible;
    pointer-events:auto;
    transform:translateY(0);
}
.search-bar form{
    display:flex;
    gap:10px;
    max-width:1400px;
    margin:0 auto;
}
.search-bar input{
    flex:1;
    height:48px;
    padding:0 16px;
    background:var(--bg-input);
    border:1px solid rgba(255,255,255,.08);
    border-radius:999px;
    color:#fff;
}
.search-bar input::placeholder{
    color:#5a5a6e;
}
.search-bar button{
    padding:0 20px;
    background:var(--primary);
    color:#fff;
    font-weight:700;
    border-radius:999px;
    cursor:pointer;
    transition:var(--transition);
}
.search-bar button:hover{
    background:#ff4f84;
}
.search-results{
    max-width:1400px;
    margin:10px auto 0;
    background:var(--bg-soft);
    border:1px solid var(--border);
    border-radius:16px;
    overflow:hidden;
}
.search-result-item{
    display:flex;
    align-items:center;
    gap:12px;
    padding:10px 14px;
    border-bottom:1px solid rgba(255,255,255,.05);
    transition:background var(--transition);
}
.search-result-item:last-child{
    border-bottom:none;
}
.search-result-item:hover{
    background:rgba(255,47,109,.08);
}
.search-result-item img{
    width:48px;
    height:48px;
    border-radius:10px;
    object-fit:cover;
    flex-shrink:0;
}
.search-result-item strong{
    display:block;
    font-size:.86rem;
    color:#fff;
    line-height:1.3;
}
.search-result-item span{
    font-size:.72rem;
    color:var(--text-muted);
}
.search-empty{
    padding:16px;
    text-align:center;
    color:var(--text-muted);
    font-size:.86rem;
}

/* ════════════════════════════════════════════════
   BREADCRUMB
   ════════════════════════════════════════════════ */
.blog-breadcrumb{
    display:flex;
    align-items:center;
    gap:6px;
    padding:12px 16px 0;
    max-width:1400px;
    margin:0 auto;
    font-size:.78rem;
    color:var(--text-muted);
}
.blog-breadcrumb a{
    color:var(--text-muted);
    transition:color var(--transition);
}
.blog-breadcrumb a:hover{
    color:var(--primary);
}

/* ════════════════════════════════════════════════
   BANNER "CONTINUAR LENDO" — retenção via localStorage
   ════════════════════════════════════════════════ */
.continue-banner{
    display:flex;
    align-items:center;
    gap:12px;
    margin:12px 16px 0;
    padding:12px 14px;
    background:linear-gradient(135deg, rgba(255,47,109,.14), rgba(255,47,109,.04));
    border:1px solid rgba(255,47,109,.25);
    border-radius:16px;
    animation:slideDown .3s ease;
}
.continue-banner[hidden]{ display:none; }
.continue-banner__ico{
    font-size:1.4rem;
    flex-shrink:0;
}
.continue-banner__text{
    flex:1;
    min-width:0;
    display:flex;
    flex-direction:column;
    gap:2px;
}
.continue-banner__text strong{
    font-size:.82rem;
    color:#fff;
}
.continue-banner__text span{
    font-size:.76rem;
    color:var(--text-soft);
    white-space:nowrap;
    overflow:hidden;
    text-overflow:ellipsis;
}
.continue-banner__btn{
    flex-shrink:0;
    background:var(--primary);
    color:#fff;
    font-size:.78rem;
    font-weight:700;
    padding:8px 14px;
    border-radius:999px;
    white-space:nowrap;
}
.continue-banner__close{
    flex-shrink:0;
    width:28px;
    height:28px;
    display:flex;
    align-items:center;
    justify-content:center;
    background:rgba(255,255,255,.06);
    border-radius:50%;
    color:var(--text-muted);
    cursor:pointer;
}
@keyframes slideDown{
    from{ opacity:0; transform:translateY(-8px); }
    to{ opacity:1; transform:translateY(0); }
}

/* ════════════════════════════════════════════════
   HERO
   ════════════════════════════════════════════════ */
.hero{
    padding:12px 0 20px;
}
.hero-card{
    position:relative;
    overflow:hidden;
    border-radius:24px;
    background:#000;
    aspect-ratio: 4 / 3;     /* proporção de banner — evita ocupar a tela toda */
    min-height: 220px;
    max-height: 340px;
}
.hero-image{
    position:absolute;
    inset:0;
    width:100%;
    height:100%;
    object-fit:cover;
    object-position: center top;
}
.hero-overlay{
    position:absolute;
    inset:0;
    background:
    linear-gradient(
        to top,
        rgba(0,0,0,.92) 10%,
        rgba(0,0,0,.4) 50%,
        rgba(0,0,0,.1) 100%
    );
}
.hero-content{
    position:absolute;
    left:0;
    right:0;
    bottom:0;
    z-index:2;
    padding:18px;
}
.hero-badge{
    display:inline-flex;
    align-items:center;
    gap:4px;
    padding:4px 10px;
    margin-bottom:10px;
    background:rgba(255,255,255,.12);
    color:#fff;
    border-radius:999px;
    font-size:.68rem;
    font-weight:800;
    text-transform:uppercase;
    letter-spacing:.4px;
}
.hero-category{
    display:inline-flex;
    padding:5px 12px;
    margin:0 0 10px;
    margin-left:6px;
    background:color-mix(in srgb, var(--cat-c) 22%, transparent);
    color:var(--cat-c);
    border-radius:999px;
    font-size:.74rem;
    font-weight:700;
}
.hero-title{
    font-size:1.15rem;
    font-weight:800;
    line-height:1.3;
    margin-bottom:8px;
}
.hero-description{
    color:#d0d0db;
    font-size:.86rem;
    line-height:1.5;
    margin-bottom:14px;
    display:-webkit-box;
    -webkit-line-clamp:2;
    -webkit-box-orient:vertical;
    overflow:hidden;
}
.hero-meta{
    display:flex;
    flex-wrap:wrap;
    gap:14px;
    color:#9393a8;
    font-size:.72rem;
}

/* ════════════════════════════════════════════════
   CATEGORY SWITCHER (pills) — reaproveitado na home
   como substituto do menu hambúrguer: rolagem
   horizontal tipo stories/feed, sensação de rede social.
   ════════════════════════════════════════════════ */
.category-switcher{
    display:flex;
    flex-wrap:wrap;
    gap:10px;
    overflow-x:auto;
    padding:18px 16px;
    border-bottom:1px solid rgba(255,255,255,.05);
    scrollbar-width:none;
}
.category-switcher::-webkit-scrollbar{
    display:none;
}
.category-switcher--home{
    flex-wrap:nowrap;
    max-width:1400px;
    margin:0 auto;
}
.category-pill{
    flex-shrink:0;
    display:inline-flex;
    align-items:center;
    gap:6px;
    padding:10px 16px;
    border-radius:999px;
    background:#121218;
    border:1px solid rgba(255,255,255,.06);
    color:#d5d5df;
    font-size:.85rem;
    font-weight:600;
    transition:.2s;
    white-space:nowrap;
}
.category-pill:hover,
.category-pill:active{
    border-color:var(--cat-c, rgba(255,47,109,.45));
    color:#fff;
    background:color-mix(in srgb, var(--cat-c, var(--primary)) 14%, #121218);
}
.category-pill.active{
    background:var(--cat-c, var(--primary));
    color:#fff;
    border-color:var(--cat-c, var(--primary));
}
.category-pill__count{
    background:rgba(255,255,255,.12);
    padding:1px 7px;
    border-radius:999px;
    font-size:.68rem;
    font-weight:800;
}

/* ════════════════════════════════════════════════
   GRID / POSTS
   ════════════════════════════════════════════════ */
.blog-grid{
    display:flex;
    flex-wrap:wrap;
    gap:32px;
    max-width:1400px;
    margin:0 auto;
    padding:8px 16px 60px;
}
.posts-area{
    flex:1;
    min-width:0;
}
.section-title{
    font-size:1.5rem;
    font-weight:800;
    margin-bottom:20px;
}
.posts-grid{
    display:grid;
    grid-template-columns:1fr;
    gap:20px;
}
.post-card{
    overflow:hidden;
    background:var(--bg-soft);
    border:1px solid var(--border);
    border-radius:var(--radius);
    transition:
    transform var(--transition),
    border-color var(--transition);
}
.post-card:hover{
    transform:translateY(-4px);
    border-color:rgba(255,47,109,.25);
}
.post-card--extra{
    display:none;
}
.post-card--extra.is-visible{
    display:block;
    animation:slideDown .3s ease;
}
.post-thumb{
    width:100%;
    aspect-ratio:16/9;
    object-fit:cover;
}
.post-content{
    padding:16px;
}
.post-category{
    display:inline-flex;
    align-items:center;
    gap:4px;
    margin-bottom:10px;
    padding:4px 12px;
    background:color-mix(in srgb, var(--cat-c, var(--primary)) 16%, transparent);
    color:var(--cat-c, var(--primary-soft));
    border-radius:999px;
    font-size:.72rem;
    font-weight:700;
}
.post-title{
    font-size:1.05rem;
    line-height:1.35;
    margin-bottom:8px;
}
.post-title a:hover{
    color:var(--primary);
}
.post-resume{
    color:var(--text-soft);
    font-size:.84rem;
    line-height:1.45;
    margin-bottom:12px;
    display:-webkit-box;
    -webkit-line-clamp:3;
    -webkit-box-orient:vertical;
    overflow:hidden;
}
.post-meta{
    display:flex;
    justify-content:space-between;
    gap:10px;
    color:var(--text-muted);
    font-size:.72rem;
}

/* ── Carregar mais ── */
.load-more-btn{
    display:flex;
    align-items:center;
    justify-content:center;
    gap:8px;
    width:100%;
    margin-top:22px;
    padding:14px;
    background:var(--bg-soft);
    border:1px solid var(--border);
    border-radius:16px;
    color:#fff;
    font-weight:700;
    font-size:.9rem;
    cursor:pointer;
    transition:var(--transition);
}
.load-more-btn:hover{
    border-color:rgba(255,47,109,.35);
    color:var(--primary-soft);
}
.load-more-btn[hidden]{ display:none; }

/* ════════════════════════════════════════════════
   SIDEBAR
   ════════════════════════════════════════════════ */
.sidebar{
    width:100%;
    display:flex;
    flex-direction:column;
    gap:20px;
}
.widget{
    background:var(--bg-soft);
    border:1px solid var(--border);
    border-radius:var(--radius);
    padding:20px;
}
.widget-title{
    margin-bottom:16px;
    padding-left:10px;
    border-left:3px solid var(--primary);
    font-size:1rem;
    font-weight:800;
}
.search-form,
.newsletter form{
    display:flex;
    flex-direction:column;
    gap:10px;
}
.search-form input,
.newsletter input{
    width:100%;
    height:48px;
    padding:0 14px;
    background:var(--bg-input);
    border:1px solid rgba(255,255,255,.08);
    border-radius:12px;
    color:#fff;
}
.search-form button,
.newsletter button{
    height:48px;
    background:var(--primary);
    color:#fff;
    font-weight:700;
    border-radius:12px;
    cursor:pointer;
    transition:var(--transition);
}
.search-form button:hover,
.newsletter button:hover{
    background:#ff4f84;
}
.trending-list{
    list-style:none;
}
.trending-list li{
    border-bottom:1px solid rgba(255,255,255,.05);
}
.trending-list a{
    display:block;
    padding:10px 0;
    color:#d8d8e3;
    font-size:.84rem;
    transition:color var(--transition);
}
.trending-list a:hover{
    color:var(--primary);
}
.category-widget-list{
    list-style:none;
    display:flex;
    flex-direction:column;
    gap:8px;
}
.category-widget-list a{
    display:flex;
    align-items:center;
    justify-content:space-between;
    padding:10px 12px;
    border-radius:10px;
    background:rgba(255,255,255,.03);
    color:var(--cat-c, #d8d8e3);
    font-size:.84rem;
    font-weight:600;
    transition:background var(--transition);
}
.category-widget-list a:hover{
    background:color-mix(in srgb, var(--cat-c, var(--primary)) 12%, transparent);
}
.category-widget-list__count{
    background:rgba(255,255,255,.08);
    padding:2px 8px;
    border-radius:999px;
    font-size:.7rem;
    font-weight:800;
    color:#fff;
}
.newsletter p{
    color:var(--text-soft);
    margin-bottom:14px;
    font-size:.84rem;
}
.footer{
    padding:24px 16px;
    border-top:1px solid var(--border);
    text-align:center;
    color:#8c8c9d;
    font-size:.8rem;
}

/* ════════════════════════════════════════════════
   TABBAR MOBILE — identidade própria do blog
   ════════════════════════════════════════════════ */
.blog-tabbar{
    position:fixed;
    bottom:0; left:0; right:0;
    z-index:950;
    display:flex;
    align-items:stretch;
    height:calc(var(--tabbar-h) + var(--safe-bottom));
    padding-bottom:var(--safe-bottom);
    background:rgba(9,9,12,.97);
    backdrop-filter:blur(16px);
    border-top:1px solid var(--border);
}
.blog-tabbar__item{
    flex:1 1 0;
    min-width:0;
    display:flex;
    flex-direction:column;
    align-items:center;
    justify-content:center;
    gap:2px;
    color:var(--text-muted);
    transition:color var(--transition);
}
.blog-tabbar__item:hover,
.blog-tabbar__item:active,
.blog-tabbar__item--active{
    color:var(--primary);
}
.blog-tabbar__ico{
    font-size:1.15rem;
    line-height:1;
}
.blog-tabbar__label{
    font-size:.6rem;
    font-weight:700;
    text-transform:uppercase;
    letter-spacing:.3px;
}
.blog-tabbar__item--cta .blog-tabbar__ico{
    width:38px;
    height:38px;
    display:flex;
    align-items:center;
    justify-content:center;
    background:var(--primary);
    color:#fff;
    border-radius:50%;
    font-size:1.05rem;
    box-shadow:0 0 16px rgba(255,47,109,.4);
    transform:translateY(-6px);
}

/* ════════════════════════════════════════════════
   PÁGINA DE POST (post-hero, article body etc.)
   ════════════════════════════════════════════════ */
.post-page{
    width:100%;
}
.post-hero{
    position: relative;
    height: 72vw;
    min-height: 320px;
    max-height: 520px;
    overflow: hidden;
    border-radius: 0 0 24px 24px;
}
.post-hero-image{
    width: 100%;
    height: 100%;
    object-fit: contain;
    object-position: center top;
    background: #000;
}
.post-hero-overlay{
    position: absolute;
    inset: 0;
    background:
    linear-gradient(
        to top,
        rgba(0,0,0,.92) 8%,
        rgba(0,0,0,.45) 45%,
        rgba(0,0,0,.15) 100%
    );
    z-index: 1;
}
.post-hero-content{
    position: absolute;
    left: 0;
    right: 0;
    bottom: 0;
    z-index: 2;
    padding: 20px 16px;
}
.post-hero-category{
    display:inline-flex;
    background:color-mix(in srgb, var(--cat-c, var(--primary)) 20%, transparent);
    color:var(--cat-c, #ff8dae);
    padding:8px 14px;
    border-radius:999px;
    font-size:.78rem;
    font-weight:700;
    margin-bottom:18px;
}
.post-hero-title{
    font-size: 1.6rem;
    line-height: 1.15;
}
.post-hero-description{
    max-width:760px;
    color:#d2d2dc;
    font-size:.95rem;
    margin-bottom:24px;
}
.post-excerpt{
    font-size: .92rem;
}
.post-hero-meta{
    display:flex;
    flex-direction:column;
    gap:18px;
}
.post-author-box{
    display:flex;
    align-items:center;
    gap:14px;
}
.post-author-avatar{
    width:56px;
    height:56px;
    border-radius:50%;
    object-fit:cover;
}
.meta-label{
    display:block;
    font-size:.72rem;
    color:#999;
}
.post-meta-right{
    display:flex;
    flex-wrap:wrap;
    gap:14px;
    color:#b4b4c2;
    font-size:.82rem;
}
.post-layout{
    width:100%;
    max-width:1400px;
    margin:auto;
    padding:24px 16px 60px;
    display:grid;
    grid-template-columns:1fr;
    gap:30px;
}
.post-content-area{
    min-width:0;
}

/* ── Player de vídeo do post ── */
.post-video-card{
    background:#000;
    border-radius:24px;
    overflow:hidden;
    margin-bottom:24px;
    border:1px solid rgba(255,255,255,.05);
}
.post-video-player{
    width:100%;
    max-height:520px;
    display:block;
    background:#000;
}

.post-audio-card{
    background:#121218;
    border-radius:24px;
    padding:22px;
    margin-bottom:24px;
    border:1px solid rgba(255,255,255,.05);
}
.post-audio-header{
    display:flex;
    align-items:center;
    gap:14px;
    margin-bottom:18px;
}
.audio-icon{
    font-size:2rem;
}
.post-audio-player{
    width:100%;
}
.post-summary-card{
    background:#121218;
    border-radius:24px;
    padding:22px;
    margin-bottom:26px;
    border:1px solid rgba(255,255,255,.05);
}
.post-anchor-nav{
    display:flex;
    flex-wrap:wrap;
    gap:12px;
    margin-top:16px;
}
.post-anchor-nav a{
    background:#1a1a22;
    color:#d8d8e3;
    padding:10px 14px;
    border-radius:999px;
    font-size:.82rem;
    transition:.2s;
}
.post-anchor-nav a:hover{
    background:#ff2f6d;
    color:#fff;
}
.post-article-body{
    background:#121218;
    border-radius:28px;
    padding:24px 20px;
    border:1px solid rgba(255,255,255,.05);
}
.post-section + .post-section{
    margin-top:50px;
}
.post-section h2{
    font-size:1.6rem;
    margin-bottom:18px;
    line-height:1.2;
}
.post-section p{
    color:#d1d1db;
    font-size:1rem;
    line-height:1.9;
    margin-bottom:22px;
}
.post-inline-image{
    width:100%;
    border-radius:22px;
    margin:26px 0;
}
.post-quote{
    border-left:4px solid #ff2f6d;
    padding:18px 20px;
    margin:26px 0;
    background:#181820;
    border-radius:0 18px 18px 0;
    font-size:1.05rem;
    color:#fff;
    font-style:italic;
}
.post-highlight-box{
    background:rgba(255,47,109,.08);
    border:1px solid rgba(255,47,109,.15);
    border-radius:22px;
    padding:20px;
    margin:26px 0;
}
.faq-box{
    background:#181820;
    border-radius:18px;
    padding:18px;
    margin-bottom:16px;
}
.faq-box h4{
    margin-bottom:8px;
}
.post-links-card{
    margin-top:28px;
    background:#121218;
    border-radius:24px;
    padding:24px;
}
.post-links-grid{
    display:grid;
    grid-template-columns:1fr;
    gap:14px;
    margin-top:18px;
}
.post-link-btn{
    height:52px;
    display:flex;
    align-items:center;
    justify-content:center;
    border-radius:16px;
    background:#ff2f6d;
    color:#fff;
    font-weight:700;
}
.post-sidebar{
    display:flex;
    flex-direction:column;
    gap:24px;
}
.sidebar-author{
    text-align:center;
}
.sidebar-author-avatar{
    width:90px;
    height:90px;
    border-radius:50%;
    object-fit:cover;
    margin:auto auto 16px;
}
.sidebar-author p{
    color:#b6b6c7;
    font-size:.9rem;
    margin:14px 0 20px;
}
.sidebar-author-btn{
    display:inline-flex;
    padding:12px 20px;
    border-radius:14px;
    background:#ff2f6d;
    color:#fff;
    font-weight:700;
}
.related-posts{
    list-style:none;
}
.related-posts li + li{
    margin-top:16px;
}
.related-posts a{
    display:flex;
    gap:14px;
    align-items:center;
}
.related-posts img{
    width:90px;
    height:70px;
    object-fit:cover;
    border-radius:14px;
}
.related-posts strong{
    display:block;
    font-size:.92rem;
    line-height:1.35;
    margin-bottom:6px;
}
.related-posts span{
    font-size:.75rem;
    color:#9d9dac;
}

/* ════════════════════════════════════════════════
   PÁGINA DE CATEGORIA
   ════════════════════════════════════════════════ */
.category-hero{
    position: relative;
    padding: 32px 16px 28px;
    border-bottom: 1px solid rgba(255,255,255,.05);
    background:
        radial-gradient(ellipse at top, color-mix(in srgb, var(--cat-c, var(--primary)) 26%, transparent), transparent 65%),
        linear-gradient(180deg, color-mix(in srgb, var(--cat-c, var(--primary)) 16%, transparent), rgba(9,9,12,1) 75%);
}
.category-hero-content{
    max-width: 1200px;
    margin: 0 auto;
}
.back-link{
    display: inline-flex;
    align-items: center;
    gap: 8px;
    color: #ff8dae;
    margin-bottom: 20px;
    font-size: .92rem;
    font-weight: 600;
}
.back-link:hover{
    color: #ff2f6d;
}
.category-label{
    display: table;
    background: color-mix(in srgb, var(--cat-c, var(--primary)) 18%, transparent);
    color: var(--cat-c, #ff8dae);
    padding: 6px 14px;
    border-radius: 999px;
    font-size: .78rem;
    font-weight: 700;
    margin-bottom: 16px;
}
.category-title{
    font-size: 2rem;
    line-height: 1.1;
    margin-bottom: 14px;
    font-weight: 900;
}
.category-description{
    color: #b8b8c7;
    font-size: .96rem;
    line-height: 1.7;
    max-width: 780px;
}
.category-posts{
    padding: 26px 16px 60px;
    max-width: 1400px;
    margin: 0 auto;
}
.category-posts-grid{
    display: grid;
    grid-template-columns: 1fr;
    gap: 22px;
}
.category-post-card{
    background: #121218;
    border-radius: 22px;
    overflow: hidden;
    border: 1px solid rgba(255,255,255,.05);
    transition: .25s;
}
.category-post-card:hover{
    transform: translateY(-4px);
    border-color: color-mix(in srgb, var(--cat-c, var(--primary)) 30%, transparent);
}
.category-post-thumb{
    width: 100%;
    aspect-ratio: 16/9;
    object-fit: cover;
}
.category-post-content{
    padding: 18px;
}
.category-post-meta{
    display: flex;
    flex-wrap: wrap;
    gap: 14px;
    margin-bottom: 12px;
    color: #8f8fa0;
    font-size: .72rem;
}
.category-post-title{
    font-size: 1.15rem;
    line-height: 1.3;
    margin-bottom: 10px;
    font-weight: 800;
}
.category-post-title a:hover{
    color: var(--cat-c, #ff2f6d);
}
.category-post-resume{
    color: #b6b6c7;
    font-size: .88rem;
    line-height: 1.7;
    margin-bottom: 16px;
}
.category-readmore{
    display: inline-flex;
    align-items: center;
    gap: 8px;
    color: var(--cat-c, #ff8dae);
    font-weight: 700;
    font-size: .88rem;
}
.category-readmore:hover{
    color: #ff2f6d;
}
.category-empty{
    padding: 60px 20px;
    text-align: center;
    background: #121218;
    border-radius: 24px;
    border: 1px solid rgba(255,255,255,.05);
}
.category-empty h3{
    margin-bottom: 10px;
}
.category-empty p{
    color: #9e9ead;
}

/* ════════════════════════════════════════════════
   PÁGINA DE AUTOR
   ════════════════════════════════════════════════ */
.author-hero{
    position: relative;
    padding: 40px 16px 34px;
    background:
    linear-gradient(
        180deg,
        rgba(255,47,109,.10),
        rgba(9,9,12,1)
    );
    border-bottom: 1px solid rgba(255,255,255,.05);
}
.author-hero-content{
    max-width: 1200px;
    margin: 0 auto;
}
.author-back{
    display: inline-flex;
    align-items: center;
    gap: 8px;
    margin-bottom: 24px;
    color: #ff8dae;
    font-weight: 600;
    font-size: .92rem;
}
.author-back:hover{
    color: #ff2f6d;
}
.author-header{
    display: flex;
    flex-direction: column;
    gap: 24px;
}
.author-photo{
    width: 130px;
    height: 130px;
    border-radius: 50%;
    overflow: hidden;
    border: 3px solid rgba(255,255,255,.08);
    background: #121218;
}
.author-photo img{
    width: 100%;
    height: 100%;
    object-fit: cover;
}
.author-info{
    flex: 1;
}
.author-role{
    display: inline-block;
    margin-bottom: 12px;
    background: rgba(255,47,109,.14);
    color: #ff8dae;
    padding: 6px 14px;
    border-radius: 999px;
    font-size: .78rem;
    font-weight: 700;
}
.author-name{
    font-size: 2rem;
    line-height: 1.1;
    margin-bottom: 16px;
    font-weight: 900;
}
.author-description{
    color: #b8b8c7;
    line-height: 1.8;
    font-size: .95rem;
    max-width: 780px;
}
.author-social{
    display: flex;
    flex-wrap: wrap;
    gap: 12px;
    margin-top: 22px;
}
.author-social a{
    display: inline-flex;
    align-items: center;
    justify-content: center;
    padding: 12px 18px;
    border-radius: 14px;
    background: #121218;
    border: 1px solid rgba(255,255,255,.06);
    color: #fff;
    font-size: .88rem;
    font-weight: 600;
    transition: .2s;
}
.author-social a:hover{
    background: #ff2f6d;
    border-color: #ff2f6d;
}
.author-posts{
    padding: 30px 16px 60px;
    max-width: 1400px;
    margin: 0 auto;
}
.author-posts-header{
    margin-bottom: 28px;
}
.author-posts-title{
    font-size: 1.6rem;
    font-weight: 900;
    margin-bottom: 8px;
}
.author-posts-subtitle{
    color: #a5a5b3;
    font-size: .92rem;
}
.author-posts-grid{
    display: grid;
    grid-template-columns: 1fr;
    gap: 22px;
}
.author-post-card{
    background: #121218;
    border-radius: 22px;
    overflow: hidden;
    border: 1px solid rgba(255,255,255,.05);
    transition: .25s;
}
.author-post-card:hover{
    transform: translateY(-4px);
    border-color: rgba(255,47,109,.30);
}
.author-post-thumb{
    width: 100%;
    aspect-ratio: 16/9;
    object-fit: cover;
}
.author-post-content{
    padding: 18px;
}
.author-post-meta{
    display: flex;
    flex-wrap: wrap;
    gap: 14px;
    margin-bottom: 12px;
    color: #8f8fa0;
    font-size: .72rem;
}
.author-post-title{
    font-size: 1.1rem;
    line-height: 1.3;
    margin-bottom: 12px;
    font-weight: 800;
}
.author-post-title a:hover{
    color: #ff2f6d;
}
.author-post-resume{
    color: #b6b6c7;
    line-height: 1.7;
    font-size: .88rem;
    margin-bottom: 16px;
}
.author-readmore{
    display: inline-flex;
    align-items: center;
    gap: 8px;
    color: #ff8dae;
    font-weight: 700;
    font-size: .88rem;
}
.author-readmore:hover{
    color: #ff2f6d;
}

/* ════════════════════════════════════════════════
   LISTAGEM DE AUTORES (autores.php)
   ════════════════════════════════════════════════ */
.autores-listagem{
    padding: 26px 16px 60px;
    max-width: 1400px;
    margin: 0 auto;
}
.autores-grid{
    display: grid;
    grid-template-columns: 1fr;
    gap: 22px;
}
.autor-card{
    display: flex;
    flex-direction: column;
    background: #121218;
    border-radius: 22px;
    overflow: hidden;
    border: 1px solid rgba(255,255,255,.05);
    transition: .25s;
}
.autor-card:hover{
    transform: translateY(-4px);
    border-color: color-mix(in srgb, var(--cat-c, var(--cat-autores)) 30%, transparent);
}
.autor-card-photo{
    display: block;
    width: 100%;
    aspect-ratio: 16/10;
    overflow: hidden;
    background: #0d0d12;
}
.autor-card-photo img{
    width: 100%;
    height: 100%;
    object-fit: cover;
}
.autor-card-content{
    padding: 18px;
}
.autor-card-cargo{
    display: inline-flex;
    background: color-mix(in srgb, var(--cat-c, var(--cat-autores)) 18%, transparent);
    color: var(--cat-c, var(--cat-autores));
    padding: 4px 12px;
    border-radius: 999px;
    font-size: .72rem;
    font-weight: 700;
    margin-bottom: 12px;
}
.autor-card-nome{
    font-size: 1.15rem;
    font-weight: 800;
    line-height: 1.3;
    margin-bottom: 8px;
}
.autor-card-nome a:hover{
    color: var(--cat-c, var(--cat-autores));
}
.autor-card-descricao{
    color: #b6b6c7;
    font-size: .86rem;
    line-height: 1.6;
    margin-bottom: 16px;
}
.autor-card-footer{
    display: flex;
    align-items: center;
    justify-content: space-between;
    padding-top: 12px;
    border-top: 1px solid rgba(255,255,255,.05);
}
.autor-card-count{
    color: #8f8fa0;
    font-size: .74rem;
    font-weight: 600;
}
.autor-card-link{
    color: var(--cat-c, var(--cat-autores));
    font-weight: 700;
    font-size: .84rem;
}
.autor-card-link:hover{
    color: #fff;
}

/* ════════════════════════════════════════════════
   LISTAGEM DE AUTORES (grid de cards)
   ════════════════════════════════════════════════ */
.autores-hero{
    position: relative;
    padding: 32px 16px 28px;
    border-bottom: 1px solid rgba(255,255,255,.05);
    background:
        radial-gradient(ellipse at top, color-mix(in srgb, var(--cat-c, var(--cat-autores)) 26%, transparent), transparent 65%),
        linear-gradient(180deg, color-mix(in srgb, var(--cat-c, var(--cat-autores)) 16%, transparent), rgba(9,9,12,1) 75%);
}
.autores-hero-content{
    max-width: 1200px;
    margin: 0 auto;
}
.autores-grid-section{
    padding: 26px 16px 60px;
    max-width: 1400px;
    margin: 0 auto;
}
.autores-grid{
    display: grid;
    grid-template-columns: 1fr;
    gap: 20px;
}
.autor-card{
    display: flex;
    flex-direction: column;
    align-items: center;
    text-align: center;
    background: #121218;
    border: 1px solid rgba(255,255,255,.05);
    border-radius: 22px;
    padding: 28px 20px;
    transition: .25s;
}
.autor-card:hover{
    transform: translateY(-4px);
    border-color: color-mix(in srgb, var(--cat-autores) 30%, transparent);
}
.autor-card-avatar{
    width: 96px;
    height: 96px;
    border-radius: 50%;
    overflow: hidden;
    margin-bottom: 16px;
    border: 3px solid rgba(255,255,255,.08);
    flex-shrink: 0;
}
.autor-card-avatar img{
    width: 100%;
    height: 100%;
    object-fit: cover;
}
.autor-card-name{
    font-size: 1.1rem;
    font-weight: 800;
    margin-bottom: 4px;
}
.autor-card-role{
    display: inline-block;
    background: color-mix(in srgb, var(--cat-autores) 18%, transparent);
    color: var(--cat-autores);
    padding: 4px 12px;
    border-radius: 999px;
    font-size: .7rem;
    font-weight: 700;
    margin-bottom: 12px;
}
.autor-card-desc{
    color: #b6b6c7;
    font-size: .84rem;
    line-height: 1.6;
    margin-bottom: 14px;
    display: -webkit-box;
    -webkit-line-clamp: 3;
    -webkit-box-orient: vertical;
    overflow: hidden;
}
.autor-card-count{
    font-size: .74rem;
    font-weight: 700;
    color: var(--text-muted);
}
.autores-empty{
    padding: 60px 20px;
    text-align: center;
    background: #121218;
    border-radius: 24px;
    border: 1px solid rgba(255,255,255,.05);
}

/*  TABLET*/
@media (min-width:768px){
    .logo{
        font-size:1.6rem;
    }
    .hero{
        padding:20px 0 28px;
    }
    .hero-card{
        aspect-ratio: auto;   /* a partir daqui, min-height já garante altura */
        min-height:480px;
    }
    .hero-image{
        height:100%;
    }
    .hero-content{
        padding:32px;
    }
    .hero-title{
        font-size:2.2rem;
    }
    .hero-description{
        font-size:1rem;
        max-width: 640px;
    }
    .posts-grid{
        grid-template-columns:repeat(2,1fr);
        gap:24px;
    }
    .section-title{
        font-size:1.8rem;
    }
    .post-hero{
        min-height:620px;
    }
    .post-hero-title{
        font-size:3.2rem;
    }
    .post-hero-description{
        font-size:1.08rem;
    }
    .post-article-body{
        padding:40px;
    }
    .post-section h2{
        font-size:2rem;
    }
    .post-links-grid{
        grid-template-columns:repeat(2,1fr);
    }
    .category-title{
        font-size: 2.8rem;
    }
    .category-posts-grid{
        grid-template-columns: repeat(2,1fr);
        gap: 26px;
    }
    .autores-grid{
        grid-template-columns: repeat(2,1fr);
        gap: 26px;
    }
    .back-link{
        display: none;
    }
    .author-header{
        flex-direction: row;
        align-items: center;
    }
    .author-photo{
        width: 180px;
        height: 180px;
    }
    .author-name{
        font-size: 2.8rem;
    }
    .author-posts-grid{
        grid-template-columns: repeat(2,1fr);
    }
}
/*  DESKTOP */
@media (min-width:1000px){
    .blog-tabbar{
        display:none; /* tabbar é só mobile — desktop usa topbar + sidebar */
    }
    body{
        padding-bottom:0;
    }
    .logo{
        font-size:1.8rem;
    }
    .blog-grid{
        flex-wrap:nowrap;
        gap:40px;
    }
    .sidebar{
        width:340px;
        flex-shrink:0;
        position:sticky;
        top:90px;
        align-self:start;
    }
    .posts-grid{
        grid-template-columns:repeat(3,1fr);
    }
    .hero-card{
        min-height:560px;
    }
    .hero-title{
        font-size:3rem;
    }
    .hero-description{
        max-width:760px;
        font-size:1rem;
    }
    .post-layout{
        grid-template-columns:
        minmax(0,1fr)
        340px;
        gap:40px;
    }
    .post-sidebar{
        position:sticky;
        top:90px;
        align-self:start;
    }
    .post-hero-content{
        padding-top:180px;
    }
    .post-hero-title{
        font-size:4.2rem;
        max-width:950px;
    }
    .post-section p{
        font-size:1.08rem;
    }
    .category-hero{
        padding: 54px 32px 44px;
    }
    .category-title{
        font-size: 3.4rem;
    }
    .category-description{
        font-size: 1.05rem;
    }
    .category-switcher{
        justify-content: center;
        padding: 22px 32px;
    }
    .category-posts{
        padding: 40px 32px 80px;
    }
    .category-posts-grid{
        grid-template-columns: repeat(3,1fr);
        gap: 30px;
    }
    .autores-grid{
        grid-template-columns: repeat(3,1fr);
        gap: 30px;
    }
    .back-link{
        display: none;
    }
    .author-hero{
        padding: 60px 32px 50px;
    }
    .author-name{
        font-size: 3.4rem;
    }
    .author-description{
        font-size: 1.02rem;
    }
    .author-posts{
        padding: 40px 32px 80px;
    }
    .author-posts-grid{
        grid-template-columns: repeat(3,1fr);
        gap: 30px;
    }
    .continue-banner{
        margin: 16px auto 0;
        max-width: 1400px;
    }
}
/* LARGE DESKTOP */
@media (min-width:1400px){
    .container,
    .blog-grid{
        padding-left:0;
        padding-right:0;
    }
    .category-posts{
        padding-left: 0;
        padding-right: 0;
    }
    .back-link{
        display: none;
    }
    .author-posts{
        padding-left: 0;
        padding-right: 0;
    }
}
