/* ==============================================
   Variáveis de Estilo
   ============================================== */
   :root {
    --primary-color: #1a1a1a; /* Cor principal escura */
    --secondary-color: #f9fafb; /* Cor secundária clara */
    --accent-color: #d4af37; /* Cor de destaque (dourado/bronze) */
    --hover-color: #1e3a8a; /* Cor para estados de hover (azul escuro) */
    --light-accent: rgba(212, 175, 55, 0.1); /* Destaque claro com transparência */
    --shadow: 0 10px 30px rgba(0, 0, 0, 0.1); /* Sombra padrão */
    --soft-shadow: 0 4px 12px rgba(0, 0, 0, 0.08); /* Sombra suave */
    --transition: all 0.4s cubic-bezier(0.25, 0.8, 0.25, 1); /* Transição padrão */
    --navbar-height-desktop: 80px; /* Altura estimada da navbar em desktop */
    --navbar-height-mobile: 90px; /* Altura estimada da navbar empilhada em mobile (ajustado) */
}

/* ==============================================
   Reset e Estilos Base
   ============================================== */
* {
    margin: 0;
    padding: 0;
    box-sizing: border-box; /* Inclui padding e borda na dimensão do elemento */
}

body {
    font-family: 'Poppins', sans-serif;
    line-height: 1.7;
    color: var(--primary-color);
    background-color: var(--secondary-color);
    overflow-x: hidden; /* Evita rolagem horizontal indesejada */
    -webkit-font-smoothing: antialiased; /* Suaviza fontes no Webkit */
}

.container {
    max-width: 1200px; /* Largura máxima do conteúdo */
    margin: 0 auto; /* Centraliza o contêiner */
    padding: 0 2rem; /* Padding horizontal padrão */
}

h1, h2, h3 {
    font-family: 'Playfair Display', serif;
    font-weight: 700;
    line-height: 1.3;
}

p {
    margin: 1rem 0;
    text-align: justify; /* Justifica parágrafos por padrão */
}

a {
    text-decoration: none;
    color: inherit; /* Herda a cor do elemento pai */
    transition: var(--transition);
}

/* ==============================================
   BARRA DE NAVEGAÇÃO (Header Fixo)
   ============================================== */
.main-nav {
    position: fixed; /* Fixa a barra no topo */
    top: 0;
    left: 0;
    width: 100%;
    background: rgba(26, 26, 26, 0.9); /* Fundo escuro semi-transparente */
    backdrop-filter: blur(10px); /* Efeito de desfoque */
    z-index: 1000; /* Garante que fique acima de outros elementos */
    padding: 1rem 0; /* Padding vertical padrão */
    box-shadow: 0 2px 10px rgba(0,0,0,0.1);
    height: var(--navbar-height-desktop); /* Altura fixa em desktop */
    display: flex; /* Usa flexbox para alinhar conteúdo verticalmente */
    align-items: center; /* Centraliza conteúdo verticalmente */
}

.main-nav .container {
    display: flex; /* Usa flexbox para alinhar logo e links */
    justify-content: space-between; /* Espaça o logo e os links */
    align-items: center; /* Alinha verticalmente */
    width: 100%; /* Garante que o container ocupe a largura total */
}

.logo {
    color: rgb(255, 255, 255);
    font-family: 'Playfair Display', serif;
    font-size: 1.5rem;
    font-weight: 700;
    text-decoration: none;
    margin-left: 0; /* Remove margem negativa inicial */
    display: flex; /* Permite alinhar a imagem dentro do link */
    align-items: center;
}

.logo img {
    display: block;
    max-height: 60px; /* Altura máxima do logo em desktop (ajustado um pouco) */
    width: auto;
}

.nav-links {
    display: flex; /* Links de navegação em linha */
    gap: 1rem; /* Espaço entre os links */
    align-items: center; /* Alinha links verticalmente */
}

.nav-link {
    color: white;
    text-decoration: none;
    font-weight: 500;
    transition: var(--transition);
    display: flex;
    align-items: center;
    gap: 0.5rem;
}

.nav-link i {
    font-size: 1.1rem;
}

.nav-link.highlight {
    background: var(--accent-color);
    padding: 0.5rem 1.2rem;
    border-radius: 50px;
    color: var(--primary-color);
}

.nav-link.highlight:hover {
    transform: translateY(-2px);
    box-shadow: 0 5px 15px rgba(212, 175, 55, 0.3);
    color: var(--primary-color);
}

/* ==============================================
   CABEÇALHO PRINCIPAL (Hero Section)
   ============================================== */
