/* ========================================================================== 
   Tecovoo product detail v12
   Human-centred product presentation: strong identity, useful facts, visible
   technical data, credible comparisons and a contextual enquiry path.
   ========================================================================== */

.product-detail {
  --pd-ink: #0a2238;
  --pd-copy: #334554;
  --pd-muted: #667680;
  --pd-line: color-mix(in oklab, var(--color-primary) 13%, transparent);
  --pd-line-strong: color-mix(in oklab, var(--color-primary) 22%, transparent);
  --pd-page: #f6f3ed;
  --pd-tint: #efebe3;
  --pd-surface: #fff;
  --pd-stage: #f0ede7;
  --pd-teal-soft: color-mix(in oklab, var(--color-functional) 9%, white);
  --pd-shadow: 0 30px 80px -58px rgb(10 34 56 / .48);
  color: var(--pd-copy);
  background: var(--pd-page);
}

.product-detail [id] {
  scroll-margin-top: calc(var(--header-height) + 4.5rem);
}

.single-tecovoo_product .site-main {
  overflow: clip;
}

.single-tecovoo_product .product-detail .container {
  max-width: 94rem;
  padding-inline: clamp(1.25rem, 3.25vw, 4.5rem);
}

/* Hero ------------------------------------------------------------------- */
.product-detail__hero {
  position: relative;
  padding-block: clamp(1.1rem, 1.8vw, 1.75rem) clamp(4rem, 5.5vw, 6.25rem);
  background:
    radial-gradient(70rem 36rem at 92% 4%, color-mix(in oklab, var(--color-functional) 7%, transparent), transparent 68%),
    linear-gradient(180deg, #fbfaf7 0%, #f4f0e9 100%);
  border-block-end: 1px solid var(--pd-line);
}

.product-detail__hero::before {
  content: '';
  position: absolute;
  inset: 0 auto auto 0;
  inline-size: clamp(3rem, 6vw, 6rem);
  block-size: 2px;
  background: var(--color-accent);
}

.product-detail__hero-inner {
  display: grid;
  gap: clamp(1.8rem, 3.5vw, 3.5rem);
}

.product-detail__breadcrumbs {
  color: var(--pd-muted);
  font-size: .82rem;
}

.product-detail__breadcrumbs a {
  text-decoration-color: transparent;
  text-underline-offset: .25em;
}

.product-detail__breadcrumbs a:hover,
.product-detail__breadcrumbs a:focus-visible {
  color: var(--color-functional);
  text-decoration-color: currentColor;
}

.product-detail__hero-grid {
  display: grid;
  gap: clamp(2.5rem, 5vw, 6.5rem);
  align-items: center;
}

.product-detail__visual {
  min-width: 0;
  margin: 0;
}

.product-detail__stage {
  position: relative;
  display: grid;
  place-items: center;
  aspect-ratio: 4 / 5;
  min-height: 31rem;
  max-height: 43rem;
  padding: clamp(2rem, 4vw, 4rem);
  overflow: hidden;
  isolation: isolate;
  background:
    linear-gradient(145deg, rgb(255 255 255 / .9), rgb(255 255 255 / .22)),
    var(--pd-stage);
  border: 1px solid var(--pd-line);
  border-radius: clamp(1.15rem, 1.8vw, 1.65rem);
  box-shadow: 0 36px 95px -66px rgb(10 34 56 / .55);
}

.product-detail[data-media-profile='wide'] .product-detail__stage,
.product-detail[data-media-profile='built-in'] .product-detail__stage {
  aspect-ratio: 5 / 4;
  min-height: 28rem;
}

.product-detail__stage::before {
  content: '';
  position: absolute;
  inset: auto 12% 8%;
  block-size: 8%;
  border-radius: 50%;
  background: rgb(10 34 56 / .075);
  filter: blur(24px);
  z-index: -1;
}

.product-detail__image {
  display: block;
  inline-size: min(var(--media-max-inline, 84%), 100%);
  block-size: min(var(--media-max-block, 84%), 100%);
  max-inline-size: 100%;
  max-block-size: 100%;
  object-fit: contain;
  object-position: center var(--media-position-y, 50%);
  mix-blend-mode: normal;
  filter: none;
  transform: none;
}

.product-detail[data-media-profile='very-tall'] .product-detail__image,
.product-detail[data-media-profile='tall'] .product-detail__image {
  inline-size: 70%;
  block-size: 84%;
}

.product-detail[data-media-profile='wide'] .product-detail__image {
  inline-size: 90%;
  block-size: 72%;
}

.product-detail[data-media-profile='built-in'] .product-detail__image {
  inline-size: 84%;
  block-size: 80%;
}

.product-detail[data-media-profile='compact'] .product-detail__image,
.product-detail[data-media-profile='square'] .product-detail__image {
  inline-size: 78%;
  block-size: 78%;
}

.product-detail__stage-meta {
  position: absolute;
  inset: auto 1rem 1rem;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 1rem;
  padding: .55rem .75rem;
  color: var(--pd-muted);
  background: rgb(255 255 255 / .78);
  border: 1px solid rgb(255 255 255 / .9);
  border-radius: .7rem;
  backdrop-filter: blur(10px);
  font-size: .72rem;
  letter-spacing: .05em;
}

.product-detail__stage-meta code {
  color: var(--pd-ink);
  font: inherit;
  font-weight: 720;
}

.product-detail__summary {
  display: grid;
  gap: 1.15rem;
  align-content: center;
  max-inline-size: 38rem;
}

.product-detail__category {
  margin: 0;
}

.product-detail__category a {
  color: inherit;
  text-decoration: none;
}

.product-detail__category a:hover,
.product-detail__category a:focus-visible {
  color: var(--pd-ink);
}

.product-detail__title {
  max-inline-size: 13ch;
  margin: 0;
  color: var(--pd-ink);
  font-size: clamp(3rem, 2.2rem + 2.6vw, 5.1rem);
  line-height: .98;
  letter-spacing: -.05em;
  text-wrap: balance;
}

.product-detail__model {
  display: flex;
  align-items: center;
  gap: .65rem;
  margin: -.2rem 0 0;
  color: var(--pd-muted);
  font-size: .74rem;
  font-weight: 700;
  letter-spacing: .1em;
  text-transform: uppercase;
}

.product-detail__model code {
  padding: .32rem .7rem;
  color: var(--pd-ink);
  background: var(--pd-teal-soft);
  border: 1px solid color-mix(in oklab, var(--color-functional) 19%, transparent);
  border-radius: 999px;
  font: inherit;
  letter-spacing: .04em;
}

.product-detail__description {
  max-inline-size: 52ch;
  margin: 0;
  color: var(--pd-copy);
  font-size: clamp(1.05rem, 1rem + .2vw, 1.18rem);
  line-height: 1.72;
}

.product-detail__facts {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: .7rem;
  margin: .35rem 0 0;
}

.product-detail__fact {
  display: grid;
  align-content: start;
  gap: .35rem;
  min-width: 0;
  min-height: 5.15rem;
  padding: 1rem 1.05rem;
  background: rgb(255 255 255 / .82);
  border: 1px solid var(--pd-line);
  border-radius: .9rem;
  box-shadow: 0 16px 36px -32px rgb(10 34 56 / .42);
}

.product-detail__fact dt {
  overflow: hidden;
  color: var(--pd-muted);
  font-size: .68rem;
  font-weight: 760;
  letter-spacing: .09em;
  text-overflow: ellipsis;
  text-transform: uppercase;
  white-space: nowrap;
}

.product-detail__fact dd {
  margin: 0;
  color: var(--pd-ink);
  font-size: 1rem;
  font-weight: 690;
  line-height: 1.4;
  overflow-wrap: anywhere;
}

.product-detail__actions {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: .65rem 1rem;
  margin-top: .25rem;
}

.product-detail__actions .btn {
  min-height: 3.15rem;
}

.product-detail__spec-link {
  color: var(--pd-ink);
  text-decoration: none;
}

.product-detail__spec-link:hover,
.product-detail__spec-link:focus-visible {
  color: var(--color-functional);
}

.product-detail__assurance {
  display: flex;
  flex-wrap: wrap;
  gap: .8rem 1.5rem;
  padding-top: 1.1rem;
  border-top: 1px solid var(--pd-line);
}

.product-detail__assurance p {
  display: grid;
  grid-template-columns: 1rem minmax(0, 1fr);
  gap: .55rem;
  align-items: start;
  max-inline-size: 24rem;
  margin: 0;
  color: var(--pd-muted);
  font-size: .82rem;
  line-height: 1.5;
}

.product-detail__assurance svg {
  margin-top: .15rem;
  color: var(--color-functional);
}

/* In-page navigation ----------------------------------------------------- */
.product-detail__nav {
  position: sticky;
  top: var(--header-height);
  z-index: 35;
  background: rgb(255 255 255 / .9);
  border-block-end: 1px solid var(--pd-line);
  backdrop-filter: blur(16px) saturate(1.2);
}

.product-detail__nav-inner {
  display: flex;
  align-items: center;
  gap: clamp(1.25rem, 3vw, 2.75rem);
  min-height: 3.75rem;
  overflow-x: auto;
  scrollbar-width: none;
}

.product-detail__nav-inner::-webkit-scrollbar {
  display: none;
}

.product-detail__nav a {
  position: relative;
  flex: none;
  display: inline-flex;
  align-items: center;
  min-height: 3.75rem;
  color: var(--pd-muted);
  font-size: .84rem;
  font-weight: 660;
  text-decoration: none;
  white-space: nowrap;
}

.product-detail__nav a::after {
  content: '';
  position: absolute;
  inset: auto 0 0;
  block-size: 2px;
  background: var(--color-functional);
  transform: scaleX(0);
  transform-origin: right;
  transition: transform .22s var(--motion-ease-standard);
}

.product-detail__nav a:hover,
.product-detail__nav a:focus-visible,
.product-detail__nav a[aria-current='true'] {
  color: var(--pd-ink);
}

.product-detail__nav a[aria-current='true']::after {
  transform: scaleX(1);
  transform-origin: left;
}

/* Section language ------------------------------------------------------- */
.product-detail__section {
  padding-block: clamp(4.25rem, 6vw, 6.75rem);
}

.product-detail__section-grid {
  display: grid;
  gap: clamp(2.5rem, 5vw, 6rem);
}

.product-detail__section-intro,
.product-detail__section-head {
  display: grid;
  gap: .9rem;
}

.product-detail__section-intro h2,
.product-detail__section-head h2 {
  max-inline-size: 18ch;
  margin: 0;
  color: var(--pd-ink);
  font-size: clamp(2.2rem, 1.75rem + 1.55vw, 3.6rem);
  line-height: 1.02;
  letter-spacing: -.04em;
  text-wrap: balance;
}

.product-detail__section-intro > p:last-child,
.product-detail__section-head > p {
  max-inline-size: 54ch;
  margin: 0;
  color: var(--pd-muted);
  line-height: 1.72;
}

.product-detail__section-head {
  margin-bottom: clamp(2rem, 3.5vw, 3.2rem);
}

/* Features --------------------------------------------------------------- */
.product-detail__overview {
  background: #fff;
}

.product-detail__feature-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: .8rem;
}

