/* ========================================================================
   KINGDOMFORGE EAD — LESSON PREMIUM CSS v3.0.2 FINAL CONSOLIDADO
   Sistema Premium para Igrejas | Aula Individual
   ======================================================================== */

/* ---------- VARIÁVEIS ---------- */
:root {
    --kf-black: #0a0e1a;
    --kf-dark: #0f1729;
    --kf-dark-2: #1a2340;
    --kf-gold: #f5c563;
    --kf-gold-light: #ffd98a;
    --kf-gold-dark: #c99a3f;
    --kf-white: #ffffff;
    --kf-text: #e8ecf4;
    --kf-text-muted: #a0aec0;
    --kf-border: rgba(245, 197, 99, 0.15);
    --kf-shadow: 0 20px 60px rgba(0, 0, 0, 0.4);
    --kf-radius: 16px;
    --kf-transition: all 0.4s cubic-bezier(0.4, 0, 0.2, 1);
}

/* ========================================================================
   BODY E WRAPPER GLOBAL — RESET FORÇADO
   ======================================================================== */
body.single-kfc_lesson {
    background: var(--kf-black) !important;
    color: var(--kf-text) !important;
    font-family: 'Inter', 'Poppins', sans-serif !important;
}

body.single-kfc_lesson #page,
body.single-kfc_lesson #content,
body.single-kfc_lesson #primary,
body.single-kfc_lesson .site-content,
body.single-kfc_lesson .site-main,
body.single-kfc_lesson .content-area {
    width: 100% !important;
    max-width: 100% !important;
    margin: 0 !important;
    padding: 0 !important;
    background: var(--kf-black) !important;
    display: block !important;
    float: none !important;
}

body.single-kfc_lesson article,
body.single-kfc_lesson .entry-content,
body.single-kfc_lesson .post {
    width: 100% !important;
    max-width: 100% !important;
    margin: 0 !important;
    padding: 0 !important;
    background: transparent !important;
    border: none !important;
    box-shadow: none !important;
}

body.single-kfc_lesson .entry-header,
body.single-kfc_lesson .entry-footer,
body.single-kfc_lesson .page-header,
body.single-kfc_lesson .post-thumbnail,
body.single-kfc_lesson .comments-area {
    display: none !important;
}

/* ========================================================================
   PÁGINA DA AULA — CONTAINER PRINCIPAL
   ======================================================================== */
.kfc-lesson-page {
    background: var(--kf-black) !important;
    color: var(--kf-text) !important;
    min-height: 100vh !important;
    width: 100% !important;
    max-width: 100% !important;
    padding: 0 !important;
    margin: 0 !important;
    display: block !important;
    font-family: 'Inter', sans-serif !important;
}

.kfc-lesson-page * {
    box-sizing: border-box !important;
    writing-mode: horizontal-tb !important;
    text-orientation: mixed !important;
}

/* ========================================================================
   TOPBAR
   ======================================================================== */
.kfc-lesson-topbar {
    position: sticky !important;
    top: 32px !important;
    z-index: 90 !important;
    background: rgba(10, 14, 26, 0.95) !important;
    backdrop-filter: blur(20px) !important;
    -webkit-backdrop-filter: blur(20px) !important;
    border-bottom: 1px solid var(--kf-border) !important;
    width: 100% !important;
}

.kfc-topbar-inner {
    max-width: 1400px !important;
    margin: 0 auto !important;
    padding: 16px 32px !important;
    display: flex !important;
    justify-content: space-between !important;
    align-items: center !important;
    gap: 20px !important;
}

.kfc-back-link {
    color: var(--kf-gold) !important;
    text-decoration: none !important;
    font-weight: 600 !important;
    font-size: 15px !important;
    display: inline-flex !important;
    align-items: center !important;
    gap: 8px !important;
    transition: var(--kf-transition) !important;
}

.kfc-back-link:hover {
    color: var(--kf-gold-light) !important;
    transform: translateX(-4px) !important;
}