header {
    position: relative;
    background: linear-gradient(135deg, var(--primary-color), #0aa5ec, var(--primary-color));
    background-size: 200% 200%;
    animation: gradientAnimation 12s ease infinite alternate;
    color: white;
    padding: 4rem 0 3rem; /* Padding padrão */
    text-align: center;
    overflow: hidden;
    clip-path: polygon(0 0, 100% 0, 100% 90%, 0 100%);
    /* Padding topo ajustado pela altura da navbar (usando a variável) */
    padding-top: calc(6rem + var(--navbar-height-desktop));
    height: auto;
    min-height: unset;
    display: flex; /* Usa flexbox para centralizar conteúdo verticalmente */
    flex-direction: column;
    justify-content: center;
    align-items: center;
}

header::before {
    content: '';
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background: radial-gradient(circle at 20% 30%, rgba(255, 255, 255, 0.05) 0%, transparent 50%);
    z-index: 0;
}

header .container { /* Estilo para o container dentro do header */
    position: relative;
    z-index: 1;
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    width: 100%;
    height: 100%; /* Garante que o container ocupe a altura do header */
}


header h1 {
    font-size: clamp(2.5rem, 6vw, 4.5rem); /* Tamanho de fonte responsivo */
    margin-bottom: 1.5rem;
    animation: fadeInUp 1.5s ease-in-out;
    position: relative;
    z-index: 1;
    text-shadow: 0 2px 10px rgba(0, 0, 0, 0.3);
}

header p {
    font-size: clamp(1rem, 2vw, 1.3rem); /* Tamanho de fonte responsivo */
    max-width: 700px;
    margin: 0 auto 2rem;
    opacity: 0.9;
    animation: fadeIn 2s ease-in-out;
    position: relative;
    z-index: 1;
    font-weight: 300;
    text-align: center;
}

/* Partículas */
.particle {
    position: absolute;
    background: rgba(255, 255, 255, 0.5);
    border-radius: 50%;
    animation: float 15s infinite ease-in-out;
    filter: blur(1px);
    z-index: 0;
}

/* ==============================================
   Botões Gerais
   ============================================== */
.btn {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 0.8rem;
    background: var(--accent-color);
    color: var(--primary-color);
    padding: 1rem 2.5rem;
    border: none;
    border-radius: 50px;
    cursor: pointer;
    transition: var(--transition);
    font-size: 1rem;
    font-weight: 500;
    box-shadow: var(--soft-shadow);
    position: relative;
    overflow: hidden;
    z-index: 1;
}

.btn:hover {
    transform: translateY(-3px);
    box-shadow: 0 10px 20px rgba(212, 175, 55, 0.3);
}

.btn::before {
    content: '';
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background: linear-gradient(45deg, transparent, rgba(255, 255, 255, 0.3), transparent);
    transform: translateX(-100%);
    transition: transform 0.6s ease;
    z-index: -1;
}

.btn:hover::before {
    transform: translateX(100%);
}

.btn i {
    font-size: 1.2rem;
    transition: transform 0.3s ease;
}

.btn:hover i {
    transform: scale(1.2);
}

/* ==============================================
   Seções de Conteúdo Principal
   ============================================== */
main {
    /* Ajuste o margin-top para compensar a altura da navbar fixa */
    /* Usando a variável para calcular a compensação */
    margin-top: var(--navbar-height-desktop); /* Compensa a altura da navbar desktop por padrão */
    position: relative;
    z-index: 2; /* Garante que o conteúdo fique sobre o header */
}

.main-section {
    padding: 5rem 0;
    position: relative;
}

.section-title {
    text-align: center;
    margin-bottom: 3rem;
    font-size: 2.2rem;
    color: var(--primary-color);
    position: relative;
    display: inline-block;
    left: 50%;
    transform: translateX(-50%);
}

.section-title::after {
    content: '';
    position: absolute;
    bottom: -10px;
    left: 0;
    width: 100%;
    height: 3px;
    background: linear-gradient(90deg, var(--accent-color), transparent);
    border-radius: 3px;
}

/* ==============================================
   Seção Gerador de Salmos (index.html)
   ============================================== */
#main-content-salmo {
    padding: 6rem 0;
    background-color: var(--secondary-color);
}

.intro-text-salmo {
    max-width: 700px;
    margin: 1rem auto 2rem auto;
    text-align: center;
    color: #555;
    line-height: 1.6;
    font-size: 1.1rem;
}

.salmos-container {
    background: white;
    padding: 3rem;
    border-radius: 20px;
    box-shadow: var(--shadow);
    width: 100%;
    max-width: 800px;
    margin: 0 auto;
    position: relative;
    overflow: hidden;
    transition: var(--transition);
    border: 1px solid rgba(0, 0, 0, 0.05);
}

.salmos-container::before {
    content: '';
    position: absolute;
    top: 0;
    left: 0;
    width: 8px;
    height: 100%;
    background: linear-gradient(to bottom, var(--accent-color), var(--hover-color));
    border-radius: 20px 0 0 20px;
}

.salmos-text {
    font-size: clamp(1.4rem, 3.5vw, 1.8rem);
    margin-bottom: 2rem;
    font-weight: 500;
    color: var(--primary-color);
    text-align: center;
    position: relative;
    font-family: 'EB Garamond', serif;
    line-height: 1.8;
}

.salmos-text::before,
.salmos-text::after {
    content: '"';
    position: absolute;
    font-size: 3.5rem;
    color: var(--accent-color);
    opacity: 0.3;
    font-family: 'Playfair Display', serif;
}

.verse-reference {
    display: block;
    margin-top: 1.5rem;
    font-style: italic;
    font-weight: 400;
    color: #666;
    font-size: 1.1rem;
    text-align: center;
}

.explanation {
    font-size: 1.1rem;
    color: #555;
    line-height: 1.8;
    text-align: center;
    margin: 2.5rem 0 1rem;
    padding: 1.5rem;
    background-color: var(--light-accent);
    border-radius: 12px;
    position: relative;
}

.explanation::before {
    content: '✝';
    position: absolute;
    top: -0.8rem;
    left: 50%;
    transform: translateX(-50%);
    background: white;
    width: 2.2rem;
    height: 2.2rem;
    display: flex;
    align-items: center;
    justify-content: center;
    border-radius: 50%;
    font-size: 1.1rem;
    color: var(--accent-color);
    box-shadow: 0 2px 8px rgba(0, 0, 0, 0.15);
    border: 2px solid var(--accent-color);
}

/* Controles de compartilhamento do salmo */
.share-controls {
    margin-top: 20px;
    text-align: center;
    display: flex;
    justify-content: center;
    gap: 10px;
    flex-wrap: wrap;
    padding: 10px;
    background-color: var(--secondary-color);
    border-radius: 8px;
    box-shadow: var(--soft-shadow);
    display: none; /* Escondido por padrão, mostrado via JS */
}

#copy-salmo-btn,
#share-whatsapp-btn,
#share-twitter-btn {
    padding: 10px 15px;
    border: none;
    border-radius: 5px;
    cursor: pointer;
    font-size: 0.9rem;
    transition: background-color 0.3s ease, filter 0.3s ease;
    display: inline-flex;
    align-items: center;
    gap: 5px;
    color: white;
    text-decoration: none;
}

#copy-salmo-btn { background-color: var(--accent-color); }
#copy-salmo-btn:hover { background-color: var(--hover-color); }
#share-whatsapp-btn { background-color: #25D366; }
#share-whatsapp-btn:hover { filter: brightness(90%); }
#share-twitter-btn { background-color: #1DA1F2; }
#share-twitter-btn:hover { filter: brightness(90%); }

.share-hint {
    display: block;
    margin-top: 10px;
    font-size: 0.85rem;
    color: #555;
    text-align: center;
    width: 100%;
}

.share-controls button i { margin-right: 0; }


/* ==============================================
   Seção de Recursos (index.html)
   ============================================== */
.features {
    padding: 5rem 0;
    background: linear-gradient(to bottom, #f9fafb, white);
}

.features-grid {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(300px, 1fr));
    gap: 2rem;
    margin-top: 3rem;
}

