/* Importa variáveis e padrões de todo o site */
@import url('main.css');

.wsd-text-error {
    color: #ef4444; /* Vermelho para erro ou aviso sério */
}
/* Alerta temporário para substituição do alert() */
.wsd-temp-alert {
    position: fixed;
    bottom: 20px;
    left: 50%;
    transform: translateX(-50%);
    background-color: var(--color-accent);
    color: white;
    padding: var(--spacing-sm) var(--spacing-md);
    border-radius: var(--border-radius-default);
    box-shadow: 0 4px 12px rgba(0, 0, 0, 0.3);
    z-index: 9999;
    opacity: 1;
    transition: opacity 0.5s, transform 0.5s;
    width: 90vw;
}

/*
|--------------------------------------------------------------------------
| SEÇÃO HERO DO APP (Informações e Download)
|--------------------------------------------------------------------------
*/
.wsd-app-hero {
    display: grid;
    grid-template-columns: 1fr;
    gap: var(--spacing-lg);
    padding: var(--spacing-xl) 0;
    background: var(--color-bg-light);
    border-bottom: 1px solid var(--color-border);
    text-align: center;
}

@media (min-width: 768px) {
    .wsd-app-hero {
        grid-template-columns: 1.5fr 2fr;
        text-align: left;
    }
    .wsd-app-info {
        grid-column: 1 / span 1;
    }
    .wsd-app-description-container {
        grid-column: 2 / span 1;
        align-self: center;
    }
}

.wsd-app-icon-wrapper {
    width: 6rem;
    height: 6rem;
    background: var(--gradient-brand);
    border-radius: 25%; /* Quadrado com cantos arredondados */
    display: flex;
    align-items: center;
    justify-content: center;
    margin: 0 auto 1rem;
    box-shadow: 0 6px 15px rgba(0, 0, 0, 0.2);
}
@media (min-width: 768px) {
    .wsd-app-icon-wrapper {
        margin: 0 0 1rem 0;
    }
}

.wsd-app-icon {
    width: 3.5rem;
    height: 3.5rem;
    color: white;
}

.wsd-app-title {
    font-size: 2.5rem;
    margin-bottom: 0.25rem;
    color: var(--color-bg-dark);
}

.wsd-app-subtitle {
    font-size: 1.25rem;
    color: var(--color-text-muted);
    margin-bottom: 1rem;
}

.wsd-rating {
    font-size: 1.125rem;
    color: var(--color-accent);
    font-weight: 600;
    margin-bottom: 1.5rem;
}

.wsd-star-icon {
    margin-left: 0.5rem;
}
.wsd-review-count {
    font-size: 0.95rem;
    color: var(--color-text-muted);
    font-weight: 400;
    margin-left: 0.5rem;
}

.wsd-app-description {
    font-size: 1.125rem;
    line-height: 1.7;
    margin-bottom: var(--spacing-md);
}

.wsd-app-download-btn {
    display: inline-block;
    font-size: 1.125rem;
    font-weight: 700;
    padding: 1rem 2rem;
    min-width: 250px;
    margin-bottom: var(--spacing-xs);
    border-radius: 50px;
}

.wsd-app-small-print {
    font-size: 0.875rem;
    color: var(--color-text-muted);
    margin-top: 0;
}

/*
|--------------------------------------------------------------------------
| SEÇÃO VÍDEO E CARROSSEL
|--------------------------------------------------------------------------
*/

.wsd-section-video {
    padding: var(--spacing-xl) 0;
    text-align: center;
}

.wsd-section-heading {
    font-size: 2.25rem;
    margin-bottom: var(--spacing-md);
}

.wsd-section-subheading {
    font-size: 1.75rem;
    color: var(--color-bg-dark);
    margin-top: var(--spacing-lg);
    margin-bottom: var(--spacing-md);
}

.wsd-video-wrapper {
    position: relative;
    padding-bottom: 56.25%; /* 16:9 Aspect Ratio */
    height: 0;
    overflow: hidden;
    border-radius: var(--border-radius-default);
    box-shadow: 0 10px 30px rgba(0, 0, 0, 0.15);
}

.wsd-video-wrapper iframe {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
}

.wsd-carousel-container {
    padding-top: var(--spacing-lg);
    position: relative; /* Para posicionar os controles do carrossel */
}

