.shop-product-photo{display:block;width:100%;height:100%;object-fit:contain;padding:16px;background:#fff}.cart-thumb .shop-product-photo{padding:5px}.shop-empty-products{padding:32px 0;color:#718175;line-height:1.7}.shop-order-submit{width:100%;min-height:52px;margin-top:24px}.shop-order-submit:disabled,.js-add-cart:disabled{opacity:.45;cursor:default}.shop-order-error{margin:18px 0;color:#a44b5b;background:#fff1f2;border:1px solid #f0d7dc;border-radius:12px;padding:14px;line-height:1.6;font-size:13px}.shop-order-error[hidden]{display:none}.shop-live-summary .product-back{margin-top:20px;display:block}.shop-cod{background:#edf3ed;border-radius:13px;padding:18px;margin:22px 0}.shop-cod p{font-size:13px;color:#6f7c70;line-height:1.6;margin:8px 0 0}.shop-honeypot{position:absolute;left:-10000px;top:auto;width:1px;height:1px;overflow:hidden}.shop-order-success{max-width:700px;text-align:center;padding:40px 24px}.shop-success-check{display:grid;place-items:center;width:64px;height:64px;border-radius:50%;background:#e3eee6;color:#315e43;font-size:29px;margin:0 auto 25px}.shop-order-success h1{font-family:var(--serif);font-size:40px;margin-bottom:20px}.shop-order-success p{font-size:15px;line-height:1.7;color:#788578;margin:16px 0}.shop-order-number{font-size:21px;overflow-wrap:anywhere}.shop-order-confirmation{display:grid;gap:12px;padding:22px;margin:24px 0;border-radius:15px;background:#edf3ed}.shop-order-success .btn{min-height:50px}.checkout-form .field textarea{min-height:96px}.checkout-form input[type=checkbox]{flex:0 0 18px}.shop-live-summary .summary-line span{overflow-wrap:anywhere}.shop-live-summary .summary-line strong{white-space:nowrap}
@media(max-width:640px){.shop-order-success h1{font-size:31px}.shop-order-number{font-size:18px}.shop-order-success{padding:28px 14px}}

.product-info>.lead{white-space:pre-line;overflow-wrap:anywhere}
/* Product status, labels and expanded detail content */
.product-tags{position:absolute;left:12px;top:12px;z-index:3;display:flex;gap:7px;flex-wrap:wrap;max-width:calc(100% - 24px)}.product-tags.detail{position:absolute}.product-tag,.product-detail-tag{display:inline-flex;align-items:center;min-height:25px;padding:4px 9px;border-radius:999px;background:#fff;border:1px solid #dce6df;font-size:10px;font-weight:700;letter-spacing:.04em;text-transform:uppercase;color:#2e5d46;box-shadow:0 5px 16px #24433312}.tag-sale{background:#fff2f3;color:#a33f54;border-color:#f0d6dc}.tag-new{background:#edf7f1}.tag-bestseller{background:#f7f1e7;color:#826735;border-color:#eadfc6}.tag-limited{background:#fff6e8;color:#98662e;border-color:#f0dfbd}.product-image{position:relative}.product-price-old{text-decoration:line-through;color:#8b978f;font-size:.88em;margin-right:8px}.product-price.sale{color:#9d4455}.product-stock-note{display:block;font-size:12px;color:#9d4455;margin-top:7px}.product-card.is-out .quick-add{opacity:.38;cursor:not-allowed}.product-unavailable{display:flex;flex-direction:column;gap:4px;padding:12px 14px;border-radius:12px;background:#faf4f3;color:#8e4f55;margin:14px 0}.product-unavailable span{font-size:12px}.product-detail-sections{margin-top:36px;border-top:1px solid #e3e9e4;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:0}.product-detail-sections section{padding:26px 28px 26px 0;border-bottom:1px solid #e3e9e4}.product-detail-sections section:nth-child(even){padding-left:28px;border-left:1px solid #e3e9e4}.product-detail-sections h2{font-size:18px;margin:0 0 10px}.product-detail-sections p{white-space:pre-line;line-height:1.75;margin:0;color:#52665a}.product-price-wrap{display:flex;align-items:baseline;gap:8px}.brand-card p,.listing-hero p{white-space:pre-line}
@media(max-width:700px){.product-detail-sections{grid-template-columns:1fr}.product-detail-sections section,.product-detail-sections section:nth-child(even){padding:20px 0;border-left:0}.product-tags{left:9px;top:9px}.product-tag{font-size:9px;padding:3px 7px}}

/* v13: real product photos only. Decorative packshot mocks are never layered over uploaded images. */
.shop-product-photo-wrap{position:absolute;inset:0;display:block;background:#fff}
.shop-product-photo-wrap .shop-product-photo{position:absolute;inset:0;width:100%;height:100%;object-fit:contain;padding:16px;background:#fff;z-index:2}
.shop-product-placeholder{position:absolute;inset:0;display:grid;place-items:center;background:#f4f1ec;color:#7d8a84;z-index:1}
.shop-product-placeholder span{display:grid;place-items:center;width:72px;height:72px;border-radius:50%;background:#fff;border:1px solid rgba(35,65,57,.10);font:500 30px/1 var(--serif);color:#496158}
.shop-product-photo-wrap:not(.is-error)>.shop-product-placeholder{visibility:hidden}
.shop-product-photo-wrap.is-error>.shop-product-placeholder{visibility:visible}
.cart-thumb .shop-product-photo-wrap,.product-main-visual .shop-product-photo-wrap{position:absolute;inset:0}

/* v14 storefront card density + complete metadata */
.product-tags{max-width:calc(100% - 70px);gap:6px;row-gap:6px;align-items:flex-start}
.product-tag{min-height:23px;padding:3px 8px;font-size:9px;line-height:1.15;white-space:nowrap}
.product-context{display:flex;align-items:center;gap:6px;flex-wrap:wrap;margin-top:8px;color:#839089;font:500 9px/1.35 var(--sans);letter-spacing:.055em;text-transform:uppercase}
.product-context i{font-style:normal;color:#b1bbb6}
.product-card .skin-dots{align-items:center;row-gap:6px}
.skin-dot.skin-all::before{background:conic-gradient(from 35deg,#78B99A 0 20%,#82B9D8 20% 40%,#E5A77F 40% 60%,#D2B982 60% 80%,#DFA0AF 80% 100%);box-shadow:0 0 0 1px rgba(35,65,57,.07)}
.product-bottom{min-height:37px;padding-right:50px;align-items:center}
.product-price-pair{display:flex;align-items:baseline;gap:8px;flex-wrap:wrap;min-width:0}
.product-price-pair .product-price-old{margin-right:0}
.product-card>.quick-add{right:3px;bottom:0}
@media(max-width:620px){
  .product-tags{max-width:calc(100% - 52px);gap:4px;row-gap:4px;left:9px;top:9px}
  .product-tag{min-height:19px;padding:3px 5px;font-size:6.5px;letter-spacing:.025em}
  .product-context{margin-top:6px;gap:4px;font-size:7.5px;letter-spacing:.035em}
  .product-card .skin-dots{row-gap:4px}
  .product-bottom{padding-right:42px;min-height:34px}
  .product-price-pair{gap:5px}
}


/* v15: show every selected product badge on catalog cards. */
.product-tags-card{
  display:grid;
  grid-template-columns:repeat(2,max-content);
  align-content:start;
  justify-content:start;
  gap:6px;
  row-gap:6px;
  max-width:calc(100% - 72px);
}
.product-tags-card .product-tag{
  margin:0;
  max-width:100%;
  min-height:22px;
  padding:3px 8px;
  font-size:8.5px;
  line-height:1.1;
  white-space:nowrap;
  box-sizing:border-box;
}
/* Product detail keeps the full label text and its existing flexible layout. */
.product-tags.detail{display:flex;grid-template-columns:none;max-width:calc(100% - 24px)}
@media(max-width:620px){
  .product-tags-card{
    grid-template-columns:repeat(2,max-content);
    max-width:calc(100% - 48px);
    gap:4px;
    row-gap:4px;
  }
  .product-tags-card .product-tag{
    min-height:18px;
    padding:2px 5px;
    font-size:6.2px;
    letter-spacing:.015em;
  }
}

/* v16: reset legacy absolute positioning on catalog badges.
   .product-tag is positioned absolutely in shop.css for the old single-badge design.
   Catalog cards now use a wrapped badge group, so every badge must participate in layout. */
.product-image .product-tags-card{
  position:absolute;
  left:12px;
  top:12px;
  right:auto;
  bottom:auto;
  z-index:5;
  display:flex;
  flex-wrap:wrap;
  align-items:flex-start;
  align-content:flex-start;
  justify-content:flex-start;
  gap:6px;
  max-width:calc(100% - 76px);
  pointer-events:none;
}
.product-image .product-tags-card .product-tag{
  position:static !important;
  inset:auto !important;
  left:auto !important;
  top:auto !important;
  right:auto !important;
  bottom:auto !important;
  z-index:auto;
  display:inline-flex;
  flex:0 0 auto;
  align-items:center;
  justify-content:center;
  margin:0;
  min-height:22px;
  max-width:100%;
  padding:3px 8px;
  white-space:nowrap;
  line-height:1.1;
  font-size:8.5px;
  letter-spacing:.035em;
  box-sizing:border-box;
}
@media(max-width:620px){
  .product-image .product-tags-card{
    left:9px;
    top:9px;
    gap:4px;
    max-width:calc(100% - 52px);
  }
  .product-image .product-tags-card .product-tag{
    min-height:18px;
    padding:2px 5px;
    font-size:6.4px;
    letter-spacing:.02em;
  }
}


/* v17: clearer catalog add-to-cart CTA. */
.product-card>.quick-add.quick-add-text{
  width:auto;
  min-width:88px;
  height:38px;
  padding:0 14px;
  border-radius:12px;
  border:1px solid var(--green);
  background:var(--green);
  color:#fff;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  font:600 11px/1 var(--sans);
  letter-spacing:.01em;
  box-shadow:0 5px 14px rgba(35,65,57,.10);
}
.product-card>.quick-add.quick-add-text:hover{background:var(--green-2);border-color:var(--green-2);color:#fff}
.product-card>.quick-add.quick-add-text:disabled{background:#e7ece9;border-color:#d9e1dd;color:#98a49f;box-shadow:none;opacity:1}
.product-card .product-bottom{padding-right:104px}
@media(max-width:620px){
  .product-card>.quick-add.quick-add-text{min-width:72px;height:34px;padding:0 10px;border-radius:10px;font-size:9px}
  .product-card .product-bottom{padding-right:84px}
}
