/*
Theme Name: Oi Empreendedores
Theme URI: https://oiempreendedores.com.br
Description: Portal editorial de empreendedorismo. Tema filho de GeneratePress.
Author: Oi Empreendedores
Version: 2.0.0
Template: generatepress
Text Domain: oiempreendedores
*/

/* ==========================================================================
   1. Tokens
   ========================================================================== */
:root{
    --ink:#111;
    --ink-2:#3a3f46;
    --muted:#6b7480;
    --line:#e5e7eb;
    --line-2:#1a1d22;
    --paper:#fff;
    --bg:#f7f7f5;
    --accent:#c0392b;
    --accent-dark:#9c2a1f;

    --serif:"Playfair Display","Times New Roman",Georgia,serif;
    --sans:"Inter",-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,Helvetica,Arial,sans-serif;

    --container:1280px;
    --gutter:24px;
}

[data-theme="dark"]{
    --ink:#f7f7f5;
    --ink-2:#cdd1d6;
    --muted:#9ba2ad;
    --line:#272a2f;
    --line-2:#f7f7f5;
    --paper:#0f1216;
    --bg:#080a0d;
}

/* ==========================================================================
   2. Reset / base
   ========================================================================== */
*,*::before,*::after{ box-sizing:border-box; }
html{ -webkit-text-size-adjust:100%; }
body.oie-body{
    margin:0;
    background:var(--paper);
    color:var(--ink);
    font-family:var(--sans);
    font-size:16px;
    line-height:1.55;
    -webkit-font-smoothing:antialiased;
    text-rendering:optimizeLegibility;
}
img{ max-width:100%; height:auto; display:block; }
a{ color:inherit; text-decoration:none; }
button{ font:inherit; }

h1,h2,h3,h4,h5,h6{
    font-family:var(--serif);
    font-weight:900;
    letter-spacing:-.02em;
    line-height:1.1;
    margin:0;
    color:var(--ink);
}

.oie-container{
    width:100%;
    max-width:var(--container);
    margin:0 auto;
    padding:0 var(--gutter);
}

.oie-sr-only{ position:absolute; left:-9999px; }

/* ==========================================================================
   3. Header
   ========================================================================== */
.oie-header{
    position:sticky;
    top:0;
    z-index:1000;
    background:var(--paper);
    border-bottom:1px solid var(--line);
}
.oie-header__bar{
    display:flex;
    align-items:center;
    justify-content:space-between;
    padding:18px 0;
    gap:24px;
}
.oie-header__brand{
    font-family:var(--serif);
    font-style:italic;
    font-weight:900;
    font-size:30px;
    letter-spacing:-.025em;
    line-height:1;
    color:var(--ink);
}
.oie-brand__dot{ color:var(--accent); }
.oie-header__actions{ display:flex; align-items:center; gap:6px; }
.oie-header__icon{
    width:40px; height:40px;
    display:inline-flex; align-items:center; justify-content:center;
    border:1px solid transparent;
    background:transparent;
    color:var(--ink);
    cursor:pointer;
    border-radius:0;
}
.oie-header__icon:hover{ border-color:var(--line); color:var(--accent); }

/* ==========================================================================
   4. Breaking strip — uma manchete única, faixa preta
   ========================================================================== */
.oie-breaking{
    background:var(--ink);
    color:var(--paper);
}
.oie-breaking__inner{
    display:flex;
    align-items:center;
    gap:18px;
    padding:11px 0;
}
.oie-breaking__label{
    background:var(--accent);
    color:#fff;
    font-family:var(--sans);
    font-weight:800;
    font-size:11px;
    letter-spacing:.18em;
    padding:6px 11px;
    text-transform:none;
    flex-shrink:0;
}
.oie-breaking__headline{
    font-family:var(--sans);
    font-size:14px;
    font-weight:600;
    color:#fff;
    text-decoration:none;
    flex:1;
    min-width:0;
    overflow:hidden;
    text-overflow:ellipsis;
    white-space:nowrap;
}
.oie-breaking__headline:hover{
    color:#fff;
    text-decoration:underline;
    text-underline-offset:4px;
    text-decoration-color:var(--accent);
    text-decoration-thickness:2px;
}