.kfc-progress-info {
    color: var(--kf-text-muted) !important;
    font-size: 14px !important;
    font-weight: 500 !important;
}

.kfc-progress-bar-global {
    height: 3px !important;
    background: rgba(255, 255, 255, 0.05) !important;
    width: 100% !important;
    overflow: hidden !important;
}

.kfc-progress-fill {
    height: 100% !important;
    background: linear-gradient(90deg, var(--kf-gold-dark), var(--kf-gold)) !important;
    box-shadow: 0 0 12px rgba(245, 197, 99, 0.5) !important;
    transition: width 0.6s ease !important;
}

/* ========================================================================
   LAYOUT GRID PRINCIPAL
   ======================================================================== */
.kfc-lesson-layout {
    max-width: 1400px !important;
    margin: 0 auto !important;
    padding: 40px 32px 80px !important;
    display: grid !important;
    grid-template-columns: minmax(0, 1fr) 360px !important;
    gap: 40px !important;
    align-items: start !important;
    width: 100% !important;
}

.kfc-lesson-main {
    grid-column: 1 !important;
    min-width: 0 !important;
    max-width: 100% !important;
    width: 100% !important;
    display: block !important;
    overflow-wrap: break-word !important;
    word-wrap: break-word !important;
}

.kfc-lesson-sidebar {
    grid-column: 2 !important;
    min-width: 0 !important;
    max-width: 360px !important;
    width: 100% !important;
    display: block !important;
}

/* ========================================================================
   HERO (Capa da Aula) — VERSÃO ÚNICA E DEFINITIVA
   ======================================================================== */
.kfc-lesson-hero {
    margin-bottom: 32px !important;
    width: 100% !important;
}

/* Container do Hero */
.kfc-lesson-cover {
    position: relative !important;
    width: 100% !important;
    aspect-ratio: 16/9 !important;
    max-height: 480px !important;
    overflow: hidden !important;
    border-radius: var(--kf-radius) !important;
    background: var(--kf-dark) !important;
    margin-bottom: 28px !important;
    box-shadow: var(--kf-shadow) !important;
    border: 1px solid var(--kf-border) !important;
    display: block !important;
}

/* Esconder QUALQUER placeholder/ícone que não seja a imagem real */
.kfc-lesson-cover .kfc-cover-icon,
.kfc-lesson-cover .kfc-default-icon,
.kfc-lesson-cover .kfc-placeholder,
.kfc-lesson-cover .kfc-placeholder-icon,
.kfc-lesson-cover .kfc-book-icon,
.kfc-lesson-cover .kfc-lesson-icon,
.kfc-lesson-cover .kfc-cover-empty,
.kfc-lesson-cover svg,
.kfc-lesson-cover .dashicons,
.kfc-lesson-cover [class*="placeholder"],
.kfc-lesson-cover [class*="default-thumb"] {
    display: none !important;
}

/* Imagem real do destaque — ocupa 100% */
.kfc-lesson-cover img,
.kfc-lesson-cover picture,
.kfc-lesson-cover picture img,
.kfc-lesson-cover .wp-post-image,
.kfc-lesson-cover .kfc-cover-image {
    position: absolute !important;
    inset: 0 !important;
    width: 100% !important;
    height: 100% !important;
    object-fit: cover !important;
    object-position: center !important;
    display: block !important;
    z-index: 1 !important;
    visibility: visible !important;
    opacity: 1 !important;
    border-radius: var(--kf-radius) !important;
}

/* Se houver múltiplas imagens, manter só a primeira */
.kfc-lesson-cover img ~ img,
.kfc-lesson-cover img + img {
    display: none !important;
}

/* Overlay gradiente sobre a imagem */
.kfc-cover-overlay {
    position: absolute !important;
    inset: 0 !important;
    background: linear-gradient(
        180deg,
        transparent 0%,
        transparent 55%,
        rgba(10, 14, 26, 0.85) 100%
    ) !important;
    z-index: 2 !important;
    pointer-events: none !important;
    display: block !important;
}