.product-detail__feature {
  display: grid;
  grid-template-columns: 2.75rem minmax(0, 1fr);
  gap: .95rem;
  align-items: center;
  min-height: 5.75rem;
  padding: 1.05rem 1.15rem;
  background: #fbfcfc;
  border: 1px solid var(--pd-line);
  border-radius: 1rem;
  box-shadow: 0 14px 36px -34px rgb(10 34 56 / .38);
}

.product-detail__feature-icon {
  display: grid;
  place-items: center;
  inline-size: 2.75rem;
  block-size: 2.75rem;
  color: var(--color-functional);
  background: var(--pd-teal-soft);
  border-radius: .8rem;
}

.product-detail__feature > div {
  display: grid;
  gap: .25rem;
}

.product-detail__feature-number {
  color: var(--color-accent);
  font-size: .65rem;
  font-weight: 760;
  letter-spacing: .1em;
}

.product-detail__feature strong {
  color: var(--pd-ink);
  font-size: .98rem;
  line-height: 1.4;
}

/* Specifications --------------------------------------------------------- */
.product-detail__specifications {
  background: var(--pd-tint);
}

.product-detail__spec-groups {
  display: grid;
  gap: 1rem;
}

.product-detail__spec-group {
  overflow: clip;
  background: var(--pd-surface);
  border: 1px solid var(--pd-line);
  border-radius: 1rem;
  box-shadow: 0 18px 50px -42px rgb(10 34 56 / .42);
}

