:root {
  --msg-off-white: #f6f4ee;
  --msg-sand: #e8e1d3;
  --msg-sage: #cfe3c6;
  --msg-green: #7baa6d;
  --msg-forest: #2f4f3e;
  --msg-graphite: #4a4a45;
  --msg-white: #fff;
  --msg-radius: 18px;
  --msg-shadow: 0 18px 55px rgba(47, 79, 62, 0.10);
  --msg-container: 1240px;
}

* { box-sizing: border-box; }
html { scroll-behavior: smooth; }
body {
  margin: 0;
  background: var(--msg-off-white);
  color: var(--msg-graphite);
  font-family: "Lato", Arial, sans-serif;
  font-size: 17px;
  line-height: 1.65;
}
body.msg-menu-open { overflow: hidden; }
a { color: inherit; text-decoration: none; }
img { max-width: 100%; height: auto; }
button, input, select, textarea { font: inherit; }
h1, h2, h3, h4, h5, h6 {
  margin: 0 0 0.7em;
  color: var(--msg-forest);
  font-family: "Poppins", Arial, sans-serif;
  line-height: 1.15;
  letter-spacing: -0.025em;
}
h1 { font-size: clamp(2.6rem, 5vw, 4.8rem); }
h2 { font-size: clamp(2rem, 3.2vw, 3.2rem); }
p { margin: 0 0 1.4em; }

