/*
Theme Name: Loom & Earth
Theme URI: https://example.com/loom-earth
Author: Loom & Earth
Description: A warm, editorial WooCommerce theme for natural apparel and lifestyle goods.
Version: 0.1.0
Requires at least: 6.6
Requires PHP: 8.1
Text Domain: loom-earth
*/

body.admin-bar .site-header { top: 32px; }
.woocommerce-page main.site-main,
.page main.site-main,
.single main.site-main {
  min-height: 65vh;
  padding: 70px 5vw 110px;
}
.shop-shell { max-width: 1440px; margin: 0 auto; }
.page-title { margin: 0 0 45px; font-family: var(--serif); font-size: clamp(45px, 6vw, 78px); font-weight: 500; }
.woocommerce .woocommerce-breadcrumb { margin-bottom: 25px; color: var(--muted); font-size: 11px; }
.woocommerce ul.products { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 35px 18px; }
.woocommerce ul.products::before,
.woocommerce ul.products::after { display: none; }
.woocommerce ul.products li.product { float: none; width: auto; margin: 0; }
.woocommerce ul.products li.product a img { aspect-ratio: 4/5; margin: 0 0 15px; background: #dfd5c6; object-fit: cover; }
.woocommerce ul.products li.product .woocommerce-loop-product__title { padding: 0; color: var(--charcoal); font-family: var(--serif); font-size: 21px; }
.woocommerce ul.products li.product .price { color: var(--charcoal); font-size: 12px; }
.woocommerce span.onsale { min-width: auto; min-height: auto; margin: 12px !important; padding: 6px 11px; border-radius: 999px; background: var(--terracotta); font-size: 9px; line-height: 1.4; }
.woocommerce ul.products li.product .button,
.woocommerce div.product form.cart .button,
.woocommerce .wc-block-cart__submit-button,
.woocommerce button.button,
.woocommerce a.button {
  padding: 14px 22px;
  border-radius: 999px;
  background: var(--terracotta);
  color: white;
  font-size: 10px;
  font-weight: 600;
  letter-spacing: .08em;
  text-transform: uppercase;
}
.woocommerce div.product { display: grid; grid-template-columns: 1.1fr .9fr; gap: 6vw; }
.woocommerce div.product div.images,
.woocommerce div.product div.summary { float: none; width: auto; }
.woocommerce div.product .product_title { font-family: var(--serif); font-size: clamp(42px, 5vw, 68px); font-weight: 500; line-height: 1; }
.woocommerce div.product p.price { color: var(--charcoal); font-size: 18px; }
.woocommerce div.product .woocommerce-product-details__short-description { color: var(--muted); }
.woocommerce div.product .woocommerce-tabs { grid-column: 1/-1; }
.woocommerce div.product form.cart .variations select { min-height: 45px; padding: 0 35px 0 12px; border: 1px solid var(--line); background: transparent; }
.woocommerce-message,
.woocommerce-info { border-top-color: var(--sage); background: white; }
.woocommerce-message::before,
.woocommerce-info::before { color: var(--sage); }
.site-header .custom-logo { width: auto; max-height: 52px; }
.nav .menu { display: flex; gap: inherit; margin: 0; padding: 0; list-style: none; }
.hero .hero-title { max-width: 700px; }
.empty-products { padding: 45px; background: rgba(255,255,255,.45); text-align: center; }
.empty-products h3 { margin: 0 0 8px; font-family: var(--serif); font-size: 30px; }
.mobile-menu .menu { margin: 0; padding: 0; list-style: none; }
.mobile-menu .menu li { margin: 0; }

@media (max-width: 900px) {
  body.admin-bar .site-header { top: 46px; }
  .woocommerce ul.products { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .woocommerce div.product { grid-template-columns: 1fr; }
  .woocommerce div.product .woocommerce-tabs { grid-column: auto; }
}

@media (max-width: 600px) {
  .woocommerce-page main.site-main,
  .page main.site-main,
  .single main.site-main { padding: 45px 20px 80px; }
}
