:root {
  --mld-content: min(1200px, calc(100% - 48px));
}

body.mld-site:not(.home) {
  color: var(--mld-ink);
  background: var(--mld-cream);
  font-family: "MLD Sans", -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
}

.mld-content-shell,
.woocommerce .site-content > .ast-container,
.woocommerce-page .site-content > .ast-container {
  width: var(--mld-content);
  max-width: 1200px;
  margin: 0 auto;
  padding: 64px 0 88px;
}

.mld-page-card {
  padding: clamp(28px, 5vw, 64px);
  border: 1px solid var(--mld-cream-dark);
  border-radius: 12px;
  background: var(--mld-white);
  box-shadow: var(--mld-shadow);
}

.mld-page-heading {
  max-width: 760px;
  margin: 0 auto 42px;
  text-align: center;
}

.mld-page-heading h1,
.mld-not-found h1,
.woocommerce-products-header__title,
.product_title,
.woocommerce-account h1,
.woocommerce-cart h1,
.woocommerce-checkout h1 {
  color: var(--mld-ink);
  font-family: "MLD Serif", Georgia, serif;
  font-size: clamp(36px, 5vw, 56px);
  font-weight: 570;
  line-height: 1.12;
}

.mld-entry-content {
  max-width: 800px;
  margin: 0 auto;
  color: var(--mld-muted);
  font-size: 17px;
  line-height: 1.85;
}

.mld-entry-content h2,
.mld-entry-content h3 {
  margin-top: 36px;
  color: var(--mld-ink);
  font-family: "MLD Serif", Georgia, serif;
}

.mld-post-grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 24px;
}

.mld-post-card {
  padding: 28px;
  border: 1px solid var(--mld-cream-dark);
  border-radius: 10px;
  background: var(--mld-white);
}

.mld-post-card h2 {
  font-family: "MLD Serif", Georgia, serif;
  font-size: 27px;
}

.mld-post-card h2 a { text-decoration: none; }
.mld-post-date { color: var(--mld-rose); font-size: 12px; font-weight: 700; }
.mld-not-found { max-width: 760px; margin: 0 auto; text-align: center; }
.mld-not-found .mld-button-row { justify-content: center; margin-top: 28px; }

.woocommerce .woocommerce-breadcrumb {
  margin-bottom: 28px;
  color: var(--mld-muted);
  font-size: 13px;
}

.mld-catalog-filters {
  display: grid;
  grid-template-columns: repeat(5, minmax(130px, 1fr)) auto auto;
  align-items: end;
  gap: 12px;
  width: 100%;
  margin: 0 0 34px;
  padding: 22px;
  border: 1px solid var(--mld-cream-dark);
  border-radius: 10px;
  background: var(--mld-white);
}

.mld-filter-title {
  grid-column: 1 / -1;
  margin: 0 0 4px;
  color: var(--mld-ink);
  font-family: "MLD Serif", Georgia, serif;
  font-size: 23px;
  font-weight: 600;
}

.mld-catalog-filters label span {
  display: block;
  margin-bottom: 6px;
  color: var(--mld-muted);
  font-size: 11px;
  font-weight: 750;
  letter-spacing: .07em;
  text-transform: uppercase;
}

.mld-catalog-filters select { min-height: 44px; }
.mld-clear-filters { padding: 11px 4px; color: var(--mld-rose); font-weight: 700; }

.woocommerce ul.products {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 24px;
}

.woocommerce ul.products::before,
.woocommerce ul.products::after { display: none; }

.woocommerce ul.products li.product,
.woocommerce-page ul.products li.product {
  float: none;
  width: auto;
  margin: 0;
  padding: 0 0 22px;
  overflow: hidden;
  border-radius: 10px;
  background: var(--mld-white);
  box-shadow: 0 1px 0 rgba(64,55,56,.06);
  transition: transform 180ms ease, box-shadow 180ms ease;
}

