/* ========================================
   60maisPlay - Acessibilidade para Idosos 60+
   Melhorias de UX/UI para melhor experiência
   ======================================== */

/* ========================================
   FONTES MAIORES E LEGÍVEIS
   ======================================== */
.acessibilidade-idoso {
    /* Aumenta fontes base */
    --text-base: 20px !important;
    --text-lg: 22px !important;
    --text-xl: 26px !important;
    --text-2xl: 36px !important;
    --text-3xl: 52px !important;
}

/* Aplica fontes maiores em elementos críticos */
body.modo-idoso {
    font-size: 20px !important;
}

body.modo-idoso .form-group label {
    font-size: 18px !important;
    font-weight: 600 !important;
}

body.modo-idoso input,
body.modo-idoso button,
body.modo-idoso select,
body.modo-idoso textarea {
    font-size: 20px !important;
    min-height: 56px !important;
}

body.modo-idoso .btn {
    font-size: 20px !important;
    padding: 18px 32px !important;
    min-height: 60px !important;
}

body.modo-idoso .nav-link {
    font-size: 20px !important;
    padding: 16px !important;
}

body.modo-idoso h1 {
    font-size: 42px !important;
}

body.modo-idoso h2 {
    font-size: 32px !important;
}

body.modo-idoso h3 {
    font-size: 26px !important;
}

body.modo-idoso p,
body.modo-idoso span,
body.modo-idoso li {
    font-size: 20px !important;
    line-height: 1.7 !important;
}

/* ========================================
   BOTÕES MAIORES (Touch Targets 48px+)
   ======================================== */
.btn-acessivel {
    min-height: 56px !important;
    min-width: 120px !important;
    padding: 16px 28px !important;
    font-size: 20px !important;
    font-weight: 600 !important;
    border-radius: 12px !important;
    box-shadow: 0 4px 6px rgba(0,0,0,0.1) !important;
    transition: all 0.2s ease !important;
}

.btn-acessivel:hover {
    transform: translateY(-2px) !important;
    box-shadow: 0 6px 12px rgba(0,0,0,0.15) !important;
}

.btn-acessivel:active {
    transform: translateY(0) !important;
}

/* Botão com ícone */
.btn-acessivel i {
    font-size: 22px !important;
    margin-right: 10px !important;
}

/* ========================================
   CONTRASTE MELHORADO
   ======================================== */
.contraste-alto {
    --text-primary: #000000 !important;
    --text-secondary: #333333 !important;
    --bg-primary: #ffffff !important;
    --bg-secondary: #f5f5f5 !important;
    --border-color: #666666 !important;
}

.contraste-alto body {
    background: #ffffff !important;
    color: #000000 !important;
}

.contraste-alto .btn-primary {
    background: #000000 !important;
    color: #ffffff !important;
    border: 3px solid #000000 !important;
}

.contraste-alto input,
.contraste-alto select,
.contraste-alto textarea {
    border: 3px solid #333333 !important;
    background: #ffffff !important;
    color: #000000 !important;
}

.contraste-alto .login-container {
    background: #ffffff !important;
}

.contraste-alto .login-brand {
    background: #000000 !important;
}

.contraste-alto .login-form-container {
    background: #ffffff !important;
}

.contraste-alto .form-title,
.contraste-alto .form-subtitle {
    color: #000000 !important;
}

.contraste-alto .label-acessivel {
    color: #000000 !important;
    font-weight: 700 !important;
}

/* ========================================
   FOCO VISÍVEL CLARO (Acessibilidade Teclado)
   ======================================== */
*:focus-visible {
    outline: 4px solid #F4B400 !important;
    outline-offset: 3px !important;
}

button:focus-visible,
a:focus-visible,
input:focus-visible,
select:focus-visible {
    outline: 4px solid #F4B400 !important;
    outline-offset: 3px !important;
    box-shadow: 0 0 0 6px rgba(244, 180, 0, 0.3) !important;
}

/* ========================================
   ESPAÇAMENTO MAIOR
   ======================================== */
.espacamento-idoso .form-group {
    margin-bottom: 28px !important;
}

.espacamento-idoso .btn {
    margin: 8px !important;
}

.espacamento-idoso .card {
    padding: 28px !important;
    margin-bottom: 24px !important;
}

