/* Layon 1.3.7: compact storefront card; catalog, favorites, editorial and history. */
body.layon-natural:not(.staff-page) .product-card {
  display: flex;
  flex-direction: column;
  align-self: start;
  min-width: 0;
  position: relative;
  padding: 9px;
  background: var(--layon-paper);
  border-radius: var(--layon-card-radius);
  box-shadow: none;
  transition: box-shadow .18s ease;
}
.product-card .card-visual { position: relative; min-width: 0; }
.product-card .card-media { width: 100%; }
body.layon-natural:not(.staff-page) .product-card .product-image {
  display: flex;
  width: 100%;
  aspect-ratio: var(--layon-product-image-ratio);
  padding: 0;
  background: transparent;
  border-radius: calc(var(--layon-card-radius) - 2px);
}
body.layon-natural:not(.staff-page) .product-card .product-image img {
  display: block;
  width: 100%;
  height: 100%;
  max-height: none;
  object-fit: contain;
  mix-blend-mode: normal;
  transform: none;
}
.product-card .card-visual > .favorite-form {
  position: absolute;
  top: 0;
  right: 0;
  z-index: 4;
  margin: 0;
}
.product-card .card-visual > .product-badges {
  position: absolute;
  top: 4px;
  left: 4px;
  z-index: 2;
  max-width: calc(100% - 52px);
  margin: 0;
}
.product-card-content { flex: 0 1 auto; min-width: 0; padding-top: 12px; }
.product-card .product-meta {
  display: -webkit-box;
  -webkit-box-orient: vertical;
  -webkit-line-clamp: 2;
  overflow: hidden;
  height: auto;
  margin: 0 0 4px;
  color: var(--layon-secondary);
  font-size: 12px;
  line-height: 17px;
  letter-spacing: 0;
  text-transform: none;
  overflow-wrap: anywhere;
}
body.layon-natural:not(.staff-page) .product-card .card-title {
  display: -webkit-box;
  -webkit-box-orient: vertical;
  -webkit-line-clamp: 3;
  overflow: hidden;
  height: auto;
  min-height: 0;
  margin: 0 0 8px;
  font-size: 14px;
  font-weight: 400;
  line-height: 21px;
  letter-spacing: 0;
  overflow-wrap: anywhere;
}
.product-card .card-title a:hover { color: var(--layon-accent); text-decoration: underline; }
.product-card .product-bottom { display: flex; flex-direction: column; align-items: flex-start; gap: 6px; margin: 0; }
.product-card .product-bottom .price { font-size: 16px; font-weight: 500; line-height: 24px; white-space: normal; overflow-wrap: anywhere; }
.product-card .mini-btn { display: flex; align-items: center; justify-content: center; width: 100%; margin-top: 12px; min-height: 44px; border-radius: var(--layon-button-radius); }
.recent-strip { align-items: stretch; padding: 8px 6px 16px; }
.recent-strip .product-card { flex: 0 0 180px; }
.recent-page { grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 40px 20px; }
.product-card.recent-card .product-card-content { padding-top: 10px; }
.product-card.recent-card .product-bottom .price { font-size: 14px; line-height: 21px; }
body.layon-natural:not(.staff-page) .unavailable-favorite .card-title { margin-top: 54px; }
.unavailable-favorite .favorite-form { position: absolute; right: 9px; top: 9px; }
body.layon-natural:not(.staff-page) .product-card:focus-within { box-shadow: var(--layon-card-shadow); }
@media (hover: hover) and (pointer: fine) {
  body.layon-natural:not(.staff-page) .product-card:hover { box-shadow: var(--layon-card-shadow); }
}
@media (max-width: 1050px) {
  .recent-page { grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 32px 16px; }
}
@media (max-width: 720px) {
  .recent-page { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 28px 12px; }
  .product-card .product-bottom .price { font-size: 15px; }
}
@media (prefers-reduced-motion: reduce) {
  body.layon-natural:not(.staff-page) .product-card { transition: none; }
}

.product-card-content>.product-badges{margin:0 0 6px;gap:4px}
.product-card-content>.product-badges .product-badge{font-size:12px;line-height:1.4;padding:3px 6px;letter-spacing:0;text-transform:none;white-space:normal}

