/* Shared product navigation and catalog pages. */
.product-menu { position: relative; }
.product-menu summary { cursor: pointer; font-size: .875rem; font-weight: 600; padding: 0; list-style: none; }
.product-menu summary::-webkit-details-marker { display: none; }
.product-menu summary::after { content: '⌄'; margin-left: 7px; position: relative; top: -2px; }
.product-menu details[open] summary { color: var(--red); }
.product-menu__links { position: absolute; top: calc(100% + 20px); left: -24px; width: 280px; background: white; padding: 12px 24px; border: 1px solid var(--line); border-radius: 12px; box-shadow: 0 16px 40px #0d152422; }
.product-menu__links a { display: block; padding: 12px 0; }
.product-menu__links li + li { border-top: 1px solid var(--line); }
@media (min-width:1081px) {
 .nav__list { align-items: baseline; }
}
@media (min-width:1081px) and (max-width:1200px) {
 .product-menu summary { font-size: .8125rem; }
}
.page-product main h1 { font-size: clamp(2.5rem, 5vw, 4.6rem); line-height: 1.06; letter-spacing: -.045em; font-weight: 650; margin: 0 0 28px; }
.page-product main h2 { font-size: clamp(2rem, 3.5vw, 3.25rem); line-height: 1.13; letter-spacing: -.035em; margin: 0 0 24px; font-weight: 650; }
.page-product main h3 { font-size: 1.45rem; line-height: 1.2; letter-spacing: -.02em; margin: 16px 0; }
.page-product p { margin-bottom: 20px; }
.page-product main a:not(.btn) { text-underline-offset: 5px; }
.product-kicker { text-transform: uppercase; letter-spacing: .14em; font-size: .73rem; font-weight: 700; color: var(--red); margin-bottom: 22px; }
.product-hero { background: var(--navy-deep); color: white; padding: 35px 0 72px; overflow: hidden; }
.product-hero .product-kicker, .product-section--dark .product-kicker, .product-cta .product-kicker { color: #ff969b; }
.product-hero__grid { display: grid; grid-template-columns: 1.15fr 1fr; gap: 60px; align-items: center; min-height: 480px; }
.product-lead { font-size: clamp(1.1rem, 1.6vw, 1.3rem); color: #cbd4e4; line-height: 1.65; max-width: 34em; }
.product-actions { display: flex; flex-wrap: wrap; align-items: center; gap: 24px; margin-top: 30px; }
.product-text-link { color: white; font-size: .95rem; }
.product-hero__visual { display: grid; place-items: center; min-width: 0; margin: 0; padding: 34px; border: 1px solid #ffffff18; background: radial-gradient(ellipse at 50% 40%,#3b527e66,transparent 72%); border-radius: 28px; }
.product-hero__visual img { width: 100%; height: 365px; object-fit: contain; filter: drop-shadow(0 28px 25px #0005); }
.product-hero__visual figcaption { color: #cbd4e4; font-size: .78rem; margin-top: 28px; text-align: center; }
.product-section { padding: 88px 0; border-bottom: 1px solid var(--line); scroll-margin-top: 125px; }
.product-section:nth-of-type(odd) { background: #f6f7f9; }
.product-split { display: grid; grid-template-columns: 1.2fr 1fr; align-items: center; gap: clamp(32px,6vw,90px); }
.product-split > * { min-width: 0; }
.product-split--text { grid-template-columns: minmax(0,850px); }
.product-split p { max-width: 65ch; color: var(--muted); }
.product-split .product-kicker { color: var(--red); }
.product-bullets { list-style: none; padding: 0; margin-top: 24px; }
.product-bullets li { border-top: 1px solid var(--line); padding: 13px 0 13px 20px; position: relative; font-size: .98rem; }
.product-bullets li::before { content: ''; position: absolute; width: 5px; height: 5px; border-radius: 50%; background: var(--red); left: 0; top: 23px; }
.product-visual { margin: 0; padding: 32px; background: white; border: 1px solid var(--line); border-radius: 20px; text-align: center; }
.product-visual img { width: 100%; height: 310px; object-fit: contain; }
.product-visual figcaption { color: var(--muted); font-size: .8rem; margin-top: 26px; }
.product-grid { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap: 22px; margin-top: 40px; }
.product-tile { padding: 32px; background: white; border: 1px solid var(--line); border-radius: 16px; }
.product-tile p { color: var(--muted); font-size: .98rem; }
.product-tile a { color: var(--red); font-weight: 600; font-size: .95rem; }
.product-number { font-size: .8rem; color: var(--red); font-family: var(--font-mono); }
.product-details { margin-top: 36px; border: 1px solid var(--line); border-radius: 12px; background: white; color: var(--text); overflow: hidden; }
.product-details summary { cursor: pointer; padding: 22px 24px; font-weight: 600; }
.product-details[open] summary { border-bottom: 1px solid var(--line); }
.product-table-wrap { max-width: 100%; overflow: auto; margin-top: 28px; border: 1px solid var(--line); border-radius: 8px; background: white; color: var(--text); }
.product-details .product-table-wrap { margin: 0; border: 0; border-radius: 0; }
.product-table { border-collapse: collapse; width: 100%; font-size: .85rem; text-align: left; }
.product-table caption { text-align: left; font-size: .8rem; color: var(--muted); padding: 14px 20px; }
.product-table th, .product-table td { padding: 16px 20px; border-bottom: 1px solid var(--line); vertical-align: top; }
.product-table thead { background: #edf0f5; }
.product-table tbody th { font-weight: 600; }
.product-table tbody tr:nth-child(even) { background: #f8f9fb; }
.product-table:not(.product-table--spec) td { white-space: nowrap; }
.product-table--spec th { width: 32%; }
.product-note { font-size: .85rem; line-height: 1.6; margin-top: 24px; color: var(--muted); }
.product-section.product-section--dark { background: var(--navy-deep); color: white; }
.product-section--dark .product-split p, .product-section--dark .product-note { color: #cbd4e4; }
.product-section--dark .product-split .product-kicker { color: #ff969b; }
.product-section--dark .product-bullets li { border-color: #ffffff25; }
.product-section--dark a:not(.btn) { color: #ff969b; }
.product-placeholder { min-height: 280px; border: 1px dashed #9ba6b8; border-radius: 12px; display: flex; flex-direction: column; justify-content: center; align-items: center; gap: 16px; padding: 24px; color: var(--navy); background: #f5f7fa; }
.product-placeholder span { font-size: 2.5rem; color: #93a0b5; }
.product-placeholder small { font-size: .8rem; color: var(--muted); }
.product-related { padding-block: 64px; }
.product-related > div { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); column-gap: 40px; }
.product-related a { display: flex; justify-content: space-between; gap: 20px; padding: 20px 0; border-bottom: 1px solid var(--line); font-weight: 600; text-decoration: none; }
.product-related a:hover { color: var(--red); }
.product-cta { padding: 80px 0; background: var(--navy); color: white; }
.product-cta p { max-width: 650px; color: #cbd4e4; }
.product-cta a:not(.btn) { display: inline-block; margin: 20px; color: white; overflow-wrap: anywhere; }
@media (max-width:1080px) {
 .product-menu summary { padding: 14px 0; font-size: 1.05rem; border-bottom: 1px solid var(--line); }
 .product-menu__links { position: static; width: auto; box-shadow: none; border: 0; padding: 0 0 0 20px; }
 .product-menu__links a { white-space: normal; }
 .site-header .nav { max-height: calc(100dvh - 64px); overflow-y: auto; }
 .product-hero__grid { gap: 28px; }
}
@media (max-width:760px) {
 .product-hero__grid, .product-split { grid-template-columns: minmax(0,1fr); }
 .product-hero { padding-bottom: 40px; }
 .product-hero__visual img { height: 280px; }
 .product-hero__visual { padding: 24px; }
 .product-section { padding: 56px 0; }
 .product-grid { grid-template-columns: minmax(0,1fr); }
 .product-tile { padding: 26px; }
 .product-visual img { height: 260px; }
 .product-related > div { grid-template-columns: minmax(0,1fr); }
 .product-table--spec th, .product-table--spec td { padding: 14px 12px; overflow-wrap: anywhere; }
 .product-cta a:not(.btn) { margin-left: 0; }
 .page-product .subnav__title { display: none; }
 .page-product .subnav__links { margin-left: 0; }
}
@media (prefers-reduced-motion:reduce) { .page-product { scroll-behavior: auto; } }

/* Sitemap 4.0: five grouped menus, with reader factors nested under readers. */
.nav-reader-links { padding-left: 18px; border-left: 2px solid var(--line); margin-bottom: 10px; }
.product-menu__links .nav-reader-links li { border: 0; }
.product-menu__links .nav-reader-links a { padding: 7px 0; font-size: .8125rem; }
.product-menu:last-child .product-menu__links { left: auto; right: 0; }
.sitemap-footer .site-footer__grid { grid-template-columns: 1.4fr repeat(5,minmax(0,1fr)); }
@media (max-width:1080px) {
 .sitemap-footer .site-footer__grid { grid-template-columns: repeat(3,minmax(0,1fr)); }
 .product-menu__links .nav-reader-links a { font-size: .95rem; }
}
@media (max-width:600px) {
 .sitemap-footer .site-footer__grid { grid-template-columns: repeat(2,minmax(0,1fr)); }
 .sitemap-footer .site-footer__brand { grid-column: 1 / -1; }
}