.product-detail__spec-group summary {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 1rem;
  min-height: 4.5rem;
  padding: 1rem 1.15rem;
  list-style: none;
  cursor: pointer;
}

.product-detail__spec-group summary::-webkit-details-marker {
  display: none;
}

.product-detail__spec-summary-copy {
  display: grid;
  gap: .25rem;
}

.product-detail__spec-summary-copy strong {
  color: var(--pd-ink);
  font-size: 1rem;
}

.product-detail__spec-summary-copy span {
  color: var(--pd-muted);
  font-size: .76rem;
}

.product-detail__spec-toggle {
  display: grid;
  place-items: center;
  inline-size: 2.35rem;
  block-size: 2.35rem;
  color: var(--color-functional);
  background: var(--pd-teal-soft);
  border-radius: 999px;
  transition: transform .22s var(--motion-ease-standard);
}

.product-detail__spec-group[open] .product-detail__spec-toggle {
  transform: rotate(180deg);
}

.product-detail__spec-content {
  padding: 0 1.15rem 1.1rem;
}

.product-detail__spec-list {
  margin: 0;
  border-top: 1px solid var(--pd-line);
}

.product-detail__spec-row {
  display: grid;
  grid-template-columns: minmax(7.5rem, .85fr) minmax(0, 1.15fr);
  gap: 1.15rem;
  padding-block: .85rem;
  border-bottom: 1px solid var(--pd-line);
}