.feature-card {
    background: white;
    padding: 2.5rem 2rem;
    border-radius: 15px;
    box-shadow: var(--soft-shadow);
    transition: var(--transition);
    text-align: center;
    border: 1px solid rgba(0, 0, 0, 0.03);
    display: block;
    text-decoration: none;
    color: inherit;
}

.feature-card:hover {
    transform: translateY(-10px);
    box-shadow: 0 15px 30px rgba(0, 0, 0, 0.1);
}

.feature-icon {
    font-size: 2.5rem;
    color: var(--accent-color);
    margin-bottom: 1.5rem;
}

.feature-title {
    font-size: 1.4rem;
    margin-bottom: 1rem;
    color: var(--primary-color);
}

.feature-desc {
    color: #666;
    font-size: 1rem;
}

/* ==============================================
   Rodapé
   ============================================== */
footer {
    text-align: center;
    padding: 4rem 0 2rem;
    background: var(--primary-color);
    color: white;
    position: relative;
}

footer::before {
    content: '';
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 10px;
    background: linear-gradient(90deg, var(--accent-color), transparent);
}

.site-purpose-disclaimer {
    background-color: rgba(255, 255, 255, 0.08);
    color: rgba(255, 255, 255, 0.9);
    padding: 2rem;
    margin-bottom: 3rem;
    border-radius: 8px;
    text-align: center;
    font-size: 1rem;
    line-height: 1.6;
    border: 1px solid rgba(255, 255, 255, 0.1);
}

.site-purpose-disclaimer h3 {
    color: var(--accent-color);
    margin-top: 0;
    margin-bottom: 1rem;
    font-size: 1.4rem;
    font-family: 'Poppins', sans-serif;
}

.site-purpose-disclaimer p {
    margin-bottom: 1rem;
    color: rgba(255, 255, 255, 0.8);
    text-align: center;
}

.site-purpose-disclaimer ul {
    list-style: none;
    padding: 0;
    margin: 1rem auto;
    max-width: 500px;
    text-align: left;
}

.site-purpose-disclaimer ul li {
    margin-bottom: 0.5rem;
    position: relative;
    padding-left: 1.2rem;
}

.site-purpose-disclaimer ul li::before {
    content: '✝';
    position: absolute;
    left: 0;
    color: var(--accent-color);
    font-size: 0.8rem;
    top: 0.3rem;
}

.site-purpose-disclaimer a {
    color: var(--accent-color);
    text-decoration: underline;
}

.site-purpose-disclaimer a:hover {
    text-decoration: none;
}

.bible-verse { /* Estilo geral para versículos */
    display: block;
    margin-top: 1rem;
    font-style: italic;
    font-weight: 600;
    color: #555; /* Cor padrão para versículos */
    text-align: center;
}


.footer-content {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(250px, 1fr));
    gap: 2rem;
    text-align: left;
    margin-bottom: 3rem;
}

.footer-column h3 {
    font-size: 1.3rem;
    margin-bottom: 1.5rem;
    color: var(--accent-color);
    font-family: 'Poppins', sans-serif;
}

.footer-column ul {
    list-style: none;
}

.footer-column li {
    margin-bottom: 0.8rem;
}

.footer-column a:hover {
    color: var(--accent-color);
    padding-left: 5px;
}

.social-icons {
    display: flex;
    justify-content: center;
    gap: 1.5rem;
    margin: 2rem 0;
}

.social-icons a {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 40px;
    height: 40px;
    background: rgba(255, 255, 255, 0.1);
    border-radius: 50%;
    transition: var(--transition);
}

.social-icons a:hover {
    background: var(--accent-color);
    transform: translateY(-3px);
    color: var(--primary-color);
}

.copyright {
    font-size: 0.9rem;
    opacity: 0.7;
    margin-top: 2rem;
    padding-top: 2rem;
    border-top: 1px solid rgba(255, 255, 255, 0.1);
}

/* ==============================================
   Estilos Específicos por Página
   ============================================== */

/* --- Página de Doações --- */
.donation-header .container h1 {
    font-size: clamp(2rem, 5vw, 3.5rem);
}
.donation-header .container p {
    font-size: clamp(0.9rem, 1.8vw, 1.2rem);
}

.donation-buttons {
    display: flex;
    justify-content: center;
    gap: 2rem;
    margin-top: 3rem;
    flex-wrap: wrap;
}

.donation-section {
    padding: 5rem 0;
}

.donation-section:nth-child(even) {
    background-color: #f9f9f9;
}

.section-title i {
    margin-right: 1rem;
    color: var(--accent-color);
}

.section-description {
    text-align: center;
    margin-bottom: 3rem;
    color: #666;
    font-size: 1.1rem;
}

.institutions-grid {
    display: grid;
    grid-template-columns: repeat(auto-fill, minmax(300px, 1fr));
    gap: 2rem;
    margin-top: 2rem;
}

.institution-card {
    background: white;
    border-radius: 12px;
    overflow: hidden;
    box-shadow: var(--soft-shadow);
    transition: var(--transition);
}

.institution-card:hover {
    transform: translateY(-5px);
    box-shadow: 0 10px 25px rgba(0, 0, 0, 0.1);
}

.institution-image {
    height: 150px;
    width: 150px;
    max-width: 150px;
    max-height: 150px;
    background-size: contain;
    margin: 0 auto 1rem;
    display: block;
}

.institution-content {
    padding: 1.5rem;
}

.institution-content h3 {
    font-family: 'Poppins', sans-serif;
    font-size: 1.4rem;
    margin-bottom: 0.5rem;
    color: var(--primary-color);
}

.institution-content p {
    margin-bottom: 1.5rem;
    color: #666;
}

.institution-meta {
    display: flex;
    justify-content: space-between;
    margin-bottom: 1.5rem;
    font-size: 0.9rem;
    color: #777;
}

.institution-meta i {
    margin-right: 0.3rem;
}

.btn-small {
    padding: 0.6rem 1.5rem;
    font-size: 0.9rem;
    display: inline-block;
    width: 100%;
    text-align: center;
}

.other-ways {
    padding: 5rem 0;
    background: linear-gradient(135deg, var(--primary-color), #1e3a8a);
    color: white;
    text-align: center;
}

.other-ways .section-title {
    color: white;
}

.ways-grid {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(250px, 1fr));
    gap: 2rem;
    margin-top: 3rem;
}