/* O contêiner de imagens (O carrossel com id="carrossel") */
.wsd-carousel-images {
    display: flex;
    gap: var(--spacing-sm);
    overflow-x: auto; /* Permite a rolagem nativa */
    scroll-snap-type: x mandatory; /* Para rolagem que para exatamente em um ponto */
    justify-content: flex-start;
    padding-bottom: var(--spacing-xs);
    /* Esconde a barra de rolagem em navegadores que suportam */
    -ms-overflow-style: none;  /* IE and Edge */
    scrollbar-width: none;  /* Firefox */
    
}
/* Esconde a barra de rolagem no Chrome/Safari/Opera */
.wsd-carousel-images::-webkit-scrollbar {
    display: none;
}

/* Cursor quando o usuário está ativamente arrastando */
.wsd-carousel-images.active-drag {
    cursor: grabbing;
    cursor: -webkit-grabbing;
}

/* Estilo de cada item (screenshot) */
.wsd-screenshot {
    flex-shrink: 0;
    width: calc((100% / 3.5) - (var(--spacing-sm) * 3 / 3.5)); /* 3.5 itens + gap */
    height: 450px;
    object-fit: cover;
    border-radius: var(--border-radius-default);
    border: 5px solid var(--color-bg-dark);
    box-shadow: 0 4px 15px rgba(0, 0, 0, 0.1);
    scroll-snap-align: start; /* O ponto de parada da rolagem */
    margin-right: calc(var(--spacing-sm) / 2); /* Pequeno ajuste de margem */
    transition: transform 0.3s ease;
}

.wsd-screenshot:hover {
    transform: translateY(-5px);
}

/* Ajuste para dispositivos menores (2.5 cards) */
@media (max-width: 1024px) {
    .wsd-screenshot {
        width: calc((100% / 2.5) - (var(--spacing-sm) * 1.5 / 2.5));
    }
}
/* Ajuste para mobile (1.5 cards) */
@media (max-width: 600px) {
    .wsd-screenshot {
        width: calc((100% / 1.5) - (var(--spacing-sm) * 0.5 / 1.5));
    }
}


.wsd-carousel-caption {
    font-size: 0.95rem;
    color: var(--color-text-muted);
    margin-top: var(--spacing-xs);
}

/* Estilos para os botões de navegação injetados pelo JS */
.wsd-carousel-controls {
    display: flex;
    justify-content: center;
    gap: var(--spacing-lg);
    margin-top: var(--spacing-md);
    margin-bottom: var(--spacing-lg);
}

.wsd-carousel-btn {
    background: var(--color-primary);
    color: white;
    border: none;
    border-radius: 50%;
    width: 3rem;
    height: 3rem;
    font-size: 1.5rem;
    font-weight: bold;
    cursor: pointer;
    box-shadow: 0 4px 10px rgba(0, 0, 0, 0.2);
    transition: background-color 0.3s, opacity 0.3s, transform 0.1s;
}

.wsd-carousel-btn:hover {
    background-color: var(--color-accent);
    transform: scale(1.05);
}

.wsd-carousel-btn:disabled {
    cursor: not-allowed;
    background-color: var(--color-border);
    opacity: 0.5 !important;
}

/* Estilos de Card do Backlog para funcionar como item de carrossel */
.wsd-backlog-card {
    background-color: white;
    border-radius: 1rem;
    padding: 1.5rem;
    box-shadow: 0 4px 12px rgba(0, 0, 0, 0.08);
    border-left: 5px solid;
    transition: transform 0.3s ease;
    
    /* Largura fixa necessária para rolagem horizontal previsível */
    width: 300px; 
    height: auto; /* Permite que o cartão se ajuste ao conteúdo */
}

.wsd-backlog-card:hover {
    transform: translateY(-5px);
    box-shadow: 0 8px 20px rgba(0, 0, 0, 0.1);
}

/* O carrossel do backlog herda a estrutura de grid horizontal do .wsd-carousel-images */
/* Se necessário ajustar a largura dos itens especificamente para o backlog */
.wsd-backlog-carousel {
    grid-template-columns: repeat(6, minmax(300px, 1fr)); 
    padding: 1em;
}

