/* ==========================================================
   MOBILE.CSS - Media Queries Responsivas do Frontend
   ========================================================== */

/* ==================== TABLET (1024px) ==================== */
@media (max-width: 1024px) {
    .split-section {
        grid-template-columns: 1fr;
        gap: 3rem;
    }
    .split-section:last-of-type {
        grid-template-areas: "image" "content";
    }
    .split-section:last-of-type .split-image {
        grid-area: image;
    }
    .split-section:last-of-type .split-content {
        grid-area: content;
    }
    .container, .container-narrow, .container-tight {
        padding: 0 2rem;
    }
    .gallery-grid {
        grid-template-columns: repeat(2, 1fr);
    }
    
    /* Cards grid para tablet */
    .cards-grid {
        grid-template-columns: repeat(2, 1fr);
    }
    .cards-grid[data-count="1"] { grid-template-columns: 1fr; }
    .cards-grid[data-count="2"] { grid-template-columns: repeat(2, 1fr); }
    .cards-grid[data-count="3"] { grid-template-columns: repeat(2, 1fr); }
    .cards-grid[data-count="4"] { grid-template-columns: repeat(2, 1fr); }
    .cards-grid[data-count="5"] { grid-template-columns: repeat(2, 1fr); }
    .cards-grid[data-count="6"] { grid-template-columns: repeat(2, 1fr); }
    .cards-grid[data-count="7"] { grid-template-columns: repeat(2, 1fr); }
    .cards-grid[data-count="8"] { grid-template-columns: repeat(2, 1fr); }
    .cards-grid[data-count="9"] { grid-template-columns: repeat(3, 1fr); }
    .cards-grid[data-count="10"] { grid-template-columns: repeat(2, 1fr); }
}

/* ==================== MOBILE (768px) ==================== */
@media (max-width: 768px) {
    .section {
        padding: 4rem 0;
    }
    .hero-content {
        text-align: center;
        padding-top: 4rem;
        max-width: 100%;
        margin: 0 auto;
    }
    .hero-description {
        max-width: 100%;
        font-size: 1.25rem;
    }
    .main-header.scrolled {
        padding: 1rem 1rem;
    }
    .main-header {
        padding: 1.5rem 1rem;
    }
    .container, .container-narrow, .container-tight {
        padding: 0 1.5rem; 
    }
    .team-avatar {
        width: 120px;
        height: 120px;
    }
    .event-info {
        grid-template-columns: 1fr;
        gap: 1.5rem;
    }
    .cta-box {
        padding: 2.5rem 1.5rem;
    }
    .countdown {
        grid-template-columns: repeat(2, 1fr);
        gap: 1rem;
    }
    .countdown-number {
        font-size: 2rem;
    }
    .elegant-list li {
        padding: 1.5rem 1rem;
        gap: 1rem;
    }
    .faq-question {
        font-size: 1.25rem;
        padding: 1.25rem 1.5rem;
        gap: 0.75rem;
    }
    .faq-question::before {
        font-size: 1rem;
    }
    .faq-answer {
        padding-bottom: 0;
    }
    .faq-item[open] .faq-answer {
        padding-bottom: 1.5rem;
    }
    .faq-item p {
        padding: 0 1.5rem;
    }
    .testimonial-card {
        padding: 2.5rem 1.5rem;
    }
    .testimonial-text {
        font-size: 1.25rem;
    }
    .testimonial-card::before {
        font-size: 6rem;
        top: 0.5rem;
        left: 1rem;
    }
    .gallery-grid {
        grid-template-columns: 1fr;
    }
    .gallery-item img {
        height: 300px;
    }
    .map-wrapper iframe {
        height: 350px;
    }
    .lightbox-prev, .lightbox-next {
        display: none;
    }
    .form-grid {
        grid-template-columns: 1fr;
        gap: 0;
    }
    
    /* Cards grid para mobile */
    .cards-grid {
        grid-template-columns: 1fr;
        gap: 1.5rem;
    }
    .cards-grid[data-count="1"],
    .cards-grid[data-count="2"],
    .cards-grid[data-count="3"],
    .cards-grid[data-count="4"],
    .cards-grid[data-count="5"],
    .cards-grid[data-count="6"],
    .cards-grid[data-count="7"],
    .cards-grid[data-count="8"],
    .cards-grid[data-count="9"],
    .cards-grid[data-count="10"] {
        grid-template-columns: 1fr;
        max-width: 100%;
    }
    
    .card {
        padding: 2rem 1.5rem;
    }
    
    /* Event quick info mobile */
    .event-quick-info {
        gap: 1rem;
        padding: 1rem;
    }
    
    .event-info-item {
        font-size: 0.875rem;
    }
    
    .waitlist-form {
        flex-direction: column;
    }
    
    .waitlist-form input {
        width: 100%;
    }
    
    /* Lotes mobile */
    .lotes-grid {
        flex-direction: column;
        align-items: center;
    }
    
    .lote-card {
        width: 100%;
        max-width: 200px;
    }
    
    .lote-card.lote-ativo {
        transform: scale(1);
    }
    
    .lote-fields {
        grid-template-columns: 1fr;
    }
}

/* ==================== SMALL MOBILE (480px) ==================== */
@media (max-width: 480px) {
    .container, .container-narrow, .container-tight {
        padding: 0 1rem;
    }
    .hero-title {
        font-size: 2.5rem; 
    }
    .cta-primary {
        display: block;
        width: 100%;
        padding: 1.25rem 1rem;
    }
    .header-logo {
        font-size: 1.25rem;
    }
    .header-cta {
        padding: 0.6rem 1.25rem;
        font-size: 0.75rem;
    }
    .card {
        padding: 2rem 1.5rem;
    }
    .elegant-list span {
        font-size: 1.125rem;
    }
    .testimonial-author-wrapper {
        gap: 0.75rem;
    }
    .testimonial-avatar {
        width: 60px;
        height: 60px;
    }
    .whatsapp-float {
        bottom: 5.5rem;
        left: 1.5rem;
        width: 50px;
        height: 50px;
    }
    .whatsapp-float svg {
        width: 26px;
        height: 26px;
    }
    .back-to-top {
        bottom: 1.5rem;
        right: 1.5rem;
        width: 50px;
        height: 50px;
    }
    .back-to-top.visible ~ .whatsapp-float {
         bottom: 1.5rem; 
    }
}