:root {
    --primary: #00b894; /* Tom de verde do seu layout */
    --primary-light: #e8f8f5;
    --text-dark: #2d3436;
    --text-gray: #636e72;
    --bg-white: #ffffff;
    --bg-gray: #fafafa;
    --footer-bg: #111827;
}

* {
    margin: 0;
    padding: 0;
    box-sizing: border-box;
    font-family: 'Inter', sans-serif;
}

html { scroll-behavior: smooth; }

body { color: var(--text-dark); background-color: var(--bg-white); line-height: 1.6; }

.container {
    max-width: 1200px;
    margin: 0 auto;
    padding: 0 20px;
}

/* Typography */
h1 { font-size: 3rem; line-height: 1.2; margin-bottom: 20px; color: var(--text-dark); }
h2.section-title { font-size: 2.5rem; text-align: center; margin-bottom: 10px; }
.section-subtitle { text-align: center; color: var(--text-gray); margin-bottom: 40px; }
.text-left { text-align: left !important; }
.text-white { color: var(--bg-white) !important; }

/* Buttons */
.btn {
    padding: 12px 28px;
    border-radius: 30px;
    font-weight: 600;
    text-decoration: none;
    transition: all 0.3s ease;
    display: inline-block;
}
.btn-primary { background-color: var(--primary); color: var(--bg-white); border: 2px solid var(--primary); }
.btn-primary:hover { background-color: #009688; border-color: #009688; }
.btn-outline { background-color: transparent; color: var(--primary); border: 2px solid var(--primary); }
.btn-outline:hover { background-color: var(--primary); color: var(--bg-white); }

/* Navbar */
.navbar {
    position: fixed; top: 0; width: 100%;
    background-color: var(--bg-white);
    box-shadow: 0 2px 10px rgba(0,0,0,0.05);
    z-index: 1000;
}
.nav-container { display: flex; justify-content: space-between; align-items: center; height: 80px; }
.logo { font-size: 1.5rem; font-weight: 700; color: var(--text-dark); text-decoration: none; }
.logo span { color: var(--primary); }
.nav-links { display: flex; list-style: none; gap: 30px; }
.nav-links a { text-decoration: none; color: var(--text-dark); font-weight: 500; transition: color 0.3s; }
.nav-links a:hover { color: var(--primary); }

/* Mobile Menu Toggle */
.menu-toggle { display: none; background: none; border: none; cursor: pointer; padding: 10px; }
.hamburger { display: block; width: 25px; height: 3px; background-color: var(--text-dark); position: relative; }
.hamburger::before, .hamburger::after { content: ''; position: absolute; width: 100%; height: 100%; background-color: var(--text-dark); left: 0; transition: 0.3s; }
.hamburger::before { top: -8px; }
.hamburger::after { top: 8px; }

/* Hero */
.hero { display: grid; grid-template-columns: 1fr 1fr; gap: 40px; align-items: center; padding-top: 120px; padding-bottom: 60px; }
.hero-content p { font-size: 1.1rem; color: var(--text-gray); margin-bottom: 30px; }
.hero-buttons { display: flex; gap: 15px; }
.hero-image { position: relative; border-radius: 20px; overflow: hidden; }
.hero-image img { width: 100%; height: auto; border-radius: 20px; object-fit: cover; }
.experience-badge {
    position: absolute; bottom: 20px; left: -20px;
    background: var(--bg-white); padding: 15px 25px;
    border-radius: 12px; box-shadow: 0 10px 30px rgba(0,0,0,0.1);
    display: flex; align-items: center; gap: 10px;
}
.experience-badge strong { font-size: 2rem; color: var(--primary); }
.experience-badge span { font-size: 0.9rem; color: var(--text-gray); max-width: 80px; line-height: 1.2; }

/* Sections & Cards */
.sobre, .modalidades { padding: 80px 0; }
.cards-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 30px; margin-top: 40px; }
.grid-2 { grid-template-columns: repeat(2, 1fr); }
.card {
    background: var(--bg-white); padding: 40px 30px;
    border-radius: 20px; text-align: center;
    box-shadow: 0 10px 40px rgba(0,0,0,0.03);
    border: 1px solid #f1f1f1;
}
.card-light { background: var(--primary-light); border: none; }
.card .icon { font-size: 2.5rem; margin-bottom: 20px; }
.card h3 { margin-bottom: 15px; font-size: 1.3rem; }
.card p { color: var(--text-gray); font-size: 0.95rem; }

