/*
Theme Name: Nota Máxima
Theme URI: https://notamaxima.app.br
Author: Nota Máxima Team
Author URI: https://notamaxima.app.br
Description: Tema WordPress gamificado para plataforma de preparação para concursos públicos. Design moderno, mobile-first e totalmente integrado com Bootstrap 5.
Version: 1.0.0
Requires at least: 5.8
Tested up to: 6.4
Requires PHP: 7.4
License: GNU General Public License v2 or later
License URI: http://www.gnu.org/licenses/gpl-2.0.html
Text Domain: notamaxima
Tags: blog, education, custom-colors, custom-logo, custom-menu, featured-images, threaded-comments, translation-ready, responsive-layout, bootstrap
*/

/* ==========================================================================
   ESTILOS ADICIONAIS DO TEMA WORDPRESS
   ========================================================================== */

/* Os estilos principais vêm dos arquivos importados no functions.php:
   - variables-and-base.css
   - components.css
   - layouts.css
*/

/* --------------------------------------------------------------------------
   AJUSTES ESPECÍFICOS DO WORDPRESS
   -------------------------------------------------------------------------- */

/* Alinhamento de imagens */
.alignleft {
    float: left;
    margin: var(--space-sm) var(--space-lg) var(--space-sm) 0;
}

.alignright {
    float: right;
    margin: var(--space-sm) 0 var(--space-sm) var(--space-lg);
}

.aligncenter {
    display: block;
    margin-left: auto;
    margin-right: auto;
    margin-bottom: var(--space-lg);
}

.alignnone {
    margin: var(--space-sm) 0;
}

/* Captions */
.wp-caption {
    max-width: 100%;
    margin-bottom: var(--space-lg);
}

.wp-caption img {
    display: block;
    margin: 0 auto;
    max-width: 100%;
    height: auto;
}

.wp-caption-text {
    font-size: var(--font-size-sm);
    color: var(--cor-texto-secundario);
    text-align: center;
    margin-top: var(--space-sm);
    font-style: italic;
}

/* Galerias */
.gallery {
    display: grid;
    grid-template-columns: repeat(auto-fill, minmax(150px, 1fr));
    gap: var(--space-md);
    margin-bottom: var(--space-xl);
}

.gallery-item {
    overflow: hidden;
    border-radius: var(--border-radius-md);
}

.gallery-item img {
    width: 100%;
    height: auto;
    transition: transform var(--duration-medium) ease;
}

.gallery-item:hover img {
    transform: scale(1.05);
}

/* Comentários */
.comments-area {
    margin-top: var(--space-3xl);
    padding-top: var(--space-xl);
    border-top: 1px solid var(--cor-borda);
}

.comment-list {
    list-style: none;
    padding: 0;
}

.comment-body {
    background-color: var(--cor-superficie);
    padding: var(--space-lg);
    border-radius: var(--border-radius-lg);
    margin-bottom: var(--space-lg);
    border: 1px solid var(--cor-borda);
}

.comment-author {
    display: flex;
    align-items: center;
    gap: var(--space-md);
    margin-bottom: var(--space-md);
}

.comment-author img {
    border-radius: var(--border-radius-full);
    border: 2px solid var(--cor-primaria);
}

.comment-meta {
    font-size: var(--font-size-sm);
    color: var(--cor-texto-secundario);
}

.comment-content {
    color: var(--cor-texto);
}

.reply {
    margin-top: var(--space-md);
}

.reply a {
    font-size: var(--font-size-sm);
    color: var(--cor-primaria);
    text-decoration: none;
    font-weight: 700;
    margin-bottom: var(--space-md);
}

/* Screen Reader Text */
.screen-reader-text {
    border: 0;
    clip: rect(1px, 1px, 1px, 1px);
    clip-path: inset(50%);
    height: 1px;
    margin: -1px;
    overflow: hidden;
    padding: 0;
    position: absolute !important;
    width: 1px;
    word-wrap: normal !important;
}

.screen-reader-text:focus {
    background-color: var(--cor-superficie);
    border-radius: var(--border-radius-sm);
    box-shadow: 0 0 2px 2px rgba(0, 0, 0, 0.6);
    clip: auto !important;
    clip-path: none;
    color: var(--cor-texto);
    display: block;
    font-size: var(--font-size-sm);
    font-weight: bold;
    height: auto;
    left: 5px;
    line-height: normal;
    padding: 15px 23px 14px;
    text-decoration: none;
    top: 5px;
    width: auto;
    z-index: 100000;
}

/* Gutenberg Blocks */
.wp-block-image {
    margin-bottom: var(--space-lg);
}

.wp-block-image img {
    border-radius: var(--border-radius-md);
    max-width: 100%;
    height: auto;
}

.wp-block-quote {
    border-left: 4px solid var(--cor-primaria);
    margin: var(--space-lg) 0;
    padding: var(--space-sm) var(--space-lg);
    background-color: var(--cor-superficie);
    font-style: italic;
}

.wp-block-quote cite {
    color: var(--cor-texto-secundario);
    font-size: var(--font-size-sm);
    font-style: normal;
}