.way-card {
    background: rgba(255, 255, 255, 0.1);
    padding: 2rem;
    border-radius: 12px;
    transition: var(--transition);
}

.way-card:hover {
    background: rgba(255, 255, 255, 0.2);
    transform: translateY(-5px);
}

.way-card i {
    font-size: 2.5rem;
    margin-bottom: 1.5rem;
    color: var(--accent-color);
}

.way-card h3 {
    font-family: 'Poppins', sans-serif;
    margin-bottom: 1rem;
}

.institution-contact-info {
    list-style: none;
    padding: 0;
    margin-top: 1rem;
    margin-bottom: 1rem;
    text-align: left;
    font-size: 0.95rem;
    color: #555;
}

.institution-contact-info li {
    margin-bottom: 0.5rem;
    line-height: 1.4;
}

.institution-contact-info li strong {
    margin-right: 5px;
}

.institution-contact-info li a {
    display: inline-flex;
    align-items: center;
    gap: 5px;
    color: var(--primary-color);
    text-decoration: none;
    font-weight: 500;
    transition: color 0.3s ease;
}

.institution-contact-info li a:hover {
    color: var(--accent-color);
    text-decoration: underline;
}

.institution-description {
    margin-bottom: 1rem;
    text-align: left;
    color: #333;
}

/* --- Página de Orações --- */
.prayers-section {
    padding: 5rem 0;
}

.prayer-introduction {
    padding: 3rem 0;
    background-color: var(--secondary-color);
    text-align: center;
}

.prayer-introduction h2 {
    color: var(--primary-color);
    font-size: 2.5rem;
    margin-bottom: 1.5rem;
    position: relative;
    display: inline-block;
}

.prayer-introduction h2::after {
    content: '';
    position: absolute;
    bottom: -10px;
    left: 0;
    width: 100%;
    height: 3px;
    background: linear-gradient(90deg, var(--accent-color), transparent);
    border-radius: 3px;
}

.prayer-introduction p {
    max-width: 800px;
    margin: 1rem auto;
    color: #333;
    line-height: 1.7;
    text-align: justify;
}

.prayer-category h2 {
    margin-top: 3rem;
    margin-bottom: 1.5rem;
    color: var(--primary-color);
    border-bottom: 2px solid var(--accent-color);
    padding-bottom: 0.5rem;
    text-align: left;
}

.prayer-category p.category-description {
    margin-bottom: 2rem;
    color: #666;
    font-size: 1.1rem;
    text-align: left;
}

.prayer-card {
    background-color: #fff;
    padding: 2.5rem;
    margin-bottom: 2rem;
    border-radius: 12px;
    box-shadow: var(--soft-shadow);
    border-left: 5px solid var(--accent-color);
    transition: transform 0.3s ease, box-shadow 0.3s ease; /* Adiciona transição */
}

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

.prayer-card h3 {
    color: var(--primary-color);
    margin-bottom: 1rem;
    font-size: 1.6rem;
}

.prayer-card p {
    color: #555;
    line-height: 1.8;
    text-align: left;
}

.prayer-card .prayer-meta {
    display: block;
    font-size: 0.9rem;
    color: #777;
    margin-top: 1.5rem;
    text-align: right;
}

/* --- Página de Vídeos --- */
.video-filters {
    display: flex;
    justify-content: center;
    gap: 1rem;
    margin: 2rem 0;
    flex-wrap: wrap;
}

.filter-btn {
    background: var(--light-accent);
    border: none;
    padding: 0.6rem 1.5rem;
    border-radius: 50px;
    cursor: pointer;
    transition: var(--transition);
    font-weight: 500;
}

.filter-btn.active, .filter-btn:hover {
    background: var(--accent-color);
    color: white;
}

.video-grid {
    display: grid;
    grid-template-columns: repeat(auto-fill, minmax(300px, 1fr));
    gap: 2rem;
    margin-top: 3rem;
}

.video-card:hover {
    transform: translateY(-5px);
    box-shadow: 0 10px 25px rgba(0,0,0,0.1);
}

.video-thumbnail {
    position: relative;
    height: 0;
    padding-bottom: 56.25%; /* Proporção 16:9 */
    overflow: hidden;
}

.video-thumbnail img {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    object-fit: cover;
}

.play-button {
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    background: rgba(212, 175, 55, 0.8);
    width: 60px;
    height: 60px;
    border-radius: 50%;
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 1.5rem;
    color: white;
    opacity: 0.8;
    transition: opacity 0.3s ease;
}

.video-card:hover .play-button {
    opacity: 1;
}

.video-card h3 {
    padding: 1rem 1rem 0;
    font-size: 1.2rem;
}

.video-card p {
    padding: 0 1rem 1rem;
    color: #666;
    font-size: 0.9rem;
}

/* --- Player de Vídeo Modal --- */
.video-player-container {
    position: fixed;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%; /* Garante que o overlay ocupe toda a altura da tela */
    background: rgba(0,0,0,0.9);
    z-index: 1000;
    display: flex;
    justify-content: center;
    align-items: center; /* Centraliza o modal dentro do overlay */
    opacity: 0;
    pointer-events: none;
    transition: opacity 0.3s ease;
    padding: 1rem; /* Adiciona padding ao redor do modal em telas pequenas */
}

.video-player-container.show {
    opacity: 1;
    pointer-events: all;
}

.video-player {
    width: 80%; /* Largura padrão em desktop */
    max-width: 900px; /* Largura máxima em desktop */
    position: relative;
    background: white;
    border-radius: 10px;
    overflow: hidden;
    max-height: 95vh; /* Limita a altura máxima do modal em relação à tela */
    display: flex;
    flex-direction: column;
}

.video-player iframe {
    display: block;
    width: 100%;
    height: 30;
    max-height: 70vh; /* Permite que o iframe seja maior */
    flex-shrink: 0;
}

.video-description {
    padding: 1.5rem; /* Aumenta padding da descrição */
    color: #333;
    line-height: 1.6;
    overflow-y: auto; /* Adiciona scroll se a descrição for longa */
    flex-grow: 1;
}