/* ==========================================================================
   5. Megamenu / search modal / floating socials
   ========================================================================== */
.oie-megamenu{
    position:fixed; inset:0;
    background:var(--paper);
    display:none;
    z-index:1100;
    overflow:auto;
}
.oie-megamenu.is-open{ display:block; }
.oie-megamenu__inner{
    max-width:var(--container);
    margin:0 auto;
    padding:96px 24px;
}
.oie-megamenu__close{
    position:absolute; top:18px; right:18px;
    width:48px; height:48px;
    background:transparent;
    border:1px solid var(--line);
    cursor:pointer;
    font-size:24px;
}
.oie-megamenu__list{
    list-style:none;
    margin:0; padding:0;
    display:grid;
    grid-template-columns:repeat(3,1fr);
    gap:32px;
}
.oie-megamenu__list a{
    font-family:var(--serif);
    font-style:italic;
    font-weight:900;
    font-size:24px;
    color:var(--ink);
    padding:14px 0;
    border-bottom:1px solid var(--line);
    display:flex; align-items:center; gap:12px;
}
.oie-megamenu__list a::before{ content:"›"; color:var(--accent); }

.oie-search-modal{
    position:fixed; inset:0;
    background:rgba(17,17,17,.95);
    display:none;
    z-index:1200;
    align-items:flex-start;
    justify-content:center;
    padding:14vh var(--gutter) 0;
}
.oie-search-modal.is-open{ display:flex; }
.oie-search-modal__form{ width:100%; max-width:760px; }
.oie-search-modal input[type="search"]{
    width:100%;
    padding:18px 0;
    font-family:var(--serif);
    font-size:32px;
    font-style:italic;
    border:none;
    border-bottom:2px solid var(--accent);
    background:transparent;
    color:#fff;
    outline:none;
}

/* share rail e floating social — removidos por decisão editorial (site sem redes sociais) */
.oie-share-rail,
.oie-floating-social{ display:none !important; }

/* ==========================================================================
   6. Hero (front-page archetype A)
   ========================================================================== */
.oie-hero{
    margin:36px 0 48px;
    border-bottom:1px solid var(--line);
    padding-bottom:36px;
}
.oie-hero__slides{ position:relative; }
.oie-hero__slide{
    display:grid;
    grid-template-columns:minmax(0, 1.4fr) minmax(0, 1fr);
    gap:48px;
    align-items:center;
}
.oie-hero__slide[hidden]{ display:none; }
.oie-hero__media{
    aspect-ratio:16 / 10;
    overflow:hidden;
    background:var(--line);
    display:block;
}
.oie-hero__media img,
.oie-hero__media .wp-post-image{
    display:block;
    width:100% !important;
    height:100% !important;
    max-width:100% !important;
    object-fit:cover;
    object-position:center;
}
.oie-hero__cat{
    display:inline-flex;
    align-items:center;
    gap:12px;
    font-family:var(--sans);
    font-size:11px;
    font-weight:800;
    letter-spacing:.22em;
    text-transform:none;
    color:var(--accent);
    margin-bottom:18px;
}
.oie-hero__cat::before{
    content:"";
    width:36px; height:2px;
    background:var(--accent);
}
.oie-hero__title{
    font-family:var(--serif);
    font-weight:900;
    font-size:clamp(34px, 4.4vw, 60px);
    line-height:1.02;
    letter-spacing:-.025em;
    margin:0 0 22px;
}
.oie-hero__title a{ color:var(--ink); }
.oie-hero__title a:hover{ color:var(--accent); }
.oie-hero__excerpt{
    font-size:17px;
    line-height:1.5;
    color:var(--ink-2);
    margin:0 0 24px;
    max-width:48ch;
}
.oie-hero__body .oie-btn{
    display:inline-block;
    font-family:var(--sans);
    font-size:12px;
    font-weight:800;
    letter-spacing:.16em;
    text-transform:none;
    color:var(--ink);
    border:none;
    border-bottom:2px solid var(--accent);
    padding:0 0 4px;
    background:transparent;
}
.oie-hero__body .oie-btn:hover{ color:var(--accent); }

