/**
 * Posts Medspacy Public CSS
 * Versão Restaurada: 7.7.8 (Design de Comentário Aprimorado)
 * * ESTRUTURA:
 * 1. Estilos Originais (Diagnóstico, Podcast, Flashcard) - CÓPIA EXATA DA V7.4
 * 2. Estilos Novos (Quiz) - ISOLADO NO UI KIT
 */

/* =========================================
   1. DIAGNÓSTICOS OCULTOS E BOTÕES (V7.4)
   ========================================= */

.hidden-diagnosis-container, 
.post-buttons-group { 
    display: inline-flex; 
    flex-direction: column; 
    align-items: flex-start; 
    position: relative; 
    margin: 0 5px; 
    gap: 8px; 
}

.hidden-diagnosis-container .hidden-text { 
    display: none; 
}

.hidden-diagnosis-container.is-revealed .hidden-text { 
    display: inline-block; 
}

.hidden-diagnosis-container .show-answer-btn { 
    display: inline-block; 
}

.hidden-diagnosis-container.is-revealed .show-answer-btn { 
    display: none; 
}

.hidden-diagnosis-container .hide-answer-btn { 
    display: none; 
}

.hidden-diagnosis-container.is-revealed .hide-answer-btn { 
    display: inline-block; 
}

.post-buttons-buttons-wrapper { 
    display: flex; 
    flex-wrap: wrap; 
    gap: 5px; 
}

/* Estilo Base dos Botões (Element UI like) */
.el-button { 
    display: inline-block; 
    text-align: center; 
    white-space: nowrap; 
    cursor: pointer; 
    border: 1px solid #dcdfe6; 
    color: #606266; 
    -webkit-appearance: none; 
    box-sizing: border-box; 
    outline: none; 
    margin: 0; 
    transition: .1s; 
    font-weight: 500; 
    padding: 12px 20px; 
    font-size: 14px; 
    border-radius: 4px; 
    line-height: 1; 
    text-decoration: none; 
}

.el-button.fcom_primary_button { 
    color: #fff; 
    background-color: #409eff; 
    border-color: #409eff; 
}

.el-button.fcom_secondary_button { 
    color: #fff; 
    background-color: #909399; 
    border-color: #909399; 
}

.el-button:hover { 
    opacity: 0.8; 
}

/* =========================================
   2. PLAYER DE PODCAST (V7.4)
   ========================================= */

.podcast-player { 
    display: flex; 
    align-items: center; 
    background: transparent; 
    box-shadow: none; 
    padding: 0; 
    max-width: 100%; 
    margin: 1em 0; 
    width: 100%; 
    font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, sans-serif; 
}

.podcast-controls-wrapper { 
    flex-grow: 1; 
    display: flex; 
    flex-direction: column; 
    gap: 8px; 
    position: relative; 
    width: 100%; 
}

.podcast-progress-container { 
    width: 100%; 
}

.podcast-progress-bar { 
    background: rgba(128, 128, 128, 0.3); 
    border-radius: 5px; 
    height: 6px; 
    cursor: pointer; 
    width: 100%; 
}

.podcast-progress-filled { 
    background: #409eff; 
    height: 100%; 
    width: 0%; 
    border-radius: 5px; 
}

.podcast-time-display { 
    display: flex; 
    justify-content: space-between; 
    font-size: 11px; 
    color: inherit; 
    opacity: 0.7; 
    margin-top: 4px; 
}

.podcast-main-controls { 
    display: flex; 
    justify-content: flex-start; 
    align-items: center; 
    gap: 15px; 
    position: relative; 
}

.podcast-button-group { 
    display: flex; 
    align-items: center; 
    background: rgba(0, 0, 0, 0.2); 
    border-radius: 25px; 
    padding: 4px 8px; 
}

.podcast-control-btn { 
    background: none; 
    border: none; 
    cursor: pointer; 
    color: inherit; 
    opacity: 0.8; 
    display: flex; 
    align-items: center; 
    justify-content: center; 
    transition: all 0.2s; 
}

.podcast-control-btn:hover { 
    opacity: 1; 
}

.podcast-play-pause-btn { 
    padding: 5px; 
}