.close-video {
    position: absolute;
    top: -10px;
    right: -10px;
    background: var(--accent-color);
    border-radius: 50%;
    width: 40px;
    height: 40px;
    display: flex;
    align-items: center;
    justify-content: center;
    color: var(--primary-color);
    font-size: 1.2rem;
    cursor: pointer;
    box-shadow: 0 4px 12px rgba(212, 175, 55, 0.5);
    transition: transform 0.3s ease;
}

.close-video:hover {
    background: scale(1.1);
}


/* --- Página Política de Privacidade --- */
.privacy-policy-content {
    padding: 2rem 1rem;
    max-width: 800px;
    margin: 2rem auto;
    background-color: #fff;
    border-radius: 8px;
    box-shadow: 0 2px 4px rgba(0,0,0,0.1);
    line-height: 1.6;
    color: #333;
}

.privacy-policy-content h2,
.privacy-policy-content h3 {
    color: var(--primary-color);
    margin-top: 1.5rem;
    margin-bottom: 0.8rem;
}

.privacy-policy-content p {
    margin-bottom: 1rem;
}

.privacy-policy-content ul {
    margin-bottom: 1rem;
    padding-left: 20px;
}

.privacy-policy-content ul li {
    margin-bottom: 0.5rem;
}

/* --- Página de Contato --- */
.contact-content {
    padding: 4rem 1rem;
    max-width: 800px;
    margin: 2rem auto;
    background-color: #fff;
    border-radius: 8px;
    box-shadow: 0 2px 4px rgba(0,0,0,0.1);
    text-align: center;
    line-height: 1.6;
    color: #333;
}

.contact-content p {
    margin-bottom: 1rem;
    font-size: 1.1rem;
    text-align: center;
}

.contact-content a {
    color: var(--accent-color);
    text-decoration: none;
    font-weight: 600;
}

.contact-content a:hover {
    text-decoration: underline;
}

/* --- Página Índice de Estudos --- */
.studies-index-section {
    padding: 5rem 0;
}

.study-category-section {
    padding: 3rem 0;
}

.study-category h2 {
    margin-top: 3rem;
    margin-bottom: 1.5rem;
    color: var(--primary-color);
    border-bottom: 2px solid var(--accent-color);
    padding-bottom: 0.5rem;
    text-align: left;
}

.study-list-grid {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(280px, 1fr));
    gap: 25px;
    margin-top: 2rem;
}

.study-item-card {
    background: white;
    border-radius: 12px;
    padding: 2rem;
    box-shadow: var(--soft-shadow);
    transition: var(--transition);
    text-decoration: none;
    color: inherit;
    display: flex;
    flex-direction: column;
    align-items: center;
    text-align: center;
    border: 1px solid rgba(0, 0, 0, 0.05);
}

.study-item-card:hover {
    transform: translateY(-8px);
    box-shadow: 0 12px 20px rgba(0, 0, 0, 0.12);
}

.study-item-icon {
    font-size: 3rem;
    color: var(--accent-color);
    margin-bottom: 1.2rem;
}

.study-item-title {
    font-size: 1.3rem;
    font-weight: 600;
    color: var(--primary-color);
    margin-bottom: 0.8rem;
}

.study-item-description {
    font-size: 1rem;
    color: #555;
    line-height: 1.6;
    flex-grow: 1;
}

.study-list {
    list-style: none;
    padding: 0;
}

.studies-list li {
    margin-bottom: 1.5rem;
    background-color: #fff;
    padding: 1.5rem;
    border-radius: 8px;
    box-shadow: var(--soft-shadow);
    transition: var(--transition);
    border-left: 4px solid var(--accent-color);
}

.studies-list li:hover {
    transform: translateY(-5px);
    box-shadow: 0 8px 16px rgba(0,0,0,0.1);
}

.studies-list li a {
    display: block;
    text-decoration: none;
    color: var(--primary-color);
}

.studies-list li a h3 {
    margin-top: 0;
    margin-bottom: 0.5rem;
    font-size: 1.4rem;
    color: var(--hover-color);
}

.studies-list li a p {
    margin: 0.5rem 0 0;
    font-size: 1rem;
    color: #555;
    text-align: left;
}

.studies-list li a .study-meta {
    display: block;
    font-size: 0.9rem;
    color: #777;
    margin-top: 1rem;
    text-align: right;
}

/* --- Página de Estudo Individual --- */
.study-content-section {
    padding: 5rem 0;
}

.study-article {
    background-color: #fff;
    padding: 3rem;
    border-radius: 12px;
    box-shadow: var(--soft-shadow);
    max-width: 900px;
    margin: 0 auto;
    line-height: 1.8;
}

.study-article h2 {
    color: var(--primary-color);
    margin-bottom: 1.5rem;
    font-size: 2rem;
}

.study-article h3 {
    color: var(--hover-color);
    margin-top: 2rem;
    margin-bottom: 1rem;
    font-size: 1.6rem;
    border-bottom: 1px solid var(--light-accent);
    padding-bottom: 0.5rem;
}

.study-article h4 {
    color: #555;
    margin-top: 1.5rem;
    margin-bottom: 0.8rem;
    font-size: 1.3rem;
}

.study-article p {
    color: #333;
    margin-bottom: 1.5rem;
    text-align: justify;
}

.study-article blockquote {
    font-style: italic;
    margin: 1.5rem 2rem;
    padding: 1rem 1.5rem;
    border-left: 5px solid var(--accent-color);
    background-color: var(--secondary-color);
    color: #555;
    border-radius: 4px;
}

.study-article blockquote footer {
    margin-top: 0.5rem;
    font-size: 0.9rem;
    color: #777;
    text-align: right;
}

.study-article .study-meta {
    display: block;
    font-size: 0.9rem;
    color: #777;
    margin-top: 2rem;
    text-align: right;
}

.study-article .author-info strong {
    font-weight: 600;
    color: var(--primary-color);
}

.study-item-card.coming-soon {
    opacity: 0.6;
    cursor: not-allowed;
}

.study-item-card.coming-soon:hover {
    transform: none;
    box-shadow: var(--soft-shadow);
}

.study-item-card.coming-soon a {
    pointer-events: none;
}

.dictionary-insight {
    background-color: #e9ecef;
    border: 1px solid #dee2e6;
    padding: 1.5rem;
    margin: 2rem 0;
    border-radius: 8px;
    font-style: italic;
    color: #495057;
    line-height: 1.6;
}

.dictionary-insight strong {
    color: var(--primary-color);
    font-weight: 600;
}

