/* Product page - tabs, dossier, production, reviews shell, page separators */

/* Breadcrumb band - below hero */
#pgprod .pp-breadcrumb{
  border-top: 1px solid var(--ink);
  border-bottom: 1px solid var(--ink);
  background: var(--bone-2);
}

#pgprod .pp-breadcrumb__inner{
  padding-block: 0.85rem;
}

#pgprod .pp-breadcrumb .mb-cathead__crumbs{
  padding: 0;
}

@media (max-width: 767px){
  #pgprod .pp-breadcrumb {
    margin: 0;
    background: color-mix(in srgb, var(--ink) 7%, var(--bone-2));
  }

  #pgprod .pp-breadcrumb__inner {
    padding-block: 0.85rem;
  }
}

/* Tab section - match fd-filter tabs (product/multi) */
#pgprod .pp-product-tabs{
  --pp-tabs-gap-top: clamp(3rem, 6vw, 5rem);
  --pp-tabs-block-pad-bottom: clamp(1.4rem, 2.6vw, 2.4rem);
  --pp-description-pad-bottom: clamp(1.75rem, 3.5vw, 2.75rem);
  background: var(--paper);
  border-bottom: 1px solid var(--ink);
}

/* Bootstrap grid loads after product CSS and re-adds column gutters */
#pgprod #content.col-md-12{
  padding-left: 0 !important;
  padding-right: 0 !important;
  /* Legacy #content { min-height: 500px; padding-bottom: 100px } reserves space
     for old in-column modules (specimen sync carousel, content_top). New layout puts
     related products outside this wrapper - do not force a min height here. */
  min-height: 0;
  padding-bottom: 0;
}

#pgprod > .container:has(> .row > #content.col-md-12){
  min-height: 0;
}

#pgprod .pp-tab-v1 .panel-heading{
  margin: 0;
  margin-block-start: 0;
  padding: var(--pp-tabs-gap-top) 0 0;
  padding-inline: 0 !important;
  text-align: left;
  background: transparent;
  border: 0;
}

/* Bootstrap .nav clearfix pseudo-elements become stray flex items */
#pgprod .pp-tabs__nav.nav::before,
#pgprod .pp-tabs__nav.nav::after,
#pgprod ul.nav.nav-tabs.pp-tabs__nav::before,
#pgprod ul.nav.nav-tabs.pp-tabs__nav::after{
  display: none !important;
  content: none !important;
}

#pgprod .pp-tabs__toolbar{
  --pp-toolbar-text-gap: clamp(0.85em, 1.4vw, 1.05em);
  display: flex;
  flex-wrap: wrap;
  align-items: flex-end;
  justify-content: flex-start;
  gap: 0.5rem 1rem;
  margin: 0 0 2rem;
  padding: 0;
  padding-inline: 0;
  border-bottom: 1px solid var(--hairline);
}

#pgprod .pp-tabs__toolbar .pp-tabs__nav,
#pgprod .pp-tabs__toolbar .pp-tabs__nav.nav-tabs,
#pgprod .pp-tabs__toolbar ul.nav.nav-tabs.pp-tabs__nav{
  flex: 1 1 auto;
  width: auto;
  max-width: none;
  margin-bottom: 0 !important;
}

#pgprod .pp-tabs__nav,
#pgprod .pp-tabs__nav.nav-tabs,
#pgprod ul.nav.nav-tabs.pp-tabs__nav{
  display: flex;
  flex-wrap: wrap;
  gap: 1.4rem;
  align-items: flex-end;
  justify-content: flex-start;
  float: none;
  overflow: visible;
  border: 0;
  margin: 0 !important;
  padding: 0 !important;
  list-style: none;
  width: 100%;
  max-width: 100%;
  text-align: left;
}

#pgprod .pp-product-tabs ul.nav-tabs li,
#pgprod .pp-tabs__nav > li,
#pgprod .pp-tabs__nav.nav-tabs > li,
#pgprod ul.nav-tabs.pp-tabs__nav > li,
#pgprod ul.nav.nav-tabs.pp-tabs__nav > li,
#pgprod ul.nav-tabs li{
  float: none;
  margin: 0 !important;
  padding: 0 !important;
  border: 0 !important;
  background: transparent !important;
  position: relative;
}

#pgprod .pp-product-tabs ul.nav-tabs li:first-child,
#pgprod .pp-tabs__nav > li:first-child,
#pgprod ul.nav-tabs.pp-tabs__nav > li:first-child{
  margin-inline-start: 0 !important;
  padding-inline-start: 0 !important;
}

#pgprod .pp-tabs__nav > li.active,
#pgprod .pp-tabs__nav.nav-tabs > li.active,
#pgprod ul.nav-tabs.pp-tabs__nav > li.active{
  border: 0 !important;
  background: transparent !important;
  color: inherit;
}

#pgprod .pp-product-tabs .tab-v1 .nav-tabs > li > a,
#pgprod .pp-tabs__nav > li > a,
#pgprod .pp-tabs__nav.nav-tabs > li > a,
#pgprod ul.nav-tabs.pp-tabs__nav > li > a,
#pgprod ul.nav.nav-tabs.pp-tabs__nav > li > a{
  position: relative;
  display: inline-block;
  min-width: 0;
  margin: 0 !important;
  margin-inline-start: 0 !important;
  background: transparent;
  border: 0;
  border-radius: 0;
  padding: 0.2em 0 var(--pp-toolbar-text-gap, 0.65em);
  color: var(--muted);
  font-family: var(--sans-bold);
  font-weight: normal;
  font-size: var(--fs-cap);
  letter-spacing: var(--tracked);
  text-transform: uppercase;
  line-height: 1.2;
  text-decoration: none;
  cursor: pointer;
  transition: color 0.2s ease;
}

/* Remove legacy theme triangle under active tab (ul.nav-tabs li.active::after) */
#pgprod ul.nav-tabs li.active::after,
#pgprod ul.nav-tabs > li.active::after{
  display: none !important;
  content: none !important;
  border: 0 !important;
}

