/*
Theme Name: IBETP Theme Deluxe
Theme URI: https://ibetp.com.br
Author: IBETP — Tecnologia & Inteligência Educacional
Author URI: https://ibetp.com.br
Description: Tema oficial, ultra-rápido e de alta conversão desenvolvido sob medida para o IBETP (Instituto Brasileiro de Educação Técnica e Profissional). Conta com arquitetura headless-speed sem dependência de construtores pesados, checkout transparente Asaas (Pix e Cartão em até 12x), motor de duplo plano para cursos técnicos, catálogo com 362 cursos credenciados, gaveta mobile off-canvas deslizante com bloqueio de scroll, suporte dinâmico a 6 modalidades educacionais e conformidade total com as diretrizes do MEC e SISTEC. Pronto para produção.
Version: 2.5.0
Requires at least: 6.0
Tested up to: 6.7
Requires PHP: 8.0
License: Proprietary / IBETP
License URI: https://ibetp.com.br/termos-de-uso/
Text Domain: ibetp-theme
Tags: education, e-commerce, custom-header, custom-menu, featured-images, responsive-layout, theme-options, translation-ready
*/

:root {
    --ibetp-navy-950: #0B1726;
    --ibetp-navy-900: #12283E;
    --ibetp-navy-800: #1C3854;
    --ibetp-navy-700: #284D72;
    --ibetp-navy-50:  #F4F8FB;
    
    --ibetp-green-900: #062C22;
    --ibetp-green-800: #0B4234;
    --ibetp-green-700: #0E5C48;
    --ibetp-green-600: #0F7654;
    --ibetp-green-500: #10B981;
    --ibetp-green-50:  #F0FDF4;
    
    --ibetp-gold-500:  #E88D0C;
    --ibetp-gold-400:  #F59E0B;
    --ibetp-gold-50:   #FFFBEB;
    
    --ibetp-bg:        #FFFFFF;
    --ibetp-bg-soft:   #FAFBFC;
    --ibetp-bg-subtle: #F6F8FA;
    --ibetp-border:    #E9EEF3;
    --ibetp-border-subtle: #F0F4F8;
    
    --ibetp-text-900:  #12283E;
    --ibetp-text-700:  #334D66;
    --ibetp-text-500:  #5B728A;
    --ibetp-text-400:  #8CA0B4;
    
    --ibetp-radius-sm:  8px;
    --ibetp-radius-md:  12px;
    --ibetp-radius-lg:  16px;
    --ibetp-radius-xl:  22px;
    --ibetp-radius-pill: 9999px;
    
    --ibetp-shadow-subtle: 0 4px 20px -2px rgba(18, 40, 62, 0.04);
    --ibetp-shadow-card:   0 10px 30px -4px rgba(18, 40, 62, 0.06), 0 4px 10px -2px rgba(18, 40, 62, 0.02);
    --ibetp-shadow-hover:  0 20px 40px -6px rgba(18, 40, 62, 0.10), 0 8px 16px -4px rgba(18, 40, 62, 0.04);
    --ibetp-shadow-glow:   0 10px 24px -2px rgba(15, 118, 84, 0.28);
    
    --ibetp-font-sans: 'Plus Jakarta Sans', -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, sans-serif;
    --ibetp-font-heading: 'Outfit', 'Plus Jakarta Sans', sans-serif;
    --ibetp-container: 1200px;
}

*, *::before, *::after {
    box-sizing: border-box;
    margin: 0;
    padding: 0;
}

html {
    scroll-behavior: smooth;
}

body {
    font-family: var(--ibetp-font-sans);
    color: var(--ibetp-text-700);
    background-color: var(--ibetp-bg);
    line-height: 1.65;
    -webkit-font-smoothing: antialiased;
    position: relative;
    width: 100%;
}

h1, h2, h3, h4, h5, h6 {
    font-family: var(--ibetp-font-heading);
    font-weight: 800;
    color: var(--ibetp-text-900);
    letter-spacing: -0.025em;
}

a {
    color: var(--ibetp-navy-900);
    text-decoration: none;
    transition: all 0.2s cubic-bezier(0.16, 1, 0.3, 1);
}
a:hover {
    color: var(--ibetp-green-600);
}

img {
    max-width: 100%;
    height: auto;
    display: block;
}

.container {
    width: 100%;
    max-width: var(--ibetp-container);
    margin: 0 auto;
    padding: 0 24px;
    box-sizing: border-box;
}

/* ==========================================================================
   HEADER & NAVIGATION (ALWAYS STICKY ON DESKTOP & MOBILE)
   ========================================================================== */
.site-header {
    background: #FFFFFF;
    border-bottom: 1px solid var(--ibetp-border);
    position: -webkit-sticky;
    position: sticky;
    top: 0;
    z-index: 1000;
    box-shadow: 0 2px 16px rgba(18, 40, 62, 0.04);
    width: 100%;
}
.nav-wrap {
    display: flex;
    justify-content: space-between;
    align-items: center;
    height: 76px;
    position: relative;
    width: 100%;
}
.brand {
    display: flex;
    align-items: center;
    flex-shrink: 1;
    min-width: 0;
}
.brand img {
    height: 38px;
    width: auto;
    max-width: 190px;
    display: block;
}
.site-nav {
    display: flex;
    align-items: center;
    gap: 24px;
}
.site-nav-menu {
    display: flex;
    list-style: none;
    gap: 20px;
    align-items: center;
    margin: 0;
    padding: 0;
}
.site-nav-menu a {
    font-size: 14px;
    font-weight: 600;
    color: var(--ibetp-text-900);
    white-space: nowrap;
    text-decoration: none;
    transition: color 0.2s ease;
}
.site-nav-menu a:hover {
    color: var(--ibetp-green-600);
}
.nav-cta {
    display: inline-flex;
    align-items: center;
    gap: 6px;
    background: var(--ibetp-green-600);
    color: #FFFFFF !important;
    padding: 10px 20px;
    border-radius: var(--ibetp-radius-pill);
    font-weight: 700;
    font-size: 13.5px;
    box-shadow: var(--ibetp-shadow-glow);
    transition: all 0.25s ease;
    white-space: nowrap;
    text-decoration: none;
}
.nav-cta:hover {
    background: var(--ibetp-green-700);
    transform: translateY(-1px);
    box-shadow: 0 10px 24px -2px rgba(15, 118, 84, 0.4);
}

/* Mobile Navigation Drawer Elements (Hidden on Desktop) */
.site-nav-mobile-header,
.site-nav-mobile-footer,
.site-nav-overlay {
    display: none;
}

/* Hamburger Button */
.nav-toggle {
    display: none;
    flex-direction: column;
    justify-content: center;
    gap: 5px;
    width: 42px;
    height: 42px;
    background: #F8FAFC;
    border: 1.5px solid #E2E8F0;
    border-radius: 10px;
    padding: 9px;
    cursor: pointer;
    z-index: 1002;
    transition: all 0.2s ease;
    box-sizing: border-box;
    flex-shrink: 0;
    margin-left: auto;
}
.nav-toggle:hover {
    background: var(--ibetp-green-50);
    border-color: var(--ibetp-green-300);
}
.nav-toggle .bar {
    display: block;
    width: 100%;
    height: 2.5px;
    background: var(--ibetp-navy-900);
    border-radius: 2px;
    transition: transform 0.3s cubic-bezier(0.16, 1, 0.3, 1), opacity 0.2s ease;
    transform-origin: center;
}
.nav-toggle[aria-expanded="true"] .bar-1 {
    transform: translateY(7.5px) rotate(45deg);
    background: var(--ibetp-green-700);
}
.nav-toggle[aria-expanded="true"] .bar-2 {
    opacity: 0;
}
.nav-toggle[aria-expanded="true"] .bar-3 {
    transform: translateY(-7.5px) rotate(-45deg);
    background: var(--ibetp-green-700);
}

/* Mobile Drawer Responsive Behavior (< 1080px) */
@media (max-width: 1080px) {
    .nav-toggle {
        display: flex;
    }
    .desktop-only {
        display: none !important;
    }
    .site-nav {
        position: fixed !important;
        top: 0 !important;
        right: 0 !important;
        bottom: 0 !important;
        width: 310px !important;
        max-width: 85vw !important;
        height: 100% !important;
        height: 100dvh !important;
        max-height: 100dvh !important;
        background: #FFFFFF !important;
        z-index: 999999 !important;
        display: flex !important;
        flex-direction: column !important;
        justify-content: flex-start !important;
        align-items: stretch !important;
        padding: 22px 18px !important;
        gap: 0 !important;
        box-shadow: -10px 0 40px rgba(0, 0, 0, 0.3) !important;
        transform: translateX(105%) !important;
        transition: transform 0.32s cubic-bezier(0.16, 1, 0.3, 1) !important;
        overflow-y: auto !important;
        -webkit-overflow-scrolling: touch !important;
        overscroll-behavior: contain !important;
    }
    .site-nav.is-open {
        transform: translateX(0) !important;
    }
    .site-nav-mobile-header {
        display: flex;
        justify-content: space-between;
        align-items: center;
        padding-bottom: 16px;
        margin-bottom: 14px;
        border-bottom: 1px solid #E2E8F0;
        flex-shrink: 0;
    }
    .site-nav-close {
        background: #F1F5F9;
        border: none;
        width: 36px;
        height: 36px;
        border-radius: 50%;
        font-size: 24px;
        line-height: 1;
        color: var(--ibetp-text-700);
        cursor: pointer;
        display: flex;
        align-items: center;
        justify-content: center;
        transition: all 0.2s ease;
    }
    .site-nav-close:hover {
        background: #E2E8F0;
        color: var(--ibetp-text-900);
    }
    .site-nav-menu {
        flex-direction: column;
        align-items: flex-start;
        gap: 0;
        width: 100%;
        flex: 1 1 auto;
        overflow-y: auto;
        -webkit-overflow-scrolling: touch;
    }
    .site-nav-menu li {
        width: 100%;
        border-bottom: 1px solid #F1F5F9;
    }
    .site-nav-menu li:last-child {
        border-bottom: none;
    }
    .site-nav-menu a {
        display: block;
        padding: 12px 8px;
        font-size: 15px;
        font-weight: 600;
        color: var(--ibetp-text-800);
        border-radius: 8px;
        transition: all 0.2s ease;
    }
    .site-nav-menu a:hover,
    .site-nav-menu a:active {
        background: var(--ibetp-green-50);
        color: var(--ibetp-green-700);
        padding-left: 14px;
    }
    .site-nav-mobile-footer {
        display: block;
        margin-top: auto;
        padding-top: 18px;
        border-top: 1px solid #E2E8F0;
        flex-shrink: 0;
    }
    .nav-cta-mobile {
        display: flex;
        align-items: center;
        justify-content: center;
        gap: 8px;
        background: #10B981;
        color: #FFFFFF !important;
        padding: 13px 20px;
        border-radius: var(--ibetp-radius-pill);
        font-weight: 700;
        font-size: 14.5px;
        text-decoration: none;
        box-shadow: 0 4px 14px rgba(16, 185, 129, 0.35);
        transition: all 0.2s ease;
        width: 100%;
        text-align: center;
    }
    .nav-cta-mobile:hover {
        background: #059669;
        transform: translateY(-1px);
    }
    .site-nav-overlay {
        display: block !important;
        position: fixed !important;
        top: 0 !important;
        left: 0 !important;
        right: 0 !important;
        bottom: 0 !important;
        width: 100% !important;
        width: 100vw !important;
        height: 100% !important;
        height: 100dvh !important;
        background: rgba(7, 44, 34, 0.65) !important;
        backdrop-filter: blur(4px) !important;
        -webkit-backdrop-filter: blur(4px) !important;
        z-index: 999990 !important;
        opacity: 0 !important;
        pointer-events: none !important;
        transition: opacity 0.3s ease !important;
    }
    .site-nav-overlay.is-active {
        opacity: 1 !important;
        pointer-events: auto !important;
    }
    html.nav-menu-open,
    body.nav-menu-open {
        overflow: hidden !important;
        touch-action: none !important;
    }
}

/* ==========================================================================
   BUTTONS (PILL STYLE)
   ========================================================================== */
.btn-pill-green {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    background: var(--ibetp-green-600);
    color: #FFFFFF !important;
    padding: 13px 26px;
    border-radius: var(--ibetp-radius-pill);
    font-weight: 700;
    font-size: 14.5px;
    border: none;
    cursor: pointer;
    box-shadow: var(--ibetp-shadow-glow);
    transition: all 0.25s cubic-bezier(0.16, 1, 0.3, 1);
    gap: 8px;
}
.btn-pill-green:hover {
    background: var(--ibetp-green-700);
    transform: translateY(-2px);
    box-shadow: 0 14px 30px -4px rgba(15, 118, 84, 0.42);
}

.btn-pill-outline {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    background: transparent;
    color: var(--ibetp-green-700) !important;
    border: 1.5px solid var(--ibetp-green-600);
    padding: 12px 24px;
    border-radius: var(--ibetp-radius-pill);
    font-weight: 700;
    font-size: 14.5px;
    cursor: pointer;
    transition: all 0.2s ease;
    gap: 8px;
}
.btn-pill-outline:hover {
    background: var(--ibetp-green-50);
    transform: translateY(-2px);
}

.btn-pill-white {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    background: #FFFFFF;
    color: var(--ibetp-green-800) !important;
    padding: 13px 26px;
    border-radius: var(--ibetp-radius-pill);
    font-weight: 800;
    font-size: 14.5px;
    border: none;
    cursor: pointer;
    box-shadow: 0 8px 20px rgba(0,0,0,0.12);
    transition: all 0.25s ease;
    gap: 8px;
}
.btn-pill-white:hover {
    background: #FAFBFC;
    transform: translateY(-2px);
    box-shadow: 0 12px 28px rgba(0,0,0,0.18);
}

/* ==========================================================================
   SECTION HEADERS
   ========================================================================== */
.deluxe-section {
    padding: 76px 0;
    position: relative;
}
.deluxe-section-title {
    text-align: center;
    max-width: 720px;
    margin: 0 auto 46px;
}
.deluxe-section-title.text-left {
    text-align: left;
    margin-left: 0;
    margin-right: 0;
}
.eyebrow-tag {
    display: inline-block;
    color: var(--ibetp-green-600);
    font-weight: 800;
    font-size: 12px;
    text-transform: uppercase;
    letter-spacing: 1.2px;
    margin-bottom: 12px;
}
.deluxe-section-title h2 {
    font-size: 34px;
    line-height: 1.25;
    font-weight: 800;
    color: var(--ibetp-text-900);
    margin-bottom: 12px;
}
.deluxe-section-title p {
    font-size: 15.5px;
    color: var(--ibetp-text-500);
    line-height: 1.6;
}

/* ==========================================================================
   HERO DELUXE
   ========================================================================== */
.hero-deluxe {
    padding: 60px 0 50px;
    background: radial-gradient(circle at 85% 20%, rgba(16, 185, 129, 0.05) 0%, transparent 50%),
                radial-gradient(circle at 10% 80%, rgba(18, 40, 62, 0.03) 0%, transparent 50%),
                #FFFFFF;
}
.hero-deluxe-grid {
    display: grid;
    grid-template-columns: 1.15fr 1fr;
    gap: 48px;
    align-items: center;
}
.hero-deluxe h1 {
    font-size: 48px;
    line-height: 1.12;
    font-weight: 900;
    color: var(--ibetp-text-900);
    margin-bottom: 18px;
}
.hero-deluxe h1 .highlight-gold {
    color: var(--ibetp-gold-500);
    display: block;
}
.hero-deluxe-lead {
    font-size: 17px;
    color: var(--ibetp-text-500);
    line-height: 1.6;
    margin-bottom: 28px;
    max-width: 520px;
}
.hero-deluxe-actions {
    display: flex;
    gap: 14px;
    margin-bottom: 28px;
    flex-wrap: wrap;
}
.hero-deluxe-badges {
    display: flex;
    gap: 18px;
    font-size: 13.5px;
    font-weight: 600;
    color: var(--ibetp-text-500);
    flex-wrap: wrap;
}
.hero-deluxe-badges span {
    display: inline-flex;
    align-items: center;
    gap: 6px;
}
.hero-deluxe-badges span::before {
    content: '✓';
    color: var(--ibetp-green-600);
    font-weight: 800;
}

