/* Product tabs and specifications (TODO 00001.5.15). FINAL design/product/inspiration/sections/specs/r3/v1.png.
   Tab row with a 3px navy underline on the current tab (section 8 product tabs), Specifications selected: H2, lead,
   one note on a 2px ai left rule, then two balanced mist panels of caps slate labels over ink values, each label
   once, no empty cell; the rows the assistant example cites carry a small ai CHECKED BY AI tag (section 7 cited rows,
   datasheet variant). Under 600 the tabs become disclosure rows. The faint dot grid of the image is not carried. */
.p-product-specs {
  box-sizing: border-box; background: var(--wp--preset--color--white);
  padding: var(--wp--preset--spacing--100) var(--wp--custom--gutter--desktop);
}
.p-product-top__tabs button:focus-visible { outline: var(--wp--custom--focus--width) solid var(--wp--preset--color--orange); outline-offset: calc(-1 * var(--wp--custom--focus--width)); }
.p-product-specs *, .p-product-specs *::before, .p-product-specs *::after { box-sizing: border-box; }
.p-product-specs__inner { max-width: var(--wp--custom--layout--wide); margin-inline: auto; }
.p-product-specs a:focus-visible, .p-product-specs button:focus-visible {
  outline: var(--wp--custom--focus--width) solid var(--wp--preset--color--orange); outline-offset: var(--wp--custom--focus--offset);
}
.p-product-specs__panel:focus-visible { outline: var(--wp--custom--focus--width) solid var(--wp--preset--color--orange); outline-offset: var(--wp--custom--focus--offset); }
.p-product-top__tabs {
  display: flex; flex-wrap: wrap; gap: var(--wp--preset--spacing--40); border-bottom: 1px solid var(--wp--preset--color--line);
}
.p-product-top__tabs[hidden] { display: none; }
.p-product-top__tabs { margin-top: var(--wp--preset--spacing--60) !important; }
.p-product-top__tabs [role=tab] {
  position: relative; min-height: var(--wp--custom--control); padding: 0 var(--wp--preset--spacing--50);
  background: none; border: 0; color: var(--wp--preset--color--ink); cursor: pointer;
  font: 500 var(--wp--preset--font-size--nav)/1 var(--wp--preset--font-family--montserrat); letter-spacing: var(--wp--custom--letter-spacing--nav);
}
.p-product-top__tabs [role=tab][aria-selected=true] { color: var(--wp--preset--color--navy); font-weight: 700; }
.p-product-top__tabs [role=tab][aria-selected=true]::after {
  content: ""; position: absolute; left: 0; right: 0; bottom: -1px; height: 3px; background: var(--wp--preset--color--navy);
}
@media (hover: hover) and (pointer: fine) { .p-product-top__tabs [role=tab][aria-selected=false]:hover { color: var(--wp--preset--color--navy); text-decoration: underline; text-underline-offset: 6px; } }
.p-product-specs__row[hidden] { display: none; }
.p-product-specs__panel { padding-top: 0; }
.p-product-specs__panel[hidden] { display: none; }
.p-product-specs .p-product-specs__title {
  margin: 0; color: var(--wp--preset--color--navy); font-size: var(--wp--preset--font-size--h-1);
  font-weight: var(--wp--custom--font-weight--h-1); letter-spacing: var(--wp--custom--letter-spacing--h-1); line-height: 1.1;
}
.p-product-specs .p-product-specs__lead { margin: var(--wp--preset--spacing--30) 0 0; color: var(--wp--preset--color--slate); font-size: var(--wp--preset--font-size--body-l); line-height: 1.5; }
.p-product-specs .p-product-specs__note {
  margin: var(--wp--preset--spacing--40) 0 0; padding-left: var(--wp--preset--spacing--40); border-left: 2px solid var(--wp--preset--color--ai);
  color: var(--wp--preset--color--ink); font-size: var(--wp--preset--font-size--small); line-height: 1.5;
}
.p-product-specs .p-product-specs__text { max-width: 72ch; margin: var(--wp--preset--spacing--50) 0 0; color: var(--wp--preset--color--ink); font-size: var(--wp--preset--font-size--body); line-height: 1.6; }
.p-product-specs__text a, .p-product-specs__prose a { color: var(--wp--preset--color--navy); text-underline-offset: 3px; }
.p-product-specs__prose { max-width: 72ch; margin-top: var(--wp--preset--spacing--50); color: var(--wp--preset--color--ink); font-size: var(--wp--preset--font-size--body); line-height: 1.6; }
.p-product-specs__prose p { margin: 0 0 var(--wp--preset--spacing--50); }
.p-product-specs__sheet {
  display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: var(--wp--preset--spacing--50); align-items: stretch;
  margin-top: var(--wp--preset--spacing--60);
}
.p-product-specs__grid {
  display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); grid-auto-rows: 1fr; margin: 0;
  background: var(--wp--preset--color--mist); border: 1px solid var(--wp--preset--color--line); border-radius: var(--wp--custom--radius--default);
  overflow: hidden;
}
.p-product-specs__cell {
  display: flex; flex-direction: column; justify-content: center; gap: var(--wp--preset--spacing--30); min-width: 0;
  padding: var(--wp--preset--spacing--50) var(--wp--preset--spacing--60);
  border-bottom: 1px solid var(--wp--preset--color--line);
}
.p-product-specs__cell:nth-child(odd) { border-right: 1px solid var(--wp--preset--color--line); }
.p-product-specs__grid .p-product-specs__cell:nth-last-child(-n+2):nth-child(odd),
.p-product-specs__grid .p-product-specs__cell:last-child { border-bottom: 0; }
.p-product-specs__grid.is-odd .p-product-specs__cell:last-child { grid-column: 1 / -1; border-right: 0; }
.p-product-specs__grid.is-odd .p-product-specs__cell:nth-last-child(2) { border-bottom: 1px solid var(--wp--preset--color--line); }
.p-product-specs__cell dt {
  display: flex; flex-wrap: wrap; align-items: center; gap: var(--wp--preset--spacing--30);
  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-product-specs__cell dd { margin: 0; color: var(--wp--preset--color--ink); font-size: var(--wp--preset--font-size--body-l); line-height: 1.4; overflow-wrap: anywhere; }
.p-product-specs__ai {
  display: inline-flex; align-items: center; gap: var(--wp--preset--spacing--20); padding: 2px var(--wp--preset--spacing--30);
  background: var(--wp--preset--color--ai-surface); color: var(--wp--preset--color--ai); border-radius: var(--wp--custom--radius--default);
  font-size: var(--wp--preset--font-size--label); font-weight: 700; letter-spacing: var(--wp--custom--letter-spacing--button); white-space: nowrap;
}
@media (max-width: 1199px) {
  .p-product-specs__sheet { grid-template-columns: minmax(0, 1fr); }
}
@media (max-width: 991px) {
  .p-product-specs { padding-inline: var(--wp--custom--gutter--tablet); }
}
@media (max-width: 599px) {
  .p-product-specs { padding: var(--wp--custom--section--phone) var(--wp--custom--gutter--phone) var(--wp--preset--spacing--90); }
  .p-product-top__tabs { display: none !important; }
  .p-product-specs__row:not([hidden]) {
    display: flex; align-items: center; justify-content: space-between; width: 100%; min-height: var(--wp--custom--control);
    padding: 0; background: none; border: 0; border-bottom: 1px solid var(--wp--preset--color--line); color: var(--wp--preset--color--navy);
    font: 600 var(--wp--preset--font-size--body)/1.3 var(--wp--preset--font-family--montserrat); text-align: left; cursor: pointer;
  }
  .p-product-specs__row:first-of-type:not([hidden]) { border-top: 1px solid var(--wp--preset--color--line); }
  .p-product-specs__row .p-icon { transition: transform 0.2s cubic-bezier(.22, .61, .36, 1); }
  .p-product-specs__row[aria-expanded=true] .p-icon { transform: rotate(180deg); }
  .p-product-specs__panel { padding: var(--wp--preset--spacing--60) 0; border-bottom: 1px solid var(--wp--preset--color--line); }
  .p-product-specs .p-product-specs__title { display: none; }
  .p-product-specs__panel--specifications .p-product-specs__lead { margin-top: 0; }
  .p-product-specs__grid { grid-template-columns: minmax(0, 1fr); grid-auto-rows: auto; }
  .p-product-specs__cell { border-right: 0 !important; border-bottom: 1px solid var(--wp--preset--color--line) !important; }
  .p-product-specs__grid .p-product-specs__cell:last-child { border-bottom: 0 !important; }
}
