/* Product detail: reference-led catalog composition with the current Nitoplab visual system. */
.product-detail-page {
  --product-line: #d9e4e1;
  --product-soft: #f2f6f4;
  --product-paper: #f7f9f7;
  --product-ink: #123b44;
  --product-muted: #5f747a;
  --product-teal: #087f79;
  color: var(--product-ink);
  background: #fff;
}
.product-detail-page .product-breadcrumb { background: #f7f9f8; border-bottom-color: #e1e9e7; }
.product-detail-page .breadcrumb { min-height: 50px; gap: 8px 11px; color: #72858a; font-size: 11px; white-space: nowrap; overflow-x: auto; }
.product-detail-page .breadcrumb .current { color: #264b53; }

.product-detail-page .product-overview { padding: clamp(54px, 5.8vw, 82px) 0 clamp(72px, 7vw, 104px); }
.product-detail-page .product-layout { grid-template-columns: minmax(0, 1.05fr) minmax(420px, .95fr); gap: clamp(48px, 6vw, 86px); align-items: start; }
.product-detail-page .product-gallery { position: sticky; top: 76px; }
.product-detail-page .main-visual {
  min-height: clamp(470px, 42vw, 600px);
  padding: clamp(28px, 4vw, 52px);
  border: 1px solid var(--product-line);
  border-radius: 12px;
  background: #edf3f1;
}
.product-detail-page .main-visual::before { display: none; }
.product-detail-page .main-visual img { width: 94%; height: min(480px, 35vw); mix-blend-mode: multiply; }
.product-detail-page .visual-badge { top: 20px; left: 20px; padding: 8px 11px; border-radius: 3px; background: #123f48; letter-spacing: .12em; }
.product-detail-page .zoom-note { right: 20px; bottom: 18px; color: #627b80; }
.product-detail-page .thumb-list { grid-template-columns: repeat(5, minmax(76px, 1fr)); gap: 9px; }
.product-detail-page .gallery-thumb { min-height: 82px; padding: 8px; border-radius: 7px; background: #f2f6f4; box-shadow: none; }
.product-detail-page .gallery-thumb.active,
.product-detail-page .gallery-thumb:hover { border-color: var(--product-teal); box-shadow: inset 0 0 0 1px var(--product-teal); }
.product-detail-page .gallery-thumb img { height: 64px; }

.product-detail-page .product-summary { padding-top: 4px; }
.product-detail-page .product-badges { margin-bottom: 23px; }
.product-detail-page .pill { min-height: 28px; border-radius: 3px; background: #e7f3ef; color: #176d68; letter-spacing: .03em; }
.product-detail-page .pill-amber { background: #f3eee1; color: #7e6222; }
.product-detail-page .product-model { margin-bottom: 12px; color: var(--product-teal); font-size: 13px; letter-spacing: .14em; }
.product-detail-page .product-heading { margin: 0 0 22px; font-size: clamp(38px, 4.25vw, 62px); font-weight: 620; line-height: 1.06; letter-spacing: -.035em; text-wrap: balance; }
.product-detail-page .product-intro { max-width: 64ch; margin: 0; color: var(--product-muted); font-size: 16px; line-height: 1.85; }
.product-detail-page .feature-chips { grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 0; margin: 30px 0 28px; border-block: 1px solid var(--product-line); }
.product-detail-page .feature-chip { min-height: 104px; padding: 18px 16px 17px; border: 0; border-right: 1px solid var(--product-line); border-radius: 0; background: transparent; }
.product-detail-page .feature-chip:last-child { border-right: 0; }
.product-detail-page .feature-chip strong { color: var(--product-ink); font-size: 14px; line-height: 1.4; }
.product-detail-page .feature-chip span { margin-top: 7px; color: #6b8085; font-size: 11px; line-height: 1.55; }
.product-detail-page .product-actions { margin: 28px 0 31px; }
.product-detail-page .product-primary-action { display: inline-flex; align-items: center; justify-content: space-between; gap: 34px; min-width: 184px; min-height: 50px; padding: 0 20px; border: 1px solid var(--product-teal); border-radius: 4px; color: #fff; background: var(--product-teal); box-shadow: 0 10px 22px rgba(8, 127, 121, .13); font-weight: 700; }
.product-detail-page .product-primary-action:hover { color: #fff; background: #066d68; border-color: #066d68; }
.product-detail-page .product-meta { gap: 0; padding-top: 0; border-top: 1px solid var(--product-line); }
.product-detail-page .product-meta li { grid-template-columns: 96px 1fr; gap: 18px; padding: 14px 0; border-bottom: 1px solid var(--product-line); line-height: 1.65; }
.product-detail-page .product-meta strong { color: #284e56; }
.product-detail-page .product-assurance { gap: 12px 22px; margin-top: 24px; color: #536d72; }
.product-detail-page .product-assurance .icon { width: 18px; height: 18px; }

.product-detail-page .detail-section { padding: 0 0 clamp(78px, 8vw, 118px); background: #fff; scroll-margin-top: 70px; }
.product-detail-page .detail-card { overflow: hidden; border: 1px solid var(--product-line); border-radius: 12px; background: #fff; }
.product-detail-page .tab-buttons { min-height: 66px; justify-content: flex-start; overflow-x: auto; overflow-y: hidden; background: #edf3f1; border-bottom-color: var(--product-line); scrollbar-width: none; }
.product-detail-page .tab-buttons::-webkit-scrollbar { display: none; width: 0; height: 0; }
.product-detail-page .tab-button { flex: 0 0 auto; min-width: 150px; height: 66px; padding: 0 24px; color: #5b7277; border-right-color: var(--product-line); }
.product-detail-page .tab-button:last-child { border-right: 0; }
.product-detail-page .tab-button::after { right: 24px; left: 24px; height: 2px; }
.product-detail-page .tab-button.active { color: #0b6f6b; }
.product-detail-page .tab-panel { min-height: 410px; padding: clamp(38px, 4.5vw, 64px); }
.product-detail-page .tab-panel-direct.active { display: grid; place-items: start center; }
.product-detail-page .product-panel-heading { display: grid; grid-template-columns: minmax(150px, .36fr) minmax(0, 1fr); gap: 32px; align-items: start; margin-bottom: 38px; }
.product-detail-page .product-panel-heading > span { padding-top: 10px; color: var(--product-teal); font-size: 10px; font-weight: 800; letter-spacing: .13em; }
.product-detail-page .product-panel-heading h2 { max-width: 20ch; margin: 0; font-size: clamp(30px, 3vw, 44px); font-weight: 610; line-height: 1.14; letter-spacing: -.03em; text-wrap: balance; }
.product-detail-page .product-richtext { max-width: 78ch; margin-left: calc(.36 * (100% - 32px)); color: #4f696f; font-size: 15px; line-height: 1.95; overflow-wrap: anywhere; }
.product-detail-page .product-richtext :where(h2, h3, h4) { color: var(--product-ink); line-height: 1.3; }
.product-detail-page .product-richtext :where(p, ul, ol, blockquote) { max-width: 74ch; }
.product-detail-page .product-richtext :where(ul, ol) { padding-left: 1.35em; }
.product-detail-page .product-richtext img { max-width: 100%; height: auto; margin: 24px 0; border-radius: 8px; }
.product-detail-page .product-richtext table { width: 100%; margin: 24px 0; border-collapse: collapse; color: #3f5e65; font-size: 14px; line-height: 1.65; }
.product-detail-page .product-richtext th,
.product-detail-page .product-richtext td { min-width: 110px; padding: 13px 15px; border: 1px solid var(--product-line); text-align: left; vertical-align: top; }
.product-detail-page .product-richtext th { color: #244b53; background: #edf3f1; font-weight: 700; }
.product-detail-page .product-richtext tr:nth-child(even) td { background: #f8faf9; }
.product-detail-page .product-richtext-direct { width: min(100%, 960px); max-width: 960px; margin-inline: auto; }
.product-detail-page .product-richtext.is-copy-protected { -webkit-user-select: none; user-select: none; -webkit-touch-callout: none; }
.product-detail-page .product-richtext.is-copy-protected img { pointer-events: none; -webkit-user-drag: none; user-drag: none; }
.product-detail-page .product-feature-list { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 0 34px; margin: 48px 0 0 calc(.36 * (100% - 32px)); border-top: 1px solid var(--product-line); }
.product-detail-page .product-feature-list li { min-height: 112px; padding: 22px 0 20px 29px; border-bottom: 1px solid var(--product-line); }
.product-detail-page .product-feature-list strong,
.product-detail-page .product-feature-list span { display: block; }
.product-detail-page .product-feature-list strong { color: var(--product-ink); font-size: 15px; }
.product-detail-page .product-feature-list span { margin-top: 6px; color: #6a7e83; font-size: 12px; line-height: 1.65; }
.product-detail-page .product-spec-table-wrap { max-width: 920px; margin-left: calc(.36 * (100% - 32px)); border-top: 1px solid var(--product-line); }
.product-detail-page .spec-table th,
.product-detail-page .spec-table td { padding: 17px 20px; border-bottom-color: var(--product-line); }
.product-detail-page .spec-table th { width: 31%; background: #f1f5f3; color: #264a52; }
.product-detail-page .spec-table td { color: #526a70; }
.product-detail-page .product-ordering-note { max-width: 920px; margin: 24px 0 0 calc(.36 * (100% - 32px)); padding: 18px 20px; color: #536d72; background: #eef4f1; font-size: 13px; line-height: 1.75; }
.product-detail-page .product-ordering-note p { margin: 0; }
.product-detail-page .standard-grid { grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 14px; margin-left: calc(.36 * (100% - 32px)); }
.product-detail-page .standard-card { min-height: 138px; border-radius: 8px; border-color: var(--product-line); background: #f1f5f3; }
.product-detail-page .standard-card strong { color: #136f6a; font-size: 16px; }
.product-detail-page .standard-card span { line-height: 1.65; }
.product-detail-page .tab-panel-media { padding-block: clamp(36px, 5vw, 72px); }
.product-detail-page .product-video-grid { display: grid; grid-template-columns: minmax(0, 1fr); gap: clamp(24px, 3vw, 36px); width: min(100%, 960px); margin-inline: auto; }
.product-detail-page .product-video-frame { overflow: hidden; width: 100%; aspect-ratio: 16 / 9; max-height: 540px; background: #0d333d; border-radius: 12px; box-shadow: 0 22px 56px rgba(8, 43, 58, .16); }
.product-detail-page .product-video-frame iframe { display: block; width: 100%; height: 100%; border: 0; }
.product-detail-page .product-resource-list { display: grid; grid-template-columns: minmax(0, 1fr); width: min(100%, 960px); margin-inline: auto; border-top: 1px solid var(--product-line); }
.product-detail-page .product-resource-list a { display: grid; grid-template-columns: 44px 1fr auto; gap: 18px; align-items: center; min-height: 88px; color: var(--product-ink); border-bottom: 1px solid var(--product-line); }
.product-detail-page .product-resource-list a > span { display: grid; place-items: center; width: 34px; height: 34px; border-radius: 50%; color: #fff; background: var(--product-teal); }
.product-detail-page .product-resource-list strong,
.product-detail-page .product-resource-list small { display: block; }
.product-detail-page .product-resource-list small { margin-top: 4px; color: #71858a; }
.product-detail-page .product-resource-list i { color: var(--product-teal); font-size: 11px; font-style: normal; }
.product-detail-page .product-empty { margin: 0 0 0 calc(.36 * (100% - 32px)); padding: 34px 0; color: #637a80; }

.product-detail-page .product-related-section { padding-block: clamp(76px, 7vw, 104px); background: #eaf2f0; border-block: 1px solid #dce8e5; }
.product-detail-page .product-section-head { align-items: flex-end; margin-bottom: 36px; }
.product-detail-page .product-section-head .section-title { margin: 0; font-size: clamp(32px, 3.2vw, 46px); font-weight: 610; letter-spacing: -.03em; }
.product-detail-page .related-grid { gap: 16px; }
.product-detail-page .related-card { border-radius: 8px; box-shadow: none; }
.product-detail-page .related-media { min-height: 220px; background: #f4f8f7; }
.product-detail-page .related-media img { height: 190px; mix-blend-mode: multiply; }
.product-detail-page .related-copy { min-height: 104px; padding: 18px 20px 20px; }
.product-detail-page .related-copy h3 { margin-top: 8px; font-size: 17px; }
.product-detail-page .product-contact-section { color: #fff; background: #087f7c; border-bottom: 12px solid #082f3e; }
.product-detail-page .product-contact-inner { min-height: 392px; display: flex; flex-direction: column; align-items: flex-start; justify-content: center; padding-block: clamp(72px, 8vw, 112px); }
.product-detail-page .product-contact-inner h2 { max-width: 22ch; margin: 0 0 44px; color: #fff; font-size: clamp(38px, 3.4vw, 54px); font-weight: 610; line-height: 1.08; letter-spacing: -.035em; text-wrap: balance; }
.product-detail-page .product-contact-actions { display: flex; align-items: center; gap: 32px; }
.product-detail-page .product-contact-button { min-width: 146px; min-height: 56px; display: inline-flex; align-items: center; justify-content: space-between; gap: 24px; padding: 0 28px; color: #0d3340; background: #fff; border: 1px solid #fff; border-radius: 2px; font-weight: 750; cursor: pointer; transition: color .2s ease, background .2s ease; }
.product-detail-page .product-contact-button:hover { color: #fff; background: transparent; }
.product-detail-page .product-contact-button:focus-visible { outline: 2px solid #fff; outline-offset: 4px; }
.product-detail-page .product-contact-actions > a { color: rgba(255,255,255,.86); border-bottom: 1px solid rgba(255,255,255,.42); line-height: 1.8; }
.product-detail-page .product-contact-actions > a:hover { color: #fff; border-bottom-color: #fff; }

@media (max-width: 1080px) {
  .product-detail-page .product-layout { grid-template-columns: minmax(0, 1fr) minmax(370px, .9fr); gap: 36px; }
  .product-detail-page .product-heading { font-size: 42px; }
  .product-detail-page .feature-chips { grid-template-columns: 1fr; }
  .product-detail-page .feature-chip { min-height: 0; border-right: 0; border-bottom: 1px solid var(--product-line); }
  .product-detail-page .feature-chip:last-child { border-bottom: 0; }
  .product-detail-page .related-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}

@media (max-width: 820px) {
  .product-detail-page .product-overview { padding-top: 36px; }
  .product-detail-page .product-layout { grid-template-columns: 1fr; }
  .product-detail-page .product-gallery { position: static; }
  .product-detail-page .main-visual { min-height: 430px; }
  .product-detail-page .main-visual img { height: 350px; }
  .product-detail-page .feature-chips { grid-template-columns: repeat(3, minmax(0, 1fr)); }
  .product-detail-page .feature-chip { border-right: 1px solid var(--product-line); border-bottom: 0; }
  .product-detail-page .feature-chip:last-child { border-right: 0; }
  .product-detail-page .product-panel-heading { grid-template-columns: 1fr; gap: 10px; }
  .product-detail-page .product-panel-heading > span { padding-top: 0; }
  .product-detail-page .product-richtext,
  .product-detail-page .product-feature-list,
  .product-detail-page .product-spec-table-wrap,
  .product-detail-page .product-ordering-note,
  .product-detail-page .standard-grid,
  .product-detail-page .product-video-grid,
  .product-detail-page .product-resource-list,
  .product-detail-page .product-empty { margin-left: 0; }
}

@media (max-width: 620px) {
  .product-detail-page .product-richtext { overflow-x: auto; }
  .product-detail-page .product-richtext table { min-width: 560px; }
  .product-detail-page .breadcrumb { min-height: 44px; }
  .product-detail-page .product-overview { padding: 24px 0 62px; }
  .product-detail-page .product-layout { gap: 30px; }
  .product-detail-page .main-visual { min-height: 330px; padding: 22px; border-radius: 8px; }
  .product-detail-page .main-visual img { width: 100%; height: 280px; }
  .product-detail-page .visual-badge { top: 14px; left: 14px; }
  .product-detail-page .zoom-note { display: none; }
  .product-detail-page .thumb-list { grid-template-columns: repeat(4, minmax(66px, 1fr)); overflow-x: auto; }
  .product-detail-page .gallery-thumb { min-height: 70px; }
  .product-detail-page .gallery-thumb img { height: 54px; }
  .product-detail-page .product-heading { font-size: 34px; line-height: 1.13; }
  .product-detail-page .product-intro { font-size: 14px; line-height: 1.75; }
  .product-detail-page .feature-chips { grid-template-columns: 1fr; }
  .product-detail-page .feature-chip { border-right: 0; border-bottom: 1px solid var(--product-line); }
  .product-detail-page .feature-chip:last-child { border-bottom: 0; }
  .product-detail-page .product-primary-action { width: 100%; }
  .product-detail-page .product-meta li { grid-template-columns: 84px 1fr; }
  .product-detail-page .detail-section { padding-bottom: 64px; }
  .product-detail-page .detail-card { width: 100%; border-inline: 0; border-radius: 0; }
  .product-detail-page .tab-button { min-width: max-content; height: 58px; padding-inline: 18px; }
  .product-detail-page .tab-panel { min-height: 340px; padding: 34px 20px 40px; }
  .product-detail-page .product-panel-heading h2 { font-size: 30px; }
  .product-detail-page .product-feature-list { grid-template-columns: 1fr; }
  .product-detail-page .spec-table th,
  .product-detail-page .spec-table td { display: block; width: 100%; }
  .product-detail-page .spec-table th { padding-bottom: 7px; border-bottom: 0; }
  .product-detail-page .spec-table td { padding-top: 7px; }
  .product-detail-page .standard-grid { grid-template-columns: 1fr; }
  .product-detail-page .tab-panel-media { padding-block: 28px 34px; }
  .product-detail-page .product-video-frame { border-radius: 8px; box-shadow: 0 14px 34px rgba(8, 43, 58, .14); }
  .product-detail-page .product-resource-list a { grid-template-columns: 40px minmax(0, 1fr); }
  .product-detail-page .product-resource-list i { grid-column: 2; }
  .product-detail-page .related-grid { grid-template-columns: 1fr 1fr; gap: 10px; }
  .product-detail-page .related-media { min-height: 150px; padding: 12px; }
  .product-detail-page .related-media img { height: 132px; }
  .product-detail-page .related-copy { min-height: 96px; padding: 14px; }
  .product-detail-page .related-copy h3 { font-size: 14px; }
  .product-detail-page .product-contact-inner { min-height: 330px; padding-block: 62px; }
  .product-detail-page .product-contact-inner h2 { margin-bottom: 34px; font-size: 35px; }
  .product-detail-page .product-contact-actions { align-items: flex-start; flex-direction: column; gap: 24px; }
}

@media (prefers-reduced-motion: reduce) {
  .product-detail-page .main-visual img,
  .product-detail-page .related-card { transition: none; }
}
