/* MDW catalog component. All rules are deliberately scoped to avoid Natura/ECT collisions. */
.mdw-catalog,
.mdw-catalog *,
.mdw-catalog *::before,
.mdw-catalog *::after {
  box-sizing: border-box;
}

.mdw-catalog {
  --mdw-catalog-accent: #82592f;
  --mdw-catalog-accent-hover: #6b4826;
  --mdw-catalog-border: #ddd4c8;
  --mdw-catalog-surface: #fff;
  --mdw-catalog-muted-surface: #f8f5f0;
  --mdw-catalog-text: #29231e;
  --mdw-catalog-muted: #6c6259;
  position: relative;
  z-index: 0;
  display: block;
  width: 100%;
  max-width: 100%;
  margin: 0;
  padding: 0 9px 24px;
  clear: both;
  color: var(--mdw-catalog-text);
  isolation: isolate;
}

.mdw-catalog__grid {
  display: grid;
  grid-template-columns: minmax(0, 1fr);
  gap: 24px;
  width: 100%;
  margin: 0;
  padding: 0;
  list-style: none;
  align-items: stretch;
}

.mdw-catalog__card {
  position: relative;
  float: none;
  display: flex;
  flex-direction: column;
  min-width: 0;
  width: auto;
  height: 100%;
  margin: 0;
  padding: 0;
  overflow: hidden;
  border: 1px solid var(--mdw-catalog-border);
  border-radius: 8px;
  background: var(--mdw-catalog-surface);
  box-shadow: 0 2px 8px rgba(45, 35, 25, 0.09);
  text-align: left;
  transition: border-color 160ms ease, box-shadow 160ms ease, transform 160ms ease;
}

.mdw-catalog__card:hover {
  border-color: #c7b6a4;
  box-shadow: 0 8px 22px rgba(45, 35, 25, 0.14);
  transform: translateY(-2px);
}

.mdw-catalog__media,
.mdw-catalog__image-link,
.mdw-catalog__placeholder {
  position: relative;
  float: none;
  display: flex;
  width: 100%;
  height: 210px;
  min-height: 210px;
  margin: 0;
  padding: 0;
  overflow: hidden;
  align-items: center;
  justify-content: center;
  background: var(--mdw-catalog-muted-surface);
  text-decoration: none;
}

.mdw-catalog__image {
  position: static;
  float: none;
  display: block;
  width: 100%;
  height: 100%;
  max-width: 100%;
  max-height: none;
  margin: 0;
  padding: 12px;
  border: 0;
  object-fit: contain;
  object-position: center;
  transition: transform 180ms ease;
}

.mdw-catalog__image-link:hover .mdw-catalog__image,
.mdw-catalog__image-link:focus-visible .mdw-catalog__image {
  transform: scale(1.035);
}

.mdw-catalog__placeholder svg {
  display: block;
  width: 48px;
  height: 48px;
  color: #a29a92;
}

.mdw-catalog__body {
  float: none;
  display: flex;
  flex: 1 1 auto;
  flex-direction: column;
  min-width: 0;
  width: 100%;
  margin: 0;
  padding: 18px;
}

.mdw-catalog .mdw-catalog__title,
.product_listing .mdw-catalog .mdw-catalog__title {
  display: block;
  margin: 0 0 10px;
  padding: 0;
  color: var(--mdw-catalog-text) !important;
  -webkit-text-fill-color: var(--mdw-catalog-text) !important;
  opacity: 1 !important;
  text-shadow: none !important;
  font-family: inherit;
  font-size: 18px;
  font-weight: 700;
  line-height: 1.35;
  overflow-wrap: anywhere;
  text-transform: none;
}

.mdw-catalog__title-link {
  display: block;
  color: var(--mdw-catalog-text) !important;
  -webkit-text-fill-color: var(--mdw-catalog-text) !important;
  text-decoration: none;
}

.mdw-catalog__description {
  display: -webkit-box;
  margin: 0 0 12px;
  overflow: hidden;
  color: var(--mdw-catalog-muted) !important;
  -webkit-text-fill-color: var(--mdw-catalog-muted) !important;
  font-size: 14px;
  line-height: 1.5;
  -webkit-box-orient: vertical;
  -webkit-line-clamp: 3;
}