/* Badge "Aula X/Y" sobre a capa */
.kfc-cover-badge {
    position: absolute !important;
    bottom: 20px !important;
    left: 20px !important;
    z-index: 3 !important;
    background: rgba(10, 14, 26, 0.9) !important;
    backdrop-filter: blur(12px) !important;
    -webkit-backdrop-filter: blur(12px) !important;
    color: var(--kf-gold) !important;
    padding: 10px 20px !important;
    border-radius: 30px !important;
    font-size: 13px !important;
    font-weight: 700 !important;
    letter-spacing: 0.5px !important;
    border: 1px solid var(--kf-border) !important;
    display: inline-flex !important;
    align-items: center !important;
    gap: 8px !important;
}

/* Fallback: se NÃO houver imagem real, mostrar gradiente premium + ícone */
.kfc-lesson-cover:not(:has(img)) {
    background: linear-gradient(135deg, var(--kf-dark) 0%, var(--kf-dark-2) 50%, var(--kf-black) 100%) !important;
}

.kfc-lesson-cover:not(:has(img))::before {
    content: '📖' !important;
    position: absolute !important;
    top: 50% !important;
    left: 50% !important;
    transform: translate(-50%, -50%) !important;
    font-size: 80px !important;
    opacity: 0.15 !important;
    z-index: 1 !important;
}

/* ========================================================================
   TÍTULO DA AULA
   ======================================================================== */
.kfc-lesson-title {
    font-family: 'Playfair Display', Georgia, serif !important;
    font-size: clamp(32px, 4.5vw, 52px) !important;
    font-weight: 800 !important;
    color: var(--kf-white) !important;
    line-height: 1.15 !important;
    margin: 0 0 20px !important;
    letter-spacing: -1px !important;
    width: 100% !important;
    display: block !important;
    white-space: normal !important;
    word-break: normal !important;
    overflow-wrap: break-word !important;
}

/* ========================================================================
   META INFO (tempo, palavras)
   ======================================================================== */
.kfc-lesson-stats {
    display: flex !important;
    flex-wrap: wrap !important;
    align-items: center !important;
    gap: 14px !important;
    padding: 16px 22px !important;
    background: var(--kf-dark) !important;
    border: 1px solid var(--kf-border) !important;
    border-radius: 12px !important;
    color: var(--kf-text-muted) !important;
    font-size: 14px !important;
    width: 100% !important;
}

.kfc-stat {
    display: inline-flex !important;
    align-items: center !important;
    gap: 8px !important;
    white-space: nowrap !important;
}

.kfc-stat i {
    font-style: normal !important;
    color: var(--kf-gold) !important;
}

.kfc-stat-divider {
    color: var(--kf-text-muted) !important;
    opacity: 0.4 !important;
}

/* ========================================================================
   PLAYER DE VÍDEO
   ======================================================================== */
.kfc-player-wrap {
    position: relative !important;
    width: 100% !important;
    aspect-ratio: 16/9 !important;
    border-radius: var(--kf-radius) !important;
    overflow: hidden !important;
    background: #000 !important;
    box-shadow: var(--kf-shadow) !important;
    border: 1px solid var(--kf-border) !important;
    margin: 30px 0 !important;
}

.kfc-player-wrap iframe,
.kfc-player-wrap video {
    position: absolute !important;
    inset: 0 !important;
    width: 100% !important;
    height: 100% !important;
    border: none !important;
}

/* ========================================================================
   DIVISOR DE SEÇÃO
   ======================================================================== */
.kfc-section-divider {
    display: flex !important;
    align-items: center !important;
    gap: 18px !important;
    margin: 40px 0 24px !important;
    width: 100% !important;
}

.kfc-divider-line {
    flex: 1 !important;
    height: 1px !important;
    background: linear-gradient(90deg, transparent, var(--kf-border), transparent) !important;
}

.kfc-divider-text {
    color: var(--kf-gold) !important;
    font-size: 13px !important;
    font-weight: 700 !important;
    letter-spacing: 2px !important;
    white-space: nowrap !important;
    text-transform: uppercase !important;
}