#pgprod .pp-tabs__nav > li > a::after,
#pgprod .pp-tabs__nav.nav-tabs > li > a::after,
#pgprod ul.nav-tabs.pp-tabs__nav > li > a::after,
#pgprod ul.nav.nav-tabs.pp-tabs__nav > li > a::after,
#pgprod .pp-product-tabs .tab-v1 .nav-tabs > li > a::after{
  content: '';
  position: absolute;
  left: 0;
  right: 0;
  bottom: -1px;
  height: 2px;
  background: var(--terracotta);
  transform: scaleX(0);
  transform-origin: left;
  transition: transform 0.25s ease;
}

#pgprod .pp-tabs__nav > li > a:hover,
#pgprod .pp-tabs__nav > li.active > a,
#pgprod .pp-tabs__nav > li > a.active,
#pgprod .pp-tabs__nav > li.active > a:focus,
#pgprod .pp-tabs__nav > li > a.active:focus,
#pgprod .pp-tabs__nav > li.active > a:hover,
#pgprod .pp-tabs__nav.nav-tabs > li > a:hover,
#pgprod .pp-tabs__nav.nav-tabs > li.active > a,
#pgprod .pp-tabs__nav.nav-tabs > li > a.active,
#pgprod .pp-tabs__nav.nav-tabs > li.active > a:focus,
#pgprod .pp-tabs__nav.nav-tabs > li > a.active:focus,
#pgprod .pp-tabs__nav.nav-tabs > li.active > a:hover,
#pgprod ul.nav-tabs.pp-tabs__nav > li > a:hover,
#pgprod ul.nav-tabs.pp-tabs__nav > li.active > a,
#pgprod ul.nav-tabs.pp-tabs__nav > li > a.active,
#pgprod ul.nav.nav-tabs.pp-tabs__nav > li > a:hover,
#pgprod ul.nav.nav-tabs.pp-tabs__nav > li.active > a,
#pgprod ul.nav.nav-tabs.pp-tabs__nav > li > a.active,
#pgprod .pp-product-tabs .tab-v1 .nav-tabs > li.active > a,
#pgprod .pp-product-tabs .tab-v1 .nav-tabs > li > a.active,
#pgprod .pp-product-tabs .tab-v1 .nav-tabs > li > a:hover{
  background: transparent;
  color: var(--ink);
  border: 0;
}

#pgprod .pp-tabs__nav > li.active > a::after,
#pgprod .pp-tabs__nav > li > a.active::after,
#pgprod .pp-tabs__nav.nav-tabs > li.active > a::after,
#pgprod .pp-tabs__nav.nav-tabs > li > a.active::after,
#pgprod ul.nav-tabs.pp-tabs__nav > li.active > a::after,
#pgprod ul.nav-tabs.pp-tabs__nav > li > a.active::after,
#pgprod ul.nav.nav-tabs.pp-tabs__nav > li.active > a::after,
#pgprod ul.nav.nav-tabs.pp-tabs__nav > li > a.active::after,
#pgprod .pp-product-tabs .tab-v1 .nav-tabs > li.active > a::after,
#pgprod .pp-product-tabs .tab-v1 .nav-tabs > li > a.active::after{
  transform: scaleX(1);
}

#pgprod .pp-tabs__content{
  padding-block: 0 var(--pp-tabs-block-pad-bottom);
  /* Legacy .tab-content { min-height: 250px } leaves a void below short descriptions */
  min-height: 0;
}

#pgprod .pp-tabs__content > .tab-pane.active{
  /* Legacy .tab-content > .active { margin-bottom: 50px } */
  margin-bottom: 0;
}

#pgprod .pp-tab-panel{
  max-width: none;
}

/* Dossier + spec ledger - shared monospace (Key data values) */
#pgprod{
  --pp-type: 'Courier New', Courier, ui-monospace, monospace;
  --pp-type-size: 0.75rem;
}

#pgprod .pp-dossier{
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: clamp(2rem, 5vw, 4rem);
  align-items: start;
}

#pgprod .pp-dossier--solo{
  grid-template-columns: 1fr;
}

#pgprod #tab-description .pp-dossier{
  padding-bottom: var(--pp-description-pad-bottom);
}

#pgprod .pp-dossier--solo .pp-dossier__copy #description-content{
  max-width: none;
}

#pgprod .pp-dossier h2,
#pgprod .pp-reviews h2,
#pgprod .pp-production h2{
  margin: 0;
  font-family: var(--serif);
  font-variation-settings: 'wght' 400;
  font-weight: normal;
  font-size: clamp(2.6rem, 5vw, 5rem);
  line-height: 0.92;
}

#pgprod .pp-dossier h2 em,
#pgprod .pp-reviews h2 em,
#pgprod .pp-production h2 em{
  font-family: var(--italic);
  font-variation-settings: 'wght' 400;
  font-weight: normal;
  color: var(--terracotta);
}

#pgprod .pp-dossier__copy{
  display: flex;
  flex-direction: column;
  align-items: stretch;
}

#pgprod .pp-dossier__copy #description-content{
  margin-top: 0;
  max-width: 70ch;
  font-family: var(--pp-type);
  font-size: var(--pp-type-size);
  font-weight: 400;
  font-style: normal;
  line-height: 1.75;
  letter-spacing: 0.05em;
  color: var(--ink);
}

/* Beat legacy .tab-content p/span{ font-size: 14px !important } */
#pgprod .tab-content .pp-dossier__copy #description-content,
#pgprod .tab-content .pp-dossier__copy #description-content p,
#pgprod .tab-content .pp-dossier__copy #description-content span,
#pgprod .tab-content .pp-dossier__copy #description-content li{
  font-family: var(--pp-type) !important;
  font-size: var(--pp-type-size) !important;
  font-weight: 400 !important;
  font-style: normal !important;
  line-height: 1.75 !important;
  letter-spacing: 0.05em !important;
  text-transform: none !important;
  color: var(--ink) !important;
  background: transparent !important;
}

#pgprod .mb-home strong,
#pgprod .mb-home b,
#pgprod .tab-content .pp-dossier__copy #description-content strong,
#pgprod .tab-content .pp-dossier__copy #description-content b{
  font-family: var(--pp-type) !important;
  font-style: normal !important;
  font-size: inherit !important;
  letter-spacing: inherit !important;
  color: var(--ink) !important;
}

