/* ============================================
   Responsive Breakpoints
   ============================================ */

/* === TABLET (max 1024px) === */
@media (max-width: 1024px) {
    .header-actions .lang-switch,
    .header-actions .header-contact-icon {
        display: none;
    }

    .main-nav {
        display: none;
    }

    .mobile-menu-toggle {
        display: block;
    }

    .header-social {
        display: none;
    }

    .header-logo {
        flex: unset;
    }

    .header-row {
        justify-content: space-between;
    }

    .header-main {
        padding: 12px 0;
    }

    /* Hero */
    .hero {
        min-height: 70vh;
    }

    .hero-title {
        font-size: 40px;
        letter-spacing: 5px;
    }

    .hero-subtitle {
        font-size: 16px;
    }

    /* Page hero */
    .page-hero {
        height: 300px;
    }

    /* Wedding detail hero */
    .wedding-hero {
        max-height: 50vh;
    }

    .wedding-hero-title {
        font-size: 28px;
    }

    /* Bio */
    .bio-row {
        gap: 40px;
    }

    /* Wedding grid */
    .wedding-grid {
        grid-template-columns: repeat(2, 1fr);
    }

    .wedding-card {
        height: 400px;
    }

    /* Press grid */
    .press-grid {
        grid-template-columns: repeat(2, 1fr);
    }

    .press-item {
        height: 400px;
    }

    /* Contact */
    .contact-grid {
        gap: 40px;
    }

    /* Gallery */
    .gallery-grid {
        gap: 8px;
    }

    .gallery-grid.cols-4 {
        grid-template-columns: repeat(3, 1fr);
    }

    /* Lightbox */
    .lightbox-prev {
        left: 10px;
    }

    .lightbox-next {
        right: 10px;
    }
}

/* === MOBILE (max 767px) === */
@media (max-width: 767px) {
    :root {
        --section-padding: 50px;
    }

    /* Hero */
    .hero {
        min-height: 60vh;
    }

    .hero-tagline {
        font-size: 18px;
    }

    .hero-title {
        font-size: 28px;
        letter-spacing: 4px;
    }

    .hero-subtitle {
        font-size: 14px;
        letter-spacing: 3px;
    }

    .hero-center {
        padding: 20px;
    }

    /* Page hero */
    .page-hero {
        height: 200px;
    }

    .page-hero-title {
        font-size: 24px;
        letter-spacing: 4px;
    }

    /* Wedding detail */
    .wedding-hero {
        max-height: 40vh;
    }

    .wedding-hero-title {
        font-size: 22px;
    }

    .wd-block {
        grid-template-columns: 1fr;
    }

    .wd-block-reverse {
        direction: ltr;
    }

    /* Quote */
    .quote-section {
        padding: 60px 20px;
    }

    .quote-text {
        font-size: 16px;
    }

    /* Contact section */
    .contact-section h3 {
        font-size: 18px;
    }

    /* Competitions */
    .competition-item {
        flex-direction: column;
        gap: 25px;
    }

    .competition-image {
        flex: unset;
    }

    .competition-info {
        text-align: center;
    }

    /* Bio */
    .bio-row {
        flex-direction: column;
        gap: 30px;
    }

    .bio-image {
        flex: unset;
    }

    .bio-text h2 {
        font-size: 24px;
    }

    /* Wedding grid */
    .wedding-grid {
        grid-template-columns: 1fr;
    }

    .wedding-card {
        height: 400px;
    }

    /* Press grid */
    .press-grid {
        grid-template-columns: 1fr;
    }

    .press-item {
        height: 400px;
    }

    /* Contact page */
    .contact-grid {
        grid-template-columns: 1fr;
        gap: 40px;
    }

    /* Gallery */
    .gallery-grid {
        grid-template-columns: repeat(2, 1fr);
        gap: 6px;
    }

    .gallery-grid.cols-4 {
        grid-template-columns: repeat(2, 1fr);
    }

    /* Map */
    .map-section iframe {
        height: 300px;
    }

    /* Lightbox navigation */
    .lightbox-prev,
    .lightbox-next {
        font-size: 28px;
        width: 44px;
        height: 44px;
    }

    .lightbox-prev {
        left: 5px;
    }

    .lightbox-next {
        right: 5px;
    }
}

/* === SMALL MOBILE (max 480px) === */
@media (max-width: 480px) {
    .hero-title {
        font-size: 22px;
        letter-spacing: 3px;
    }

    .hero-tagline {
        font-size: 16px;
    }

    .gallery-grid {
        grid-template-columns: 1fr;
    }

    .gallery-grid.cols-2 {
        grid-template-columns: 1fr;
    }

    .wedding-card {
        height: 350px;
    }
}
