.editorial-pdp {
  --pdp-space: clamp(2.75rem, 2rem + 4vw, 6.75rem);
  --pdp-gap: clamp(1rem, .7rem + 2vw, 2.5rem);
  --pdp-line: color-mix(in oklch, var(--ink) 24%, transparent);
  --pdp-wash: color-mix(in oklch, var(--ink) 6%, var(--paper));
  max-inline-size: 84rem;
  margin-inline: auto;
  padding-block: .75rem var(--pdp-space);
}

.editorial-pdp :is(h1,h2,h3,p,figure,dl,dd) { margin: 0; }
.editorial-pdp h1 { font-size: clamp(2.8rem, 1.75rem + 3.55vw, 6rem); line-height: 1.01; letter-spacing: -.032em; text-wrap: balance; }
.editorial-pdp h2 { font-size: clamp(2rem, 1.45rem + 2.05vw, 4.15rem); line-height: 1.07; letter-spacing: -.025em; text-wrap: balance; }
.editorial-pdp h3 { font-size: clamp(1.15rem, 1rem + .65vw, 1.55rem); line-height: 1.15; }
.editorial-pdp a:focus-visible, .editorial-pdp summary:focus-visible { outline: 2px solid currentColor; outline-offset: 4px; }
.editorial-pdp :is(section,aside)[id] { scroll-margin-block-start: 6rem; }
.pdp-hero, .pdp-pot, .pdp-original {
  display: grid;
  grid-template-columns: repeat(2,minmax(0,1fr));
  gap: var(--pdp-gap);
  align-items: center;
}
.pdp-hero { column-gap: clamp(1.5rem, .2rem + 4vw, 5rem); }
.pdp-studio { position: relative; }
.pdp-studio img, .pdp-original img { display: block; inline-size: 100%; block-size: auto; border-radius: 1.25rem; }
.pdp-studio img { aspect-ratio: 4 / 5; object-fit: cover; }
.pdp-studio figcaption, .pdp-original figcaption { font-size: .875rem; padding: .65rem .4rem 0; }
.pdp-intro { display: grid; gap: .9rem; min-inline-size: 0; }
.editorial-pdp .pdp-kicker { display: flex; align-items: center; gap: .4rem; font-size: .9rem; font-weight: 700; margin-block-end: .15rem; }
.pdp-kicker svg, .pdp-jump svg, .pdp-offer-action svg { inline-size: 1.15em; block-size: 1.15em; flex: none; }
.pdp-scientific, .editorial-pdp .pdp-caption { font-size: .92rem; color: var(--muted); }
.editorial-pdp .pdp-lede { font-size: clamp(1.05rem, .95rem + .5vw, 1.35rem); max-inline-size: 38ch; line-height: 1.6; }
.pdp-offers { display: grid; grid-template-columns: repeat(auto-fit,minmax(min(100%,10rem),1fr)); gap: .7rem; margin-block-start: .4rem; }
.pdp-offer {
  display: grid;
  gap: .2rem;
  padding: clamp(.8rem, .65rem + 1vw, 1.35rem);
  border: 1px solid var(--pdp-line);
  border-radius: 1rem;
  background: var(--paper);
  color: var(--ink);
  text-decoration: none;
}
.pdp-offer-pair { background: color-mix(in oklch, var(--gold) 24%, var(--paper)); border-color: color-mix(in oklch, var(--ink) 40%, var(--gold)); }
.pdp-offer > span:first-child { display: flex; flex-wrap: wrap; align-items: center; gap: .2rem .45rem; font-weight: 700; }
.pdp-offer strong { font-size: clamp(1.65rem, 1.4rem + 1vw, 2.55rem); line-height: 1.25; }
.pdp-offer small { font-size: .8rem; font-weight: 600; }
.pdp-savings { font-size: .76rem; font-weight: 600; }
.pdp-offer-action { display: flex; gap: .4rem; align-items: center; font-size: .88rem; }
.pdp-jump {
  display: flex;
  flex-wrap: wrap;
  gap: .5rem;
  margin-block-start: var(--pdp-gap);
  padding-block: .75rem;
  border-block: 1px solid var(--pdp-line);
}
.pdp-jump a { display: inline-flex; gap: .35rem; align-items: center; min-block-size: 44px; padding-inline: .7rem; border-radius: .5rem; text-decoration: none; font-weight: 650; }
.pdp-section, .pdp-safety { margin-block-start: var(--pdp-space); }
.pdp-section > :is(h2,p), .pdp-section > div > :is(h2,p), .pdp-safety > :is(h2,p) { margin-block-end: .8rem; }
.pdp-section > p:not(.pdp-kicker), .pdp-section > div > p:not(.pdp-kicker), .pdp-safety p:not(.pdp-kicker) { max-inline-size: 65ch; }
.pdp-care-grid, .pdp-cycle { display: grid; grid-template-columns: repeat(auto-fit,minmax(min(100%,15rem),1fr)); gap: var(--pdp-gap); margin-block-start: 1.5rem; }
.pdp-care-grid section { border-block-start: 1px solid var(--pdp-line); padding-block-start: 1rem; }
.pdp-care-grid :is(h3,p), .pdp-cycle h3 { margin-block-end: .55rem; }
.pdp-measure, .pdp-safety { border-radius: 1.25rem; padding: clamp(1.15rem, .65rem + 2vw, 2.65rem); }
.pdp-measure { background: var(--pdp-wash); }
.pdp-measure strong { font-size: clamp(2.2rem, 1.5rem + 3vw, 4.8rem); font-weight: 750; line-height: 1.1; display: block; margin-block: .25rem .65rem; }
.pdp-safety { background: color-mix(in oklch, var(--coral) 18%, var(--paper)); border: 1px solid var(--pdp-line); }
.pdp-safety dl { display: grid; gap: 1rem; grid-template-columns: repeat(auto-fit,minmax(min(100%,16rem),1fr)); margin-block: 1.15rem; }
.pdp-safety dt { font-weight: 750; }
.pdp-cycle { padding: 0; list-style: none; counter-reset: bloom; margin-block-end: 1.25rem; }
.pdp-cycle li { counter-increment: bloom; border-block-start: 1px solid var(--pdp-line); padding-block: .85rem .5rem; }
.pdp-cycle li::before { content: "0" counter(bloom); display: block; font-size: .85rem; font-variant-numeric: tabular-nums; margin-block-end: .3rem; }
.pdp-sources { max-inline-size: 72ch; border-block-end: 1px solid var(--pdp-line); padding-block: .75rem; }
.pdp-sources summary { font-weight: 650; cursor: pointer; min-block-size: 44px; align-content: center; }
.pdp-original figure { max-inline-size: 25rem; }
.pdp-original img { max-block-size: 29rem; object-fit: contain; background: var(--pdp-wash); }
.pdp-original .button { display: inline-flex; align-items: center; gap: .45rem; }