.oie-hero__nav{
    margin-top:36px;
    padding-top:18px;
    border-top:1px solid var(--line);
    display:flex;
    gap:0;
}
.oie-hero__nav button{
    flex:1;
    text-align:left;
    background:transparent;
    border:none;
    border-top:3px solid transparent;
    margin-top:-19px;
    padding:18px 18px 0 0;
    font-family:var(--sans);
    font-size:13px;
    font-weight:600;
    line-height:1.3;
    color:var(--muted);
    cursor:pointer;
}
.oie-hero__nav button:hover{ color:var(--ink); }
.oie-hero__nav button.is-active{ color:var(--ink); border-top-color:var(--accent); }

@media (max-width:880px){
    .oie-hero__slide{ grid-template-columns:1fr; gap:24px; }
    .oie-hero__title{ font-size:32px; }
}

/* ==========================================================================
   7. Layout (main + sidebar)
   ========================================================================== */
.oie-layout,
.oie-layout--single{
    display:grid;
    grid-template-columns:minmax(0, 1fr) 320px;
    gap:48px;
    align-items:start;
}
.oie-main-col,
.oie-post{ min-width:0; }
.oie-sidebar{ min-width:0; }
@media (max-width:980px){
    .oie-layout,
    .oie-layout--single{ grid-template-columns:1fr; gap:32px; }
}

/* ==========================================================================
   8. Section heading (h2 com kicker e accent bar)
   ========================================================================== */
.oie-section{ margin:0 0 64px; }
.oie-section__h{
    display:flex;
    align-items:flex-end;
    justify-content:space-between;
    gap:24px;
    margin-bottom:28px;
    padding:0 0 14px;
    border-bottom:3px solid var(--ink);
    position:relative;
}
.oie-section__h::after{
    content:"";
    position:absolute;
    left:0; bottom:-3px;
    width:84px;
    height:3px;
    background:var(--accent);
}
.oie-section__h h2{
    font-family:var(--sans);
    font-weight:900;
    font-size:22px;
    letter-spacing:.16em;
    text-transform:none;
    color:var(--ink);
}
.oie-section__h a{
    flex-shrink:0;
    font-family:var(--sans);
    font-size:11px;
    font-weight:800;
    letter-spacing:.16em;
    text-transform:none;
    color:var(--ink);
    padding-bottom:4px;
    border-bottom:1px solid var(--accent);
}
.oie-section__h a:hover{ color:var(--accent); }

/* ==========================================================================
   9. Card (universal — image on top, body below)
   ========================================================================== */
.oie-card{
    display:flex;
    flex-direction:column;
    gap:14px;
    background:transparent;
    margin:0;
}
.oie-card__media{
    display:block;
    aspect-ratio:16 / 10;
    overflow:hidden;
    background:var(--line);
    line-height:0;
}
.oie-card__media img,
.oie-card__media .oie-card__img,
.oie-card__media .wp-post-image{
    display:block;
    width:100% !important;
    height:100% !important;
    max-width:100% !important;
    object-fit:cover;
    object-position:center;
}
.oie-card__body{ display:flex; flex-direction:column; gap:8px; flex:1; }
.oie-card__cat{
    font-family:var(--sans);
    font-size:10px;
    font-weight:800;
    letter-spacing:.18em;
    text-transform:none;
    color:var(--accent);
}
.oie-card__cat a{ color:inherit; }
.oie-card__title{
    font-family:var(--serif);
    font-weight:900;
    font-size:20px;
    line-height:1.18;
    letter-spacing:-.015em;
    margin:0;
}
.oie-card__title a{ color:var(--ink); }
.oie-card__title a:hover{ color:var(--accent); }
.oie-card__excerpt{
    font-family:var(--sans);
    font-size:14px;
    line-height:1.5;
    color:var(--muted);
    margin:0;
}
.oie-card__meta{
    margin-top:auto;
    padding-top:6px;
    font-family:var(--sans);
    font-size:10.5px;
    font-weight:600;
    letter-spacing:.06em;
    text-transform:none;
    color:var(--muted);
    display:flex;
    gap:14px;
}