/* ========================================================================
   TTS PLAYER (Ouvir Aula)
   ======================================================================== */
.kfc-tts-player {
    background: linear-gradient(135deg, var(--kf-dark), var(--kf-dark-2)) !important;
    border: 1px solid var(--kf-border) !important;
    border-radius: var(--kf-radius) !important;
    padding: 22px 24px !important;
    margin-bottom: 40px !important;
    box-shadow: var(--kf-shadow) !important;
    width: 100% !important;
}

.kfc-tts-controls {
    display: flex !important;
    flex-wrap: wrap !important;
    align-items: center !important;
    gap: 14px !important;
}

.kfc-tts-btn {
    background: var(--kf-gold) !important;
    color: var(--kf-black) !important;
    border: none !important;
    padding: 12px 22px !important;
    border-radius: 10px !important;
    font-weight: 700 !important;
    font-size: 14px !important;
    cursor: pointer !important;
    display: inline-flex !important;
    align-items: center !important;
    gap: 8px !important;
    transition: var(--kf-transition) !important;
    white-space: nowrap !important;
}

.kfc-tts-btn:hover {
    background: var(--kf-gold-light) !important;
    transform: translateY(-2px) !important;
    box-shadow: 0 8px 24px rgba(245, 197, 99, 0.4) !important;
}

.kfc-tts-btn.playing {
    background: #ef4444 !important;
    color: var(--kf-white) !important;
}

.kfc-tts-stop {
    background: var(--kf-dark-2) !important;
    color: var(--kf-text) !important;
    padding: 12px 16px !important;
}

.kfc-tts-stop:hover {
    background: #1f2937 !important;
    transform: none !important;
    box-shadow: none !important;
}

.kfc-tts-progress-wrap {
    flex: 1 !important;
    min-width: 150px !important;
    display: flex !important;
    align-items: center !important;
    gap: 10px !important;
}

.kfc-tts-progress {
    flex: 1 !important;
    height: 8px !important;
    background: rgba(255, 255, 255, 0.06) !important;
    border-radius: 10px !important;
    overflow: hidden !important;
}

.kfc-tts-progress-bar {
    height: 100% !important;
    width: 0% !important;
    background: linear-gradient(90deg, var(--kf-gold-dark), var(--kf-gold)) !important;
    border-radius: 10px !important;
    transition: width 0.3s !important;
}

.kfc-tts-percent {
    font-size: 12px !important;
    color: var(--kf-text-muted) !important;
    font-weight: 600 !important;
    min-width: 38px !important;
    text-align: right !important;
}

.kfc-tts-select {
    background: var(--kf-dark-2) !important;
    color: var(--kf-text) !important;
    border: 1px solid var(--kf-border) !important;
    border-radius: 8px !important;
    padding: 10px 12px !important;
    font-size: 13px !important;
    cursor: pointer !important;
    font-family: inherit !important;
    outline: none !important;
    max-width: 220px !important;
}

.kfc-tts-meta {
    margin-top: 14px !important;
    display: flex !important;
    justify-content: space-between !important;
    flex-wrap: wrap !important;
    gap: 10px !important;
    font-size: 12px !important;
    color: var(--kf-text-muted) !important;
}

.kfc-tts-meta strong {
    color: var(--kf-gold) !important;
    font-weight: 600 !important;
}

/* ========================================================================
   CONTEÚDO DA AULA
   ======================================================================== */
.kfc-lesson-content {
    background: var(--kf-dark) !important;
    border: 1px solid var(--kf-border) !important;
    border-radius: var(--kf-radius) !important;
    padding: 48px !important;
    margin-bottom: 32px !important;
    width: 100% !important;
    color: var(--kf-text) !important;
    word-break: normal !important;
    overflow-wrap: break-word !important;
    white-space: normal !important;
}

.kfc-lesson-content.kfc-reader-mode {
    font-family: 'Lora', Georgia, serif !important;
    font-size: 17px !important;
    line-height: 1.85 !important;
}

