/* Mobile-first responsive overrides. Base CSS is desktop; below, we adapt. */

@media (max-width: 1180px) {
    .dm-product-grid { grid-template-columns: repeat(3, 1fr); }
    .dm-cat-grid { grid-template-columns: repeat(4, 1fr); }
    .dm-blog-grid { grid-template-columns: repeat(2, 1fr); }
    .dm-mega-panel { min-width: 600px; }
}

@media (max-width: 1024px) {
    :root { --dm-fs-3xl: 40px; --dm-fs-4xl: 52px; }
    .dm-shop { grid-template-columns: 1fr; }
    .dm-shop__sidebar {
        position: fixed; top: 0; left: 0; bottom: 0;
        max-width: 320px; width: 86vw;
        z-index: var(--dm-z-drawer);
        transform: translateX(-100%);
        transition: transform var(--dm-dur-2) var(--dm-ease);
        max-height: none;
        border-radius: 0;
    }
    .dm-shop__sidebar.is-open { transform: translateX(0); }
    .dm-filter-toggle { display: inline-flex; }
    .single-product .product { grid-template-columns: 1fr; }
    .single-product .summary { position: static; }
    .dm-hero__inner { grid-template-columns: 1fr; text-align: center; }
    .dm-hero__visual { margin: 0 auto; }
    .dm-hero__sub { margin-left: auto; margin-right: auto; }
    .dm-hero__cta { justify-content: center; }
    .dm-guruji { grid-template-columns: 1fr; }
    .dm-footer__cols { grid-template-columns: repeat(3, 1fr); }
    .dm-footer__brand { grid-column: span 3; }
    .woocommerce-checkout form.checkout { grid-template-columns: 1fr; }
    .woocommerce-checkout #order_review_heading,
    .woocommerce-checkout #order_review { grid-column: 1; }
    .cart-collaterals { grid-template-columns: 1fr; }
    /* Account layout is flexbox in account.css — no float overrides needed here */
}

@media (max-width: 768px) {
    :root { --dm-fs-2xl: 28px; --dm-fs-3xl: 34px; }
    .dm-section { padding: var(--dm-space-7) 0; }
    .dm-product-grid { grid-template-columns: repeat(2, 1fr); gap: var(--dm-space-3); }
    .dm-cat-grid { grid-template-columns: repeat(3, 1fr); }
    .dm-blog-grid, .dm-testimonials, .dm-whyus { grid-template-columns: 1fr; }
    .dm-cert-strip { grid-template-columns: repeat(3, 1fr); }
    .dm-trust-strip { grid-template-columns: repeat(2, 1fr); }
    .dm-festival__inner { grid-template-columns: 1fr; text-align: center; }
    .dm-festival__countdown { justify-content: center; }
    .dm-header__top { grid-template-columns: auto auto; }
    .dm-search { display: none; grid-column: 1 / -1; }
    .dm-search.is-open { display: flex; }
    .dm-burger {
        display: inline-flex;
        width: 44px; height: 44px;
        border: 1px solid var(--dm-line-gold);
        border-radius: 50%;
        align-items: center; justify-content: center;
        background: transparent;
        cursor: pointer;
        flex-direction: column;
        gap: 4px;
    }
    .dm-burger span { display: block; width: 18px; height: 2px; background: var(--dm-primary-dark); }
    .dm-nav { display: none; }

    /* Mobile drawer — light theme */
    .dm-mobile-drawer {
        display: flex;
        flex-direction: column;
        position: fixed; top: 0; left: 0; bottom: 0;
        max-width: 340px; width: 86vw;
        background: #fff;
        border-right: 1px solid var(--dm-line-gold);
        z-index: var(--dm-z-drawer);
        transform: translateX(-100%);
        transition: transform var(--dm-dur-2) var(--dm-ease);
        box-shadow: 8px 0 40px rgba(32,23,19,0.12);
    }
    .dm-mobile-drawer.is-open { transform: translateX(0); }
    .dm-mobile-drawer__head {
        padding: var(--dm-space-4);
        border-bottom: 1px solid var(--dm-line-gold);
        background: var(--dm-ivory);
        display: flex; justify-content: space-between; align-items: center;
    }
    .dm-mobile-drawer__body { flex: 1; overflow: auto; padding: var(--dm-space-4); }
    .dm-mobile-drawer__body ul { list-style: none; padding: 0; margin: 0; }
    .dm-mobile-drawer__body li > a {
        display: block;
        padding: 13px 0;
        border-bottom: 1px solid var(--dm-line-gold);
        color: var(--dm-text-mute);
        font-weight: 600;
        font-size: var(--dm-fs-sm);
        letter-spacing: 0.06em;
        transition: color var(--dm-dur-1), padding-left var(--dm-dur-1);
    }
    .dm-mobile-drawer__body li > a:hover { color: var(--dm-maroon); padding-left: 8px; }
    .dm-mega-panel { display: none; }
    .single-product .dm-sticky-buy { display: flex; }
    .dm-quick-view { grid-template-columns: 1fr; padding: var(--dm-space-4); }
    .dm-footer__cols { grid-template-columns: 1fr; }
    .dm-footer__brand { grid-column: 1; }
    .dm-trust-row { grid-template-columns: 1fr; }
    #reviews .commentlist { grid-template-columns: 1fr; }
}

@media (max-width: 480px) {
    h1 { font-size: var(--dm-fs-2xl); }
    h2 { font-size: var(--dm-fs-xl); }
    /* .dm-prod__cta removed in card redesign — single icon button now */
    /* .dm-track is flexbox (account.css) — no grid override needed */
}

/* Reduce motion */
@media (prefers-reduced-motion: reduce) {
    *, *::before, *::after { animation: none !important; transition: none !important; scroll-behavior: auto; }
}

/* Focus-visible everywhere (a11y) */
*:focus-visible {
    outline: 2px solid var(--dm-saffron);
    outline-offset: 2px;
    border-radius: 3px;
}