.hero-visual-frame {
    position: relative;
    border-radius: var(--ibetp-radius-xl);
    overflow: hidden;
    box-shadow: 0 20px 45px -8px rgba(18, 40, 62, 0.12);
}
.hero-visual-frame img {
    width: 100%;
    height: 380px;
    object-fit: cover;
}
.hero-floating-card-left {
    position: absolute;
    bottom: 20px;
    left: 20px;
    background: #FFFFFF;
    border-radius: var(--ibetp-radius-md);
    padding: 12px 18px;
    box-shadow: 0 10px 25px rgba(0,0,0,0.12);
    text-align: center;
}
.hero-floating-card-left b {
    display: block;
    font-size: 20px;
    color: var(--ibetp-green-600);
    font-weight: 900;
    line-height: 1.1;
}
.hero-floating-card-left span {
    font-size: 11px;
    color: var(--ibetp-text-500);
    font-weight: 600;
}
.hero-floating-card-right {
    position: absolute;
    bottom: 20px;
    right: 20px;
    left: 130px;
    background: var(--ibetp-green-900);
    color: #FFFFFF;
    border-radius: var(--ibetp-radius-md);
    padding: 16px 20px;
    box-shadow: 0 12px 30px rgba(6, 44, 34, 0.35);
}
.hero-floating-card-right .brand-sub {
    font-size: 10px;
    text-transform: uppercase;
    letter-spacing: 1px;
    color: var(--ibetp-green-500);
    font-weight: 800;
    display: block;
    margin-bottom: 2px;
}
.hero-floating-card-right h4 {
    font-size: 14px;
    color: #FFFFFF;
    font-weight: 800;
    margin-bottom: 4px;
    line-height: 1.3;
}
.hero-floating-card-right p {
    font-size: 11.5px;
    color: #CBD5E1;
    margin: 0;
    line-height: 1.4;
}

/* ==========================================================================
   STATS BAR DELUXE (CLEAN HORIZONTAL)
   ========================================================================== */
.stats-deluxe-section {
    padding: 30px 0 45px;
    border-bottom: 1px solid var(--ibetp-border);
}
.stats-deluxe-grid {
    display: grid;
    grid-template-columns: repeat(4, 1fr);
    gap: 20px;
    text-align: center;
}
.stats-deluxe-item {
    border-right: 1px solid var(--ibetp-border);
    padding: 10px 16px;
}
.stats-deluxe-item:last-child {
    border-right: none;
}
.stats-deluxe-item b {
    display: block;
    font-family: var(--ibetp-font-heading);
    font-size: 36px;
    font-weight: 900;
    color: var(--ibetp-text-900);
    line-height: 1.1;
    margin-bottom: 4px;
}
.stats-deluxe-item span {
    font-size: 13.5px;
    color: var(--ibetp-text-500);
    font-weight: 500;
}

/* ==========================================================================
   IMMERSIVE PATHS / 3 BIG CARDS ("Qual é o próximo passo da sua carreira?")
   ========================================================================== */
.paths-grid {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 24px;
}
.path-card {
    position: relative;
    border-radius: var(--ibetp-radius-lg);
    overflow: hidden;
    height: 320px;
    box-shadow: var(--ibetp-shadow-card);
    transition: transform 0.3s ease, box-shadow 0.3s ease;
    display: flex;
    flex-direction: column;
    justify-content: flex-end;
    padding: 24px;
    color: #FFFFFF;
}
.path-card:hover {
    transform: translateY(-6px);
    box-shadow: var(--ibetp-shadow-hover);
}
.path-card-bg {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    object-fit: cover;
    z-index: 1;
    transition: transform 0.4s ease;
}
.path-card:hover .path-card-bg {
    transform: scale(1.05);
}
.path-card-overlay {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background: linear-gradient(180deg, rgba(11, 23, 38, 0.1) 0%, rgba(11, 23, 38, 0.88) 75%, rgba(11, 23, 38, 0.96) 100%);
    z-index: 2;
}
.path-card-content {
    position: relative;
    z-index: 3;
}
.path-card-tag {
    font-size: 10px;
    font-weight: 800;
    text-transform: uppercase;
    letter-spacing: 1px;
    color: var(--ibetp-gold-400);
    display: block;
    margin-bottom: 6px;
}
.path-card h3 {
    font-size: 19px;
    color: #FFFFFF;
    font-weight: 800;
    margin-bottom: 8px;
    line-height: 1.3;
}
.path-card p {
    font-size: 13px;
    color: #CBD5E1;
    line-height: 1.5;
    margin-bottom: 14px;
}
.path-card-link {
    font-size: 13px;
    font-weight: 700;
    color: #FFFFFF;
    display: inline-flex;
    align-items: center;
    gap: 4px;
}

/* ==========================================================================
   ORIENTAÇÃO ("Você não precisa escolher sozinho")
   ========================================================================== */
.choice-help-grid {
    display: grid;
    grid-template-columns: 1fr 1.25fr;
    gap: 50px;
    align-items: center;
}
.choice-visual-wrap {
    position: relative;
    border-radius: var(--ibetp-radius-xl);
    overflow: hidden;
    box-shadow: var(--ibetp-shadow-card);
}
.choice-visual-wrap img {
    width: 100%;
    height: 380px;
    object-fit: cover;
}
.choice-badge-floating {
    position: absolute;
    bottom: 20px;
    left: 20px;
    background: var(--ibetp-gold-400);
    color: var(--ibetp-navy-950);
    padding: 8px 16px;
    border-radius: var(--ibetp-radius-sm);
    font-weight: 800;
    font-size: 12px;
}
.choice-steps-list {
    display: flex;
    flex-direction: column;
    gap: 12px;
    margin-top: 24px;
}
.choice-step-row {
    background: #FFFFFF;
    border: 1px solid var(--ibetp-border);
    border-radius: var(--ibetp-radius-md);
    padding: 16px 20px;
    display: flex;
    align-items: flex-start;
    gap: 18px;
    transition: all 0.2s ease;
}
.choice-step-row:hover {
    border-color: var(--ibetp-green-600);
    box-shadow: var(--ibetp-shadow-subtle);
}
.choice-step-num {
    font-family: var(--ibetp-font-heading);
    font-size: 18px;
    font-weight: 900;
    color: var(--ibetp-green-600);
    line-height: 1;
    margin-top: 2px;
}
.choice-step-text h4 {
    font-size: 15px;
    color: var(--ibetp-text-900);
    font-weight: 800;
    margin-bottom: 2px;
}
.choice-step-text p {
    font-size: 13px;
    color: var(--ibetp-text-500);
    margin: 0;
    line-height: 1.4;
}

/* ==========================================================================
   HORIZONTAL COURSE LIST (AS SEEN IN NOVO LAYOUT)
   ========================================================================== */
.courses-horizontal-list {
    display: flex;
    flex-direction: column;
    gap: 12px;
    max-width: 900px;
    margin: 0 auto;
}
.course-row-card {
    background: #FFFFFF;
    border: 1px solid var(--ibetp-border);
    border-radius: var(--ibetp-radius-md);
    padding: 14px 20px;
    display: flex;
    align-items: center;
    gap: 20px;
    transition: all 0.25s cubic-bezier(0.16, 1, 0.3, 1);
    box-shadow: var(--ibetp-shadow-subtle);
}
.course-row-card:hover {
    border-color: var(--ibetp-green-600);
    box-shadow: var(--ibetp-shadow-card);
    transform: translateY(-2px);
}
.course-row-thumb {
    width: 72px;
    height: 52px;
    border-radius: var(--ibetp-radius-sm);
    overflow: hidden;
    flex-shrink: 0;
    background: var(--ibetp-bg-subtle);
}
.course-row-thumb img {
    width: 100%;
    height: 100%;
    object-fit: cover;
}
.course-row-info {
    flex: 1;
    min-width: 0;
}
.course-row-badge {
    font-size: 10px;
    font-weight: 800;
    text-transform: uppercase;
    letter-spacing: 0.8px;
    color: var(--ibetp-text-400);
    display: block;
    margin-bottom: 2px;
}
.course-row-info h3 {
    font-size: 15.5px;
    font-weight: 800;
    color: var(--ibetp-text-900);
    margin-bottom: 3px;
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
}
.course-row-info p {
    font-size: 12.5px;
    color: var(--ibetp-text-500);
    margin: 0;
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
}
.course-row-action {
    flex-shrink: 0;
}
.course-row-link {
    font-size: 13.5px;
    font-weight: 700;
    color: var(--ibetp-green-600);
    display: inline-flex;
    align-items: center;
    gap: 4px;
}
.course-row-card:hover .course-row-link {
    color: var(--ibetp-green-700);
}

/* ==========================================================================
   FEATURED COURSES: GRID FORMAT (Cards Modernos / Quadrados - 3 por linha)
   ========================================================================== */
.courses-modern-grid {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 24px;
    margin-top: 10px;
}
@media (max-width: 1024px) {
    .courses-modern-grid {
        grid-template-columns: repeat(2, 1fr);
        gap: 18px;
    }
}
@media (max-width: 640px) {
    .courses-modern-grid {
        grid-template-columns: 1fr;
        gap: 16px;
    }
}
.course-grid-card {
    background: #FFFFFF;
    border: 1px solid var(--ibetp-border);
    border-radius: var(--ibetp-radius-lg);
    overflow: hidden;
    display: flex;
    flex-direction: column;
    box-shadow: var(--ibetp-shadow-subtle);
    transition: all 0.3s cubic-bezier(0.16, 1, 0.3, 1);
    position: relative;
    text-decoration: none;
}
.course-grid-card:hover {
    border-color: var(--ibetp-green-600);
    box-shadow: var(--ibetp-shadow-card);
    transform: translateY(-4px);
}
.course-grid-thumb-wrap {
    position: relative;
    width: 100%;
    aspect-ratio: 16 / 10;
    overflow: hidden;
    background: #0F172A;
}
.course-grid-thumb-wrap img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    transition: transform 0.4s ease;
    display: block;
}
.course-grid-card:hover .course-grid-thumb-wrap img {
    transform: scale(1.05);
}
.course-grid-badge {
    position: absolute;
    top: 12px;
    left: 12px;
    background: rgba(15, 23, 42, 0.85);
    backdrop-filter: blur(6px);
    color: #FFFFFF;
    font-size: 10.5px;
    font-weight: 800;
    padding: 4px 10px;
    border-radius: var(--ibetp-radius-pill);
    text-transform: uppercase;
    letter-spacing: 0.6px;
}
.course-grid-body {
    padding: 20px;
    display: flex;
    flex-direction: column;
    flex: 1;
}
.course-grid-area {
    font-size: 11px;
    font-weight: 800;
    color: var(--ibetp-green-600);
    text-transform: uppercase;
    letter-spacing: 0.8px;
    margin-bottom: 6px;
    display: block;
}
.course-grid-title {
    font-size: 16.5px;
    font-weight: 800;
    color: var(--ibetp-text-900);
    line-height: 1.35;
    margin-bottom: 8px;
    display: -webkit-box;
    -webkit-line-clamp: 2;
    -webkit-box-orient: vertical;
    overflow: hidden;
}
.course-grid-title a {
    color: inherit;
    text-decoration: none;
}
.course-grid-title a:hover {
    color: var(--ibetp-green-600);
}
.course-grid-excerpt {
    font-size: 13px;
    color: var(--ibetp-text-500);
    line-height: 1.5;
    margin-bottom: 16px;
    display: -webkit-box;
    -webkit-line-clamp: 2;
    -webkit-box-orient: vertical;
    overflow: hidden;
}
.course-grid-meta {
    display: flex;
    align-items: center;
    gap: 14px;
    font-size: 12px;
    color: var(--ibetp-text-500);
    margin-bottom: 16px;
    margin-top: auto;
}
.course-grid-meta span {
    display: inline-flex;
    align-items: center;
    gap: 5px;
}
.course-grid-footer {
    display: flex;
    align-items: center;
    justify-content: space-between;
    padding-top: 14px;
    border-top: 1px solid #F1F5F9;
}
.course-grid-price span {
    display: block;
    font-size: 10px;
    color: var(--ibetp-text-400);
    text-transform: uppercase;
    font-weight: 700;
}
.course-grid-price b {
    font-size: 16px;
    font-weight: 900;
    color: var(--ibetp-text-900);
}
.course-grid-btn {
    font-size: 12px;
    font-weight: 700;
    background: var(--ibetp-green-600);
    color: #FFFFFF;
    padding: 8px 16px;
    border-radius: var(--ibetp-radius-pill);
    text-decoration: none;
    transition: background 0.2s ease;
    display: inline-flex;
    align-items: center;
    gap: 4px;
}
.course-grid-btn:hover {
    background: var(--ibetp-green-700);
    color: #FFFFFF;
}



/* ==========================================================================
   FEATURE SPLIT BLOCK ("Conhecimento que vira oportunidade")
   ========================================================================== */
.feature-split-grid {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 50px;
    align-items: center;
}
.pills-2col-grid {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 12px;
    margin-top: 24px;
}
.feature-pill-item {
    background: #FFFFFF;
    border: 1px solid var(--ibetp-border);
    border-radius: var(--ibetp-radius-sm);
    padding: 10px 14px;
    font-size: 13px;
    font-weight: 700;
    color: var(--ibetp-green-700);
    text-align: center;
}

/* ==========================================================================
   3 STEP JOURNEY CARDS ("Uma jornada organizada para você avançar")
   ========================================================================== */
.journey-grid {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 24px;
}
.journey-card {
    background: #FFFFFF;
    border: 1px solid var(--ibetp-border);
    border-radius: var(--ibetp-radius-lg);
    padding: 32px 28px;
    box-shadow: var(--ibetp-shadow-subtle);
    transition: transform 0.2s ease;
}
.journey-card:hover {
    transform: translateY(-4px);
    box-shadow: var(--ibetp-shadow-card);
}
.journey-num {
    font-family: var(--ibetp-font-heading);
    font-size: 32px;
    font-weight: 900;
    color: var(--ibetp-green-600);
    margin-bottom: 12px;
    line-height: 1;
}
.journey-card h3 {
    font-size: 17px;
    color: var(--ibetp-text-900);
    font-weight: 800;
    margin-bottom: 8px;
}
.journey-card p {
    font-size: 13.5px;
    color: var(--ibetp-text-500);
    line-height: 1.55;
    margin: 0;
}

/* ==========================================================================
   REVIEWS & 13K+ STORIES ("Quem conhece, recomenda")
   ========================================================================== */
.social-proof-split {
    display: grid;
    grid-template-columns: 290px 1fr;
    gap: 40px;
    align-items: center;
}
.social-stat-col .impact-tag {
    font-size: 11px;
    font-weight: 800;
    color: var(--ibetp-green-600);
    text-transform: uppercase;
    letter-spacing: 1px;
    display: block;
    margin-bottom: 4px;
}
.social-stat-col h2 {
    font-size: 34px;
    line-height: 1.15;
    font-weight: 900;
    color: var(--ibetp-text-900);
    margin-bottom: 8px;
}
.social-rating-box {
    display: flex;
    align-items: center;
    gap: 12px;
    margin: 10px 0 14px;
}
.social-rating-num {
    font-family: var(--ibetp-font-heading);
    font-size: 38px;
    font-weight: 900;
    color: var(--ibetp-text-900);
    line-height: 1;
}
.social-rating-stars-wrap {
    display: flex;
    flex-direction: column;
    gap: 2px;
}
.social-stars-gold {
    color: #F59E0B;
    font-size: 16px;
    letter-spacing: 2px;
    line-height: 1;
}
.social-reviews-count {
    font-size: 12px;
    color: var(--ibetp-text-500);
    font-weight: 600;
}
.social-stat-lead {
    font-size: 13.5px;
    color: var(--ibetp-text-500);
    line-height: 1.55;
    margin-bottom: 18px;
}
.social-stat-actions {
    display: flex;
    flex-direction: column;
    gap: 12px;
}
.btn-review-google {
    font-size: 13px;
    padding: 10px 18px;
    width: fit-content;
    display: inline-flex;
    align-items: center;
    gap: 6px;
}
.btn-link-arrow {
    font-size: 12.5px;
    font-weight: 700;
    color: var(--ibetp-text-500);
    display: inline-flex;
    align-items: center;
    gap: 5px;
    transition: color 0.2s ease;
}
.btn-link-arrow:hover {
    color: var(--ibetp-green-600);
}
.reviews-carousel-arrows {
    display: flex;
    gap: 8px;
    margin-top: 4px;
}
.btn-rev-prev,
.btn-rev-next {
    width: 38px;
    height: 38px;
    border-radius: 50%;
    background: #FFFFFF;
    border: 1px solid #CBD5E1;
    cursor: pointer;
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 18px;
    color: #1E293B;
    transition: all 0.2s ease;
}
.btn-rev-prev:hover,
.btn-rev-next:hover {
    background: var(--ibetp-green-50);
    border-color: var(--ibetp-green-400);
    color: var(--ibetp-green-700);
    transform: scale(1.05);
}
.testimonials-row {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(240px, 1fr));
    gap: 16px;
}
.testi-mini-card {
    background: #FFFFFF;
    border: 1px solid var(--ibetp-border);
    border-radius: var(--ibetp-radius-md);
    padding: 18px;
    box-shadow: var(--ibetp-shadow-subtle);
    display: flex;
    flex-direction: column;
}
.testi-mini-header {
    display: flex;
    align-items: center;
    gap: 10px;
    margin-bottom: 10px;
}
.testi-mini-avatar {
    width: 32px;
    height: 32px;
    border-radius: 50%;
    background: var(--ibetp-navy-900);
    color: #FFFFFF;
    font-size: 12px;
    font-weight: 800;
    display: flex;
    align-items: center;
    justify-content: center;
}
.testi-mini-author b {
    display: block;
    font-size: 12.5px;
    color: var(--ibetp-text-900);
    line-height: 1.2;
}
.testi-mini-author span {
    font-size: 10.5px;
    color: var(--ibetp-text-400);
}
.testi-stars {
    color: var(--ibetp-green-600);
    font-size: 12px;
    margin-bottom: 8px;
    letter-spacing: 2px;
}
.testi-mini-card p {
    font-size: 12.5px;
    color: var(--ibetp-text-700);
    line-height: 1.5;
    margin-bottom: 10px;
    flex: 1;
}
.testi-mini-badge {
    font-size: 10.5px;
    color: var(--ibetp-text-400);
    font-weight: 600;
    margin-top: auto;
}

