/*
Theme Name: Squatron Digital
Theme URI: https://squatrondigital.com
Author: Salatiel
Author URI: https://squatrondigital.com
Description: Tema WordPress minimalista e responsivo desenvolvido por Salatiel para o projeto Squatron Digital.
Version: 1.0
License: GNU General Public License v2 or later
License URI: https://www.gnu.org/licenses/gpl-2.0.html
Text Domain: squatron-digital
Tags: blog, simples, leve, responsivo, minimalista
*/

:root {
/ Cores principais /
--color-primary: #25D366; / Verde WhatsApp /
--color-primary-dark: #128C7E; / Verde WhatsApp escuro /
--color-primary-light: #DCF8C6; / Verde WhatsApp claro 

/* Cores de texto */
--color-text: #1a1a1a;
--color-text-secondary: #4a5568;
--color-text-muted: #718096;

/* Cores de fundo */
--color-bg: #ffffff;
--color-bg-light: #f8fafc;
--color-bg-dark: #f1f5f9;

/* Cores de borda */
--color-border: #e2e8f0;
--color-border-light: #f1f5f9;

/* Cores de feedback */
--color-success: #10b981;
--color-warning: #f59e0b;
--color-error: #ef4444;
--color-info: #3b82f6;

/* Sombras */
--shadow-sm: 0 1px 2px 0 rgba(0, 0, 0, 0.05);
--shadow: 0 1px 3px 0 rgba(0, 0, 0, 0.1), 0 1px 2px 0 rgba(0, 0, 0, 0.06);
--shadow-md: 0 4px 6px -1px rgba(0, 0, 0, 0.1), 0 2px 4px -1px rgba(0, 0, 0, 0.06);
--shadow-lg: 0 10px 15px -3px rgba(0, 0, 0, 0.1), 0 4px 6px -2px rgba(0, 0, 0, 0.05);
--shadow-xl: 0 20px 25px -5px rgba(0, 0, 0, 0.1), 0 10px 10px -5px rgba(0, 0, 0, 0.04);

/* Tipografia */
--font-sans: 'Inter', -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, Oxygen, Ubuntu, Cantarell, 'Open Sans', 'Helvetica Neue', sans-serif;
--font-mono: 'SFMono-Regular', Menlo, Monaco, Consolas, 'Liberation Mono', 'Courier New', monospace;
}

/* Espaçamentos */
--space-xs: 0.25rem;
--space-sm: 0.5rem;
--space: 1rem;
--space-md: 1.5rem;
--space-lg: 2rem;
--space-xl: 3rem;
--space-2xl: 4rem;

/* Bordas */
--radius-sm: 0.25rem;
--radius: 0.375rem;
--radius-md: 0.5rem;
--radius-lg: 0.75rem;
--radius-full: 9999px;

/* Transições */
--transition: all 0.2s ease-in-out;
--transition-slow: all 0.3s cubic-bezier(0.4, 0, 0.2, 1);
}

/* ===== RESET & BASE ===== */
*,
*::before,
*::after {
margin: 0;
padding: 0;
box-sizing: border-box;
}

.post-content figure.wp-caption[style] {
width: 100% !important;
max-width: 100% !important;
height: auto !important;
}
.post-content figure.wp-caption img {
max-width: 100% !important;
height: auto !important;
display: block;
margin-left: auto;
margin-right: auto;
}

html {
-webkit-text-size-adjust: 100%;
-webkit-tap-highlight-color: rgba(0, 0, 0, 0);
font-size: 16px;
scroll-behavior: smooth;
height: 100%;
}

body {
font-family: Arial !important;
line-height: 1.5;
color: var(--color-text);
background-color: var(--color-bg);
-webkit-font-smoothing: antialiased;
-moz-osx-font-smoothing: grayscale;
text-rendering: optimizeLegibility;
overflow-x: hidden;
min-height: 100%;
position: relative;
}

/* Tipografia responsiva */
@media (min-width: 768px) {
html {
font-size: 18px;
}
}

/* Links */
a {
color: var(--color-primary);
text-decoration: none;
transition: var(--transition);
-webkit-tap-highlight-color: rgba(0, 0, 0, 0);
}

/* Listas */
ul, ol {
list-style: none;
}

/* Imagens */
img,
video {
max-width: 100%;
height: auto;
display: block;
}

/* Containers */
.container {
width: 100%;
max-width: 1280px;
margin: 0 auto;
padding: 0 var(--space);
}

/* Seções */
section {
padding: var(--space-2xl) 0;
position: relative;
}

/* Cabeçalhos */
h1, h2, h3, h4, h5, h6 {
font-weight: 700;
line-height: 1.2;
margin-bottom: var(--space);
color: #007f5f;
}

h1 { font-size: 21px !important;
}
h2 { font-size: 1.875rem; }
h3 { font-size: 1.5rem; }
h4 { font-size: 1.25rem; }
h5 { font-size: 1.125rem; }
h6 { font-size: 1rem; }

/* Parágrafos */
p {
margin-bottom: var(--space);
color: var(--color-text-secondary);
line-height: 1.7;
font-size: 16px !important;

}