.oie-card--lg .oie-card__title{ font-size:28px; }
.oie-card--xl .oie-card__title{ font-size:38px; }

/* ==========================================================================
   10. "Em alta" — 3 cards rankeados
   ========================================================================== */
.oie-front__row-three{
    display:grid;
    grid-template-columns:repeat(3, minmax(0, 1fr));
    gap:36px;
}
.oie-front__row-three--ranked{ counter-reset:trend; }
.oie-front__row-three--ranked > .oie-card{ counter-increment:trend; }
.oie-front__row-three--ranked > .oie-card .oie-card__body::before{
    content:counter(trend, decimal-leading-zero);
    display:inline-block;
    background:var(--accent);
    color:#fff;
    font-family:var(--sans);
    font-weight:800;
    font-size:11px;
    letter-spacing:.1em;
    padding:4px 8px;
    align-self:flex-start;
    margin-bottom:2px;
}
.oie-front__row-three--ranked > .oie-card .oie-card__title{ font-size:22px; }

@media (max-width:780px){
    .oie-front__row-three{ grid-template-columns:1fr; gap:32px; }
}

/* ==========================================================================
   11. Bloco de categoria — featured + 4 satellites em magazine grid
   ========================================================================== */
.oie-front__cat-block{
    margin:0 0 80px;
    background:transparent;
    padding:0;
    border:none;
    box-shadow:none;
}
.oie-front__cat-block > .oie-section__h{ margin-bottom:36px; }

.oie-front__cat-grid{
    display:grid;
    grid-template-columns:minmax(0, 1.4fr) minmax(0, 1fr) minmax(0, 1fr);
    gap:36px;
    align-items:start;
}
/* As 3 wrappers do PHP: featured, oie-cat-col (2 cards), oie-cat-col (2 cards) */
.oie-front__cat-grid > div{ display:flex; flex-direction:column; gap:32px; min-width:0; }

/* Featured (1ª wrapper) — destaque maior, mas mesma proporção 16:10 */
.oie-front__cat-grid > div:first-child .oie-card{
    flex-direction:column;
}
.oie-front__cat-grid > div:first-child .oie-card .oie-card__media{
    aspect-ratio:16 / 10;
}
.oie-front__cat-grid > div:first-child .oie-card .oie-card__title{
    font-family:var(--serif);
    font-weight:900;
    font-size:30px;
    line-height:1.05;
}
.oie-front__cat-grid > div:first-child .oie-card .oie-card__excerpt{ font-size:15px; }

/* Satellites — mesma proporção 16:10, headline menor */
.oie-cat-col .oie-card{ flex-direction:column; gap:12px; }
.oie-cat-col .oie-card .oie-card__media{ aspect-ratio:16 / 10; }
.oie-cat-col .oie-card .oie-card__title{ font-size:17px; line-height:1.22; }
.oie-cat-col .oie-card .oie-card__excerpt{ display:none; }

@media (max-width:1100px){
    .oie-front__cat-grid{ grid-template-columns:minmax(0, 1.3fr) minmax(0, 1fr); gap:28px; }
    .oie-front__cat-grid > div:first-child{ grid-row:1 / span 2; }
}
@media (max-width:780px){
    .oie-front__cat-grid{ grid-template-columns:1fr; }
    .oie-front__cat-grid > div:first-child{ grid-row:auto; }
    .oie-front__cat-grid > div:first-child .oie-card .oie-card__title{ font-size:24px; }
}

/* ==========================================================================
   12. Sidebar widgets
   ========================================================================== */
.oie-widget{
    background:transparent;
    padding:0;
    box-shadow:none;
    margin-bottom:48px;
    position:relative;
    padding-top:18px;
    border-top:3px solid var(--ink);
}
.oie-widget::before{
    content:"";
    position:absolute;
    left:0; top:-3px;
    width:60px; height:3px;
    background:var(--accent);
}
.oie-widget h4{
    font-family:var(--serif);
    font-style:italic;
    font-weight:900;
    font-size:22px;
    color:var(--ink);
    margin:0 0 18px;
    letter-spacing:-.01em;
    text-transform:none;
    border:none;
    padding:0;
}