.wp-block-button__link {
    background-color: var(--cor-primaria);
    color: #FFF;
    padding: var(--space-sm) var(--space-lg);
    border-radius: var(--border-radius-md);
    text-decoration: none;
    display: inline-block;
    font-weight: 700;
    transition: all var(--duration-medium) ease;
}

.wp-block-button__link:hover {
    background-color: var(--cor-acento);
    color: var(--cor-fundo);
    transform: translateY(-2px);
}

/* Tabelas do WordPress */
.wp-block-table {
    overflow-x: auto;
}

.wp-block-table table {
    width: 100%;
    border-collapse: collapse;
}

.wp-block-table th,
.wp-block-table td {
    padding: var(--space-md);
    border: 1px solid var(--cor-borda);
}

.wp-block-table th {
    background-color: var(--cor-superficie);
    color: var(--cor-texto);
    font-weight: 700;
}

/* Listas do WordPress */
.wp-block-list {
    padding-left: var(--space-xl);
}

.wp-block-list li {
    margin-bottom: var(--space-sm);
    color: var(--cor-texto);
}

/* --------------------------------------------------------------------------
   RESPONSIVIDADE
   -------------------------------------------------------------------------- */

@media (max-width: 991px) {
    body {
        padding-top: 80px;
    }
}

@media (max-width: 768px) {
    .children {
        padding-left: var(--space-md);
    }
    
    .comment-form {
        padding: var(--space-md);
    }
}

/* --------------------------------------------------------------------------
   UTILITÁRIOS WORDPRESS
   -------------------------------------------------------------------------- */

/* Clearfix */
.clearfix::after {
    content: "";
    display: table;
    clear: both;
}

/* Skip Link */
.skip-link {
    position: absolute;
    top: -40px;
    left: 0;
    background-color: var(--cor-acento);
    color: var(--cor-fundo);
    padding: var(--space-sm) var(--space-md);
    text-decoration: none;
    font-weight: 700;
    z-index: 100000;
}

.skip-link:focus {
    top: 0;
}

/* Print Styles */
@media print {
    .navbar,
    .newsletter-section,
    .main-footer,
    #scrollToTop,
    .comment-respond {
        display: none !important;
    }
    
    body {
        padding-top: 0;
        background: #FFF;
        color: #000;
    }
}

.reply a:hover {
    color: var(--cor-acento);
}

.children {
    list-style: none;
    padding-left: var(--space-2xl);
    margin-top: var(--space-lg);
}

/* Formulário de Comentário */
.comment-form {
    background-color: var(--cor-superficie);
    padding: var(--space-xl);
    border-radius: var(--border-radius-lg);
    border: 1px solid var(--cor-borda);
}

.comment-form-comment textarea,
.comment-form-author input,
.comment-form-email input,
.comment-form-url input {
    width: 100%;
    padding: var(--space-sm) var(--space-md);
    background-color: var(--cor-fundo);
    border: 1px solid var(--cor-borda);
    border-radius: var(--border-radius-md);
    color: var(--cor-texto);
    font-family: var(--font-principal);
}

.comment-form-comment textarea:focus,
.comment-form-author input:focus,
.comment-form-email input:focus,
.comment-form-url input:focus {
    outline: none;
    border-color: var(--cor-primaria);
    box-shadow: 0 0 0 3px rgba(0, 119, 182, 0.3);
}

/* Widgets */
.widget {
    background-color: var(--cor-superficie);
    padding: var(--space-lg);
    border-radius: var(--border-radius-lg);
    border: 1px solid var(--cor-borda);
}

.widget ul {
    list-style: none;
    padding: 0;
}

.widget ul li {
    padding: var(--space-sm) 0;
    border-bottom: 1px solid var(--cor-borda);
}

.widget ul li:last-child {
    border-bottom: none;
}

.widget ul li a {
    color: var(--cor-texto-secundario);
    text-decoration: none;
    transition: color var(--duration-fast) ease;
}

.widget ul li a:hover {
    color: var(--cor-acento);
    padding-left: var(--space-sm);
}

/* Search Widget */
.widget_search .search-form {
    display: flex;
    gap: var(--space-sm);
}

.widget_search .search-field {
    flex: 1;
}

/* Tag Cloud */
.tagcloud a {
    display: inline-block;
    background-color: var(--cor-fundo);
    color: var(--cor-texto-secundario);
    padding: var(--space-xs) var(--space-md);
    border-radius: var(--border-radius-full);
    font-size: var(--font-size-sm) !important;
    text-decoration: none;
    margin: 0 var(--space-xs) var(--space-xs) 0;
    border: 1px solid var(--cor-borda);
    transition: all var(--duration-fast) ease;
}

.tagcloud a:hover {
    background-color: var(--cor-primaria);
    color: #FFF;
    border-color: var(--cor-primaria);
}

/* Sticky Posts */
.sticky {
    border-left: 5px solid var(--cor-acento);
}

.sticky .card-body::before {
    content: "✨ Destaque";
    display: inline-block;
    background-color: var(--cor-acento);
    color: var(--cor-fundo);
    padding: var(--space-xs) var(--space-sm);
    border-radius: var(--border-radius-sm);
    font-size: var(--font-size-xs);
}