/* Botões */
.btn {
display: inline-flex;
align-items: center;
justify-content: center;
padding: 0.75rem 1.5rem;
border-radius: var(--radius);
font-weight: 600;
font-size: 1rem;
line-height: 1.5;
text-align: center;
cursor: pointer;
transition: var(--transition);
border: 1px solid transparent;
white-space: nowrap;
user-select: none;
-webkit-tap-highlight-color: transparent;
position: relative;
overflow: hidden;
}

/* Efeito de clique */
.btn::after {
content: '';
position: absolute;
top: 50%;
left: 50%;
width: 5px;
height: 5px;
background: rgba(255, 255, 255, 0.5);
opacity: 0;
border-radius: 100%;
transform: scale(1, 1) translate(-50%, -50%);
transform-origin: 50% 50%;
}

.btn:active::after {
animation: ripple 0.6s ease-out;
}

@keyframes ripple {
0% {
transform: scale(0, 0);
opacity: 0.5;
}
100% {
transform: scale(20, 20);
opacity: 0;
}
}

/* Variantes de botão */
.btn-primary {
background-color: var(--color-primary);
color: white;
box-shadow: var(--shadow);
}

.btn-outline {
background-color: transparent;
border: 1px solid var(--color-border);
color: var(--color-text);
}

/* Tamanhos de botão */
.btn-sm {
padding: 0.5rem 1rem;
font-size: 0.875rem;
}

.btn-lg {
padding: 1rem 2rem;
font-size: 1.125rem;
}

/* Cards */
.card {
background: var(--color-bg);
border-radius: var(--radius-md);
overflow: hidden;
box-shadow: var(--shadow-sm);
transition: var(--transition);
height: 100%;
display: flex;
flex-direction: column;
margin-bottom: var(--space);
}

.card-img {
width: 100%;
height: 180px;
object-fit: cover;
}

.card-body {
padding: var(--space);
flex: 1;
display: flex;
flex-direction: column;
}

.card-title {
font-size: 1.25rem;
margin-bottom: var(--space-sm);
color: var(--color-text);
}

.card-text {
color: var(--color-text-secondary);
margin-bottom: var(--space);
flex: 1;
}

/* Utilitários */
.text-center { text-align: center; }
.text-left { text-align: left; }
.text-right { text-align: right; }

.mt-0 { margin-top: 0; }
.mb-0 { margin-bottom: 0; }
.ml-0 { margin-left: 0; }
.mr-0 { margin-right: 0; }

.p-0 { padding: 0; }
.pt-0 { padding-top: 0; }
.pb-0 { padding-bottom: 0; }
.pl-0 { padding-left: 0; }
.pr-0 { padding-right: 0; }

/* ===== HEADER ===== */
.header {
background-color: var(--color-bg);
border-bottom: 1px solid var(--color-border-light);
z-index: 1000;
backdrop-filter: blur(10px);
-webkit-backdrop-filter: blur(10px);
background-color: rgba(255, 255, 255, 0.8);
}

.header .container {
display: flex;
justify-content: space-between;
align-items: center;
height: 70px;
position: relative;
}

.logo {
font-size: 1.5rem;
font-weight: 800;
color: var(--color-primary);
text-decoration: none;
display: flex;
align-items: center;
gap: 0.5rem;
letter-spacing: -0.5px;
}

.logo-text {
position: relative;
z-index: 1;
}

.logo-text::after {
content: '';
position: absolute;
bottom: 2px;
left: 0;
width: 100%;
height: 8px;
background-color: var(--color-primary-light);
z-index: -1;
opacity: 0.7;
border-radius: 2px;
transition: var(--transition);
}

.logo:hover .logo-text::after {
height: 12px;
opacity: 1;
}

.nav-menu {
display: flex;
gap: var(--space-md);
align-items: center;
}

.nav-link {
color: var(--color-text);
font-weight: 500;
font-size: 0.95rem;
padding: var(--space-sm) 0;
position: relative;
transition: var(--transition);
}

.nav-link:hover,
.nav-link.active {
color: var(--color-primary);
}

.nav-link::after {
content: '';
position: absolute;
bottom: 0;
left: 0;
width: 0;
height: 2px;
background-color: var(--color-primary);
transition: var(--transition);
border-radius: var(--radius-full);
}

.nav-link:hover::after,
.nav-link.active::after {
width: 100%;
}

/* ===== HERO SECTION ===== */
.hero-section {
padding: var(--space-2xl) 0;
position: relative;
overflow: hidden;
background: linear-gradient(135deg, rgba(245, 247, 250, 0.8) 0%, rgba(228, 231, 235, 0.6) 100%);
background-size: cover;
background-position: center;
background-attachment: fixed;
}

.hero-section::before {
content: '';
position: absolute;
top: 0;
left: 0;
right: 0;
bottom: 0;
background: radial-gradient(circle at 20% 30%, rgba(37, 211, 102, 0.1) 0%, transparent 40%),
radial-gradient(circle at 80% 70%, rgba(18, 140, 126, 0.1) 0%, transparent 40%);
z-index: 0;
}

.hero-content {
max-width: 800px;
margin: 0 auto;
text-align: center;
position: relative;
z-index: 1;
padding: var(--space-xl) 0;
}

