/* Product support pages share the homepage's quiet typography and generous space. */
.visually-hidden {
  position: absolute;
  width: 1px;
  height: 1px;
  overflow: hidden;
  clip-path: inset(50%);
  white-space: nowrap;
}

.specs-section { padding-block: 72px; }
.specs-packaging { padding-top: 12px; }
.specs-package-grid {
  display: grid;
  grid-template-columns: minmax(0, 1.14fr) minmax(0, 1fr);
  align-items: center;
  gap: clamp(40px, 6vw, 88px);
}
.specs-package-figure {
  position: relative;
  width: 100%;
  aspect-ratio: 1044 / 781;
  overflow: hidden;
}
.specs-package-figure img {
  position: absolute;
  top: -.79%;
  left: -2.52%;
  width: 103.93%;
  height: 101.57%;
  max-width: none;
}
.specs-package-copy h2 { margin-top: 0; }
.specs-package-list {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 0 24px;
  margin: 24px 0 16px;
  padding: 0;
  list-style: none;
}
.product-main .specs-package-list li {
  padding: 14px 0;
  border-bottom: 1px solid var(--product-line, #e7e7e7);
  color: var(--product-ink, #212121);
  font-size: 16px;
  line-height: 1.7;
}
.specs-package-list span { color: #737373; font-size: 13px; }
.product-main .specs-package-note { color: #7b7b7b; font-size: 14px; }
.product-main .specs-safety {
  margin-top: 40px;
  padding-top: 24px;
  border-top: 1px solid var(--product-line, #e7e7e7);
  color: #737373;
  font-size: 14px;
}
.specs-dimensions-section { padding-block: 72px; background: #f7f7f5; }
.specs-dimensions-layout {
  display: grid;
  grid-template-columns: minmax(0, .78fr) minmax(0, 1fr);
  gap: clamp(48px, 8vw, 120px);
  align-items: center;
}
.specs-dimensions-figure {
  position: relative;
  width: min(280px, 84%);
  aspect-ratio: 337 / 585;
  margin-inline: auto;
  overflow: hidden;
}
.specs-dimensions-figure img {
  position: absolute;
  top: -46.59%;
  left: -69.18%;
  width: 234.43%;
  height: 191.11%;
  max-width: none;
}
.specs-dimensions-copy h2 { margin-top: 12px; max-width: 12em; }
.specs-key-metrics {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 30px 24px;
  margin: 36px 0 28px;
}
.specs-key-metrics div { min-width: 0; }
.specs-key-dimensions { grid-column: 1 / -1; }
.specs-key-metrics dt { margin-bottom: 10px; color: #7a7a7a; font-size: 13px; line-height: 1.6; }
.specs-key-metrics dd { margin: 0; color: var(--product-ink, #212121); font-size: clamp(28px, 3.05vw, 44px); font-weight: 600; line-height: 1.1; letter-spacing: -.04em; }
.specs-key-metrics dd span { font-size: 16px; font-weight: 400; letter-spacing: 0; }
.product-main .specs-measurement-note { max-width: 35em; color: #7b7b7b; font-size: 13px; line-height: 1.8; }
.specs-section-heading { margin-bottom: 28px; }
.specs-section-heading h2 { margin-top: 0; }
.specs-table {
  width: 100%;
  border-collapse: collapse;
  table-layout: fixed;
  color: var(--product-ink, #212121);
  font-size: 16px;
  line-height: 1.8;
  text-align: left;
}
.specs-table tr { border-bottom: 1px solid var(--product-line, #e7e7e7); }
.specs-table tr:first-child { border-top: 1px solid var(--product-line, #e7e7e7); }
.specs-table th,
.specs-table td { padding: 19px 0; vertical-align: top; overflow-wrap: anywhere; }
.specs-table th { width: 32%; padding-right: 32px; color: #737373; font-weight: 400; }
.specs-warranty { margin-top: 16px; padding-block: 64px; background: #f7f7f5; }
.specs-warranty-inner { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); gap: 72px; }
.specs-warranty h2 { margin-top: 0; max-width: 10em; }
.specs-warranty-copy .product-button { margin-top: 24px; }
.product-main .specs-warranty-contact { margin-top: 16px; color: #737373; font-size: 13px; overflow-wrap: anywhere; }

.faq-heading-layout { display: grid; grid-template-columns: minmax(0, .95fr) minmax(0, 1.05fr); align-items: center; gap: clamp(36px, 5vw, 72px); }
.faq-heading-layout > * { min-width: 0; }
.faq-container { padding-bottom: 40px; }
.faq-tools { margin: 0; }
.faq-search { max-width: 680px; }
.faq-search label { display: block; margin-bottom: 12px; color: #737373; font-size: 13px; }
.faq-search-field { position: relative; }
.faq-search input {
  display: block;
  width: 100%;
  min-height: 60px;
  padding: 17px 78px 17px 24px;
  border: 1px solid #ddd;
  border-radius: 999px;
  color: #212121;
  background: #fafafa;
  font: inherit;
  font-size: 16px;
  line-height: 1.5;
  -webkit-appearance: none;
  appearance: none;
}
.faq-search input::-webkit-search-cancel-button { display: none; }
.faq-search input:focus { outline: 2px solid #212121; outline-offset: 3px; }
.faq-search input::placeholder { color: #8c8c8c; }
.faq-search-clear {
  position: absolute;
  top: 50%;
  right: 20px;
  min-width: 44px;
  min-height: 44px;
  padding: 8px 0;
  border: 0;
  color: #737373;
  background: transparent;
  font: inherit;
  font-size: 13px;
  transform: translateY(-50%);
  cursor: pointer;
}
.faq-search-clear:hover { color: #212121; }
.faq-filter-row { display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: 20px; margin-top: 28px; }
.faq-filters, .faq-jump-links { display: flex; flex-wrap: wrap; gap: 8px; }
.faq-filters button, .faq-jump-links a {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 8px;
  min-height: 44px;
  padding: 10px 18px;
  border: 1px solid #e7e7e7;
  border-radius: 999px;
  color: #626262;
  background: #fff;
  font: inherit;
  font-size: 14px;
  line-height: 1.5;
  cursor: pointer;
}
.faq-filters button[aria-pressed="true"] { color: #fff; border-color: #212121; background: #212121; }
.faq-filters button:hover:not([aria-pressed="true"]), .faq-jump-links a:hover { border-color: #777; color: #212121; }
.faq-filters span, .faq-jump-links span { opacity: .6; font-size: 11px; }
.product-main .faq-result-count { color: #858585; font-size: 13px; }
.faq-jump-links { margin-bottom: 40px; }
.faq-group { margin-top: 44px; border-bottom: 1px solid var(--product-line, #e7e7e7); scroll-margin-top: 180px; }
.product-main .faq-group h2 { margin-bottom: 18px; color: #858585; font-size: 15px; font-weight: 500; line-height: 1.7; letter-spacing: .04em; }
.faq-item { border-top: 1px solid var(--product-line, #e7e7e7); scroll-margin-top: 180px; }
.faq-item summary {
  position: relative;
  display: flex;
  align-items: baseline;
  justify-content: space-between;
  gap: 24px;
  padding: 22px 0;
  color: var(--product-ink, #212121);
  font-size: 18px;
  font-weight: 500;
  line-height: 1.7;
  list-style: none;
  cursor: pointer;
}
.faq-item summary::-webkit-details-marker { display: none; }
.faq-item summary::after { content: "+"; flex: 0 0 16px; color: #777; font-size: 22px; font-weight: 400; line-height: 1; text-align: center; }
.faq-item[open] summary::after { content: "−"; }
.faq-answer { max-width: 58em; padding: 0 40px 24px 0; }
.product-main .faq-answer p { font-size: 16px; line-height: 1.9; }
.faq-answer p + p { margin-top: 16px; }
.faq-answer a, .faq-help a { text-decoration: underline; text-underline-offset: 4px; }
.faq-empty { padding: 52px 0; }
.product-main .faq-empty h2 { margin-bottom: 12px; font-size: 26px; }
.faq-empty .product-button { margin-top: 24px; cursor: pointer; }
.product-main .faq-help { margin-top: 56px; padding-top: 28px; border-top: 1px solid var(--product-line, #e7e7e7); color: #737373; font-size: 14px; }
.faq-tools[hidden], .faq-search-clear[hidden], .faq-group[hidden], .faq-item[hidden], .faq-empty[hidden], .faq-jump-links[hidden] { display: none; }

@media (max-width: 760px) {
  .specs-section { padding-block: 44px; }
  .specs-packaging { padding-top: 0; }
  .specs-package-grid { grid-template-columns: minmax(0, 1fr); gap: 32px; }
  .specs-package-list { margin-top: 20px; }
  .specs-package-list li { padding-block: 12px; }
  .product-main .specs-safety { margin-top: 28px; padding-top: 20px; font-size: 13px; }
  .specs-dimensions-section { padding-block: 44px; }
  .specs-dimensions-layout { grid-template-columns: minmax(0, 1fr); gap: 32px; }
  .specs-dimensions-figure { width: min(210px, 64%); }
  .specs-dimensions-copy h2 { max-width: 13em; }
  .specs-key-metrics { gap: 28px 16px; margin-top: 28px; }
  .specs-key-metrics dd { font-size: 34px; }
  .specs-key-dimensions dd { font-size: clamp(27px, 7.7vw, 38px); }
  .specs-table { font-size: 14px; }
  .specs-table th, .specs-table td { padding-block: 17px; }
  .specs-table th { width: 36%; padding-right: 20px; }
  .specs-warranty { margin-top: 0; padding-block: 44px; }
  .specs-warranty-inner { grid-template-columns: minmax(0, 1fr); gap: 24px; }
  .specs-warranty h2 { max-width: none; }
  .faq-heading-layout { grid-template-columns: minmax(0, 1fr); gap: 28px; }
  .faq-container { padding-bottom: 16px; }
  .faq-tools { margin: 0; }
  .faq-search input { min-height: 56px; padding-left: 20px; }
  .faq-filter-row { gap: 16px; margin-top: 20px; }
  .faq-filters, .faq-jump-links { gap: 6px; }
  .faq-filters button, .faq-jump-links a { gap: 5px; padding: 9px 13px; font-size: 13px; }
  .faq-result-count { width: 100%; }
  .faq-group { margin-top: 32px; scroll-margin-top: 154px; }
  .faq-item { scroll-margin-top: 154px; }
  .faq-item summary { gap: 16px; padding-block: 20px; font-size: 16px; }
  .faq-answer { padding-right: 20px; padding-bottom: 22px; }
  .product-main .faq-answer p { font-size: 15px; }
  .product-main .faq-help { margin-top: 36px; font-size: 13px; overflow-wrap: anywhere; }
}
