/* Home featured instruments (TODO 00001.5.13). FINAL design/home/inspiration/sections/featured/r3/v3.png.
   Product card (section 8): white, 1px line edge, 4px radius, 4:3 photo on a light sweep, H3 name, slate model
   line, label caps, the range scale (section 7). Static cards carry no price, stock line or Add to cart. */
.p-home-featured {
  box-sizing: border-box; background: var(--wp--preset--color--white);
  padding: var(--wp--custom--section--desktop) var(--wp--custom--gutter--desktop);
}
.p-home-featured *, .p-home-featured *::before, .p-home-featured *::after { box-sizing: border-box; }
.p-home-featured__inner { max-width: var(--wp--custom--layout--wide); margin-inline: auto; }
.p-home-featured__head {
  display: flex; align-items: center; justify-content: space-between; gap: var(--wp--preset--spacing--60);
  margin-bottom: var(--wp--preset--spacing--90);
}
.p-home-featured .p-home-featured__title {
  display: flex; align-items: center; gap: var(--wp--preset--spacing--60); margin: 0;
  color: var(--wp--preset--color--navy); font-size: var(--wp--preset--font-size--h-4);
  font-weight: var(--wp--custom--font-weight--h-4); letter-spacing: var(--wp--custom--letter-spacing--label);
  line-height: 1.3; text-transform: uppercase;
}
.p-home-featured__title::before { content: ""; flex: none; width: 48px; height: 3px; background: var(--wp--preset--color--orange); }
.p-home-featured__all { margin: 0; flex: none; }
.p-home-featured__all a, .p-home-featured__view a {
  display: inline-flex; align-items: center; gap: var(--wp--preset--spacing--30); min-height: var(--wp--custom--touch);
  color: var(--wp--preset--color--navy); font-size: var(--wp--preset--font-size--body); font-weight: 600; text-decoration: none;
}
.p-home-featured__all a::after, .p-home-featured__view a::after {
  content: ""; width: 20px; height: 20px; background: currentColor; transition: transform 0.2s cubic-bezier(.22, .61, .36, 1);
  -webkit-mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='1.75' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M5 12h14'/%3E%3Cpath d='m12 5 7 7-7 7'/%3E%3C/svg%3E") center / contain no-repeat;
  mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='1.75' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M5 12h14'/%3E%3Cpath d='m12 5 7 7-7 7'/%3E%3C/svg%3E") center / contain no-repeat;
}
.p-home-featured a:focus-visible {
  outline: var(--wp--custom--focus--width) solid var(--wp--preset--color--navy); outline-offset: var(--wp--custom--focus--offset);
}
@media (hover: hover) and (pointer: fine) {
  .p-home-featured__all a:hover::after, .p-home-featured__view a:hover::after { transform: translateX(3px); }
}
.p-home-featured .wp-block-woocommerce-product-collection { margin: 0; }
.p-home-featured .wp-block-woocommerce-product-collection-no-results { margin: 0; }
/* Straight after shop by type (same white ground, as in the composite) the two read as one band: one section gap
   between them (guide section 6), not two paddings stacked. */
