/* V13 — PRODUCT PAGE TYPOGRAPHY NORMALIZATION ONLY
   No layout, color, spacing, gallery, content, or functionality changes. */

.product-page{
  --pt-micro: 10px;
  --pt-small: 12px;
  --pt-body: 14px;
  --pt-body-mobile: 13px;
  --pt-card-title: 16px;
  --pt-price: 18px;
  --pt-section: clamp(30px,3vw,44px);
  --pt-product-title: clamp(34px,3.1vw,46px);
}

/* Product hero */
.product-page .product-meta-top,
.product-page .product-breadcrumb,
.product-page .section-eyebrow,
.product-page .costan-story-index,
.product-page .costan-process-head>p{
  font-size:var(--pt-micro)!important;
  line-height:1.3!important;
  letter-spacing:.10em!important;
}

.product-page .product-title{
  font-size:var(--pt-product-title)!important;
  line-height:1.05!important;
  letter-spacing:-.03em!important;
}

.product-page .product-subtitle{
  font-size:var(--pt-small)!important;
  line-height:1.5!important;
}

.product-page .product-price{
  font-size:var(--pt-price)!important;
  line-height:1.3!important;
}

.product-page .product-compare-price{
  font-size:var(--pt-small)!important;
  line-height:1.3!important;
}

.product-page .product-description,
.product-page .accordion-copy{
  font-size:var(--pt-body)!important;
  line-height:1.7!important;
}

/* COLOR and SIZE labels deliberately identical */
.product-page .product-color-panel-head h2,
.product-page .product-option-head span,
.product-page .product-option-head a{
  font-size:var(--pt-micro)!important;
  line-height:1.3!important;
  letter-spacing:.07em!important;
  font-weight:600!important;
}

.product-page .product-color-more{
  font-size:var(--pt-micro)!important;
  line-height:1.3!important;
}

.product-page .product-color-panel-label{
  font-size:9px!important;
  line-height:1.3!important;
}

.product-page .product-sizes span{
  font-size:var(--pt-small)!important;
  line-height:1!important;
}

.product-page .product-btn,
.product-page .product-accordions summary{
  font-size:var(--pt-micro)!important;
  line-height:1.3!important;
  letter-spacing:.06em!important;
}

/* Highlight proof rail */
.product-page .product-badges span{
  font-size:9px!important;
  line-height:1.3!important;
  letter-spacing:.045em!important;
}

/* Main section headings — one unified scale */
.product-page .costan-story-copy h2,
.product-page .costan-promise-copy h2,
.product-page .costan-process-head h2,
.product-page .section-title,
.product-page .product-chapter-head h2{
  font-size:var(--pt-section)!important;
  line-height:1.08!important;
  letter-spacing:-.03em!important;
}

/* Main body copy — one unified scale */
.product-page .costan-story-copy>p,
.product-page .costan-promise-copy>p,
.product-page .product-chapter-head>p,
.product-page .section-intro{
  font-size:var(--pt-body)!important;
  line-height:1.72!important;
}

/* Promise cards */
.product-page .costan-promise-card h3{
  font-size:var(--pt-small)!important;
  line-height:1.4!important;
  letter-spacing:.06em!important;
}

.product-page .costan-promise-card p{
  font-size:var(--pt-body)!important;
  line-height:1.68!important;
}

/* How it's made */
.product-page .costan-process-num{
  font-size:var(--pt-micro)!important;
  line-height:1!important;
}

.product-page .costan-process-body h3{
  font-size:var(--pt-card-title)!important;
  line-height:1.3!important;
  letter-spacing:-.015em!important;
}

.product-page .costan-process-body p{
  font-size:var(--pt-body)!important;
  line-height:1.68!important;
}

.product-page .costan-process-body span{
  font-size:9px!important;
  line-height:1.3!important;
  letter-spacing:.11em!important;
}

/* Existing detail/lifestyle/FAQ cards */
.product-page .detail-card h3,
.product-page .lifestyle-card h3{
  font-size:var(--pt-card-title)!important;
  line-height:1.3!important;
}

.product-page .detail-card p,
.product-page .lifestyle-card p,
.product-page .faq-answer{
  font-size:var(--pt-body)!important;
  line-height:1.68!important;
}

.product-page .faq-list-premium summary{
  font-size:var(--pt-body)!important;
  line-height:1.45!important;
}

/* Drawer */
.product-page .color-drawer-head span{
  font-size:var(--pt-micro)!important;
}
.product-page .color-drawer-head h2{
  font-size:24px!important;
  line-height:1.08!important;
}
.product-page .color-drawer-copy strong{
  font-size:var(--pt-small)!important;
}
.product-page .color-drawer-copy em{
  font-size:9px!important;
}

/* Mobile: preserve hierarchy, simply scale it down consistently */
@media(max-width:640px){
  .product-page{
    --pt-micro: 9px;
    --pt-small: 11px;
    --pt-body: var(--pt-body-mobile);
    --pt-card-title: 15px;
    --pt-price: 17px;
    --pt-section: clamp(27px,7.8vw,34px);
    --pt-product-title: clamp(30px,8.8vw,38px);
  }

  .product-page .product-badges span{
    font-size:8px!important;
  }

  .product-page .product-color-panel-label{
    font-size:8px!important;
  }

  .product-page .costan-promise-card h3{
    font-size:11px!important;
  }

  .product-page .costan-process-body span,
  .product-page .color-drawer-copy em{
    font-size:8px!important;
  }

  .product-page .color-drawer-head h2{
    font-size:22px!important;
  }
}