.hero-title {
font-size: 3rem;
font-weight: 800;
margin-bottom: var(--space);
line-height: 1.1;
color: #1a1a1a; /* Fallback para navegadores que não suportam gradiente */
letter-spacing: -0.05em;
background: linear-gradient(90deg, #1a1a1a 0%, #4a5568 100%);
-webkit-background-clip: text;
background-clip: text;
color: transparent;
display: inline-block;
}

.hero-description {
font-size: 1.25rem;
color: var(--color-text-secondary);
margin-bottom: var(--space-xl);
max-width: 700px;
margin-left: auto;
margin-right: auto;
line-height: 1.7;
font-weight: 400;
}

.hero-buttons {
display: flex;
gap: var(--space);
justify-content: center;
flex-wrap: wrap;
margin-bottom: var(--space-xl);
}

.hero-image {
margin-top: var(--space-xl);
border-radius: var(--radius-lg);
overflow: hidden;
position: relative;
z-index: 1;
box-shadow: var(--shadow-xl);
border: 1px solid var(--color-border);
transition: var(--transition-slow);
}

.hero-image:hover {
transform: translateY(-5px);
box-shadow: 0 25px 50px -12px rgba(0, 0, 0, 0.15);
}

.hero-image img {
width: 100%;
height: auto;
display: block;
transition: var(--transition-slow);
}

.hero-image:hover img {
transform: scale(1.02);
}

/* ===== CATEGORY BAR ===== */
.category-bar {
background-color: var(--color-bg);
border-bottom: 1px solid var(--color-border-light);

z-index: 999;
backdrop-filter: blur(10px);
-webkit-backdrop-filter: blur(10px);
background-color: rgba(255, 255, 255, 0.8);
}

.category-scroll-container {
position: relative;
padding: var(--space-xs) 0;
}

.category-scroll-container::after {
content: '';
position: absolute;
top: 0;
right: 0;
bottom: 0;
width: 40px;
background: linear-gradient(90deg, rgba(255,255,255,0) 0%, rgba(255,255,255,0.9) 100%);
pointer-events: none;
z-index: 2;
opacity: 0;
transition: var(--transition);
}

.category-scroll-container.scrollable::after {
opacity: 1;
}

.category-list {
display: flex;
gap: var(--space-sm);
padding: var(--space-xs) 0;
overflow-x: auto;
-webkit-overflow-scrolling: touch;
scrollbar-width: none;
scroll-behavior: smooth;
padding-right: var(--space);
}

.category-list::-webkit-scrollbar {
display: none;
gap: 0.75rem;
padding: 0 1rem;
min-width: 100%;
box-sizing: border-box;
}

.category-item {
padding: 0.5rem 1rem;
background: #ffffff;
border: 1px solid #e2e8f0;
border-radius: 20px;
font-size: 0.875rem;
color: #4a5568;
white-space: nowrap;
cursor: pointer;
transition: all 0.2s ease;
flex-shrink: 0;
-webkit-tap-highlight-color: transparent;
touch-action: manipulation;
}

.category-item:active {
transform: scale(0.98);
}

/* Indicador visual de que há mais itens para rolar */
.category-scroll-container::after {
content: '';
position: absolute;
right: 0;
top: 0;
bottom: 0;
width: 30px;
background: linear-gradient(90deg, rgba(247,250,252,0) 0%, rgba(247,250,252,0.9) 100%);
pointer-events: none;
opacity: 0;
transition: opacity 0.3s ease;
}

.category-scroll-container.scrollable::after {
opacity: 1;
}

/* ===== HERO SECTION ===== */
.hero-section {
padding: 3rem 0 2rem;
background: var(--color-gray-light);
}

.hero-content {
max-width: 800px;
margin: 0 auto;
text-align: center;
}

.hero-title {
font-size: 2rem;
font-weight: 700;
color: #1a202c;
margin-bottom: 1rem;
line-height: 1.2;
}

.hero-description {
font-size: 1rem;
color: #4a5568;
max-width: 600px;
margin: 0 auto 1.5rem;
line-height: 1.5;
}

.hero-stats {
display: flex;
justify-content: center;
gap: 1.5rem;
flex-wrap: wrap;
margin-top: 1.5rem;
padding-top: 1.5rem;
border-top: 1px solid #f0f0f0;
}

.stat-item {
text-align: center;
min-width: 80px;
}

.stat-number {
display: block;
font-size: 1.25rem;
font-weight: 600;
color: #2d3748;
margin-bottom: 0.2rem;
}

.stat-label {
font-size: 0.8rem;
color: #718096;
font-weight: 400;
}

/* ===== RECOMMENDED SECTION ===== */
.recommended-section {
padding: 2.5rem 0;
background-color: #f8f9fa;
}

.recommended-section .section-header {
text-align: center;
margin-bottom: 1.5rem;
}

.recommended-section .section-title {
color: var(--color-primary);
font-size: 1.75rem;
font-weight: 700;
margin-bottom: 0.25rem;
}

.recommended-section .section-subtitle {
color: var(--color-text-light);
font-size: 1rem;
max-width: 700px;
margin: 0 auto;
}

.recommended-grid {
display: grid;
grid-template-columns: repeat(auto-fill, minmax(280px, 1fr));
gap: 1.25rem;
margin-bottom: 1.5rem;
}

.recommended-card {
background: white;
border-radius: 10px;
overflow: hidden;
box-shadow: 0 2px 8px rgba(0, 0, 0, 0.06);
transition: transform 0.2s ease, box-shadow 0.2s ease;
display: flex;
flex-direction: column;
height: 100%;
text-decoration: none;
color: inherit;
border: 1px solid rgba(0, 0, 0, 0.05);
}

.recommended-card:hover {
transform: translateY(-2px);
box-shadow: 0 4px 12px rgba(0, 0, 0, 0.1);
}

.recommended-image {
position: relative;
padding-top: 50%; /* More compact aspect ratio */
overflow: hidden;
}

.recommended-image img {
position: absolute;
top: 0;
left: 0;
width: 100%;
height: 100%;
object-fit: cover;
transition: transform 0.3s ease;
}

.recommended-card:hover .recommended-image img {
transform: scale(1.03);
}

.recommended-category {
position: absolute;
top: 0.75rem;
right: 0.75rem;
background: var(--color-primary);
color: white;
padding: 0.15rem 0.6rem;
border-radius: 12px;
font-size: 0.7rem;
font-weight: 600;
text-transform: uppercase;
letter-spacing: 0.3px;
}

.recommended-content {
padding: 1rem;
flex: 1;
display: flex;
flex-direction: column;
}

.recommended-content h3 {
font-size: 1.1rem;
font-weight: 600;
margin: 0 0 0.5rem;
color: var(--color-heading);
line-height: 1.3;
}

.recommended-content p {
color: var(--color-text);
margin-bottom: 0.75rem;
font-size: 0.9rem;
line-height: 1.4;
-webkit-line-clamp: 2;
-webkit-box-orient: vertical;
display: -webkit-box;
overflow: hidden;
text-overflow: ellipsis;
}

.recommended-meta {
display: flex;
gap: 0.75rem;
font-size: 0.8rem;
color: var(--color-text-light);
margin-top: 0.5rem;
}

.recommended-meta i {
margin-right: 0.15rem;
color: var(--color-primary);
font-size: 0.8em;
}

/* Responsive adjustments */
@media (max-width: 992px) {
.recommended-grid {
grid-template-columns: repeat(2, 1fr);
gap: 1rem;
}
}

@media (max-width: 768px) {
.recommended-section {
padding: 2rem 0;
}

.recommended-section .section-title {
    font-size: 1.5rem;
}

.recommended-section .section-subtitle {
    font-size: 0.95rem;
}

.recommended-content {
    padding: 0.85rem;
}

.recommended-content h3 {
    font-size: 1.05rem;
    margin-bottom: 0.4rem;
}

.recommended-content p {
    font-size: 0.85rem;
    margin-bottom: 0.5rem;
}

.recommended-meta {
    font-size: 0.75rem;
    gap: 0.6rem;
}
}

@media (max-width: 576px) {
.recommended-grid {
grid-template-columns: 1fr;
gap: 1rem;
}

.recommended-section .section-title {
    font-size: 1.4rem;
}

.recommended-section {
    padding: 1.75rem 0;
}
}

/* ===== CONTENT STYLES ===== */
.lotazap-conteudo {
padding: 3rem 0;
background-color: var(--color-bg);
color: var(--color-text);
line-height: 1.7;
}

.lotazap-conteudo .container-single {
max-width: 800px;
margin: 0 auto;
padding: 0 1.5rem;
}

.lotazap-conteudo h2 {
color: #00654C;
margin: 2.5rem 0 1.25rem;
font-size: 1.75rem;
font-weight: 700;
line-height: 1.3;
}

.lotazap-conteudo h3 {
color: var(--color-heading);
margin: 2rem 0 1rem;
font-size: 1.4rem;
font-weight: 600;
line-height: 1.4;
}

.lotazap-conteudo p {
margin-bottom: 1.25rem;
font-size: 16px !important;
line-height: 1.7;
}

.lotazap-conteudo ul,
.lotazap-conteudo ol {
margin: 1.25rem 0;
padding-left: 1.5rem;
}

.lotazap-conteudo li {
margin-bottom: 0.5rem;
padding-left: 0.5rem;
}

.lotazap-conteudo strong {
color: var(--color-heading);
font-weight: 600;
}

/* Responsive adjustments */
@media (max-width: 768px) {
.lotazap-conteudo {
padding: 2rem 0;
}

.lotazap-conteudo h2 {
    font-size: 22px;
    margin: 2rem 0 1rem;
}

.lotazap-conteudo h3 {
    font-size: 20px;
    margin: 1.75rem 0 1rem;
}

.lotazap-conteudo p,
.lotazap-conteudo li {
    font-size: 16.5px;
}
}

/* ===== FOOTER ===== */
.footer-main {
background: var(--color-white);
padding: 2rem 0 1rem;
margin-top: 2rem;
border-top: 1px solid var(--color-border);
background-color: var(--color-gray-light);
}

.footer-content {
display: flex;
flex-wrap: wrap;
justify-content: space-between;
align-items: center;
gap: 1.5rem;
margin-bottom: 1rem;
text-align: left;
}

.footer-brand {
display: flex;
align-items: center;
gap: 1rem;
}

.footer-logo {
font-size: 1.25rem;
font-weight: 700;
color: #2d3748;
text-decoration: none;
}

.footer-links {
display: flex;
gap: 1.5rem;
flex-wrap: wrap;
justify-content: center;
}

.link-list {
display: flex;
gap: 1.5rem;
list-style: none;
padding: 0;
margin: 0;
flex-wrap: wrap;
justify-content: center;
}

.link-list a {
color: #64748b;
font-size: 0.9rem;
text-decoration: none;
transition: color 0.2s ease;
}

.link-list a:hover {
color: var(--color-primary);
}

.footer-bottom {
text-align: center;
padding-top: 1rem;
color: var(--color-text-light);
font-size: 0.8rem;
border-top: 1px solid var(--color-border);
margin-top: 1rem;
}

/* ===== SECTIONS ===== */
.section-groups,
.section-blog {
padding: 2rem 0;
}

.section-about {
background: #f7fafc;
padding: 3rem 0;
position: relative;
overflow: hidden;
}

.about-content {
display: flex;
flex-direction: column;
gap: 2.5rem;
align-items: center;
}

.about-text {
width: 100%;
text-align: center;
}

.about-text h2 {
font-size: 1.75rem;
color: #2d3748;
margin-bottom: 1.25rem;
line-height: 1.3;
}

.about-text p {
color: #4a5568;
line-height: 1.7;
margin-bottom: 1.5rem;
max-width: 600px;
margin-left: auto;
margin-right: auto;
font-size: 1rem;
}

.about-image {
position: relative;
border-radius: 12px;
overflow: hidden;
box-shadow: 0 10px 15px -3px rgba(0, 0, 0, 0.1);
width: 100%;
max-width: 500px;
margin: 0 auto;
}

.about-image img {
width: 100%;
height: auto;
display: block;
transition: transform 0.3s ease;
}

.about-cta {
display: flex;
gap: 1rem;
justify-content: center;
flex-wrap: wrap;
width: 100%;
}

.about-cta .btn {
min-width: 160px;
text-align: center;
}

/* Estilos para mobile */
@media (max-width: 639px) {
.footer-content {
flex-direction: column;
text-align: center;
gap: 1rem;
}

.footer-brand {
justify-content: center;
width: 100%;
}

.footer-links {
width: 100%;
justify-content: center;
}

.link-list {
justify-content: center;
gap: 1rem;
}
}

/* Estilos para tablets */
@media (min-width: 640px) {
.section-about {
padding: 4rem 0;
}

.about-text h2 {
font-size: 2rem;
}

.about-cta {
flex-direction: row;
}
}

/* Estilos para desktops */
@media (min-width: 1024px) {
.section-about {
padding: 5rem 0;
}

.about-content {
flex-direction: row;
text-align: left;
gap: 4rem;
}

.about-text {
text-align: left;
flex: 1;
}

.about-text h2 {
font-size: 2.25rem;
}

.about-text p {
margin-left: 0;
margin-right: 0;
}

.about-image {
flex: 1;
max-width: none;
}

.about-cta {
justify-content: flex-start;
}
}

/* Efeito de fundo sutil */
.section-about::before {
content: '';
position: absolute;
top: -100px;
right: -100px;
width: 300px;
height: 300px;
background: rgba(37, 211, 102, 0.05);
border-radius: 50%;
z-index: 0;
}

.section-about::after {
content: '';
position: absolute;
bottom: -50px;
left: -50px;
width: 200px;
height: 200px;
background: rgba(52, 183, 241, 0.05);
border-radius: 50%;
z-index: 0;
}

.about-content > * {
position: relative;
z-index: 1;
}

/* ===== RESPONSIVIDADE ===== /
/ Desktop Pequeno / Tablet em Paisagem */
@media (max-width: 1024px) {
.container {
padding: 0 1.5rem;
}

.hero-title {
font-size: 2rem;
line-height: 1.2;
}

.hero-description {
font-size: 1rem;
max-width: 100%;
}

.groups-grid,
.blog-grid {
grid-template-columns: repeat(auto-fill, minmax(250px, 1fr));
gap: 1.25rem;
}

.section-title {
font-size: 1.5rem;
}

.section-subtitle {
font-size: 0.95rem;
}
}

/* Tablet em Retrato */
@media (max-width: 768px) {
.header {
padding: 0.75rem 0;
}

.logo-text {
font-size: 1.25rem;
}

.nav-menu {
position: fixed;
top: 4rem;
left: -100%;
width: 280px;
height: calc(100vh - 4rem);
background: var(--color-white);
flex-direction: column;
align-items: flex-start;
padding: 1.5rem;
transition: 0.3s ease-in-out;
box-shadow: 2px 0 10px rgba(0, 0, 0, 0.1);
z-index: 1000;
}

.nav-menu.active {
left: 0;
}

.nav-list {
flex-direction: column;
width: 100%;
gap: 0.5rem;
}

.nav-item {
width: 100%;
margin: 0;
}

.nav-link {
padding: 0.75rem 1rem;
border-radius: 6px;
}

.nav-link:hover {
background: var(--color-gray);
}

.nav-link.active::after {
display: none;
}

.nav-cta {
margin-top: 1rem;
width: 100%;
}

.nav-toggle {
display: flex;
}

.hero-section {
padding: 1.5rem 0;
}

.hero-content {
text-align: center;
padding: 1rem 0;
}

.hero-title {
font-size: 1.75rem;
margin-bottom: 1rem;
}

.hero-stats {
flex-wrap: wrap;
justify-content: center;
gap: 1rem;
}

.stat-item {
flex: 0 0 calc(50% - 0.5rem);
max-width: calc(50% - 0.5rem);
}

.section-groups,
.section-blog,
.section-about {
padding: 2.5rem 0;
}

.section-title {
font-size: 1.5rem;
}

.footer-content {
grid-template-columns: 1fr;
gap: 1.5rem;
}

.footer-links {
grid-template-columns: repeat(2, 1fr);
gap: 1.5rem;
}
}

/* Celulares */
@media (max-width: 480px) {
.container {
padding: 0 1rem;
}

.logo-text {
font-size: 1.1rem;
}

.nav-menu {
width: 85%;
}

.hero-title {
font-size: 1.5rem;
}

.hero-description {
font-size: 0.95rem;
}

.hero-stats {
flex-direction: column;
gap: 1rem;
}

.stat-item {
flex: 0 0 100%;
max-width: 100%;
}

.groups-grid,
.blog-grid {
grid-template-columns: 1fr;
gap: 1.25rem;
}

.group-card,
.blog-card {
max-width: 100%;
}

.card-image,
.blog-image {
height: 160px;
}

.footer-links {
grid-template-columns: 1fr;
gap: 1.5rem;
}

.footer-bottom {
flex-direction: column;
gap: 0.5rem;
text-align: center;
}

.section-title {
font-size: 1.4rem;
}

.section-subtitle {
font-size: 0.9rem;
}

.btn-join,
.btn-secondary {
padding: 0.6rem 1rem;
font-size: 0.9rem;
}
}

.section-title {
font-size: 2rem;
font-weight: 800;
margin-bottom: var(--space);
color: var(--color-text);
line-height: 1.2;
letter-spacing: -0.02em;
}

.section-subtitle {
font-size: 1.125rem;
color: var(--color-text-secondary);
line-height: 1.7;
margin: 0 auto;
max-width: 700px;
}

/* ===== GRUPOS EM DESTAQUE ===== /
.section-groups {
background-color: var(--color-bg-light);
position: relative;
overflow: hidden;
padding: var(--space-xl) 0 !important; / Reduz o padding vertical */
}

