/* Boutique — mobile (max-width: 767px) */

/* Footer masqué — pas assez de hauteur utile */
.site-footer { display: none; }

/* Overflow fix */
body.shop-flex-layout #customize-main {
    min-width: 0;
    max-width: 100%;
}

/* Sidebar plus large pour le drawer */
:root {
    --shop-sidebar-w: 280px;
}

/* Annule le layout colonne du @media max-width:640px de shop.css */
.shop-layout {
    flex-direction: row;
    overflow: hidden;
}

/* Sidebar : drawer fixe hors-écran à gauche */
.shop-sidebar {
    position: fixed;
    left: 0;
    top: var(--header-height, 88px);
    height: calc(100dvh - var(--header-height, 88px));
    width: var(--shop-sidebar-w);
    background: var(--color-sidebar);
    border-right: 1px solid var(--color-border);
    z-index: 200;
    transform: translateX(calc(-1 * var(--shop-sidebar-w)));
    transition: transform 0.3s cubic-bezier(0.4, 0, 0.2, 1);
    box-shadow: var(--shadow-lg);
}

body.shop-sidebar-open .shop-sidebar {
    transform: translateX(0);
}

/* Annule les overrides de la sidebar en mode colonne (shop.css max-width:640px) */
.shop-sidebar__sticky {
    height: 100%;
    overflow-y: auto;
}

.shop-sidebar__body {
    flex-direction: column;
    flex-wrap: nowrap;
    padding: 16px;
    gap: 20px;
}

.shop-filter-group {
    min-width: unset;
    flex: unset;
}

/* Barre de filtre + toggle (injectés via JS) */
.shop-filter-bar {
    display: flex;
}

/* Topbar plus compacte */
.shop-topbar {
    padding: 14px 16px 0;
    gap: 8px;
}

/* Grille : 2 colonnes fixes */
.product-list {
    padding: clamp(12px, 4vw, 20px);
    gap: clamp(10px, 3vw, 14px);
    grid-template-columns: repeat(2, 1fr);
}

/* Cards plus compactes */
.product-card__name {
    font-size: clamp(0.8rem, 3.5vw, 0.95rem);
}

.product-card__price {
    font-size: clamp(0.85rem, 3.5vw, 1rem);
}

.product-card__cta {
    font-size: var(--text-sm);
    padding: 0.5rem 0.75rem;
}