#pgprod .pp-dossier__copy #description-content p{
  margin: 1.1rem 0 0;
}

#pgprod .pp-dossier__copy #description-content p:empty,
#pgprod .pp-dossier__copy #description-content p:has(> br:only-child){
  display: none;
  margin: 0;
}

#pgprod .pp-dossier__copy #description-content p br{
  display: none;
}

#pgprod .pp-dossier__copy #description-content h1,
#pgprod .pp-dossier__copy #description-content h2,
#pgprod .pp-dossier__copy #description-content h3{
  font-family: var(--serif);
  font-variation-settings: 'wght' 400;
  font-weight: normal;
  line-height: 0.95;
}

/* Dossier + product information index (Concept 02 styling) */
#pgprod .pp-spec-index{
  border: 1px solid var(--ink);
  background: var(--bone);
  padding: clamp(1.6rem, 3.5vw, 2.6rem);
}

#pgprod .tab-content .pp-spec-index__bar{
  padding-bottom: 1.2rem;
  border-bottom: 2px solid var(--ink);
  margin-bottom: 1.6rem;
}

#pgprod .tab-content .pp-spec-index__bar h3{
  margin: 0 !important;
  font-family: var(--serif) !important;
  font-variation-settings: 'wght' 400;
  font-weight: normal;
  font-size: 1.7rem !important;
  line-height: 1.1 !important;
  letter-spacing: normal !important;
  color: var(--ink) !important;
}

#pgprod .tab-content .pp-spec-index__bar h3 em{
  font-family: var(--italic) !important;
  font-variation-settings: 'wght' 400;
  font-weight: normal;
  font-style: italic !important;
}

#pgprod .tab-content .pp-spec-index__row{
  display: flex;
  align-items: baseline;
  gap: 0.4rem;
  padding: 0.32rem 0;
}

#pgprod .tab-content .pp-spec-index__label{
  font-family: var(--italic) !important;
  font-variation-settings: 'wght' 400;
  font-weight: normal;
  font-style: italic !important;
  font-size: 1.06rem !important;
  line-height: 1.35 !important;
  color: var(--terracotta) !important;
  white-space: nowrap;
  background: transparent !important;
}

#pgprod .tab-content .pp-spec-index__label b{
  font-family: var(--serif) !important;
  font-variation-settings: 'wght' 400;
  font-weight: normal;
  font-style: normal !important;
  font-size: inherit !important;
  line-height: inherit !important;
  color: var(--terracotta) !important;
  background: transparent !important;
}

#pgprod .pp-spec-index__dots{
  flex: 1;
  border-bottom: 2px dotted var(--hairline);
  transform: translateY(-0.28em);
  min-width: 1.2rem;
}

#pgprod .pp-dossier .pp-spec-index__value,
#pgprod .tab-content .pp-spec-index__value{
  flex-shrink: 0;
  max-width: 58%;
  min-width: 0;
  font-family: var(--pp-type) !important;
  font-size: var(--pp-type-size) !important;
  font-weight: 400 !important;
  font-style: normal !important;
  line-height: 1.75 !important;
  letter-spacing: 0.05em;
  color: var(--ink) !important;
  text-align: right !important;
  background: transparent !important;
}

#pgprod .pp-dossier .pp-spec-index__value .measurement-metric,
#pgprod .pp-dossier .pp-spec-index__value .measurement-imperial,
#pgprod .pp-dossier .pp-spec-index__value .measurement-single,
#pgprod .pp-dossier .pp-spec-index__value .measurement-paired,
#pgprod .tab-content .pp-spec-index__value .measurement-metric,
#pgprod .tab-content .pp-spec-index__value .measurement-imperial,
#pgprod .tab-content .pp-spec-index__value .measurement-single,
#pgprod .tab-content .pp-spec-index__value .measurement-paired{
  font-family: inherit !important;
  font-size: inherit !important;
  font-weight: inherit !important;
  font-style: inherit !important;
  line-height: inherit !important;
  letter-spacing: inherit;
  color: inherit !important;
  background: transparent !important;
}

/* Reviews shell - matches customer-reviews-rows.html demo */
#pgprod .ref{
  display: inline-flex;
  align-items: center;
  gap: 0.5em;
  font-family: var(--sans-bold);
  font-weight: normal;
  letter-spacing: var(--tracked, 0.18em);
  text-transform: uppercase;
  font-size: var(--fs-micro, 0.45rem);
}

#pgprod .ref::before{
  content: "";
  width: 2px;
  height: 0.85em;
  background: var(--terracotta);
  border-radius: 1px;
  display: inline-block;
  flex-shrink: 0;
}

#pgprod .stars{
  display: inline-flex;
  gap: 0.12em;
  font-size: 0.95rem;
  line-height: 1;
  letter-spacing: 0;
}

#pgprod .stars i{
  font-style: normal;
  color: var(--ink);
}

#pgprod .stars i.is-empty{
  color: var(--hairline);
}

#pgprod .micro{
  font-family: var(--sans);
  font-weight: 500;
  font-size: var(--fs-micro, 0.45rem);
  letter-spacing: var(--tracked-wide, 0.32em);
  text-transform: uppercase;
  color: var(--muted);
}

/* Undo legacy tab-content typography overrides inside reviews */
#pgprod .tab-content .pp-reviews .micro,
#pgprod .pp-reviews .micro{
  font-family: var(--sans) !important;
  font-weight: 500 !important;
  font-size: var(--fs-micro) !important;
  letter-spacing: var(--tracked-wide) !important;
  text-transform: uppercase !important;
}

#pgprod .tab-content .pp-reviews .ref,
#pgprod .pp-reviews .ref{
  font-family: var(--sans-bold) !important;
  font-weight: normal !important;
  font-size: var(--fs-micro) !important;
  letter-spacing: var(--tracked) !important;
  text-transform: uppercase !important;
}

#pgprod .pp-reviews__head{
  display: grid;
  grid-template-columns: 1fr auto;
  gap: 1.5rem 2rem;
  align-items: end;
  padding-bottom: clamp(1.6rem, 3vw, 2.4rem);
}