.podcast-rewind-btn, 
.podcast-forward-btn { 
    width: 42px; 
    height: 42px; 
}

.podcast-play-pause-btn svg { 
    width: 36px; 
    height: 36px; 
}

.podcast-rewind-btn svg, 
.podcast-forward-btn svg { 
    width: 28px; 
    height: 28px; 
}

.podcast-speed-btn { 
    background: rgba(0, 0, 0, 0.2); 
    border: none; 
    border-radius: 20px; 
    padding: 4px 10px; 
    font-size: 12px; 
    font-weight: bold; 
    cursor: pointer; 
    color: inherit; 
    opacity: 0.8; 
    position: absolute; 
    right: 0; 
    top: 50%; 
    transform: translateY(-50%); 
}

@media (prefers-color-scheme: dark) { 
    .podcast-button-group, 
    .podcast-speed-btn { 
        background: rgba(255, 255, 255, 0.15); 
    } 
}

@media (max-width: 480px) { 
    .podcast-player { 
        flex-direction: column; 
        text-align: center; 
    } 
    .podcast-controls-wrapper { 
        width: 100%;
    } 
}

/* =========================================
   3. FLASHCARDS (V7.4)
   ========================================= */

.medspacy-flashcards { 
    max-width: 800px; 
    margin: 10px auto; 
    padding: 0; 
    font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, sans-serif; 
}