.oie-widget ul{ list-style:none; margin:0; padding:0; }
.oie-widget ul li{
    padding:11px 0;
    border-bottom:1px solid var(--line);
    font-family:var(--sans);
    font-size:14px;
    font-weight:500;
}
.oie-widget ul li:last-child{ border-bottom:none; }
.oie-widget ul li a{
    color:var(--ink);
    display:flex; gap:10px; align-items:center;
}
.oie-widget ul li a::before{
    content:"";
    width:8px; height:1px;
    background:var(--accent);
    flex-shrink:0;
}
.oie-widget ul li a:hover{ color:var(--accent); }

.oie-widget ol{
    counter-reset:rank;
    list-style:none;
    margin:0; padding:0;
}
.oie-widget ol > li{
    counter-increment:rank;
    position:relative;
    padding:14px 0 14px 50px;
    border-bottom:1px solid var(--line);
    min-height:54px;
    font-family:var(--serif);
    font-weight:700;
    font-size:15px;
    line-height:1.22;
    display:flex; align-items:center;
}
.oie-widget ol > li:last-child{ border-bottom:none; }
.oie-widget ol > li::before{
    content:counter(rank, decimal-leading-zero);
    position:absolute;
    left:0; top:8px;
    font-family:var(--serif);
    font-style:italic;
    font-weight:900;
    font-size:32px;
    color:var(--accent);
    letter-spacing:-.04em;
    line-height:1;
}
.oie-widget ol > li a{ color:var(--ink); }
.oie-widget ol > li a:hover{ color:var(--accent); }

/* ==========================================================================
   13. Single post
   ========================================================================== */
.oie-post{
    background:transparent;
    padding:0;
    margin:32px 0 0;
}
.oie-post__crumbs{
    font-family:var(--sans);
    font-size:11px;
    font-weight:600;
    letter-spacing:.12em;
    color:var(--muted);
    margin-bottom:24px;
}
.oie-post__crumbs a{ color:var(--muted); }
.oie-post__crumbs a:hover{ color:var(--accent); }
.oie-post__kicker{
    display:inline-block;
    font-family:var(--sans);
    font-size:11px;
    font-weight:800;
    letter-spacing:.18em;
    color:var(--accent);
    margin-bottom:14px;
    padding-left:14px;
    position:relative;
}
.oie-post__kicker::before{
    content:"";
    position:absolute;
    left:0; top:50%;
    width:8px; height:2px;
    background:var(--accent);
    transform:translateY(-50%);
}
.oie-post__kicker a{ color:inherit; }
.oie-post__kicker a:hover{ color:var(--ink); }
.oie-post h1.oie-post__title{
    font-family:var(--serif);
    font-weight:900;
    font-size:clamp(32px, 3.6vw, 52px);
    line-height:1.05;
    letter-spacing:-.025em;
    margin:0 0 22px;
    max-width:22ch;
}
.oie-post__lead{
    font-family:var(--sans);
    font-size:14px;
    font-weight:500;
    color:var(--muted);
    margin:0 0 28px;
    padding:14px 0 14px;
    border-top:3px solid var(--ink);
    border-bottom:1px solid var(--line);
    display:flex;
    flex-wrap:wrap;
    align-items:center;
    gap:8px;
}
.oie-post__lead strong{ color:var(--ink); font-weight:700; }
.oie-post__lead .oie-dot{ color:var(--line); font-weight:400; }

.oie-post__featured{
    aspect-ratio:16 / 10;
    overflow:hidden;
    margin:0 0 32px;
    background:var(--line);
    position:relative;
}
.oie-post__featured img,
.oie-post__featured .wp-post-image{
    display:block;
    width:100% !important;
    height:100% !important;
    max-width:100% !important;
    object-fit:cover;
    object-position:center;
}
.oie-post__featured figcaption{
    font-family:var(--sans);
    font-size:12px;
    color:var(--muted);
    margin-top:8px;
}