.product-detail__spec-row:last-child {
  border-bottom: 0;
}

.product-detail__spec-row dt {
  color: var(--pd-muted);
  font-size: .84rem;
  font-weight: 570;
  line-height: 1.45;
}

.product-detail__spec-row dd {
  margin: 0;
  color: var(--pd-ink);
  font-size: .9rem;
  font-weight: 650;
  line-height: 1.45;
  text-align: end;
  overflow-wrap: anywhere;
}

/* Related models --------------------------------------------------------- */
.product-detail__related {
  background: #fff;
}

.product-detail__related-grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 1.15rem;
}

.product-detail__related-grid .card {
  min-width: 0;
  overflow: hidden;
  background: #fff;
  border: 1px solid var(--pd-line);
  border-radius: 1rem;
  box-shadow: 0 20px 52px -46px rgb(10 34 56 / .5);
}

.product-detail__related-grid .card__media {
  aspect-ratio: 4 / 3;
  min-height: 15rem;
  padding: 1.35rem;
  background: var(--pd-stage);
}

.product-detail__related-grid .card__image {
  max-inline-size: 82%;
  max-block-size: 82%;
}

.product-detail__related-grid .card__body {
  min-height: 12.5rem;
  padding: 1.2rem 1.25rem 1.3rem;
}

.product-detail__related-grid .card__title {
  font-size: 1.18rem;
}

.product-detail__related-grid .card__product-link {
  min-height: 2.75rem;
}

/* Enquiry ---------------------------------------------------------------- */
.product-detail__enquiry {
  padding-block: clamp(4.5rem, 6.5vw, 7.25rem);
  color: #fff;
  background:
    radial-gradient(70rem 35rem at 100% 0%, rgb(15 118 110 / .28), transparent 68%),
    var(--pd-ink);
  border-top: 1px solid rgb(255 255 255 / .08);
}

.product-detail__enquiry .enquiry-panel__layout {
  display: grid;
  gap: clamp(2rem, 4vw, 4.5rem);
  align-items: start;
}

.product-detail__enquiry .enquiry-panel__context {
  display: grid;
  gap: 1.35rem;
  align-content: start;
  padding: .5rem 0;
  color: #fff;
}

.product-detail__enquiry .enquiry-panel__product-summary {
  display: grid;
  grid-template-columns: 6rem minmax(0, 1fr);
  gap: 1.1rem;
  align-items: center;
}

.product-detail__enquiry .enquiry-panel__product-media {
  display: grid;
  place-items: center;
  aspect-ratio: 1;
  padding: .6rem;
  overflow: hidden;
  background: #fff;
  border-radius: 1rem;
}

.product-detail__enquiry .enquiry-panel__product-media img {
  inline-size: 100%;
  block-size: 100%;
  object-fit: contain;
}

.product-detail__enquiry .enquiry-panel__context .eyebrow {
  color: #7ee2d8;
}

.product-detail__enquiry .enquiry-panel__context h2 {
  margin: .25rem 0 0;
  color: #fff;
  font-size: clamp(2rem, 1.6rem + 1.1vw, 3.1rem);
  line-height: 1.02;
}

.product-detail__enquiry .enquiry-panel__context code {
  color: rgb(255 255 255 / .68);
  font: inherit;
  font-size: .82rem;
}