/* --- Página da Lojinha --- */
.product-card {
    background: white;
    border-radius: 10px;
    overflow: hidden;
    box-shadow: var(--soft-shadow);
    transition: var(--transition);
    border: 1px solid rgba(0, 0, 0, 0.03);
    padding: 1.5rem;
    display: flex;
    align-items: flex-start;
    gap: 2rem;
    flex-direction: column; /* Mobile first: empilha */
}

.product-image {
    flex-basis: 200px;
    flex-shrink: 0;
    position: relative;
}

.product-card .product-image img {
    display: block;
    max-width: 100%;
    height: auto;
    max-height: 250px;
    object-fit: contain;
}

.product-content {
    flex-grow: 1;
}

.product-content h3 {
    margin-top: 0;
    font-family: 'Poppins', sans-serif;
    font-size: 1.4rem;
    margin-bottom: 0.5rem;
    color: var(--primary-color);
}

.product-content p {
    margin-bottom: 1.5rem;
    color: #666;
    text-align: left;
}

.product-links {
    display: flex;
    flex-direction: column;
    gap: 10px;
    margin-top: 15px;
    align-items: flex-start;
}

.link-item {
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    text-align: left;
    width: 100%;
}

.link-item .affiliate-btn {
    margin-bottom: 5px;
    width: auto;
    max-width: 100%;
}

.link-item .link-description {
    font-size: 0.9rem;
    color: #555;
    margin-top: 0;
    margin-bottom: 0;
    line-height: 1.4;
}

.link-item .link-description .original-price {
    text-decoration: line-through;
    color: #888;
    margin-right: 5px;
}


/* ==============================================
   Animações
   ============================================== */
@keyframes gradientAnimation {
    0% { background-position: 0% 50%; }
    50% { background-position: 100% 50%; }
    100% { background-position: 0% 50%; }
}

@keyframes float {
    0% { transform: translateY(0); }
    50% { transform: translateY(-10px); }
    100% { transform: translateY(0); }
}

@keyframes fadeInUp {
    from {
        opacity: 0;
        transform: translateY(20px);
    }
    to {
        opacity: 1;
        transform: translateY(0);
    }
}

@keyframes fadeIn {
    from {
        opacity: 0;
    }
    to {
        opacity: 1;
    }
}

/* ==============================================
   Responsividade (Media Queries)
   ============================================== */

/* --- Tablets e Telas Maiores (>= 768px) --- */
@media (min-width: 768px) {
    /* Layout horizontal para cards de produto em telas maiores */
    .product-card {
        flex-direction: row;
    }

    /* Player de Vídeo - Ajustes para Desktop */
    .video-player {
        width: 95%; /* Mantém a largura em desktop */
        max-width: 900px; /* Mantém a largura máxima */
        max-height: 90vh; /* Ajusta a altura máxima para desktop */
    }

    .video-player iframe {
         max-height: 70vh; /* Permite que o iframe seja maior em desktop */
    }

    .video-description {
         padding: 1.5rem; /* Aumenta padding da descrição em desktop */
    }

    .close-video { /* Botão de fechar visível e clicável em desktop */
        top: 20px;
        right: 20px;
        font-size: 1.8rem;
        width: 40px;
        height: 40px;
    }
}


