/* Boutique offer v1 — existing product and workshop photography.
   Scoped additions shared by the home, Nebula and Quasar pages. */
main section[id] { scroll-margin-top: 90px; }
.product-opening__craft {
  margin-top: 12px;
  max-width: 48ch;
  color: #d7d0c1;
  font-size: .88rem;
  line-height: 1.5;
}
.product-included {
  margin-top: 8px;
  color: var(--accent);
  font-size: .87rem;
  line-height: 1.5;
}
.product-text-link {
  display: inline-block;
  padding-block: 8px;
  color: var(--accent);
  font-size: .9rem;
  text-decoration: underline;
  text-underline-offset: .25em;
}
.product-text-link:hover { color: #fff7bd; }
.quasar-opening__actions { align-items: center; }
.home-product__offer { min-width: 0; }
.home-product__included {
  margin-top: 4px;
  color: var(--accent);
  font-size: .72rem;
  line-height: 1.4;
}
.product-construction { padding-block: clamp(48px, 6vw, 80px); }
.product-construction .feature__body .eyebrow { color: var(--accent); font-size: .72rem; }
.product-construction h2,
.product-bag h2,
.product-reviews h2 {
  margin-bottom: 18px;
  font-size: clamp(1.7rem, 3vw, 2.35rem);
  line-height: 1.12;
  font-weight: 600;
}
.product-detail-list { margin-top: 22px; }
.product-detail-list > div {
  padding-block: 13px;
  border-top: 1px solid var(--line);
}
.product-detail-list dt {
  margin-bottom: 5px;
  color: var(--text);
  font-size: .95rem;
  font-weight: 600;
}
.product-detail-list dd {
  margin: 0;
  color: var(--text-dim);
  font-size: .9rem;
  line-height: 1.5;
}
.product-bag {
  padding-block: clamp(48px, 6vw, 80px);
  background: radial-gradient(ellipse at 75% 25%, rgba(255,242,135,.04), transparent 60%), var(--bg);
  border-block: 1px solid var(--line);
}
.product-bag__grid {
  display: grid;
  grid-template-columns: minmax(0, 1.08fr) minmax(0, 1fr);
  gap: 0 clamp(28px, 5vw, 64px);
  align-items: center;
}
.product-bag__heading { grid-column: 2; grid-row: 1; align-self: end; }
.product-bag__copy { grid-column: 2; grid-row: 2; align-self: start; }
.product-bag__media {
  grid-column: 1;
  grid-row: 1 / 3;
  min-width: 0;
  overflow: hidden;
  border: 1px solid var(--line);
  border-radius: var(--radius);
  background: var(--surface);
}
.product-bag__media img { display: block; width: 100%; height: auto; }
.product-bag__media figcaption {
  padding: 13px 20px;
  color: var(--text-dim);
  font-size: .78rem;
  border-top: 1px solid var(--line);
}
.product-bag__copy > p { color: var(--text-dim); }
.product-bag__heading > .eyebrow { color: var(--accent); font-size: .72rem; margin-bottom: 14px; }
.product-bag__copy .product-text-link { margin-top: 8px; }
.product-workshop {
  display: grid;
  grid-template-columns: 104px minmax(0, 1fr);
  gap: 18px;
  align-items: start;
  margin-top: 24px;
  padding-top: 22px;
  border-top: 1px solid var(--line);
}
.product-workshop img { width: 104px; height: 104px; object-fit: cover; border-radius: 9px; }
.product-workshop .product-workshop__title { color: var(--text); font-size: .9rem; font-weight: 600; margin-bottom: 7px; }
.product-workshop p { font-size: .85rem; line-height: 1.5; }
.product-workshop .product-text-link { font-size: .82rem; margin-top: 3px; }
.product-reviews { padding-block: clamp(44px, 5vw, 72px); background: var(--bg); }
.product-reviews__heading { display: flex; align-items: end; justify-content: space-between; gap: 24px; margin-bottom: 28px; }
.product-reviews__heading .eyebrow { font-size: .72rem; margin-bottom: 12px; }
.product-reviews__heading h2 { margin-bottom: 0; }
.product-reviews__heading > p { max-width: 35ch; color: var(--text-dim); font-size: .92rem; }
.product-reviews__grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 24px; }
.product-review { min-width: 0; }
.product-review__caption { padding: 16px 2px 0; }
.product-review__caption h3 { font-size: 1.08rem; font-weight: 600; margin-bottom: 6px; }
.product-review__caption h3 span { color: var(--accent); }
.product-review__caption p { color: var(--text-dim); font-size: .86rem; }
/* A short route from the reviews to the product enquiry. */
.product-quote-section { padding-block: clamp(44px, 5vw, 72px); }
.product-quote-section .inquiry__steps { margin-top: 22px; }
.product-quote-section .inquiry__steps li { font-size: .9rem; }
.product-quote-section .inquiry__context > .eyebrow { color: var(--accent); }
@media (min-width: 901px) {
  .product-quote-section .inquiry__grid { grid-template-columns: repeat(2, minmax(0, 1fr)); row-gap: 0; }
  .product-quote-section .inquiry__context { grid-column: 1; grid-row: 1; }
  .product-quote-section .product-quote-form { grid-column: 2; grid-row: 1 / 4; }
  .product-quote-section .inquiry__steps { grid-column: 1; grid-row: 2; }
  .product-quote-section .product-workshop { grid-column: 1; grid-row: 3; }
}
@media (max-width: 900px) {
  .product-quote-section .inquiry__grid { grid-template-columns: minmax(0, 1fr); gap: 16px; }
  .product-quote-section .inquiry__context { display: contents; }
  .product-quote-section .inquiry__context > .eyebrow { grid-row: 1; margin: 0; }
  .product-quote-section .inquiry__context > h2 { grid-row: 2; margin: 0; }
  .product-quote-section .inquiry__context > p:not(.eyebrow) { grid-row: 3; }
  .product-quote-section .product-quote-form { grid-row: 4; margin-top: 10px; }
  .product-quote-section .inquiry__steps { grid-row: 5; margin-top: 14px; }
  .product-quote-section .product-workshop { grid-row: 6; margin-top: 8px; }
}
@media (max-width: 760px) {
  .product-bag__grid { grid-template-columns: minmax(0, 1fr); row-gap: 24px; }
  .product-bag__heading { grid-column: 1; grid-row: 1; }
  .product-bag__heading h2 { margin-bottom: 0; }
  .product-bag__media { grid-column: 1; grid-row: 2; }
  .product-bag__copy { grid-column: 1; grid-row: 3; }
  .product-reviews__heading { display: block; }
  .product-reviews__heading > p { margin-top: 14px; }
  .product-reviews__grid { grid-template-columns: minmax(0, 1fr); gap: 30px; }
  .product-opening__craft { font-size: .83rem; margin-top: 10px; }
  .product-included { font-size: .82rem; }
  .product-workshop { grid-template-columns: 82px minmax(0, 1fr); gap: 14px; }
  .product-workshop img { width: 82px; height: 96px; }
}
@media (max-width: 380px) {
  .product-workshop { grid-template-columns: minmax(0, 1fr); }
  .product-workshop img { width: 104px; height: 104px; }
  .quasar-opening__actions .product-text-link { flex-basis: 100%; }
}