.mdw-catalog__title-link:hover .mdw-catalog__title,
.mdw-catalog__title-link:focus-visible .mdw-catalog__title {
  color: var(--mdw-catalog-accent);
}

.mdw-catalog__badge {
  float: none;
  display: inline-flex;
  width: fit-content;
  max-width: 100%;
  margin: 0 0 10px;
  padding: 4px 9px;
  border-radius: 999px;
  align-items: center;
  font-size: 12px;
  font-weight: 700;
  line-height: 1.25;
  white-space: normal;
}

.mdw-catalog__badge--download {
  background: #e7f1ff;
  color: #1d4e89;
}

.mdw-catalog__badge--in-stock {
  background: #e3f4e8;
  color: #246b36;
}

.mdw-catalog__badge--low-stock {
  background: #fff2cd;
  color: #7b5900;
}

.mdw-catalog__badge--out-of-stock {
  background: #fae5e5;
  color: #8a2f2f;
}

.mdw-catalog__price {
  margin: auto 0 16px;
  padding: 4px 0 0;
  color: var(--mdw-catalog-accent) !important;
  -webkit-text-fill-color: var(--mdw-catalog-accent) !important;
  opacity: 1 !important;
  text-shadow: none !important;
  font-size: 24px;
  font-weight: 700;
  line-height: 1.2;
}

.mdw-catalog__availability {
  display: flex;
  width: 100%;
  margin: 0;
  padding: 12px 0 0;
  border-top: 1px solid #eee8e1;
  gap: 10px;
  align-items: center;
  justify-content: space-between;
}

.mdw-catalog__availability-label {
  color: var(--mdw-catalog-muted);
  font-size: 13px;
  line-height: 1.4;
}

.mdw-catalog__actions {
  float: none;
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  width: 100%;
  margin: 0;
  padding: 15px 18px 18px;
  border-top: 1px solid #eee8e1;
  gap: 9px;
  background: var(--mdw-catalog-muted-surface);
}

.mdw-catalog__form {
  float: none;
  display: block;
  width: 100%;
  margin: 0;
  padding: 0;
}

.mdw-catalog .mdw-catalog__button,
.mdw-catalog .mdw-catalog__details {
  position: static;
  float: none;
  display: flex;
  width: 100%;
  min-width: 0;
  min-height: 42px;
  margin: 0;
  padding: 10px 14px;
  border: 1px solid var(--mdw-catalog-accent);
  border-radius: 5px;
  align-items: center;
  justify-content: center;
  font: inherit;
  font-size: 14px;
  font-weight: 700;
  line-height: 1.3;
  text-align: center;
  text-decoration: none;
  text-transform: none;
  cursor: pointer;
  appearance: none;
  -webkit-appearance: none;
}

.mdw-catalog .mdw-catalog__button {
  background: var(--mdw-catalog-accent);
  color: #fff;
}

.mdw-catalog .mdw-catalog__button:hover,
.mdw-catalog .mdw-catalog__button:focus-visible {
  border-color: var(--mdw-catalog-accent-hover);
  background: var(--mdw-catalog-accent-hover);
  color: #fff;
}

.mdw-catalog .mdw-catalog__details {
  background: #fff;
  color: var(--mdw-catalog-accent);
}

.mdw-catalog .mdw-catalog__details:hover,
.mdw-catalog .mdw-catalog__details:focus-visible {
  background: #efe7de;
  color: var(--mdw-catalog-accent-hover);
}

.mdw-catalog__image-link:focus-visible,
.mdw-catalog__title-link:focus-visible,
.mdw-catalog .mdw-catalog__button:focus-visible,
.mdw-catalog .mdw-catalog__details:focus-visible {
  outline: 3px solid rgba(130, 89, 47, 0.35);
  outline-offset: 2px;
}

.mdw-catalog__empty {
  width: 100%;
  margin: 0;
  padding: 18px;
  border: 1px solid #ead498;
  border-radius: 6px;
  background: #fff8df;
  color: #6f5412;
  font-size: 14px;
  font-weight: 700;
}

@media (min-width: 640px) {
  .mdw-catalog__grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}

