/* Online Escola - Etapa 2: destaque principal da página inicial */
.oe-home-featured{
    padding:14px 0 16px;
    background:#fff;
    border-bottom:1px solid #edf1f6;
}

.oe-home-featured-grid{
    display:grid;
    grid-template-columns:minmax(0,1.72fr) minmax(310px,1.05fr) minmax(280px,.92fr);
    gap:14px;
    align-items:stretch;
}

.oe-home-hero{
    position:relative;
    min-height:365px;
    overflow:hidden;
    border-radius:9px;
    background:#0c203b;
    box-shadow:0 3px 12px rgba(13,37,68,.08);
}

.oe-home-hero-image{
    position:absolute;
    inset:0;
    display:block;
}

.oe-home-hero>img,
.oe-home-hero-image img{
    width:100%;
    height:100%;
    object-fit:cover;
    display:block;
}

.oe-home-hero-overlay{
    position:absolute;
    inset:0;
    pointer-events:none;
    background:linear-gradient(0deg,rgba(5,16,35,.92) 0%,rgba(5,16,35,.58) 42%,rgba(5,16,35,.07) 74%);
}

.oe-home-chip,
.oe-home-mini-chip{
    display:inline-flex;
    align-items:center;
    width:max-content;
    max-width:calc(100% - 28px);
    border-radius:999px;
    background:#1264f6;
    color:#fff;
    font-weight:800;
    line-height:1;
    letter-spacing:.01em;
}

.oe-home-chip{
    position:absolute;
    top:15px;
    left:16px;
    z-index:2;
    padding:6px 11px;
    font-size:10px;
}

.oe-home-hero-content{
    position:absolute;
    z-index:2;
    left:20px;
    right:20px;
    bottom:17px;
    color:#fff;
}

.oe-home-hero-content h1{
    max-width:760px;
    margin:0 0 8px;
    font-size:30px;
    line-height:1.06;
    letter-spacing:-.035em;
    font-weight:850;
}

.oe-home-hero-content h1 a{
    color:#fff;
    text-decoration:none;
}

.oe-home-hero-content p{
    max-width:780px;
    margin:0 0 12px;
    color:#f4f7fb;
    font-size:13px;
    line-height:1.4;
}

.oe-home-meta{
    display:flex;
    flex-wrap:wrap;
    align-items:center;
    gap:8px 18px;
    color:#f7f9fd;
    font-size:10px;
}

.oe-home-meta span{
    display:inline-flex;
    align-items:center;
    gap:5px;
}

.oe-home-meta svg{
    width:13px;
    height:13px;
}

.oe-home-secondary{
    display:grid;
    grid-template-rows:repeat(3,minmax(0,1fr));
    gap:10px;
}

.oe-home-secondary-card{
    display:grid;
    grid-template-columns:42% minmax(0,1fr);
    gap:10px;
    min-height:0;
    padding:7px;
    border:1px solid #e5eaf2;
    border-radius:9px;
    background:#fff;
    box-shadow:0 2px 8px rgba(21,45,83,.045);
}

.oe-home-secondary-thumb{
    display:block;
    min-height:0;
    overflow:hidden;
    border-radius:6px;
    background:#edf2fa;
}

.oe-home-secondary-thumb img{
    width:100%;
    height:100%;
    min-height:96px;
    object-fit:cover;
    display:block;
}

.oe-home-secondary-copy{
    min-width:0;
    display:flex;
    flex-direction:column;
    justify-content:center;
    align-items:flex-start;
    padding:2px 2px 2px 0;
}

.oe-home-mini-chip{
    padding:4px 7px;
    margin-bottom:5px;
    font-size:8px;
}

.oe-home-secondary-copy h2{
    margin:0 0 7px;
    font-size:14px;
    line-height:1.16;
    font-weight:800;
    color:#101c3d;
}

.oe-home-secondary-copy h2 a{
    color:inherit;
    text-decoration:none;
}

.oe-home-secondary-copy small{
    margin-top:auto;
    display:flex;
    align-items:center;
    gap:4px;
    color:#8290a5;
    font-size:9px;
}

.oe-home-secondary-copy small svg{
    width:10px;
    height:10px;
}

.oe-home-secondary-empty{
    grid-row:1/-1;
    min-height:240px;
    border:1px dashed #ccd6e5;
    border-radius:9px;
    display:flex;
    flex-direction:column;
    align-items:center;
    justify-content:center;
    text-align:center;
    color:#718097;
    gap:7px;
    padding:20px;
}

