/* product detail page (shared across all SKUs) */

.product-hero{
  padding-top:9rem;
  background:var(--surface);
}
.product-hero__inner{
  display:grid;
  grid-template-columns:minmax(0, 1fr) minmax(0, 1.05fr);
  gap:clamp(var(--s-4), 6vw, var(--s-7));
  align-items:end;
}
@media(max-width:900px){
  .product-hero__inner{ grid-template-columns:1fr; }
}

.product-hero__copy{
  display:flex; flex-direction:column;
  gap:var(--s-3);
  padding-bottom:var(--s-4);
}
.product-hero__crumb{
  font-family:var(--font-body);
  font-size:var(--t-12);
  letter-spacing:var(--track-eyebrow);
  text-transform:uppercase;
  color:var(--ink-muted);
}
.product-hero__crumb a{
  border-bottom:1px solid var(--rule);
  padding-bottom:1px;
}
.product-hero__name{
  font-family:var(--font-display);
  font-weight:var(--w-light);
  font-size:clamp(var(--t-64), 9vw, var(--t-104));
  line-height:0.94;
  letter-spacing:-0.025em;
  margin:0;
}
.product-hero__tagline{
  font-family:var(--font-display);
  font-weight:var(--w-light);
  font-size:clamp(var(--t-26), 3vw, var(--t-40));
  line-height:1.1;
  letter-spacing:-0.015em;
  color:var(--ink-muted);
}
.product-hero__tagline em{ font-style:italic; color:var(--accent-deep); }
.product-hero__creds{
  list-style:none;
  display:flex; flex-wrap:wrap;
  gap:var(--s-1);
}
.product-hero__creds li{
  font-family:var(--font-body);
  font-size:var(--t-12);
  font-weight:var(--w-medium);
  letter-spacing:var(--track-eyebrow);
  text-transform:uppercase;
  color:var(--ink-muted);
  border:1px solid var(--rule-strong);
  padding:0.5em 0.85em;
}
.product-hero__visual{
  position:relative;
  aspect-ratio:4/5;
  overflow:hidden;
  background:var(--cream-300);
  margin:0;
}
.product-hero__visual img{
  width:100%; height:100%;
  object-fit:cover;
}


.product-detail{
  background:var(--surface);
}
.product-detail__inner{
  display:grid;
  grid-template-columns:minmax(0, 1.4fr) minmax(0, 1fr);
  gap:clamp(var(--s-5), 6vw, var(--s-7));
  align-items:start;
}
@media(max-width:900px){
  .product-detail__inner{ grid-template-columns:1fr; }
}

.product-detail__story{
  display:flex; flex-direction:column;
  gap:var(--s-3);
}
.product-detail__chapter{
  color:var(--accent);
}
.product-detail__h2{
  font-family:var(--font-display);
  font-weight:var(--w-light);
  font-size:clamp(var(--t-32), 4.5vw, var(--t-64));
  line-height:1.02;
  letter-spacing:-0.025em;
  margin-bottom:var(--s-2);
}
.product-detail__h2 em{ font-style:italic; color:var(--accent-deep); }
.product-detail__story > p{
  font-family:var(--font-display);
  font-style:italic;
  font-size:clamp(var(--t-18), 1.5vw, var(--t-21));
  line-height:1.85;
  color:var(--ink);
}
.product-detail__story > p em{ font-style:normal; }

.product-detail__block{
  margin-top:var(--s-3);
  padding-top:var(--s-3);
  border-top:1px solid var(--rule);
}
.product-detail__list{
  list-style:none;
  display:flex; flex-direction:column;
  gap:var(--s-1);
  margin-top:var(--s-1);
}
.product-detail__list li{
  font-family:var(--font-display);
  font-size:var(--t-18);
  color:var(--ink);
}
.product-detail__inline{
  margin-top:var(--s-1);
  font-family:var(--font-body);
  font-size:var(--t-14);
  letter-spacing:0.04em;
  color:var(--ink-muted);
  line-height:1.7;
}


.product-detail__data{
  background:var(--cream-100);
  padding:var(--s-4);
  display:flex; flex-direction:column;
  gap:var(--s-3);
  border:1px solid var(--rule);
}
.product-detail__nutri{
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:0;
  margin-top:var(--s-1);
  border-top:1px solid var(--rule);
  border-left:1px solid var(--rule);
}
.product-detail__nutri > div{
  padding:var(--s-2);
  border-right:1px solid var(--rule);
  border-bottom:1px solid var(--rule);
  display:flex; flex-direction:column;
  gap:4px;
}
.product-detail__nutri dt{
  font-family:var(--font-body);
  font-size:var(--t-12);
  letter-spacing:var(--track-eyebrow);
  text-transform:uppercase;
  color:var(--ink-muted);
}
.product-detail__nutri dd{
  font-family:var(--font-display);
  font-size:var(--t-32);
  font-weight:var(--w-light);
  line-height:1;
  color:var(--ink);
}
.product-detail__nutri dd small{
  font-size:0.5em;
  margin-left:2px;
  color:var(--ink-muted);
  font-family:var(--font-body);
  font-weight:var(--w-regular);
}
.product-detail__row{
  display:flex; align-items:center; justify-content:space-between;
  gap:var(--s-2);
  padding-top:var(--s-2);
  border-top:1px solid var(--rule);
  font-family:var(--font-body);
  font-size:var(--t-14);
  color:var(--ink);
}
.product-detail__row--col{
  flex-direction:column; align-items:flex-start;
  gap:var(--s-1);
}
.product-detail__certs{
  list-style:none;
  display:flex; flex-wrap:wrap;
  gap:var(--s-1);
}
.product-detail__certs li{
  font-family:var(--font-body);
  font-size:var(--t-12);
  letter-spacing:0.08em;
  text-transform:uppercase;
  color:var(--accent-deep);
  border:1px solid color-mix(in oklab, var(--accent-deep) 30%, transparent);
  padding:0.4em 0.7em;
}


.product-related__grid{
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:var(--s-3);
  margin-top:var(--s-3);
}
@media(max-width:680px){
  .product-related__grid{ grid-template-columns:1fr; }
}
.product-related__card{
  display:flex; flex-direction:column;
  gap:var(--s-1);
  padding:var(--s-4);
  background:var(--surface);
  color:inherit;
  border:1px solid var(--rule);
  transition:border-color var(--d-2) var(--ease-out),
             background var(--d-2) var(--ease-out);
}
.product-related__card:hover{
  border-color:var(--accent-deep);
  background:var(--cream-100);
}
.product-related__sku{
  font-family:var(--font-body);
  font-size:var(--t-12);
  letter-spacing:var(--track-eyebrow);
  text-transform:uppercase;
  color:var(--accent);
}
.product-related__name{
  font-family:var(--font-display);
  font-weight:var(--w-light);
  font-size:clamp(var(--t-26), 2.4vw, var(--t-32));
  line-height:1.02;
}
.product-related__name em{ font-style:italic; color:var(--accent-deep); }
.product-related__verse{
  font-family:var(--font-display);
  font-style:italic;
  font-size:var(--t-16);
  color:var(--ink-muted);
  line-height:1.6;
}
