/* Unified marketplace components for all AWPCP listing and WooCommerce
   product loops on Chattanooga Music Scene. Scoped to rendered card classes;
   native category, item data, options and checkout remain unchanged. */
body.cms-marketplace-structural #classiwrapper .cms-unified-product-feed,
body.cms-marketplace-structural .cms-unified-woo ul.products:not(.cms-unified-product-feed) {
  box-sizing:border-box;
  width:100%;
  max-width:100%;
  display:grid !important;
  grid-template-columns:minmax(0,1fr) !important;
  gap:16px !important;
  align-items:stretch;
  margin-inline:auto !important;
}
body.cms-marketplace-structural #classiwrapper .cms-unified-product-feed > .fixfloat {
  display:none !important;
}
/* AWPCP still assigns its native card a two-column parent grid with an
   ID-specific rule. Override that parent, not only the new inner grid. */
body.cms-marketplace-structural #classiwrapper
.cms-unified-product-feed > .awpcp-listing-excerpt.cms-market-card {
  display:block !important;
  grid-template-columns:none !important;
  grid-template-rows:none !important;
  width:100% !important;
  min-width:0 !important;
}
body.cms-marketplace-structural #classiwrapper
.cms-unified-product-feed > .awpcp-listing-excerpt.cms-market-card > .cms-market-card-main,
body.cms-marketplace-structural #classiwrapper
.cms-unified-product-feed > .awpcp-listing-excerpt.cms-market-card > .cms-market-card-footer {
  grid-column:auto !important;
  grid-row:auto !important;
  width:100% !important;
  max-width:100% !important;
}
body.cms-marketplace-structural .cms-unified-woo ul.products > li.product.cms-market-card {
  float:none !important;
  display:block !important;
  width:100% !important;
  margin:0 !important;
}
body.cms-marketplace-structural .cms-market-card {
  box-sizing:border-box !important;
  display:block !important;
  float:none !important;
  clear:none !important;
  width:100% !important;
  max-width:100% !important;
  min-height:0 !important;
  margin:0 !important;
  padding:0 !important;
  border:1px solid #d9cab1 !important;
  border-top:4px solid #c39454 !important;
  border-radius:10px !important;
  background:#fffbf1 !important;
  box-shadow:0 8px 22px rgba(39,48,31,.12) !important;
  overflow:hidden;
  text-align:left !important;
}
body.cms-marketplace-structural .cms-market-card::before,
body.cms-marketplace-structural .cms-market-card > .cms-market-card-main::before {
  display:none !important;
  content:none !important;
}
body.cms-marketplace-structural .cms-market-card-main {
  display:grid !important;
  grid-template-columns:clamp(106px,11.8vw,156px) minmax(0,1fr) !important;
  grid-template-rows:1fr !important;
  align-items:stretch !important;
  min-height:152px !important;
  width:100% !important;
  max-width:100% !important;
  height:auto !important;
  margin:0 !important;
  padding:0 !important;
  border:0 !important;
  background:transparent !important;
  color:inherit !important;
  text-decoration:none !important;
  box-shadow:none !important;
}
body.cms-marketplace-structural .cms-market-card-media {
  box-sizing:border-box !important;
  grid-column:1 !important;
  grid-row:1 !important;
  display:flex !important;
  flex-direction:column;
  justify-content:center !important;
  align-items:center !important;
  width:100% !important;
  min-width:0 !important;
  max-width:100% !important;
  min-height:152px !important;
  height:auto !important;
  padding:12px !important;
  margin:0 !important;
  border:0 !important;
  border-right:1px solid #d9cab1 !important;
  border-radius:0 !important;
  background:#f4ecd9 !important;
}
body.cms-marketplace-structural .cms-market-card-media > a {
  box-sizing:border-box;
  display:flex !important;
  justify-content:center !important;
  align-items:center !important;
  width:100% !important;
  max-width:100% !important;
  min-height:0 !important;
  height:auto !important;
  padding:0 !important;
  margin:0 !important;
  background:transparent !important;
}
body.cms-marketplace-structural .cms-market-card-media img {
  box-sizing:border-box !important;
  display:block !important;
  width:124px !important;
  max-width:100% !important;
  height:auto !important;
  aspect-ratio:1 / 1 !important;
  max-height:124px !important;
  min-width:0 !important;
  min-height:0 !important;
  padding:7px !important;
  margin:auto !important;
  object-fit:contain !important;
  border:1px solid #ded1b9 !important;
  border-radius:6px !important;
  background:#fffdf8 !important;
}
body.cms-marketplace-structural .cms-market-card-media:not(:has(img))::before {
  content:"NO PHOTO" !important;
  display:flex !important;
  box-sizing:border-box;
  align-items:center;
  justify-content:center;
  width:124px;
  max-width:100%;
  aspect-ratio:1 / 1;
  border:1px solid #ded1b9;
  border-radius:6px;
  background:#fffdf8;
  padding:7px;
  color:#756c5d;
  font:800 .67rem/1.5 system-ui,sans-serif;
  letter-spacing:.09em;
  text-align:center;
}
body.cms-marketplace-structural .cms-market-card-copy {
  box-sizing:border-box !important;
  display:block !important;
  grid-column:2 !important;
  grid-row:1 !important;
  width:100% !important;
  max-width:100% !important;
  min-width:0 !important;
  padding:clamp(1rem,1.45vw,1.45rem) !important;
  margin:0 !important;
  background:transparent !important;
  border:0 !important;
  text-align:left !important;
  color:#354239;
}
body.cms-marketplace-structural .cms-market-card-copy::before {
  content:"LOCAL MUSIC LISTING" !important;
  display:block !important;
  margin:0 0 .5rem !important;
  color:#9c492f !important;
  font:800 .7rem/1.25 system-ui,sans-serif !important;
  letter-spacing:.11em !important;
}
body.cms-marketplace-structural .cms-market-card--gear .cms-market-card-copy::before {
  content:"MUSIC GEAR" !important;
}
body.cms-marketplace-structural .cms-market-card-copy :is(.awpcp-listing-title,h2.woocommerce-loop-product__title) {
  box-sizing:border-box !important;
  display:block !important;
  width:100% !important;
  max-width:100% !important;
  margin:0 0 .6rem !important;
  padding:0 !important;
  border:0 !important;
  color:#19483b !important;
  font:750 clamp(1.22rem,1.5vw,1.48rem)/1.25 Georgia,serif !important;
  letter-spacing:-.012em !important;
  text-align:left !important;
  overflow-wrap:break-word;
}
body.cms-marketplace-structural .cms-market-card-copy :is(.awpcp-listing-title,h2.woocommerce-loop-product__title)::before,
body.cms-marketplace-structural .cms-market-card-copy :is(.awpcp-listing-title,h2.woocommerce-loop-product__title)::after {
  display:none !important;
  content:none !important;
}
body.cms-marketplace-structural .cms-market-card-copy .awpcp-listing-title a {
  color:inherit !important;
  text-decoration:none !important;
}
body.cms-marketplace-structural .cms-market-card-copy :is(.awpcp-listing-excerpt-content,.cms-unified-product-excerpt) {
  box-sizing:border-box !important;
  display:-webkit-box !important;
  -webkit-box-orient:vertical;
  -webkit-line-clamp:3;
  line-clamp:3;
  width:100% !important;
  max-width:none !important;
  min-width:0 !important;
  overflow:hidden !important;
  margin:0 !important;
  padding:0 !important;
  background:transparent !important;
  color:#354239 !important;
  font:450 clamp(.96rem,1vw,1.06rem)/1.58 system-ui,sans-serif !important;
  text-align:left !important;
  overflow-wrap:break-word;
}
body.cms-marketplace-structural .cms-market-card-footer {
  box-sizing:border-box !important;
  display:grid !important;
  grid-template-columns:minmax(0,1fr) auto !important;
  align-items:center !important;
  gap:.65rem .8rem !important;
  width:100% !important;
  min-height:74px !important;
  padding:.8rem clamp(1rem,1.45vw,1.45rem) !important;
  margin:0 !important;
  border:0 !important;
  border-top:1px solid #d9cab1 !important;
  border-radius:0 !important;
  background:#f4ecd9 !important;
  box-shadow:none !important;
}
body.cms-marketplace-structural .cms-market-card-facts {
  display:flex !important;
  flex-direction:column !important;
  gap:.15rem !important;
  align-self:center;
  min-width:0 !important;
}
body.cms-marketplace-structural .cms-market-card-facts :is(.cms-market-card-price,.price) {
  display:block !important;
  margin:0 !important;
  padding:0 !important;
  color:#9c492f !important;
  font:800 1.1rem/1.34 system-ui,sans-serif !important;
}
body.cms-marketplace-structural .cms-market-card-submeta {
  display:block !important;
  color:#625b4b !important;
  font:500 .81rem/1.42 system-ui,sans-serif !important;
}
body.cms-marketplace-structural .cms-market-card-footer > .cms-market-card-button {
  box-sizing:border-box !important;
  display:inline-flex !important;
  align-items:center !important;
  justify-content:center !important;
  flex:0 0 auto !important;
  width:160px !important;
  min-width:160px !important;
  max-width:160px !important;
  height:44px !important;
  min-height:44px !important;
  margin:0 !important;
  padding:0 12px !important;
  border-radius:6px !important;
  border:1px solid #123b32 !important;
  background:#245b4c !important;
  color:#fff9ed !important;
  font:750 .86rem/1.35 system-ui,sans-serif !important;
  letter-spacing:0 !important;
  text-align:center !important;
  text-decoration:none !important;
  text-transform:none !important;
  box-shadow:none !important;
  white-space:normal !important;
}
body.cms-marketplace-structural .cms-market-card-footer > .cms-market-card-button:hover,
body.cms-marketplace-structural .cms-market-card-footer > .cms-market-card-button:focus-visible {
  background:#9c492f !important;
  color:#fff !important;
}
body.cms-marketplace-structural .cms-market-card-native-details[hidden] {
  display:none !important;
}
@media(max-width:600px) {
  body.cms-marketplace-structural .cms-market-card-main {
    grid-template-columns:92px minmax(0,1fr) !important;
    min-height:136px !important;
  }
  body.cms-marketplace-structural .cms-market-card-media {
    min-height:136px !important;
    padding:8px !important;
  }
  body.cms-marketplace-structural .cms-market-card-media img {
    width:72px !important;
    height:auto !important;
    max-height:72px !important;
    padding:4px !important;
  }
  body.cms-marketplace-structural .cms-market-card-media:not(:has(img))::before {
    width:72px;
    padding:4px;
  }
  body.cms-marketplace-structural .cms-market-card-copy {
    padding:.8rem !important;
  }
  body.cms-marketplace-structural .cms-market-card-footer {
    padding:.75rem .8rem !important;
  }
  body.cms-marketplace-structural .cms-market-card-footer > .cms-market-card-button {
    font-size:.86rem !important;
    padding:0 12px !important;
  }
}
