/* responsive.css - Media queries */
/* Mobile First Approach is default in style.css */

/* Mobile Styles for FlipClock */
@media (max-width: 720px) {
    .countdown-container {
        overflow: hidden;
        max-width: 100vw;
        padding-bottom: 20px;
    }
    .flip-clock-wrapper {
        transform: scale(0.85);
        transform-origin: center top;
        margin-bottom: -15px;
    }
}
@media (max-width: 600px) {
    .flip-clock-wrapper {
        transform: scale(0.75);
        margin-bottom: -25px;
    }
}
@media (max-width: 480px) {
    .flip-clock-wrapper {
        transform: scale(0.65);
        margin-bottom: -35px;
    }
}
@media (max-width: 420px) {
    .flip-clock-wrapper {
        transform: scale(0.55);
        margin-bottom: -45px;
    }
}
@media (max-width: 380px) {
    .flip-clock-wrapper {
        transform: scale(0.50);
        margin-bottom: -50px;
    }
}
@media (max-width: 340px) {
    .flip-clock-wrapper {
        transform: scale(0.45);
        margin-bottom: -55px;
    }
}

/* Tablet Styles */
@media (min-width: 768px) {
    .bride-groom-names {
        font-size: 5rem;
    }
    
    .section-title {
        font-size: 3rem;
    }
    
    .py-lg { padding-top: 80px; padding-bottom: 80px; }
    
    .couple-wrapper {
        flex-direction: row;
        justify-content: center;
        align-items: center;
        gap: 50px;
    }
    
    .and-separator {
        font-size: 4rem;
    }
    
    .person-photo {
        width: 250px;
        height: 250px;
    }
    
    .events-grid {
        flex-direction: row;
        justify-content: center;
    }
    
    .event-card {
        flex: 1;
        max-width: 400px;
    }
    
    .gifts-container {
        flex-direction: row;
        justify-content: center;
    }
    
    .gift-card {
        flex: 1;
    }
    
    .countdown-container {
        gap: 20px;
    }
    
    .time-box {
        min-width: 90px;
        padding: 20px 15px;
    }
    
    .masonry-grid {
        grid-template-columns: repeat(auto-fill, minmax(200px, 1fr));
        gap: 20px;
    }
}

/* Desktop Styles */
@media (min-width: 1024px) {
    .py-lg { padding-top: 100px; padding-bottom: 100px; }
    
    .timeline {
        padding-left: 0;
        text-align: center;
    }
    
    .timeline::before {
        left: 50%;
        margin-left: -1px;
    }
    
    .timeline-item {
        width: 50%;
        clear: both;
        margin-bottom: 40px;
    }
    
    .timeline-item:nth-child(odd) {
        float: left;
        padding-right: 40px;
        text-align: right;
    }
    
    .timeline-item:nth-child(even) {
        float: right;
        padding-left: 40px;
        text-align: left;
    }
    
    .timeline-item:nth-child(odd) .timeline-dot {
        right: -12px;
        left: auto;
    }
    
    .timeline-item:nth-child(even) .timeline-dot {
        left: -12px;
    }
}