@media (min-width: 900px) {
  .mdw-catalog__grid[data-columns="3"] {
    grid-template-columns: repeat(3, minmax(0, 1fr));
  }

  .mdw-catalog__grid[data-columns="4"] {
    grid-template-columns: repeat(4, minmax(0, 1fr));
  }
}

@media (max-width: 639px) {
  .mdw-catalog {
    padding-right: 6px;
    padding-left: 6px;
  }

  .mdw-catalog__media,
  .mdw-catalog__image-link,
  .mdw-catalog__placeholder {
    height: 240px;
  }
}

@media (prefers-reduced-motion: reduce) {
  .mdw-catalog__card,
  .mdw-catalog__image {
    transition: none;
  }
}

/* Version 1 image-first catalog polish. */
.mdw-catalog__card {
  background: rgba(255, 255, 255, var(--mdw-panel-catalog-opacity, .96));
}
.mdw-catalog__media,
.mdw-catalog__image-link,
.mdw-catalog__placeholder {
  height: 250px;
  min-height: 250px;
}
.mdw-catalog__image { padding: 7px; }
@media (min-width: 900px) {
  .mdw-catalog__grid[data-columns="2"] .mdw-catalog__media,
  .mdw-catalog__grid[data-columns="2"] .mdw-catalog__image-link,
  .mdw-catalog__grid[data-columns="2"] .mdw-catalog__placeholder {
    height: clamp(300px, 25vw, 390px);
    min-height: 300px;
  }
  .mdw-catalog__grid[data-columns="3"] .mdw-catalog__media,
  .mdw-catalog__grid[data-columns="3"] .mdw-catalog__image-link,
  .mdw-catalog__grid[data-columns="3"] .mdw-catalog__placeholder { height: 245px; min-height: 245px; }
  .mdw-catalog__grid[data-columns="4"] .mdw-catalog__media,
  .mdw-catalog__grid[data-columns="4"] .mdw-catalog__image-link,
  .mdw-catalog__grid[data-columns="4"] .mdw-catalog__placeholder { height: 205px; min-height: 205px; }
}


/* Internal Version 1 solid-surface and image-fill finalization. */
.mdw-catalog__card {
  background:#fff !important;
}
.mdw-catalog__media,
.mdw-catalog__image-link,
.mdw-catalog__placeholder {
  width:100% !important;
  height:auto !important;
  min-height:0 !important;
  aspect-ratio:16 / 9;
  padding:0 !important;
  background:#f6f2ec;
}
.mdw-catalog__image {
  display:block !important;
  width:100% !important;
  height:100% !important;
  max-width:none !important;
  max-height:none !important;
  margin:0 !important;
  padding:0 !important;
  object-fit:contain !important;
  object-position:center !important;
}
@media (min-width:900px) {
  .mdw-catalog__grid[data-columns="2"] .mdw-catalog__media,
  .mdw-catalog__grid[data-columns="2"] .mdw-catalog__image-link,
  .mdw-catalog__grid[data-columns="2"] .mdw-catalog__placeholder {
    height:auto !important;
    min-height:0 !important;
    aspect-ratio:16 / 9;
  }
}

@media (max-width: 520px) {
  .mdw-catalog__actions {
    grid-template-columns: 1fr;
  }
}

/* MDWCart card density is controlled by Store Design, independent of host templates. */
.mdw-catalog__grid[data-card-size="compact"] .mdw-catalog__body{padding:13px 14px}
.mdw-catalog__grid[data-card-size="compact"] .mdw-catalog__title{font-size:16px;margin-bottom:7px}
.mdw-catalog__grid[data-card-size="compact"] .mdw-catalog__description{font-size:12px;line-height:1.45;margin-bottom:9px;-webkit-line-clamp:2}
.mdw-catalog__grid[data-card-size="compact"] .mdw-catalog__badge{font-size:11px;margin-bottom:7px;padding:3px 7px}
.mdw-catalog__grid[data-card-size="compact"] .mdw-catalog__price{font-size:20px;margin-bottom:11px}
.mdw-catalog__grid[data-card-size="compact"] .mdw-catalog__availability{padding-top:9px}
.mdw-catalog__grid[data-card-size="compact"] .mdw-catalog__actions{padding:11px 14px 13px;gap:7px}
.mdw-catalog__grid[data-card-size="compact"] .mdw-catalog__button,
.mdw-catalog__grid[data-card-size="compact"] .mdw-catalog__details{min-height:36px;padding:8px 11px;font-size:13px}