.kfc-lesson-content p,
.kfc-lesson-content h1,
.kfc-lesson-content h2,
.kfc-lesson-content h3,
.kfc-lesson-content h4,
.kfc-lesson-content h5,
.kfc-lesson-content h6,
.kfc-lesson-content li,
.kfc-lesson-content blockquote,
.kfc-lesson-content span,
.kfc-lesson-content div {
    width: auto !important;
    max-width: 100% !important;
    display: block !important;
    white-space: normal !important;
    word-break: normal !important;
    overflow-wrap: break-word !important;
    writing-mode: horizontal-tb !important;
    text-orientation: mixed !important;
}

.kfc-lesson-content li {
    display: list-item !important;
}

.kfc-lesson-content h2 {
    font-family: 'Playfair Display', serif !important;
    color: var(--kf-gold) !important;
    font-size: 30px !important;
    font-weight: 700 !important;
    margin: 40px 0 16px !important;
    padding-bottom: 12px !important;
    border-bottom: 1px solid var(--kf-border) !important;
    line-height: 1.3 !important;
}

.kfc-lesson-content h2:first-child {
    margin-top: 0 !important;
}

.kfc-lesson-content h3 {
    font-family: 'Playfair Display', serif !important;
    color: var(--kf-gold-light) !important;
    font-size: 24px !important;
    font-weight: 600 !important;
    margin: 32px 0 12px !important;
}

.kfc-lesson-content h4 {
    font-family: 'Playfair Display', serif !important;
    color: var(--kf-white) !important;
    font-size: 20px !important;
    margin: 24px 0 10px !important;
}

.kfc-lesson-content p {
    color: var(--kf-text) !important;
    margin: 0 0 1.4em !important;
}

.kfc-lesson-content.kfc-reader-mode > p:first-of-type::first-letter {
    font-family: 'Playfair Display', serif !important;
    font-size: 4em !important;
    font-weight: 700 !important;
    float: left !important;
    line-height: 0.9 !important;
    margin: 0.05em 0.12em 0 0 !important;
    color: var(--kf-gold) !important;
}

.kfc-lesson-content ul,
.kfc-lesson-content ol {
    margin: 1.2em 0 1.6em !important;
    padding-left: 1.5em !important;
    list-style-position: outside !important;
}

.kfc-lesson-content ul { list-style-type: disc !important; }
.kfc-lesson-content ol { list-style-type: decimal !important; }

.kfc-lesson-content li {
    margin-bottom: 0.6em !important;
    padding-left: 0.4em !important;
}

.kfc-lesson-content ul li::marker {
    color: var(--kf-gold) !important;
}

.kfc-lesson-content blockquote {
    margin: 2em 0 !important;
    padding: 22px 30px !important;
    border-left: 4px solid var(--kf-gold) !important;
    background: linear-gradient(90deg, rgba(245, 197, 99, 0.08), transparent) !important;
    border-radius: 0 12px 12px 0 !important;
    font-style: italic !important;
    color: var(--kf-text) !important;
    font-size: 18px !important;
    line-height: 1.7 !important;
}

.kfc-lesson-content a {
    color: var(--kf-gold) !important;
    text-decoration: underline !important;
    text-underline-offset: 4px !important;
}

.kfc-lesson-content strong {
    color: var(--kf-white) !important;
    font-weight: 700 !important;
}

.kfc-lesson-content em {
    color: var(--kf-gold-light) !important;
}

.kfc-lesson-content img {
    max-width: 100% !important;
    height: auto !important;
    border-radius: 12px !important;
    margin: 1.5em auto !important;
    display: block !important;
    box-shadow: var(--kf-shadow) !important;
}

.kfc-lesson-content hr {
    border: none !important;
    height: 1px !important;
    background: var(--kf-border) !important;
    margin: 3em auto !important;
    width: 60% !important;
}

.kfc-tts-highlight {
    background: rgba(245, 197, 99, 0.2) !important;
    border-radius: 4px !important;
    padding: 2px 4px !important;
    box-shadow: 0 0 0 4px rgba(245, 197, 99, 0.2) !important;
    transition: background 0.3s !important;
}