.p-home-shop-by-type + .p-home-featured { padding-top: 0; }
/* Static cards (no-results) and real products (product-template) share the grid. */
.p-home-featured__grid,
.p-home-featured .wc-block-product-template,
.p-home-featured .wp-block-woocommerce-product-template {
  display: grid; grid-template-columns: repeat(5, minmax(0, 1fr)); gap: var(--wp--preset--spacing--60);
  margin: 0; padding: 0; list-style: none;
}
.p-home-featured__card,
.p-home-featured .wc-block-product {
  position: relative; display: flex; flex-direction: column;
  background: var(--wp--preset--color--white); border: 1px solid var(--wp--preset--color--line);
  border-radius: var(--wp--custom--radius--default); overflow: hidden;
  transition: transform 0.2s cubic-bezier(.22, .61, .36, 1);
}
.p-home-featured__card::after {
  content: ""; position: absolute; inset: 0; pointer-events: none; border-radius: inherit;
  box-shadow: var(--wp--custom--shadow); opacity: 0; transition: opacity 0.2s cubic-bezier(.22, .61, .36, 1);
}
.p-home-featured__photo { margin: 0; aspect-ratio: 4 / 3; overflow: hidden; background: var(--wp--preset--color--mist); }
.p-home-featured__photo img { display: block; width: 100%; height: 100%; object-fit: cover; }
.p-home-featured .p-home-featured__name {
  margin: var(--wp--preset--spacing--60) var(--wp--preset--spacing--60) 0;
  font-size: var(--wp--preset--font-size--h-3); font-weight: var(--wp--custom--font-weight--h-3); line-height: 1.25;
  color: var(--wp--preset--color--navy);
}
.p-home-featured__model {
  margin: var(--wp--preset--spacing--20) var(--wp--preset--spacing--60) 0;
  color: var(--wp--preset--color--slate); font-size: var(--wp--preset--font-size--small); line-height: 1.5;
}
.p-home-featured__kind {
  margin: var(--wp--preset--spacing--50) var(--wp--preset--spacing--60) 0;
  color: var(--wp--preset--color--slate); font-size: var(--wp--preset--font-size--label);
  font-weight: var(--wp--custom--font-weight--label); letter-spacing: var(--wp--custom--letter-spacing--label);
  line-height: 1.3; text-transform: uppercase;
}
.p-home-featured__scale { margin: var(--wp--preset--spacing--40) var(--wp--preset--spacing--60) 0; line-height: 0; }
.p-home-featured .norvane-range-scale { display: block; width: 100%; height: 20px; overflow: visible; }
.p-home-featured .norvane-range-scale__ticks line { stroke: var(--wp--preset--color--slate); stroke-width: 1; vector-effect: non-scaling-stroke; }
.p-home-featured .norvane-range-scale__seg line { stroke: var(--wp--preset--color--navy); vector-effect: non-scaling-stroke; }
.p-home-featured .norvane-range-scale__seg line:first-child { stroke-width: 3; }
.p-home-featured .norvane-range-scale__seg line + line { stroke-width: 2; }
.p-home-featured__view { margin: auto var(--wp--preset--spacing--60) var(--wp--preset--spacing--50); padding-top: var(--wp--preset--spacing--50); }
.p-home-featured__view a::before { content: ""; position: absolute; inset: 0; z-index: 1; }
.p-home-featured__view a:focus-visible { outline: none; }
.p-home-featured__card:focus-within {
  outline: var(--wp--custom--focus--width) solid var(--wp--preset--color--navy); outline-offset: var(--wp--custom--focus--offset);
}
@media (hover: hover) and (pointer: fine) {
  .p-home-featured__card:hover { transform: translateY(-4px); }
  .p-home-featured__card:hover::after { opacity: 1; }
  .p-home-featured__card:hover .p-home-featured__view a::after { transform: translateX(3px); }
}
/* Five across from 1200 (the FINAL's row); four from 840 and two from 600, the fifth card waits for the shop. */
@media (max-width: 1199.98px) {
  .p-home-featured__grid { grid-template-columns: repeat(4, minmax(0, 1fr)); }
  .p-home-featured__card:nth-child(n + 5) { display: none; }
}
@media (max-width: 991.98px) {
  .p-home-featured { padding: var(--wp--custom--section--tablet) var(--wp--custom--gutter--tablet); }
  .p-home-featured__grid { gap: var(--wp--preset--spacing--50); }
}
@media (max-width: 839.98px) {
  .p-home-featured__grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}
@media (max-width: 599.98px) {
  .p-home-featured { padding: var(--wp--custom--section--phone) var(--wp--custom--gutter--phone); }
  .p-home-featured__head { margin-bottom: var(--wp--preset--spacing--70); flex-wrap: wrap; }
  .p-home-featured__grid { grid-template-columns: minmax(0, 1fr); }
}