.mdw-catalog__grid[data-card-size="large"]{gap:28px}
.mdw-catalog__grid[data-card-size="large"] .mdw-catalog__body{padding:21px}
.mdw-catalog__grid[data-card-size="large"] .mdw-catalog__title{font-size:20px;margin-bottom:11px}
.mdw-catalog__grid[data-card-size="large"] .mdw-catalog__description{font-size:15px;line-height:1.55;margin-bottom:14px;-webkit-line-clamp:4}
.mdw-catalog__grid[data-card-size="large"] .mdw-catalog__badge{font-size:13px;padding:5px 10px}
.mdw-catalog__grid[data-card-size="large"] .mdw-catalog__price{font-size:27px;margin-bottom:18px}
.mdw-catalog__grid[data-card-size="large"] .mdw-catalog__availability{padding-top:14px}
.mdw-catalog__grid[data-card-size="large"] .mdw-catalog__actions{padding:17px 21px 20px;gap:10px}
.mdw-catalog__grid[data-card-size="large"] .mdw-catalog__button,
.mdw-catalog__grid[data-card-size="large"] .mdw-catalog__details{min-height:46px;padding:11px 16px;font-size:15px}

/* WebTools 0.4.65 — host storefront button palette. */
.mdw-catalog{
  --mdw-catalog-accent:var(--mdw-button-bg,var(--mdw-cart-store-accent,#82592f));
  --mdw-catalog-accent-hover:var(--mdw-button-hover,var(--mdw-cart-store-accent,#6b4826));
  --mdw-catalog-secondary:#2b3740;
  --mdw-catalog-secondary-hover:#374650;
}
.mdw-catalog .mdw-catalog__button{
  border-color:var(--mdw-catalog-accent)!important;
  background:var(--mdw-catalog-accent)!important;
  color:#fff!important;
  -webkit-text-fill-color:#fff!important;
  box-shadow:0 4px 12px rgba(0,0,0,.12)!important;
}
.mdw-catalog .mdw-catalog__button:hover,
.mdw-catalog .mdw-catalog__button:focus-visible{
  border-color:var(--mdw-catalog-accent-hover)!important;
  background:var(--mdw-catalog-accent-hover)!important;
  color:#fff!important;
}
.mdw-catalog .mdw-catalog__details{
  border-color:#465661!important;
  background:var(--mdw-catalog-secondary)!important;
  color:#f4f7f8!important;
  -webkit-text-fill-color:#f4f7f8!important;
  box-shadow:0 4px 12px rgba(0,0,0,.10)!important;
}
.mdw-catalog .mdw-catalog__details:hover,
.mdw-catalog .mdw-catalog__details:focus-visible{
  border-color:var(--mdw-catalog-accent)!important;
  background:var(--mdw-catalog-secondary-hover)!important;
  color:#fff!important;
}

/* ============================================================
   MDWCart Version 1 — compact catalog presentation pass
   Keeps the existing component contract while reducing oversized cards.
   ============================================================ */
.mdw-catalog{padding-left:0!important;padding-right:0!important;padding-bottom:18px!important}
.mdw-catalog__grid{gap:18px!important}
.mdw-catalog__card{
  border-radius:7px!important;
  border-color:rgba(205,190,172,.60)!important;
  box-shadow:0 10px 24px rgba(0,0,0,.13)!important;
}
.mdw-catalog__card:hover{
  border-color:#c28a5d!important;
  box-shadow:0 15px 30px rgba(0,0,0,.19)!important;
  transform:translateY(-2px);
}
.mdw-catalog__body{padding:13px 14px 11px!important}
.mdw-catalog .mdw-catalog__title,
.product_listing .mdw-catalog .mdw-catalog__title{
  margin-bottom:6px!important;
  font-size:16px!important;
  line-height:1.28!important;
}
.mdw-catalog__description{
  margin-bottom:8px!important;
  font-size:12.5px!important;
  line-height:1.42!important;
  -webkit-line-clamp:2!important;
}
.mdw-catalog__price{
  margin:2px 0 9px!important;
  padding:0!important;
  font-size:20px!important;
}
.mdw-catalog__availability{
  padding-top:8px!important;
  gap:8px!important;
}
.mdw-catalog__availability-label{font-size:12px!important}
.mdw-catalog__badge{margin-bottom:0!important;padding:3px 7px!important;font-size:10.5px!important}
.mdw-catalog__actions{
  padding:9px 14px 11px!important;
  gap:7px!important;
}
.mdw-catalog .mdw-catalog__button,
.mdw-catalog .mdw-catalog__details{
  min-height:35px!important;
  padding:7px 10px!important;
  font-size:12.5px!important;
  border-radius:4px!important;
}
/* Homepage featured products are meant to scan quickly, not read like full cards. */
.mdw-catalog--featured .mdw-catalog__description{display:none!important}
.mdw-catalog--featured .mdw-catalog__availability-label{display:none!important}
.mdw-catalog--featured .mdw-catalog__availability{justify-content:flex-start!important;border-top:0!important;padding-top:0!important}
.mdw-catalog--featured .mdw-catalog__price{margin-top:0!important}
@media(max-width:639px){
  .mdw-catalog__grid{gap:14px!important}
  .mdw-catalog__body{padding:12px!important}
  .mdw-catalog__actions{padding:9px 12px 11px!important}
}

/* ============================================================
   MDWCart Version 1 — public catalog density polish
   Cart-owned sizing: compact enough for general storefronts without relying
   on a host website theme to shrink oversized cards.
   ============================================================ */
.mdw-catalog__grid{
  gap:16px;
}
.mdw-catalog__media,
.mdw-catalog__image-link,
.mdw-catalog__placeholder{
  aspect-ratio:16 / 8.15!important;
}
.mdw-catalog__body{
  padding:13px 14px!important;
}
.mdw-catalog .mdw-catalog__title,
.product_listing .mdw-catalog .mdw-catalog__title{
  margin-bottom:6px!important;
  font-size:16px!important;
  line-height:1.28!important;
}
.mdw-catalog__description{
  margin-bottom:8px!important;
  font-size:12.5px!important;
  line-height:1.42!important;
  -webkit-line-clamp:2!important;
}
.mdw-catalog__badge{
  margin-bottom:6px!important;
  padding:3px 7px!important;
  font-size:11px!important;
}
.mdw-catalog__price{
  margin:2px 0 9px!important;
  padding-top:0!important;
  font-size:20px!important;
}
.mdw-catalog__availability{
  padding-top:8px!important;
}
.mdw-catalog__availability-label{
  font-size:12px!important;
}
.mdw-catalog__actions{
  padding:9px 14px 11px!important;
  gap:7px!important;
}
.mdw-catalog .mdw-catalog__button,
.mdw-catalog .mdw-catalog__details{
  min-height:35px!important;
  padding:7px 10px!important;
  font-size:12.5px!important;
}
/* Compact remains a deliberately tighter choice in Store Design. */
.mdw-catalog__grid[data-card-size="compact"] .mdw-catalog__body{padding:10px 12px!important}
.mdw-catalog__grid[data-card-size="compact"] .mdw-catalog__title{font-size:15px!important;margin-bottom:5px!important}
.mdw-catalog__grid[data-card-size="compact"] .mdw-catalog__description{font-size:11.5px!important;margin-bottom:6px!important}
.mdw-catalog__grid[data-card-size="compact"] .mdw-catalog__price{font-size:18px!important;margin-bottom:7px!important}
.mdw-catalog__grid[data-card-size="compact"] .mdw-catalog__actions{padding:8px 12px 9px!important}
.mdw-catalog__grid[data-card-size="compact"] .mdw-catalog__button,
.mdw-catalog__grid[data-card-size="compact"] .mdw-catalog__details{min-height:33px!important;padding:6px 9px!important;font-size:12px!important}
@media(max-width:639px){
  .mdw-catalog__media,
  .mdw-catalog__image-link,
  .mdw-catalog__placeholder{aspect-ratio:16 / 9!important}
}
