/* Product detail only: preserve the approved Marini homepage. */
.product-page main { max-width: 1560px; }
.product-page a:focus-visible, .product-page summary:focus-visible { outline: 2px solid var(--m-forest); outline-offset: 5px; }
.product-breadcrumb { display: flex; flex-wrap: wrap; gap: .5rem 1rem; padding-block: 1.6rem; font-size: .75rem; color: var(--m-muted); }
.product-breadcrumb a:hover { text-decoration: underline; }
.product-hero { display: grid; grid-template-columns: minmax(0,1fr) minmax(0,1fr); background: var(--m-paper); }
.product-packshot { display: grid; align-items: center; background: #fff; }
.product-packshot img { display: block; width: 100%; height: auto; max-height: 760px; object-fit: contain; }
.product-summary { align-self: center; padding: clamp(2rem,4.2vw,4.5rem); }
.product-brand { margin-bottom: 1.5rem; font-family: var(--m-sans); font-size: .875rem; color: var(--m-muted); }
.product-summary h1 { margin-bottom: .8rem; color: var(--m-forest); font-size: clamp(24px,2.1vw,32px); line-height: 1.55; letter-spacing: .01em; overflow-wrap: anywhere; }
.product-english { font-family: var(--m-sans); font-size: 16px; line-height: 1.7; color: var(--m-muted); letter-spacing: .035em; margin-bottom: 2rem; }
.product-tagline { font-size: 18px; color: var(--m-forest); margin-bottom: 1rem; }
.product-description { font-size: 15px; line-height: 2; color: var(--m-muted); }
.product-facts { border-top: 1px solid var(--m-line); margin: 1.75rem 0; }
.product-facts > div { display: grid; grid-template-columns: 7rem minmax(0,1fr); gap: 1rem; padding-block: .8rem; border-bottom: 1px solid var(--m-line); font-size: 14px; }
.product-facts dt { color: var(--m-muted); }
.product-facts dd { margin: 0; }
.product-inquiry { display: flex; justify-content: space-between; align-items: center; gap: 1rem; padding: 1rem 1.3rem; background: var(--m-forest); color: white; font-size: 14px; border: 1px solid var(--m-forest); }
.product-inquiry:hover { background: var(--m-deep); }
.product-section-nav { display: flex; flex-wrap: wrap; gap: 0 2.5rem; border-bottom: 1px solid var(--m-line); padding-block: .65rem; }
.product-section-nav a { padding-block: 1rem; font-size: 14px; color: var(--m-forest); }
.product-section-nav a:hover { text-decoration: underline; text-underline-offset: .5rem; }
.product-feature { display: grid; grid-template-columns: minmax(0,1fr) minmax(0,1fr); align-items: center; gap: clamp(2rem,5vw,5rem); padding-block: clamp(3rem,6vw,6rem); scroll-margin-top: 2rem; }
.product-feature-copy { padding-inline: clamp(0rem,2vw,2rem); }
.product-page h2 { color: var(--m-forest); font-size: clamp(24px,2vw,30px); line-height: 1.6; margin-bottom: 1.7rem; }
.product-feature-copy p { max-width: 34rem; font-size: 15px; color: var(--m-muted); line-height: 2.1; }
.product-lifestyle { display: block; width: 100%; height: auto; }
.product-text-link { display: inline-flex; gap: 1.5rem; align-items: center; padding-block: .5rem; border-bottom: 1px solid var(--m-line); color: var(--m-forest); font-size: 14px; }
.product-text-link:hover { border-color: var(--m-forest); }
.product-information { display: grid; grid-template-columns: minmax(0,.65fr) minmax(0,1.35fr); gap: 2rem; padding-block: 3rem; border-top: 1px solid var(--m-line); scroll-margin-top: 2rem; }
.product-information-body { max-width: 50rem; font-size: 15px; line-height: 2; }
.product-usage { display: grid; grid-template-columns: 1fr 1fr; gap: 1.5rem; margin: 0 0 1.5rem; }
.product-usage dt { margin-bottom: .5rem; font-size: 13px; color: var(--m-muted); }
.product-usage dd { margin: 0; font-size: 17px; color: var(--m-forest); }
.product-disclosure { margin-top: 2rem; border-block: 1px solid var(--m-line); }
.product-disclosure summary { cursor: pointer; padding: 1rem .4rem; color: var(--m-forest); }
.product-disclosure > div { padding: .5rem .4rem; }
.product-small { font-size: 13px; color: var(--m-muted); line-height: 1.9; }
.product-preview-note { margin-top: 1rem; border-left: 2px solid #789b8f; background: #e4ebe5; padding: 1.3rem 1.5rem; font-size: 13px; color: var(--m-muted); }
.product-preview-note strong { font-weight: 500; color: var(--m-forest); }
.product-preview-note p { margin: .4rem 0 0; }
.product-bottom-links { display: flex; flex-wrap: wrap; justify-content: space-between; gap: 1rem; padding-block: 2.5rem; border-bottom: 1px solid var(--m-line); }
.product-hero-set .product-packshot { background: #f3f4f2; }
.product-set-list { list-style: none; margin: 0 0 1.5rem; padding: 0; border-top: 1px solid var(--m-line); }
.product-set-list a { display: flex; justify-content: space-between; gap: 1rem; padding: 1rem 0; border-bottom: 1px solid var(--m-line); color: var(--m-forest); }
.product-set-list a:hover { background: var(--m-mint); }
@media (max-width: 800px) {
  .product-hero, .product-feature, .product-information { grid-template-columns: 1fr; }
  .product-packshot img { max-height: 540px; }
  .product-summary { padding: 2rem 1.5rem; }
  .product-feature-copy { padding: 0; }
  .product-feature { gap: 2rem; }
  .product-information { gap: 0; padding-block: 2.25rem; }
  .product-section-nav { justify-content: space-between; gap: .5rem; }
  .product-section-nav a { font-size: 13px; }
  .product-usage { gap: 1rem; }
  .product-usage dd { font-size: 15px; }
  .product-preview-note { padding: 1.1rem; }
}
@media (max-width: 360px) {
  .product-summary { padding: 1.5rem 1rem; }
  .product-facts > div { grid-template-columns: 6.2rem minmax(0,1fr); gap: .5rem; }
  .product-usage { grid-template-columns: 1fr; }
}