.section-groups::before {
content: '';
position: absolute;
top: -50px;
right: -50px;
width: 250px;
height: 250px;
background: radial-gradient(circle, rgba(37, 211, 102, 0.1) 0%, rgba(37, 211, 102, 0) 70%);
z-index: 0;
}

.groups-grid {
display: grid;
grid-template-columns: repeat(auto-fill, minmax(280px, 1fr));
gap: var(--space);
position: relative;
z-index: 1;
}

.group-card-link {
display: block;
text-decoration: none;
color: inherit;
transition: transform 0.2s ease;
position: relative;
}

.group-card-link:active {
transform: scale(0.98);
}

/* Ensure the link covers the entire card */
.group-card-link::after {
content: '';
position: absolute;
top: 0;
left: 0;
right: 0;
bottom: 0;
z-index: 1;
}

.group-card {
background: var(--color-bg);
border-radius: var(--radius-lg);
overflow: hidden;
box-shadow: var(--shadow-sm);
transition: var(--transition-slow);
display: flex;
flex-direction: column;
height: 100%;
border: 1px solid var(--color-border-light);
position: relative;
}

.card-image {
width: 100%;
height: 140px; /* Altura reduzida da imagem */
position: relative;
overflow: hidden;
}

.card-image img {
width: 100%;
height: 100%;
object-fit: cover;
transition: var(--transition-slow);
}