/* ==========================================================================
   FAQ SPLIT
   ========================================================================== */
.faq-split-grid {
    display: grid;
    grid-template-columns: 1fr 1.3fr;
    gap: 48px;
    align-items: flex-start;
}
.faq-items-list {
    display: flex;
    flex-direction: column;
    gap: 10px;
}
.faq-deluxe-item {
    background: #FFFFFF;
    border: 1px solid var(--ibetp-border);
    border-radius: var(--ibetp-radius-sm);
    overflow: hidden;
}
.faq-deluxe-item summary {
    padding: 16px 20px;
    font-size: 14.5px;
    font-weight: 700;
    color: var(--ibetp-text-900);
    cursor: pointer;
    list-style: none;
    display: flex;
    align-items: center;
    gap: 10px;
    transition: background 0.2s ease;
}
.faq-deluxe-item summary::-webkit-details-marker {
    display: none;
}
.faq-deluxe-item summary::before {
    content: '▶';
    font-size: 10px;
    color: var(--ibetp-green-600);
    transition: transform 0.2s ease;
}
.faq-deluxe-item[open] summary::before {
    transform: rotate(90deg);
}
.faq-deluxe-item summary:hover {
    background: var(--ibetp-bg-soft);
}
.faq-deluxe-answer {
    padding: 0 20px 16px 36px;
    font-size: 13.5px;
    color: var(--ibetp-text-500);
    line-height: 1.6;
}

/* ==========================================================================
   DARK GREEN CTA BANNER ("Vamos encontrar a formação certa para você?")
   ========================================================================== */
.cta-darkgreen-section {
    background: var(--ibetp-green-900);
    color: #FFFFFF;
    padding: 50px 0;
    border-radius: var(--ibetp-radius-lg);
    margin: 40px auto;
}
.cta-darkgreen-inner {
    display: flex;
    justify-content: space-between;
    align-items: center;
    gap: 30px;
}
.cta-darkgreen-text .sub-tag {
    font-size: 11px;
    font-weight: 800;
    color: var(--ibetp-gold-400);
    text-transform: uppercase;
    letter-spacing: 1px;
    display: block;
    margin-bottom: 6px;
}
.cta-darkgreen-text h2 {
    font-size: 30px;
    color: #FFFFFF;
    font-weight: 900;
    margin-bottom: 6px;
}
.cta-darkgreen-text p {
    font-size: 14.5px;
    color: #CBD5E1;
    margin: 0;
}

/* ==========================================================================
   POLOS TABLE GRID ("Onde estamos")
   ========================================================================== */
.polos-clean-grid {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 12px;
}
.polo-clean-row {
    background: #FFFFFF;
    border: 1px solid var(--ibetp-border);
    border-radius: var(--ibetp-radius-sm);
    padding: 12px 18px;
    display: grid;
    grid-template-columns: 46px 120px 1fr;
    align-items: center;
    gap: 12px;
    font-size: 13px;
}
.polo-clean-row .uf-pill {
    background: var(--ibetp-navy-900);
    color: #FFFFFF;
    font-size: 11px;
    font-weight: 800;
    padding: 3px 8px;
    border-radius: 4px;
    text-align: center;
}
.polo-clean-row .city-name {
    font-weight: 800;
    color: var(--ibetp-text-900);
}
.polo-clean-row .address-text {
    color: var(--ibetp-text-500);
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
}

/* ==========================================================================
   MEC TRANSPARENCY BANNER ("Curso ofertado pelo Centro Universitário...")
   ========================================================================== */
.transparency-teal-card {
    background: linear-gradient(135deg, #0C7C88 0%, #09776F 100%);
    color: #FFFFFF;
    border-radius: var(--ibetp-radius-lg);
    padding: 36px 40px;
    display: flex;
    justify-content: space-between;
    align-items: center;
    gap: 30px;
    box-shadow: 0 16px 36px rgba(12, 124, 136, 0.25);
    margin: 40px auto 60px;
}
.transparency-teal-content .top-tag {
    font-size: 11px;
    font-weight: 800;
    text-transform: uppercase;
    letter-spacing: 1.2px;
    color: var(--ibetp-gold-400);
    display: block;
    margin-bottom: 6px;
}
.transparency-teal-content h2 {
    font-size: 26px;
    color: #FFFFFF;
    font-weight: 900;
    margin-bottom: 8px;
}
.transparency-teal-content p {
    font-size: 13.5px;
    color: rgba(255, 255, 255, 0.9);
    line-height: 1.55;
    max-width: 680px;
    margin: 0;
}

/* ==========================================================================
   FOOTER DELUXE
   ========================================================================== */
.site-footer {
    background: #0B1726;
    color: #FFFFFF;
    padding: 60px 0 30px;
    border-top: 1px solid rgba(255, 255, 255, 0.06);
}
.footer-grid {
    display: grid;
    grid-template-columns: 2fr 1fr 1fr 1.5fr;
    gap: 40px;
    margin-bottom: 40px;
}
.footer-col h4 {
    color: #FFFFFF;
    font-size: 13px;
    font-weight: 800;
    text-transform: uppercase;
    letter-spacing: 1px;
    margin-bottom: 18px;
}
.footer-col ul {
    list-style: none;
    margin: 0;
    padding: 0;
}
.footer-col li {
    margin-bottom: 8px;
}
.footer-col a {
    color: #8CA0B4;
    font-size: 13.5px;
}
.footer-col a:hover {
    color: #FFFFFF;
}
.footer-bottom {
    border-top: 1px solid rgba(255, 255, 255, 0.08);
    padding-top: 24px;
    text-align: center;
    font-size: 12.5px;
    color: #627588;
}

/* Floating WhatsApp */
.ibetp-whatsapp-float {
    position: fixed;
    right: 24px;
    bottom: 24px;
    width: 56px;
    height: 56px;
    border-radius: 50%;
    background: #25D366;
    display: flex;
    align-items: center;
    justify-content: center;
    z-index: 9999;
    box-shadow: 0 8px 24px rgba(37, 211, 102, 0.35);
    transition: transform 0.2s ease;
}
.ibetp-whatsapp-float:hover {
    transform: scale(1.08);
}

/* ==========================================================================
   RESPONSIVE
   ========================================================================== */
@media (max-width: 992px) {
    .hero-deluxe-grid { grid-template-columns: 1fr; gap: 36px; }
    .hero-deluxe h1 { font-size: 36px; }
    .stats-deluxe-grid { grid-template-columns: 1fr 1fr; gap: 20px; }
    .stats-deluxe-item:nth-child(2) { border-right: none; }
    .paths-grid { grid-template-columns: 1fr; }
    .choice-help-grid { grid-template-columns: 1fr; }
    .feature-split-grid { grid-template-columns: 1fr; }
    .journey-grid { grid-template-columns: 1fr; }
    .social-proof-split { grid-template-columns: 1fr; }
    .faq-split-grid { grid-template-columns: 1fr; }
    .polos-clean-grid { grid-template-columns: 1fr; }
    .cta-darkgreen-inner { flex-direction: column; text-align: center; }
    .transparency-teal-card { flex-direction: column; text-align: center; }
    .footer-grid { grid-template-columns: 1fr; }
}
/* ==========================================================================
   SINGLE COURSE & CERTIFICAÇÃO DELUXE STYLES (AS IN MODELO TESTE)
   ========================================================================== */

.course-hero-dark {
    background: linear-gradient(135deg, #05261D 0%, #0B4234 100%);
    color: #FFFFFF;
    padding: 60px 0 70px;
    position: relative;
}
.course-hero-grid {
    display: grid;
    grid-template-columns: 1fr 380px;
    gap: 48px;
    align-items: start;
}
.course-hero-content .cert-tag {
    display: inline-block;
    color: #A3E635;
    font-size: 11.5px;
    font-weight: 800;
    text-transform: uppercase;
    letter-spacing: 1.2px;
    margin-bottom: 14px;
}
.course-hero-content h1 {
    font-size: 42px;
    line-height: 1.15;
    font-weight: 900;
    color: #FFFFFF;
    margin-bottom: 18px;
}
.course-hero-content .course-hero-lead {
    font-size: 16px;
    color: #D1FAE5;
    line-height: 1.6;
    margin-bottom: 26px;
    max-width: 620px;
}
.course-hero-actions {
    display: flex;
    gap: 14px;
    margin-bottom: 24px;
    flex-wrap: wrap;
}
.course-hero-badges {
    display: flex;
    gap: 18px;
    font-size: 13px;
    font-weight: 600;
    color: #A7F3D0;
    flex-wrap: wrap;
}
.course-hero-badges span {
    display: inline-flex;
    align-items: center;
    gap: 6px;
}
.course-hero-badges span::before {
    content: '✓';
    color: #A3E635;
    font-weight: 800;
}

/* Course Hero Payment Notice Box (Harmonious Dark Theme Integration) */
.course-hero-payment-notice {
    background: rgba(255, 255, 255, 0.08);
    border: 1px solid rgba(255, 255, 255, 0.16);
    border-left: 3px solid #A3E635;
    border-radius: var(--ibetp-radius-lg);
    padding: 13px 18px;
    margin-bottom: 22px;
    display: flex;
    align-items: flex-start;
    gap: 12px;
    backdrop-filter: blur(8px);
    box-shadow: 0 4px 16px rgba(0, 0, 0, 0.12);
}
.course-hero-payment-notice .payment-notice-icon {
    color: #A3E635;
    flex-shrink: 0;
    margin-top: 2px;
}
.course-hero-payment-notice .payment-notice-text {
    font-size: 13.5px;
    line-height: 1.55;
    color: #F1F5F9;
}
.course-hero-payment-notice .payment-notice-text strong {
    color: #FFFFFF;
    font-weight: 700;
}

/* Key Course Metric Badges (Duração, Carga Horária, Modalidade) */
.course-hero-metric-cards {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(130px, 1fr));
    gap: 12px;
    margin-bottom: 24px;
}
.hero-metric-box {
    background: rgba(255, 255, 255, 0.08);
    backdrop-filter: blur(8px);
    border: 1px solid rgba(255, 255, 255, 0.18);
    border-radius: var(--ibetp-radius-lg);
    padding: 14px 16px;
    display: flex;
    flex-direction: column;
    gap: 4px;
    transition: var(--ibetp-transition);
}
.hero-metric-box:hover {
    background: rgba(255, 255, 255, 0.14);
    border-color: rgba(255, 255, 255, 0.32);
}
.hero-metric-box .hero-metric-val {
    font-family: var(--ibetp-font-heading);
    font-size: 15px;
    font-weight: 800;
    color: #FFFFFF;
    line-height: 1.25;
}
.hero-metric-box .hero-metric-lbl {
    font-size: 11.5px;
    font-weight: 600;
    text-transform: uppercase;
    letter-spacing: 0.5px;
    color: #A7F3D0;
}

/* Sticky Card in Hero */
.course-hero-card {
    background: #FFFFFF;
    border-radius: var(--ibetp-radius-xl);
    padding: 28px 24px;
    box-shadow: 0 20px 45px rgba(0, 0, 0, 0.25);
    color: var(--ibetp-text-900);
    border: 1px solid #E2E8F0;
}
.course-hero-card .card-top-tag {
    font-size: 10.5px;
    font-weight: 800;
    text-transform: uppercase;
    letter-spacing: 1px;
    color: var(--ibetp-green-700);
    background: var(--ibetp-green-50);
    padding: 3px 8px;
    border-radius: 4px;
    display: inline-block;
    margin-bottom: 10px;
}
.course-hero-card h3 {
    font-size: 17px;
    color: var(--ibetp-text-900);
    font-weight: 800;
    margin-bottom: 8px;
    line-height: 1.35;
}
.course-hero-card p {
    font-size: 12.5px;
    color: var(--ibetp-text-500);
    line-height: 1.5;
    margin-bottom: 14px;
}

/* Hero Card Pricing Box */
.hero-card-pricing-box {
    background: #F8FAFC;
    border: 1px solid #E2E8F0;
    border-radius: var(--ibetp-radius-lg);
    padding: 16px;
    margin-bottom: 16px;
}

/* Plan Selector in Pricing Box */
.plan-selector-container {
    margin-bottom: 14px;
    padding-bottom: 12px;
    border-bottom: 1px dashed #E2E8F0;
}
.plan-selector-heading {
    display: block;
    font-size: 11px;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: 0.5px;
    color: var(--ibetp-text-500);
    margin-bottom: 8px;
}
.plan-options-grid {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 8px;
}
.plan-option-card {
    position: relative;
    background: #FFFFFF;
    border: 1.5px solid #E2E8F0;
    border-radius: var(--ibetp-radius-md);
    padding: 9px 8px;
    text-align: left;
    cursor: pointer;
    transition: all 0.2s ease;
    display: flex;
    align-items: flex-start;
    gap: 7px;
    width: 100%;
    font-family: inherit;
}
.plan-option-card:hover {
    border-color: var(--ibetp-green-500);
    background: #FAFDFA;
}
.plan-option-card.is-active {
    border-color: var(--ibetp-green-600);
    background: var(--ibetp-green-50);
    box-shadow: 0 2px 8px rgba(15, 118, 84, 0.10);
}
.plan-radio-circle {
    width: 15px;
    height: 15px;
    border-radius: 50%;
    border: 2px solid #CBD5E1;
    display: flex;
    align-items: center;
    justify-content: center;
    flex-shrink: 0;
    margin-top: 2px;
    transition: all 0.2s ease;
}
.plan-option-card.is-active .plan-radio-circle {
    border-color: var(--ibetp-green-600);
}
.plan-radio-circle .radio-inner {
    width: 7px;
    height: 7px;
    border-radius: 50%;
    background: transparent;
    transition: all 0.2s ease;
}
.plan-option-card.is-active .plan-radio-circle .radio-inner {
    background: var(--ibetp-green-600);
}
.plan-card-body {
    display: flex;
    flex-direction: column;
    gap: 1px;
    min-width: 0;
}
.plan-card-body .plan-label {
    font-size: 11px;
    font-weight: 700;
    color: var(--ibetp-text-900);
    line-height: 1.2;
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
}
.plan-card-body .plan-amount {
    font-family: var(--ibetp-font-heading);
    font-size: 14.5px;
    font-weight: 800;
    color: var(--ibetp-green-700);
    line-height: 1.2;
}
.plan-card-body .plan-hint {
    font-size: 9.5px;
    font-weight: 600;
    color: var(--ibetp-text-400);
    line-height: 1.2;
}
.plan-option-card.is-active .plan-card-body .plan-hint {
    color: var(--ibetp-green-700);
}
.plan-badge-tag {
    position: absolute;
    top: -9px;
    right: 6px;
    background: #0F7654;
    color: #FFFFFF;
    font-size: 9px;
    font-weight: 800;
    letter-spacing: 0.3px;
    text-transform: uppercase;
    padding: 2px 5px;
    border-radius: 4px;
    box-shadow: 0 2px 4px rgba(15, 118, 84, 0.20);
}

.matricula-badge-container {
    margin-bottom: 8px;
}
.price-type-pill {
    display: inline-flex;
    align-items: center;
    gap: 6px;
    background: var(--ibetp-green-50);
    color: var(--ibetp-green-700);
    border: 1px solid #A7F3D0;
    font-size: 11px;
    font-weight: 800;
    letter-spacing: 0.6px;
    text-transform: uppercase;
    padding: 4px 10px;
    border-radius: 6px;
}
.price-type-pill.total-pill {
    background: #F1F5F9;
    color: var(--ibetp-navy-800);
    border: 1px solid #CBD5E1;
}
.price-value-container {
    display: flex;
    flex-direction: column;
    gap: 3px;
    margin-bottom: 12px;
}
.price-value-main {
    font-family: var(--ibetp-font-heading);
    font-size: 36px;
    font-weight: 900;
    color: var(--ibetp-text-900);
    line-height: 1.05;
    letter-spacing: -0.6px;
}
.price-value-sub {
    font-size: 13px;
    font-weight: 600;
    color: var(--ibetp-text-500);
    display: block;
    line-height: 1.3;
}
.installments-callout-box {
    background: #FFFFFF;
    border: 1px solid #E2E8F0;
    border-radius: 6px;
    padding: 7px 10px;
    font-size: 13px;
    color: var(--ibetp-text-700);
    font-weight: 600;
    display: flex;
    align-items: center;
    gap: 6px;
    margin-bottom: 10px;
}
.installments-callout-box .callout-plus {
    color: var(--ibetp-green-600);
    font-weight: 800;
}
.installments-callout-box strong {
    color: var(--ibetp-green-800);
    font-weight: 800;
}
.matricula-clarity-alert {
    display: flex;
    align-items: flex-start;
    gap: 6px;
    font-size: 11.5px;
    color: var(--ibetp-text-500);
    line-height: 1.4;
}
.matricula-clarity-alert svg {
    color: var(--ibetp-green-600);
    flex-shrink: 0;
    margin-top: 1px;
}

.course-hero-card .card-disclaimer {
    font-size: 11px;
    color: var(--ibetp-text-400);
    text-align: center;
    margin-top: 14px;
    line-height: 1.4;
}

/* 3-Step Quick Summary Bar */
.quick-summary-bar {
    margin-top: -36px;
    position: relative;
    z-index: 10;
    margin-bottom: 50px;
}
.quick-summary-grid {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 16px;
}
.quick-summary-pill {
    background: #FFFFFF;
    border: 1px solid var(--ibetp-border);
    border-radius: var(--ibetp-radius-lg);
    padding: 18px 22px;
    box-shadow: var(--ibetp-shadow-card);
    display: flex;
    gap: 14px;
    align-items: flex-start;
}
.quick-summary-num {
    font-family: var(--ibetp-font-heading);
    font-size: 14px;
    font-weight: 800;
    color: var(--ibetp-green-600);
    background: var(--ibetp-green-50);
    padding: 4px 8px;
    border-radius: 6px;
    line-height: 1;
}
.quick-summary-pill h4 {
    font-size: 13.5px;
    color: var(--ibetp-text-900);
    font-weight: 800;
    margin-bottom: 3px;
}
.quick-summary-pill p {
    font-size: 12px;
    color: var(--ibetp-text-500);
    margin: 0;
    line-height: 1.4;
}

/* Block: Decisão com Clareza */
.clarity-block-grid {
    display: grid;
    grid-template-columns: 1.15fr 1fr;
    gap: 40px;
    align-items: center;
    margin: 50px 0;
}
.navy-cards-stack {
    display: flex;
    flex-direction: column;
    gap: 12px;
}
.navy-info-card {
    background: #12283E;
    color: #FFFFFF;
    border-radius: var(--ibetp-radius-md);
    padding: 18px 22px;
}
.navy-info-card h4 {
    font-size: 14px;
    color: #FFFFFF;
    font-weight: 800;
    margin-bottom: 4px;
}
.navy-info-card p {
    font-size: 12px;
    color: #CBD5E1;
    margin: 0;
    line-height: 1.45;
}

/* Block: Formalize aquilo que você já sabe fazer */
.process-3cards-grid {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 16px;
    margin-top: 24px;
}
.process-clean-card {
    background: #FFFFFF;
    border: 1px solid var(--ibetp-border);
    border-radius: var(--ibetp-radius-md);
    padding: 20px;
    box-shadow: var(--ibetp-shadow-subtle);
}
.process-clean-card h4 {
    font-size: 13.5px;
    color: var(--ibetp-text-900);
    font-weight: 800;
    margin-bottom: 6px;
}
.process-clean-card p {
    font-size: 12.5px;
    color: var(--ibetp-text-500);
    margin: 0;
    line-height: 1.5;
}

/* Full Width Green Investment Bar */
.investment-full-bar {
    background: #0E5C48;
    color: #FFFFFF;
    padding: 32px 0;
    margin: 50px 0;
}
.investment-full-inner {
    display: flex;
    justify-content: space-between;
    align-items: center;
    gap: 30px;
}
.investment-full-left .inv-tag {
    font-size: 10.5px;
    font-weight: 800;
    text-transform: uppercase;
    letter-spacing: 1px;
    color: #A3E635;
    display: block;
}
.investment-full-left .inv-price {
    font-family: var(--ibetp-font-heading);
    font-size: 36px;
    font-weight: 900;
    color: #FFFFFF;
    line-height: 1.1;
    margin: 2px 0;
}
.investment-full-left .inv-desc {
    font-size: 13px;
    color: #D1FAE5;
}
.investment-full-right {
    max-width: 500px;
    font-size: 13px;
    color: #E2E8F0;
    line-height: 1.5;
}

/* Big White Detail Card (Reconhecimento da experiência) */
.experience-detail-card {
    background: #FFFFFF;
    border: 1px solid var(--ibetp-border);
    border-radius: var(--ibetp-radius-lg);
    padding: 36px 32px;
    box-shadow: var(--ibetp-shadow-card);
    margin: 40px auto;
}
.exp-4cols-grid {
    display: grid;
    grid-template-columns: repeat(4, 1fr);
    gap: 20px;
    margin-top: 28px;
    padding-top: 24px;
    border-top: 1px solid var(--ibetp-border);
}
.exp-col-item .col-label {
    font-size: 10px;
    font-weight: 800;
    text-transform: uppercase;
    letter-spacing: 0.8px;
    color: var(--ibetp-text-400);
    display: block;
    margin-bottom: 4px;
}
.exp-col-item .col-val {
    font-size: 13px;
    font-weight: 700;
    color: var(--ibetp-text-900);
    line-height: 1.4;
}

/* 5 Steps Numbered Flow */
.flow-5steps-list {
    display: flex;
    flex-direction: column;
    gap: 12px;
    max-width: 780px;
    margin: 30px auto;
}
.flow-step-pill-row {
    background: #FFFFFF;
    border: 1px solid var(--ibetp-border);
    border-radius: var(--ibetp-radius-md);
    padding: 16px 20px;
    display: flex;
    align-items: center;
    gap: 16px;
    box-shadow: var(--ibetp-shadow-subtle);
    transition: all 0.2s ease;
}
.flow-step-pill-row:hover {
    border-color: var(--ibetp-green-600);
    box-shadow: var(--ibetp-shadow-card);
}
.flow-step-badge {
    font-family: var(--ibetp-font-heading);
    font-size: 13px;
    font-weight: 900;
    background: #FEF3C7;
    color: #B45309;
    padding: 5px 9px;
    border-radius: 6px;
    line-height: 1;
    flex-shrink: 0;
}
.flow-step-text {
    font-size: 13.5px;
    color: var(--ibetp-text-700);
    line-height: 1.45;
}

/* Checklist of 6 Documents */
.docs-checklist-grid {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 12px;
    margin-top: 24px;
}
.doc-check-item {
    background: #FFFFFF;
    border: 1px solid var(--ibetp-border);
    border-radius: var(--ibetp-radius-sm);
    padding: 14px 18px;
    font-size: 13px;
    color: var(--ibetp-text-700);
    display: flex;
    align-items: center;
    gap: 10px;
}
.doc-check-item::before {
    content: '✓';
    color: var(--ibetp-green-600);
    font-weight: 800;
}

/* Base Legal Callout */
.base-legal-card {
    background: #FFFDF5;
    border: 1px solid #FDE68A;
    border-radius: var(--ibetp-radius-lg);
    padding: 28px 32px;
    margin: 40px auto;
}
.base-legal-card .legal-tag {
    font-size: 11px;
    font-weight: 800;
    text-transform: uppercase;
    letter-spacing: 1px;
    color: #65A30D;
    display: block;
    margin-bottom: 6px;
}
.base-legal-card h3 {
    font-size: 20px;
    color: var(--ibetp-text-900);
    font-weight: 800;
    margin-bottom: 8px;
}
.base-legal-card p {
    font-size: 13.5px;
    color: var(--ibetp-text-700);
    line-height: 1.6;
    margin: 0;
}

/* Bottom Decision Banner */
.bottom-decision-banner {
    background: #05261D;
    color: #FFFFFF;
    border-radius: var(--ibetp-radius-lg);
    padding: 40px 48px;
    display: flex;
    justify-content: space-between;
    align-items: center;
    gap: 30px;
    margin: 40px auto 60px;
}
.bottom-decision-banner .tag {
    font-size: 10.5px;
    font-weight: 800;
    text-transform: uppercase;
    letter-spacing: 1.2px;
    color: #A3E635;
    display: block;
    margin-bottom: 6px;
}
.bottom-decision-banner h2 {
    font-size: 26px;
    color: #FFFFFF;
    font-weight: 900;
    margin-bottom: 8px;
}
.bottom-decision-banner p {
    font-size: 13.5px;
    color: #D1FAE5;
    margin: 0;
    max-width: 540px;
}
.bottom-decision-actions {
    display: flex;
    gap: 12px;
    flex-shrink: 0;
    flex-wrap: wrap;
}

/* Buttons Yellow/Lime */
.btn-pill-lime {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    background: #EAB308;
    color: #0F172A !important;
    padding: 13px 26px;
    border-radius: var(--ibetp-radius-pill);
    font-weight: 800;
    font-size: 14px;
    border: none;
    cursor: pointer;
    box-shadow: 0 8px 20px rgba(234, 179, 8, 0.35);
    transition: all 0.25s ease;
    gap: 8px;
}
.btn-pill-lime:hover {
    background: #FACC15;
    transform: translateY(-2px);
}

.btn-pill-ghost-white {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    background: transparent;
    color: #FFFFFF !important;
    border: 1.5px solid rgba(255, 255, 255, 0.4);
    padding: 12px 24px;
    border-radius: var(--ibetp-radius-pill);
    font-weight: 700;
    font-size: 14px;
    cursor: pointer;
    transition: all 0.2s ease;
    gap: 8px;
}
.btn-pill-ghost-white:hover {
    background: rgba(255, 255, 255, 0.1);
    border-color: #FFFFFF;
    transform: translateY(-2px);
}

@media (max-width: 992px) {
    .course-hero-grid { grid-template-columns: 1fr; }
    .quick-summary-grid { grid-template-columns: 1fr; }
    .clarity-block-grid { grid-template-columns: 1fr; }
    .process-3cards-grid { grid-template-columns: 1fr; }
    .investment-full-inner { flex-direction: column; text-align: center; }
    .exp-4cols-grid { grid-template-columns: 1fr 1fr; }
    .docs-checklist-grid { grid-template-columns: 1fr; }
    .bottom-decision-banner { flex-direction: column; text-align: center; padding: 30px 24px; }
    .bottom-decision-actions { justify-content: center; }
}
/* ==========================================================================
   DELUXE COURSE CARDS & MODALITY TAXONOMY STYLES
   ========================================================================== */

/* Grid of Course Cards */
.courses-grid {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 24px;
}
@media (max-width: 1024px) {
    .courses-grid {
        grid-template-columns: repeat(2, 1fr);
        gap: 18px;
    }
}
@media (max-width: 640px) {
    .courses-grid {
        grid-template-columns: 1fr;
        gap: 16px;
    }
}

.course-card {
    background: #FFFFFF;
    border: 1px solid var(--ibetp-border);
    border-radius: var(--ibetp-radius-lg);
    overflow: hidden;
    box-shadow: var(--ibetp-shadow-subtle);
    display: flex;
    flex-direction: column;
    transition: all 0.3s cubic-bezier(0.16, 1, 0.3, 1);
    position: relative;
}
.course-card:hover {
    transform: translateY(-5px);
    border-color: var(--ibetp-green-600);
    box-shadow: var(--ibetp-shadow-hover);
}

.course-card-thumb {
    position: relative;
    width: 100%;
    aspect-ratio: 16 / 10;
    overflow: hidden;
    background: var(--ibetp-bg-subtle);
    display: block;
}
.course-card-thumb img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    transition: transform 0.4s ease;
}
.course-card:hover .course-card-thumb img {
    transform: scale(1.06);
}