#pgprod .pp-reviews__title{
  margin: 0.5rem 0 0;
  font-family: var(--serif);
  font-variation-settings: 'wght' 400;
  font-weight: normal;
  font-size: var(--fs-h3, clamp(2rem, 4.5vw, 3rem));
  line-height: 0.95;
}

#pgprod .pp-reviews__title em{
  font-family: var(--italic);
  font-variation-settings: 'wght' 400;
  font-weight: normal;
  font-style: italic;
  color: var(--terracotta);
}

#pgprod .pp-reviews__score{
  display: flex;
  align-items: center;
  gap: 0.75rem;
  text-align: right;
  justify-self: end;
}

/* Beat .tab-content b{ font-size: 14px !important } on the rating total */
#pgprod .tab-content .pp-reviews .pp-reviews__score b,
#pgprod .pp-reviews .pp-reviews__score b{
  font-family: var(--serif) !important;
  font-variation-settings: 'wght' 400;
  font-weight: normal;
  font-size: 2.4rem !important;
  line-height: 1;
  letter-spacing: 0 !important;
}

#pgprod .pp-reviews__score-meta{
  display: flex;
  flex-direction: column;
  align-items: flex-end;
  gap: 0.25rem;
}

#pgprod .tab-content .pp-reviews .pp-reviews__score-stars,
#pgprod .pp-reviews .pp-reviews__score-stars{
  display: inline-flex;
  gap: 0.12em;
  font-size: 0.95rem !important;
  line-height: 1;
  letter-spacing: 0 !important;
  text-transform: none !important;
}

#pgprod .pp-reviews__score-stars i{
  font-style: normal;
  color: var(--ink);
}

#pgprod .pp-reviews__score-stars i.is-empty{
  color: var(--hairline);
}

#pgprod .pp-reviews__score-count{
  display: block;
  margin-top: 0.3rem;
  color: var(--muted);
  font-size: var(--fs-micro) !important;
  letter-spacing: var(--tracked-wide) !important;
}

#pgprod .pp-reviews__body{
  margin-top: 0;
}

#pgprod .pp-reviews__body .inner{
  padding: 0;
}

/* Hide default CI Review Pro aggregate (shown in header instead) */
#pgprod .pp-reviews #cireview-aggerate,
#pgprod .pp-reviews #cireviewgraph{
  display: none !important;
}

/* Production hero card + timeline */
#pgprod .pp-production--loading{
  min-height: 12rem;
}

#pgprod .pp-production__visual:has(> img.lazy[src*="loading.svg"])::before,
#pgprod .pp-production__visual:has(> img.lazy.mb-lazy-loaded:not(.mb-lazy-revealed))::before{
  content: '';
  display: block;
  aspect-ratio: 1 / 1;
  background: rgba(242, 239, 228, 0.08);
}

#pgprod .pp-production__hero{
  position: relative;
  overflow: hidden;
  margin-bottom: clamp(2rem, 4vw, 3rem);
  background: var(--moss-deep);
  color: var(--bone);
  border: 1px solid var(--ink);
}

#pgprod .pp-production__hero-grid{
  display: grid;
  grid-template-columns: minmax(0, 1.05fr) minmax(0, 0.88fr) minmax(0, 1fr);
  gap: clamp(1.2rem, 3vw, 2.4rem);
  align-items: center;
  padding: clamp(1.4rem, 2.8vw, 2.2rem);
}

#pgprod .pp-production__kicker{
  color: var(--amber);
}

#pgprod .pp-production__hero-copy .pp-production__title{
  margin-top: 0.8rem;
  font-size: clamp(2rem, 3.4vw, 3.4rem);
  line-height: 0.92;
  color: var(--bone);
}

#pgprod .pp-production__hero-copy .pp-production__title em{
  color: var(--amber);
}

#pgprod .pp-production__visual{
  margin: 0;
  aspect-ratio: 1 / 1;
  border: 1px solid rgba(242, 239, 228, 0.22);
  overflow: hidden;
}

#pgprod .pp-production__visual img{
  display: block;
  width: 100%;
  height: 100%;
  object-fit: cover;
}

#pgprod .pp-production__hero-text p{
  margin: 0;
  font-size: 1.05rem;
  line-height: 1.55;
  color: rgba(242, 239, 228, 0.85);
}

#pgprod .pp-production__steps{
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(0, 0.82fr);
  gap: clamp(2rem, 4vw, 3rem);
  align-items: stretch;
}

#pgprod .pp-production__steps-visual{
  position: relative;
  margin: 0;
  min-height: 0;
  border: 1px solid var(--hairline);
  overflow: hidden;
}

#pgprod .pp-production__steps-visual img{
  display: block;
  width: 100%;
  height: 100%;
  object-fit: cover;
}

@media (min-width: 901px){
  #pgprod .pp-production__steps-visual:has(> img.lazy[src*="loading.svg"])::before,
  #pgprod .pp-production__steps-visual:has(> img.lazy.mb-lazy-loaded:not(.mb-lazy-revealed))::before{
    content: '';
    position: absolute;
    inset: 0;
    background: rgba(242, 239, 228, 0.08);
  }

  #pgprod .pp-production__steps-visual img{
    position: absolute;
    inset: 0;
  }
}

#pgprod .pp-timeline{
  counter-reset: step;
  margin: 0;
  padding: 0;
  list-style: none;
  border-top: 1px solid var(--ink);
}

#pgprod .pp-timeline li{
  counter-increment: step;
  display: grid;
  grid-template-columns: 70px 1fr;
  gap: 1rem;
  padding: 1.2rem 0;
  border-bottom: 1px solid var(--hairline);
}

#pgprod .pp-timeline li::before{
  content: "0" counter(step);
  font-family: var(--serif);
  font-variation-settings: 'wght' 400;
  font-weight: normal;
  font-size: 2rem;
  line-height: 1;
  color: var(--terracotta);
}

#pgprod .pp-timeline strong{
  display: block;
  margin-bottom: 0.25rem;
  font-family: 'Nantes-Upright', var(--serif) !important;
  font-variation-settings: 'wght' 400;
  font-weight: normal;
  font-size: 1.2rem !important;
}

