
/* LE PETIT MUR — Forme & Grid Fix */
html, body { overflow-x:hidden; }

/* Main layout */
body .site,
body .site-main,
body .content-area,
body .site-content,
body .entry-content,
body .wp-site-blocks {
  max-width:none !important;
  width:100% !important;
}

body .lpmh-wrap,
body .container,
body .ast-container,
body .wp-block-group__inner-container,
body .woocommerce-page .site-content,
body .woocommerce .site-content {
  width:min(1400px, calc(100% - 56px)) !important;
  max-width:1400px !important;
  margin-left:auto !important;
  margin-right:auto !important;
}

/* Homepage sections */
body.home section,
body.front-page section {
  width:100%;
}

body .lpmh-featured-grid,
body .lpmh-featured-collection .lpmh-wrap,
body .lpmh-collections .lpmh-wrap,
body .lpmh-all-products .lpmh-wrap {
  max-width:1400px !important;
}

/* Woo grid */
body.woocommerce ul.products,
body.woocommerce-page ul.products,
body ul.products.columns-4 {
  display:grid !important;
  grid-template-columns:repeat(4, minmax(0,1fr)) !important;
  gap:24px !important;
  width:100% !important;
}

body.woocommerce ul.products::before,
body.woocommerce ul.products::after,
body.woocommerce-page ul.products::before,
body.woocommerce-page ul.products::after {
  display:none !important;
  content:none !important;
}

body.woocommerce ul.products li.product,
body.woocommerce-page ul.products li.product {
  width:auto !important;
  max-width:none !important;
  margin:0 !important;
  float:none !important;
  background:#fff !important;
  border:1px solid #eadfd6 !important;
  border-radius:16px !important;
  padding:12px !important;
  overflow:hidden !important;
  display:flex !important;
  flex-direction:column !important;
  min-width:0 !important;
}

/* Product images */
body.woocommerce ul.products li.product a img,
body.woocommerce-page ul.products li.product a img {
  width:100% !important;
  height:auto !important;
  aspect-ratio:1 / 1.08 !important;
  object-fit:cover !important;
  display:block !important;
  border-radius:12px !important;
  margin:0 0 12px !important;
  background:#f6f3ef !important;
}

/* Text */
body.woocommerce ul.products li.product .woocommerce-loop-product__title,
body.woocommerce-page ul.products li.product .woocommerce-loop-product__title {
  font-size:16px !important;
  line-height:1.35 !important;
  min-height:43px !important;
  margin:0 0 7px !important;
  padding:0 !important;
  color:#2f2925 !important;
}

body.woocommerce ul.products li.product .price,
body.woocommerce-page ul.products li.product .price {
  font-size:15px !important;
  font-weight:700 !important;
  color:#2f2925 !important;
  margin:0 0 12px !important;
}

/* Buttons */
body.woocommerce ul.products li.product .button,
body.woocommerce-page ul.products li.product .button {
  display:flex !important;
  align-items:center !important;
  justify-content:center !important;
  width:100% !important;
  min-height:44px !important;
  margin-top:auto !important;
  padding:10px 14px !important;
  border-radius:999px !important;
  background:#2f2925 !important;
  color:#fff !important;
  font-size:13px !important;
  font-weight:700 !important;
  line-height:1.2 !important;
  text-align:center !important;
  white-space:normal !important;
}

/* Titles/sections */
body .lpmh-section-head h2,
body .woocommerce-products-header__title {
  font-size:clamp(30px, 4vw, 48px) !important;
  line-height:1.1 !important;
}

body .lpmh-quality-grid,
body .lpmh-collection-grid {
  width:100% !important;
}

/* Product page */
body.single-product .lpmh-woo-shell {
  width:min(1400px, calc(100% - 56px)) !important;
  max-width:1400px !important;
}
body.single-product div.product {
  gap:48px !important;
}
body.single-product .woocommerce-product-gallery img {
  width:100% !important;
  height:auto !important;
}

/* Tablet */
@media (max-width:1024px){
  body .lpmh-wrap,
  body .container,
  body .ast-container,
  body .woocommerce-page .site-content,
  body .woocommerce .site-content {
    width:calc(100% - 32px) !important;
  }

  body.woocommerce ul.products,
  body.woocommerce-page ul.products,
  body ul.products.columns-4 {
    grid-template-columns:repeat(3, minmax(0,1fr)) !important;
    gap:16px !important;
  }
}

/* Mobile */
@media (max-width:768px){
  body .lpmh-wrap,
  body .container,
  body .ast-container,
  body .woocommerce-page .site-content,
  body .woocommerce .site-content,
  body.single-product .lpmh-woo-shell {
    width:calc(100% - 20px) !important;
  }

  body.woocommerce ul.products,
  body.woocommerce-page ul.products,
  body ul.products.columns-4 {
    grid-template-columns:repeat(2, minmax(0,1fr)) !important;
    gap:12px !important;
  }

  body.woocommerce ul.products li.product,
  body.woocommerce-page ul.products li.product {
    padding:8px !important;
    border-radius:13px !important;
  }

  body.woocommerce ul.products li.product .woocommerce-loop-product__title,
  body.woocommerce-page ul.products li.product .woocommerce-loop-product__title {
    font-size:14px !important;
    min-height:38px !important;
  }

  body.woocommerce ul.products li.product .price,
  body.woocommerce-page ul.products li.product .price {
    font-size:14px !important;
  }

  body.woocommerce ul.products li.product .button,
  body.woocommerce-page ul.products li.product .button {
    min-height:40px !important;
    font-size:12px !important;
    padding:8px 10px !important;
  }
}

/* Very small phones */
@media (max-width:380px){
  body.woocommerce ul.products,
  body.woocommerce-page ul.products,
  body ul.products.columns-4 {
    gap:8px !important;
  }
}