.card-category {
position: absolute;
top: var(--space);
left: var(--space);
background: var(--color-primary);
color: white;
font-size: 0.75rem;
font-weight: 600;
padding: 0.25rem 0.75rem;
border-radius: var(--radius-full);
text-transform: uppercase;
letter-spacing: 0.5px;
z-index: 2;
box-shadow: var(--shadow-sm);
}

.card-content {
padding: var(--space-sm) var(--space);
flex: 1;
display: flex;
flex-direction: column;
}

.card-title {
font-size: 1.1rem;
margin-bottom: 0.5rem;
color: var(--color-text);
line-height: 1.3;
transition: var(--transition);
}

.card-description {
color: var(--color-text-secondary);
font-size: 0.85rem;
margin-bottom: 0.75rem;
line-height: 1.5;
display: -webkit-box;
-webkit-line-clamp: 2;
-webkit-box-orient: vertical;
overflow: hidden;
text-overflow: ellipsis;
min-height: 2.5em; /* Aproximadamente 2 linhas de texto */
}

.card-meta {
display: flex;
align-items: center;
justify-content: space-between;
margin-top: auto;
padding-top: 0.5rem;
border-top: 1px solid var(--color-border-light);
font-size: 0.75rem;
color: var(--color-text-muted);
}

.card-members {
display: flex;
align-items: center;
gap: 0.5rem;
font-weight: 500;
}