/* ========================================================================
   BOTÕES DE NAVEGAÇÃO
   ======================================================================== */
.kfc-lesson-actions {
    display: grid !important;
    grid-template-columns: 1fr 1.2fr 1fr !important;
    gap: 16px !important;
    margin: 40px 0 32px !important;
    width: 100% !important;
}

.kfc-lesson-actions > a,
.kfc-lesson-actions > button,
.kfc-lesson-actions > span {
    background: var(--kf-dark) !important;
    border: 1px solid var(--kf-border) !important;
    color: var(--kf-text) !important;
    padding: 18px 22px !important;
    border-radius: 14px !important;
    text-decoration: none !important;
    display: flex !important;
    align-items: center !important;
    gap: 12px !important;
    transition: var(--kf-transition) !important;
    font-family: inherit !important;
    font-size: 14px !important;
    cursor: pointer !important;
    min-width: 0 !important;
}

.kfc-lesson-actions a:hover,
.kfc-lesson-actions button:hover {
    background: var(--kf-dark-2) !important;
    border-color: var(--kf-gold) !important;
    transform: translateY(-2px) !important;
    box-shadow: 0 8px 24px rgba(245, 197, 99, 0.15) !important;
}

.kfc-nav-prev { justify-content: flex-start !important; }
.kfc-nav-next,
.kfc-nav-finish {
    justify-content: flex-end !important;
    text-align: right !important;
}

.kfc-nav-finish {
    background: linear-gradient(135deg, #065f46, #047857) !important;
    border-color: #10b981 !important;
    color: var(--kf-white) !important;
}

.kfc-nav-arrow {
    font-size: 22px !important;
    color: var(--kf-gold) !important;
    flex-shrink: 0 !important;
}

.kfc-nav-info {
    display: flex !important;
    flex-direction: column !important;
    gap: 2px !important;
    min-width: 0 !important;
    overflow: hidden !important;
}

.kfc-nav-info small {
    font-size: 11px !important;
    color: var(--kf-text-muted) !important;
    text-transform: uppercase !important;
    letter-spacing: 1px !important;
    font-weight: 600 !important;
}

.kfc-nav-info strong {
    font-size: 14px !important;
    color: var(--kf-text) !important;
    overflow: hidden !important;
    text-overflow: ellipsis !important;
    white-space: nowrap !important;
    max-width: 200px !important;
    font-weight: 600 !important;
}

.kfc-nav-disabled {
    opacity: 0.4 !important;
    pointer-events: none !important;
}

.kfc-mark-complete {
    background: linear-gradient(135deg, var(--kf-gold), var(--kf-gold-dark)) !important;
    color: var(--kf-black) !important;
    border: none !important;
    padding: 18px 24px !important;
    border-radius: 14px !important;
    font-weight: 700 !important;
    font-size: 15px !important;
    cursor: pointer !important;
    white-space: nowrap !important;
    justify-content: center !important;
    display: flex !important;
    align-items: center !important;
    text-transform: uppercase !important;
    letter-spacing: 1px !important;
}

.kfc-mark-complete:hover {
    background: linear-gradient(135deg, var(--kf-gold-light), var(--kf-gold)) !important;
    transform: translateY(-2px) scale(1.02) !important;
    box-shadow: 0 12px 32px rgba(245, 197, 99, 0.5) !important;
    color: var(--kf-black) !important;
}

.kfc-mark-complete.completed {
    background: #10b981 !important;
    color: var(--kf-white) !important;
}

/* ========================================================================
   ÁREA DE ANOTAÇÕES
   ======================================================================== */
.kfc-notes-section {
    background: var(--kf-dark) !important;
    border: 1px solid var(--kf-border) !important;
    border-radius: var(--kf-radius) !important;
    padding: 30px !important;
    margin-top: 40px !important;
    width: 100% !important;
}

.kfc-notes-section h3 {
    color: var(--kf-gold) !important;
    font-size: 20px !important;
    font-weight: 700 !important;
    margin: 0 0 18px !important;
    font-family: 'Playfair Display', serif !important;
    display: flex !important;
    align-items: center !important;
    gap: 10px !important;
}

.kfc-notes-section textarea {
    width: 100% !important;
    min-height: 140px !important;
    background: var(--kf-black) !important;
    border: 1px solid var(--kf-border) !important;
    border-radius: 12px !important;
    padding: 16px !important;
    color: var(--kf-text) !important;
    font-family: inherit !important;
    font-size: 15px !important;
    line-height: 1.6 !important;
    resize: vertical !important;
    outline: none !important;
    transition: var(--kf-transition) !important;
    display: block !important;
}

.kfc-notes-section textarea:focus {
    border-color: var(--kf-gold) !important;
    box-shadow: 0 0 0 3px rgba(245, 197, 99, 0.15) !important;
}

.kfc-notes-actions {
    margin-top: 14px !important;
    display: flex !important;
    gap: 14px !important;
    align-items: center !important;
}

.kfc-notes-section #kfc-save-note {
    background: var(--kf-gold) !important;
    color: var(--kf-black) !important;
    border: none !important;
    padding: 12px 24px !important;
    border-radius: 10px !important;
    font-weight: 700 !important;
    cursor: pointer !important;
    transition: var(--kf-transition) !important;
}