#pgprod .pp-timeline span{
  display: block;
  color: var(--muted);
  font-size: 0.95rem;
}

/* Measurement toggle - segmented control, right of tab buttons (desktop) */
#pgprod .pp-measure-toggle{
  display: none;
  flex: 0 0 auto;
  align-items: center;
  justify-content: flex-end;
  flex-wrap: nowrap;
  gap: 0.85rem;
  max-width: 100%;
  margin-top: 0;
  margin-left: auto;
  padding-inline: 0.25rem 0;
  padding-bottom: var(--pp-toolbar-text-gap, 0.85em);
}

#pgprod .pp-measure-toggle.is-visible{
  display: flex;
}

#pgprod .pp-measure-toggle__label{
  flex-shrink: 0;
  padding-bottom: 0;
  color: var(--ink);
  line-height: 1.2;
  white-space: nowrap;
}

#pgprod .pp-measure-toggle__btns,
#pgprod .pp-measure-toggle .mb-seg{
  display: inline-flex;
  flex-shrink: 0;
  flex-wrap: nowrap;
  gap: 0;
  border: 1px solid var(--ink);
  background: transparent;
}

#pgprod .pp-measure-toggle__btn,
#pgprod .pp-measure-toggle .mb-seg__btn,
#pgprod .tab-content .pp-measure-toggle__btn{
  display: inline-block;
  min-width: 2.8em;
  margin: 0 !important;
  background: transparent !important;
  border: 0 !important;
  border-radius: 0;
  padding: 0.45em 1.1em;
  color: var(--muted) !important;
  font-family: var(--sans-bold) !important;
  font-weight: normal !important;
  font-size: var(--fs-cap) !important;
  letter-spacing: var(--tracked);
  text-transform: uppercase;
  line-height: 1.2;
  text-align: center;
  cursor: pointer;
  transition: background 0.18s ease, color 0.18s ease;
}

#pgprod .pp-measure-toggle__btn + .pp-measure-toggle__btn,
#pgprod .pp-measure-toggle .mb-seg__btn + .mb-seg__btn{
  border-left: 1px solid var(--ink) !important;
}

#pgprod .pp-measure-toggle__btn.active,
#pgprod .pp-measure-toggle .mb-seg__btn.active,
#pgprod .pp-measure-toggle__btn:hover,
#pgprod .pp-measure-toggle .mb-seg__btn:hover,
#pgprod .tab-content .pp-measure-toggle__btn.active,
#pgprod .tab-content .pp-measure-toggle__btn:hover{
  background: var(--ink) !important;
  color: var(--bone) !important;
}

/* Page tail - newsletter / content_bottom */
#pgprod .pp-page-tail .gallery_outer{
  display: none !important;
}

#pgprod .pp-page-tail .nl-bar__copy h2{
  font-family: var(--serif);
  font-variation-settings: 'wght' 400;
  font-weight: normal;
  font-size: clamp(2.6rem, 5vw, 5rem);
  line-height: 0.92;
}

#pgprod .pp-page-tail .nl-bar__copy h2 em{
  font-family: var(--italic);
  font-variation-settings: 'wght' 400;
  font-weight: normal;
  color: var(--terracotta);
}

/* Hide legacy tab spacing when new section classes are present */
#pgprod .pp-product-tabs.tab-v1,
#pgprod .pp-product-tabs .tab-v1{
  margin: 0;
  padding: 0;
  background: transparent;
}

#pgprod .pp-product-tabs.space-margin-tb-60{
  margin: 0;
}

@media (min-width: 768px){
  #pgprod .pp-tabs__toolbar {
    flex-wrap: nowrap;
    align-items: flex-end;
    gap: 1.25rem;
  }

  #pgprod .pp-tabs__toolbar .pp-tabs__nav,
  #pgprod .pp-tabs__toolbar .pp-tabs__nav.nav-tabs,
  #pgprod .pp-tabs__toolbar ul.nav.nav-tabs.pp-tabs__nav {
    flex: 1 1 auto;
    min-width: 0;
  }

  #pgprod .pp-measure-toggle {
    flex: 0 0 auto;
    gap: 1rem;
    padding-inline: 0.5rem 0;
  }
}

@media (max-width: 900px){
  #pgprod .pp-dossier,
  #pgprod .pp-production__hero-grid,
  #pgprod .pp-production__steps {
    grid-template-columns: 1fr;
  }

  #pgprod .pp-production__visual,
  #pgprod .pp-production__steps-visual {
    margin-inline: auto;
  }

  #pgprod .pp-production__steps-visual{
    width: 100%;
    max-width: 420px;
    aspect-ratio: 1 / 1;
  }

  #pgprod .pp-production__steps-visual:has(> img.lazy[src*="loading.svg"])::before,
  #pgprod .pp-production__steps-visual:has(> img.lazy.mb-lazy-loaded:not(.mb-lazy-revealed))::before{
    content: '';
    display: block;
    aspect-ratio: 1 / 1;
    background: rgba(242, 239, 228, 0.08);
  }

  #pgprod .pp-spec-index__label {
    white-space: normal;
  }

  #pgprod .pp-dossier .pp-spec-index__value,
  #pgprod .tab-content .pp-spec-index__value {
    max-width: min(62%, 100%);
    white-space: normal;
    word-break: break-word;
  }
}