.course-card-badge {
    position: absolute;
    top: 12px;
    left: 12px;
    background: rgba(18, 40, 62, 0.85);
    backdrop-filter: blur(8px);
    color: #FFFFFF;
    font-size: 11px;
    font-weight: 700;
    padding: 4px 10px;
    border-radius: var(--ibetp-radius-pill);
    letter-spacing: 0.3px;
}

.course-card-body {
    padding: 20px;
    display: flex;
    flex-direction: column;
    flex: 1;
}

.course-card-area {
    font-size: 11px;
    font-weight: 800;
    text-transform: uppercase;
    letter-spacing: 0.8px;
    color: var(--ibetp-green-600);
    margin-bottom: 6px;
    display: block;
}

.course-card-title {
    font-size: 16px;
    font-weight: 800;
    color: var(--ibetp-text-900);
    margin-bottom: 10px;
    line-height: 1.35;
    display: -webkit-box;
    -webkit-line-clamp: 2;
    -webkit-box-orient: vertical;
    overflow: hidden;
    min-height: 44px;
}
.course-card-title a {
    color: var(--ibetp-text-900);
}
.course-card:hover .course-card-title a {
    color: var(--ibetp-green-600);
}

.course-card-meta {
    display: flex;
    gap: 8px;
    margin-bottom: 16px;
    padding-bottom: 14px;
    border-bottom: 1px solid var(--ibetp-border-subtle);
    flex-wrap: wrap;
}
.course-card-meta .meta-item {
    display: inline-flex;
    align-items: center;
    gap: 6px;
    font-size: 11.5px;
    font-weight: 700;
    color: var(--ibetp-text-700);
    background: #F1F5F9;
    border: 1px solid #E2E8F0;
    padding: 4px 9px;
    border-radius: 6px;
}
.course-card-meta .meta-item svg {
    color: var(--ibetp-green-600);
    flex-shrink: 0;
}

.course-card-footer {
    margin-top: auto;
    display: flex;
    justify-content: space-between;
    align-items: center;
    gap: 12px;
}
.course-card-price {
    display: flex;
    flex-direction: column;
}
.course-card-price span {
    font-size: 10.5px;
    color: var(--ibetp-text-400);
    font-weight: 600;
    text-transform: uppercase;
    letter-spacing: 0.5px;
}
.course-card-price b {
    font-family: var(--ibetp-font-heading);
    font-size: 16px;
    font-weight: 900;
    color: var(--ibetp-green-600);
    line-height: 1.1;
}