.kfc-notes-section #kfc-save-note:hover {
    background: var(--kf-gold-light) !important;
    transform: translateY(-2px) !important;
    box-shadow: 0 8px 20px rgba(245, 197, 99, 0.4) !important;
}

.kfc-notes-status {
    font-size: 13px !important;
    color: #10b981 !important;
    opacity: 0 !important;
    transition: opacity 0.3s !important;
}

.kfc-notes-status.show {
    opacity: 1 !important;
}

/* ========================================================================
   SIDEBAR — AULAS DO CURSO
   ======================================================================== */
.kfc-sidebar-sticky {
    position: sticky !important;
    top: 100px !important;
    background: var(--kf-dark) !important;
    border: 1px solid var(--kf-border) !important;
    border-radius: var(--kf-radius) !important;
    padding: 24px !important;
    max-height: calc(100vh - 120px) !important;
    overflow-y: auto !important;
    width: 100% !important;
    box-shadow: var(--kf-shadow) !important;
}

.kfc-sidebar-header {
    display: flex !important;
    justify-content: space-between !important;
    align-items: center !important;
    padding-bottom: 16px !important;
    margin-bottom: 16px !important;
    border-bottom: 1px solid var(--kf-border) !important;
}

.kfc-sidebar-header h3 {
    margin: 0 !important;
    font-size: 16px !important;
    color: var(--kf-gold) !important;
    font-family: 'Playfair Display', serif !important;
    font-weight: 700 !important;
}

.kfc-sidebar-count {
    background: var(--kf-gold) !important;
    color: var(--kf-black) !important;
    padding: 4px 12px !important;
    border-radius: 20px !important;
    font-size: 12px !important;
    font-weight: 700 !important;
    white-space: nowrap !important;
}

.kfc-sidebar-lessons {
    list-style: none !important;
    padding: 0 !important;
    margin: 0 !important;
}

.kfc-sidebar-lessons li {
    margin: 0 0 6px !important;
    list-style: none !important;
}

.kfc-sidebar-lessons a {
    display: flex !important;
    align-items: center !important;
    gap: 12px !important;
    padding: 12px 14px !important;
    text-decoration: none !important;
    color: var(--kf-text-muted) !important;
    border-radius: 10px !important;
    transition: var(--kf-transition) !important;
    font-size: 14px !important;
}

.kfc-sidebar-lessons a:hover {
    background: rgba(245, 197, 99, 0.08) !important;
    color: var(--kf-text) !important;
    transform: translateX(4px) !important;
}

