/* ==========================================================================
   Good Girls Fashion — Responsive Styles
   ========================================================================== */

/* Mobile — max-width: 767px */
@media (max-width: 767px) {
    .ggf-hero { height: calc(65vh + var(--ggf-header-height)); }
    .ggf-hero__img { object-position: center top; }
    .ggf-hero__title { font-size: var(--ggf-text-3xl); }
    .ggf-hero__content { left: 5%; right: 5%; max-width: none; text-align: center; }
    .ggf-hero__arrow { display: none; }

    .ggf-trust__grid { grid-template-columns: repeat(2, 1fr); }

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

    .ggf-categories__grid { grid-template-columns: 1fr 1fr; grid-template-rows: auto; }
    .ggf-categories__item--large { grid-row: auto; }
    .ggf-categories__grid .ggf-categories__item { height: 200px; }

    .ggf-instagram__grid { grid-template-columns: repeat(3, 1fr); }

    .ggf-newsletter__form { flex-direction: column; }
    .ggf-newsletter__input { border-right: 1.5px solid var(--ggf-color-border); }

    /* Footer mobile */
    .ggf-footer { padding-top: var(--ggf-space-2xl); }
    .ggf-footer__grid { grid-template-columns: 1fr; gap: var(--ggf-space-xl); }
    .ggf-footer__brand {
        text-align: center;
        padding-bottom: var(--ggf-space-xl);
        border-bottom: 1px solid rgba(255,255,255,0.1);
        margin-bottom: var(--ggf-space-sm);
    }
    .ggf-footer__social { justify-content: center; }
    .ggf-footer__logo-img { margin-left: auto; margin-right: auto; }
    .ggf-footer__col { text-align: center; }
    .ggf-footer__widget ul,
    .ggf-footer__links { columns: 2; column-gap: var(--ggf-space-xl); }
    .ggf-footer__widget li,
    .ggf-footer__links li { break-inside: avoid; }
    .ggf-footer__bottom-inner {
        flex-direction: column;
        gap: var(--ggf-space-md);
        text-align: center;
    }
    .ggf-footer__payments { justify-content: center; }

    .ggf-mobile-bar {
        display: flex;
        position: fixed;
        bottom: 0;
        left: 0;
        right: 0;
        height: 60px;
        background: white;
        border-top: 1px solid var(--ggf-color-border);
        z-index: 999;
        box-shadow: 0 -2px 10px rgba(0,0,0,0.05);
    }
    .ggf-mobile-bar__nav { display: flex; width: 100%; }
    .ggf-mobile-bar__item {
        flex: 1;
        display: flex;
        flex-direction: column;
        align-items: center;
        justify-content: center;
        gap: 2px;
        font-size: 10px;
        font-family: var(--ggf-font-nav);
        color: var(--ggf-color-text-light);
        text-decoration: none;
    }
    .ggf-mobile-bar__item--active { color: var(--ggf-color-primary); }

    body { padding-bottom: 60px; }
    .ggf-back-to-top { bottom: 80px; }

    .ggf-header__nav { display: none; }
    .ggf-hamburger { display: flex; }

    .ggf-header__inner { gap: 0; justify-content: space-between; position: relative; }
    .ggf-hamburger { position: relative; z-index: 2; }
    .ggf-header__logo {
        position: absolute;
        left: 50%;
        transform: translateX(-50%);
        text-align: center;
        z-index: 1;
        max-width: 50%;
    }
    .ggf-header__logo img { max-height: 44px; display: inline-block; }
    .ggf-header__icons { position: relative; z-index: 2; gap: var(--ggf-space-md); }
    .ggf-header__icon--desktop { display: none; }

    .ggf-product { grid-template-columns: 1fr; }
    .ggf-product__gallery { position: static; }

    .ggf-quick-view { grid-template-columns: 1fr; }

    .ggf-shop__layout { flex-direction: column; }
    .ggf-shop-filters {
        position: fixed;
        left: 0;
        top: 0;
        bottom: 0;
        width: 300px;
        background: white;
        z-index: 10000;
        transform: translateX(-100%);
        transition: transform var(--ggf-transition-base);
        overflow-y: auto;
        padding: var(--ggf-space-lg);
    }
    .ggf-shop-filters--open { transform: translateX(0); }
    .ggf-shop-filters__close { display: block; }

    .ggf-shop-grid--list .ggf-product-card { grid-template-columns: 1fr; }

    .ggf-product-card__wishlist { opacity: 1; }
    .ggf-product-card__overlay { display: none; }

    .ggf-cart-panel { width: 100vw; }

    .ggf-topbar__social,
    .ggf-topbar__lang { display: none; }
    .ggf-topbar__promo { text-align: center; width: 100%; }

    .ggf-promo { min-height: 400px; background-attachment: scroll; }
    .ggf-promo__title { font-size: var(--ggf-text-2xl); }

    .ggf-404__number { font-size: 80px; }

    .ggf-page-title { font-size: var(--ggf-text-2xl); }
    .ggf-article__title { font-size: var(--ggf-text-2xl); }

    .ggf-product-carousel__arrow { display: none; }

    .ggf-section { padding: var(--ggf-space-2xl) 0; }
    .ggf-section-title { font-size: var(--ggf-text-2xl); }
}