/* Modality Taxonomy Hero */
.modality-hero-deluxe {
    background: linear-gradient(135deg, #062C22 0%, #0E5C48 100%);
    color: #FFFFFF;
    border-radius: var(--ibetp-radius-xl);
    padding: 48px 44px;
    margin: 20px auto 40px;
    box-shadow: 0 16px 36px rgba(6, 44, 34, 0.2);
    position: relative;
    overflow: hidden;
}
.modality-hero-deluxe .top-tag {
    display: inline-block;
    color: #A3E635;
    font-size: 11px;
    font-weight: 800;
    text-transform: uppercase;
    letter-spacing: 1.2px;
    margin-bottom: 10px;
}
.modality-hero-deluxe h1 {
    font-size: 38px;
    line-height: 1.15;
    color: #FFFFFF;
    font-weight: 900;
    margin-bottom: 12px;
}
.modality-hero-deluxe p {
    font-size: 15.5px;
    color: #D1FAE5;
    max-width: 740px;
    line-height: 1.6;
    margin-bottom: 24px;
}
.modality-hero-stats {
    display: flex;
    gap: 24px;
    margin-bottom: 24px;
    font-size: 13.5px;
    color: #A7F3D0;
    font-weight: 600;
    flex-wrap: wrap;
}
.modality-hero-stats span {
    display: inline-flex;
    align-items: center;
    gap: 6px;
}
.modality-hero-stats span::before {
    content: '✓';
    color: #A3E635;
    font-weight: 800;
}
.modality-hero-actions {
    display: flex;
    gap: 14px;
    flex-wrap: wrap;
}

/* Modality Search / Filter Bar */
.taxonomy-filter-bar {
    background: #FFFFFF;
    border: 1px solid var(--ibetp-border);
    border-radius: var(--ibetp-radius-lg);
    padding: 16px 20px;
    display: flex;
    justify-content: space-between;
    align-items: center;
    gap: 16px;
    margin-bottom: 32px;
    box-shadow: var(--ibetp-shadow-subtle);
    flex-wrap: wrap;
}
.taxonomy-search-input {
    flex: 1;
    min-width: 240px;
    padding: 10px 16px;
    border: 1px solid var(--ibetp-border);
    border-radius: var(--ibetp-radius-pill);
    font-size: 13.5px;
    font-family: var(--ibetp-font-sans);
    outline: none;
    transition: border-color 0.2s;
}
.taxonomy-search-input:focus {
    border-color: var(--ibetp-green-600);
}
.taxonomy-area-pills {
    display: flex;
    gap: 8px;
    flex-wrap: wrap;
}
.tax-pill {
    font-size: 12px;
    font-weight: 700;
    padding: 6px 14px;
    border-radius: var(--ibetp-radius-pill);
    background: var(--ibetp-bg-subtle);
    color: var(--ibetp-text-700);
    border: 1px solid var(--ibetp-border);
    transition: all 0.2s;
}
.tax-pill:hover, .tax-pill.active {
    background: var(--ibetp-green-600);
    color: #FFFFFF;
    border-color: var(--ibetp-green-600);
}

/* Breadcrumbs Deluxe */
.ibetp-breadcrumbs {
    padding: 14px 0;
    font-size: 13px;
    color: var(--ibetp-text-400);
}
.ibetp-breadcrumbs a {
    color: var(--ibetp-text-500);
}
.ibetp-breadcrumbs a:hover {
    color: var(--ibetp-green-600);
}
.ibetp-breadcrumbs span {
    color: var(--ibetp-text-700);
    font-weight: 600;
}

@media (max-width: 768px) {
    .courses-grid { grid-template-columns: 1fr; }
    .modality-hero-deluxe { padding: 32px 24px; }
    .modality-hero-deluxe h1 { font-size: 28px; }
    .taxonomy-filter-bar { flex-direction: column; align-items: stretch; }
}
/* ==========================================================================
   PAGINATION DELUXE STYLES
   ========================================================================== */
.navigation.pagination,
.posts-pagination,
.ibetp-pagination {
    margin-top: 48px;
    padding-top: 32px;
    border-top: 1px solid var(--ibetp-border);
    display: flex;
    justify-content: center;
    align-items: center;
    width: 100%;
}
.navigation.pagination .screen-reader-text {
    position: absolute;
    width: 1px;
    height: 1px;
    padding: 0;
    margin: -1px;
    overflow: hidden;
    clip: rect(0, 0, 0, 0);
    white-space: nowrap;
    border: 0;
}
.navigation.pagination .nav-links,
.ibetp-pagination .nav-links {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    flex-wrap: wrap;
    justify-content: center;
}
.page-numbers {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-width: 42px;
    height: 42px;
    padding: 0 14px;
    border-radius: var(--ibetp-radius-pill);
    background: #FFFFFF;
    border: 1.5px solid var(--ibetp-border);
    color: var(--ibetp-text-900);
    font-size: 14px;
    font-weight: 700;
    text-decoration: none;
    box-shadow: 0 2px 6px rgba(18, 40, 62, 0.04);
    transition: all 0.2s cubic-bezier(0.16, 1, 0.3, 1);
}
.page-numbers:hover {
    background: var(--ibetp-green-50);
    border-color: var(--ibetp-green-600);
    color: var(--ibetp-green-700);
    transform: translateY(-2px);
    box-shadow: 0 6px 14px rgba(15, 118, 84, 0.15);
}
.page-numbers.current {
    background: var(--ibetp-green-600) !important;
    border-color: var(--ibetp-green-600) !important;
    color: #FFFFFF !important;
    box-shadow: var(--ibetp-shadow-glow);
    cursor: default;
    transform: translateY(-1px);
}
.page-numbers.dots {
    background: transparent;
    border: none;
    box-shadow: none;
    color: var(--ibetp-text-400);
    min-width: 24px;
    cursor: default;
}
.page-numbers.prev,
.page-numbers.next {
    padding: 0 18px;
    font-weight: 800;
    gap: 6px;
}
.page-numbers.prev:hover,
.page-numbers.next:hover {
    background: var(--ibetp-green-600);
    color: #FFFFFF !important;
    border-color: var(--ibetp-green-600);
}
/* ==========================================================================
   BLOG & SINGLE POST DELUXE STYLES (WITH DYNAMIC TOC & SIDEBAR)
   ========================================================================== */

/* Post Header */
.post-header-section {
    padding: 30px 0 24px;
    border-bottom: 1px solid var(--ibetp-border);
    margin-bottom: 36px;
}
.post-top-meta {
    display: flex;
    align-items: center;
    gap: 12px;
    margin-bottom: 12px;
    flex-wrap: wrap;
}
.post-category-tag {
    background: #F0FDF4;
    color: var(--ibetp-green-600);
    border: 1px solid rgba(16, 185, 129, 0.25);
    font-size: 11.5px;
    font-weight: 800;
    padding: 3px 12px;
    border-radius: var(--ibetp-radius-pill);
    text-transform: uppercase;
    letter-spacing: 0.5px;
}
.post-reading-time {
    display: inline-flex;
    align-items: center;
    gap: 5px;
    font-size: 12.5px;
    color: var(--ibetp-text-500);
    font-weight: 600;
}
.post-reading-time svg {
    color: var(--ibetp-green-600);
}
.post-main-title {
    font-size: 38px;
    line-height: 1.2;
    font-weight: 900;
    color: var(--ibetp-text-900);
    margin-bottom: 18px;
}
.post-author-row {
    display: flex;
    align-items: center;
    gap: 12px;
    margin-bottom: 24px;
}
.post-author-avatar {
    width: 36px;
    height: 36px;
    border-radius: 50%;
    background: var(--ibetp-green-700);
    color: #FFFFFF;
    font-size: 14px;
    font-weight: 800;
    display: flex;
    align-items: center;
    justify-content: center;
}
.post-author-info b {
    display: block;
    font-size: 13.5px;
    color: var(--ibetp-text-900);
    line-height: 1.2;
}
.post-author-info span {
    font-size: 12px;
    color: var(--ibetp-text-400);
}
.post-featured-frame {
    border-radius: var(--ibetp-radius-lg);
    overflow: hidden;
    margin-top: 20px;
    aspect-ratio: 16 / 9;
    max-height: 440px;
}
.post-featured-frame img {
    width: 100%;
    height: 100%;
    object-fit: cover;
}

/* Post Layout (Grid with Sticky TOC) */
.post-layout-grid.has-sidebar {
    display: grid;
    grid-template-columns: 280px 1fr;
    gap: 48px;
    align-items: start;
}
.post-layout-grid.full-width {
    max-width: 820px;
    margin: 0 auto;
}

/* Sticky Table of Contents (TOC) */
.post-toc-sidebar {
    position: sticky;
    top: 100px;
}
.toc-card {
    background: #FAFBFC;
    border: 1px solid var(--ibetp-border);
    border-radius: var(--ibetp-radius-md);
    overflow: hidden;
    box-shadow: var(--ibetp-shadow-subtle);
}
.toc-header {
    background: #F1F5F9;
    padding: 12px 18px;
    display: flex;
    justify-content: space-between;
    align-items: center;
    border-bottom: 1px solid var(--ibetp-border);
}
.toc-title {
    font-size: 11px;
    font-weight: 900;
    text-transform: uppercase;
    letter-spacing: 1px;
    color: var(--ibetp-text-700);
}
.toc-toggle {
    background: transparent;
    border: none;
    font-size: 18px;
    font-weight: 900;
    color: var(--ibetp-text-500);
    cursor: pointer;
    line-height: 1;
    padding: 0 4px;
}
.toc-body {
    padding: 14px 18px;
    max-height: 480px;
    overflow-y: auto;
}
.toc-list {
    list-style: none;
    margin: 0;
    padding: 0;
    display: flex;
    flex-direction: column;
    gap: 8px;
}
.toc-item.toc-level-3 {
    padding-left: 12px;
}
.toc-link {
    font-size: 12.5px;
    color: var(--ibetp-text-500);
    line-height: 1.4;
    display: block;
    padding: 4px 8px;
    border-radius: 4px;
    border-left: 2px solid transparent;
    transition: all 0.2s ease;
}
.toc-link:hover {
    color: var(--ibetp-green-600);
    background: #FFFFFF;
}
.toc-link.active {
    color: var(--ibetp-green-700);
    font-weight: 700;
    border-left-color: var(--ibetp-green-600);
    background: #FFFFFF;
    box-shadow: 0 1px 3px rgba(0,0,0,0.03);
}

/* Post Typography and Elements */
.post-entry-content {
    font-size: 16px;
    line-height: 1.8;
    color: var(--ibetp-text-700);
    min-width: 0;
    word-break: break-word;
}
.post-entry-content h2 {
    font-size: 24px;
    font-weight: 800;
    color: var(--ibetp-text-900);
    margin: 38px 0 16px;
    line-height: 1.3;
    padding-top: 10px;
    letter-spacing: -0.2px;
}
.post-entry-content h3 {
    font-size: 20px;
    font-weight: 800;
    color: var(--ibetp-text-900);
    margin: 30px 0 14px;
    line-height: 1.35;
}
.post-entry-content h4,
.post-entry-content h5,
.post-entry-content h6 {
    font-size: 17px;
    font-weight: 700;
    color: var(--ibetp-text-900);
    margin: 24px 0 10px;
}
.post-entry-content p {
    margin-bottom: 20px;
    line-height: 1.8;
}
.post-entry-content strong,
.post-entry-content b {
    color: var(--ibetp-text-900);
    font-weight: 700;
}
.post-entry-content ul,
.post-entry-content ol {
    margin: 0 0 24px 28px;
    padding: 0;
}
.post-entry-content li {
    margin-bottom: 10px;
    line-height: 1.7;
}
.post-entry-content a {
    color: var(--ibetp-green-600);
    font-weight: 600;
    text-decoration: underline;
    text-underline-offset: 3px;
    transition: color 0.2s ease;
}
.post-entry-content a:hover {
    color: var(--ibetp-green-700);
}
.post-entry-content table {
    width: 100%;
    border-collapse: collapse;
    margin: 30px 0;
    background: #FFFFFF;
    border: 1px solid var(--ibetp-border);
    border-radius: var(--ibetp-radius-md);
    overflow: hidden;
    box-shadow: var(--ibetp-shadow-subtle);
    display: table;
}
.post-entry-content th,
.post-entry-content td {
    padding: 14px 18px;
    border-bottom: 1px solid var(--ibetp-border-subtle);
    font-size: 14px;
    text-align: left;
    line-height: 1.5;
}
.post-entry-content th {
    background: #F8FAFC;
    font-weight: 800;
    color: var(--ibetp-text-900);
    border-bottom: 2px solid var(--ibetp-border);
}
.post-entry-content tr:last-child td {
    border-bottom: none;
}
.post-entry-content tr:hover td {
    background: #FAFCFF;
}
.post-entry-content figure {
    margin: 28px 0;
}
.post-entry-content figcaption {
    font-size: 12.5px;
    color: var(--ibetp-text-400);
    text-align: center;
    margin-top: 8px;
}
.post-entry-content hr {
    border: none;
    border-top: 1px solid var(--ibetp-border);
    margin: 36px 0;
}

/* Author Box */
.post-author-box {
    background: #FFFFFF;
    border: 1px solid var(--ibetp-border);
    border-radius: var(--ibetp-radius-lg);
    padding: 24px 28px;
    display: flex;
    align-items: center;
    gap: 20px;
    margin: 48px 0 36px;
    box-shadow: var(--ibetp-shadow-subtle);
}
.author-box-avatar {
    width: 48px;
    height: 48px;
    border-radius: 50%;
    background: var(--ibetp-green-700);
    color: #FFFFFF;
    font-size: 18px;
    font-weight: 900;
    display: flex;
    align-items: center;
    justify-content: center;
    flex-shrink: 0;
}
.author-box-info h4 {
    font-size: 15px;
    color: var(--ibetp-text-900);
    font-weight: 800;
    margin-bottom: 4px;
}
.author-box-info p {
    font-size: 13px;
    color: var(--ibetp-text-500);
    margin: 0;
    line-height: 1.5;
}

/* Related Articles ("Leia Também no Blog IBETP") */
.related-posts-section {
    margin-top: 60px;
    padding-top: 40px;
    border-top: 1px solid var(--ibetp-border);
}
.related-title h2 {
    font-size: 22px;
    color: var(--ibetp-text-900);
    font-weight: 800;
    margin-bottom: 24px;
}
.related-grid {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 24px;
}
.related-card {
    background: #FFFFFF;
    border: 1px solid var(--ibetp-border);
    border-radius: var(--ibetp-radius-md);
    overflow: hidden;
    box-shadow: var(--ibetp-shadow-subtle);
    display: flex;
    flex-direction: column;
    transition: all 0.25s ease;
}
.related-card:hover {
    transform: translateY(-4px);
    border-color: var(--ibetp-green-600);
    box-shadow: var(--ibetp-shadow-card);
}
.related-card-thumb {
    aspect-ratio: 16 / 9;
    overflow: hidden;
    display: block;
    background: #F1F5F9;
}
.related-card-thumb img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    transition: transform 0.4s ease;
}
.related-card:hover .related-card-thumb img {
    transform: scale(1.05);
}
.related-card-body {
    padding: 20px;
    display: flex;
    flex-direction: column;
    flex: 1;
}
.related-card-body h3 {
    font-size: 15px;
    font-weight: 800;
    color: var(--ibetp-text-900);
    margin-bottom: 12px;
    line-height: 1.4;
    display: -webkit-box;
    -webkit-line-clamp: 2;
    -webkit-box-orient: vertical;
    overflow: hidden;
}
.related-card-body h3 a {
    color: var(--ibetp-text-900);
}
.related-card-body h3 a:hover {
    color: var(--ibetp-green-600);
}
.related-card-link {
    margin-top: auto;
    font-size: 13px;
    font-weight: 700;
    color: var(--ibetp-green-600);
    display: inline-flex;
    align-items: center;
    gap: 4px;
}

/* Blog Index Grid */
.blog-grid {
    display: grid;
    grid-template-columns: repeat(auto-fill, minmax(320px, 1fr));
    gap: 28px;
}
.blog-card {
    background: #FFFFFF;
    border: 1px solid var(--ibetp-border);
    border-radius: var(--ibetp-radius-lg);
    overflow: hidden;
    box-shadow: var(--ibetp-shadow-subtle);
    display: flex;
    flex-direction: column;
    transition: all 0.3s cubic-bezier(0.16, 1, 0.3, 1);
}
.blog-card:hover {
    transform: translateY(-5px);
    border-color: var(--ibetp-green-600);
    box-shadow: var(--ibetp-shadow-hover);
}
.blog-card-thumb {
    position: relative;
    width: 100%;
    aspect-ratio: 16 / 9;
    overflow: hidden;
    display: block;
    background: #F1F5F9;
}
.blog-card-thumb img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    transition: transform 0.4s ease;
}
.blog-card:hover .blog-card-thumb img {
    transform: scale(1.05);
}
.blog-card-badge {
    position: absolute;
    top: 12px;
    left: 12px;
    background: rgba(6, 44, 34, 0.85);
    backdrop-filter: blur(8px);
    color: #FFFFFF;
    font-size: 10.5px;
    font-weight: 700;
    padding: 3px 10px;
    border-radius: var(--ibetp-radius-pill);
    letter-spacing: 0.4px;
    text-transform: uppercase;
}
.blog-card-body {
    padding: 22px;
    display: flex;
    flex-direction: column;
    flex: 1;
}
.blog-card-meta {
    display: flex;
    align-items: center;
    gap: 8px;
    font-size: 11.5px;
    color: var(--ibetp-text-400);
    margin-bottom: 10px;
}
.blog-card-meta svg {
    color: var(--ibetp-green-600);
    vertical-align: middle;
}
.blog-card-title {
    font-size: 16.5px;
    font-weight: 800;
    color: var(--ibetp-text-900);
    margin-bottom: 8px;
    line-height: 1.35;
    display: -webkit-box;
    -webkit-line-clamp: 2;
    -webkit-box-orient: vertical;
    overflow: hidden;
}
.blog-card-title a {
    color: var(--ibetp-text-900);
}
.blog-card:hover .blog-card-title a {
    color: var(--ibetp-green-600);
}
.blog-card-excerpt {
    font-size: 13px;
    color: var(--ibetp-text-500);
    line-height: 1.6;
    margin-bottom: 16px;
    display: -webkit-box;
    -webkit-line-clamp: 3;
    -webkit-box-orient: vertical;
    overflow: hidden;
}
.blog-card-footer {
    margin-top: auto;
    display: flex;
    justify-content: space-between;
    align-items: center;
    padding-top: 14px;
    border-top: 1px solid var(--ibetp-border-subtle);
}
.blog-card-author {
    font-size: 12px;
    color: var(--ibetp-text-400);
    font-weight: 600;
}
.blog-card-link {
    font-size: 12.5px;
    font-weight: 700;
    color: var(--ibetp-green-600);
    display: inline-flex;
    align-items: center;
    gap: 4px;
}

@media (max-width: 992px) {
    .post-layout-grid.has-sidebar { grid-template-columns: 1fr; }
    .post-toc-sidebar { position: static; margin-bottom: 30px; }
    .related-grid { grid-template-columns: 1fr; }
    .post-main-title { font-size: 28px; }
}
/* Post Navigation Between Articles */
.post-navigation-links {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 20px;
    margin: 36px 0 48px;
    padding-top: 28px;
    border-top: 1px solid var(--ibetp-border);
}
.post-nav-card {
    display: flex;
    flex-direction: column;
    padding: 16px 20px;
    background: #FFFFFF;
    border: 1.5px solid var(--ibetp-border);
    border-radius: var(--ibetp-radius-md);
    text-decoration: none;
    transition: all 0.25s ease;
    box-shadow: 0 2px 6px rgba(0,0,0,0.02);
}
.post-nav-card.text-right {
    text-align: right;
    align-items: flex-end;
}
.post-nav-card:hover {
    border-color: var(--ibetp-green-600);
    transform: translateY(-2px);
    box-shadow: var(--ibetp-shadow-card);
}
.post-nav-label {
    font-size: 11.5px;
    font-weight: 800;
    text-transform: uppercase;
    letter-spacing: 0.5px;
    color: var(--ibetp-green-600);
    margin-bottom: 4px;
}
.post-nav-title {
    font-size: 13.5px;
    font-weight: 700;
    color: var(--ibetp-text-900);
    line-height: 1.4;
    display: -webkit-box;
    -webkit-line-clamp: 2;
    -webkit-box-orient: vertical;
    overflow: hidden;
}
.post-nav-card:hover .post-nav-title {
    color: var(--ibetp-green-700);
}