.oie-post__content{
    font-family:var(--sans);
    font-size:18px;
    line-height:1.75;
    color:var(--ink);
    max-width:68ch;
}
.oie-post__content > p:first-of-type{
    font-size:21px;
    line-height:1.5;
    font-weight:500;
    color:var(--ink);
}
.oie-post__content > p:first-of-type::first-letter{
    font-family:var(--serif);
    font-weight:900;
    font-size:62px;
    line-height:.9;
    float:left;
    margin:8px 12px 0 0;
    color:var(--accent);
}
.oie-post__content p{ margin:0 0 22px; }
.oie-post__content h2{ font-family:var(--serif); font-size:30px; line-height:1.15; margin:48px 0 16px; letter-spacing:-.015em; }
.oie-post__content h3{ font-family:var(--serif); font-size:22px; line-height:1.2; margin:36px 0 12px; letter-spacing:-.01em; }
.oie-post__content ul, .oie-post__content ol{ padding-left:24px; margin:0 0 22px; }
.oie-post__content li{ margin-bottom:8px; }
.oie-post__content blockquote{
    border-left:4px solid var(--accent);
    margin:32px 0;
    padding:6px 24px;
    font-family:var(--serif);
    font-style:italic;
    font-size:24px;
    line-height:1.45;
    color:var(--ink);
}
.oie-post__content a{ color:var(--ink); border-bottom:1px solid var(--accent); }
.oie-post__content a:hover{ color:var(--accent); }
.oie-post__content img{ max-width:100%; height:auto; }
.oie-post__content figure{ margin:32px 0; }
.oie-post__content figcaption{
    font-family:var(--sans);
    font-size:12px;
    color:var(--muted);
    margin-top:8px;
    text-align:left;
}

.oie-post__tags{
    display:flex; flex-wrap:wrap; gap:8px;
    margin:48px 0 0;
    padding-top:24px;
    border-top:1px solid var(--line);
}
.oie-post__tags a{
    font-family:var(--sans);
    font-size:11px;
    font-weight:600;
    letter-spacing:.06em;
    padding:7px 13px;
    border:1px solid var(--line);
    color:var(--ink-2);
}
.oie-post__tags a::before{ content:"#"; color:var(--accent); margin-right:4px; }
.oie-post__tags a:hover{ border-color:var(--accent); color:var(--accent); }

/* Caixa do autor — substitui o plugin Starbox */
.oie-authorbox{
    display:flex;
    gap:24px;
    align-items:flex-start;
    margin:48px 0 0;
    padding:28px;
    background:var(--bg);
    border-left:4px solid var(--accent);
}
.oie-authorbox__avatar{
    flex-shrink:0;
    display:block;
    width:96px;
    height:96px;
    overflow:hidden;
    line-height:0;
    background:var(--line);
}
.oie-authorbox__avatar img,
.oie-authorbox__img{
    width:96px !important;
    height:96px !important;
    max-width:96px !important;
    display:block;
    object-fit:cover;
}
.oie-authorbox__body{ flex:1; min-width:0; }
.oie-authorbox__label{
    display:inline-block;
    font-family:var(--sans);
    font-size:11px;
    font-weight:800;
    letter-spacing:.18em;
    color:var(--accent);
    margin-bottom:8px;
}
.oie-authorbox__name{
    font-family:var(--serif);
    font-style:italic;
    font-weight:900;
    font-size:24px;
    line-height:1.15;
    margin:0 0 10px;
    letter-spacing:-.015em;
}
.oie-authorbox__name a{ color:var(--ink); }
.oie-authorbox__name a:hover{ color:var(--accent); }
.oie-authorbox__bio{
    font-family:var(--sans);
    font-size:14px;
    line-height:1.55;
    color:var(--ink-2);
    margin:0 0 14px;
}
.oie-authorbox__link{
    display:inline-block;
    font-family:var(--sans);
    font-size:11px;
    font-weight:800;
    letter-spacing:.14em;
    color:var(--ink);
    padding-bottom:3px;
    border-bottom:1px solid var(--accent);
}
.oie-authorbox__link:hover{ color:var(--accent); }
@media (max-width:560px){
    .oie-authorbox{ flex-direction:column; gap:16px; padding:22px; }
    .oie-authorbox__avatar{ width:72px; height:72px; }
    .oie-authorbox__avatar img, .oie-authorbox__img{ width:72px !important; height:72px !important; max-width:72px !important; }
}