.card-members i {
color: var(--color-primary);
font-size: 1.1em;
}

.card-actions {
display: flex;
gap: 0.5rem;
}

.btn-join {
background: var(--color-primary);
color: white;
border: none;
padding: 0.4rem 1rem;
border-radius: var(--radius);
font-weight: 600;
font-size: 0.8rem;
cursor: pointer;
transition: var(--transition);
display: inline-flex;
align-items: center;
gap: 0.4rem;
white-space: nowrap;
position: relative;
z-index: 2; /* Garante que o botão fique acima do link /
pointer-events: auto; / Permite clicar no botão */
}

.btn-join i {
font-size: 1.1em;
transition: transform 0.2s ease;
}

/* Button needs to be clickable above the link overlay */
.btn-join {
position: relative;
z-index: 2;
}

/* ===== BLOG ===== */
.section-blog {
position: relative;
background-color: var(--color-bg);
overflow: hidden;
padding: 2rem 0 !important;
}

.section-blog::before {
content: '';
position: absolute;
bottom: -100px;
left: -100px;
width: 400px;
height: 400px;
background: radial-gradient(circle, rgba(18, 140, 126, 0.1) 0%, rgba(18, 140, 126, 0) 70%);
z-index: 0;
}

.blog-grid {
display: grid;
grid-template-columns: repeat(auto-fill, minmax(280px, 1fr));
gap: 1.25rem;
position: relative;
z-index: 1;
}