.kfc-lesson-num {
    width: 28px !important;
    height: 28px !important;
    background: var(--kf-dark-2) !important;
    border-radius: 50% !important;
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    font-size: 12px !important;
    font-weight: 700 !important;
    flex-shrink: 0 !important;
}

.kfc-l-title {
    flex: 1 !important;
    line-height: 1.4 !important;
    word-break: normal !important;
    overflow-wrap: break-word !important;
}

.kfc-l-status {
    font-size: 13px !important;
    flex-shrink: 0 !important;
}

.kfc-sidebar-lessons li.current a {
    background: linear-gradient(135deg, var(--kf-gold), var(--kf-gold-dark)) !important;
    color: var(--kf-black) !important;
    font-weight: 700 !important;
}

.kfc-sidebar-lessons li.current .kfc-lesson-num {
    background: rgba(0, 0, 0, 0.25) !important;
    color: var(--kf-black) !important;
}

.kfc-sidebar-lessons li.done a {
    color: var(--kf-text) !important;
}

.kfc-sidebar-lessons li.done .kfc-lesson-num {
    background: rgba(16, 185, 129, 0.2) !important;
    color: #10b981 !important;
}

/* ========================================================================
   BADGE FLUTUANTE
   ======================================================================== */
.kfc-floating-badge {
    position: fixed !important;
    bottom: 24px !important;
    left: 24px !important;
    background: linear-gradient(135deg, var(--kf-gold), var(--kf-gold-dark)) !important;
    color: var(--kf-black) !important;
    padding: 12px 18px !important;
    border-radius: 30px !important;
    display: inline-flex !important;
    align-items: center !important;
    gap: 10px !important;
    font-weight: 700 !important;
    font-size: 13px !important;
    box-shadow: 0 12px 32px rgba(245, 197, 99, 0.4) !important;
    z-index: 50 !important;
    white-space: nowrap !important;
}

.kfc-badge-pct {
    background: rgba(0, 0, 0, 0.25) !important;
    padding: 3px 10px !important;
    border-radius: 20px !important;
    font-size: 12px !important;
}

/* ========================================================================
   MENSAGEM DE BLOQUEIO
   ======================================================================== */
.kfc-locked-msg {
    max-width: 600px !important;
    margin: 80px auto !important;
    padding: 50px 40px !important;
    background: var(--kf-dark) !important;
    border: 1px solid var(--kf-border) !important;
    border-radius: var(--kf-radius) !important;
    text-align: center !important;
}

.kfc-locked-msg h2 {
    font-family: 'Playfair Display', serif !important;
    color: var(--kf-gold) !important;
    margin: 0 0 16px !important;
    font-size: 28px !important;
}

/* ========================================================================
   RESPONSIVO
   ======================================================================== */
@media (max-width: 1024px) {
    .kfc-lesson-layout {
        grid-template-columns: 1fr !important;
        padding: 24px 16px 60px !important;
        gap: 24px !important;
    }
    .kfc-lesson-sidebar {
        grid-column: 1 !important;
        max-width: 100% !important;
    }
    .kfc-sidebar-sticky {
        position: static !important;
        max-height: none !important;
    }
}

@media (max-width: 768px) {
    .kfc-topbar-inner {
        padding: 12px 16px !important;
    }
    .kfc-lesson-content {
        padding: 32px 22px !important;
    }
    .kfc-lesson-content.kfc-reader-mode {
        font-size: 16px !important;
    }
    .kfc-lesson-content.kfc-reader-mode > p:first-of-type::first-letter {
        font-size: 3.2em !important;
    }
    .kfc-lesson-actions {
        grid-template-columns: 1fr !important;
    }
    .kfc-mark-complete {
        order: -1 !important;
    }
    .kfc-floating-badge {
        bottom: 16px !important;
        left: 50% !important;
        transform: translateX(-50%) !important;
        padding: 10px 14px !important;
        font-size: 12px !important;
    }
}

@media (max-width: 600px) {
    .kfc-lesson-title {
        font-size: 28px !important;
    }
    .kfc-lesson-content h2 {
        font-size: 22px !important;
    }
}