/* Enhanced Content Elements */
.post-entry-content blockquote {
    margin: 28px 0;
    padding: 18px 24px;
    background: #F8FAFC;
    border-left: 4px solid var(--ibetp-green-600);
    border-radius: 0 var(--ibetp-radius-sm) var(--ibetp-radius-sm) 0;
    font-style: italic;
    color: var(--ibetp-text-700);
}
.post-entry-content img {
    max-width: 100%;
    height: auto;
    border-radius: var(--ibetp-radius-md);
    margin: 20px 0;
}
.post-entry-content .wp-block-button__link,
.post-entry-content a.btn,
.post-entry-content a.button {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    background: var(--ibetp-green-600);
    color: #FFFFFF !important;
    font-weight: 700;
    font-size: 14px;
    padding: 12px 24px;
    border-radius: var(--ibetp-radius-pill);
    text-decoration: none !important;
    transition: all 0.2s ease;
    margin: 14px 0;
}
.post-entry-content .wp-block-button__link:hover,
.post-entry-content a.btn:hover,
.post-entry-content a.button:hover {
    background: var(--ibetp-green-700);
    transform: translateY(-2px);
    box-shadow: 0 4px 12px rgba(15, 118, 84, 0.25);
}

@media (max-width: 768px) {
    .post-navigation-links { grid-template-columns: 1fr; }
    .post-nav-card.text-right { text-align: left; align-items: flex-start; }
    .post-entry-content table {
        display: block;
        width: 100%;
        overflow-x: auto;
        -webkit-overflow-scrolling: touch;
    }
    .post-entry-content th,
    .post-entry-content td {
        padding: 10px 12px;
        font-size: 13px;
        white-space: nowrap;
    }
    .post-author-box {
        flex-direction: column;
        text-align: center;
        padding: 20px;
    }
}

/* ==========================================================================
   SITE FOOTER STYLES
   ========================================================================== */