.blog-card {
background: var(--color-bg);
border-radius: var(--radius-lg);
overflow: hidden;
box-shadow: var(--shadow-sm);
transition: var(--transition-slow);
display: flex;
flex-direction: column;
height: 100%;
border: 1px solid var(--color-border-light);
}

.blog-image {
width: 100%;
height: 140px;
overflow: hidden;
position: relative;
}

.blog-image img {
width: 100%;
height: 100%;
object-fit: cover;
transition: var(--transition-slow);
}

.blog-content {
padding: 0.75rem 1rem 1rem;
flex: 1;
display: flex;
flex-direction: column;
}

.blog-meta {
display: flex;
gap: 0.5rem;
margin-bottom: 0.25rem;
font-size: 0.75rem;
color: #64748b;
flex-wrap: wrap;
}

.blog-date {
font-size: 0.75rem;
color: #a0aec0;
}

.blog-category {
background: #edf2f7;
color: #4a5568;
padding: 0.25rem 0.5rem;
border-radius: 12px;
font-size: 0.75rem;
font-weight: 500;
}

.blog-title {
font-size: 1rem;
font-weight: 600;
color: #2d3748;
margin: 0.25rem 0 0.5rem;
line-height: 1.3;
display: -webkit-box;
-webkit-line-clamp: 2;
-webkit-box-orient: vertical;
overflow: hidden;
text-overflow: ellipsis;
}

.blog-excerpt {
color: var(--color-text-secondary);
margin: 0 0 0.5rem;
font-size: 0.8rem;
line-height: 1.5;
flex: 1;
display: -webkit-box;
-webkit-line-clamp: 2;
-webkit-box-orient: vertical;
display: box;
line-clamp: 2;
box-orient: vertical;
overflow: hidden;
text-overflow: ellipsis;
max-height: 3em;
}

/* ===== RESPONSIVIDADE ===== */
@media (max-width: 1024px) {
.hero-title {
font-size: 2.5rem;
}

.hero-description {
font-size: 1.1rem;
}

.groups-grid,
.blog-grid {
grid-template-columns: repeat(auto-fill, minmax(280px, 1fr));
gap: var(--space);
}

.section-title {
font-size: 2rem;
}
}

@media (max-width: 768px) {
.hero-title {
font-size: 2rem;
}

.hero-content {
padding: var(--space-lg) 0;
}

.hero-buttons {
flex-direction: column;
gap: var(--space-sm);
}

.hero-buttons .btn {
width: 100%;
justify-content: center;
}

.section-title {
font-size: 1.75rem;
}

.section-subtitle {
font-size: 1rem;
}

.card-description,
.blog-excerpt {
-webkit-line-clamp: 2;
line-clamp: 2;
max-height: 3.4em; /* line-height * 2 */
}
}

@media (max-width: 480px) {
.hero-title {
font-size: 1.75rem;
}

.hero-description {
font-size: 1rem;
}

.section {
padding: var(--space-xl) 0;
}

.section-title {
font-size: 1.5rem;
margin-bottom: var(--space-sm);
}

.section-subtitle {
font-size: 0.95rem;
}

.card-title,
.blog-title {
font-size: 1.1rem;
}

.card-description,
.blog-excerpt {
font-size: 0.9rem;
line-height: 1.6;
-webkit-line-clamp: 2;
line-clamp: 2;
max-height: 3.2em; /* line-height * 2 */
}

.btn {
padding: 0.75rem 1.25rem;
font-size: 0.95rem;
}
}

/* Correção para o Safari */
@supports (-webkit-hyphens:none) {
.card-description,
.blog-excerpt {
display: -webkit-box;
-webkit-line-clamp: 2;
-webkit-box-orient: vertical;
overflow: hidden;
text-overflow: ellipsis;
}
}

/* Suporte para o Firefox */
@-moz-document url-prefix() {
.card-description,
.blog-excerpt {
display: -moz-box;
-moz-box-orient: vertical;
-moz-line-clamp: 2;
overflow: hidden;
text-overflow: ellipsis;
}
}

:root {
--primaria: #8f1414;
--secundaria: #000;
--inversa: #fff;
--cinza: #6d6d6d;
--amarelo: #fec82f;

}

.col-content,
.col-side {
position: relative;
width: 100%;
min-height: 1px;
flex: 0 0 100%;
max-width: 100%;
}

@media (min-width: 992px) {
.col-side {
flex: 0 0 320px;
max-width: 320px;
}

.col-content {
    flex: 0 0 640px;
    max-width: 640px;
}
}

@media (min-width: 1200px) {
.col-content {
flex: 0 0 820px;
max-width: 820px;
}
}