/* Source-backed price DTO only; no inferred discounts or badge facts. */
body.layon-natural:not(.staff-page) .product-price-display{display:flex;align-items:baseline;flex-wrap:wrap;gap:5px 8px;min-width:0;font-variant-numeric:tabular-nums}
body.layon-natural:not(.staff-page) .product-price-current{white-space:nowrap}
body.layon-natural:not(.staff-page) .product-price-old{font-size:12px;font-weight:400;color:var(--layon-secondary);white-space:nowrap;text-decoration-thickness:1px}
body.layon-natural:not(.staff-page) .product-price-discount{align-self:center;font-size:11px;font-weight:600;line-height:1.4;padding:2px 5px;border-radius:4px;background:var(--layon-primary);color:#fff;white-space:nowrap}
body.layon-natural:not(.staff-page) .product-detail .detail-price .product-price-old{font-size:16px}
body.layon-natural:not(.staff-page) .product-detail .detail-price .product-price-discount{font-size:12px;padding:3px 6px}
body.layon-natural:not(.staff-page) .product-detail .detail-image{position:relative}
body.layon-natural:not(.staff-page) .product-card .card-visual>.product-badges,body.layon-natural:not(.staff-page) .product-detail .detail-image>.product-badges{position:absolute;top:8px;left:8px;z-index:2;display:flex;align-items:flex-start;flex-direction:column;gap:4px;max-width:calc(100% - 60px);margin:0;pointer-events:none}
body.layon-natural:not(.staff-page) .product-detail .detail-image>.product-badges{max-width:calc(100% - 16px)}
body.layon-natural:not(.staff-page) .product-badges .product-badge{font-size:11px;line-height:1.35;padding:3px 6px;letter-spacing:0;text-transform:none;border-radius:4px;box-shadow:0 1px 3px #0000000a;white-space:normal;pointer-events:none}
body.layon-natural:not(.staff-page) .product-badges .badge-sage{background:var(--layon-primary);color:#fff;border-color:transparent}
body.layon-natural:not(.staff-page) .product-badges .badge-sand{background:#f7f7f7;color:var(--layon-ink);border-color:#e7e7e7}
body.layon-natural:not(.staff-page) .product-photos[data-video-active] .detail-image>.product-badges{display:none}
@media(max-width:650px){body.layon-natural:not(.staff-page) .product-card .card-visual>.product-badges{top:4px;left:4px;max-width:calc(100% - 52px)}body.layon-natural:not(.staff-page) .product-badges .product-badge{font-size:10px;padding:3px 5px}body.layon-natural:not(.staff-page) .product-price-display{gap:4px 6px}}

@media(max-width:650px){body.layon-natural:not(.staff-page) .product-card .product-price-old{order:3;flex-basis:100%}}

/* The complete wrapped product title is one pointer and keyboard target. */
body.layon-natural:not(.staff-page) .product-card .card-title a { display: block; }

/* Equal row heights place price facts on the same baseline without fixed title blanks. */
body.layon-natural:not(.staff-page) .product-card{align-self:stretch}
body.layon-natural:not(.staff-page) .product-card .product-card-content{display:flex;flex-direction:column;flex:1 1 auto}
body.layon-natural:not(.staff-page) .product-card .product-bottom{margin-top:auto}
body.layon-natural:not(.staff-page) .lh-home .lh-rail .product-card-content{display:flex!important}
body.layon-natural:not(.staff-page) .lh-home .lh-rail .product-bottom{margin-top:auto!important}
body.layon-natural:not(.staff-page) .product-card .product-price-display{flex-wrap:nowrap;gap:4px;align-items:baseline}
body.layon-natural:not(.staff-page) .product-card .product-price-old{order:0;flex-basis:auto}
body.layon-natural:not(.staff-page) .product-card .product-price-discount{padding:2px 3px}
@media(max-width:700px){body.layon-natural:not(.staff-page) .product-card .product-bottom .price{font-size:14px;line-height:24px}body.layon-natural:not(.staff-page) .product-card .product-price-old{font-size:12px}}
body.layon-natural:not(.staff-page) .product-card .product-price-old-currency{display:none}
body.layon-natural:not(.staff-page) .product-card .product-price-old{line-height:1.2}

/* Dense price facts receive enough room, rather than smaller or clipped numbers. */
body.layon-natural:not(.staff-page) .product-card .product-price-display{gap:2px}
body.layon-natural:not(.staff-page) .product-card .product-price-discount{padding:2px}
@media(max-width:700px){body.layon-natural:not(.staff-page) .lh-home .lh-rail:has(>.product-card .price-facts-wide){grid-auto-columns:calc(100% - 8px)}}
body.layon-natural:not(.staff-page) .recent-strip:has(.price-facts-wide) .product-card{flex-basis:280px}
@media(max-width:360px){body.layon-natural:not(.staff-page) .lh-home .lh-rail{grid-auto-columns:calc(100% - 8px)}}

/* Desktop keeps breathing room between complete price facts. */
@media(min-width:701px){body.layon-natural:not(.staff-page) .product-card .product-price-display{gap:8px}body.layon-natural:not(.staff-page) .product-card .product-price-discount{padding:2px 5px}}

/* Dense price facts also fit the three-column tablet breakpoints. */
@media(min-width:701px){body.layon-natural:not(.staff-page) .real-grid:has(>.product-card .price-facts-wide),body.layon-natural:not(.staff-page) .recent-page:has(>.product-card .price-facts-wide){grid-template-columns:repeat(auto-fill,minmax(280px,1fr))}body.layon-natural:not(.staff-page) .lh-home .lh-rail:has(>.product-card .price-facts-wide){grid-auto-columns:max(280px,calc((100% - 72px)/4))}}


/* Published review facts only. No empty slot; retain the auto-aligned price row. */
body.layon-natural:not(.staff-page) .product-card .card-review{display:flex;flex-wrap:wrap;align-items:center;align-self:flex-start;gap:2px 5px;max-width:100%;min-height:24px;margin:0 0 6px;padding:1px 0;color:var(--layon-secondary);font-size:12px;font-weight:400;line-height:18px;letter-spacing:0;text-decoration:none;font-variant-numeric:tabular-nums}
body.layon-natural:not(.staff-page) .product-card .card-review-rating{display:inline-flex;align-items:center;gap:4px;flex:none;color:var(--layon-ink);white-space:nowrap}
body.layon-natural:not(.staff-page) .product-card .card-review-star{width:14px;height:14px;flex:none;fill:var(--layon-rating-gold);stroke:none}
body.layon-natural:not(.staff-page) .product-card .card-review-score{font-weight:500}
body.layon-natural:not(.staff-page) .product-card .card-review-count{white-space:nowrap}
body.layon-natural:not(.staff-page) .product-card .card-review:hover .card-review-count{color:var(--layon-accent);text-decoration:underline;text-underline-offset:3px}
body.layon-natural:not(.staff-page) .product-card .card-review:focus-visible{outline:2px solid var(--layon-primary);outline-offset:2px;border-radius:3px}

/* Keep complete price facts readable in two-column mobile lists instead of widening the whole list. */
@media(max-width:720px){
  body.layon-natural:not(.staff-page) .real-grid:not(.journal-grid):not(.brand-directory) .product-card .product-price-display,
  body.layon-natural:not(.staff-page) .recent-page .product-card .product-price-display{flex-wrap:wrap;column-gap:6px;row-gap:3px}
  body.layon-natural:not(.staff-page) .real-grid:not(.journal-grid):not(.brand-directory) .product-card .product-price-current,
  body.layon-natural:not(.staff-page) .recent-page .product-card .product-price-current{flex-basis:100%;max-width:100%;white-space:normal}
}

/* Align the main price across each mobile product row, whether or not a discount follows. */
@media(max-width:720px){
  body.layon-natural:not(.staff-page) .real-grid:not(.journal-grid):not(.brand-directory) .product-card .product-bottom,
  body.layon-natural:not(.staff-page) .recent-page .product-card .product-bottom{min-height:48px;justify-content:flex-start}
}