/* Instrutora */
.instrutora { display: grid; grid-template-columns: 1fr 1fr; gap: 50px; align-items: center; padding: 80px 20px; }
.instrutora-img img { width: 100%; border-radius: 20px; }
.certifications { list-style: none; margin-top: 20px; }
.certifications li { margin-bottom: 10px; display: flex; align-items: center; gap: 10px; color: var(--text-gray); }

/* Horarios */
.horarios { background-color: var(--primary); padding: 80px 0; }
.horarios-card {
    background: var(--bg-white); max-width: 600px; margin: 40px auto 0;
    padding: 40px; border-radius: 20px;
}
.horarios-card ul { list-style: none; }
.horarios-card li { display: flex; justify-content: space-between; padding: 15px 0; border-bottom: 1px solid #eee; }
.horarios-card li:last-child { border-bottom: none; }

/* Contato & Footer */
.contato-footer { background-color: var(--bg-gray); padding-top: 80px; }
.contato-cards { margin-bottom: 80px; }
.footer { background-color: var(--footer-bg); color: var(--bg-white); padding: 60px 0 20px; }
.footer-grid { display: grid; grid-template-columns: 2fr 1fr 1fr; gap: 40px; margin-bottom: 40px; }
.footer-brand p { color: #9ca3af; margin-top: 15px; }
.footer-links h3, .footer-social h3 { margin-bottom: 20px; font-size: 1.2rem; }
.footer-links ul { list-style: none; }
.footer-links a { color: #9ca3af; text-decoration: none; margin-bottom: 10px; display: block; }
.footer-links a:hover { color: var(--primary); }
.social-icons a { color: var(--primary); text-decoration: none; margin-right: 15px; }
.footer-bottom { text-align: center; color: #6b7280; border-top: 1px solid #374151; padding-top: 20px; font-size: 0.9rem; }

/* Responsividade (Mobile) */
@media (max-width: 768px) {
    h1 { font-size: 2.2rem; }
    .hero, .instrutora { grid-template-columns: 1fr; text-align: center; }
    .hero-buttons { justify-content: center; flex-direction: column; }
    .text-left { text-align: center !important; }
    .experience-badge { left: 10px; bottom: 10px; padding: 10px 15px; }
    .cards-grid, .grid-2, .footer-grid { grid-template-columns: 1fr; }
    
    /* Mobile Menu */
    .menu-toggle { display: block; z-index: 1001; }
    .nav-links {
        position: fixed; top: 0; right: -100%;
        width: 100%; height: 100vh;
        background-color: var(--bg-white);
        flex-direction: column; justify-content: center; align-items: center;
        transition: 0.4s ease;
    }
    .nav-links.active { right: 0; }
    .nav-links li { margin: 20px 0; }
    .nav-links a { font-size: 1.5rem; }
    
    .menu-toggle.active .hamburger { background: transparent; }
    .menu-toggle.active .hamburger::before { transform: rotate(45deg); top: 0; }
    .menu-toggle.active .hamburger::after { transform: rotate(-45deg); top: 0; }
    
    /* Nosso Espaço (Galeria) */
.nosso-espaco { 
    padding: 80px 0; 
}
.galeria-grid {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 20px;
}
.galeria-item {
    border-radius: 20px;
    overflow: hidden;
    aspect-ratio: 1 / 1; /* Força as imagens a ficarem quadradas */
    cursor: pointer;
}
.galeria-item img {
    width: 100%;
    height: 100%;
    object-fit: cover; /* Garante que a imagem preencha o quadrado sem distorcer */
    transition: transform 0.4s ease;
}
.galeria-item:hover img {
    transform: scale(1.08); /* Efeito sutil de zoom no hover */
}
}

@media (max-width: 768px) {
    /* ... seus outros códigos mobile ... */
    
    /* Adicione esta parte: */
    .galeria-grid { 
        grid-template-columns: repeat(2, 1fr); 
        gap: 15px; 
    }
}