.oie-related{ margin-top:64px; padding-top:32px; border-top:3px solid var(--ink); }
.oie-related .oie-section__h{ margin-bottom:24px; padding-bottom:0; border-bottom:none; }
.oie-related .oie-section__h::after{ display:none; }
.oie-related .oie-section__h h2{ font-size:18px; }
.oie-related__grid{
    display:grid;
    grid-template-columns:repeat(2, minmax(0,1fr));
    gap:32px;
}
@media (max-width:680px){ .oie-related__grid{ grid-template-columns:1fr; } }

.oie-comments{
    margin-top:48px;
    padding-top:32px;
    border-top:1px solid var(--line);
}
.oie-comments h3{
    font-family:var(--sans);
    font-size:13px;
    font-weight:800;
    letter-spacing:.16em;
    margin:0 0 20px;
    color:var(--ink);
}

/* Compatibilidade — chips antigos do Bunyad/Antonio podem renderizar essa classe */
.oie-post__h3cats,
.oie-byline-inline{ display:none; }

/* ==========================================================================
   14. Archive
   ========================================================================== */
.oie-archive__head{
    background:transparent;
    padding:48px 0 36px;
    margin-bottom:36px;
    border-bottom:3px solid var(--ink);
    position:relative;
}
.oie-archive__head::after{
    content:"";
    position:absolute;
    left:0; bottom:-3px;
    width:120px; height:3px;
    background:var(--accent);
}
.oie-archive__chain{
    font-family:var(--sans);
    font-size:11px;
    font-weight:600;
    letter-spacing:.14em;
    text-transform:none;
    color:var(--muted);
    margin-bottom:12px;
}
.oie-archive__chain a{ color:var(--muted); }
.oie-archive__chain a:hover{ color:var(--accent); }
.oie-archive__h1{
    font-family:var(--serif);
    font-style:italic;
    font-weight:900;
    font-size:clamp(36px, 5vw, 56px);
    margin:0 0 12px;
}
.oie-archive__sub{
    font-family:var(--sans);
    font-size:16px;
    line-height:1.5;
    color:var(--ink-2);
    max-width:64ch;
    margin:0;
}
.oie-archive__strip{
    display:flex; flex-wrap:wrap; gap:8px;
    margin-top:18px;
}
.oie-archive__strip a{
    font-family:var(--sans);
    font-size:12px;
    font-weight:600;
    text-transform:none;
    letter-spacing:.08em;
    padding:7px 14px;
    border:1px solid var(--line);
    color:var(--ink-2);
}
.oie-archive__strip a:hover{ border-color:var(--accent); color:var(--accent); }

.oie-archive__row3{
    display:grid;
    grid-template-columns:repeat(3, minmax(0,1fr));
    gap:36px;
    margin-bottom:48px;
}
.oie-archive__row2{
    display:grid;
    grid-template-columns:repeat(2, minmax(0,1fr));
    gap:36px;
    margin-bottom:48px;
}
.oie-archive__row1{ display:flex; flex-direction:column; gap:32px; }
@media (max-width:780px){
    .oie-archive__row3, .oie-archive__row2{ grid-template-columns:1fr; }
}

.oie-archive__loader{
    text-align:center;
    padding:36px;
    font-family:var(--sans);
    font-size:11px;
    font-weight:700;
    letter-spacing:.14em;
    text-transform:none;
    color:var(--muted);
}

/* ==========================================================================
   15. Search / 404
   ========================================================================== */
.oie-search__form{
    display:flex; gap:8px;
    background:transparent;
    padding:24px 0;
    border-top:1px solid var(--line);
    border-bottom:1px solid var(--line);
    margin-bottom:36px;
}
.oie-search__form input[type="search"]{
    flex:1;
    padding:14px 0;
    font-family:var(--serif);
    font-style:italic;
    font-size:24px;
    border:none;
    background:transparent;
    color:var(--ink);
    outline:none;
}