.mb-4 {
margin-bottom: 1.5rem !important;
}

.mb-3 {
margin-bottom: 1rem !important;
}

.mb-2 {
margin-bottom: 0.5rem !important;
}

.mb-1 {
margin-bottom: .25rem !important;
}

.mt-4 {
margin-top: 1.5rem !important;
}

.pt-4 {
padding-top: 1.5rem !important;
}

.p-3 {
padding: 1rem !important;
}

.p-4 {
padding: 1.5rem !important;
}

.me-1 {
margin-right: 0.25rem !important;
}

.me-2 {
margin-right: 0.5rem !important;
}

.me-3 {
margin-right: 1rem !important;
}

.position-relative {
position: relative !important;
}

.position-sticky {
position: sticky !important;
top: 47px;
}

.overflow-hidden {
overflow: hidden !important;
}

.rounded {
border-radius: 0.25rem !important;
}

.text-decoration-none {
text-decoration: none !important;
}

.text-white {
color: #fff !important;
}

.text-dark {
color: #000 !important;
}

.text-muted {
color: #6c757d !important;
}

.text-success {
color: #28a745 !important;
}

.text-center {
text-align: center !important;
}

.d-flex {
display: flex !important;
}

.d-none {
display: none !important;
}

.d-lg-block {
display: block !important;
}

.d-lg-none {
display: none !important;
}

.flex-grow-1 {
flex-grow: 1 !important;
}

.flex-shrink-0 {
flex-shrink: 0 !important;
}

.align-items-start {
align-items: flex-start !important;
}

.align-items-center {
align-items: center !important;
}

.justify-content-center {
justify-content: center !important;
}

.btn {
display: inline-block;
font-weight: 400;
text-align: center;
white-space: nowrap;
vertical-align: middle;
user-select: none;
padding: 0.375rem 0.75rem;
font-size: 1rem;
line-height: 1.5;
border: 1px solid transparent;
border-radius: 0.25rem;
transition: color .15s ease-in-out, background-color .15s ease-in-out;
}

.btn-primary {
background-color: var(--primaria);
border-color: var(--primaria);
color: var(--inversa);
}

.btn-lg {
padding: 0.5rem 1rem;
font-size: 1.25rem;
border-radius: 0.3rem;
}

.btn-sm {
padding: 0.25rem 0.5rem;
font-size: 0.875rem;
border-radius: 0.2rem;
}

.form-control,
.form-control-sm {
display: block;
width: 100%;
padding: 0.375rem 0.75rem;
font-size: 1rem;
line-height: 1.5;
background-color: #fff;
border: 1px solid #ced4da;
border-radius: 0.25rem;
}

.form-control-sm {
padding: 0.25rem 0.5rem;
font-size: 0.875rem;
}

.input-group {
position: relative;
display: flex;
flex-wrap: wrap;
align-items: stretch;
width: 100%;
}

.badge {
display: inline-block;
padding: .35em .65em;
font-size: 75%;
font-weight: 700;
line-height: 1;
text-align: center;
border-radius: 0.25rem;
}

.bg-light {
background-color: #f8f9fa !important;
}

.bg-podcast {
background-color: #f2f2f2;
padding: 1.125rem;
}

.banner-fixed-bottom {
position: fixed;
bottom: 0;
width: 100%;
text-align: center;
}

.h4, h4 {
font-size: 1.2rem;
line-height: 1.2;
font-weight: 700;
letter-spacing: -1px;
}

.small, small {
font-size: 0.875em;
}

.lh-sm {
line-height: 1.25;
}

.fas,
.fa-image,
.fa-clock,
.fa-check {
font-family: "Font Awesome 5 Free";
font-weight: 900;
}

.fa-image::before {
content: "\f03e";
}

.fa-clock::before {
content: "\f017";
}

.fa-check::before {
content: "\f00c";
}

.text-inside-article {
position: absolute;
width: 100%;
color: var(--inversa);
bottom: 0;
padding: 1.5rem 1.2rem;
background: linear-gradient(to bottom, rgba(0, 0, 0, 0) 0, rgba(0, 0, 0, 1) 95%);
}

.text-inside-article .category-tag {
background-color: var(--primaria);
color: var(--inversa);
display: inline-block;
padding: 4px 8px;
}

.text-chamada-secundarias {
background-color: #f2f2f2;
color: var(--secundaria);
padding: 1.25rem;
}

.category-tag {
color: var(--primaria);
text-transform: uppercase;
margin-bottom: .3rem;
font-size: .875rem;
line-height: 1.2;
}

.separator-blocks-home {
margin: .75rem 0 1.875rem;
border: 0;
height: 1px;
background-color: var(--secundaria);
}

.bloco-header {
display: flex;
align-items: center;
position: relative;
}

.titulo-ultimas {
font-size: 26px;
font-weight: 700;
color: var(--primaria);
letter-spacing: -1px;
margin-bottom: -1px;
}

.col-side {
position: relative;
width: 100%;
min-height: 1px;
}

.veja_mais_inject a {
text-decoration: none;
}

.veja_mais_inject {
font-family: 'Roboto Condensed', sans-serif;
}

.tags {
font-size: 1.125rem;
}

.tags .badge {
background-color: #000;
border-radius: 0;
font-weight: 400;
font-size: 1.125rem;
}