/* --- Telas Menores que 768px (Mobile e Tablets Pequenos) --- */
@media (max-width: 767.98px) { /* Usando .98px para evitar sobreposição com min-width */
    /* Ajustes Gerais */
    .container {
        padding: 0 1rem; /* Reduz padding horizontal em telas menores */
    }

    .section-title {
        font-size: 1.8rem; /* Reduz tamanho do título de seção */
        margin-bottom: 2rem;
    }

    /* Cabeçalho e Navegação Compacta */
    .main-nav {
        padding: 0.5rem 0; /* Reduz padding vertical da navbar */
        height: var(--navbar-height-mobile); /* Usa a altura estimada para mobile */
    }

    .main-nav .container {
        flex-direction: column; /* Empilha logo e links */
        align-items: center; /* Centraliza */
        gap: 0.5rem; /* Espaço entre logo e links */
        height: 100%; /* Garante que o container ocupe a altura da navbar */
        justify-content: center; /* Centraliza conteúdo verticalmente dentro da navbar */
    }

    .logo img {
        max-height: 45px; /* Reduz tamanho do logo */
    }

    .nav-links {
        flex-wrap: wrap; /* Permite que os links quebrem linha */
        justify-content: center; /* Centraliza os links */
        gap: 0.5rem; /* Reduz espaço entre links */
        width: 100%; /* Permite que os links usem a largura total para centralizar */
    }

    .nav-link {
        padding: 0.3rem 0.5rem; /* Reduz padding dos links */
        font-size: 0.9rem; /* Reduz tamanho da fonte dos links */
    }

    .nav-link.highlight {
        padding: 0.3rem 0.8rem; /* Ajusta padding do botão destaque */
    }

    header {
        /* Ajusta padding-top baseado na altura reduzida da navbar (usando a variável) */
        padding-top: calc(4rem + var(--navbar-height-mobile));
        padding-bottom: 2rem; /* Reduz padding inferior do header */
        clip-path: polygon(0 0, 100% 0, 100% 95%, 0 100%); /* Ajusta clip-path */
    }

    header h1 {
        font-size: 1.8rem; /* Reduz tamanho do H1 no header */
    }

    header p {
        font-size: 0.9rem; /* Reduz tamanho do parágrafo no header */
        margin-bottom: 1.5rem;
    }

    main {
         /* Ajusta margin-top para compensar a altura da navbar (usando a variável) */
         margin-top: var(--navbar-height-mobile); /* Compensa a altura da navbar mobile */
    }

    /* Seções de Conteúdo */
    .main-section, .donation-section, .other-ways,
    .prayers-section, .studies-index-section, .study-content-section {
        padding: 3rem 0; /* Reduz padding vertical das seções */
    }

    /* Cards e Grids */
    .salmos-container {
        padding: 2rem 1rem; /* Reduz padding do card de salmos */
    }

    .salmos-text {
        font-size: 1.3rem; /* Reduz tamanho do texto do salmo */
    }

    .salmos-text::before,
    .salmos-text::after {
        font-size: 2.5rem; /* Reduz tamanho das aspas */
        top: -0.5rem;
        left: -1rem;
    }
     .salmos-text::after {
         bottom: -1rem;
         right: -1rem;
     }


    .features-grid, .institutions-grid, .ways-grid, .video-grid, .study-list-grid {
        grid-template-columns: repeat(auto-fit, minmax(250px, 1fr)); /* Ajusta minmax para telas menores */
        gap: 1.5rem; /* Reduz gap das grids */
    }

    .feature-card, .institution-card, .way-card, .video-card, .prayer-card, .study-item-card {
        padding: 1.5rem; /* Reduz padding dos cards */
    }

    .feature-icon, .way-card i {
        font-size: 2rem; /* Reduz tamanho dos ícones */
        margin-bottom: 1rem;
    }

    .feature-title, .institution-content h3, .way-card h3, .prayer-card h3, .study-item-title {
        font-size: 1.2rem; /* Reduz tamanho dos títulos dos cards */
    }

    .feature-desc, .institution-content p, .way-card p, .prayer-card p, .study-item-description {
        font-size: 0.9rem; /* Reduz tamanho da descrição dos cards */
    }

    /* Rodapé */
    footer {
        padding: 3rem 0 1.5rem; /* Reduz padding vertical do rodapé */
    }

    .site-purpose-disclaimer {
        padding: 1.5rem; /* Reduz padding do aviso no rodapé */
        margin-bottom: 2rem;
    }

    .footer-content {
        grid-template-columns: 1fr; /* Empilha colunas do rodapé */
        text-align: center; /* Centraliza texto no rodapé empilhado */
        gap: 1.5rem;
    }

    .footer-column {
         text-align: center; /* Garante centralização */
    }

    .footer-column ul {
         text-align: center; /* Centraliza lista no rodapé */
    }

    .footer-column li {
         display: inline-block; /* Exibe itens da lista em linha */
         margin: 0 0.5rem 0.5rem 0.5rem; /* Adiciona margem entre itens da lista */
    }

     .footer-column li::before {
         display: none; /* Esconde o ícone de marcador de lista customizado */
     }

    .social-icons {
        justify-content: center; /* Garante centralização dos ícones sociais */
    }

    /* Páginas Específicas */
    .prayer-introduction h2 {
        font-size: 2rem; /* Ajusta tamanho do título de introdução das orações */
    }
    .prayer-introduction p {
         font-size: 1rem; /* Ajusta tamanho do parágrafo de introdução das orações */
         text-align: center; /* Centraliza parágrafo */
    }

    .prayer-category h2 {
        font-size: 1.6rem; /* Ajusta tamanho do título de categoria das orações */
    }

    .prayer-category p.category-description {
        font-size: 1rem; /* Ajusta tamanho da descrição de categoria das orações */
    }

    .study-article {
        padding: 2rem; /* Reduz padding do artigo de estudo */
    }
    .study-article h2 {
        font-size: 1.8rem; /* Reduz tamanho do H2 no estudo */
    }
     .study-article h3 {
         font-size: 1.4rem; /* Reduz tamanho do H3 no estudo */
     }
      .study-article h4 {
          font-size: 1.1rem; /* Reduz tamanho do H4 no estudo */
      }
     .study-article p {
         font-size: 1rem; /* Reduz tamanho do parágrafo no estudo */
         text-align: left; /* Alinha à esquerda se justificado for ruim em mobile */
     }
     .study-article blockquote {
         margin: 1rem 1rem; /* Reduz margem do blockquote */
         padding: 0.8rem 1rem; /* Reduz padding do blockquote */
     }


    .privacy-policy-content, .contact-content {
        padding: 1.5rem; /* Reduz padding em páginas de política e contato */
        margin: 1.5rem auto; /* Reduz margem superior */
    }
     .contact-content p {
         font-size: 1rem; /* Ajusta tamanho do parágrafo de contato */
     }

    /* Player de Vídeo Modal */
    .video-player {
        width: 95%; /* Aumenta a largura do modal em telas menores */
        max-height: 90vh; /* Permite mais altura */
    }
     .video-player iframe {
          max-height: 55vh; /* Ajusta altura máxima do iframe */
     }
     .video-description {
          padding: 0.8rem; /* Reduz padding da descrição */
     }
    .close-video {
        top: 10px; /* Ajusta posição do botão de fechar */
        right: 10px;
        font-size: 1.6rem;
        width: 35px;
        height: 35px;
    }

}