.oe-home-secondary-empty svg{width:30px;height:30px;color:#3158f5}
.oe-home-secondary-empty strong{color:#1c2a49;font-size:14px}
.oe-home-secondary-empty span{font-size:11px}

.oe-home-most-read{
    padding:13px 14px 9px;
    border:1px solid #e6ebf3;
    border-radius:9px;
    background:#fff;
    box-shadow:0 2px 9px rgba(21,45,83,.045);
}

.oe-home-most-read-title{
    display:flex;
    align-items:center;
    justify-content:space-between;
    gap:10px;
    margin-bottom:4px;
}

.oe-home-most-read-title h2{
    display:flex;
    align-items:center;
    gap:7px;
    margin:0;
    font-size:18px;
    line-height:1;
    font-weight:850;
    color:#101d4b;
}

.oe-home-most-read-title h2 svg{
    width:19px;
    height:19px;
    color:#1663f3;
}

.oe-home-most-read-title>a{
    display:inline-flex;
    align-items:center;
    gap:3px;
    color:#1264f6;
    font-size:13px;
    font-weight:800;
    text-decoration:none;
    white-space:nowrap;
}

.oe-home-most-read-title>a svg{width:14px;height:14px}

.oe-home-most-read ol{
    list-style:none;
    margin:0;
    padding:0;
}

.oe-home-most-read li{
    display:grid;
    grid-template-columns:25px 52px minmax(0,1fr);
    gap:8px;
    align-items:center;
    min-height:60px;
    padding:7px 0;
    border-bottom:1px solid #edf0f5;
}

.oe-home-most-read li:last-child{border-bottom:0}

.oe-home-rank{
    display:flex;
    align-items:center;
    justify-content:center;
    color:#1161ef;
    font-size:20px;
    line-height:1;
    font-weight:850;
}

.oe-home-most-thumb{
    width:52px;
    height:48px;
    overflow:hidden;
    display:block;
    border-radius:5px;
    background:#edf2fa;
}

.oe-home-most-thumb img{
    width:100%;
    height:100%;
    object-fit:cover;
    display:block;
}

.oe-home-most-read li>div{
    min-width:0;
    display:flex;
    flex-direction:column;
    gap:4px;
}

.oe-home-most-link{
    display:-webkit-box;
    -webkit-box-orient:vertical;
    -webkit-line-clamp:2;
    overflow:hidden;
    color:#111e3c;
    text-decoration:none;
    font-size:10px;
    line-height:1.18;
    font-weight:750;
}

.oe-home-most-read li small{
    color:#8491a5;
    font-size:8px;
}

.oe-home-most-empty{
    grid-template-columns:25px 1fr!important;
}

.oe-home-most-empty strong{
    color:#66758c;
    font-size:10px;
}

.oe-home-hero a:hover,
.oe-home-secondary-card a:hover,
.oe-home-most-read a:hover{
    text-decoration:none;
}

@media (max-width:1180px){
    .oe-home-featured-grid{
        grid-template-columns:minmax(0,1.45fr) minmax(300px,1fr);
    }
    .oe-home-most-read{
        grid-column:1/-1;
    }
    .oe-home-most-read ol{
        display:grid;
        grid-template-columns:repeat(2,minmax(0,1fr));
        column-gap:22px;
    }
}

@media (max-width:780px){
    .oe-home-featured-grid{
        grid-template-columns:1fr;
    }
    .oe-home-hero{
        min-height:390px;
    }
    .oe-home-hero-content h1{
        font-size:26px;
    }
    .oe-home-secondary{
        grid-template-rows:none;
    }
    .oe-home-secondary-card{
        grid-template-columns:130px minmax(0,1fr);
        min-height:110px;
    }
    .oe-home-most-read{
        grid-column:auto;
    }
    .oe-home-most-read ol{
        display:block;
    }
}

@media (max-width:520px){
    .oe-home-featured{
        padding-top:10px;
    }
    .oe-home-hero{
        min-height:360px;
    }
    .oe-home-hero-content{
        left:15px;
        right:15px;
        bottom:14px;
    }
    .oe-home-hero-content h1{
        font-size:23px;
    }
    .oe-home-hero-content p{
        font-size:12px;
    }
    .oe-home-secondary-card{
        grid-template-columns:112px minmax(0,1fr);
    }
    .oe-home-secondary-copy h2{
        font-size:13px;
    }
}

/* =========================================================
   ETAPA 3 - BANNER HORIZONTAL 1
   ========================================================= */
.oe-home-ad{
    padding:0 0 14px;
    background:#fff;
}

.oe-home-ad-media{
    position:relative;
    display:block;
    width:100%;
    overflow:hidden;
    border-radius:8px;
    background:#eef5ff;
    box-shadow:0 2px 9px rgba(21,45,83,.045);
    text-decoration:none;
}

.oe-home-ad-media img{
    display:block;
    width:100%;
    aspect-ratio:16 / 3;
    max-height:150px;
    object-fit:cover;
}

.oe-home-ad-label{
    position:absolute;
    z-index:2;
    top:8px;
    left:12px;
    padding:3px 6px;
    border-radius:4px;
    background:rgba(255,255,255,.82);
    color:#6f7f95;
    font-size:8px;
    line-height:1;
    font-weight:700;
    letter-spacing:.04em;
    backdrop-filter:blur(3px);
}

.oe-home-ad-media:hover{
    text-decoration:none;
}

@media (max-width:780px){
    .oe-home-ad{
        padding-bottom:12px;
    }

    .oe-home-ad-media img{
        min-height:82px;
        max-height:110px;
    }
}

@media (max-width:520px){
    .oe-home-ad-media{
        border-radius:7px;
    }

    .oe-home-ad-media img{
        min-height:74px;
        object-position:center;
    }

    .oe-home-ad-label{
        top:6px;
        left:8px;
        font-size:7px;
    }
}



/* =========================================================
   ETAPA 4 - SOFTWARES GRATUITOS
   ========================================================= */
.oe-home-softwares{
    padding:0 0 16px;
    background:#fff;
}

.oe-home-section-head{
    display:flex;
    align-items:center;
    justify-content:space-between;
    gap:14px;
    margin-bottom:9px;
}

.oe-home-section-head h2{
    display:flex;
    align-items:center;
    gap:8px;
    margin:0;
    color:#101d4b;
    font-size:19px;
    line-height:1.15;
    font-weight:850;
}

.oe-home-section-head h2 svg{
    width:20px;
    height:20px;
    color:#1264f6;
}

.oe-home-section-head>a{
    display:inline-flex;
    align-items:center;
    gap:4px;
    color:#1264f6;
    font-size:13px;
    line-height:1;
    font-weight:800;
    text-decoration:none;
    white-space:nowrap;
}

.oe-home-section-head>a svg{
    width:14px;
    height:14px;
}

.oe-home-software-grid{
    display:grid;
    grid-template-columns:repeat(5,minmax(0,1fr));
    gap:10px;
}

.oe-home-software-card{
    min-width:0;
    overflow:hidden;
    display:flex;
    flex-direction:column;
    border:1px solid #e3e9f2;
    border-radius:8px;
    background:#fff;
    box-shadow:0 2px 8px rgba(21,45,83,.045);
}

.oe-home-software-thumb{
    display:block;
    aspect-ratio:16/8.2;
    overflow:hidden;
    background:#eef3fa;
}

.oe-home-software-thumb img{
    width:100%;
    height:100%;
    object-fit:cover;
    display:block;
    transition:transform .2s ease;
}

.oe-home-software-card:hover .oe-home-software-thumb img{
    transform:scale(1.025);
}

.oe-home-software-body{
    flex:1;
    min-width:0;
    display:flex;
    flex-direction:column;
    padding:10px 11px 11px;
}

.oe-home-software-body h3{
    margin:0 0 2px;
    color:#101d3c;
    font-size:16px;
    line-height:1.22;
    font-weight:850;
}

.oe-home-software-body h3 a{
    color:inherit;
    text-decoration:none;
}

.oe-home-software-body>span{
    display:block;
    margin-bottom:5px;
    color:#1264f6;
    font-size:13px;
    line-height:1.3;
    font-weight:700;
}

.oe-home-software-body p{
    display:-webkit-box;
    -webkit-box-orient:vertical;
    -webkit-line-clamp:3;
    overflow:hidden;
    margin:0 0 8px;
    color:#6f7c91;
    font-size:14px;
    line-height:1.42;
}

.oe-home-software-button{
    margin-top:auto;
    min-height:38px;
    padding:6px 9px;
    border:1px solid #dbe4f1;
    border-radius:6px;
    display:flex;
    align-items:center;
    justify-content:center;
    gap:5px;
    color:#1264f6;
    background:#fff;
    font-size:13px;
    line-height:1;
    font-weight:800;
    text-decoration:none;
    transition:.15s ease;
}

.oe-home-software-button svg{
    width:15px;
    height:15px;
}

.oe-home-software-button:hover{
    border-color:#b9ccf7;
    background:#f5f8ff;
    color:#0e55da;
    text-decoration:none;
}

.oe-home-section-empty{
    min-height:110px;
    padding:20px;
    border:1px dashed #ccd6e5;
    border-radius:8px;
    display:flex;
    align-items:center;
    justify-content:center;
    gap:12px;
    color:#738096;
    text-align:left;
}

.oe-home-section-empty>svg{
    width:28px;
    height:28px;
    color:#1264f6;
}

.oe-home-section-empty>div{
    display:flex;
    flex-direction:column;
    gap:3px;
}

.oe-home-section-empty strong{
    color:#263650;
    font-size:13px;
}

.oe-home-section-empty span{
    font-size:11px;
}

@media(max-width:1100px){
    .oe-home-software-grid{
        grid-template-columns:repeat(3,minmax(0,1fr));
    }
}

@media(max-width:720px){
    .oe-home-software-grid{
        grid-template-columns:repeat(2,minmax(0,1fr));
    }
    .oe-home-section-head h2{
        font-size:18px;
    }
}

@media(max-width:460px){
    .oe-home-software-grid{
        grid-template-columns:1fr;
    }
    .oe-home-software-thumb{
        aspect-ratio:16/7;
    }
}

/* =========================================================
   ETAPAS 5+ - CONTEÚDO PRINCIPAL, LATERAL, MATERIAIS,
   POSTAGENS, TUTORIAIS, TAGS E PUBLICIDADE QUADRADA
   ========================================================= */
.oe-home-content-band{
    padding:0 0 16px;
    background:#fff;
}

.oe-home-content-layout{
    display:grid;
    grid-template-columns:minmax(0,4fr) minmax(255px,1fr);
    gap:14px;
    align-items:start;
}

.oe-home-maincol,
.oe-home-sidecol{
    min-width:0;
}

.oe-home-maincol{
    display:flex;
    flex-direction:column;
    gap:16px;
}

.oe-home-sidecol{
    display:flex;
    flex-direction:column;
    gap:14px;
}

.oe-home-softwares,
.oe-home-materials,
.oe-home-latest,
.oe-home-tutorials{
    padding:0;
    background:transparent;
}

.oe-home-material-grid{
    display:grid;
    grid-template-columns:repeat(5,minmax(0,1fr));
    gap:10px;
}

.oe-home-material-card{
    min-width:0;
    overflow:hidden;
    display:flex;
    flex-direction:column;
    border:1px solid #e3e9f2;
    border-radius:8px;
    background:#fff;
    box-shadow:0 2px 8px rgba(21,45,83,.045);
}

.oe-home-material-thumb{
    display:block;
    aspect-ratio:16/8.7;
    overflow:hidden;
    background:#eef3fa;
}

.oe-home-material-thumb img{
    width:100%;
    height:100%;
    object-fit:cover;
    display:block;
    transition:transform .2s ease;
}

.oe-home-material-card:hover .oe-home-material-thumb img{
    transform:scale(1.025);
}

.oe-home-material-body{
    flex:1;
    min-width:0;
    display:flex;
    flex-direction:column;
    padding:9px 10px 10px;
}

.oe-home-material-body h3{
    margin:0 0 2px;
    color:#101d3c;
    font-size:15px;
    line-height:1.22;
    font-weight:850;
}

.oe-home-material-body h3 a{
    color:inherit;
    text-decoration:none;
}

.oe-home-material-body>span{
    display:block;
    margin-bottom:5px;
    color:#1264f6;
    font-size:12.5px;
    line-height:1.3;
    font-weight:700;
}

.oe-home-material-body p{
    display:-webkit-box;
    -webkit-box-orient:vertical;
    -webkit-line-clamp:3;
    overflow:hidden;
    margin:0 0 8px;
    color:#6f7c91;
    font-size:13.5px;
    line-height:1.38;
}

.oe-home-material-button{
    margin-top:auto;
    min-height:36px;
    padding:6px 8px;
    border:1px solid #dbe4f1;
    border-radius:6px;
    display:flex;
    align-items:center;
    justify-content:center;
    gap:5px;
    color:#1264f6;
    background:#fff;
    font-size:12.5px;
    line-height:1;
    font-weight:800;
    text-decoration:none;
}

.oe-home-material-button svg{
    width:14px;
    height:14px;
}

.oe-home-square-ad{
    position:relative;
    overflow:hidden;
    border-radius:8px;
    border:1px solid #e3e9f2;
    background:#eef5ff;
    box-shadow:0 2px 8px rgba(21,45,83,.05);
}

.oe-home-square-ad>a,
.oe-home-square-ad>div{
    position:relative;
    display:block;
    aspect-ratio:1/1;
    overflow:hidden;
}

.oe-home-square-ad img{
    width:100%;
    height:100%;
    display:block;
    object-fit:cover;
}

.oe-home-square-ad span{
    position:absolute;
    z-index:2;
    top:8px;
    left:9px;
    padding:3px 6px;
    border-radius:4px;
    background:rgba(255,255,255,.86);
    color:#65758d;
    font-size:8px;
    line-height:1;
    font-weight:800;
    letter-spacing:.04em;
}

.oe-home-tags{
    padding:14px;
    border:1px solid #e3e9f2;
    border-radius:8px;
    background:#fff;
    box-shadow:0 2px 8px rgba(21,45,83,.045);
}

.oe-home-tags h2{
    display:flex;
    align-items:center;
    gap:8px;
    margin:0 0 11px;
    color:#101d4b;
    font-size:18px;
    line-height:1.1;
    font-weight:850;
}

.oe-home-tags h2 svg{
    width:19px;
    height:19px;
    color:#1264f6;
}

.oe-home-tag-cloud{
    display:flex;
    flex-wrap:wrap;
    gap:7px;
}

.oe-home-tag-cloud a{
    display:inline-flex;
    align-items:center;
    gap:7px;
    max-width:100%;
    padding:7px 9px;
    border-radius:999px;
    background:#edf5ff;
    color:#1264f6;
    font-size:12px;
    line-height:1;
    font-weight:750;
    text-decoration:none;
}

.oe-home-tag-cloud a span{
    min-width:0;
    overflow:hidden;
    text-overflow:ellipsis;
    white-space:nowrap;
}

.oe-home-tag-cloud a small{
    min-width:22px;
    height:22px;
    padding:0 5px;
    border-radius:999px;
    display:inline-flex;
    align-items:center;
    justify-content:center;
    background:#fff;
    color:#6c84a8;
    font-size:9px;
    font-weight:800;
}

.oe-home-tag-cloud a:hover{
    background:#e2efff;
    text-decoration:none;
}

.oe-home-lower-grid{
    display:grid;
    grid-template-columns:minmax(0,1.65fr) minmax(280px,.9fr);
    gap:14px;
    align-items:start;
}

.oe-home-latest-grid{
    display:grid;
    grid-template-columns:repeat(3,minmax(0,1fr));
    gap:10px;
}

.oe-home-latest-card{
    min-width:0;
    overflow:hidden;
    border:1px solid #e3e9f2;
    border-radius:8px;
    background:#fff;
    box-shadow:0 2px 8px rgba(21,45,83,.045);
}

.oe-home-latest-thumb{
    display:block;
    aspect-ratio:16/9;
    overflow:hidden;
    background:#eef3fa;
}

.oe-home-latest-thumb img{
    width:100%;
    height:100%;
    display:block;
    object-fit:cover;
}

.oe-home-latest-body{
    padding:9px 10px 10px;
}

.oe-home-content-chip{
    display:inline-flex;
    align-items:center;
    max-width:100%;
    margin-bottom:6px;
    padding:4px 7px;
    border-radius:999px;
    background:#1264f6;
    color:#fff;
    font-size:8.5px;
    line-height:1;
    font-weight:850;
}

.oe-home-latest-body h3{
    margin:0 0 5px;
    color:#101d3c;
    font-size:15px;
    line-height:1.24;
    font-weight:850;
}

.oe-home-latest-body h3 a{
    color:inherit;
    text-decoration:none;
}

.oe-home-latest-body p{
    display:-webkit-box;
    -webkit-box-orient:vertical;
    -webkit-line-clamp:3;
    overflow:hidden;
    margin:0 0 8px;
    color:#6f7c91;
    font-size:13px;
    line-height:1.4;
}

.oe-home-latest-body small{
    display:flex;
    align-items:center;
    gap:5px;
    color:#8794a7;
    font-size:11px;
}

.oe-home-latest-body small svg{
    width:13px;
    height:13px;
}

.oe-home-tutorial-list{
    display:flex;
    flex-direction:column;
    gap:9px;
}

.oe-home-tutorial-card{
    display:grid;
    grid-template-columns:126px minmax(0,1fr);
    gap:10px;
    min-height:78px;
    padding:7px;
    border:1px solid #e3e9f2;
    border-radius:8px;
    background:#fff;
    box-shadow:0 2px 8px rgba(21,45,83,.04);
}

.oe-home-tutorial-thumb{
    position:relative;
    display:block;
    min-height:70px;
    overflow:hidden;
    border-radius:6px;
    background:#eef3fa;
}

.oe-home-tutorial-thumb img{
    width:100%;
    height:100%;
    display:block;
    object-fit:cover;
}

.oe-home-play{
    position:absolute;
    left:50%;
    top:50%;
    width:34px;
    height:34px;
    margin:-17px 0 0 -17px;
    border-radius:50%;
    display:flex;
    align-items:center;
    justify-content:center;
    background:rgba(8,24,48,.82);
    color:#fff;
}

.oe-home-play svg{
    width:17px;
    height:17px;
    fill:currentColor;
}

.oe-home-tutorial-thumb>small{
    position:absolute;
    right:5px;
    bottom:5px;
    padding:3px 5px;
    border-radius:4px;
    background:rgba(7,20,40,.86);
    color:#fff;
    font-size:9px;
    line-height:1;
    font-weight:800;
}

.oe-home-tutorial-copy{
    min-width:0;
    display:flex;
    flex-direction:column;
    justify-content:center;
}

.oe-home-tutorial-copy h3{
    margin:0 0 5px;
    color:#101d3c;
    font-size:14px;
    line-height:1.24;
    font-weight:850;
}

.oe-home-tutorial-copy h3 a{
    color:inherit;
    text-decoration:none;
}

.oe-home-tutorial-copy>span{
    color:#1264f6;
    font-size:11.5px;
    font-weight:700;
}

.oe-home-section-empty--small{
    min-height:100px;
    padding:14px;
}

.oe-home-ad--second{
    padding-top:0;
    padding-bottom:16px;
}

/* Rodapé exibido nesta etapa */
.oe-footer{
    margin-top:0;
}

@media(max-width:1180px){
    .oe-home-content-layout{
        grid-template-columns:minmax(0,3fr) minmax(230px,1fr);
    }
    .oe-home-software-grid,
    .oe-home-material-grid{
        grid-template-columns:repeat(3,minmax(0,1fr));
    }
    .oe-home-lower-grid{
        grid-template-columns:1fr;
    }
    .oe-home-tutorial-list{
        display:grid;
        grid-template-columns:repeat(3,minmax(0,1fr));
    }
    .oe-home-tutorial-card{
        grid-template-columns:1fr;
    }
    .oe-home-tutorial-thumb{
        aspect-ratio:16/9;
    }
}

@media(max-width:900px){
    .oe-home-content-layout{
        grid-template-columns:1fr;
    }
    .oe-home-sidecol{
        display:grid;
        grid-template-columns:repeat(2,minmax(0,1fr));
        align-items:start;
    }
    .oe-home-tags{
        grid-column:1/-1;
    }
    .oe-home-square-ad>a,
    .oe-home-square-ad>div{
        aspect-ratio:16/10;
    }
}

@media(max-width:720px){
    .oe-home-material-grid,
    .oe-home-latest-grid,
    .oe-home-tutorial-list{
        grid-template-columns:repeat(2,minmax(0,1fr));
    }
    .oe-home-tutorial-card{
        grid-template-columns:1fr;
    }
}

@media(max-width:520px){
    .oe-home-material-grid,
    .oe-home-latest-grid,
    .oe-home-tutorial-list,
    .oe-home-sidecol{
        grid-template-columns:1fr;
    }
    .oe-home-tags{
        grid-column:auto;
    }
    .oe-home-square-ad>a,
    .oe-home-square-ad>div{
        aspect-ratio:1/1;
    }
    .oe-home-section-head{
        align-items:flex-start;
    }
    .oe-home-section-head h2{
        font-size:18px;
    }
}

.oe-home-content-layout--full{
    grid-template-columns:minmax(0,1fr);
}

/* =========================================================
   RODAPÉ COMPACTO - ETAPA HOME
   ========================================================= */
.oe-footer{
    margin-top:0 !important;
    padding:22px 0 18px !important;
    background:#fff !important;
    color:#13213e !important;
    border-top:1px solid #e3e9f2 !important;
}

.oe-footer .oe-shell{
    padding-top:0 !important;
    padding-bottom:0 !important;
}

.oe-footer-grid{
    display:grid !important;
    grid-template-columns:minmax(300px,1.65fr) minmax(130px,.72fr) minmax(165px,.9fr) minmax(145px,.82fr) minmax(240px,1.12fr) minmax(250px,1.2fr) !important;
    gap:26px !important;
    align-items:start !important;
}

.oe-footer-grid>section,
.oe-footer-grid>nav{
    min-height:0 !important;
    padding:0 !important;
    margin:0 !important;
    border:0 !important;
}

.oe-footer h3{
    margin:0 0 11px !important;
    color:#0f1d3b !important;
    font-size:15px !important;
    line-height:1.25 !important;
    font-weight:850 !important;
}

.oe-footer-logo{
    display:flex !important;
    align-items:center !important;
    gap:10px !important;
    color:#0b57d0 !important;
    text-decoration:none !important;
}

.oe-footer-logo-icon,
.oe-platform-icon{
    width:48px !important;
    height:48px !important;
    flex:0 0 48px !important;
    display:flex !important;
    align-items:center !important;
    justify-content:center !important;
    color:#1098ef !important;
}

.oe-footer-logo-icon svg,
.oe-platform-icon svg{
    width:34px !important;
    height:34px !important;
}

.oe-footer-logo strong{
    display:block !important;
    color:#0957ce !important;
    font-size:18px !important;
    line-height:1.15 !important;
    font-weight:850 !important;
}

.oe-footer-logo small{
    display:block !important;
    margin-top:3px !important;
    color:#6c7890 !important;
    font-size:13px !important;
    line-height:1.3 !important;
}

.oe-footer-brand>p{
    max-width:440px !important;
    margin:12px 0 9px !important;
    color:#647089 !important;
    font-size:14px !important;
    line-height:1.55 !important;
}

.oe-footer-brand>a:not(.oe-footer-logo),
.oe-footer-brand>span,
.oe-footer-brand>small{
    color:#66748e !important;
    font-size:13px !important;
    line-height:1.5 !important;
    text-decoration:none !important;
}

.oe-footer-column{
    display:flex !important;
    flex-direction:column !important;
    gap:5px !important;
}

.oe-footer-column a{
    color:#5f6d87 !important;
    text-decoration:none !important;
    font-size:14px !important;
    line-height:1.35 !important;
}

.oe-footer-column a:hover{
    color:#0d63e8 !important;
    text-decoration:underline !important;
}

.oe-platform-brand{
    display:flex !important;
    align-items:flex-start !important;
    gap:10px !important;
}

.oe-platform-brand strong{
    display:block !important;
    margin:2px 0 5px !important;
    color:#0f1d3b !important;
    font-size:15px !important;
    line-height:1.25 !important;
    font-weight:850 !important;
}

.oe-platform-brand p{
    max-width:250px !important;
    margin:0 !important;
    color:#68758e !important;
    font-size:13.5px !important;
    line-height:1.5 !important;
}

.oe-footer-follow{
    min-width:0 !important;
}

.oe-footer-socials{
    display:flex !important;
    align-items:center !important;
    gap:10px !important;
    margin:0 0 12px !important;
}

.oe-footer-socials a{
    width:32px !important;
    height:32px !important;
    border:1px solid #dce5f2 !important;
    border-radius:8px !important;
    display:flex !important;
    align-items:center !important;
    justify-content:center !important;
    color:#0d63e8 !important;
    background:#f7faff !important;
    text-decoration:none !important;
    font-size:14px !important;
    font-weight:850 !important;
}

.oe-footer-socials svg{
    width:17px !important;
    height:17px !important;
}

.oe-footer-follow>strong{
    display:block !important;
    margin:0 0 7px !important;
    color:#384762 !important;
    font-size:13.5px !important;
    line-height:1.3 !important;
}

.oe-newsletter{
    width:100% !important;
    max-width:300px !important;
    display:grid !important;
    grid-template-columns:minmax(0,1fr) 88px !important;
    gap:0 !important;
    margin:0 !important;
}

.oe-newsletter input{
    min-width:0 !important;
    height:40px !important;
    padding:0 12px !important;
    border:1px solid #ccd7e8 !important;
    border-right:0 !important;
    border-radius:8px 0 0 8px !important;
    color:#263651 !important;
    background:#fff !important;
    font-size:13px !important;
}

.oe-newsletter button{
    height:40px !important;
    padding:0 12px !important;
    border:0 !important;
    border-radius:0 8px 8px 0 !important;
    background:#0c59d8 !important;
    color:#fff !important;
    font-size:13px !important;
    font-weight:800 !important;
}

@media(max-width:1450px){
    .oe-footer-grid{
        grid-template-columns:repeat(3,minmax(0,1fr)) !important;
        gap:24px 34px !important;
    }
}

@media(max-width:820px){
    .oe-footer-grid{
        grid-template-columns:repeat(2,minmax(0,1fr)) !important;
        gap:22px !important;
    }
    .oe-footer-brand,
    .oe-footer-follow{
        grid-column:1/-1 !important;
    }
}

@media(max-width:520px){
    .oe-footer{
        padding:20px 0 16px !important;
    }
    .oe-footer-grid{
        grid-template-columns:1fr !important;
        gap:20px !important;
    }
    .oe-footer-brand,
    .oe-footer-follow{
        grid-column:auto !important;
    }
    .oe-newsletter{
        max-width:none !important;
    }
}

/* =========================================================
   CABEÇALHOS TEMÁTICOS E RESPIRO ENTRE SEÇÕES
   ========================================================= */
.oe-home-content-band{
    padding-top:14px;
    padding-bottom:22px;
}

.oe-home-maincol{
    gap:28px;
}

.oe-home-sidecol{
    gap:20px;
}

.oe-home-section-head{
    min-height:48px;
    margin-bottom:14px;
    padding:10px 14px;
    border:1px solid #dbe8fb;
    border-radius:10px;
    background:#f2f7ff;
    background:linear-gradient(
        90deg,
        color-mix(in srgb, var(--oe-site-primary, #1264f6) 12%, white),
        color-mix(in srgb, var(--oe-site-secondary, #19a7e8) 7%, white)
    );
    box-shadow:
        inset 4px 0 0 var(--oe-site-primary, #1264f6),
        0 2px 8px rgba(24, 72, 145, .045);
}

.oe-home-section-head h2{
    color:#102044;
    font-size:19px;
}

.oe-home-section-head h2 svg{
    color:var(--oe-site-primary, #1264f6);
}

.oe-home-section-head>a{
    padding:6px 9px;
    border-radius:7px;
    color:var(--oe-site-primary, #1264f6);
    background:rgba(255,255,255,.7);
}

.oe-home-section-head>a:hover{
    background:#fff;
    text-decoration:none;
}

.oe-home-materials .oe-home-section-head{
    background:#f2f9ff;
    background:linear-gradient(
        90deg,
        color-mix(in srgb, var(--oe-site-secondary, #19a7e8) 10%, white),
        color-mix(in srgb, var(--oe-site-primary, #1264f6) 6%, white)
    );
    box-shadow:
        inset 4px 0 0 var(--oe-site-secondary, #19a7e8),
        0 2px 8px rgba(24, 72, 145, .045);
}

.oe-home-latest .oe-home-section-head{
    background:#f3f7ff;
    background:linear-gradient(
        90deg,
        color-mix(in srgb, var(--oe-site-primary, #1264f6) 10%, white),
        color-mix(in srgb, var(--oe-site-secondary, #19a7e8) 5%, white)
    );
}

.oe-home-tutorials .oe-home-section-head{
    background:#f1faff;
    background:linear-gradient(
        90deg,
        color-mix(in srgb, var(--oe-site-secondary, #19a7e8) 12%, white),
        color-mix(in srgb, var(--oe-site-primary, #1264f6) 5%, white)
    );
    box-shadow:
        inset 4px 0 0 var(--oe-site-secondary, #19a7e8),
        0 2px 8px rgba(24, 72, 145, .045);
}

.oe-home-tags h2{
    margin:-4px -4px 13px;
    padding:9px 10px;
    border-radius:8px;
    background:#f2f7ff;
    background:linear-gradient(
        90deg,
        color-mix(in srgb, var(--oe-site-primary, #1264f6) 10%, white),
        color-mix(in srgb, var(--oe-site-secondary, #19a7e8) 6%, white)
    );
    box-shadow:inset 3px 0 0 var(--oe-site-primary, #1264f6);
}

.oe-home-tags h2 svg{
    color:var(--oe-site-primary, #1264f6);
}

@media(max-width:720px){
    .oe-home-content-band{
        padding-top:10px;
    }
    .oe-home-maincol{
        gap:22px;
    }
    .oe-home-sidecol{
        gap:16px;
    }
    .oe-home-section-head{
        min-height:44px;
        padding:9px 11px;
        margin-bottom:12px;
    }
}

/* =========================================================
   HOME MAIS COMPACTA - MARGENS LATERAIS AMPLIADAS
   Mantém o topbar com a largura original e compacta todo o
   conteúdo público exibido abaixo dele.
   ========================================================= */
.oe-home-step .oe-shell,
.oe-footer .oe-shell{
    width:calc(100% - 96px) !important;
    max-width:1500px !important;
    margin-left:auto !important;
    margin-right:auto !important;
    padding-left:0 !important;
    padding-right:0 !important;
}

/* Pequeno respiro entre os grandes blocos sem alongar a página */
.oe-home-featured{
    padding-top:16px;
    padding-bottom:20px;
}

.oe-home-ad{
    padding-bottom:20px;
}

.oe-home-content-band{
    padding-top:18px;
    padding-bottom:26px;
}

.oe-home-maincol{
    gap:30px;
}

.oe-home-sidecol{
    gap:22px;
}

/* A nova largura útil pede cards um pouco mais equilibrados */
.oe-home-featured-grid{
    gap:16px;
}

.oe-home-content-layout{
    gap:18px;
}

.oe-home-software-grid,
.oe-home-material-grid{
    gap:12px;
}

@media(max-width:1500px){
    .oe-home-step .oe-shell,
    .oe-footer .oe-shell{
        width:calc(100% - 64px) !important;
        max-width:none !important;
    }
}

@media(max-width:980px){
    .oe-home-step .oe-shell,
    .oe-footer .oe-shell{
        width:calc(100% - 40px) !important;
    }

    .oe-home-maincol{
        gap:24px;
    }
}

@media(max-width:720px){
    .oe-home-step .oe-shell,
    .oe-footer .oe-shell{
        width:calc(100% - 28px) !important;
    }

    .oe-home-featured{
        padding-top:12px;
        padding-bottom:16px;
    }

    .oe-home-ad{
        padding-bottom:16px;
    }

    .oe-home-content-band{
        padding-top:14px;
        padding-bottom:20px;
    }
}

@media(max-width:460px){
    .oe-home-step .oe-shell,
    .oe-footer .oe-shell{
        width:calc(100% - 20px) !important;
    }
}

/* =========================================================
   DESTAQUE PARLAMENTAR
   ========================================================= */
.oe-home-parliament .oe-home-section-head{
    background:#f3f8ff;
    background:linear-gradient(
        90deg,
        color-mix(in srgb, var(--oe-site-primary, #1264f6) 11%, white),
        color-mix(in srgb, var(--oe-site-secondary, #19a7e8) 7%, white)
    );
    box-shadow:
        inset 4px 0 0 var(--oe-site-primary, #1264f6),
        0 2px 8px rgba(24,72,145,.045);
}

.oe-home-parliament-grid{
    display:grid;
    grid-template-columns:repeat(3,minmax(0,1fr));
    gap:12px;
}

.oe-home-parliament-card{
    min-width:0;
    overflow:hidden;
    border:1px solid #dfe7f2;
    border-radius:10px;
    background:#fff;
    box-shadow:0 3px 10px rgba(21,45,83,.05);
}

.oe-home-parliament-thumb{
    display:block;
    aspect-ratio:16/9;
    overflow:hidden;
    background:#eef3fa;
}

.oe-home-parliament-thumb img{
    width:100%;
    height:100%;
    display:block;
    object-fit:cover;
    transition:transform .22s ease;
}

.oe-home-parliament-card:hover .oe-home-parliament-thumb img{
    transform:scale(1.025);
}

.oe-home-parliament-body{
    padding:11px 12px 12px;
}

.oe-home-parliament-chip{
    display:inline-flex;
    align-items:center;
    margin-bottom:7px;
    padding:5px 8px;
    border-radius:999px;
    color:#fff;
    background:var(--oe-site-primary, #1264f6);
    font-size:10px;
    line-height:1;
    font-weight:850;
    letter-spacing:.02em;
}

.oe-home-parliament-body h3{
    margin:0 0 6px;
    color:#102044;
    font-size:16px;
    line-height:1.28;
    font-weight:850;
}

.oe-home-parliament-body h3 a{
    color:inherit;
    text-decoration:none;
}

.oe-home-parliament-body h3 a:hover{
    color:var(--oe-site-primary, #1264f6);
}

.oe-home-parliament-body p{
    display:-webkit-box;
    -webkit-box-orient:vertical;
    -webkit-line-clamp:3;
    overflow:hidden;
    margin:0 0 9px;
    color:#66758d;
    font-size:13.5px;
    line-height:1.45;
}

.oe-home-parliament-body small{
    display:flex;
    align-items:center;
    gap:6px;
    color:#8190a6;
    font-size:11.5px;
}

.oe-home-parliament-body small svg{
    width:14px;
    height:14px;
}

@media(max-width:980px){
    .oe-home-parliament-grid{
        grid-template-columns:repeat(2,minmax(0,1fr));
    }
}

@media(max-width:620px){
    .oe-home-parliament-grid{
        grid-template-columns:1fr;
    }
}

/* =========================================================
   LATERAL DA HOME - APOIO, RECOMENDADO E NOVIDADES
   ========================================================= */
.oe-home-support-card,
.oe-home-recommended,
.oe-home-follow-card{
    border:1px solid #dfe7f2;
    border-radius:12px;
    background:#fff;
    box-shadow:0 3px 12px rgba(17,45,88,.055);
}

.oe-home-support-card{
    display:flex;
    align-items:flex-start;
    gap:12px;
    padding:16px;
    background:linear-gradient(
        135deg,
        color-mix(in srgb, var(--oe-site-primary, #1264f6) 8%, white),
        color-mix(in srgb, var(--oe-site-secondary, #19a7e8) 5%, white)
    );
}

.oe-home-side-icon{
    width:42px;
    height:42px;
    flex:0 0 42px;
    display:grid;
    place-items:center;
    border-radius:11px;
    color:#fff;
    background:linear-gradient(135deg,var(--oe-site-primary,#1264f6),var(--oe-site-secondary,#19a7e8));
    box-shadow:0 6px 16px color-mix(in srgb, var(--oe-site-primary,#1264f6) 20%, transparent);
}

.oe-home-side-icon svg{
    width:21px;
    height:21px;
}

.oe-home-support-card h2,
.oe-home-follow-card h2{
    margin:0 0 6px;
    color:#102044;
    font-size:18px;
    line-height:1.15;
    font-weight:850;
}

.oe-home-support-card p,
.oe-home-follow-card p{
    margin:0;
    color:#68778e;
    font-size:13.5px;
    line-height:1.45;
}

.oe-home-support-card>a,
.oe-home-support-card div>a{
    display:inline-flex;
    align-items:center;
    gap:6px;
    margin-top:11px;
    color:var(--oe-site-primary,#1264f6);
    font-size:13px;
    font-weight:850;
    text-decoration:none;
}

.oe-home-support-card a svg,
.oe-home-recommended-link svg,
.oe-home-newsletter button svg{
    width:15px;
    height:15px;
}

.oe-home-recommended{
    overflow:hidden;
}

.oe-home-recommended-head{
    display:flex;
    align-items:center;
    gap:8px;
    padding:12px 14px;
    color:#102044;
    background:linear-gradient(
        90deg,
        color-mix(in srgb, var(--oe-site-primary,#1264f6) 10%, white),
        color-mix(in srgb, var(--oe-site-secondary,#19a7e8) 5%, white)
    );
    border-bottom:1px solid #e3eaf4;
    font-size:15px;
    line-height:1.25;
    font-weight:850;
}

.oe-home-recommended-head svg{
    width:18px;
    height:18px;
    color:var(--oe-site-primary,#1264f6);
}

.oe-home-recommended-thumb{
    display:block;
    aspect-ratio:16/9;
    overflow:hidden;
    background:#eef3fa;
}

.oe-home-recommended-thumb img{
    width:100%;
    height:100%;
    object-fit:cover;
    display:block;
    transition:transform .2s ease;
}

.oe-home-recommended:hover .oe-home-recommended-thumb img{
    transform:scale(1.025);
}

.oe-home-recommended-body{
    padding:13px 14px 14px;
}

.oe-home-recommended-body small{
    display:block;
    margin-bottom:6px;
    color:var(--oe-site-primary,#1264f6);
    font-size:11px;
    line-height:1.35;
    font-weight:800;
}

.oe-home-recommended-body h3{
    margin:0 0 7px;
    color:#102044;
    font-size:17px;
    line-height:1.28;
    font-weight:850;
}

.oe-home-recommended-body h3 a{
    color:inherit;
    text-decoration:none;
}

.oe-home-recommended-body p{
    display:-webkit-box;
    -webkit-box-orient:vertical;
    -webkit-line-clamp:3;
    overflow:hidden;
    margin:0 0 11px;
    color:#68778e;
    font-size:13px;
    line-height:1.45;
}

.oe-home-recommended-link{
    display:inline-flex;
    align-items:center;
    gap:6px;
    color:var(--oe-site-primary,#1264f6);
    font-size:13px;
    font-weight:850;
    text-decoration:none;
}

.oe-home-follow-card{
    padding:15px;
}

.oe-home-follow-head{
    display:flex;
    align-items:flex-start;
    gap:11px;
    margin-bottom:13px;
}

.oe-home-newsletter{
    display:flex;
    flex-direction:column;
    gap:8px;
}

.oe-home-newsletter label{
    margin:0;
}

.oe-home-newsletter input{
    width:100%;
    min-height:42px;
    padding:0 12px;
    border:1px solid #d7e1ef;
    border-radius:9px;
    outline:0;
    color:#21324e;
    background:#fff;
    font-size:13px;
}

.oe-home-newsletter input:focus{
    border-color:var(--oe-site-primary,#1264f6);
    box-shadow:0 0 0 3px color-mix(in srgb, var(--oe-site-primary,#1264f6) 10%, transparent);
}

.oe-home-newsletter button{
    min-height:40px;
    border:0;
    border-radius:9px;
    display:flex;
    align-items:center;
    justify-content:center;
    gap:7px;
    color:#fff;
    background:linear-gradient(135deg,var(--oe-site-primary,#1264f6),var(--oe-site-secondary,#19a7e8));
    font-size:13px;
    font-weight:850;
    cursor:pointer;
}

.oe-home-social-links{
    display:flex;
    flex-wrap:wrap;
    gap:7px;
    margin-top:13px;
    padding-top:12px;
    border-top:1px solid #edf1f6;
}

.oe-home-social-links a{
    min-width:34px;
    height:34px;
    padding:0 8px;
    border-radius:9px;
    display:inline-flex;
    align-items:center;
    justify-content:center;
    color:var(--oe-site-primary,#1264f6);
    background:#eef5ff;
    font-size:11px;
    line-height:1;
    font-weight:900;
    text-decoration:none;
}

.oe-home-social-links a:hover{
    color:#fff;
    background:var(--oe-site-primary,#1264f6);
}

@media(min-width:1101px){
    .oe-home-sidecol{
        position:sticky;
        top:18px;
    }
}

@media(max-width:1100px){
    .oe-home-sidecol{
        position:static;
    }
}

/* =========================================================
   CORRECAO FINAL DO FOOTER NA HOME
   O bloco "Uma iniciativa da" foi removido. A home ainda
   herdava uma grade antiga de 6 colunas, deixando uma coluna
   vazia à direita. Esta regra iguala a home às páginas internas.
   ========================================================= */
@media (min-width:1501px){
    .oe-footer .oe-shell{
        width:min(1680px,calc(100% - 96px)) !important;
        max-width:1680px !important;
        margin-left:auto !important;
        margin-right:auto !important;
    }

    .oe-footer-grid{
        display:grid !important;
        width:100% !important;
        max-width:none !important;
        grid-template-columns:
            minmax(340px,1.55fr)
            minmax(155px,.72fr)
            minmax(220px,.95fr)
            minmax(185px,.78fr)
            minmax(360px,1.40fr) !important;
        column-gap:36px !important;
        row-gap:22px !important;
        justify-content:stretch !important;
        align-items:start !important;
    }
}

@media (min-width:1251px) and (max-width:1500px){
    .oe-footer .oe-shell{
        width:calc(100% - 64px) !important;
        max-width:none !important;
    }

    .oe-footer-grid{
        display:grid !important;
        width:100% !important;
        max-width:none !important;
        grid-template-columns:
            minmax(285px,1.35fr)
            minmax(135px,.68fr)
            minmax(195px,.88fr)
            minmax(155px,.72fr)
            minmax(300px,1.20fr) !important;
        column-gap:26px !important;
        row-gap:22px !important;
        justify-content:stretch !important;
    }
}

@media (min-width:981px) and (max-width:1250px){
    .oe-footer-grid{
        grid-template-columns:
            minmax(280px,1.25fr)
            minmax(160px,.75fr)
            minmax(160px,.75fr)
            minmax(240px,1fr) !important;
        gap:24px 30px !important;
    }

    .oe-footer-follow{
        grid-column:auto !important;
    }
}

@media (max-width:980px){
    .oe-footer-grid{
        grid-template-columns:repeat(2,minmax(0,1fr)) !important;
        gap:24px 30px !important;
    }

    .oe-footer-brand,
    .oe-footer-follow{
        grid-column:1/-1 !important;
    }
}

@media (max-width:560px){
    .oe-footer-grid{
        grid-template-columns:1fr !important;
    }

    .oe-footer-brand,
    .oe-footer-follow{
        grid-column:auto !important;
    }
}