.product-detail__enquiry .enquiry-panel__context-intro {
  max-inline-size: 46ch;
  margin: 0;
  color: rgb(255 255 255 / .72);
  font-size: 1rem;
  line-height: 1.7;
}

.product-detail__enquiry .enquiry-panel__checklist {
  display: grid;
  gap: 0;
  margin: .25rem 0 0;
}

.product-detail__enquiry .enquiry-panel__checklist li {
  display: grid;
  grid-template-columns: 2.75rem minmax(0, 1fr);
  gap: .95rem;
  align-items: start;
  padding-block: 1rem;
  border-top: 1px solid rgb(255 255 255 / .13);
}

.product-detail__enquiry .enquiry-panel__check-icon {
  display: grid;
  place-items: center;
  inline-size: 2.45rem;
  block-size: 2.45rem;
  color: #7ee2d8;
  background: rgb(255 255 255 / .07);
  border: 1px solid rgb(255 255 255 / .12);
  border-radius: .75rem;
}

.product-detail__enquiry .enquiry-panel__checklist div {
  display: grid;
  gap: .28rem;
}

.product-detail__enquiry .enquiry-panel__checklist strong {
  color: #fff;
  font-size: .94rem;
}

.product-detail__enquiry .enquiry-panel__checklist p,
.product-detail__enquiry .enquiry-panel__context-note {
  margin: 0;
  color: rgb(255 255 255 / .64);
  font-size: .86rem;
  line-height: 1.6;
}

.product-detail__enquiry .enquiry-panel__context-note {
  max-inline-size: 46ch;
  padding-top: 1rem;
  border-top: 1px solid rgb(255 255 255 / .13);
}

.product-detail__enquiry .enquiry-panel__content {
  padding: clamp(1.4rem, 3vw, 2.7rem);
  color: var(--pd-copy);
  background: #fff;
  border: 1px solid rgb(255 255 255 / .8);
  border-radius: 1.3rem;
  box-shadow: 0 36px 90px -55px rgb(0 0 0 / .55);
}

.product-detail__enquiry .section__head {
  max-inline-size: 45rem;
  margin-bottom: 1.5rem;
}

.product-detail__enquiry .section__head .eyebrow {
  color: var(--color-functional);
}

.product-detail__enquiry .section__head h2 {
  max-inline-size: 17ch;
  color: var(--pd-ink);
  font-size: clamp(2.1rem, 1.65rem + 1.35vw, 3.35rem);
  line-height: 1.02;
}

.product-detail__enquiry .section__head .lede {
  max-inline-size: 54ch;
  color: var(--pd-muted);
  font-size: 1rem;
}

.product-detail__enquiry .enquiry-form__required-note {
  color: var(--pd-muted);
  font-size: .78rem;
}

.product-detail__enquiry .enquiry-form__grid {
  gap: .9rem 1rem;
}

.product-detail__enquiry .field input,
.product-detail__enquiry .field select,
.product-detail__enquiry .field textarea {
  min-height: 3.25rem;
  background: #fbfcfd;
  border-color: color-mix(in oklab, var(--color-primary) 15%, transparent);
  border-radius: .72rem;
}

.product-detail__enquiry .field textarea {
  min-height: 9.5rem;
}

.product-detail__enquiry .field--check {
  padding: .9rem 1rem;
  background: var(--pd-teal-soft);
  border: 1px solid color-mix(in oklab, var(--color-functional) 17%, transparent);
  border-radius: .75rem;
}

.product-detail__enquiry .btn[type='submit'] {
  min-height: 3.15rem;
  margin-top: 1rem;
}

/* Mobile CTA ------------------------------------------------------------- */
.product-detail__mobile-cta {
  position: fixed;
  inset: auto .75rem max(.75rem, env(safe-area-inset-bottom));
  z-index: 72;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: .75rem;
  padding: .7rem;
  color: #fff;
  background: rgb(10 34 56 / .96);
  border: 1px solid rgb(255 255 255 / .14);
  border-radius: 1rem;
  box-shadow: 0 18px 60px rgb(10 29 46 / .34);
  backdrop-filter: blur(14px);
  transition: transform .28s var(--motion-ease-standard), opacity .2s linear;
}

.product-detail__mobile-cta[hidden],
.product-detail__mobile-cta.is-hidden {
  opacity: 0;
  pointer-events: none;
  transform: translateY(calc(100% + 1.5rem));
}

.product-detail__mobile-cta > div {
  display: grid;
  gap: .1rem;
  min-width: 0;
  padding-left: .35rem;
}