/*
|--------------------------------------------------------------------------
| PRIVACIDADE E DADOS
|--------------------------------------------------------------------------
*/
.wsd-section-privacy {
    padding: var(--spacing-xl) 0;
    background-color: var(--color-bg-light);
    text-align: center;
}

.wsd-privacy-intro {
    font-size: 1.125rem;
    color: var(--color-text-muted);
    max-width: 800px;
    margin: 0 auto var(--spacing-lg);
}

.wsd-privacy-card {
    text-align: left;
    background-color: white;
    padding: var(--spacing-md);
    border-radius: var(--border-radius-default);
    box-shadow: 0 2px 10px rgba(0, 0, 0, 0.05);
    border-top: 4px solid var(--color-primary); /* Destaque */
    min-height: 280px;
}

.wsd-data-control {
    border-top-color: #ef4444; /* Destaque em vermelho para exclusão de dados */
}

.wsd-card-title {
    font-size: 1.5rem;
    color: var(--color-primary);
    margin-bottom: 1rem;
}

.wsd-permission-list, .wsd-data-usage-list {
    list-style: none;
    padding: 0;
}

.wsd-permission-list li, .wsd-data-usage-list li {
    margin-bottom: 1rem;
    border-left: 2px solid var(--color-accent);
    padding-left: 0.75rem;
}

.wsd-data-note {
    font-style: italic;
    font-size: 0.875rem;
    color: var(--color-text-muted);
    margin-top: 1rem;
}

.wsd-data-delete-btn {
    width: 100%;
    padding: 0.75rem 1rem;
    background-color: #ef4444;
    color: white;
    font-weight: 600;
    border-radius: var(--border-radius-default);
    cursor: pointer;
    transition: background-color 0.2s;
    margin-top: 1.5rem;
}

.wsd-data-delete-btn:hover {
    background-color: #dc2626;
}

/*
|--------------------------------------------------------------------------
| REGISTRO DE VERSÕES
|--------------------------------------------------------------------------
*/
.wsd-section-versions {
    padding: var(--spacing-xl) 0;
    text-align: center;
}

.wsd-version-timeline {
    max-width: 800px;
    margin: var(--spacing-lg) auto;
}

.wsd-version-item {
    text-align: left;
    margin-bottom: var(--spacing-sm);
    border-bottom: 1px dashed var(--color-border);
}

.wsd-version-item:last-child {
    border-bottom: none;
    padding-bottom: 0;
}

.wsd-version-number {
    font-weight: 700;
    color: var(--color-primary);
    font-size: 1.25rem;
    display: block;

    cursor: pointer;
}

.wsd-version-number::before{
    content: "☞ "; /* ☟ */
}

.wsd-version-date {
    font-size: 0.875rem;
    color: var(--color-text-muted);
    display: block;
    margin-bottom: 0.75rem;
}

.wsd-version-title {
    font-size: 1.25rem;
    margin-top: 0.5rem;
}

.wsd-version-item ul {
    list-style: none;
    padding-left: 0;
    margin-top: 0.5rem;
}

.wsd-version-item ul li {
    margin-bottom: 0.25rem;
    color: var(--color-text-default);
    border-left: 3px solid var(--color-accent);
    padding-left: 0.75rem;
}

.wsd-version-tag-new {
    color: var(--color-accent);
    font-weight: 700;
}
.wsd-version-tag-fix {
    color: var(--color-secondary);
    font-weight: 700;
}

/*
|--------------------------------------------------------------------------
| CHAMADA FINAL PARA AÇÃO
|--------------------------------------------------------------------------
*/
.wsd-section-final-cta {
    padding: var(--spacing-xl) 0;
    background: var(--color-bg-dark);
    color: white;
}

.wsd-final-cta-title {
    margin-bottom: 1rem;
    color: white; /* Sobrescreve a cor base do text-3d */
}

.wsd-final-cta-subtitle {
    font-size: 1.125rem;
    color: var(--color-text-light);
    max-width: 700px;
    margin: 0 auto 2rem;
}

.wsd-large-btn {
    padding: 1.2rem 3rem;
    font-size: 1.35rem;
}

