/* Shared product detail template. */
.product-detail-main { width: 100%; }
.product-detail-page {
  --product-accent: var(--red, #c53236);
  --product-heading: var(--red, #c53236);
  --product-ink: #153348;
  --product-muted: #5f7482;
  width: 100%;
  overflow: clip;
  background: #fff;
  color: var(--product-ink);
}
.product-detail-hero {
  display: grid;
  grid-template-columns: repeat(2,minmax(0,1fr));
  gap: clamp(12px,1.25vw,20px);
  min-height: calc(100svh - var(--header-height));
  padding: clamp(12px,1.25vw,20px) var(--gutter);
  background: #f3f1ef;
}
.product-detail-left { display: flex; min-width: 0; flex-direction: column; padding: clamp(20px,2.5vh,36px) clamp(30px,3.9vw,74px); border: 1px solid rgba(32,33,36,.12); border-radius: 22px; background-color: #f5f4f1; background-image: var(--product-hero-image); background-position: center; background-size: cover; color: #202124; }
.product-detail-heading { min-width: 0; }
.product-detail-breadcrumb { display: flex; flex-wrap: wrap; gap: 9px; color: #55585a; font-size: 10px; line-height: 1.6; }
.product-detail-breadcrumb a { color: inherit; text-decoration: none; transition: color .18s ease; }
.product-detail-breadcrumb a:hover { color: var(--red-dark, #a8232c); text-decoration: underline; }
.breadcrumb-divider { color: #858789; }
.product-detail-identity { margin-top: clamp(18px,2.6vh,30px); }
.product-detail-category { margin: 0 0 15px; color: #a8232c; font-size: 10px; font-weight: 700; line-height: 1.5; text-transform: uppercase; }
.product-detail-identity h1 { max-width: 760px; margin: 0; color: #202124; font-family: "Unbounded",sans-serif; font-size: clamp(28px,2.35vw,45px); font-weight: 600; line-height: 1.2; text-wrap: balance; overflow-wrap: anywhere; }
.product-detail-actions { display: flex; flex-wrap: wrap; gap: 10px; margin-top: clamp(20px,3vh,34px); }
.product-action { display: inline-flex; min-height: 46px; align-items: center; justify-content: center; padding: 10px 15px; border: 1px solid transparent; border-radius: 5px; font-size: 11px; font-weight: 600; line-height: 1.4; text-align: center; text-decoration: none; transition: background-color .18s ease,color .18s ease,border-color .18s ease; }
.product-action-primary { border-color: var(--product-accent); background: var(--product-accent); color: #fff; }
.product-action-primary:hover { border-color: var(--red-dark, #a8232c); background: var(--red-dark, #a8232c); }
.product-action-secondary { border-color: rgba(32,33,36,.42); color: #202124; }
.product-action-secondary:hover { background: #fff; color: var(--charcoal, #27292b); }
.product-detail-highlights { display: grid; width: min(100%,490px); gap: 4px; margin: clamp(22px,3.2vh,38px) 0 0; }
.product-detail-highlight { display: grid; min-width: 0; grid-template-columns: minmax(0,.8fr) minmax(0,1fr); gap: 5px; }
.product-detail-highlight dt, .product-detail-highlight dd { display: flex; min-width: 0; min-height: 44px; align-items: center; margin: 0; padding: 9px 12px; border: 1px solid rgba(32,33,36,.15); border-radius: 4px; font-size: 11.5px; line-height: 1.4; overflow-wrap: anywhere; }
.product-detail-highlight dt { color: #55585a; font-weight: 600; text-transform: uppercase; }
.product-detail-highlight dd { color: #202124; font-weight: 600; font-variant-numeric: tabular-nums; }
.product-detail-bottom { display: flex; flex-direction: column; gap: clamp(14px,2.5vh,28px); margin-top: auto; padding-top: clamp(18px,3vh,34px); }
.product-detail-scroll { display: grid; width: 44px; height: 44px; place-items: center; border: 1px solid rgba(32,33,36,.5); border-radius: 6px; color: #202124; font-family: Arial,sans-serif; font-size: 22px; line-height: 1; transition: background-color .18s ease,color .18s ease; }
.product-detail-scroll:hover { background: #fff; color: var(--charcoal, #27292b); }
.product-detail-summary { max-width: 720px; margin: 0; color: #303234; font-size: clamp(13px,1vw,17px); line-height: 1.65; }
.product-detail-gallery { display: grid; min-width: 0; place-items: center; overflow: hidden; padding: clamp(20px,3vw,48px); border: 1px solid #e4e1de; border-radius: 22px; background: #fff; }
.product-detail-image-frame { display: grid; width: 100%; height: 100%; min-height: 0; place-items: center; }
.product-detail-image { display: block; width: min(82%,650px); max-height: min(65svh,650px); object-fit: contain; }
.product-detail-image-caption { align-self: end; margin: 8px 0 0; color: #65717a; font-size: 11px; line-height: 1.5; text-align: center; }
.product-detail-image-frame.is-image-unavailable { align-content: center; gap: 18px; padding: clamp(25px,5vw,70px); background: #f5f5f4; }
.product-detail-image-mark { color: var(--product-accent); font-size: 11px; font-weight: 700; }
.product-detail-image-name { max-width: 700px; color: var(--charcoal, #27292b); font-size: clamp(28px,3.8vw,52px); font-weight: 600; line-height: 1.2; overflow-wrap: anywhere; }
.product-detail-page .product-detail-left a:focus-visible { outline: 3px solid #fff; outline-offset: 4px; }
.product-content-section { width: min(100% - 40px,1240px); margin: clamp(22px,3vw,38px) auto; padding: clamp(30px,4vw,56px); border-radius: 12px; background: #fff; box-shadow: 0 8px 28px rgba(26,66,88,.045); }
.product-section-heading { display: grid; grid-template-columns: 42px minmax(0,1fr); gap: clamp(16px,3vw,34px); align-items: start; }
.product-section-index { margin: 4px 0 0; color: var(--product-heading); font-size: 12px; font-weight: 750; letter-spacing: .08em; }
.product-section-heading-copy { max-width: 980px; }
.product-section-kicker { margin: 0 0 10px; color: var(--product-heading); font-size: 10px; font-weight: 750; letter-spacing: .13em; line-height: 1.5; text-transform: uppercase; }
.product-section-heading h2 { margin: 0; color: var(--product-heading); font-size: clamp(27px,3.3vw,44px); font-weight: 650; letter-spacing: -.035em; line-height: 1.12; }
.product-section-description { max-width: 780px; margin: 13px 0 0; color: #5d7481; font-size: 14px; line-height: 1.75; }
.product-detail-overview { width: 100%; margin: 0; padding: 0 var(--gutter) 8px; background: #e6e9ec; }
.product-detail-overview-inner { min-height: 350px; padding: clamp(36px,4vw,70px) clamp(30px,4vw,76px); border-radius: 8px; background: #fff; color: var(--ink, #202124); }
.product-detail-overview.has-features .product-detail-overview-inner { min-height: 560px; }
.product-overview-label { margin: 0; font-size: 13px; font-weight: 600; line-height: 1.5; }
.product-overview-mark { display: grid; width: 32px; height: 32px; place-items: center; margin-top: clamp(36px,3vw,58px); border-radius: 6px; background: var(--product-accent); color: #fff; font-family: Arial,sans-serif; font-size: 24px; font-weight: 700; line-height: 1; }
.product-overview-title { margin: clamp(38px,3vw,60px) 0 0; font-size: clamp(18px,1.2vw,21px); font-weight: 600; line-height: 1.5; }
.product-overview-description { margin: 22px 0 0; font-size: clamp(13px,1vw,16px); line-height: 1.7; }
.product-overview-features-label { margin: 24px 0 0; font-size: clamp(13px,1vw,16px); line-height: 1.6; }
.product-detail-features { margin: 10px 0 0; padding-left: 24px; font-size: clamp(13px,1vw,16px); line-height: 1.7; }
.product-detail-features li { padding-left: 2px; }
.product-related { padding: clamp(48px,4vw,76px) 6px 8px; background: #dfe6ee; color: #111a2b; }
.product-related-heading { padding-inline: clamp(28px,4.5vw,90px); }
.product-related-heading .product-overview-mark { margin-top: clamp(58px,4.5vw,86px); }
.product-detail-technical { width: 100%; margin: 0; padding: 0 var(--gutter) 8px; background: #e6e9ec; }
.product-detail-technical-inner { display: grid; grid-template-columns: minmax(0,.94fr) minmax(0,1.06fr); gap: clamp(24px,4vw,76px); min-height: clamp(500px,38vw,710px); padding: clamp(36px,4vw,70px) clamp(30px,4vw,76px); border-radius: 8px; background: #fff; color: var(--ink, #202124); }
.product-detail-technical-copy, .product-detail-certificates { min-width: 0; }
.product-detail-technical-content { width: min(100%,780px); min-width: 0; margin-top: clamp(42px,3.4vw,66px); }
.product-detail-certificate-card { margin-top: calc(clamp(36px,3vw,58px) + 32px + clamp(42px,3.4vw,66px)); }
.product-detail-certificates > .product-overview-label { font-size: 15px; }
.product-detail-data-note.product-detail-certificate-card > p { font-size: 16px; }
.product-detail-data-note.product-detail-certificate-card > .product-detail-data-note-kicker { font-size: 12px; }
.product-detail-certificate-card .product-inline-link { font-size: 13px; }
.product-detail-specs { display: grid; grid-template-columns: minmax(150px,.44fr) minmax(0,1fr); gap: 6px 10px; margin: 0; font-size: clamp(11px,.82vw,15px); line-height: 1.45; }
.product-detail-specs dt, .product-detail-specs dd { display: flex; min-width: 0; min-height: 45px; align-items: center; margin: 0; padding: 10px clamp(12px,1.35vw,25px); border: 1px solid #d9e2ee; border-radius: 5px; color: var(--ink, #202124); overflow-wrap: anywhere; }
.product-detail-specs dd { font-weight: 600; }
.product-detail-data-note { max-width: 760px; padding: clamp(22px,3vw,34px); border: 1px solid #e7e7e7; border-radius: 8px; background: #fff; }
.product-detail-data-note > p { margin: 0 0 13px; color: #526c7a; font-size: 14px; line-height: 1.75; }
.product-detail-data-note > .product-detail-data-note-kicker { color: var(--product-heading); font-size: 10px; font-weight: 700; letter-spacing: .12em; text-transform: uppercase; }
.product-inline-link { display: inline-flex; align-items: center; gap: 9px; color: var(--product-accent); font-size: 11px; font-weight: 700; text-decoration: none; }
.product-inline-link::after { content: '↗'; font-size: 15px; }
.product-inline-link:hover { color: var(--red-dark, #a9232e); }
.product-detail-applications { margin: 0; padding: clamp(48px,4vw,76px) 6px 8px; background: #dfe6ee; color: #111a2b; }
.product-applications-heading { padding-inline: clamp(28px,4.5vw,90px); }
.product-applications-heading .product-overview-mark { margin-top: clamp(58px,4.5vw,86px); }
.product-application-grid { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap: 10px; margin-top: clamp(60px,4.3vw,82px); }
.product-application-card { min-width: 0; min-height: 340px; padding: clamp(25px,2.6vw,50px); border-radius: 8px; background: #fff9f2; }
.product-application-card:nth-child(3n+2) { background: #eef0ff; }
.product-application-card:nth-child(3n) { background: #f7f9ff; }
.product-application-grid > .product-application-card:only-child { min-height: 220px; }
.product-application-card.product-application-card-guidance { background: #fff; }
.product-application-heading { display: grid; grid-template-columns: 66px minmax(0,1fr); gap: clamp(20px,2.1vw,40px); align-items: center; }
.product-application-icon { display: grid; width: 66px; height: 66px; place-items: center; border: 1px solid #ed6b00; border-radius: 8px; }
.product-application-card:nth-child(n+2) .product-application-icon { border-color: #2342ed; }
.product-application-icon img { width: 32px; height: 32px; }
.product-application-card h3 { margin: 0; color: #101a2c; font-size: clamp(16px,1.3vw,24px); font-weight: 500; line-height: 1.4; }
.product-application-description { max-width: 400px; margin: clamp(34px,2vw,40px) 0 0 calc(66px + clamp(20px,2.1vw,40px)); color: #14233a; font-size: clamp(12px,.95vw,17px); line-height: 1.65; }
.product-application-card-guidance .product-application-description { max-width: 760px; }
.product-application-card-guidance .product-inline-link { margin: 20px 0 0 calc(66px + clamp(20px,2.1vw,40px)); }
.product-application-note { max-width: 760px; margin: clamp(60px,4.3vw,82px) 0 30px clamp(28px,4.5vw,90px); }
.product-document-section { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 10px; padding: 0 var(--gutter) 8px; background: #dfe6ee; color: #111a2b; }
.product-document-panel, .product-proposal-panel { min-width: 0; min-height: clamp(420px,30vw,560px); overflow: hidden; border-radius: 8px; }
.product-document-panel { padding: clamp(35px,3.8vw,72px) clamp(30px,4vw,76px); background: #fff; }
.product-document-panel .product-overview-mark { margin-top: clamp(42px,3vw,58px); }
.product-document-table { width: 100%; margin-top: clamp(40px,3.2vw,60px); border-collapse: collapse; color: #111a2b; font-size: clamp(11px,.78vw,14px); text-align: left; }
.product-document-table th { padding: 0 8px 28px 0; border-bottom: 1px solid #e4e7eb; font-size: 11px; font-weight: 700; white-space: nowrap; }
.product-document-table td { padding: 25px 8px 15px 0; line-height: 1.5; }
.product-document-table th:nth-child(3), .product-document-table td:nth-child(3) { text-align: center; }
.product-document-table th:last-child, .product-document-table td:last-child { padding-right: 0; text-align: right; }
.product-document-request { color: var(--product-accent); font-weight: 700; text-decoration: none; white-space: nowrap; }
.product-document-request:hover { text-decoration: underline; }
.product-proposal-panel { position: relative; display: flex; padding: clamp(35px,3.8vw,72px) clamp(30px,4vw,76px); background: var(--product-accent); color: #fff; }
.product-proposal-copy { position: relative; z-index: 1; display: flex; width: min(55%,490px); flex-direction: column; align-items: flex-start; }
.product-proposal-copy h2 { max-width: 490px; margin: 0; color: #fff; font-size: clamp(25px,2.2vw,42px); font-weight: 600; line-height: 1.18; text-wrap: balance; overflow-wrap: anywhere; }
.product-proposal-actions { display: flex; flex-wrap: wrap; align-items: center; gap: 12px; margin-top: auto; }
.product-proposal-action { min-width: 170px; border-color: #fff; border-radius: 28px; color: #fff; }
.product-proposal-actions .product-proposal-action:first-child { border-color: var(--charcoal, #303234); background: var(--charcoal, #303234); }
.product-proposal-actions .product-proposal-action:first-child:hover { border-color: #202224; background: #202224; color: #fff; }
.product-proposal-action:hover { background: #fff; color: var(--product-accent); }
.product-proposal-description { max-width: 440px; margin: clamp(26px,2.8vw,54px) 0 0; color: #fff; font-size: clamp(13px,1vw,17px); line-height: 1.55; }
.product-proposal-image { position: absolute; right: 0; bottom: 9%; width: 56%; height: 82%; object-fit: contain; object-position: right center; filter: drop-shadow(0 18px 18px rgba(75,11,13,.2)); }
.product-related-grid { display: grid; grid-template-columns: repeat(4,minmax(0,1fr)); gap: 10px; margin-top: clamp(60px,4.3vw,82px); }
.product-related-card { display: flex; min-width: 0; height: clamp(390px,30vw,560px); flex-direction: column; overflow: hidden; border-radius: 8px; background: #fff; color: #111a2b; text-decoration: none; transition: box-shadow .2s ease,transform .2s ease; }
.product-related-card:hover { transform: translateY(-3px); box-shadow: 0 12px 25px rgba(41,57,74,.12); }
.product-related-image-frame { display: grid; min-height: 0; flex: 1; place-items: center; overflow: hidden; padding: clamp(20px,2vw,38px); }
.product-related-image-frame img { display: block; width: 100%; height: 100%; max-height: 390px; object-fit: contain; transition: transform .25s ease; }
.product-related-card:hover .product-related-image-frame img { transform: scale(1.035); }
.product-related-copy { display: flex; min-height: 115px; align-items: center; justify-content: space-between; gap: 16px; padding: 20px clamp(22px,2.6vw,50px) clamp(25px,2.6vw,50px); }
.product-related-copy h3 { margin: 0; font-size: clamp(14px,1.05vw,20px); font-weight: 500; line-height: 1.35; overflow-wrap: anywhere; }
.product-related-arrow { display: grid; width: clamp(48px,3vw,58px); height: clamp(48px,3vw,58px); flex: 0 0 auto; place-items: center; border-radius: 8px; background: var(--charcoal, #27292b); color: #fff; font-family: Arial,sans-serif; font-size: 19px; transition: background-color .2s ease; }
.product-related-card:hover .product-related-arrow, .product-related-card:focus-visible .product-related-arrow { background: var(--product-accent); }
.product-detail-page a:focus-visible { outline: 3px solid var(--product-accent); outline-offset: 4px; }

@media (max-width: 980px) {
  .product-detail-hero { grid-template-columns: 1fr; }
  .product-detail-left { min-height: 0; }
  .product-detail-gallery { min-height: 460px; }
  .product-detail-image { max-height: 390px; }
  .product-detail-technical-inner { grid-template-columns: 1fr; min-height: 420px; }
  .product-detail-certificate-card { margin-top: 32px; }
  .product-document-section { grid-template-columns: 1fr; }
  .product-document-panel, .product-proposal-panel { min-height: 430px; }
  .product-related-grid { grid-template-columns: repeat(2,minmax(0,1fr)); }
}
@media (max-width: 900px) {
  .product-application-grid { grid-template-columns: repeat(2,minmax(0,1fr)); }
}
@media (max-width: 640px) {
  .product-detail-hero { gap: 12px; padding: 12px var(--gutter); }
  .product-detail-left { min-height: 0; padding: 27px 22px 32px; }
  .product-detail-breadcrumb { gap: 6px; font-size: 11px; }
  .product-detail-identity { margin-top: 30px; }
  .product-detail-category { margin-bottom: 9px; font-size: 10px; }
  .product-detail-identity h1 { font-size: clamp(27px,7.5vw,39px); }
  .product-detail-gallery { min-height: clamp(300px,92vw,440px); padding: 18px; border-radius: 18px; }
  .product-detail-image { width: min(80%,360px); max-height: 380px; }
  .product-detail-highlights { margin-top: 36px; }
  .product-detail-highlight dt, .product-detail-highlight dd { padding: 9px 10px; font-size: 10.5px; }
  .product-detail-bottom { gap: 28px; padding-top: 48px; }
  .product-detail-scroll { width: 46px; height: 46px; }
  .product-detail-summary { font-size: 13px; }
  .product-detail-actions { display: grid; grid-template-columns: 1fr; }
  .product-action { width: 100%; min-height: 46px; }
  .product-content-section { width: calc(100% - 32px); margin-block: 16px; padding: 25px 20px; border-radius: 9px; }
  .product-section-heading { grid-template-columns: 30px minmax(0,1fr); gap: 13px; }
  .product-section-heading h2 { font-size: clamp(25px,7.5vw,34px); }
  .product-section-description { margin-top: 10px; font-size: 13px; }
  .product-detail-overview { padding: 0 8px 8px; }
  .product-detail-overview-inner, .product-detail-overview.has-features .product-detail-overview-inner { min-height: 0; padding: 28px 22px 34px; }
  .product-overview-label { font-size: 11px; }
  .product-overview-mark { width: 29px; height: 29px; margin-top: 27px; font-size: 22px; }
  .product-overview-title { margin-top: 34px; font-size: 18px; }
  .product-overview-description, .product-overview-features-label, .product-detail-features { font-size: 12px; }
  .product-overview-description { margin-top: 17px; }
  .product-overview-features-label { margin-top: 19px; }
  .product-detail-features { margin-top: 9px; padding-left: 20px; }
  .product-detail-technical { padding: 0 8px 8px; }
  .product-detail-technical-inner { min-height: 0; padding: 28px 22px 34px; }
  .product-detail-technical-content { margin-top: 32px; }
  .product-detail-certificate-card { margin-top: 32px; }
  .product-detail-certificates > .product-overview-label { font-size: 13px; }
  .product-detail-data-note.product-detail-certificate-card > p { font-size: 15px; }
  .product-detail-data-note.product-detail-certificate-card > .product-detail-data-note-kicker { font-size: 11px; }
  .product-detail-certificate-card .product-inline-link { font-size: 12px; }
  .product-detail-specs { grid-template-columns: minmax(95px,.8fr) minmax(0,1.2fr); gap: 5px; font-size: 10.5px; }
  .product-detail-specs dt, .product-detail-specs dd { min-height: 42px; padding: 9px 10px; }
  .product-detail-applications { padding-top: 34px; }
  .product-applications-heading { padding-inline: 22px; }
  .product-applications-heading .product-overview-mark { margin-top: 32px; }
  .product-application-grid, .product-related-grid { grid-template-columns: 1fr; }
  .product-application-grid { gap: 8px; margin-top: 38px; }
  .product-application-card { min-height: 220px; padding: 24px; }
  .product-application-heading { grid-template-columns: 54px minmax(0,1fr); gap: 18px; }
  .product-application-icon { width: 54px; height: 54px; }
  .product-application-icon img { width: 28px; height: 28px; }
  .product-application-card h3 { font-size: 16px; }
  .product-application-description { max-width: none; margin: 26px 0 0 72px; font-size: 12px; }
  .product-application-note { margin: 38px 22px 25px; }
  .product-document-section { gap: 8px; padding: 0 8px 8px; }
  .product-document-panel { min-height: 310px; padding: 28px 22px 35px; }
  .product-document-panel .product-overview-mark { margin-top: 28px; }
  .product-document-table { margin-top: 35px; font-size: 10px; }
  .product-document-table th { padding-bottom: 14px; font-size: 9px; }
  .product-document-table td { padding-top: 17px; }
  .product-document-request { white-space: normal; }
  .product-proposal-panel { display: block; min-height: 590px; padding: 32px 24px; }
  .product-proposal-copy { width: 100%; }
  .product-proposal-copy h2 { font-size: clamp(25px,7vw,36px); }
  .product-proposal-actions { display: grid; grid-template-columns: 1fr; gap: 10px; margin-top: 22px; }
  .product-proposal-action { width: 100%; }
  .product-proposal-description { max-width: 330px; margin-top: 22px; font-size: 13px; }
  .product-proposal-image { right: -2%; bottom: 2%; width: 96%; height: 46%; }
  .product-related { padding-top: 34px; }
  .product-related-heading { padding-inline: 22px; }
  .product-related-heading .product-overview-mark { margin-top: 32px; }
  .product-related-grid { gap: 8px; margin-top: 38px; }
  .product-related-card { height: auto; min-height: 400px; }
  .product-related-image-frame { min-height: 290px; padding: 26px; }
  .product-related-copy { min-height: 90px; padding: 10px 24px 25px; }
  .product-related-copy h3 { font-size: 16px; }
  .product-related-arrow { width: 48px; height: 48px; }
}
@media (prefers-reduced-motion: reduce) {
  .product-action, .product-related-card, .product-related-arrow, .product-related-image-frame img { transition: none; }
}