/* ========================================
   FEEDBACK VISUAL CLARO
   ======================================== */
.feedback-toast {
    position: fixed;
    bottom: 30px;
    left: 50%;
    transform: translateX(-50%);
    background: #1a1a1a;
    color: white;
    padding: 20px 32px;
    border-radius: 12px;
    font-size: 20px;
    font-weight: 500;
    box-shadow: 0 8px 24px rgba(0,0,0,0.2);
    z-index: 9999;
    animation: slideUp 0.3s ease;
    min-width: 300px;
    text-align: center;
}

@keyframes slideUp {
    from {
        opacity: 0;
        transform: translateX(-50%) translateY(20px);
    }
    to {
        opacity: 1;
        transform: translateX(-50%) translateY(0);
    }
}

.feedback-toast.sucesso {
    background: #4CAF50;
}

.feedback-toast.erro {
    background: #e74c3c;
}

.feedback-toast.aviso {
    background: #F4B400;
    color: #1a1a1a;
}

/* ========================================
   BARRA DE FERRAMENTAS DE ACESSIBILIDADE
   ======================================== */
.barra-acessibilidade {
    position: fixed;
    top: 0;
    left: 0;
    right: 0;
    background: #1a1a1a;
    padding: 12px 24px;
    display: flex;
    justify-content: center;
    gap: 16px;
    z-index: 10000;
    box-shadow: 0 2px 10px rgba(0,0,0,0.2);
}

.barra-acessibilidade button {
    background: #333;
    color: white;
    border: 2px solid #555;
    padding: 10px 20px;
    border-radius: 8px;
    cursor: pointer;
    font-size: 16px;
    font-weight: 500;
    display: flex;
    align-items: center;
    gap: 8px;
    transition: all 0.2s ease;
}

.barra-acessibilidade button:hover {
    background: #F4B400;
    color: #1a1a1a;
    border-color: #F4B400;
}

.barra-acessibilidade button.ativo {
    background: #F4B400;
    color: #1a1a1a;
    border-color: #F4B400;
}

.barra-acessibilidade i {
    font-size: 18px;
}

/* Responsivo - Mobile */
@media (max-width: 768px) {
    .barra-acessibilidade {
        padding: 8px 12px;
        gap: 8px;
        flex-wrap: nowrap;
        overflow-x: auto;
        -webkit-overflow-scrolling: touch;
        justify-content: flex-start;
    }
    
    .barra-acessibilidade button {
        padding: 8px 12px;
        font-size: 14px;
        min-width: auto;
        white-space: nowrap;
        flex-shrink: 0;
    }
    
    .barra-acessibilidade button span {
        display: none; /* Esconde texto no mobile, mostra só ícone */
    }
    
    .barra-acessibilidade i {
        font-size: 22px;
        margin: 0;
    }
    
    body.com-barra-acessibilidade {
        padding-top: 55px !important;
    }
}

/* Ajuste para não cobrir conteúdo */
body.com-barra-acessibilidade {
    padding-top: 70px !important;
}

/* ========================================
   LINKS E TEXTOS CLICÁVEIS MAIORES
   ======================================== */
.link-acessivel {
    font-size: 20px !important;
    padding: 8px 4px !important;
    display: inline-block !important;
    text-decoration: underline !important;
    text-underline-offset: 4px !important;
}

.link-acessivel:hover {
    text-decoration-thickness: 3px !important;
}

/* ========================================
   CARDS E CONTEÚDO MAIS CLARO
   ======================================== */
.card-acessivel {
    border: 3px solid #e0e0e0 !important;
    border-radius: 16px !important;
    padding: 28px !important;
    box-shadow: 0 4px 12px rgba(0,0,0,0.08) !important;
}

.card-acessivel:hover {
    border-color: #F4B400 !important;
    box-shadow: 0 6px 20px rgba(0,0,0,0.12) !important;
}

/* ========================================
   FORMULÁRIOS MELHORADOS
   ======================================== */
.input-acessivel {
    font-size: 20px !important;
    padding: 18px 20px 18px 56px !important; /* padding-left maior para o ícone */
    min-height: 60px !important;
    border: 3px solid #cccccc !important;
    border-radius: 12px !important;
    width: 100% !important;
    box-sizing: border-box !important;
}