/* Tablet — 768px to 1199px */
@media (min-width: 768px) and (max-width: 1199px) {
    .ggf-grid--4 { grid-template-columns: repeat(3, 1fr); }
    /* Footer tablet */
    .ggf-footer__grid {
        grid-template-columns: repeat(3, 1fr);
        gap: var(--ggf-space-xl);
    }
    .ggf-footer__brand {
        grid-column: 1 / -1;
        text-align: center;
        padding-bottom: var(--ggf-space-xl);
        border-bottom: 1px solid rgba(255,255,255,0.1);
        margin-bottom: var(--ggf-space-sm);
    }
    .ggf-footer__social { justify-content: center; }
    .ggf-footer__logo-img { margin-left: auto; margin-right: auto; }
    .ggf-categories__grid { grid-template-columns: repeat(3, 1fr); grid-template-rows: auto; }
    .ggf-categories__item--large { grid-row: auto; }
    .ggf-hamburger { display: flex; position: relative; z-index: 2; }
    .ggf-header__nav { display: none; }
    .ggf-header__inner { justify-content: space-between; position: relative; }
    .ggf-header__logo {
        position: absolute;
        left: 50%;
        transform: translateX(-50%);
        text-align: center;
        z-index: 1;
        max-width: 40%;
    }
    .ggf-header__icons { position: relative; z-index: 2; }
    .ggf-product { grid-template-columns: 1fr 1fr; gap: var(--ggf-space-xl); }
    .ggf-quick-view { grid-template-columns: 1fr 1fr; }
}

/* Desktop — 1200px+ */
@media (min-width: 1200px) {
    .ggf-hamburger { display: none; }
    .ggf-mobile-bar { display: none; }
    body { padding-bottom: 0; }
}

/* Desktop intermediate — 1200px to 1399px (compact nav) */
@media (min-width: 1200px) and (max-width: 1399px) {
    .ggf-nav__link {
        font-size: 0.75rem;
        letter-spacing: 1px;
    }
}

/* Wide — 1440px+ */
@media (min-width: 1440px) {
    .ggf-container { padding: 0 var(--ggf-space-2xl); }
}

/* Reduced Motion */
@media (prefers-reduced-motion: reduce) {
    *, *::before, *::after {
        animation-duration: 0.01ms !important;
        animation-iteration-count: 1 !important;
        transition-duration: 0.01ms !important;
        scroll-behavior: auto !important;
    }
    .ggf-animate { opacity: 1; transform: none; }
}

/* Print */
@media print {
    .ggf-header,
    .ggf-topbar,
    .ggf-footer,
    .ggf-mobile-bar,
    .ggf-back-to-top,
    .ggf-cart-panel,
    .ggf-cart-overlay,
    .ggf-modal,
    .ggf-search-overlay,
    .ggf-mobile-menu { display: none !important; }
}