.site-footer {
    background: #072C22;
    color: #CBD5E1;
    padding: 64px 0 28px;
    position: relative;
    border-top: 1px solid rgba(255, 255, 255, 0.08);
}
.footer-grid {
    display: grid;
    grid-template-columns: 1.5fr 1fr 1fr 1.2fr;
    gap: 40px;
    margin-bottom: 48px;
}
.footer-col h4 {
    color: #FFFFFF;
    font-size: 15.5px;
    font-weight: 800;
    margin-bottom: 18px;
    letter-spacing: 0.3px;
    position: relative;
    padding-bottom: 8px;
}
.footer-col h4::after {
    content: '';
    position: absolute;
    bottom: 0;
    left: 0;
    width: 24px;
    height: 2px;
    background: #A3E635;
    border-radius: 2px;
}
.footer-col ul {
    list-style: none;
    padding: 0;
    margin: 0;
    display: flex;
    flex-direction: column;
    gap: 6px;
}
.footer-col ul li {
    margin: 0;
    line-height: 1.35;
}
.footer-col ul a {
    color: #94A3B8;
    font-size: 13.5px;
    font-weight: 500;
    transition: all 0.2s ease;
    text-decoration: none;
    display: inline-block;
    padding: 1px 0;
}
.footer-col ul a:hover {
    color: #A3E635;
    transform: translateX(3px);
}
.footer-col p {
    font-size: 13.5px;
    color: #94A3B8;
    line-height: 1.55;
    margin: 0 0 10px;
}
.footer-bottom {
    padding-top: 24px;
    border-top: 1px solid rgba(255, 255, 255, 0.08);
    text-align: center;
    font-size: 13px;
    color: #64748B;
}
.footer-social-links {
    display: flex;
    align-items: center;
    gap: 8px;
    margin-top: 14px;
}
.footer-social-icon {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 36px;
    height: 36px;
    border-radius: 50%;
    background: rgba(255, 255, 255, 0.08);
    border: 1px solid rgba(255, 255, 255, 0.12);
    color: #CBD5E1;
    transition: all 0.25s cubic-bezier(0.16, 1, 0.3, 1);
    text-decoration: none;
}
.footer-social-icon:hover {
    color: #FFFFFF;
    background: #0F7654;
    border-color: #A3E635;
    transform: translateY(-2px);
    box-shadow: 0 4px 12px rgba(15, 118, 84, 0.35);
}
.footer-social-icon.social-ig:hover { background: #E1306C; border-color: #E1306C; }
.footer-social-icon.social-fb:hover { background: #1877F2; border-color: #1877F2; }
.footer-social-icon.social-yt:hover { background: #FF0000; border-color: #FF0000; }
.footer-social-icon.social-li:hover { background: #0A66C2; border-color: #0A66C2; }

/* ==========================================================================
   BLOG GRID & ARCHIVES
   ========================================================================== */
.blog-grid {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 28px;
    margin-bottom: 40px;
}

/* ==========================================================================
   SINGLE ARTICLE EDITORIAL LAYOUT (3-COLUMN CLEAN DESIGN)
   ========================================================================== */
.single-article-page {
    background: #FFFFFF;
}

/* Article Hero (Dark Top Header) */
.article-hero {
    background: #102C42;
    padding: 42px 0 46px;
    color: #FFFFFF;
}
.article-breadcrumb {
    font-size: 13px;
    color: rgba(255, 255, 255, 0.65);
    margin-bottom: 16px;
    line-height: 1.4;
}
.article-breadcrumb a {
    color: rgba(255, 255, 255, 0.85);
    text-decoration: none;
    transition: color 0.2s ease;
}
.article-breadcrumb a:hover {
    color: #A3E635;
    text-decoration: underline;
}
.article-breadcrumb span {
    color: rgba(255, 255, 255, 0.95);
}
.article-title {
    font-size: 38px;
    line-height: 1.18;
    font-weight: 800;
    color: #FFFFFF;
    margin: 0 0 16px;
    max-width: 940px;
    letter-spacing: -0.5px;
}
.article-summary {
    font-size: 16.5px;
    line-height: 1.6;
    color: rgba(255, 255, 255, 0.85);
    margin: 0 0 20px;
    max-width: 880px;
}
.article-meta {
    display: flex;
    align-items: center;
    gap: 8px;
    font-size: 13.5px;
    color: rgba(255, 255, 255, 0.75);
    flex-wrap: wrap;
}
.meta-cat a {
    color: #A3E635;
    font-weight: 700;
    text-decoration: none;
}
.meta-cat a:hover {
    text-decoration: underline;
}
.meta-sep {
    color: rgba(255, 255, 255, 0.35);
}
.meta-author, .meta-date, .meta-reading {
    color: rgba(255, 255, 255, 0.85);
}

/* 3-Column Layout Grid */
.article-layout {
    padding: 44px 0 64px;
    width: 100%;
}
.article-layout.layout-3col {
    display: grid;
    grid-template-columns: 200px minmax(0, 1fr) 250px;
    gap: 48px;
    align-items: flex-start;
}
.article-layout.layout-left-sidebar {
    display: grid;
    grid-template-columns: 210px minmax(0, 1fr);
    gap: 48px;
    align-items: flex-start;
}
.article-layout.layout-right-sidebar {
    display: grid;
    grid-template-columns: minmax(0, 1fr) 260px;
    gap: 48px;
    align-items: flex-start;
}
.article-layout.layout-full-width {
    display: block;
    max-width: 820px;
}
.article-layout.layout-full-width.align-center {
    margin-left: auto;
    margin-right: auto;
}
.article-layout.layout-full-width.align-left {
    margin-left: 0;
    margin-right: auto;
}
.article-layout.layout-full-width.align-right {
    margin-left: auto;
    margin-right: 0;
}

/* Left Rail (TOC & Smooth Social Share) */
.article-left-rail {
    position: -webkit-sticky;
    position: sticky;
    top: 90px;
    display: flex;
    flex-direction: column;
    gap: 28px;
    z-index: 10;
    max-height: calc(100vh - 110px);
    overflow-y: auto;
    scrollbar-width: none;
}
.article-left-rail::-webkit-scrollbar {
    display: none;
}

/* TOC Rail & Collapsible Accordion */
.toc-accordion-btn {
    display: flex;
    align-items: center;
    justify-content: space-between;
    width: 100%;
    background: transparent;
    border: none;
    padding: 0;
    margin-bottom: 12px;
    cursor: default;
    pointer-events: none;
    text-align: left;
}
.toc-rail-title {
    display: inline-flex;
    align-items: center;
    font-size: 11.5px;
    font-weight: 800;
    text-transform: uppercase;
    letter-spacing: 0.8px;
    color: #102C42;
}
.toc-count-pill {
    display: none;
}
.toc-chevron-icon {
    display: none;
}
.toc-rail-list {
    list-style: none;
    padding: 0;
    margin: 0;
    display: flex;
    flex-direction: column;
    gap: 10px;
    border-left: 2px solid #E2E8F0;
    padding-left: 12px;
}
.toc-rail-item {
    position: relative;
}
.toc-rail-link {
    display: flex;
    gap: 8px;
    text-decoration: none;
    color: #64748B;
    font-size: 13px;
    line-height: 1.4;
    transition: all 0.2s ease;
}
.toc-rail-num {
    font-weight: 800;
    font-size: 12px;
    color: #94A3B8;
    flex-shrink: 0;
}
.toc-rail-text {
    flex: 1;
}
.toc-rail-link:hover, .toc-rail-link.active {
    color: #0F7654;
    font-weight: 700;
}
.toc-rail-link.active .toc-rail-num {
    color: #0F7654;
    font-weight: 900;
}
.toc-rail-item.toc-level-3 {
    margin-left: 8px;
    font-size: 12px;
}

/* Smooth Soft Share Buttons */
.share-rail-title {
    display: block;
    font-size: 11px;
    font-weight: 800;
    text-transform: uppercase;
    letter-spacing: 0.8px;
    color: #102C42;
    margin-bottom: 10px;
}
.share-rail-icons {
    display: flex;
    align-items: center;
    gap: 6px;
    flex-wrap: wrap;
}
.share-soft-btn {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 34px;
    height: 34px;
    border-radius: 50%;
    background: #F8FAFC;
    border: 1px solid #E2E8F0;
    color: #475569;
    font-size: 12px;
    font-weight: 800;
    text-decoration: none;
    cursor: pointer;
    transition: all 0.2s ease;
}
.share-soft-btn:hover {
    background: #0F7654;
    border-color: #0F7654;
    color: #FFFFFF;
    transform: translateY(-2px);
    box-shadow: 0 4px 10px rgba(15, 118, 84, 0.2);
}

/* Article Central Content */
.article {
    min-width: 0;
}
.article-cover {
    margin: 0 0 28px;
    border-radius: 10px;
    overflow: hidden;
    background: #F1F5F9;
}
.article-cover img {
    width: 100%;
    height: auto;
    max-height: 440px;
    object-fit: cover;
    display: block;
}
.article-cover figcaption {
    font-size: 12px;
    color: #94A3B8;
    margin-top: 8px;
    font-style: italic;
    text-align: left;
}

.article-content {
    font-size: 16.5px;
    line-height: 1.85;
    color: #1F2933;
}
.article-content.has-dropcap > p:first-of-type::first-letter {
    font-size: 3.8rem;
    float: left;
    line-height: 0.82;
    margin-right: 12px;
    margin-top: 4px;
    font-family: "Georgia", "Times New Roman", serif;
    font-weight: 700;
    color: #102C42;
}
.article-content h2 {
    font-size: 26px;
    font-weight: 800;
    color: #102C42;
    margin: 40px 0 16px;
    padding-top: 8px;
    letter-spacing: -0.3px;
}
.article-content h3 {
    font-size: 20px;
    font-weight: 700;
    color: #102C42;
    margin: 28px 0 12px;
}
.article-content p {
    margin-bottom: 20px;
}
.article-content ul, .article-content ol {
    margin-bottom: 22px;
    padding-left: 24px;
}
.article-content li {
    margin-bottom: 8px;
}
.article-content a {
    color: #0F7654;
    text-decoration: underline;
    font-weight: 600;
}
.article-content a:hover {
    color: #062C22;
}

/* Callout Info / Warning Boxes */
.article-content aside.info-box,
.article-content .info-box {
    margin: 24px 0;
    padding: 16px 20px;
    background: #F0FDF4;
    border-left: 4px solid #10B981;
    border-radius: 4px;
    font-size: 14.5px;
    line-height: 1.6;
    color: #064E3B;
}
.article-content aside.warning-box,
.article-content .warning-box {
    margin: 24px 0;
    padding: 16px 20px;
    background: #FFFBEB;
    border-left: 4px solid #F59E0B;
    border-radius: 4px;
    font-size: 14.5px;
    line-height: 1.6;
    color: #78350F;
}

/* Author Inline Card */
.author-inline-card {
    margin-top: 44px;
    padding: 18px 22px;
    background: #F8FAFC;
    border-left: 4px solid #0F7654;
    border-radius: 6px;
    font-size: 13.5px;
    color: #475569;
    line-height: 1.6;
}
.author-inline-card strong {
    color: #102C42;
}
.author-inline-card a {
    color: #0F7654;
    font-weight: 700;
    text-decoration: none;
    margin-left: 6px;
}
.author-inline-card a:hover {
    text-decoration: underline;
}

/* Right Sidebar (Complementary Content & Dynamic Widgets) */
.article-sidebar {
    position: -webkit-sticky;
    position: sticky;
    top: 90px;
    display: flex;
    flex-direction: column;
    gap: 22px;
    max-height: calc(100vh - 110px);
    overflow-y: auto;
    scrollbar-width: none;
}
.article-sidebar::-webkit-scrollbar {
    display: none;
}
.widget-box {
    background: #FFFFFF;
    border: 1px solid #E2E8F0;
    border-radius: 10px;
    padding: 18px 20px;
    box-shadow: 0 2px 6px rgba(0, 0, 0, 0.02);
}
.widget-heading {
    font-size: 14px;
    font-weight: 800;
    color: #102C42;
    margin: 0 0 12px;
    padding-bottom: 6px;
    border-bottom: 1.5px solid #F1F5F9;
}
.widget-text {
    font-size: 13px;
    color: #64748B;
    line-height: 1.55;
    margin: 0;
}
.widget-links-list {
    list-style: none;
    padding: 0;
    margin: 0;
    display: flex;
    flex-direction: column;
    gap: 10px;
}
.widget-links-list a {
    color: #334D66;
    font-size: 13px;
    line-height: 1.45;
    text-decoration: none;
    transition: color 0.2s ease;
    display: block;
}
.widget-links-list a:hover {
    color: #0F7654;
    text-decoration: underline;
}

/* Author Sidebar Widget */
.widget-author-sidebar .author-sidebar-header {
    display: flex;
    align-items: center;
    gap: 12px;
}
.author-sidebar-img {
    width: 44px;
    height: 44px;
    border-radius: 50%;
    object-fit: cover;
    flex-shrink: 0;
}
.author-sidebar-initial {
    width: 44px;
    height: 44px;
    border-radius: 50%;
    background: linear-gradient(135deg, #0F7654, #102C42);
    color: #FFFFFF;
    font-weight: 800;
    font-size: 18px;
    display: flex;
    align-items: center;
    justify-content: center;
    flex-shrink: 0;
}
.author-sidebar-name {
    font-size: 14.5px;
    font-weight: 800;
    color: #102C42;
    margin: 0 0 2px;
}
.author-sidebar-role {
    font-size: 11.5px;
    color: #0F7654;
    font-weight: 700;
    display: block;
}
.author-sidebar-cta {
    display: inline-flex;
    align-items: center;
    gap: 4px;
    font-size: 12.5px;
    font-weight: 700;
    color: #0F7654;
    text-decoration: none;
    transition: transform 0.2s ease;
}
.author-sidebar-cta:hover {
    transform: translateX(3px);
    text-decoration: underline;
}

/* Lead Capture / Newsletter Sidebar Widget */
.widget-lead-box {
    background: linear-gradient(145deg, #062A20 0%, #0D4E38 100%) !important;
    color: #FFFFFF !important;
    border: 1px solid #16A34A !important;
    border-radius: 14px !important;
    padding: 22px 18px !important;
    box-shadow: 0 10px 25px -5px rgba(6, 42, 32, 0.35) !important;
    position: relative !important;
    overflow: visible !important;
    margin-bottom: 0 !important;
    display: block !important;
}
.widget-lead-tag {
    display: inline-flex !important;
    align-items: center !important;
    gap: 6px !important;
    font-size: 11px !important;
    font-weight: 800 !important;
    text-transform: uppercase !important;
    letter-spacing: 0.6px !important;
    color: #A3E635 !important;
    background: rgba(163, 230, 53, 0.14) !important;
    border: 1px solid rgba(163, 230, 53, 0.35) !important;
    padding: 4px 10px !important;
    border-radius: 9999px !important;
    margin-bottom: 12px !important;
}
.widget-lead-title {
    color: #FFFFFF !important;
    font-size: 16px !important;
    font-weight: 800 !important;
    line-height: 1.3 !important;
    margin: 0 0 6px !important;
    padding: 0 !important;
    border: none !important;
}
.widget-lead-sub {
    color: #E2E8F0 !important;
    font-size: 12.5px !important;
    line-height: 1.45 !important;
    margin: 0 0 14px !important;
    display: block !important;
}
.widget-lead-form {
    display: flex !important;
    flex-direction: column !important;
    gap: 10px !important;
    margin: 0 !important;
    padding: 0 !important;
}
.widget-lead-input-wrap {
    position: relative !important;
    display: flex !important;
    align-items: center !important;
    width: 100% !important;
}
.widget-lead-input-icon {
    position: absolute !important;
    left: 11px !important;
    color: #64748B !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    pointer-events: none !important;
    z-index: 2 !important;
}
.widget-lead-input {
    width: 100% !important;
    height: 40px !important;
    padding: 8px 12px 8px 36px !important;
    font-size: 13px !important;
    border-radius: 7px !important;
    border: 1px solid rgba(255, 255, 255, 0.25) !important;
    background: #FFFFFF !important;
    color: #0F172A !important;
    outline: none !important;
    transition: all 0.2s ease !important;
    box-sizing: border-box !important;
    display: block !important;
}
.widget-lead-input:focus {
    border-color: #A3E635 !important;
    box-shadow: 0 0 0 3px rgba(163, 230, 53, 0.35) !important;
}
.widget-lead-btn {
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    gap: 6px !important;
    width: 100% !important;
    padding: 12px 14px !important;
    font-size: 13.5px !important;
    font-weight: 800 !important;
    color: #062A20 !important;
    background: #A3E635 !important;
    border: none !important;
    border-radius: 7px !important;
    cursor: pointer !important;
    transition: all 0.2s ease !important;
    margin-top: 4px !important;
    box-shadow: 0 4px 14px rgba(163, 230, 53, 0.3) !important;
}
.widget-lead-btn:hover {
    background: #BEF264 !important;
    transform: translateY(-2px) !important;
    box-shadow: 0 6px 18px rgba(163, 230, 53, 0.45) !important;
}
.widget-lead-btn:disabled {
    opacity: 0.7 !important;
    cursor: not-allowed !important;
    transform: none !important;
}
.widget-lead-success {
    display: none;
    background: rgba(255, 255, 255, 0.12) !important;
    border: 1px solid rgba(163, 230, 53, 0.4) !important;
    border-radius: 8px !important;
    padding: 16px 14px !important;
    text-align: center !important;
    color: #FFFFFF !important;
    margin-top: 6px !important;
}
.widget-lead-success-icon {
    width: 34px !important;
    height: 34px !important;
    border-radius: 50% !important;
    background: #A3E635 !important;
    color: #062A20 !important;
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    margin-bottom: 8px !important;
}
.widget-lead-success b {
    display: block !important;
    color: #A3E635 !important;
    font-size: 14.5px !important;
    margin-bottom: 4px !important;
}
.widget-lead-success p {
    margin: 0 !important;
    font-size: 12.5px !important;
    color: #E2E8F0 !important;
    line-height: 1.4 !important;
}

/* Ad Box Widget */
.widget-ad-box {
    background: #F8FAFC;
    border-color: #CBD5E1;
}
.ad-banner-container img {
    display: block;
    max-width: 100%;
    height: auto;
    border-radius: 6px;
}

/* Related Articles Clean Section */
.related-section {
    background: #FAFBFC;
    padding: 50px 0 70px;
    border-top: 1px solid #E2E8F0;
}
.related-section .eyebrow {
    font-size: 12px;
    font-weight: 800;
    text-transform: uppercase;
    letter-spacing: 0.8px;
    color: #0F7654;
    margin-bottom: 6px;
}
.related-section h2 {
    font-size: 24px;
    font-weight: 800;
    color: #102C42;
    margin: 0 0 24px;
}
.related-section .related-grid {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 24px;
}
.related-card-clean {
    background: #FFFFFF;
    border: 1px solid #E2E8F0;
    border-radius: 10px;
    overflow: hidden;
    display: flex;
    flex-direction: column;
    transition: transform 0.2s ease, box-shadow 0.2s ease;
}
.related-card-clean:hover {
    transform: translateY(-4px);
    box-shadow: 0 10px 25px rgba(0, 0, 0, 0.06);
}
.related-card-clean .card-media {
    height: 170px;
    overflow: hidden;
    display: block;
}
.related-card-clean .card-media img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    transition: transform 0.3s ease;
}
.related-card-clean:hover .card-media img {
    transform: scale(1.05);
}
.related-card-clean .card-body {
    padding: 18px;
    flex: 1;
    display: flex;
    flex-direction: column;
}
.related-card-clean .card-category {
    font-size: 11.5px;
    font-weight: 800;
    text-transform: uppercase;
    color: #0F7654;
    margin-bottom: 6px;
}
.related-card-clean h3 {
    font-size: 15px;
    line-height: 1.35;
    font-weight: 700;
    margin: 0 0 8px;
    display: -webkit-box;
    -webkit-line-clamp: 2;
    -webkit-box-orient: vertical;
    overflow: hidden;
    min-height: 40px;
}
.related-card-clean h3 a {
    color: #102C42;
    text-decoration: none;
    transition: color 0.2s ease;
}
.related-card-clean h3 a:hover {
    color: #0F7654;
}
.related-card-clean p {
    font-size: 13px;
    color: #64748B;
    line-height: 1.55;
    margin: 0;
    display: -webkit-box;
    -webkit-line-clamp: 3;
    -webkit-box-orient: vertical;
    overflow: hidden;
}

/* Copy Toast */
.copy-toast {
    position: fixed;
    bottom: 30px;
    left: 50%;
    transform: translateX(-50%);
    background: #102C42;
    color: #FFFFFF;
    padding: 10px 22px;
    border-radius: 8px;
    font-size: 13px;
    font-weight: 700;
    box-shadow: 0 10px 25px rgba(0,0,0,0.25);
    z-index: 9999;
}

/* Responsiveness for Editorial Layout & Mobile Accordion */
@media (max-width: 1024px) {
    .article-layout.layout-3col {
        grid-template-columns: 190px minmax(0, 1fr);
    }
    .article-sidebar {
        grid-column: 1 / -1;
        width: 100%;
        display: flex;
        flex-direction: column;
        gap: 20px;
        position: static;
        max-height: none;
        overflow: visible;
        margin-top: 24px;
    }
    .article-sidebar .is-hidden-mobile {
        display: none !important;
    }
    .article-sidebar .is-visible-mobile {
        display: block !important;
    }
    .related-section .related-grid {
        grid-template-columns: repeat(2, 1fr);
    }
}
@media (max-width: 768px) {
    /* Hero Compact on Mobile */
    .article-hero {
        padding: 26px 0 28px !important;
        text-align: left;
    }
    .article-breadcrumb {
        font-size: 12px;
        line-height: 1.35;
        margin-bottom: 10px;
    }
    .article-title {
        font-size: 24px !important;
        line-height: 1.25 !important;
        letter-spacing: -0.3px;
        margin: 0 0 12px !important;
    }
    .article-summary {
        font-size: 14.5px !important;
        line-height: 1.5 !important;
        margin: 0 0 14px !important;
    }
    .article-meta {
        font-size: 12px !important;
        gap: 5px !important;
        line-height: 1.35;
    }

    /* Grid Collapse */
    .article-layout.layout-3col,
    .article-layout.layout-left-sidebar,
    .article-layout.layout-right-sidebar {
        grid-template-columns: 1fr;
        gap: 24px;
        padding: 24px 0 48px;
    }
    .article-left-rail,
    .article-sidebar {
        position: static;
        max-height: none;
        overflow: visible;
        width: 100%;
    }
    .article-sidebar {
        display: flex;
        flex-direction: column;
        gap: 20px;
        margin-top: 20px;
    }
    .article-sidebar .is-hidden-mobile {
        display: none !important;
    }
    .article-sidebar .is-visible-mobile {
        display: block !important;
    }

    /* TOC Retrátil / Collapsible Accordion no Mobile */
    .article-toc {
        background: #F8FAFC;
        border: 1px solid #E2E8F0;
        border-radius: 10px;
        padding: 12px 14px;
        box-shadow: 0 2px 8px rgba(0,0,0,0.02);
    }
    .toc-accordion-btn {
        cursor: pointer;
        pointer-events: auto;
        padding: 4px 0;
        margin-bottom: 0;
    }
    .toc-rail-title {
        font-size: 13px;
        font-weight: 800;
        color: #102C42;
    }
    .toc-count-pill {
        display: inline-block;
        background: #E2E8F0;
        color: #475569;
        font-size: 11px;
        font-weight: 700;
        padding: 2px 8px;
        border-radius: 999px;
        margin-left: auto;
        margin-right: 8px;
    }
    .toc-chevron-icon {
        display: inline-flex;
        align-items: center;
        color: #64748B;
        transition: transform 0.25s ease;
    }
    .toc-accordion-btn.is-active .toc-chevron-icon {
        transform: rotate(180deg);
        color: #0F7654;
    }
    .toc-accordion-btn.is-active .toc-count-pill {
        background: #D1FAE5;
        color: #065F46;
    }
    .toc-rail-list {
        margin-top: 12px;
        padding-top: 12px;
        border-top: 1px solid #E2E8F0;
        border-left: none;
        padding-left: 0;
    }

    /* Typography inside content on mobile */
    .article-content {
        font-size: 15.5px;
        line-height: 1.75;
    }
    .article-content h2 {
        font-size: 20px;
        line-height: 1.3;
        margin: 28px 0 10px;
    }
    .article-content h3 {
        font-size: 17px;
        line-height: 1.35;
        margin: 20px 0 8px;
    }
    .article-content p {
        margin-bottom: 16px;
    }

    .related-section .related-grid {
        grid-template-columns: 1fr;
    }
}

/* ==========================================================================
   INSTITUTIONAL PAGES (QUEM SOMOS & CONTATO)
   ========================================================================== */
.inst-hero {
    padding: 40px 0 50px;
    border-bottom: 1px solid var(--ibetp-border);
}
.inst-hero-grid {
    display: grid;
    grid-template-columns: 1.2fr 0.8fr;
    gap: 40px;
    align-items: center;
}
.inst-tag {
    display: inline-block;
    color: var(--ibetp-green-600);
    font-size: 11.5px;
    font-weight: 800;
    text-transform: uppercase;
    letter-spacing: 1px;
    margin-bottom: 10px;
}
.inst-hero h1 {
    font-size: 38px;
    line-height: 1.18;
    color: var(--ibetp-text-900);
    margin-bottom: 16px;
    font-weight: 900;
}
.inst-lead {
    font-size: 15.5px;
    color: var(--ibetp-text-700);
    line-height: 1.7;
    margin-bottom: 24px;
}
.inst-hero-actions {
    display: flex;
    gap: 14px;
    flex-wrap: wrap;
}
.inst-hero-badge-box {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 16px;
    background: #FFFFFF;
    border: 1px solid var(--ibetp-border);
    border-radius: var(--ibetp-radius-xl);
    padding: 24px;
    box-shadow: var(--ibetp-shadow-card);
}
.inst-stat-item {
    padding: 16px;
    background: var(--ibetp-bg);
    border-radius: var(--ibetp-radius-md);
    text-align: center;
}
.inst-stat-item b {
    display: block;
    font-size: 26px;
    font-family: var(--ibetp-font-heading);
    font-weight: 900;
    color: var(--ibetp-green-700);
    line-height: 1.1;
    margin-bottom: 4px;
}
.inst-stat-item span {
    font-size: 11.5px;
    color: var(--ibetp-text-500);
    font-weight: 600;
    line-height: 1.3;
}

/* Pillars Grid */
.inst-pillars-grid {
    display: grid;
    grid-template-columns: repeat(4, 1fr);
    gap: 20px;
}
.inst-pillar-card {
    background: #FFFFFF;
    border: 1px solid var(--ibetp-border);
    border-radius: var(--ibetp-radius-lg);
    padding: 24px 20px;
    box-shadow: var(--ibetp-shadow-subtle);
    display: flex;
    flex-direction: column;
}
.pillar-icon {
    width: 48px;
    height: 48px;
    border-radius: 12px;
    background: var(--ibetp-green-50);
    color: var(--ibetp-green-700);
    display: flex;
    align-items: center;
    justify-content: center;
    margin-bottom: 16px;
    transition: all 0.25s ease;
    border: 1px solid #DCFCE7;
}
.inst-pillar-card:hover .pillar-icon {
    background: #DCFCE7;
    color: #15803D;
    transform: scale(1.06);
    box-shadow: 0 4px 12px rgba(15, 118, 84, 0.15);
}
.inst-pillar-card h3 {
    font-size: 16px;
    font-weight: 800;
    color: var(--ibetp-text-900);
    margin-bottom: 8px;
    line-height: 1.3;
}
.inst-pillar-card p {
    font-size: 13px;
    color: var(--ibetp-text-500);
    line-height: 1.55;
    margin: 0;
}

/* Sectors Grid */
.inst-sectors-grid {
    display: grid;
    grid-template-columns: repeat(4, 1fr);
    gap: 20px;
}
.inst-sector-card {
    background: #FFFFFF;
    border: 1px solid var(--ibetp-border);
    border-radius: var(--ibetp-radius-lg);
    padding: 24px 20px;
    box-shadow: var(--ibetp-shadow-subtle);
    transition: all 0.25s ease;
}
.inst-sector-card:hover {
    transform: translateY(-4px);
    border-color: var(--ibetp-green-500);
    box-shadow: var(--ibetp-shadow-card);
}
.sector-badge {
    font-size: 11.5px;
    font-weight: 800;
    color: var(--ibetp-green-800);
    background: var(--ibetp-green-50);
    border: 1px solid #DCFCE7;
    padding: 5px 12px;
    border-radius: var(--ibetp-radius-pill);
    display: inline-flex;
    align-items: center;
    gap: 6px;
    margin-bottom: 14px;
}
.sector-badge svg {
    color: var(--ibetp-green-600);
    flex-shrink: 0;
}
.inst-sector-card h3 {
    font-size: 16px;
    font-weight: 800;
    color: var(--ibetp-text-900);
    margin-bottom: 8px;
    line-height: 1.3;
}
.inst-sector-card p {
    font-size: 13px;
    color: var(--ibetp-text-500);
    line-height: 1.55;
    margin: 0;
}

/* Recognition Grid */
.inst-recognition-grid {
    display: grid;
    grid-template-columns: 1.2fr 0.8fr;
    gap: 40px;
    align-items: center;
}
.inst-compliance-box {
    display: flex;
    flex-direction: column;
    gap: 14px;
}
.compliance-item {
    background: rgba(255, 255, 255, 0.08);
    border: 1px solid rgba(255, 255, 255, 0.15);
    border-radius: var(--ibetp-radius-md);
    padding: 16px 20px;
}
.compliance-item h4 {
    color: #A3E635;
    font-size: 14px;
    font-weight: 800;
    margin-bottom: 4px;
}
.compliance-item p {
    color: #E2E8F0;
    font-size: 12.5px;
    line-height: 1.45;
    margin: 0;
}

/* Contact Page */
.contact-hero {
    padding: 40px 0 50px;
}
.contact-cards-grid {
    display: grid;
    grid-template-columns: repeat(4, 1fr);
    gap: 20px;
    margin-top: 32px;
}
.contact-card {
    background: #FFFFFF;
    border: 1px solid var(--ibetp-border);
    border-radius: var(--ibetp-radius-lg);
    padding: 24px 20px;
    box-shadow: var(--ibetp-shadow-subtle);
    display: flex;
    flex-direction: column;
    transition: all 0.25s ease;
}
.contact-card:hover {
    transform: translateY(-4px);
    border-color: var(--ibetp-green-600);
    box-shadow: var(--ibetp-shadow-card);
}
.contact-card.highlight-card {
    border-color: var(--ibetp-green-500);
    background: linear-gradient(180deg, #FFFFFF 0%, #F0FDF4 100%);
}
.contact-card-icon {
    width: 48px;
    height: 48px;
    border-radius: 12px;
    background: #F1F5F9;
    color: var(--ibetp-green-700);
    display: inline-flex;
    align-items: center;
    justify-content: center;
    margin-bottom: 16px;
    transition: all 0.25s ease;
    border: 1px solid #E2E8F0;
}
.contact-card.highlight-card .contact-card-icon {
    background: #DCFCE7;
    color: #15803D;
    border-color: #BBF7D0;
}
.contact-card:hover .contact-card-icon {
    transform: scale(1.06);
    box-shadow: 0 4px 12px rgba(15, 118, 84, 0.15);
}
.contact-icon-wa {
    color: #15803D;
}
.contact-icon-phone {
    color: #0369A1;
    background: #F0F9FF;
    border-color: #E0F2FE;
}
.contact-icon-mail {
    color: #4338CA;
    background: #EEF2FF;
    border-color: #E0E7FF;
}
.contact-icon-secretaria {
    color: #0F7654;
    background: #F0FDF4;
    border-color: #DCFCE7;
}
.contact-card h3 {
    font-size: 16px;
    font-weight: 800;
    color: var(--ibetp-text-900);
    margin-bottom: 6px;
}
.contact-card-val {
    font-size: 15px;
    font-weight: 800;
    color: var(--ibetp-green-700);
    margin-bottom: 8px;
    line-height: 1.2;
}
.contact-card-sub {
    font-size: 12.5px;
    color: var(--ibetp-text-500);
    line-height: 1.5;
    margin-bottom: 16px;
    flex: 1;
}

/* Contact Split & Form */
.contact-split-grid {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 48px;
    align-items: flex-start;
}
.contact-features-list {
    display: flex;
    flex-direction: column;
    gap: 14px;
}
.contact-feat-item b {
    display: flex;
    align-items: center;
    gap: 8px;
    font-size: 14px;
    color: var(--ibetp-text-900);
    margin-bottom: 2px;
}
.feat-icon-svg {
    width: 26px;
    height: 26px;
    border-radius: 6px;
    background: var(--ibetp-green-50);
    color: var(--ibetp-green-700);
    display: inline-flex;
    align-items: center;
    justify-content: center;
    flex-shrink: 0;
}
.contact-feat-item span {
    font-size: 13px;
    color: var(--ibetp-text-500);
    line-height: 1.45;
    padding-left: 34px;
    display: block;
}
.contact-box-form {
    background: #FFFFFF;
    border: 1px solid var(--ibetp-border);
    border-radius: var(--ibetp-radius-xl);
    padding: 32px 28px;
    box-shadow: var(--ibetp-shadow-card);
}
.form-field-group {
    display: flex;
    flex-direction: column;
    gap: 6px;
    margin-bottom: 16px;
}
.form-field-group label {
    font-size: 12.5px;
    font-weight: 700;
    color: var(--ibetp-text-700);
}
.form-field-group input,
.form-field-group select,
.form-field-group textarea {
    width: 100%;
    padding: 11px 14px;
    border: 1.5px solid #E2E8F0;
    border-radius: var(--ibetp-radius-md);
    font-size: 14px;
    font-family: inherit;
    color: var(--ibetp-text-900);
    outline: none;
    transition: border-color 0.2s ease;
    box-sizing: border-box;
}
.form-field-group input:focus,
.form-field-group select:focus,
.form-field-group textarea:focus {
    border-color: var(--ibetp-green-600);
}
.form-row-2 {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 12px;
}

/* ==========================================================================
   GLOBAL RESPONSIVENESS (MOBILE & TABLET ADAPTATION)
   ========================================================================== */
@media (max-width: 992px) {
    /* Site Header */
    .nav-wrap {
        height: 70px;
    }
    .brand img {
        height: 36px;
    }

    /* Home Hero */
    .hero-deluxe-grid {
        grid-template-columns: 1fr;
        gap: 32px;
    }
    .hero-deluxe-content h1 {
        font-size: 32px;
        line-height: 1.2;
    }
    .hero-visual-frame img {
        height: 300px;
    }

    /* Home Stats Bar */
    .stats-deluxe-grid {
        grid-template-columns: repeat(2, 1fr);
        gap: 14px;
    }
    .stats-deluxe-item {
        border-right: none;
        border: 1px solid var(--ibetp-border);
        border-radius: var(--ibetp-radius-md);
        padding: 16px 12px;
        background: #FFFFFF;
    }
    .stats-deluxe-item b {
        font-size: 24px;
    }

    /* Home Reviews */
    .social-proof-split {
        grid-template-columns: 1fr;
        gap: 30px;
        text-align: center;
    }
    .social-stat-col {
        display: flex;
        flex-direction: column;
        align-items: center;
        text-align: center;
        margin: 0 auto;
        max-width: 520px;
    }
    .social-rating-box {
        justify-content: center;
    }
    .social-stat-actions {
        align-items: center;
    }
    .btn-review-google {
        margin: 0 auto;
    }
    .btn-link-arrow {
        justify-content: center;
    }
    .reviews-carousel-arrows {
        justify-content: center;
    }

    /* Single Course Hero */
    .course-hero-dark {
        padding: 40px 0 50px;
    }
    .course-hero-grid {
        grid-template-columns: 1fr;
        gap: 36px;
    }
    .course-hero-content h1 {
        font-size: 32px;
        line-height: 1.2;
    }
    .course-hero-content .course-hero-lead {
        font-size: 15px;
        margin-bottom: 20px;
    }
    .course-hero-card {
        max-width: 520px;
        margin: 0 auto;
        width: 100%;
        padding: 24px 20px;
    }

    /* Course Sections */
    .quick-summary-grid {
        grid-template-columns: 1fr;
        gap: 12px;
    }
    .quick-summary-bar {
        margin-top: 20px;
        margin-bottom: 36px;
    }
    .clarity-block-grid {
        grid-template-columns: 1fr;
        gap: 28px;
    }
    .process-3cards-grid {
        grid-template-columns: 1fr;
        gap: 14px;
    }
    .exp-4cols-grid {
        grid-template-columns: 1fr 1fr;
        gap: 16px;
    }
    .docs-checklist-grid {
        grid-template-columns: 1fr;
    }
    .investment-full-inner {
        flex-direction: column;
        align-items: flex-start;
        gap: 16px;
    }

    /* Grids */
    .paths-grid {
        grid-template-columns: 1fr;
        gap: 18px;
    }
    .feature-split-grid {
        grid-template-columns: 1fr;
        gap: 28px;
    }
    .faq-split-grid {
        grid-template-columns: 1fr;
        gap: 28px;
    }

    /* Blog Grid Tablet */
    .blog-grid {
        grid-template-columns: repeat(2, 1fr);
        gap: 20px;
    }

    /* Institutional & Contact Tablet */
    .inst-hero-grid {
        grid-template-columns: 1fr;
        gap: 28px;
    }
    .inst-pillars-grid,
    .inst-sectors-grid {
        grid-template-columns: repeat(2, 1fr);
        gap: 16px;
    }
    .inst-recognition-grid {
        grid-template-columns: 1fr;
        gap: 28px;
    }
    .contact-cards-grid {
        grid-template-columns: repeat(2, 1fr);
        gap: 16px;
    }
    .contact-split-grid {
        grid-template-columns: 1fr;
        gap: 32px;
    }

    /* Footer */
    .footer-grid {
        grid-template-columns: 1fr 1fr;
        gap: 32px;
    }
}

@media (max-width: 640px) {
    /* Container Padding */
    .container {
        padding: 0 16px;
    }

    /* Header */
    .nav-wrap {
        height: 64px;
    }
    .brand img {
        height: 32px;
    }

    /* Home Hero Mobile */
    .hero-deluxe {
        padding: 24px 0 32px;
    }
    .hero-deluxe-content h1 {
        font-size: 26px;
        line-height: 1.2;
        margin-bottom: 12px;
    }
    .hero-deluxe-lead {
        font-size: 14px;
        line-height: 1.55;
        margin-bottom: 16px;
    }
    .hero-deluxe-actions {
        flex-direction: column;
        gap: 10px;
        width: 100%;
        margin-bottom: 16px;
    }
    .hero-deluxe-actions a {
        width: 100%;
        text-align: center;
        justify-content: center;
        padding: 13px 18px;
        font-size: 14px;
    }
    .hero-deluxe-badges {
        flex-wrap: wrap;
        gap: 6px;
        font-size: 11.5px;
    }
    .hero-visual-frame {
        height: auto;
        border-radius: var(--ibetp-radius-lg);
        position: relative;
        overflow: hidden;
    }
    .hero-visual-frame img {
        height: 240px;
        object-fit: cover;
        width: 100%;
        border-radius: var(--ibetp-radius-lg);
    }
    .hero-floating-card-left {
        display: none;
    }
    .hero-floating-card-right {
        position: absolute;
        bottom: 10px;
        left: 10px;
        right: 10px;
        padding: 10px 12px;
        background: rgba(6, 44, 34, 0.94);
        backdrop-filter: blur(8px);
        border-radius: 8px;
        box-shadow: 0 4px 16px rgba(0,0,0,0.25);
    }
    .hero-floating-card-right .brand-sub {
        font-size: 9px;
        margin-bottom: 1px;
    }
    .hero-floating-card-right h4 {
        font-size: 12px;
        margin-bottom: 2px;
        line-height: 1.25;
    }
    .hero-floating-card-right p {
        font-size: 10.5px;
        line-height: 1.3;
    }

    /* Home Stats Bar - 4 Cards Proporcionais */
    .stats-deluxe-section {
        padding: 18px 0 22px;
    }
    .stats-deluxe-grid {
        grid-template-columns: repeat(2, 1fr);
        gap: 10px;
    }
    .stats-deluxe-item {
        background: #FFFFFF;
        border: 1px solid var(--ibetp-border);
        border-radius: var(--ibetp-radius-md);
        padding: 12px 8px;
        text-align: center;
        border-right: none;
        box-shadow: var(--ibetp-shadow-subtle);
        display: flex;
        flex-direction: column;
        justify-content: center;
        align-items: center;
    }
    .stats-deluxe-item b {
        font-size: 20px;
        font-weight: 900;
        color: var(--ibetp-navy-900);
        line-height: 1.15;
        margin-bottom: 2px;
        white-space: normal;
        word-break: normal;
    }
    .stats-deluxe-item span {
        font-size: 11px;
        font-weight: 600;
        color: var(--ibetp-text-500);
        line-height: 1.3;
        display: block;
    }

    /* Home Reviews / Depoimentos Alinhado e Centralizado */
    .social-proof-split {
        grid-template-columns: 1fr;
        gap: 22px;
        text-align: center;
    }
    .social-stat-col {
        display: flex;
        flex-direction: column;
        align-items: center;
        text-align: center;
        margin: 0 auto;
        max-width: 460px;
        width: 100%;
    }
    .social-stat-col .impact-tag {
        margin: 0 auto 4px;
    }
    .social-stat-col h2 {
        font-size: 24px;
        line-height: 1.2;
        text-align: center;
        margin-bottom: 4px;
    }
    .social-rating-box {
        display: flex;
        align-items: center;
        justify-content: center;
        gap: 10px;
        margin: 8px auto 12px;
    }
    .social-rating-num {
        font-size: 32px;
    }
    .social-rating-stars-wrap {
        align-items: flex-start;
        text-align: left;
    }
    .social-stat-lead {
        text-align: center;
        font-size: 13px;
        line-height: 1.5;
        color: var(--ibetp-text-500);
        margin: 0 auto 14px;
        max-width: 400px;
    }
    .social-stat-actions {
        display: flex;
        flex-direction: column;
        align-items: center;
        text-align: center;
        gap: 10px;
        width: 100%;
    }
    .btn-review-google {
        margin: 0 auto;
        justify-content: center;
        width: auto;
        max-width: 100%;
        padding: 11px 20px;
        font-size: 13.5px;
    }
    .btn-link-arrow {
        justify-content: center;
        margin: 0 auto;
        font-size: 12px;
    }
    .reviews-carousel-arrows {
        justify-content: center;
        margin: 4px auto 0;
    }
    .reviews-slider-wrap {
        width: 100%;
        max-width: 100%;
        margin: 0 auto;
    }
    .testi-mini-card {
        text-align: left;
        padding: 16px 14px;
        border-radius: var(--ibetp-radius-md);
        box-shadow: 0 4px 16px rgba(0,0,0,0.06);
    }
    .testi-mini-card p {
        font-size: 12.5px;
        line-height: 1.5;
    }

    /* Single Course Hero Mobile */
    .course-hero-dark {
        padding: 28px 0 36px;
    }
    .course-hero-content h1 {
        font-size: 24px;
        line-height: 1.25;
        margin-bottom: 12px;
    }
    .course-hero-content .course-hero-lead {
        font-size: 14px;
        line-height: 1.55;
        margin-bottom: 16px;
    }
    .course-hero-payment-notice {
        padding: 12px 14px;
        gap: 10px;
        border-radius: var(--ibetp-radius-md);
    }
    .course-hero-payment-notice .payment-notice-text {
        font-size: 12.5px;
        line-height: 1.5;
    }
    .course-hero-metric-cards {
        grid-template-columns: 1fr 1fr;
        gap: 8px;
    }
    .hero-metric-box {
        padding: 10px 12px;
    }
    .hero-metric-box .hero-metric-val {
        font-size: 13.5px;
    }
    .hero-metric-box .hero-metric-lbl {
        font-size: 10px;
    }
    .course-hero-actions {
        flex-direction: column;
        gap: 10px;
        width: 100%;
        margin-bottom: 18px;
    }
    .course-hero-actions a,
    .course-hero-actions button {
        width: 100%;
        text-align: center;
        justify-content: center;
        padding: 13px 18px;
        font-size: 14px;
    }
    .course-hero-badges {
        flex-direction: column;
        gap: 6px;
        font-size: 12px;
    }

    /* Course Hero Sticky Card Mobile */
    .course-hero-card {
        padding: 20px 16px;
        border-radius: var(--ibetp-radius-lg);
        box-shadow: 0 10px 30px rgba(0, 0, 0, 0.2);
    }
    .course-hero-card h3 {
        font-size: 16px;
    }
    .plan-options-grid {
        grid-template-columns: 1fr;
        gap: 10px;
    }
    .plan-option-card {
        padding: 11px 10px;
    }
    .plan-card-body .plan-amount {
        font-size: 15px;
    }
    .price-value-main {
        font-size: 30px;
    }
    .price-value-sub {
        font-size: 12px;
    }
    .installments-callout-box {
        font-size: 12px;
        padding: 7px 9px;
    }
    .matricula-clarity-alert {
        font-size: 11px;
    }

    /* Details and Blocks */
    .exp-4cols-grid {
        grid-template-columns: 1fr;
    }
    .experience-detail-card {
        padding: 22px 16px;
        margin: 24px auto;
    }
    .base-legal-card {
        padding: 20px 16px;
        margin: 24px auto;
    }
    .flow-step-pill-row {
        padding: 12px 14px;
        gap: 12px;
    }
    .flow-step-text {
        font-size: 12.5px;
    }
    .doc-check-item {
        padding: 12px 14px;
        font-size: 12.5px;
    }

    /* Bottom Decision Banner */
    .bottom-decision-banner {
        flex-direction: column;
        align-items: flex-start;
        padding: 24px 18px;
        gap: 18px;
    }
    .bottom-decision-banner h2 {
        font-size: 20px;
    }
    .bottom-decision-banner p {
        font-size: 13px;
    }
    .bottom-decision-actions {
        flex-direction: column;
        width: 100%;
        gap: 10px;
    }
    .bottom-decision-actions button,
    .bottom-decision-actions a {
        width: 100%;
        text-align: center;
        justify-content: center;
        padding: 13px 18px;
    }

    /* Blog Grid Mobile */
    .blog-grid {
        grid-template-columns: 1fr;
        gap: 18px;
    }

    /* Institutional & Contact Mobile */
    .inst-hero {
        padding: 24px 0 32px;
    }
    .inst-hero h1 {
        font-size: 26px;
        line-height: 1.25;
        margin-bottom: 12px;
    }
    .inst-lead {
        font-size: 14px;
        line-height: 1.6;
        margin-bottom: 18px;
    }
    .inst-hero-actions {
        flex-direction: column;
        gap: 10px;
        width: 100%;
    }
    .inst-hero-actions a {
        width: 100%;
        text-align: center;
        justify-content: center;
    }
    .inst-hero-badge-box {
        grid-template-columns: 1fr 1fr;
        gap: 10px;
        padding: 16px 12px;
    }
    .inst-stat-item {
        padding: 12px 8px;
    }
    .inst-stat-item b {
        font-size: 20px;
    }
    .inst-pillars-grid,
    .inst-sectors-grid {
        grid-template-columns: 1fr;
        gap: 12px;
    }
    .inst-pillar-card,
    .inst-sector-card {
        padding: 18px 16px;
    }
    .contact-hero {
        padding: 24px 0 32px;
    }
    .contact-cards-grid {
        grid-template-columns: 1fr;
        gap: 12px;
    }
    .contact-card {
        padding: 20px 16px;
    }
    .contact-box-form {
        padding: 24px 18px;
    }
    .form-row-2 {
        grid-template-columns: 1fr;
        gap: 12px;
    }

    /* Footer Mobile */
    .site-footer {
        padding: 40px 0 20px;
    }
    .footer-grid {
        grid-template-columns: 1fr;
        gap: 26px;
        margin-bottom: 28px;
    }
    .footer-col h4 {
        margin-bottom: 12px;
        font-size: 15px;
    }
    .footer-col ul {
        gap: 10px;
    }
    .footer-col ul a {
        font-size: 14px;
        padding: 2px 0;
    }
    .footer-bottom {
        font-size: 12px;
        padding-top: 18px;
        line-height: 1.5;
    }
}