@media (max-width: 767px){
  #pgprod .pp-product-tabs {
    --pp-tabs-gap-top: clamp(2.25rem, 7vw, 3.5rem);
    --pp-tabs-block-pad-bottom: clamp(1.25rem, 4vw, 1.6rem);
    --pp-description-pad-bottom: clamp(1.5rem, 5vw, 2.25rem);
  }

  #pgprod ul.nav.nav-tabs {
    margin: 0 !important;
    margin-inline: 0 !important;
    justify-content: flex-start !important;
  }

  #pgprod .pp-tab-v1 .panel-heading {
    margin: 0 !important;
    margin-block-start: 0 !important;
    padding: var(--pp-tabs-gap-top) 0 0 !important;
  }

  #pgprod .pp-tabs__toolbar {
    flex-direction: column;
    align-items: stretch;
    gap: 0;
    margin: 0 0 1.5rem !important;
    padding-inline: 0 !important;
    border-bottom: 0;
  }

  #pgprod .pp-tabs__toolbar .pp-tabs__nav,
  #pgprod .pp-tabs__toolbar .pp-tabs__nav.nav-tabs,
  #pgprod .pp-tabs__toolbar ul.nav.nav-tabs.pp-tabs__nav,
  #pgprod .pp-tabs__nav,
  #pgprod .pp-tabs__nav.nav-tabs,
  #pgprod ul.nav.nav-tabs.pp-tabs__nav {
    flex-wrap: nowrap;
    justify-content: flex-start !important;
    overflow-x: auto;
    -webkit-overflow-scrolling: touch;
    scrollbar-width: none;
    flex: 1 1 100%;
    min-width: 0;
    width: 100%;
    max-width: 100%;
    margin: 0 !important;
    margin-block-start: 0 !important;
    margin-inline: 0 !important;
    padding: 0 0 var(--pp-toolbar-text-gap, 0.85em) !important;
    padding-inline: 0 !important;
    scroll-padding-inline: 0;
    border-bottom: 1px solid var(--hairline);
  }

  #pgprod .pp-measure-toggle.is-visible {
    flex: 0 0 auto;
    width: 100%;
    margin: 0;
    margin-inline: 0;
    padding-top: 0.9rem;
    padding-bottom: var(--pp-toolbar-text-gap, 0.85em);
    justify-content: space-between;
    border-bottom: 1px solid var(--hairline);
  }

  #pgprod .pp-tabs__nav::-webkit-scrollbar,
  #pgprod .pp-tabs__nav.nav-tabs::-webkit-scrollbar,
  #pgprod ul.nav.nav-tabs.pp-tabs__nav::-webkit-scrollbar {
    display: none;
  }

  #pgprod .pp-product-tabs ul.nav-tabs li,
  #pgprod .pp-tabs__nav > li,
  #pgprod .pp-tabs__nav.nav-tabs > li,
  #pgprod ul.nav.nav-tabs.pp-tabs__nav > li,
  #pgprod ul.nav.nav-tabs.pp-tabs__nav > li {
    flex: 0 0 auto;
    padding: 0 !important;
    margin: 0 !important;
    margin-inline-start: 0 !important;
  }

  #pgprod .pp-tabs__nav > li:first-child > a,
  #pgprod ul.nav.nav-tabs.pp-tabs__nav > li:first-child > a {
    margin-inline-start: 0 !important;
  }
}

/* - Product reviews: row ledger (product tab) - */
#pgprod .pp-reviews__body #cireview{
  clear: both;
}

#pgprod .pp-review-ledger{
  border-top: 1px solid var(--rule);
}

#pgprod .review-row{
  display: grid;
  grid-template-columns: minmax(190px, 230px) minmax(0, 1fr) auto;
  gap: clamp(1.5rem, 3vw, 3rem);
  padding-block: clamp(1.8rem, 3.5vw, 2.6rem);
  border-bottom: 1px solid var(--hairline);
  align-items: start;
}

#pgprod .review-row:last-child{
  border-bottom: 1px solid var(--hairline);
}

#pgprod .review-row__who{
  display: flex;
  gap: 1rem;
  align-items: flex-start;
  min-width: 0;
}

/* Review avatar - keep ink fill */
#pgprod .tab-content .review-row__avatar,
#pgprod .pp-reviews .review-row__avatar{
  flex: 0 0 auto;
  width: 54px;
  height: 54px;
  background: var(--ink) !important;
  background-color: var(--ink) !important;
  color: var(--bone) !important;
  display: grid;
  place-items: center;
  font-family: var(--serif) !important;
  font-variation-settings: 'wght' 400;
  font-weight: normal;
  font-size: 1.6rem !important;
  line-height: 1;
  letter-spacing: 0 !important;
  text-transform: none !important;
}

#pgprod .review-row__meta{
  display: flex;
  flex-direction: column;
  gap: 0.35rem;
  min-width: 0;
}

#pgprod .tab-content .pp-reviews .review-row__name,
#pgprod .pp-reviews .review-row__name{
  font-family: var(--sans-bold) !important;
  font-weight: normal !important;
  font-size: 0.95rem !important;
  line-height: 1.2;
  letter-spacing: 0 !important;
  text-transform: none !important;
}

#pgprod .tab-content .pp-reviews .ref.review-row__verified,
#pgprod .pp-reviews .ref.review-row__verified{
  line-height: 1.3;
  color: var(--moss);
}

#pgprod .tab-content .pp-reviews .ref.review-row__verified::before,
#pgprod .pp-reviews .ref.review-row__verified::before{
  background: var(--moss);
}

#pgprod .tab-content .pp-reviews .micro.review-row__date,
#pgprod .pp-reviews .micro.review-row__date{
  margin-top: 0.15rem;
  line-height: 1.3;
  color: var(--muted);
}

#pgprod .tab-content .pp-reviews .stars.review-row__stars,
#pgprod .pp-reviews .stars.review-row__stars{
  margin-top: 0.1rem;
  font-size: 0.95rem !important;
  letter-spacing: 0 !important;
  text-transform: none !important;
}

#pgprod .tab-content .pp-reviews .stars.review-row__stars i,
#pgprod .pp-reviews .stars.review-row__stars i{
  font-size: inherit !important;
  font-family: inherit !important;
}

#pgprod .tab-content .pp-reviews .review-row__stars-count.micro,
#pgprod .pp-reviews .review-row__stars-count.micro{
  color: var(--muted);
  margin-left: 0.35rem;
}

#pgprod .review-row__body{
  display: flex;
  flex-direction: column;
  gap: 0.5rem;
  min-width: 0;
}

#pgprod .review-row__title{
  font-family: var(--serif);
  font-variation-settings: 'wght' 400;
  font-weight: normal;
  font-size: var(--fs-h5);
  line-height: 1.1;
  margin: 0.15rem 0 0;
}

