/* ═══════════════════════════════════════════════════════════════════
   Sessão — single post template
   ═══════════════════════════════════════════════════════════════════ */

/* ── Hero ──────────────────────────────────────────────────────────── */

.sessao-hero {
    padding: 48px 0 0;
    background: transparent;
}

.sessao-hero--tipo-1073 {
    background: transparent !important;
}

.sessao-hero--tipo-1074 {
    background: transparent !important;
}

.sessao-tipo-label {
    display: block;
    font-family: 'Space Grotesk', sans-serif;
    font-size: clamp(40px, 6vw, 68px);
    font-weight: 700;
    color: #000032;
    line-height: 1;
    padding-bottom: 32px;
    padding-left: 80px;
}

@media (max-width: 1200px) {
    .sessao-tipo-label {
        padding-left: 0;
    }
}

.sessao-hero-bar {
    height: clamp(36px, calc(2.25rem + ((1vw - 3.6px) * 59.2857)), 140px);
    background: #f8ffeb;
    position: absolute;
    top: clamp(20px, calc(3.25rem + ((1vw - 3.6px) * 59.2857)), 189px);
    width: 100vw;
    z-index: -1;
}

/* ── Wrap ──────────────────────────────────────────────────────────── */

.sessao-wrap {
    padding-top: 56px;
    padding-bottom: 96px;
}

.sessao-layout {
    display: grid;
    grid-template-columns: 2fr 3fr;
    gap: 80px;
    align-items: start;
}

@media (min-width: 901px) {
    .sessao-col-left {
        margin-top: -40px;
    }

    .sessao-col-right {
        margin-top: 22px;
    }
}

/* ── Left column ───────────────────────────────────────────────────── */

.sessao-back {
    display: inline-block;
    margin-bottom: 16px;
    font-family: 'Space Grotesk', sans-serif;
    font-size: 14px;
    font-weight: 700;
    color: #000032 !important;
    text-decoration: none !important;
}

.sessao-back:hover {
    color: #0578f5 !important;
}

.sessao-title {
    font-family: 'Space Grotesk', sans-serif !important;
    font-size: 42px !important;
    font-weight: 700 !important;
    color: #000032 !important;
    line-height: 1.2 !important;
    margin: 0 0 16px !important;
}

.sessao-meta {
    font-family: 'Space Grotesk', sans-serif !important;
    font-size: 24px !important;
    font-weight: 400 !important;
    color: #0578f5 !important;
    margin: 0 0 32px !important;
    line-height: 1.3 !important;
}

.sessao-speakers {
    padding-top: 20px;
    margin-top: 8px;
}

.sessao-speaker-row {
    font-size: 17px !important;
    color: #000032 !important;
    margin: 0 0 6px !important;
    line-height: 1.55 !important;
}

.sessao-speaker-row strong {
    font-weight: 700;
}

.sessao-speaker-row a {
    color: #000032 !important;
    text-decoration: none !important;
}

.sessao-speaker-row a:hover {
    text-decoration: underline !important;
}

.sessao-speaker-cargo {
    color: #000032;
}

.sessao-section-label {
    margin-top: 20px !important;
    margin-bottom: 2px !important;
}

.sessao-section-label small {
    font-size: 11px;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: 0.06em;
    color: #000032;
}

/* ── Right column ──────────────────────────────────────────────────── */

.sessao-desc-curta {
    font-size: 17px !important;
    line-height: 1.75 !important;
    color: #000032 !important;
    font-weight: 500 !important;
    margin-bottom: 28px !important;
}

.sessao-desc,
.sessao-oradores-txt {
    font-size: 17px;
    line-height: 1.75;
    color: #000032;
}

.sessao-gravacao {
    display: inline-flex;
    align-items: center;
    margin-top: 32px;
    padding: 12px 28px;
    background: #000032;
    color: #defda1;
    font-weight: 700;
    font-size: 15px;
    text-decoration: none !important;
    border-radius: 2px;
    transition: background 0.15s;
}

.sessao-gravacao:hover {
    background: #00004a;
    color: #defda1;
    text-decoration: none !important;
}

/* ── Responsive ───────────────────────────────────────────────────── */

@media (max-width: 900px) {
    .sessao-layout {
        grid-template-columns: 1fr;
        gap: 40px;
    }

    .sessao-title {
        font-size: 24px !important;
    }

    .sessao-meta {
        font-size: 18px !important;
    }
}

@media (max-width: 480px) {
    .sessao-tipo-label {
        font-size: 36px;
    }

    .sessao-title {
        font-size: 20px !important;
    }

    .sessao-meta {
        font-size: 16px !important;
    }

    .sessao-wrap {
        padding-top: 36px;
        padding-bottom: 60px;
    }
}