.oie-404{
    text-align:left;
    padding:64px 0;
}
.oie-404 h1{
    font-family:var(--serif);
    font-style:italic;
    font-weight:900;
    font-size:clamp(80px, 14vw, 180px);
    line-height:.9;
    color:var(--accent);
    margin:0 0 18px;
    letter-spacing:-.04em;
}
.oie-404 p{ font-size:18px; color:var(--ink-2); }

/* ==========================================================================
   16. Buttons
   ========================================================================== */
.oie-btn{
    display:inline-flex;
    align-items:center;
    gap:6px;
    padding:11px 18px;
    font-family:var(--sans);
    font-size:11px;
    font-weight:800;
    letter-spacing:.16em;
    text-transform:none;
    color:var(--ink);
    background:transparent;
    border:1px solid var(--ink);
    cursor:pointer;
}
.oie-btn:hover{ background:var(--ink); color:var(--paper); }
.oie-btn--accent{ border-color:var(--accent); color:var(--accent); }
.oie-btn--accent:hover{ background:var(--accent); color:#fff; }

/* ==========================================================================
   17. Footer
   ========================================================================== */
.oie-footer{
    background:#0a0c10;
    color:#d8dde3;
    padding:64px 0 24px;
    margin-top:80px;
}
.oie-footer h4{
    font-family:var(--sans);
    font-size:11px;
    font-weight:800;
    letter-spacing:.18em;
    text-transform:none;
    color:#fff;
    margin:0 0 16px;
    padding-bottom:10px;
    border-bottom:1px solid #1f242a;
}
.oie-footer__grid{
    display:grid;
    grid-template-columns:repeat(6, minmax(0,1fr));
    gap:32px;
}
.oie-footer__col p{ font-family:var(--sans); font-size:14px; line-height:1.6; margin:0; }
.oie-footer__col ul{ list-style:none; margin:0; padding:0; }
.oie-footer__col li{ font-family:var(--sans); font-size:14px; padding:5px 0; }
.oie-footer__col a{ color:#d8dde3; }
.oie-footer__col a:hover{ color:#fff; text-decoration:underline; text-decoration-color:var(--accent); text-underline-offset:3px; }
.oie-footer__bottom{
    border-top:1px solid #2c3137;
    margin-top:48px;
    padding-top:18px;
    font-family:var(--sans);
    font-size:13px;
    color:#c0c5cc;
}
@media (max-width:980px){ .oie-footer__grid{ grid-template-columns:repeat(3,1fr); } }
@media (max-width:560px){ .oie-footer__grid{ grid-template-columns:repeat(2,1fr); } }

/* ==========================================================================
   18. Misc / a11y
   ========================================================================== */
.oie-pagination{ display:none; }

@media (prefers-reduced-motion: reduce){
    *{ transition:none !important; animation:none !important; }
    .oie-card:hover .oie-card__media img{ transform:none; }
}

/* ==========================================================================
   19. Force visibility — neutraliza qualquer regra que tente esconder
   conteúdo do main-col e seus filhos (parent themes, plugins, etc.)
   ========================================================================== */
.oie-main,
.oie-main-col,
.oie-section,
.oie-front__row-three,
.oie-front__row-three > .oie-card,
.oie-front__cat-block,
.oie-front__cat-grid,
.oie-front__cat-grid > div,
.oie-cat-col,
.oie-cat-col > .oie-card,
.oie-card,
.oie-card > *,
.oie-card__body,
.oie-card__body > *,
.oie-card__media,
.oie-sidebar,
.oie-widget,
.oie-widget > *{
    opacity:1 !important;
    visibility:visible !important;
    transform:none !important;
    animation:none !important;
    content-visibility:visible !important;
}
.oie-main, .oie-main-col, .oie-section, .oie-front__cat-block{ display:block !important; }
.oie-front__row-three, .oie-front__cat-grid{ display:grid !important; }
.oie-card{ display:flex !important; }
.oie-card__media{ display:block !important; }
.oie-card__body{ display:flex !important; }

.oie-card__media a:focus-visible,
a:focus-visible,
button:focus-visible{
    outline:2px solid var(--accent);
    outline-offset:3px;
}