@media (max-width: 47.5rem) {
  .pdp-hero, .pdp-pot, .pdp-original { grid-template-columns: 1fr; }
  .pdp-studio img { max-block-size: 62svh; }
}
@media (hover: hover) and (pointer: fine) {
  .pdp-offer:hover { border-color: var(--ink); background: color-mix(in oklch, var(--gold) 31%, var(--paper)); }
  .pdp-jump a:hover { background: var(--pdp-wash); text-decoration: underline; text-underline-offset: .2em; }
}
.pdp-offer:active { background: color-mix(in oklch, var(--gold) 42%, var(--paper)); }
.pdp-jump a:active { background: var(--pdp-wash); }
@media (prefers-reduced-motion: no-preference) {
  .pdp-offer-action svg { transition: transform 150ms cubic-bezier(.2,.7,.25,1); }
  .pdp-offer:active .pdp-offer-action svg { transform: scale(.88); }
  @media (hover: hover) and (pointer: fine) {
    .pdp-offer:hover .pdp-offer-action svg { transform: translateX(-.2rem); }
  }
}

.pdp-fact-links { display: grid; grid-template-columns: repeat(auto-fit,minmax(min(100%,13rem),1fr)); }
.pdp-fact-links a { gap: .65rem; padding: .5rem; }
.pdp-fact-icon { display: grid; place-items: center; flex: none; inline-size: 2.55rem; aspect-ratio: 1; border-radius: 50%; background: var(--pdp-wash); }
.pdp-fact-links a:nth-child(4) .pdp-fact-icon { background: color-mix(in oklch, var(--coral) 22%, var(--paper)); }
.pdp-fact-links strong, .pdp-fact-links a > span:last-child span { display: block; }
.pdp-fact-links a > span:last-child span { font-size: .875rem; font-weight: 500; color: var(--muted); }

.pdp-studio img.pdp-botanical-art { aspect-ratio: 460 / 480; object-fit: contain; max-block-size: 35rem; background: oklch(94% .024 78); }
.pdp-bunch .pdp-studio img.pdp-botanical-art { background: var(--pdp-wash); }
.pdp-cut-price {
  display: grid;
  grid-template-columns: repeat(auto-fit,minmax(min(100%,10rem),1fr));
  align-items: center;
  gap: .45rem 1.1rem;
  padding-block: .9rem;
  border-block: 1px solid var(--pdp-line);
}
.pdp-cut-price dt { color: var(--muted); font-size: .875rem; }
.pdp-cut-price dd { font-weight: 700; }
.pdp-cut-price dd strong { font-size: 1.9rem; line-height: 1.18; }
.pdp-cut-actions { display: flex; flex-wrap: wrap; align-items: center; gap: .65rem 1rem; }
.pdp-cut .pdp-measure strong { font-size: clamp(1.9rem, 1.3rem + 2.4vw, 3.45rem); }

.pdp-hero-facts { grid-template-areas: "visual heading" "visual buy"; grid-template-rows: 1fr 1fr; row-gap: 1rem; }
.pdp-hero-facts .pdp-studio { grid-area: visual; }
.pdp-heading { grid-area: heading; align-self: end; }
.pdp-buy { grid-area: buy; align-self: start; }
.pdp-studio-plant { justify-self: center; inline-size: min(100%, 32rem, 59svh); }
.pdp-price-glance { display: none; font-weight: 700; }
.pdp-studio-plant figcaption { text-align: center; }
.pdp-photo-label { position: absolute; z-index: 1; inset-block-start: .8rem; inset-inline-start: .8rem; padding: .28rem .65rem; border-radius: 1rem; background: var(--paper); color: var(--ink); font-size: .8rem; }
@media (max-width: 47.5rem) {
  .pdp-hero-facts { grid-template-areas: "heading" "visual" "buy"; grid-template-rows: auto; }
  .pdp-heading { gap: .4rem; }
  .pdp-hero-facts h1 { font-size: clamp(2.15rem, 1.4rem + 3.5vw, 3.25rem); }
  .pdp-hero-facts .pdp-studio { inline-size: min(100%, 36svh); justify-self: center; }
  .pdp-studio-plant img { max-block-size: none; }
  .pdp-price-glance { display: block; }
}

@media (hover: hover) and (pointer: fine) and (prefers-reduced-motion: no-preference) {
  .editorial-pdp:dir(ltr) .pdp-offer:hover .pdp-offer-action svg { transform: translateX(.2rem); }
}
.pdp-studio img.pdp-studio-reference { aspect-ratio: 1; }