.input-acessivel:focus {
    border-color: #F4B400 !important;
    box-shadow: 0 0 0 4px rgba(244, 180, 0, 0.2) !important;
}

.input-acessivel::placeholder {
    font-size: 18px !important;
    color: #888 !important;
}

/* Wrapper do input com ícone */
.input-wrapper {
    position: relative !important;
    display: flex !important;
    align-items: center !important;
}

/* Ícone dentro do input */
.input-wrapper i {
    position: absolute !important;
    left: 18px !important;
    color: #666 !important;
    font-size: 20px !important;
    z-index: 10 !important;
    pointer-events: none !important;
}

/* Botão de mostrar senha */
.toggle-password {
    position: absolute !important;
    right: 12px !important;
    background: none !important;
    border: none !important;
    cursor: pointer !important;
    padding: 8px !important;
    font-size: 20px !important;
    color: #666 !important;
}

.toggle-password:hover {
    color: #F4B400 !important;
}

/* Labels maiores */
.label-acessivel {
    font-size: 18px !important;
    font-weight: 600 !important;
    margin-bottom: 10px !important;
    display: block !important;
    color: #1a1a1a !important;
}

/* ========================================
   SKIP LINK (Navegação por teclado)
   ======================================== */
.skip-link {
    position: absolute;
    top: -100px;
    left: 50%;
    transform: translateX(-50%);
    background: #F4B400;
    color: #1a1a1a;
    padding: 16px 32px;
    font-size: 20px;
    font-weight: 600;
    border-radius: 0 0 12px 12px;
    z-index: 10001;
    transition: top 0.3s ease;
}

.skip-link:focus {
    top: 0;
}

/* ========================================
   ANIMAÇÕES REDUZIDAS (Opcional)
   ======================================== */
.reduzir-animacoes * {
    animation-duration: 0.01ms !important;
    animation-iteration-count: 1 !important;
    transition-duration: 0.01ms !important;
}

/* ========================================
   MEDIA QUERIES PARA MOBILE
   ======================================== */
@media (max-width: 768px) {
    body.modo-idoso {
        font-size: 18px !important;
    }
    
    body.modo-idoso .btn {
        font-size: 18px !important;
        padding: 16px 24px !important;
        min-height: 54px !important;
    }
    
    body.modo-idoso h1 {
        font-size: 32px !important;
    }
    
    body.modo-idoso h2 {
        font-size: 26px !important;
    }
    
    .barra-acessibilidade {
        flex-wrap: wrap;
        gap: 8px;
        padding: 8px 12px;
    }
    
    .barra-acessibilidade button {
        font-size: 14px;
        padding: 8px 12px;
    }
    
    body.com-barra-acessibilidade {
        padding-top: 100px !important;
    }
}

/* ========================================
   CLASSES UTILITÁRIAS
   ======================================== */
.texto-grande {
    font-size: 22px !important;
}

.texto-muito-grande {
    font-size: 26px !important;
}

.botao-grande {
    min-height: 60px !important;
    padding: 18px 32px !important;
    font-size: 20px !important;
}

.espacamento-extra {
    margin: 20px !important;
    padding: 20px !important;
}

.borda-destaque {
    border: 3px solid #F4B400 !important;
    border-radius: 12px !important;
}

/* ========================================
   PLAYER DE VÍDEO ACESSÍVEL
   ======================================== */
.player-acessivel {
    border-radius: 16px !important;
    overflow: hidden !important;
}

.player-acessivel .btn-play {
    width: 80px !important;
    height: 80px !important;
    font-size: 32px !important;
}

.player-acessivel .controles {
    padding: 20px !important;
}

.player-acessivel .controles button {
    min-width: 50px !important;
    min-height: 50px !important;
    font-size: 22px !important;
}

/* ========================================
   PROGRESSO E INDICADORES
   ======================================== */
.progresso-acessivel {
    height: 24px !important;
    border-radius: 12px !important;
    background: #e0e0e0 !important;
}

.progresso-acessivel .barra {
    height: 100% !important;
    border-radius: 12px !important;
    background: #F4B400 !important;
    min-width: 30px !important;
}

.progresso-acessivel .texto {
    font-size: 18px !important;
    font-weight: 600 !important;
    color: #1a1a1a !important;
}