/* --- Telas Menores que 480px (Celulares Pequenos) --- */
@media (max-width: 479.98px) { /* Usando .98px para evitar sobreposição */
     /* Ajustes Gerais */
     .container {
         padding: 0 0.8rem; /* Reduz ainda mais padding horizontal */
     }

     .section-title {
         font-size: 1.6rem; /* Reduz ainda mais tamanho do título de seção */
         margin-bottom: 1.5rem;
     }

     /* Cabeçalho e Navegação Ultra Compacta */
     .main-nav {
         padding: 0.3rem 0; /* Reduz ainda mais padding vertical da navbar */
         height: var(--navbar-height-mobile); /* Usa a altura estimada para mobile */
     }

     .main-nav .container {
         gap: 0.3rem; /* Reduz espaço entre logo e links */
         height: 100%; /* Garante que o container ocupe a altura da navbar */
         justify-content: center; /* Centraliza conteúdo verticalmente */
     }

     .logo img {
         max-height: 35px; /* Reduz ainda mais tamanho do logo */
     }

     .nav-links {
         gap: 0.3rem; /* Reduz espaço entre links */
     }

     .nav-link {
         padding: 0.2rem 0.3rem; /* Reduz ainda mais padding dos links */
         font-size: 0.8rem; /* Reduz ainda mais tamanho da fonte dos links */
     }

     .nav-link.highlight {
         padding: 0.2rem 0.6rem; /* Ajusta padding do botão destaque */
     }

     header {
         /* Ajusta padding-top baseado na altura ultra reduzida da navbar (usando a variável) */
         padding-top: calc(3rem + var(--navbar-height-mobile));
         padding-bottom: 1.5rem; /* Reduz padding inferior do header */
         clip-path: polygon(0 0, 100% 0, 100% 97%, 0 100%); /* Ajusta clip-path */
     }

     header h1 {
         font-size: 1.4rem; /* Reduz ainda mais tamanho do H1 no header */
     }

     header p {
         font-size: 0.8rem; /* Reduz ainda mais tamanho do parágrafo no header */
         margin-bottom: 1rem;
         /* Limita o parágrafo a 2 linhas em telas muito pequenas */
         display: -webkit-box;
         -webkit-line-clamp: 2;
         -webkit-box-orient: vertical;
         overflow: hidden;
     }

     main {
          /* Ajusta margin-top para compensar a altura da navbar (usando a variável) */
          margin-top: var(--navbar-height-mobile); /* Compensa a altura da navbar mobile */
     }

     /* Seções de Conteúdo */
     .main-section, .donation-section, .other-ways,
     .prayers-section, .studies-index-section, .study-content-section {
         padding: 2rem 0; /* Reduz ainda mais padding vertical das seções */
     }

     /* Cards e Grids */
     .salmos-container {
         padding: 1.5rem 0.8rem; /* Reduz ainda mais padding do card de salmos */
     }

     .salmos-text {
         font-size: 1.1rem; /* Reduz ainda mais tamanho do texto do salmo */
     }

     .salmos-text::before,
     .salmos-text::after {
         font-size: 2rem; /* Reduz ainda mais tamanho das aspas */
         top: -0.3rem;
         left: -0.8rem;
     }
      .salmos-text::after {
          bottom: -0.8rem;
          right: -0.8rem;
      }

     .features-grid, .institutions-grid, .ways-grid, .video-grid, .study-list-grid {
         grid-template-columns: 1fr; /* Força uma única coluna em telas muito pequenas */
         gap: 1rem; /* Reduz ainda mais gap das grids */
     }

     .feature-card, .institution-card, .way-card, .video-card, .prayer-card, .study-item-card {
         padding: 1rem; /* Reduz ainda mais padding dos cards */
     }

     .feature-icon, .way-card i {
         font-size: 1.8rem; /* Reduz ainda mais tamanho dos ícones */
         margin-bottom: 0.8rem;
     }

     .feature-title, .institution-content h3, .way-card h3, .prayer-card h3, .study-item-title {
         font-size: 1rem; /* Reduz ainda mais tamanho dos títulos dos cards */
     }

     .feature-desc, .institution-content p, .way-card p, .prayer-card p, .study-item-description {
         font-size: 0.85rem; /* Reduz ainda mais tamanho da descrição dos cards */
     }

     /* Rodapé */
     footer {
         padding: 2rem 0 1rem; /* Reduz ainda mais padding vertical do rodapé */
     }

     .site-purpose-disclaimer {
         padding: 1rem; /* Reduz ainda mais padding do aviso no rodapé */
         margin-bottom: 1.5rem;
         font-size: 0.9rem;
     }

     .footer-content {
         gap: 1rem;
     }

     .footer-column h3 {
          font-size: 1.2rem;
     }

     .footer-column li {
          margin: 0 0.3rem 0.3rem 0.3rem; /* Reduz margem entre itens da lista */
          font-size: 0.9rem;
     }

     .social-icons {
         gap: 1rem; /* Reduz espaço entre ícones sociais */
     }

     .social-icons a {
         width: 30px;
         height: 30px;
         font-size: 1.2rem;
     }

     .copyright {
          font-size: 0.8rem;
          margin-top: 1.5rem;
          padding-top: 1.5rem;
     }


     /* Páginas Específicas */
     .prayer-introduction h2 {
         font-size: 1.6rem;
     }
     .prayer-introduction p {
          font-size: 0.9rem;
     }

     .prayer-category h2 {
         font-size: 1.4rem;
     }

     .prayer-category p.category-description {
         font-size: 0.9rem;
     }

     .study-article {
         padding: 1.5rem;
     }
     .study-article h2 {
         font-size: 1.6rem;
     }
      .study-article h3 {
          font-size: 1.2rem;
      }
       .study-article h4 {
           font-size: 1rem;
       }
      .study-article p {
          font-size: 0.9rem;
      }
      .study-article blockquote {
          margin: 0.8rem 0.8rem;
          padding: 0.6rem 0.8rem;
          font-size: 0.9rem;
      }
      .study-article blockquote footer {
           font-size: 0.8rem;
      }

     .privacy-policy-content, .contact-content {
         padding: 1rem;
         margin: 1rem auto;
         font-size: 0.9rem;
     }
      .contact-content p {
          font-size: 0.9rem;
      }


     /* Player de Vídeo Modal */
     .video-player {
         width: 98%;
         max-height: 98vh;
     }
      .video-player iframe {
           max-height: 50vh; /* Pode ajustar dependendo do espaço restante */
      }
      .video-description {
           padding: 0.5rem;
           font-size: 0.85rem;
      }
     .close-video {
         top: 5px;
         right: 5px;
         font-size: 1.4rem;
         width: 30px;
         height: 30px;
     }

      /* Lojinha */
     .product-card {
         padding: 1rem;
         gap: 1rem;
     }

     .product-image {
         flex-basis: auto;
         width: 100%;
         text-align: center;
     }

     .product-card .product-image img {
         max-width: 120px;
         max-height: 120px;
         margin: 0 auto 0.8rem;
     }

     .product-content h3 {
         font-size: 1.1rem;
     }

     .product-content p {
          font-size: 0.85rem;
     }

     .link-item .affiliate-btn {
          font-size: 0.75rem;
          padding: 0.4rem 0.8rem;
     }

      .link-item .link-description {
          font-size: 0.8rem;
      }
}

/* ==============================================
   Estilos para Elementos Especiais/Utilitários
   ============================================== */
/* Estilo para cards de estudo que estão "Em Breve" */
.study-item-card.coming-soon {
    opacity: 0.6;
    cursor: not-allowed;
}

/* Impede o efeito de hover nos cards "Em Breve" */
.study-item-card.coming-soon:hover {
    transform: none;
    box-shadow: var(--soft-shadow);
}

/* Garante que o link interno do card (se houvesse) não funcione (embora removamos o <a>) */
.study-item-card.coming-soon a {
    pointer-events: none;
}

/* Nova classe para Insights do Dicionário */
.dictionary-insight {
    background-color: #e9ecef;
    border: 1px solid #dee2e6;
    padding: 1.5rem;
    margin: 2rem 0;
    border-radius: 8px;
    font-style: italic;
    color: #495057;
    line-height: 1.6;
}

.dictionary-insight strong {
    color: var(--primary-color);
    font-weight: 600;
}
