/**
 * Breakdance Content Reveal - Progressive Enhancement
 * 
 * Esta solução garante que o conteúdo seja sempre visível,
 * mesmo quando o JavaScript está desativado.
 * 
 * Implementa progressive enhancement para melhor acessibilidade e SEO.
 */

/* ========================================
   RESET PARA PROGRESSIVE ENHANCEMENT
   ======================================== */

/**
 * Por defeito, mostrar todo o conteúdo dos componentes Content Reveal
 * Isto garante que o conteúdo seja visível mesmo sem JavaScript
 */
.bde-content-reveal__container.is-hidden .bde-content-reveal__content {
    max-height: none !important;
    overflow: visible !important;
    opacity: 1 !important;
}

/**
 * Remover o overlay de fade que pode esconder conteúdo
 */
.bde-content-reveal__container.is-hidden .bde-content-reveal__content::after {
    display: none !important;
}

/**
 * Esconder o botão "read more" por defeito
 * Será mostrado apenas quando JavaScript estiver ativo
 */
.bde-content-reveal .bde-content-reveal__button {
    display: none;
}

/* ========================================
   ESTILOS QUANDO JAVASCRIPT ESTÁ ATIVO
   ======================================== */

/**
 * Quando JavaScript está ativo (classe .js-enabled adicionada),
 * restaurar o comportamento original do Breakdance
 */
.js-enabled .bde-content-reveal__container.is-hidden .bde-content-reveal__content {
    max-height: var(--bde-content-reveal-height) !important;
    overflow: hidden !important;
}

/**
 * Restaurar o overlay quando JavaScript está ativo
 */
.js-enabled .bde-content-reveal__container.is-hidden .bde-content-reveal__content::after {
    display: block !important;
}

/**
 * Mostrar o botão "read more" quando JavaScript está ativo
 */
.js-enabled .bde-content-reveal .bde-content-reveal__button {
    display: inline-flex;
}

/* ========================================
   MELHORIAS DE ACESSIBILIDADE
   ======================================== */

/**
 * Garantir que o foco seja visível nos botões
 */
.bde-content-reveal .bde-content-reveal__button:focus {
    outline: 2px solid #0073aa;
    outline-offset: 2px;
}

/**
 * Melhorar a experiência para utilizadores que preferem movimento reduzido
 */
@media (prefers-reduced-motion: reduce) {
    .bde-content-reveal__content {
        transition: none !important;
    }
    
    .bde-content-reveal__content::after {
        transition: none !important;
    }
}

/* ========================================
   ESTILOS PARA IMPRESSÃO
   ======================================== */

/**
 * Garantir que todo o conteúdo seja visível quando impresso
 */
@media print {
    .bde-content-reveal__container.is-hidden .bde-content-reveal__content {
        max-height: none !important;
        overflow: visible !important;
    }
    
    .bde-content-reveal__container.is-hidden .bde-content-reveal__content::after {
        display: none !important;
    }
    
    .bde-content-reveal .bde-content-reveal__button {
        display: none !important;
    }
}

/* ========================================
   FALLBACK PARA NAVEGADORES ANTIGOS
   ======================================== */

/**
 * Para navegadores que não suportam CSS custom properties
 */
.bde-content-reveal__container.is-hidden .bde-content-reveal__content {
    max-height: 9999px;
}

/**
 * Garantir compatibilidade com Internet Explorer
 */
.no-js .bde-content-reveal__container.is-hidden .bde-content-reveal__content,
.bde-content-reveal__container.is-hidden .bde-content-reveal__content {
    -ms-overflow-style: auto;
    scrollbar-width: auto;
}
