/* Equipment archive and physical product pages. Shared materials/buttons keep their paint. */
body.lt-material-system .lt-shop--device { grid-template-columns: minmax(0, 1fr); gap: 24px; }
body.lt-material-system .lt-shop--device .lt-shopgrid,
body.lt-material-system .lt-pdp--physical .lt-shopgrid { grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 20px; }
body.lt-material-system :is(.lt-shop--device,.lt-pdp--physical) .lt-card.lt-card--physical {
  display: flex; flex-direction: column; height: 100%; align-self: stretch; min-width: 0;
}
body.lt-material-system :is(.lt-shop--device,.lt-pdp--physical) .lt-card.lt-card--physical .lt-card__media {
  flex: none; width: 100%; height: auto; aspect-ratio: 1; min-height: 0; border-right: 0; border-bottom: 1px solid #424b4e;
}
body.lt-material-system :is(.lt-shop--device,.lt-pdp--physical) .lt-card.lt-card--physical .lt-card__media img {
  width: 100%; height: 100%; padding: 8px; object-fit: contain; filter: none;
}
body.lt-material-system :is(.lt-shop--device,.lt-pdp--physical) .lt-card.lt-card--physical .lt-card__body {
  display: flex; flex-direction: column; flex: 1; min-width: 0; padding: 16px; gap: 10px;
}
body.lt-material-system :is(.lt-shop--device,.lt-pdp--physical) .lt-card.lt-card--physical h3 {
  display: block; font-size: 16px; line-height: 1.5; min-height: 3em; margin: 0;
  height: auto; max-height: none; -webkit-line-clamp: unset; overflow: visible; overflow-wrap: anywhere;
}
body.lt-material-system :is(.lt-shop--device,.lt-pdp--physical) .lt-card.lt-card--physical .lt-card__buy {
  margin-top: auto; padding-top: 12px; gap: 8px; flex-wrap: nowrap; align-items: center;
}
body.lt-material-system :is(.lt-shop--device,.lt-pdp--physical) .lt-card.lt-card--physical .lt-price { font-size: 16px; white-space: nowrap; }
body.lt-material-system .lt-shop--device [data-lt-shop-toolbar] { align-items: end; }
body.lt-material-system .lt-shop--device [data-lt-shop-toolbar] .lt-filters { align-items: end; }
body.lt-material-system .lt-shop--device [data-lt-shop-toolbar] .lt-filters__extra { min-height: 46px; }
body.lt-material-system .lt-shop--device .lt-shop-resultcount { display: block; color: #c5ccce; margin-bottom: 16px; }
body.lt-material-system .lt-shop--device .lt-shopbar .lt-select { width: 168px; }
@media (min-width: 861px) {
  body.lt-material-system .lt-shop--device [data-lt-shop-toolbar] .lt-shopbar { flex-basis: 168px; }
}

body.lt-material-system .lt-pdp--physical { padding-block: 24px 48px; }
body.lt-material-system .lt-pdp--physical .lt-crumbs { margin-bottom: 28px; }
body.lt-material-system .lt-pdp--physical .lt-physical-grid { grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); gap: 40px; margin: 0 0 36px; }
body.lt-material-system .lt-pdp--physical :is(.lt-pdp__gallery,.lt-physical-summary) { min-width: 0; }
body.lt-material-system .lt-pdp--physical .lt-physical-image { width: 100%; max-width: 540px; min-width: 0; margin-inline: auto; }
body.lt-material-system .lt-pdp--physical .lt-physical-image img { padding: 16px; }
body.lt-material-system .lt-pdp--physical .lt-pdp__thumbs {
  display: flex; flex-wrap: nowrap; gap: 8px; width: 100%; max-width: 540px; min-width: 0; margin: 12px auto 0; padding: 2px 2px 8px;
  overflow-x: auto; scroll-snap-type: x proximity; scrollbar-width: thin; scrollbar-color: #8c704e #171d1f;
}
body.lt-material-system .lt-pdp--physical .lt-pdp__thumbs li { flex: 0 0 64px; scroll-snap-align: start; }
body.lt-material-system .lt-pdp--physical .lt-pdp__thumb { display: grid; place-items: center; width: 64px; height: 64px; padding: 3px; background: #f4f3ef; }
body.lt-material-system .lt-pdp--physical .lt-pdp__thumb img { width: 100%; height: 100%; object-fit: contain; }
body.lt-material-system .lt-pdp--physical .lt-physical-summary h1 { font-size: clamp(30px, 3.1vw, 44px); line-height: 1.16; margin: 10px 0 20px; text-wrap: balance; }
body.lt-material-system .lt-pdp--physical .lt-pdp__price { display: flex; align-items: baseline; flex-wrap: wrap; gap: 8px 14px; margin: 0 0 20px; }
body.lt-material-system .lt-pdp--physical .lt-pdp__price :is(del,ins) { white-space: nowrap; }
body.lt-material-system .lt-pdp--physical .lt-pdp__price ins { background: none; text-decoration: none; }
body.lt-material-system .lt-pdp--physical .lt-pdp__price del { color: #aab5b8; }
body.lt-material-system .lt-pdp--physical .lt-pdp__excerpt { margin: 0 0 24px; color: #c5ccce; }
body.lt-material-system .lt-pdp--physical .lt-physical-order { border: 1px solid #515a5d; background: #151c1e; border-radius: 6px; padding: 20px; }
body.lt-material-system .lt-pdp--physical .lt-physical-order__title { margin: 0 0 16px; font: 600 17px/1.4 var(--font); }
body.lt-material-system .lt-pdp--physical .lt-physical-order form.cart { display: flex; align-items: stretch; gap: 12px; margin: 0 0 20px; float: none; }
body.lt-material-system .lt-pdp--physical .lt-physical-order .quantity { flex: 0 0 80px; margin: 0; }
body.lt-material-system .lt-pdp--physical .lt-physical-order .qty { width: 100%; height: 54px; padding: 10px 8px; font-size: 16px; text-align: center; }
body.lt-material-system .lt-pdp--physical .lt-physical-order .single_add_to_cart_button {
  display: inline-flex; flex: 1 1 160px; flex-direction: row; align-items: center; justify-content: center;
  float: none; width: auto; min-width: 0; margin: 0; white-space: nowrap;
  --lt-btn-height: 54px; --lt-btn-size: 16px; --lt-btn-padding: 12px 18px;
}
body.lt-material-system .lt-pdp--physical .lt-physical-order .stock { margin: 0 0 16px; }
body.lt-material-system .lt-pdp--physical .lt-physical-order .variations_form { display: block; }
body.lt-material-system .lt-pdp--physical .lt-physical-order .woocommerce-variation-add-to-cart { display: flex; flex-wrap: wrap; gap: 12px; }
body.lt-material-system .lt-pdp--physical .lt-physical-order .grouped_form { display: block; }
body.lt-material-system .lt-pdp--physical .lt-physical-delivery { align-items: start; margin: 0; font-size: 13px; }
body.lt-material-system .lt-pdp--physical .lt-physical-delivery .ti { flex: none; line-height: 1.6; }
body.lt-material-system .lt-pdp--physical .lt-physical-summary > .lt-card__meta { overflow-wrap: anywhere; margin-top: 16px; }
body.lt-material-system .lt-pdp--physical .lt-tabs__nav { display: flex; flex-wrap: wrap; gap: 8px; }
body.lt-material-system .lt-pdp--physical .lt-tabs__nav button { flex: 0 1 auto; font-size: 14px; }
body.lt-material-system .lt-pdp--physical .lt-tabs__pane :is(table,iframe) { max-width: 100%; }
body.lt-material-system .lt-pdp--physical .lt-tabs__pane table { width: 100%; table-layout: fixed; }
body.lt-material-system .lt-pdp--physical .lt-physical-related { margin-top: 40px; }

/* Named button layer owns important dimensions. Keep 44px targets on these pages. */
@layer lt-buttons {
  body.lt-material-system :is(.lt-shop--device,.lt-pdp--physical) .lt-card.lt-card--physical .lt-preset-actions > :is(.lt-cartbtn,.lt-preset-favorite) {
    width: 44px !important; min-width: 44px !important; flex-basis: 44px;
  }
}
@media (max-width: 1199px) {
  body.lt-material-system .lt-shop--device .lt-shopgrid,
  body.lt-material-system .lt-pdp--physical .lt-shopgrid { grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 16px; }
}
@media (max-width: 900px) {
  body.lt-material-system .lt-shop--device .lt-shopgrid,
  body.lt-material-system .lt-pdp--physical .lt-shopgrid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  body.lt-material-system .lt-pdp--physical .lt-physical-grid { grid-template-columns: minmax(0, 1fr); gap: 28px; }
  body.lt-material-system .lt-pdp--physical .lt-physical-summary { max-width: 640px; width: 100%; margin-inline: auto; }
}
@media (max-width: 600px) {
  body.lt-material-system .lt-shop--device { gap: 12px; }
  body.lt-material-system .lt-shop--device .lt-shopgrid,
  body.lt-material-system .lt-pdp--physical .lt-shopgrid { grid-template-columns: minmax(0, 1fr); gap: 14px; }
  body.lt-material-system :is(.lt-shop--device,.lt-pdp--physical) .lt-card.lt-card--physical { display: grid; grid-template-columns: 112px minmax(0, 1fr); min-height: 152px; }
  body.lt-material-system :is(.lt-shop--device,.lt-pdp--physical) .lt-card.lt-card--physical .lt-card__media { height: 100%; aspect-ratio: auto; border-right: 1px solid #424b4e; border-bottom: 0; }
  body.lt-material-system :is(.lt-shop--device,.lt-pdp--physical) .lt-card.lt-card--physical .lt-card__media img { padding: 4px; }
  body.lt-material-system :is(.lt-shop--device,.lt-pdp--physical) .lt-card.lt-card--physical .lt-card__body { padding: 12px; gap: 8px; }
  body.lt-material-system :is(.lt-shop--device,.lt-pdp--physical) .lt-card.lt-card--physical h3 { font-size: 14px; min-height: 0; }
  body.lt-material-system :is(.lt-shop--device,.lt-pdp--physical) .lt-card.lt-card--physical .lt-card__buy { gap: 4px; padding-top: 8px; }
  body.lt-material-system :is(.lt-shop--device,.lt-pdp--physical) .lt-card.lt-card--physical .lt-price { font-size: 14px; }
  body.lt-material-system .lt-shop--device [data-lt-shop-toolbar] .lt-hardware-field > label { font-size: 12px; }
  body.lt-material-system .lt-shop--device .lt-shopbar .lt-select { width: 148px; }
  body.lt-material-system .lt-pdp--physical { padding-block: 20px 32px; }
  body.lt-material-system .lt-pdp--physical .lt-crumbs { margin-bottom: 20px; }
  body.lt-material-system .lt-pdp--physical .lt-physical-image img { padding: 8px; }
  body.lt-material-system .lt-pdp--physical .lt-physical-summary h1 { font-size: 32px; }
  body.lt-material-system .lt-pdp--physical .lt-physical-order { padding: 16px; }
  body.lt-material-system .lt-pdp--physical .lt-tabs__nav { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); }
  body.lt-material-system .lt-pdp--physical .lt-tabs__nav button { font-size: 13px; white-space: normal; }
}
@media (max-width: 359px) {
  body.lt-material-system :is(.lt-shop--device,.lt-pdp--physical) .lt-card.lt-card--physical { grid-template-columns: 80px minmax(0, 1fr); }
  body.lt-material-system :is(.lt-shop--device,.lt-pdp--physical) .lt-card.lt-card--physical .lt-card__body { padding: 10px; }
  body.lt-material-system :is(.lt-shop--device,.lt-pdp--physical) .lt-card.lt-card--physical .lt-price { font-size: 12.5px; }
  body.lt-material-system .lt-pdp--physical .lt-physical-order .quantity { flex-basis: 64px; }
  body.lt-material-system .lt-pdp--physical .lt-physical-order .single_add_to_cart_button { flex-basis: 140px; --lt-btn-padding: 12px; --lt-btn-size: 14px; }
}