#pgprod .tab-content .pp-reviews .review-row__text,
#pgprod .tab-content .pp-reviews .review-row__text p,
#pgprod .pp-reviews .review-row__text,
#pgprod .pp-reviews .review-row__text p{
  font-family: var(--sans) !important;
  font-weight: 400 !important;
  font-size: 0.95rem !important;
  line-height: 1.55;
  letter-spacing: 0 !important;
  text-transform: none !important;
  color: #3a372f;
  margin: 0.2rem 0 0;
  max-width: 64ch;
}

#pgprod .review-row__reply{
  margin-top: 0.5rem;
  padding-top: 0.8rem;
  border-top: 1px solid var(--hairline);
}

#pgprod .review-row__reply-text{
  margin-top: 0.35rem;
  font-size: 0.92rem;
  line-height: 1.55;
  color: var(--muted);
}

#pgprod .review-row__ratings-extra{
  list-style: none;
  margin: 0.5rem 0 0;
  padding: 0;
  display: flex;
  flex-direction: column;
  gap: 0.35rem;
}

#pgprod .review-row__actions{
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 1rem 1.5rem;
  margin-top: 0.6rem;
  padding-top: 0.8rem;
  border-top: 1px solid var(--hairline);
  font-size: 0.85rem;
}

#pgprod .review-row__media{
  min-width: 0;
  width: fit-content;
  max-width: 100%;
  justify-self: end;
}

#pgprod .review-shots{
  position: relative;
  overflow: hidden;
}

#pgprod .review-shots .swiper-wrapper{
  align-items: stretch;
}

#pgprod .review-shots .swiper-slide{
  width: auto;
  height: auto;
}

#pgprod .review-shot{
  position: relative;
  width: fit-content;
  max-width: 100%;
  background: var(--paper);
  border: 1px solid var(--hairline);
  overflow: hidden;
  margin: 0;
  cursor: pointer;
  line-height: 0;
}

#pgprod .review-shot img:not([src*="loading.svg"]){
  width: auto;
  height: auto;
  max-width: none;
  display: block;
}

/* Lazy slot - match cireviewpro thumb dimensions, not full-width square */
#pgprod .review-shot:has(> img.lazy[src*="loading.svg"])::before,
#pgprod .review-shot:has(> img.lazy.mb-lazy-loaded:not(.mb-lazy-revealed))::before{
  width: var(--pp-review-thumb-w, 100px);
  height: var(--pp-review-thumb-h, 100px);
  aspect-ratio: auto;
}

#pgprod .review-shot img.lazy[src*="loading.svg"],
#pgprod .review-shot img.lazy.mb-lazy-loaded:not(.mb-lazy-revealed){
  width: 1px !important;
  height: 1px !important;
  max-width: 1px !important;
  max-height: 1px !important;
}

#pgprod .review-shot img.lazy.mb-lazy-loaded.mb-lazy-revealed{
  position: static !important;
  width: auto !important;
  height: auto !important;
  max-width: none !important;
  max-height: none !important;
  inset: auto !important;
  object-fit: unset !important;
}

#pgprod .review-row__media--single{
  max-width: none;
}

#pgprod .review-shot--solo{
  width: auto;
  max-width: none;
}

#pgprod .review-shots__bar{
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 1rem;
  margin-top: 0.7rem;
}

#pgprod .tab-content .pp-reviews .review-shots__count,
#pgprod .pp-reviews .review-shots__count{
  font-family: var(--sans) !important;
  font-weight: 500 !important;
  font-size: var(--fs-micro) !important;
  letter-spacing: var(--tracked) !important;
  text-transform: uppercase !important;
  color: var(--muted);
}

#pgprod .review-nav{
  display: flex;
  gap: 0.4rem;
}

#pgprod .review-nav button{
  width: 30px;
  height: 30px;
  display: grid;
  place-items: center;
  background: transparent;
  border: 1px solid var(--ink);
  color: var(--ink);
  padding: 0;
  transition: background 0.2s ease, color 0.2s ease, opacity 0.2s ease;
}

#pgprod .review-nav button:hover{
  background: var(--ink);
  color: var(--bone);
}

#pgprod .review-nav button.swiper-button-disabled{
  opacity: 0.25;
  cursor: default;
}

#pgprod .review-nav button:hover.swiper-button-disabled{
  background: transparent;
  color: var(--ink);
}

#pgprod .review-nav .review-prev svg{
  transform: scaleX(-1);
}

#pgprod .review-nav svg{
  width: 13px;
  height: 13px;
}

#pgprod .pp-review-ledger__pager{
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  justify-content: space-between;
  gap: 1rem 1.5rem;
  padding-top: clamp(1.4rem, 2.5vw, 1.8rem);
  min-height: 2.1rem;
}

#pgprod .tab-content .pp-reviews .pp-review-ledger__pager-results.micro,
#pgprod .pp-reviews .pp-review-ledger__pager-results.micro{
  margin: 0 !important;
  padding: 0;
  align-self: center;
  font-family: var(--sans) !important;
  font-weight: 500 !important;
  font-size: var(--fs-micro) !important;
  line-height: 1.3 !important;
  letter-spacing: var(--tracked-wide) !important;
  text-transform: uppercase !important;
  color: var(--muted);
}

#pgprod .pp-review-ledger__pager-links{
  margin-left: auto;
  display: flex;
  align-items: center;
}

#pgprod .pp-review-ledger__pager-links .pagination{
  margin: 0;
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 2px;
}

#pgprod .pp-review-ledger__pager-links .pagination > li{
  display: inline-block;
}

#pgprod .pp-review-ledger__pager-links .pagination > li > a,
#pgprod .pp-review-ledger__pager-links .pagination > li > span{
  display: grid;
  place-items: center;
  min-width: 2.1rem;
  height: 2.1rem;
  padding: 0 0.4rem;
  border-radius: 0;
  border: 1px solid var(--hairline);
  background: var(--bone-2, #ece5d3);
  color: var(--ink);
  font-family: var(--sans-bold);
  font-weight: normal;
  font-size: var(--fs-cap, 0.6rem);
  letter-spacing: 0.02em;
  line-height: 1;
  text-decoration: none;
}

