/* Base reset — no theme/Elementor wrapper padding */
*,
*::before,
*::after {
  box-sizing: border-box;
}

html {
  -webkit-text-size-adjust: 100%;
}

body {
  margin: 0;
  padding: 0;
  background: #f4f2ed;
  overflow-x: clip;
}

.site-main,
.jm-site-main {
  margin: 0;
  padding: 0;
  max-width: none;
  width: 100%;
}

.entry-content,
.page-content,
.wp-block-post-content {
  margin: 0;
  padding: 0;
  max-width: none;
}

.screen-reader-text {
  border: 0;
  clip: rect(1px, 1px, 1px, 1px);
  clip-path: inset(50%);
  height: 1px;
  margin: -1px;
  overflow: hidden;
  padding: 0;
  position: absolute;
  width: 1px;
  word-wrap: normal !important;
}

/* WooCommerce shop / product pages — minimal base until custom templates are added */
.jm-woocommerce .woocommerce-breadcrumb,
.jm-woocommerce .woocommerce-notices-wrapper {
  max-width: 1440px;
  margin-left: auto;
  margin-right: auto;
  padding: 24px 80px 0;
  font-family: Inter, sans-serif;
}

.jm-woocommerce .woocommerce {
  max-width: 1440px;
  margin: 0 auto;
  padding: 40px 80px 100px;
  font-family: Inter, sans-serif;
}

@media (max-width: 768px) {
  .jm-woocommerce .woocommerce-breadcrumb,
  .jm-woocommerce .woocommerce-notices-wrapper,
  .jm-woocommerce .woocommerce {
    padding-left: 20px;
    padding-right: 20px;
  }
}