/*
|--------------------------------------------------------------------------
| MODAL (Para substituição do alert/confirm)
|--------------------------------------------------------------------------
*/
.wsd-modal {
    display: none; /* Hidden by default */
    position: fixed;
    z-index: 1000; 
    left: 0;
    top: 0;
    width: 100%;
    height: 100%;
    overflow: auto;
    background-color: rgba(0,0,0,0.5); /* Black w/ opacity */
    justify-content: center;
    align-items: center;
}

.wsd-modal-content {
    background-color: white;
    margin: auto;
    padding: var(--spacing-md);
    border-radius: var(--border-radius-default);
    max-width: 90vw;
    position: relative;
    box-shadow: 0 4px 20px rgba(0,0,0,0.3);
}

.wsd-close-btn {
    color: var(--color-text-muted);
    float: right;
    font-size: 28px;
    font-weight: bold;
    cursor: pointer;
}

.wsd-modal-title {
    font-size: 1.5rem;
    margin-top: 0;
    margin-bottom: 1rem;
}

.wsd-modal-actions {
    display: flex;
    justify-content: flex-end;
    gap: var(--spacing-sm);
    margin-top: var(--spacing-md);
}

.wsd-modal-cancel {
    background-color: var(--color-border);
    color: var(--color-bg-dark);
    padding: 0.5rem 1rem;
    border-radius: var(--border-radius-default);
    cursor: pointer;
    transition: background-color 0.2s;
}
.wsd-modal-cancel:hover {
    background-color: var(--color-text-muted);
    color: white;
}

.wsd-modal-confirm {
    /* Herda o estilo do wsd-data-delete-btn */
    margin-top: 0;
    width: auto;
}

/*
|--------------------------------------------------------------------------
| BACKLOG E FUTURAS IMPLEMENTAÇÕES (NOVA SEÇÃO)
|--------------------------------------------------------------------------
*/
#wsd-section-backlog {
    padding: var(--spacing-xl) 0;
    text-align: center;
    background-color: var(--color-bg-light);
    border-top: 1px solid var(--color-border);
}

.wsd-backlog-intro {
    font-size: 1.125rem;
    color: var(--color-text-default);
    max-width: 800px;
    margin: 0 auto var(--spacing-lg);
}

.wsd-backlog-grid {
    display: grid;
    grid-template-columns: 1fr;
    gap: var(--spacing-md);
    max-width: 1000px;
    margin: 0 auto;
}
@media (min-width: 768px) {
    .wsd-backlog-grid {
        grid-template-columns: repeat(3, 1fr);
    }
}

.wsd-backlog-card {
    text-align: left;
    background-color: white;
    padding: var(--spacing-md);
    border-radius: var(--border-radius-default);
    box-shadow: 0 4px 15px rgba(0, 0, 0, 0.08);
    transition: transform 0.3s ease-in-out;
    border-left: 5px solid transparent;
}
.wsd-backlog-card:hover {
    transform: translateY(-5px);
    box-shadow: 0 8px 20px rgba(0, 0, 0, 0.15);
}

.wsd-backlog-card .wsd-card-title {
    font-size: 1.25rem;
    margin-bottom: 0.5rem;
}

.wsd-backlog-card p {
    font-size: 0.95rem;
    color: var(--color-text-muted);
    margin-bottom: 1rem;
    min-height: 50px;
}

.wsd-backlog-tag-priority, .wsd-backlog-tag-status {
    display: inline-block;
    font-size: 0.8rem;
    padding: 0.2rem 0.6rem;
    border-radius: 50px;
    margin-right: 0.5rem;
    font-weight: 600;
    text-transform: uppercase;
    margin-top: 0.5rem;
}

/* Estilos baseados na prioridade */
.wsd-priority-high {
    border-left-color: #ef4444; /* Vermelho */
    border-top-color: #ef4444; /* Vermelho */
}
.wsd-priority-medium {
    border-left-color: #f59e0b; /* Amarelo/Laranja */
    border-top-color: #f59e0b; /* Amarelo/Laranja */
}
.wsd-priority-low {
    border-left-color: #3b82f6; /* Azul */
    border-top-color: #3b82f6; /* Azul */
}

.wsd-backlog-tag-priority {
    background-color: #f3f4f6;
    color: var(--color-text-default);
}

.wsd-backlog-tag-status {
    background-color: var(--color-accent-light);
    color: var(--color-accent-dark);
}