#pgprod .pp-review-ledger__pager-links .pagination > li > a:hover,
#pgprod .pp-review-ledger__pager-links .pagination > li > a:focus{
  background: var(--paper);
  border-color: var(--ink);
  color: var(--ink);
}

#pgprod .pp-review-ledger__pager-links .pagination > .active > a,
#pgprod .pp-review-ledger__pager-links .pagination > .active > a:focus,
#pgprod .pp-review-ledger__pager-links .pagination > .active > a:hover,
#pgprod .pp-review-ledger__pager-links .pagination > .active > span{
  background: var(--ink);
  border-color: var(--ink);
  color: var(--bone);
}

#pgprod .pp-review-ledger__pager-links .pagination > .disabled > a,
#pgprod .pp-review-ledger__pager-links .pagination > .disabled > a:focus,
#pgprod .pp-review-ledger__pager-links .pagination > .disabled > a:hover,
#pgprod .pp-review-ledger__pager-links .pagination > .disabled > span{
  opacity: 0.35;
  cursor: default;
  background: var(--bone-2, #ece5d3);
  border-color: var(--hairline);
  color: var(--muted);
}

/* Write review CTA - below ledger / pagination (spacing only, no extra rule) */
#pgprod .pp-reviews__foot,
#pgprod #cireview-graph.pp-reviews__foot{
  border-top: 0;
  padding-top: clamp(2.2rem, 4vw, 3rem);
  padding-bottom: clamp(1.6rem, 3vw, 2.4rem);
  margin-top: 0;
}

#pgprod #cireview-graph .cireviewgraph{
  display: none !important;
}

#pgprod .pp-reviews__write{
  max-width: 34rem;
  margin-inline: auto;
  text-align: center;
}

#pgprod .pp-reviews__write-title{
  margin: 0;
  font-family: var(--serif);
  font-variation-settings: 'wght' 400;
  font-weight: normal;
  font-size: clamp(1.55rem, 3.2vw, 2rem);
  line-height: 1.1;
  color: var(--ink);
}

#pgprod .tab-content .pp-reviews .pp-reviews__write-note,
#pgprod .pp-reviews .pp-reviews__write-note{
  margin: 0.7rem 0 0;
  font-family: var(--sans) !important;
  font-weight: 400 !important;
  font-size: 0.95rem !important;
  line-height: 1.55;
  color: #3a372f;
  text-transform: none !important;
  letter-spacing: 0 !important;
}

#pgprod .pp-reviews__write-action{
  margin-top: 1.35rem;
}

#pgprod .pp-reviews__write-msg{
  margin: 0;
  font-family: var(--sans);
  font-size: 0.92rem;
  line-height: 1.5;
  color: var(--muted);
}

#pgprod .mb-btn--moss,
#pgprod #cireview-graph .cireview-write.mb-btn--moss,
#pgprod #cireview-graph a.mb-btn--moss{
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 0.5em;
  font-family: var(--sans-bold);
  font-weight: normal;
  font-size: var(--fs-cap, 0.6rem);
  letter-spacing: var(--tracked, 0.18em);
  text-transform: uppercase;
  background: var(--moss, #1c3a2c);
  color: var(--bone);
  border: 1px solid var(--moss, #1c3a2c);
  padding: 0.95em 1.6em;
  border-radius: 0;
  line-height: 1.2;
  text-decoration: none;
  cursor: pointer;
  transition: background 0.2s ease, border-color 0.2s ease, color 0.2s ease;
}

#pgprod .mb-btn--moss:hover,
#pgprod .mb-btn--moss:focus,
#pgprod #cireview-graph .cireview-write.mb-btn--moss:hover,
#pgprod #cireview-graph a.mb-btn--moss:hover{
  background: var(--moss-deep, #122418);
  border-color: var(--moss-deep, #122418);
  color: var(--bone);
  text-decoration: none;
}

@media (max-width: 620px){
  #pgprod .pp-review-ledger__pager {
    flex-direction: column;
    align-items: flex-start;
  }

  #pgprod .pp-review-ledger__pager-links {
    margin-left: 0;
    width: 100%;
    overflow-x: auto;
    -webkit-overflow-scrolling: touch;
  }

  #pgprod .pp-review-ledger__pager-links .pagination {
    flex-wrap: nowrap;
  }
}

#pgprod .pp-review-ledger__empty{
  padding: 2rem 0;
  border-top: 1px solid var(--rule);
}

#pgprod .pp-review-ledger__empty-title{
  margin: 0;
  font-family: var(--serif);
  font-variation-settings: 'wght' 400;
  font-weight: normal;
  font-size: 1.35rem;
  line-height: 1.2;
}

/* Hide legacy cireviewpro list chrome inside the product tab */
#pgprod #cireview .cireview-list .row,
#pgprod #cireview .cireviewattach_images{
  display: none !important;
}

@media (max-width: 1000px){
  #pgprod .pp-reviews__head {
    grid-template-columns: 1fr;
    align-items: start;
  }

  #pgprod .pp-reviews__score {
    justify-self: start;
    text-align: left;
  }

  #pgprod .pp-reviews__score-meta {
    align-items: flex-start;
  }

  #pgprod .review-row {
    grid-template-columns: minmax(160px, 210px) minmax(0, 1fr);
    gap: 1.4rem clamp(1.5rem, 3vw, 2.4rem);
  }

  #pgprod .review-row__media {
    grid-column: 1 / -1;
    justify-self: start;
  }
}

@media (max-width: 620px){
  #pgprod .review-row {
    grid-template-columns: 1fr;
    gap: 1.1rem;
    padding-block: clamp(1.6rem, 6vw, 2rem);
  }

  #pgprod .tab-content .review-row__avatar,
  #pgprod .pp-reviews .review-row__avatar {
    width: 46px;
    height: 46px;
    font-size: 1.35rem !important;
  }

  #pgprod .review-row__title {
    font-size: 1.4rem;
  }
}

@media (prefers-reduced-motion: reduce){
  #pgprod .review-shots .swiper-wrapper {
    transition: none !important;
  }

  #pgprod .review-nav button {
    transition: none;
  }
}
