/* 
 * grid.css - Componentes basados en CSS Grid
 * FemCoders Club - Grid + Flexbox Layouts
 * 
 * Este archivo contiene todos los estilos que utilizan CSS Grid
 * para la estructura principal de secciones y componentes.
 */

/* Hero Section - Grid Layout */
.hero-container {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: var(--space-xl);
    align-items: center;
}

/* Features Section - Grid de 4 columnas para tarjetas */
.features-grid {
    display: grid;
    grid-template-columns: repeat(4, 1fr);
    gap: var(--space-lg);
}

/* Examples Section - Grid asimétrico */
.examples-grid {
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    grid-template-rows: auto auto;
    gap: var(--space-lg);
}

.example-card.large {
    grid-column: span 2;  /* Ocupa 2 columnas */
}

/* Testimonials Section - Grid de 3 columnas */
.testimonials-grid {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: var(--space-lg);
}

/* Pricing Section - Grid de 3 columnas */
.pricing-grid {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: var(--space-lg);
}

/* Contact Section - Grid de 2 columnas */
.contact-grid {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: var(--space-xl);
    align-items: start;
}

/* Footer - Grid Layout */
.footer-grid {
    display: grid;
    grid-template-columns: 2fr 1fr 1fr 1fr;
    gap: var(--space-lg);
    padding-bottom: var(--space-lg);
    border-bottom: 1px solid var(--color-border);
    margin-bottom: var(--space-lg);
}

/* Form Grid - para colocar campos en 2 columnas */
.contact-form {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: var(--space-md);
}

.form-group.full-width {
    grid-column: span 2;  /* Ocupa ambas columnas */
}

.form-action {
    grid-column: span 2;
    text-align: right;
}

/* Layouts responsivos - Media Queries */
@media (max-width: 1200px) {
    /* Ajustes para pantallas grandes */
}

@media (max-width: 992px) {
    /* Reducir a 2 columnas en pantallas medianas */
    .features-grid {
        grid-template-columns: repeat(2, 1fr);
    }
    
    .footer-grid {
        grid-template-columns: 1fr 1fr;
        row-gap: var(--space-xl);
    }
}

@media (max-width: 768px) {
    /* Cambios para tablets */
    .hero-container {
        grid-template-columns: 1fr;
        text-align: center;
    }
    
    .hero-buttons {
        justify-content: center;
    }
    
    .testimonials-grid {
        grid-template-columns: 1fr;
        gap: var(--space-md);
    }
    
    .pricing-grid {
        grid-template-columns: 1fr;
        gap: var(--space-md);
        max-width: 500px;
        margin: 0 auto;
    }
    
    .contact-grid {
        grid-template-columns: 1fr;
        gap: var(--space-lg);
    }
}

@media (max-width: 576px) {
    /* Ajustes para móviles */
    .features-grid {
        grid-template-columns: 1fr;
    }
    
    .examples-grid {
        grid-template-columns: 1fr;
    }
    
    .example-card.large {
        grid-column: 1;
    }
    
    .footer-grid {
        grid-template-columns: 1fr;
    }
    
    .contact-form {
        grid-template-columns: 1fr;
    }
    
    .form-group.full-width {
        grid-column: 1;
    }
    
    .form-action {
        grid-column: 1;
    }
}