.woocommerce ul.products li.product:hover {
  transform: translateY(-5px);
  box-shadow: var(--mld-shadow);
}

.woocommerce ul.products li.product a img {
  aspect-ratio: 3 / 4;
  margin: 0 0 18px;
  object-fit: cover;
  background: var(--mld-blush);
}

.woocommerce ul.products li.product .woocommerce-loop-product__title,
.woocommerce ul.products li.product .price,
.woocommerce ul.products li.product .star-rating,
.woocommerce ul.products li.product .button { margin-left: 18px; margin-right: 18px; }

.woocommerce ul.products li.product .woocommerce-loop-product__title {
  color: var(--mld-ink);
  font-family: "MLD Serif", Georgia, serif;
  font-size: 21px;
}

.woocommerce ul.products li.product .price,
.woocommerce div.product p.price,
.woocommerce div.product span.price { color: var(--mld-rose-dark); font-weight: 800; }

.woocommerce a.button,
.woocommerce button.button,
.woocommerce input.button,
.woocommerce #respond input#submit,
.woocommerce a.button.alt,
.woocommerce button.button.alt,
.woocommerce input.button.alt {
  min-height: 44px;
  padding: 12px 20px;
  border-radius: 5px;
  color: var(--mld-white);
  background: var(--mld-rose);
  font-weight: 750;
}

.woocommerce a.button:hover,
.woocommerce button.button:hover,
.woocommerce input.button:hover,
.woocommerce a.button.alt:hover,
.woocommerce button.button.alt:hover { color: var(--mld-white); background: var(--mld-rose-dark); }

.woocommerce span.onsale {
  min-width: auto;
  min-height: auto;
  padding: 6px 11px;
  border-radius: 999px;
  color: var(--mld-white);
  background: var(--mld-rose-dark);
  line-height: 1.2;
}

.woocommerce div.product {
  padding: clamp(24px, 4vw, 52px);
  border-radius: 12px;
  background: var(--mld-white);
}

.woocommerce div.product div.images img { border-radius: 10px; }
.woocommerce div.product form.cart .variations select,
.woocommerce form .form-row input.input-text,
.woocommerce form .form-row textarea,
.woocommerce form .form-row select,
.woocommerce .quantity .qty {
  min-height: 44px;
  border: 1px solid var(--mld-cream-dark);
  border-radius: 5px;
  background: #fff;
}

.woocommerce-tabs,
.related.products,
.up-sells { margin-top: 54px; }

.woocommerce table.shop_table,
.woocommerce form.checkout_coupon,
.woocommerce form.login,
.woocommerce form.register {
  border-color: var(--mld-cream-dark);
  border-radius: 10px;
  background: var(--mld-white);
}

.woocommerce-account .woocommerce-MyAccount-navigation ul {
  margin: 0;
  padding: 0;
  list-style: none;
}

.woocommerce-account .woocommerce-MyAccount-navigation a {
  display: block;
  padding: 12px 16px;
  border-bottom: 1px solid var(--mld-cream-dark);
  text-decoration: none;
}

.woocommerce-message,
.woocommerce-info {
  border-top-color: var(--mld-rose);
  background: var(--mld-white);
}

.woocommerce-message::before,
.woocommerce-info::before { color: var(--mld-rose); }

@media (max-width: 980px) {
  .mld-catalog-filters { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .mld-filter-title { grid-column: 1 / -1; }
  .woocommerce ul.products { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .mld-post-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}

@media (max-width: 640px) {
  :root { --mld-content: calc(100% - 30px); }
  .mld-content-shell { padding-top: 38px; }
  .woocommerce ul.products { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 12px; }
  .woocommerce ul.products li.product .woocommerce-loop-product__title { font-size: 17px; }
  .mld-post-grid { grid-template-columns: 1fr; }
}
  .mld-catalog-filters { grid-template-columns: 1fr; padding: 18px; }
  .mld-filter-title { grid-column: auto; }