.flashcard-start-screen { 
    display: flex; 
    justify-content: center; 
    align-items: center; 
    height: 400px; 
    background: linear-gradient(135deg, #38b6ff 0%, #2980b9 100%); 
    color: white !important; 
    border-radius: 20px; 
    text-align: center; 
    padding: 20px; 
    box-shadow: 0 8px 32px rgba(0,0,0,0.1); 
}

.flashcard-start-screen .start-screen-content {
     width: 100%;
}

.start-screen-icon { 
    font-size: 48px; 
    margin-bottom: 15px; 
    display: block; 
}

.flashcard-start-screen h2 { 
    color: white !important; 
    font-size: 26px; 
    margin-bottom: 10px; 
    font-weight: 600; 
}

.flashcard-start-screen p { 
    color: white !important; 
    font-size: 16px; 
    opacity: 0.85; 
    margin-bottom: 30px; 
}

.start-screen-buttons { 
    display: flex; 
    flex-direction: column; 
    gap: 15px; 
    width: 100%; 
    max-width: 320px;
    margin-left: auto;
    margin-right: auto;
}

.start-review-btn { 
    background: #ffffff;
    border: none;
    padding: 18px 30px; 
    border-radius: 50px; 
    cursor: pointer; 
    font-size: 16px; 
    font-weight: 600; 
    transition: all 0.3s ease; 
    box-shadow: 0 4px 20px rgba(0, 0, 0, 0.15); 
    width: 100%;
    text-align: center;
    line-height: 1.2;
}

.start-review-btn:hover { 
    transform: scale(1.03); 
    box-shadow: 0 6px 25px rgba(0, 0, 0, 0.2);
}

.start-review-btn.deck-study-btn { 
    color: #2980b9; 
}

.start-review-btn.srs-review-btn { 
    color: #fd79a8; 
}

.flashcard { 
    height: 400px; 
    margin-bottom: 0; 
}

.card-container { 
    position: relative; 
    width: 100%; 
    height: 100%; 
}

.card-question, 
.card-answer { 
    width: 100%; 
    height: 100%; 
    border-radius: 20px; 
    box-shadow: 0 8px 32px rgba(0,0,0,0.1); 
    transition: all 0.3s ease; 
    position: relative; 
    overflow: hidden; 
}

.card-question { 
    background: linear-gradient(135deg, #38b6ff 0%, #2980b9 100%); 
    color: white !important; 
}

.card-answer { 
    background: linear-gradient(135deg, #fd79a8 100%, #e84393 100%); 
    color: white !important; 
}

.card-content { 
    padding: 30px 20px; 
    height: calc(100% - 60px); 
    display: flex; 
    flex-direction: column; 
    justify-content: center; 
    align-items: center; 
    text-align: center; 
}

.card-content h4 { 
    color: white !important; 
    font-size: 20px; 
    margin-bottom: 25px; 
    line-height: 1.4; 
    word-wrap: break-word; 
    overflow-wrap: break-word; 
    hyphens: auto; 
}

.deck-info-bottom { 
    position: absolute; 
    bottom: 0; 
    left: 0; 
    right: 0; 
    display: flex; 
    justify-content: space-between; 
    align-items: center; 
    padding: 12px 20px; 
    background: rgba(0, 0, 0, 0.15); 
    border-radius: 0 0 20px 20px; 
    font-size: 12px; 
    backdrop-filter: blur(10px); 
    z-index: 2; 
    color: white !important; 
}

.deck-title-bottom { 
    font-weight: 500; 
    opacity: 0.9; 
    max-width: 40%; 
    overflow: hidden; 
    text-overflow: ellipsis; 
    white-space: nowrap; 
}

.stats-group { 
    display: flex; 
    align-items: center; 
    gap: 10px; 
}

.stat-item { 
    display: flex; 
    align-items: center; 
    gap: 4px; 
    font-size: 11px; 
    font-weight: 400; 
    opacity: 0.8; 
}

.medical-area-bottom { 
    display: flex; 
    align-items: center; 
    gap: 6px; 
    opacity: 0.85; 
    border-left: 1px solid rgba(255,255,255,0.2); 
    padding-left: 12px; 
}

.area-icon-bottom { 
    font-size: 14px; 
}

.area-name-bottom { 
    font-weight: 500; 
    font-size: 11px; 
}

.question-reminder { 
    position: absolute; 
    top: 15px; 
    left: 15px; 
    right: 15px; 
    padding: 8px 12px; 
    background: rgba(255,255,255,0.1); 
    border-radius: 8px; 
    font-size: 11px; 
    opacity: 0.8; 
    backdrop-filter: blur(3px); 
    z-index: 1; 
    color: white !important; 
}

.question-reminder small { 
    color: white !important; 
}

.difficulty-section { 
    margin-top: 20px; 
}

.reveal-btn { 
    background: rgba(255,255,255,0.2); 
    border: 2px solid white; 
    color: white; 
    padding: 15px 30px; 
    border-radius: 25px; 
    cursor: pointer; 
    transition: all 0.3s; 
    font-size: 16px; 
    font-weight: 600; 
    backdrop-filter: blur(5px); 
}

.reveal-btn:hover { 
    background: white; 
    color: #38b6ff; 
    transform: scale(1.05); 
}

.difficulty-buttons { 
    display: flex; 
    flex-wrap: wrap; 
    gap: 15px; 
    justify-content: center; 
    max-width: 100%; 
    margin: 0 auto; 
}

.diff-btn { 
    padding: 12px 20px; 
    border: 2px solid white; 
    border-radius: 25px; 
    cursor: pointer; 
    transition: all 0.3s; 
    font-weight: 600; 
    font-size: 14px; 
    text-align: center; 
    background: rgba(255,255,255,0.2); 
    color: white; 
    backdrop-filter: blur(5px); 
    flex: 1; 
    min-width: 120px; 
    max-width: 160px; 
    display: flex; 
    align-items: center; 
    justify-content: center; 
}

.diff-btn:hover { 
    transform: scale(1.05); 
}

.again:hover { 
    background: #e74c3c; 
    border-color: #e74c3c; 
}

.correct:hover { 
    background: #27ae60; 
    border-color: #27ae60; 
}

.completion-screen { 
    text-align: center; 
    padding: 30px 20px; 
    background: linear-gradient(135deg, #38b6ff 0%, #2980b9 100%); 
    color: white !important; 
    border-radius: 20px; 
}

.completion-content h2 { 
    color: white !important; 
    font-size: 28px; 
    margin-bottom: 20px; 
}

.completion-content p { 
    color: white !important; 
}

.final-stats { 
    display: grid; 
    grid-template-columns: repeat(auto-fit, minmax(120px, 1fr)); 
    gap: 15px; 
    margin: 25px 0; 
}

.final-stat { 
    background: rgba(255,255,255,0.15); 
    padding: 15px; 
    border-radius: 10px; 
    backdrop-filter: blur(5px); 
    color: white !important; 
}

.action-buttons { 
    display: flex; 
    gap: 12px; 
    justify-content: center; 
    flex-wrap: wrap; 
    margin-top: 25px; 
}

.action-btn { 
    padding: 12px 24px; 
    border: none; 
    border-radius: 25px; 
    cursor: pointer; 
    transition: all 0.3s; 
    font-weight: 600; 
}

.action-btn.primary { 
    background: #2ecc71; 
    color: white; 
}

.action-btn { 
    background: rgba(255,255,255,0.2); 
    color: white; 
    border: 2px solid white; 
}

@media (max-width: 600px) { 
    .deck-info-bottom { 
        flex-direction: column; 
        align-items: center; 
        gap: 8px; 
    } 
    .deck-title-bottom { 
        order: 1; 
        width: auto; 
        max-width: 100%; 
        text-align: center; 
    } 
    .stats-group { 
        order: 2; 
        width: 100%; 
        justify-content: space-around; 
    } 
}

@media (max-width: 480px) { 
    .flashcard, 
    .flashcard-start-screen { 
        height: 420px; 
    } 
    .card-question .card-content h4, 
    .card-answer .card-content h4 { 
        font-size: 16px; 
    } 
    .action-buttons { 
        flex-direction: column; 
        align-items: center; 
    } 
}

/* =========================================
   4. UI KIT & QUIZ (NOVO V7.6+) - ISOLADO
   ========================================= */

.medspacy-ui-kit {
    /* Reset de Layout (Mantém integridade estrutural) */
    display: block !important;
    box-sizing: border-box !important;
    width: 100% !important;
    margin: 20px 0 !important;
    position: relative !important;
    
    /* Herança de Estilo */
    font-family: inherit !important;
    line-height: 1.6 !important;
    background: transparent !important;
    color: inherit !important;
    -webkit-font-smoothing: antialiased !important;
}

/* Força Box-Sizing em todo o escopo do quiz */
.medspacy-ui-kit *,
.medspacy-ui-kit *::before,
.medspacy-ui-kit *::after {
    box-sizing: border-box !important;
}

/* Reset de elementos tipográficos DENTRO do kit */
.medspacy-ui-kit p { 
    margin: 0 0 1em 0 !important; 
    padding: 0 !important; 
    color: inherit !important; 
    line-height: 1.6 !important; 
    font-size: 1em !important; 
}

.medspacy-ui-kit strong, .medspacy-ui-kit b { font-weight: 700 !important; color: inherit !important; }
.medspacy-ui-kit em, .medspacy-ui-kit i { font-style: italic !important; }
.medspacy-ui-kit img { max-width: 100% !important; height: auto !important; display: block !important; border-radius: 8px !important; margin: 15px 0 !important; box-shadow: 0 4px 6px -1px rgba(0, 0, 0, 0.1) !important; }
.medspacy-ui-kit button { appearance: none !important; border: none !important; background: none !important; cursor: pointer !important; padding: 0 !important; box-shadow: none !important; }

/* Tags do Quiz */
.medspacy-ui-kit .medspacy-question-header {
    display: flex !important;
    flex-wrap: wrap !important;
    gap: 8px !important;
    margin-bottom: 16px !important;
    align-items: center !important;
    padding-bottom: 12px !important;
    border-bottom: 1px solid rgba(128, 128, 128, 0.2) !important;
}

.medspacy-ui-kit .medspacy-tag {
    display: inline-flex !important;
    align-items: center !important;
    padding: 4px 10px !important;
    border-radius: 6px !important;
    font-size: 0.75rem !important;
    font-weight: 600 !important;
    text-transform: uppercase !important;
    letter-spacing: 0.025em !important;
    line-height: 1 !important;
    white-space: nowrap !important;
    border: 1px solid transparent !important;
    box-shadow: 0 1px 2px rgba(0,0,0,0.05) !important;
}

.medspacy-ui-kit .medspacy-tag.tag-prova { background-color: #e0f2fe !important; color: #0369a1 !important; border-color: #bae6fd !important; }
.medspacy-ui-kit .medspacy-tag.tag-banca { background-color: #fef3c7 !important; color: #92400e !important; border-color: #fde68a !important; }
.medspacy-ui-kit .medspacy-tag.tag-ano { background-color: #ecfdf5 !important; color: #047857 !important; border-color: #a7f3d0 !important; }
.medspacy-ui-kit .medspacy-tag.tag-label { background-color: #374151 !important; color: #ffffff !important; border-color: #374151 !important; }

/* Container do Quiz */
.medspacy-ui-kit .mq-quiz-container {
    background: transparent !important; 
    border: 1px solid rgba(128, 128, 128, 0.2) !important;
    border-radius: 16px !important;
    padding: 30px !important;
    margin: 30px 0 !important;
    color: inherit !important;
    position: relative !important;
}

.medspacy-ui-kit .mq-header { margin-bottom: 20px !important; display: flex !important; justify-content: space-between !important; align-items: center !important; border-bottom: 1px solid rgba(128, 128, 128, 0.1) !important; padding-bottom: 15px !important; }
.medspacy-ui-kit .mq-counter { font-size: 0.85rem !important; font-weight: 600 !important; opacity: 0.7 !important; padding: 4px 10px !important; border-radius: 6px !important; background: rgba(128, 128, 128, 0.1) !important; }

.medspacy-ui-kit .mq-enunciation { font-size: 1.125rem !important; line-height: 1.75 !important; color: inherit !important; margin-bottom: 25px !important; font-weight: 400 !important; }

.medspacy-ui-kit .mq-alternatives { display: flex !important; flex-direction: column !important; gap: 12px !important; }

.medspacy-ui-kit .mq-alt-btn {
    background: rgba(128, 128, 128, 0.05) !important;
    border: 1px solid rgba(128, 128, 128, 0.2) !important;
    padding: 16px !important;
    text-align: left !important;
    border-radius: 12px !important;
    cursor: pointer !important;
    transition: all 0.2s ease !important;
    font-size: 1rem !important;
    color: inherit !important;
    width: 100% !important;
    display: flex !important; align-items: flex-start !important; gap: 16px !important;
    position: relative !important; overflow: hidden !important;
}

.medspacy-ui-kit .mq-alt-btn:not(:disabled):hover { 
    border-color: rgba(59, 130, 246, 0.5) !important; 
    background-color: rgba(59, 130, 246, 0.05) !important; 
}

.medspacy-ui-kit .mq-alt-btn:disabled { cursor: default !important; opacity: 1 !important; }

.medspacy-ui-kit .mq-alt-letter {
    display: flex !important; align-items: center !important; justify-content: center !important;
    width: 32px !important; height: 32px !important;
    border-radius: 50% !important;
    background-color: rgba(128, 128, 128, 0.1) !important;
    color: inherit !important; opacity: 0.8 !important;
    font-weight: 700 !important; font-size: 14px !important;
    flex-shrink: 0 !important;
    transition: all 0.2s !important;
    z-index: 2 !important;
}

.medspacy-ui-kit .mq-alt-btn:hover .mq-alt-letter { border-color: #3b82f6 !important; color: #2563eb !important; background: white !important; }

.medspacy-ui-kit .mq-alt-text { flex: 1 !important; line-height: 1.5 !important; margin-top: 2px !important; z-index: 2 !important; position: relative !important; }

.medspacy-ui-kit .mq-alt-btn.correct { border-color: #10b981 !important; background-color: rgba(16, 185, 129, 0.1) !important; }
.medspacy-ui-kit .mq-alt-btn.correct .mq-alt-letter { background-color: #10b981 !important; color: white !important; border-color: #10b981 !important; }

.medspacy-ui-kit .mq-alt-btn.wrong { border-color: #ef4444 !important; background-color: rgba(239, 68, 68, 0.1) !important; }
.medspacy-ui-kit .mq-alt-btn.wrong .mq-alt-letter { background-color: #ef4444 !important; color: white !important; border-color: #ef4444 !important; }

.medspacy-ui-kit .mq-icon { font-size: 1.25rem !important; font-weight: bold !important; margin-left: auto !important; z-index: 2 !important; }
.medspacy-ui-kit .mq-alt-btn.correct .mq-icon { color: #10b981 !important; }
.medspacy-ui-kit .mq-alt-btn.wrong .mq-icon { color: #ef4444 !important; }

/* Comentário (Novo Design) */
.medspacy-ui-kit .mq-result-area { 
    margin-top: 24px !important; 
    background: transparent !important; 
    padding: 0 !important; 
    animation: msFadeIn 0.4s ease-out !important; 
}

.medspacy-ui-kit .mq-explanation-content { 
    background: rgba(59, 130, 246, 0.05) !important; 
    border: 1px solid rgba(59, 130, 246, 0.2) !important; 
    border-radius: 12px !important; 
    padding: 20px !important; 
    margin-top: 15px !important;
    display: none !important; /* Escondido inicialmente */
    animation: msFadeIn 0.3s ease !important;
}

.medspacy-ui-kit .mq-explanation { border-left: 4px solid #0284c7 !important; padding-left: 15px !important; }
.medspacy-ui-kit .mq-explanation strong { color: #0284c7 !important; display: block !important; margin-bottom: 8px !important; font-size: 0.9em !important; text-transform: uppercase !important; letter-spacing: 0.05em !important; }
.medspacy-ui-kit .mq-explanation-text { color: inherit !important; opacity: 0.9 !important; }

/* Botão Toggle Comentário Aprimorado */
.medspacy-ui-kit .mq-toggle-explanation-btn {
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    gap: 8px !important;
    padding: 10px 20px !important;
    border-radius: 99px !important;
    background: transparent !important;
    border: 1px solid #3b82f6 !important;
    color: #3b82f6 !important;
    font-weight: 600 !important;
    font-size: 0.95rem !important;
    cursor: pointer !important;
    transition: all 0.2s ease !important;
    width: auto !important;
    margin: 0 auto !important; /* Centralizar */
}

.medspacy-ui-kit .mq-toggle-explanation-btn:hover {
    background: #3b82f6 !important;
    color: white !important;
    transform: translateY(-2px) !important;
    box-shadow: 0 4px 10px rgba(59, 130, 246, 0.2) !important;
}

.medspacy-ui-kit .mq-toggle-explanation-btn.open {
    background: #3b82f6 !important;
    color: white !important;
}

.medspacy-ui-kit .mq-nav-area { margin-top: 30px !important; display: flex !important; justify-content: flex-end !important; gap: 12px !important; border-top: 1px solid rgba(128, 128, 128, 0.1) !important; padding-top: 20px !important; }

.medspacy-ui-kit .mq-result-overlay {
    top: 0 !important; left: 0 !important; width: 100% !important; height: 100% !important;
    background: rgba(255,255,255,0.95) !important;
    backdrop-filter: blur(5px) !important;
    border-radius: 16px !important;
    display: flex !important; align-items: center !important; justify-content: center !important;
    z-index: 10 !important;
    animation: msFadeIn 0.3s ease !important;
}

@keyframes msFadeIn { from { opacity: 0; transform: translateY(10px); } to { opacity: 1; transform: translateY(0); } }

/* Dark Mode Nativo para Quiz */
@media (prefers-color-scheme: dark) {
    .medspacy-ui-kit .mq-quiz-container,
    .medspacy-ui-kit .mq-alt-btn,
    .medspacy-ui-kit .mq-header,
    .medspacy-ui-kit .mq-nav-area,
    .medspacy-ui-kit .medspacy-tag {
        border-color: rgba(255, 255, 255, 0.15) !important;
    }
    
    .medspacy-ui-kit .mq-alt-btn:hover { background-color: rgba(255, 255, 255, 0.1) !important; }
    .medspacy-ui-kit .mq-result-overlay { background: rgba(17, 24, 39, 0.95) !important; }
}

@media (max-width: 640px) {
    .medspacy-ui-kit .mq-quiz-container { padding: 20px !important; margin: 15px 0 !important; }
    .medspacy-ui-kit .mq-alt-btn { padding: 12px !important; font-size: 0.95rem !important; }
    .medspacy-ui-kit .mq-alt-btn .mq-alt-letter { width: 28px !important; height: 28px !important; font-size: 12px !important; }
}