.msg-container { width: min(calc(100% - 40px), var(--msg-container)); margin-inline: auto; }
.screen-reader-text {
  position: absolute !important; width: 1px; height: 1px; padding: 0; margin: -1px;
  overflow: hidden; clip: rect(0, 0, 0, 0); white-space: nowrap; border: 0;
}
.screen-reader-text:focus { width: auto; height: auto; clip: auto; padding: 12px; background: #fff; z-index: 99999; }

.msg-topbar { background: var(--msg-forest); color: rgba(255,255,255,.86); font-size: .76rem; }
.msg-topbar-inner { min-height: 30px; display: flex; align-items: center; justify-content: space-between; gap: 20px; }
.msg-topbar nav { display: flex; gap: 24px; }
.msg-topbar a:hover { color: #fff; }
.msg-header { position: relative; z-index: 50; background: rgba(246,244,238,.96); border-bottom: 1px solid rgba(47,79,62,.08); }
.msg-nav-row { min-height: 74px; display: flex; align-items: center; gap: 30px; }
.msg-brand { position:relative; display: inline-flex; flex-direction: column; line-height: 1; color: var(--msg-forest); flex-shrink: 0; }
.msg-brand .custom-logo-link { display: block; }
.msg-brand .custom-logo { width: auto; max-height: 58px; }
.msg-bundled-logo-frame { position:relative; display:block; width:155px; line-height:0; }
.msg-bundled-logo { display:block; width:155px; max-width:100%; height:auto; }
.msg-brand-word { font-family: "Poppins", sans-serif; font-size: 2rem; font-weight: 700; letter-spacing: -.09em; }
.msg-brand-tagline { margin-top: 2px; color: var(--msg-green); font-family: "Poppins", sans-serif; font-size: .52rem; font-weight: 600; line-height:1.2; letter-spacing: .16em; text-transform: uppercase; }
.msg-primary-nav { margin-left: auto; }
.msg-menu { display: flex; align-items: center; gap: clamp(18px, 2.2vw, 34px); padding: 0; margin: 0; list-style: none; }
.msg-menu > li { position:relative; }
.msg-menu a { color: var(--msg-forest); font-family: "Poppins", sans-serif; font-size: .86rem; font-weight: 500; }
.msg-menu a:hover { color: var(--msg-green); }
.msg-menu-parent { display:flex; align-items:center; gap:0; }
.msg-submenu-toggle { display:grid; width:26px; height:26px; padding:0; place-items:center; border:0; background:transparent; color:var(--msg-forest); cursor:pointer; transition:.2s ease; }
.msg-submenu-toggle span[aria-hidden="true"] { display:block; font-size:1.05rem; line-height:1; transform:translateY(-2px); }
.msg-has-submenu.is-open .msg-submenu-toggle,.msg-has-submenu:focus-within .msg-submenu-toggle { color:var(--msg-green); transform:rotate(180deg); }
.msg-submenu { position:absolute; z-index:30; top:calc(100% + 14px); left:50%; min-width:240px; padding:10px; margin:0; list-style:none; border:1px solid rgba(47,79,62,.12); border-radius:14px; background:#fff; box-shadow:0 20px 50px rgba(47,79,62,.16); opacity:0; visibility:hidden; transform:translate(-50%,-8px); transition:.18s ease; }
.msg-submenu::before { content:""; position:absolute; left:0; right:0; bottom:100%; height:15px; }
.msg-submenu li { margin:0; }
.msg-submenu a { display:block; padding:10px 12px; border-radius:8px; white-space:nowrap; }
.msg-submenu a:hover,.msg-submenu a:focus { background:var(--msg-sage); color:var(--msg-forest); }
.msg-has-submenu:hover .msg-submenu,.msg-has-submenu:focus-within .msg-submenu,.msg-has-submenu.is-open .msg-submenu { opacity:1; visibility:visible; transform:translate(-50%,0); }
.msg-nav-actions { display: flex; gap: 10px; }
.msg-icon-link { position: relative; display: grid; width: 40px; height: 40px; place-items: center; color: var(--msg-forest); font-size: 1.25rem; }
.msg-cart-count { position: absolute; top: 0; right: 0; display: grid; min-width: 18px; height: 18px; padding: 0 4px; place-items: center; border-radius: 20px; background: var(--msg-green); color: #fff; font-size: .62rem; }
.msg-menu-toggle { display: none; width: 44px; height: 44px; padding: 10px; border: 0; background: transparent; }
.msg-menu-toggle span:not(.screen-reader-text) { display: block; height: 2px; margin: 5px 0; background: var(--msg-forest); }

.msg-hero { overflow: hidden; background: linear-gradient(120deg, #f6f4ee 0%, #ece7dc 100%); }
.msg-hero-grid { min-height: 500px; display: grid; grid-template-columns: 1.08fr .92fr; align-items: center; gap: 3vw; }
.msg-hero-copy { max-width: 680px; padding-block: 52px; }
.msg-hero-copy h1 { font-size: clamp(2.7rem, 4vw, 4.25rem); }
.msg-eyebrow { display: block; margin-bottom: 14px; color: var(--msg-green); font-family: "Poppins", sans-serif; font-size: .76rem; font-weight: 700; letter-spacing: .17em; text-transform: uppercase; }
.msg-hero-copy p { max-width: 590px; font-size: 1.06rem; }
.msg-hero-actions { display: flex; align-items: center; flex-wrap: wrap; gap: 22px; margin-top: 24px; }
.msg-button { display: inline-flex; min-height: 50px; align-items: center; justify-content: center; padding: 12px 24px; border: 2px solid var(--msg-green); border-radius: 4px; background: var(--msg-green); color: #fff; font-family: "Poppins", sans-serif; font-size: .82rem; font-weight: 600; text-transform: uppercase; transition: .2s ease; }
.msg-button:hover { transform: translateY(-2px); background: var(--msg-forest); border-color: var(--msg-forest); }
.msg-button-outline { background: transparent; color: var(--msg-forest); border-color: var(--msg-forest); }
.msg-text-link { color: var(--msg-forest); font-family: "Poppins", sans-serif; font-size: .82rem; font-weight: 600; }
.msg-text-link:hover { color: var(--msg-green); }

.msg-hero-media { align-self: stretch; min-height: 440px; padding-block: 30px; }
.msg-hero-media img { width: 100%; height: 100%; min-height: 440px; border-radius: 26px; object-fit: cover; object-position: 57% center; box-shadow: 0 22px 54px rgba(47,79,62,.13); }

.msg-benefits { background: var(--msg-sage); }
.msg-benefits-grid { display: grid; grid-template-columns: repeat(4,1fr); }
.msg-benefits-grid > div { min-height: 86px; display: flex; align-items: center; gap: 14px; padding: 18px clamp(12px,2vw,28px); border-right: 1px solid rgba(47,79,62,.12); }
.msg-benefits-grid > div:last-child { border-right: 0; }
.msg-benefits-grid span { color: var(--msg-forest); font-size: 1.8rem; }
.msg-benefits-grid p { margin: 0; font-size: .76rem; line-height: 1.35; }
.msg-benefits-grid strong { display: block; color: var(--msg-forest); font-family: "Poppins",sans-serif; font-size: .78rem; }

.msg-section { padding: clamp(60px,7vw,92px) 0; }
.msg-section-heading { display: flex; align-items: flex-end; justify-content: space-between; gap: 30px; margin-bottom: 38px; }
.msg-section-heading h2 { margin-bottom: 0; font-size: clamp(2rem,3vw,2.8rem); }
.msg-category-grid { display: grid; grid-template-columns: repeat(4,1fr); gap: 20px; }
.msg-category-card { display: block; overflow: hidden; border: 1px solid rgba(47,79,62,.1); border-radius: 16px; background: #fff; color: var(--msg-forest); font-family: "Poppins",sans-serif; font-size: .9rem; box-shadow: 0 10px 28px rgba(47,79,62,.06); transition: transform .25s ease, box-shadow .25s ease; }
.msg-category-card:hover { transform: translateY(-5px); box-shadow: 0 20px 40px rgba(47,79,62,.13); }
.msg-category-art { position: relative; display: block; aspect-ratio: 1 / .72; margin: 0; overflow: hidden; background: var(--msg-sand); }
.msg-category-art img { width: 100%; height: 100%; object-fit: cover; object-position: 68% center; transition: transform .35s ease; }
.msg-category-card:hover .msg-category-art img { transform: scale(1.035); }
.msg-category-copy { display: block; padding: 18px 18px 20px; }
.msg-category-copy strong { display: block; margin-bottom: 7px; font-size: .98rem; }
.msg-category-copy small { display: block; color: var(--msg-graphite); font-family: "Lato",sans-serif; font-size: .8rem; font-weight: 400; line-height: 1.45; }
.msg-category-art::before,.msg-category-art::after { content:""; position:absolute; }
.msg-cat-stones { background: #ded8cb; }
.msg-cat-stones::before { width:48%; height:30%; left:12%; bottom:20%; border-radius:50%; background:#f5f2e9; box-shadow: 55px 12px #c2b9aa, 88px -17px #ece7dd, 30px -37px #b4aa99; }
.msg-cat-soil { background:#d9c6a7; }
.msg-cat-soil::before { width:110%; height:54%; left:-5%; bottom:-12%; border-radius:50% 50% 0 0; background:#554333; box-shadow:inset 0 25px rgba(95,73,51,.55); }
.msg-cat-fertilizer { background:#dfe7d7; }
.msg-cat-fertilizer::before { width:52%; height:60%; left:24%; bottom:11%; border-radius:8px 8px 22px 22px; background:#f6f4ee; box-shadow:inset 0 -30px var(--msg-green); }
.msg-cat-grass { background:#cfe3c6; }
.msg-cat-grass::before { width:100%; height:48%; left:0; bottom:0; background:repeating-linear-gradient(78deg,#5c8e51 0 3px,#7baa6d 3px 7px); }
.msg-cat-border { background:#e9e3d8; }
.msg-cat-border::before { width:76%; height:10px; left:12%; bottom:36%; border-radius:20px; background:var(--msg-forest); transform:rotate(-12deg); box-shadow:0 24px var(--msg-green); }

.msg-products-section { background: #fff; }
.woocommerce ul.products { display:grid!important; grid-template-columns:repeat(4,1fr); gap:24px; }
.woocommerce ul.products::before,.woocommerce ul.products::after { display:none; }
.woocommerce ul.products li.product { display:flex; flex-direction:column; float:none!important; width:auto!important; margin:0!important; padding:14px 14px 18px; border:1px solid rgba(47,79,62,.09); border-radius:16px; background:#fff; box-shadow:0 8px 24px rgba(47,79,62,.05); transition:transform .2s ease, box-shadow .2s ease; }
.woocommerce ul.products li.product:hover { transform:translateY(-3px); box-shadow:0 16px 34px rgba(47,79,62,.1); }
.woocommerce ul.products li.product > a.woocommerce-loop-product__link { display:flex; flex:1; flex-direction:column; }
.msg-loop-image-frame { position:relative; display:block; aspect-ratio:1; margin-bottom:14px; overflow:hidden; border-radius:12px; background:var(--msg-off-white); }
.woocommerce ul.products li.product a .msg-loop-image-frame img { position:absolute; inset:0; width:100%; height:100%; margin:0!important; border-radius:12px; background:var(--msg-off-white); object-fit:contain; transition:opacity .28s ease,transform .32s ease; }
.msg-loop-image--secondary { opacity:0; }
.woocommerce ul.products li.product:hover .msg-loop-image--primary { transform:scale(1.025); }
.woocommerce ul.products li.product:hover .msg-loop-image--secondary { opacity:1; transform:scale(1.025); }
.woocommerce ul.products li.product:hover .msg-loop-image-frame:has(.msg-loop-image--secondary) .msg-loop-image--primary { opacity:0; }
.woocommerce ul.products li.product .woocommerce-loop-product__title { font-size:1rem; }
.woocommerce ul.products li.product .price { margin-top:auto; color:var(--msg-forest)!important; font-weight:700; }
.woocommerce ul.products li.product .button { width:100%; margin-top:10px!important; text-align:center; }
.woocommerce a.button,.woocommerce button.button,.woocommerce input.button,.woocommerce #respond input#submit { border-radius:4px!important; background:var(--msg-green)!important; color:#fff!important; }
.woocommerce div.product { display:grid; grid-template-columns:minmax(0,1.05fr) minmax(340px,.95fr); gap:clamp(34px,6vw,80px); }
.woocommerce div.product div.images,.woocommerce div.product div.summary { float:none!important; width:auto!important; min-width:0; }
.woocommerce div.product div.images img { border-radius:var(--msg-radius); background:#fff; }
.woocommerce div.product div.images.woocommerce-product-gallery {
  position:relative;
  width:100%!important;
  max-width:520px;
  margin-inline:auto!important;
  container-type:inline-size;
}
.woocommerce div.product div.images .woocommerce-product-gallery__image img {
  width:100%;
  aspect-ratio:1;
  object-fit:contain;
}
.woocommerce div.product div.images .flex-control-thumbs {
  display:flex!important;
  flex-wrap:nowrap;
  gap:10px;
  margin:12px 0 0!important;
  padding:2px 2px 8px!important;
  overflow-x:auto;
  overflow-y:hidden;
  scrollbar-width:thin;
  scrollbar-color:rgba(47,79,62,.35) transparent;
  scroll-snap-type:x proximity;
}
.woocommerce div.product div.images .flex-control-thumbs::-webkit-scrollbar { height:6px; }
.woocommerce div.product div.images .flex-control-thumbs::-webkit-scrollbar-track { background:transparent; }
.woocommerce div.product div.images .flex-control-thumbs::-webkit-scrollbar-thumb { border-radius:999px; background:rgba(47,79,62,.28); }
.woocommerce div.product div.images .flex-control-thumbs li {
  float:none!important;
  width:76px!important;
  flex:0 0 76px;
  margin:0!important;
  scroll-snap-align:start;
}
.woocommerce div.product div.images .flex-control-thumbs img {
  width:76px;
  height:76px;
  border:2px solid transparent;
  border-radius:10px!important;
  object-fit:cover;
  opacity:.68;
  transition:border-color .2s ease,opacity .2s ease,transform .2s ease;
}
.woocommerce div.product div.images .flex-control-thumbs img:hover { opacity:.9; transform:translateY(-1px); }
.woocommerce div.product div.images .flex-control-thumbs img.flex-active { border-color:var(--msg-green); opacity:1; }
.msg-gallery-nav {
  position:absolute;
  z-index:8;
  top:0;
  left:0;
  width:100%;
  aspect-ratio:1;
  pointer-events:none;
}
.msg-gallery-arrow {
  position:absolute;
  top:50%;
  display:grid;
  width:44px;
  height:44px;
  padding:0;
  border:1px solid rgba(47,79,62,.14);
  border-radius:50%;
  background:rgba(246,244,238,.94);
  color:var(--msg-forest);
  box-shadow:0 8px 24px rgba(47,79,62,.2);
  place-items:center;
  pointer-events:auto;
  transform:translateY(-50%);
  transition:background .2s ease,color .2s ease,transform .2s ease;
  cursor:pointer;
}
.msg-gallery-arrow:hover,.msg-gallery-arrow:focus-visible { background:var(--msg-forest); color:#fff; transform:translateY(-50%) scale(1.04); }
.msg-gallery-arrow:focus-visible { outline:3px solid rgba(123,170,109,.4); outline-offset:2px; }
.msg-gallery-arrow svg { width:22px; height:22px; }
.msg-gallery-arrow--prev { left:14px; }
.msg-gallery-arrow--next { right:14px; }
.msg-product-gallery {
  position:relative;
  width:100%!important;
  max-width:520px;
  min-width:0;
  margin-inline:auto!important;
  margin-bottom:0!important;
}
.msg-product-gallery__stage { position:relative; width:100%; aspect-ratio:1; overflow:hidden; border-radius:var(--msg-radius); background:#fff; }
.msg-product-gallery__main { display:block; width:100%; height:100%!important; margin:0!important; object-fit:contain; background:#fff; }
.msg-product-gallery__zoom { position:absolute; z-index:10; top:16px; right:16px; display:grid; width:40px; height:40px; place-items:center; border-radius:50%; background:rgba(255,255,255,.9); color:var(--msg-forest); font-size:1.35rem; box-shadow:0 8px 24px rgba(47,79,62,.12); }
.msg-product-gallery__thumbs { display:flex; max-width:100%; gap:9px; margin-top:10px; padding:2px 2px 8px; overflow-x:auto; overflow-y:hidden; scroll-snap-type:x proximity; scrollbar-width:thin; scrollbar-color:rgba(47,79,62,.35) transparent; }
.msg-product-gallery__thumb { width:70px; height:70px; flex:0 0 70px; padding:0; overflow:hidden; border:2px solid transparent; border-radius:10px; background:#fff; opacity:.68; scroll-snap-align:start; cursor:pointer; transition:border-color .2s ease,opacity .2s ease,transform .2s ease; }
.msg-product-gallery__thumb:hover { opacity:.9; transform:translateY(-1px); }
.msg-product-gallery__thumb.is-active { border-color:var(--msg-green); opacity:1; }
.msg-product-gallery__thumb img { display:block; width:100%!important; height:100%!important; margin:0!important; border-radius:8px!important; object-fit:cover; }
.msg-product-gallery.has-single-image .msg-gallery-nav,.msg-product-gallery.has-single-image .msg-product-gallery__thumbs { display:none; }
.woocommerce div.product .product_title { font-size:clamp(2rem,3.5vw,3.2rem); }
.woocommerce div.product p.price,.woocommerce div.product span.price { color:var(--msg-forest)!important; font-family:"Poppins",sans-serif; font-size:1.5rem!important; font-weight:700; }
.woocommerce div.product form.cart { display:flex; align-items:center; gap:14px; }
.woocommerce div.product form.cart.variations_form { display:block; }
.woocommerce div.product form.cart table.variations { margin-bottom:0; }
.woocommerce div.product form.cart table.variations th.label { padding:0 18px 14px 0; vertical-align:middle; }
.woocommerce div.product form.cart table.variations td.value { padding:0 0 14px; }
.woocommerce div.product form.cart table.variations select {
  min-width:min(100%,260px);
  min-height:48px;
  padding:0 44px 0 14px;
  border:1px solid rgba(47,79,62,.24);
  border-radius:4px;
  background-color:#fff;
  color:var(--msg-graphite);
}
.woocommerce div.product form.cart table.variations select option { padding:8px 14px; }
.woocommerce div.product form.cart table.variations .reset_variations { margin-left:10px; }
.woocommerce div.product form.cart .woocommerce-variation-add-to-cart {
  display:grid;
  grid-template-columns:72px minmax(0,1fr);
  align-items:stretch;
  gap:14px;
  margin-top:18px;
}
.woocommerce div.product form.cart .quantity { margin:0!important; }
.woocommerce div.product form.cart .quantity .qty {
  width:72px;
  min-height:52px;
  padding-inline:10px;
  border:1px solid rgba(47,79,62,.2);
  border-radius:4px;
  text-align:center;
}
.woocommerce div.product form.cart .single_add_to_cart_button {
  display:inline-flex!important;
  min-width:0;
  min-height:52px;
  align-items:center;
  justify-content:center;
  gap:10px;
  padding:11px 18px;
}
.woocommerce div.product form.cart .single_add_to_cart_button::before {
  content:"";
  width:19px;
  height:19px;
  flex:0 0 19px;
  background:center / contain no-repeat url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23fff' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Ccircle cx='9' cy='20' r='1'/%3E%3Ccircle cx='19' cy='20' r='1'/%3E%3Cpath d='M3 4h2l2.4 11.2a2 2 0 0 0 2 1.6h8.8a2 2 0 0 0 2-1.6L22 8H6'/%3E%3C/svg%3E");
}
.single-product .msg-shop-shell { padding-top:28px; }
.single-product.woocommerce div.product { grid-template-columns:minmax(0,.9fr) minmax(380px,1.1fr); gap:clamp(34px,4vw,56px); }
.single-product.woocommerce div.product div.images.woocommerce-product-gallery { max-width:460px; }
.single-product.woocommerce div.product div.images.msg-product-gallery { max-width:460px; }
.single-product.woocommerce div.product div.images .flex-control-thumbs { gap:9px; margin-top:10px!important; }
.single-product.woocommerce div.product div.images .flex-control-thumbs li { width:70px!important; flex-basis:70px; }
.single-product.woocommerce div.product div.images .flex-control-thumbs img { width:70px; height:70px; }
.single-product.woocommerce div.product .product_title { margin-bottom:18px; font-size:clamp(2rem,3vw,2.8rem); }
.single-product.woocommerce div.product .summary > p.price { margin-bottom:18px; }
.single-product .woocommerce-product-details__short-description p { margin-bottom:14px; }
.single-product.woocommerce div.product form.cart { margin-bottom:18px; }
.single-product.woocommerce div.product form.cart table.variations th.label { padding-bottom:10px; }
.single-product.woocommerce div.product form.cart table.variations td.value { padding-bottom:10px; }
.single-product.woocommerce div.product form.cart table.variations select { min-height:44px; }
.single-product.woocommerce div.product form.cart .woocommerce-variation-add-to-cart { grid-template-columns:68px minmax(0,1fr); gap:12px; margin-top:12px; }
.single-product.woocommerce div.product form.cart .woocommerce-variation-add-to-cart > .containerCalculator { display:none!important; }
.single-product.woocommerce div.product form.cart .quantity .qty { width:68px; min-height:48px; }
.single-product.woocommerce div.product form.cart .single_add_to_cart_button { min-height:48px; }
.single-product .single_variation .woocommerce-variation-price { display:none!important; }
.woocommerce div.product .woocommerce-tabs { grid-column:1 / -1; padding-top:30px; }
.woocommerce div.product .woocommerce-tabs ul.tabs { padding:0!important; }
.single-product .sku_wrapper { display:none!important; }
.msg-purchase-panel { margin-top:4px; padding:18px; border:1px solid rgba(47,79,62,.12); border-radius:16px; background:linear-gradient(145deg,var(--msg-sand) 0%,rgba(207,227,198,.42) 100%); }
.single-product.woocommerce div.product .msg-purchase-panel form.cart { margin-bottom:12px; }
.msg-purchase-panel .product_meta { margin:0; color:var(--msg-graphite); font-size:.84rem; }
.msg-purchase-panel .msg-product-freight { margin-top:14px; background:rgba(255,255,255,.76); }
.msg-products-section .woocommerce ul.products { grid-template-columns:repeat(5,minmax(0,1fr)); }
.woocommerce div.product .woocommerce-tabs ul.tabs::before { border-color:rgba(47,79,62,.14)!important; }
.woocommerce div.product .woocommerce-tabs ul.tabs li { border:0!important; background:transparent!important; }
.woocommerce div.product .woocommerce-tabs ul.tabs li::before,.woocommerce div.product .woocommerce-tabs ul.tabs li::after { display:none; }
.woocommerce table.shop_attributes { border:0; }
.woocommerce table.shop_attributes th,.woocommerce table.shop_attributes td { padding:12px 14px; border-bottom:1px solid rgba(47,79,62,.12); background:transparent!important; font-style:normal; }
.woocommerce div.product .related.products { grid-column:1 / -1; width:100%; margin-top:38px; padding-top:34px; border-top:1px solid rgba(47,79,62,.12); }
.woocommerce div.product .related.products > h2 { margin-bottom:26px; font-size:clamp(2rem,3vw,2.7rem); }
.woocommerce div.product .related.products ul.products { gap:22px; margin:0!important; }
.woocommerce div.product .related.products ul.products li.product { min-height:100%; padding:18px; border-radius:18px; }
.woocommerce div.product .related.products .woocommerce-loop-product__title { min-height:2.6em; margin-bottom:10px; font-size:1.05rem; line-height:1.3; }
.woocommerce div.product .related.products .price { min-height:1.6em; margin-bottom:0; font-size:1.08rem; line-height:1.45; white-space:nowrap; }
.woocommerce div.product .related.products .button { display:flex; min-height:46px; align-items:center; justify-content:center; margin-top:16px!important; padding:10px 14px; }

.msg-story-section { background: var(--msg-sand); }
.msg-story-grid { display: grid; grid-template-columns: 1fr 1fr; align-items: center; gap: clamp(50px,7vw,100px); }
.msg-story-art { position:relative; min-height:440px; overflow:hidden; border-radius:var(--msg-radius); background:linear-gradient(145deg,#d6ddcd,#a6b99b); }
.msg-story-art::before { content:""; position:absolute; left:18%; bottom:-6%; width:48%; height:74%; border-radius:50% 50% 8% 8%; background:linear-gradient(135deg,#cfc2ae,#95836d); box-shadow:var(--msg-shadow); }
.msg-story-art span { position:absolute; left:43%; bottom:58%; width:84px; height:210px; border-radius:100% 0 100% 0; background:var(--msg-forest); transform-origin:bottom left; }
.msg-story-art span:nth-child(1) { transform:rotate(-48deg); }
.msg-story-art span:nth-child(2) { transform:rotate(-7deg) scale(1.15); }
.msg-story-art span:nth-child(3) { transform:rotate(39deg) scale(.9); }

.msg-content-shell,.msg-shop-shell { min-height:55vh; padding-block:52px 82px; }
.msg-entry { max-width:860px; }
.msg-entry-content > * { max-width:100%; }

.msg-shop-intro { max-width:780px; margin-bottom:38px; }
.msg-shop-intro h1 { margin-bottom:.32em; font-size:clamp(2.4rem,4vw,4rem); }
.msg-shop-intro p { max-width:660px; font-size:1.05rem; }
.msg-category-hero { display:grid; grid-template-columns:minmax(320px,.78fr) minmax(0,1.22fr); min-height:350px; margin-bottom:42px; overflow:hidden; border:1px solid rgba(47,79,62,.1); border-radius:20px; background:var(--msg-sand); box-shadow:var(--msg-shadow); }
.msg-category-hero-copy { min-width:0; display:flex; flex-direction:column; justify-content:center; padding:clamp(34px,5vw,64px); }
.msg-category-hero-copy h1 { max-width:100%; margin-bottom:.35em; font-size:clamp(2.35rem,3.2vw,3.65rem); line-height:1.06; }
.msg-category-hero-copy p { max-width:500px; margin-bottom:0; font-size:1.03rem; }
.msg-category-hero-media { min-width:0; }
.msg-category-hero-media img { display:block; width:100%; height:100%; min-height:350px; object-fit:cover; object-position:68% center; }
.woocommerce .woocommerce-result-count { margin:0 0 28px; }
.woocommerce .woocommerce-ordering { margin:0 0 28px; }
.woocommerce .woocommerce-ordering select { min-height:44px; padding:0 42px 0 14px; border:1px solid rgba(47,79,62,.18); border-radius:8px; background:#fff; color:var(--msg-graphite); }

.msg-footer { padding-top:70px; background-color:var(--msg-forest); background-image:radial-gradient(circle at 82% 0%,rgba(123,170,109,.18),transparent 34%),linear-gradient(135deg,#263f34 0%,#2f4f3e 52%,#355c49 100%); color:rgba(255,255,255,.75); }
.msg-footer-grid { display:grid; grid-template-columns:1.3fr .8fr 1fr 1fr; gap:50px; }
.msg-footer h2 { color:#fff; font-size:1rem; }
.msg-brand-footer { margin-bottom:24px; color:#fff; }
.msg-footer address { font-style:normal; }
.msg-footer-menu,.msg-footer .msg-menu { display:block; padding:0; margin:0; list-style:none; }
.msg-footer-menu li,.msg-footer .msg-menu li { margin-bottom:8px; }
.msg-footer-menu a,.msg-footer .msg-menu a { color:rgba(255,255,255,.75); }
.msg-footer-cta { display:inline-flex; padding-bottom:3px; color:#fff; border-bottom:1px solid var(--msg-green); font-family:"Poppins",sans-serif; font-size:.82rem; font-weight:600; }
.msg-footer-bottom { display:flex; justify-content:space-between; gap:20px; margin-top:60px; padding-block:24px; border-top:1px solid rgba(255,255,255,.12); font-size:.76rem; }

/* Calculadora Frenet clara no produto e no carrinho. */
.msg-product-freight,.msg-cart-freight { width:100%; margin:18px 0 0; padding:18px; border:1px solid rgba(47,79,62,.18); border-radius:14px; background:linear-gradient(145deg,#fff 0%,rgba(207,227,198,.22) 100%); box-shadow:0 10px 28px rgba(47,79,62,.06); }
.msg-freight-heading { display:flex; align-items:flex-start; gap:12px; margin-bottom:14px; }
.msg-freight-icon { display:grid; flex:0 0 38px; width:38px; height:38px; place-items:center; border-radius:10px; background:var(--msg-sage); color:var(--msg-forest); }
.msg-freight-icon svg { width:23px; height:23px; }
.msg-freight-heading h2 { margin:0 0 2px; color:var(--msg-forest); font-size:1.12rem; line-height:1.25; }
.msg-freight-heading p { margin:0; color:var(--msg-graphite); font-size:.9rem; line-height:1.4; }
#shipping-simulator.msg-product-freight { display:block!important; }
#shipping-simulator.msg-product-freight form.cart { display:grid!important; grid-template-columns:minmax(0,1fr) auto; align-items:end; gap:8px 10px; margin:0!important; }
#shipping-simulator.msg-product-freight form.cart::before,#shipping-simulator.msg-product-freight form.cart::after { display:none!important; content:none!important; }
#shipping-simulator.msg-product-freight .msg-freight-heading,#shipping-simulator.msg-product-freight .msg-product-freight__helper,#shipping-simulator.msg-product-freight .msg-freight-lookup,#shipping-simulator.msg-product-freight #loading_simulator,#shipping-simulator.msg-product-freight #simulator-data { grid-column:1 / -1; }
#shipping-simulator.msg-product-freight label { display:grid; gap:6px; margin:0; font-weight:700; }
.msg-postcode-label { color:var(--msg-forest); font-size:.9rem; }
#shipping-simulator.msg-product-freight #zipcode,.msg-cart-freight input { width:100%; min-height:46px; margin:0; padding:10px 13px; border:1px solid rgba(47,79,62,.28); border-radius:8px; background:#fff; color:var(--msg-graphite); font:inherit; }
#shipping-simulator.msg-product-freight #zipcode:focus,.msg-cart-freight input:focus { outline:2px solid rgba(123,170,109,.38); outline-offset:1px; border-color:var(--msg-green); }
#shipping-simulator.msg-product-freight #idx-calc_shipping,.msg-cart-freight__form button { min-height:46px; margin:0; padding:10px 20px; border:0; border-radius:8px; background:var(--msg-green); color:#fff; font:700 .95rem "Poppins",sans-serif; white-space:nowrap; }
#shipping-simulator.msg-product-freight #idx-calc_shipping:disabled { cursor:not-allowed; opacity:.48; }
#shipping-simulator.msg-product-freight br.clear,#shipping-simulator.msg-product-freight form.cart > br { display:none; }
.msg-product-freight__helper { margin:0; color:#7b5f19; font-size:.88rem; }
.msg-freight-lookup { width:max-content; color:var(--msg-forest); font-size:.84rem; text-decoration:underline; text-underline-offset:3px; }
#shipping-simulator.msg-product-freight #simulator-data { margin-top:6px; }
#shipping-simulator.msg-product-freight #shipping-rates { display:grid; gap:8px; margin:0; padding:0; list-style:none; }
#shipping-simulator.msg-product-freight #shipping-rates > li { margin:0; padding:0; }
.msg-freight-rate { display:flex; align-items:center; gap:11px; width:100%; min-height:58px; margin:0; padding:11px 13px; border:1px solid rgba(47,79,62,.18); border-radius:10px; background:#fff; cursor:pointer; transition:border-color .18s,background .18s,box-shadow .18s; }
.msg-freight-rate:hover { border-color:var(--msg-green); }
.msg-freight-rate.is-selected,.msg-freight-rate:has(input:checked) { border-color:var(--msg-green); background:rgba(207,227,198,.26); box-shadow:0 0 0 2px rgba(123,170,109,.12); }
.msg-freight-rate input { flex:0 0 auto; width:18px!important; height:18px!important; min-height:0!important; margin:0!important; accent-color:var(--msg-green); }
.msg-freight-rate > span { display:flex; flex:1; flex-wrap:wrap; align-items:center; justify-content:space-between; gap:3px 12px; }
.msg-freight-rate strong { color:var(--msg-forest); font-size:.92rem; }
.msg-freight-rate span span { color:var(--msg-graphite); font-size:.88rem; }
.msg-freight-rate small { flex-basis:100%; color:var(--msg-graphite); font-size:.78rem; }
.msg-freight-choice-note { margin:9px 0 0; color:var(--msg-graphite); font-size:.78rem; }
.msg-cart-freight { margin:0 0 18px; }
.msg-cart-freight__form { display:grid; gap:7px; }
.msg-cart-freight__form > label { color:var(--msg-forest); font-weight:700; font-size:.9rem; }
.msg-cart-freight__fields { display:grid; grid-template-columns:minmax(0,1fr) auto; gap:8px; }
.msg-cart-freight__status { margin:13px 0 8px; color:var(--msg-graphite); font-size:.88rem; }
.msg-cart-freight__status:empty,.msg-cart-freight__rates:empty { display:none; }
.msg-cart-freight__rates { display:grid; gap:8px; }

@media (max-width: 980px) {
  .msg-products-section .woocommerce ul.products { grid-template-columns:repeat(2,minmax(0,1fr)); }
  .msg-topbar-inner > span { display:none; }
  .msg-topbar-inner { justify-content:flex-end; }
  .msg-menu-toggle { display:block; margin-left:auto; }
  .msg-primary-nav { position:absolute; top:100%; left:0; right:0; display:none; padding:24px 20px 30px; background:var(--msg-off-white); box-shadow:var(--msg-shadow); }
  .msg-primary-nav.is-open { display:block; }
  .msg-menu { display:block; }
  .msg-menu li { margin:12px 0; }
  .msg-menu-parent { justify-content:space-between; }
  .msg-submenu-toggle { width:40px; height:40px; border:1px solid rgba(47,79,62,.14); border-radius:8px; }
  .msg-submenu { position:static; display:none; min-width:0; padding:6px 0 2px 14px; border:0; border-radius:0; background:transparent; box-shadow:none; opacity:1; visibility:visible; transform:none; transition:none; }
  .msg-submenu::before { display:none; }
  .msg-submenu li { margin:4px 0; }
  .msg-submenu a { padding:9px 12px; background:rgba(207,227,198,.3); white-space:normal; }
  .msg-has-submenu:hover .msg-submenu,.msg-has-submenu:focus-within .msg-submenu { display:none; transform:none; }
  .msg-has-submenu.is-open .msg-submenu { display:block; }
  .msg-hero-grid { min-height:auto; grid-template-columns:1.08fr .92fr; gap:20px; }
  .msg-hero-media { min-height:400px; padding-block:34px; }
  .msg-hero-media img { min-height:400px; }
  .msg-benefits-grid { grid-template-columns:repeat(2,1fr); }
  .msg-benefits-grid > div:nth-child(2) { border-right:0; }
  .msg-category-grid { grid-template-columns:repeat(2,1fr); }
  .msg-category-hero { grid-template-columns:minmax(280px,.9fr) minmax(0,1.1fr); min-height:320px; }
  .msg-category-hero-media img { min-height:320px; }
  .woocommerce ul.products { grid-template-columns:repeat(2,1fr); }
  .woocommerce div.product { grid-template-columns:1fr; }
  .single-product.woocommerce div.product { grid-template-columns:1fr; }
  .msg-footer-grid { grid-template-columns:1fr 1fr; }
}

@media (max-width: 700px) {
  #shipping-simulator.msg-product-freight form.cart,.msg-cart-freight__fields { grid-template-columns:1fr; }
  #shipping-simulator.msg-product-freight #idx-calc_shipping,.msg-cart-freight__form button { width:100%; }
  .msg-product-freight,.msg-cart-freight { padding:15px; border-radius:12px; }
  .msg-purchase-panel { padding:14px; border-radius:14px; }
  html { max-width:100%; overflow-x:hidden; -webkit-text-size-adjust:100%; text-size-adjust:100%; }
  body { max-width:100%; min-width:0; overflow-x:hidden; font-size:16px; }
  .msg-container { width:min(calc(100% - 28px),var(--msg-container)); }
  .msg-topbar { display:none; }
  .msg-nav-row { min-height:68px; gap:10px; }
  .msg-brand-word { font-size:1.7rem; }
  .msg-bundled-logo-frame { width:145px; }
  .msg-bundled-logo { width:145px; }
  .msg-nav-actions .msg-icon-link:first-child { display:none; }
  .msg-hero-grid { display:block; }
  .msg-hero-copy { padding:38px 0 24px; }
  .msg-hero-copy h1 { font-size:clamp(2.25rem,11vw,3.15rem); }
  .msg-hero-copy p { font-size:1rem; }
  .msg-hero-actions { gap:14px; margin-top:18px; }
  .msg-hero-media { min-height:240px; padding:0 0 28px; }
  .msg-hero-media img { min-height:240px; height:240px; border-radius:20px; object-position:62% center; }
  .msg-benefits-grid { grid-template-columns:1fr 1fr; }
  .msg-benefits-grid > div { min-height:98px; padding:14px 10px; }
  .msg-benefits-grid span { font-size:1.45rem; }
  .msg-section-heading { align-items:flex-start; }
  .msg-section-heading > .msg-text-link { display:none; }
  .msg-category-grid { grid-template-columns:repeat(2,1fr); gap:18px 12px; }
  .msg-category-copy { padding:14px 14px 16px; }
  .msg-category-copy small { display:none; }
  .msg-category-hero { display:block; min-height:0; margin-bottom:30px; border-radius:16px; }
  .msg-category-hero-copy { padding:28px 24px 24px; }
  .msg-category-hero-copy h1 { font-size:clamp(2.2rem,11vw,3.15rem); }
  .msg-category-hero-media img { min-height:0; height:220px; object-position:70% center; }
  .msg-shop-intro { margin-bottom:28px; }
  .msg-content-shell,.msg-shop-shell { padding-block:36px 64px; }
  .single-product .msg-shop-shell { width:min(calc(100% - 24px),var(--msg-container)); padding-top:16px; }
  .single-product.woocommerce div.product { display:flex; width:100%; min-width:0; flex-direction:column; gap:22px; }
  .single-product.woocommerce div.product > * { min-width:0; max-width:100%; }
  .single-product.woocommerce div.product div.images.woocommerce-product-gallery,
  .single-product.woocommerce div.product div.images.msg-product-gallery { width:100%!important; max-width:100%; }
  .msg-product-gallery__stage { width:100%; border-radius:14px; }
  .msg-product-gallery__zoom { top:10px; right:10px; width:38px; height:38px; }
  .msg-product-gallery__thumbs { width:100%; gap:8px; }
  .msg-product-gallery__thumb { width:58px; height:58px; flex-basis:58px; border-radius:8px; }
  .single-product.woocommerce div.product .product_title { margin-bottom:14px; overflow-wrap:anywhere; font-size:clamp(1.85rem,9vw,2.35rem); }
  .single-product.woocommerce div.product .summary > p.price { margin-bottom:14px; font-size:1.28rem!important; }
  .single-product.woocommerce div.product form.cart { width:100%; }
  .single-product.woocommerce div.product form.cart table.variations { width:100%; table-layout:fixed; }
  .single-product.woocommerce div.product form.cart table.variations select,
  .single-product.woocommerce div.product form.cart .quantity .qty,
  .single-product .msg-shipping-calculator input { font-size:16px!important; }
  .single-product.woocommerce div.product form.cart .woocommerce-variation-add-to-cart { width:100%; grid-template-columns:64px minmax(0,1fr); }
  .single-product.woocommerce div.product form.cart .quantity .qty { width:64px; }
  .single-product .msg-shipping-calculator { width:100%; max-width:100%; overflow:hidden; }
  .single-product .product_meta { overflow-wrap:anywhere; }
  .single-product.woocommerce div.product div.images .flex-control-thumbs li { width:62px!important; flex-basis:62px; }
  .single-product.woocommerce div.product div.images .flex-control-thumbs img { width:62px; height:62px; }
  .woocommerce div.product .related.products { margin-top:26px; padding-top:26px; }
  .woocommerce div.product .related.products ul.products { gap:14px; }
  .woocommerce div.product .related.products ul.products li.product { padding:11px; border-radius:14px; }
  .woocommerce div.product .related.products .msg-loop-image-frame { margin-bottom:10px; }
  .woocommerce div.product .related.products .woocommerce-loop-product__title { font-size:.9rem; }
  .woocommerce div.product .related.products .price { font-size:.84rem; }
  .woocommerce div.product .related.products .button { min-height:42px; padding:8px 7px; font-size:.76rem; }
  .woocommerce div.product form.cart table.variations,
  .woocommerce div.product form.cart table.variations tbody,
  .woocommerce div.product form.cart table.variations tr,
  .woocommerce div.product form.cart table.variations th.label,
  .woocommerce div.product form.cart table.variations td.value {
    display:block!important;
    width:100%!important;
  }
  .woocommerce div.product form.cart table.variations tr { margin-bottom:14px; }
  .woocommerce div.product form.cart table.variations th.label { padding:0 0 7px!important; text-align:left; }
  .woocommerce div.product form.cart table.variations td.value { padding:0!important; overflow:hidden; }
  .woocommerce div.product form.cart table.variations select { display:block; width:100%!important; min-width:0; }
  .woocommerce div.product form.cart table.variations .reset_variations { display:inline-block; margin:8px 0 0; }
  .woocommerce div.product div.images .flex-control-thumbs { gap:8px; }
  .woocommerce div.product div.images .flex-control-thumbs li { width:62px!important; flex-basis:62px; }
  .woocommerce div.product div.images .flex-control-thumbs img { width:62px; height:62px; border-radius:8px!important; }
  .msg-gallery-arrow { width:38px; height:38px; }
  .msg-gallery-arrow--prev { left:10px; }
  .msg-gallery-arrow--next { right:10px; }
  .msg-story-grid { grid-template-columns:1fr; }
  .msg-story-art { min-height:340px; }
  .msg-footer-grid { grid-template-columns:1fr; gap:34px; }
  .msg-footer-bottom { flex-direction:column; margin-top:38px; }
}