.product-detail__mobile-cta span {
  color: rgb(255 255 255 / .6);
  font-size: .65rem;
  letter-spacing: .08em;
  text-transform: uppercase;
}

.product-detail__mobile-cta strong {
  overflow: hidden;
  color: #fff;
  font-size: .84rem;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.product-detail__mobile-cta .btn span {
  color: #fff;
  font-size: .76rem;
  letter-spacing: 0;
  text-transform: none;
}

/* Responsive ------------------------------------------------------------- */
@media (min-width: 48rem) {
  .product-detail__hero-grid {
    grid-template-columns: minmax(0, .96fr) minmax(24rem, 1.04fr);
  }

  .product-detail__section-grid {
    grid-template-columns: minmax(17rem, .68fr) minmax(0, 1.32fr);
    align-items: start;
  }

  .product-detail__section-head {
    grid-template-columns: minmax(0, 1fr) minmax(18rem, .72fr);
    align-items: end;
  }

  .product-detail__spec-groups {
    grid-template-columns: repeat(2, minmax(0, 1fr));
    align-items: start;
  }

  .product-detail__enquiry .enquiry-panel__layout {
    grid-template-columns: minmax(19rem, .78fr) minmax(0, 1.22fr);
  }
}

@media (min-width: 64rem) {
  .product-detail__hero-grid {
    grid-template-columns: minmax(0, 1fr) minmax(29rem, .9fr);
    gap: clamp(4rem, 6vw, 7rem);
  }

  .product-detail__stage {
    min-height: 36rem;
  }

  .product-detail__mobile-cta {
    display: none;
  }

  .single-tecovoo_product .site-footer {
    border-top: 1px solid rgb(255 255 255 / .08);
  }
}

@media (min-width: 90rem) {
  .product-detail__hero-grid {
    grid-template-columns: minmax(0, 1.04fr) minmax(31rem, .86fr);
  }

  .product-detail__stage {
    min-height: 39rem;
  }
}

@media (max-width: 47.99rem) {
  .product-detail__hero {
    padding-block-end: 3.5rem;
  }

  .product-detail__hero-grid {
    gap: 2rem;
  }

  .product-detail__stage,
  .product-detail[data-media-profile='wide'] .product-detail__stage,
  .product-detail[data-media-profile='built-in'] .product-detail__stage {
    aspect-ratio: 1 / 1.08;
    min-height: 0;
    max-height: none;
    padding: 1.35rem;
  }

  .product-detail__stage-meta {
    inset: auto .7rem .7rem;
  }

  .product-detail__summary {
    gap: 1rem;
  }

  .product-detail__title {
    max-inline-size: 100%;
    font-size: clamp(2.65rem, 11vw, 4.2rem);
  }

  .product-detail__facts {
    grid-template-columns: 1fr 1fr;
  }

  .product-detail__fact {
    min-height: 4.75rem;
    padding: .9rem;
  }

  .product-detail__actions {
    display: grid;
    grid-template-columns: 1fr;
  }

  .product-detail__actions .btn {
    width: 100%;
  }

  .product-detail__assurance {
    display: grid;
    gap: .65rem;
  }

  .product-detail__section {
    padding-block: 4rem;
  }

  .product-detail__feature-grid,
  .product-detail__spec-groups {
    grid-template-columns: 1fr;
  }

  .product-detail__feature {
    min-height: 5.25rem;
  }

  .product-detail__spec-row {
    grid-template-columns: 1fr;
    gap: .3rem;
  }

  .product-detail__spec-row dd {
    text-align: start;
  }

  .product-detail__related-grid {
    display: flex;
    gap: .85rem;
    margin-inline: calc(-1 * var(--gutter));
    padding-inline: var(--gutter);
    overflow-x: auto;
    scroll-snap-type: x mandatory;
    scrollbar-width: none;
  }

  .product-detail__related-grid::-webkit-scrollbar {
    display: none;
  }

  .product-detail__related-grid .card {
    flex: 0 0 min(82vw, 21rem);
    scroll-snap-align: start;
  }

  .product-detail__enquiry .enquiry-panel__product-summary {
    grid-template-columns: 5rem minmax(0, 1fr);
  }

  .product-detail__enquiry .enquiry-panel__content {
    padding: 1.25rem;
  }
}

@media (prefers-reduced-motion: reduce) {
  .product-detail__nav a::after,
  .product-detail__spec-toggle,
  .product-detail__mobile-cta {
    transition: none !important;
  }
}

/* TECOVOO PRODUCT DETAIL 6.7.1 HOTFIX START
   Scope: product image stage, specification hierarchy, enquiry context contrast.
*/

/* 1) Product image: imported catalogue images already have white canvases.
      The surrounding stage must therefore stay visually white too. */
.product-detail__stage {
  background: #fff !important;
  border-color: #fff !important;
  box-shadow: 0 24px 70px -52px rgb(10 34 56 / .34) !important;
}

.product-detail__stage::before {
  display: none !important;
}

.product-detail__stage-meta {
  background: rgb(255 255 255 / .94) !important;
  border-color: rgb(10 34 56 / .08) !important;
  box-shadow: none !important;
}

.product-detail[data-media-profile='very-tall'] .product-detail__image,
.product-detail[data-media-profile='tall'] .product-detail__image {
  inline-size: 76% !important;
  block-size: 88% !important;
}

/* 2) Technical data: replace the loose two-column masonry feeling with a
      deliberate 3 x 2 desktop matrix. Cards on each grid row share height. */
.product-detail__specifications {
  background: #f3efe7 !important;
}

.product-detail__specifications .product-detail__section-head {
  grid-template-columns: minmax(0, .9fr) minmax(22rem, .7fr) !important;
  gap: clamp(2rem, 5vw, 6rem) !important;
  align-items: end !important;
  margin-bottom: clamp(2.2rem, 3.5vw, 3.5rem) !important;
  padding-bottom: clamp(1.5rem, 2.2vw, 2.25rem) !important;
  border-bottom: 1px solid var(--pd-line-strong) !important;
}

.product-detail__specifications .product-detail__section-head h2 {
  max-inline-size: 15ch !important;
}

.product-detail__specifications .product-detail__section-head > p {
  max-inline-size: 46ch !important;
  justify-self: end !important;
  color: #526571 !important;
  font-size: .98rem !important;
  line-height: 1.65 !important;
}

.product-detail__spec-groups {
  display: grid !important;
  grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
  gap: 1rem !important;
  align-items: stretch !important;
}

.product-detail__spec-group {
  height: 100% !important;
  border-color: rgb(10 34 56 / .10) !important;
  border-radius: 1rem !important;
  box-shadow: 0 18px 45px -42px rgb(10 34 56 / .36) !important;
}

.product-detail__spec-group summary {
  min-height: 4.4rem !important;
  padding: 1rem 1.15rem .9rem !important;
}

.product-detail__spec-summary-copy {
  gap: .18rem !important;
}

.product-detail__spec-summary-copy strong {
  color: #0a2238 !important;
  font-size: .96rem !important;
  line-height: 1.3 !important;
}

.product-detail__spec-summary-copy span {
  color: #72808a !important;
  font-size: .72rem !important;
}

.product-detail__spec-content {
  padding: 0 1.15rem 1rem !important;
}

.product-detail__spec-row {
  grid-template-columns: minmax(7rem, .88fr) minmax(0, 1.12fr) !important;
  gap: .85rem !important;
  padding-block: .7rem !important;
}

.product-detail__spec-row dt {
  color: #667680 !important;
  font-size: .79rem !important;
  line-height: 1.42 !important;
}

.product-detail__spec-row dd {
  color: #0a2238 !important;
  font-size: .82rem !important;
  font-weight: 680 !important;
  line-height: 1.42 !important;
}

/* 3) Product enquiry context: the previous light cards inherited light text,
      which made the practical guidance effectively unreadable. Use one dark
      visual language on the navy section instead of white floating pills. */
.product-detail__enquiry .enquiry-panel__context {
  color: #fff !important;
}

.product-detail__enquiry .enquiry-panel__context-intro {
  color: rgb(255 255 255 / .76) !important;
}

.product-detail__enquiry .enquiry-panel__checklist {
  gap: .65rem !important;
}

.product-detail__enquiry .enquiry-panel__checklist li {
  grid-template-columns: 2.55rem minmax(0, 1fr) !important;
  gap: .9rem !important;
  padding: .95rem 1rem !important;
  background: rgb(255 255 255 / .055) !important;
  border: 1px solid rgb(255 255 255 / .12) !important;
  border-radius: .85rem !important;
}

.product-detail__enquiry .enquiry-panel__check-icon {
  inline-size: 2.4rem !important;
  block-size: 2.4rem !important;
  color: #8ce7de !important;
  background: rgb(255 255 255 / .075) !important;
  border-color: rgb(255 255 255 / .13) !important;
}

.product-detail__enquiry .enquiry-panel__checklist strong {
  color: #fff !important;
  font-size: .93rem !important;
  line-height: 1.35 !important;
}

.product-detail__enquiry .enquiry-panel__checklist p {
  color: rgb(255 255 255 / .72) !important;
  font-size: .82rem !important;
  line-height: 1.55 !important;
}

.product-detail__enquiry .enquiry-panel__context-note {
  color: rgb(255 255 255 / .58) !important;
}

/* 4) Small real refinements visible in the supplied screenshot. */
.product-detail__related-grid .card {
  box-shadow: 0 18px 44px -40px rgb(10 34 56 / .42) !important;
}

.product-detail__related-grid .card__media {
  background: #fff !important;
}

.product-detail__related-grid .card__image {
  max-inline-size: 86% !important;
  max-block-size: 86% !important;
}

@media (max-width: 79.99rem) {
  .product-detail__spec-groups {
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  }
}

@media (max-width: 47.99rem) {
  .product-detail__specifications .product-detail__section-head {
    grid-template-columns: 1fr !important;
    gap: .9rem !important;
    padding-bottom: 1.25rem !important;
  }

  .product-detail__specifications .product-detail__section-head > p {
    justify-self: start !important;
  }

  .product-detail__spec-groups {
    grid-template-columns: 1fr !important;
  }

  .product-detail__spec-row {
    grid-template-columns: 1fr !important;
    gap: .25rem !important;
  }

  .product-detail__spec-row dd {
    text-align: start !important;
  }
}

/* TECOVOO PRODUCT DETAIL 6.7.1 HOTFIX END */


/* ========================================================================== 
   v12 — editor-controlled gallery, captions and media scale
   ========================================================================== */
.product-detail__visual { display: grid; gap: .8rem; }
.product-detail__media-layout {
  display: grid;
  grid-template-columns: minmax(0, 1fr);
  gap: .8rem;
  min-width: 0;
}
.product-detail__image { scale: var(--media-user-scale, 1); transition: scale 220ms ease, opacity 160ms ease; }
.product-detail__image.is-switching { opacity: .18; }
.product-detail__thumbs {
  display: flex;
  gap: .55rem;
  overflow-x: auto;
  padding: .1rem .1rem .3rem;
  scrollbar-width: thin;
}
.product-detail__thumb {
  flex: 0 0 4.5rem;
  width: 4.5rem;
  aspect-ratio: 1 / 1;
  display: grid;
  place-items: center;
  padding: .35rem;
  overflow: hidden;
  background: rgb(255 255 255 / .78);
  border: 1px solid var(--pd-line);
  border-radius: .85rem;
  cursor: pointer;
  transition: border-color 160ms ease, box-shadow 160ms ease, transform 160ms ease;
}
.product-detail__thumb img { width: 100%; height: 100%; object-fit: contain; }
.product-detail__thumb.is-active,
.product-detail__thumb[aria-selected='true'] {
  border-color: var(--color-functional);
  box-shadow: 0 0 0 2px color-mix(in oklab, var(--color-functional) 18%, transparent);
}
.product-detail__thumb:focus-visible { outline: 2px solid var(--color-functional); outline-offset: 3px; }
.product-detail__media-meta {
  display: flex;
  align-items: baseline;
  justify-content: space-between;
  gap: 1rem;
  min-height: 1.4rem;
  padding-inline: .1rem;
  color: var(--pd-muted);
  font-size: .76rem;
  line-height: 1.45;
}
.product-detail__media-meta [data-gallery-caption] { max-width: 76%; }
.product-detail__media-meta [data-gallery-counter] { flex: none; font-variant-numeric: tabular-nums; }

@media (min-width: 64rem) {
  .product-detail__media-layout:has(.product-detail__thumbs) {
    grid-template-columns: 4.8rem minmax(0, 1fr);
    align-items: start;
  }
  .product-detail__thumbs {
    flex-direction: column;
    overflow-x: visible;
    overflow-y: auto;
    max-height: 43rem;
    padding: .1rem .35rem .1rem .1rem;
  }
  .product-detail__thumb { flex-basis: 4.5rem; }
}

@media (prefers-reduced-motion: reduce) {
  .product-detail__image,
  .product-detail__thumb { transition: none; }
}
