/* Samurai product catalogue · preserve the existing corporate design system. */
.product-menu { position: relative; }
.product-menu > summary, .product-category > summary { cursor: pointer; list-style: none; }
.product-menu > summary::-webkit-details-marker, .product-category > summary::-webkit-details-marker { display: none; }
.product-menu > summary { padding-block: var(--space-xs); font-weight: 500; font-size: var(--text-sm); white-space: nowrap; }
.product-menu > summary::after, .product-category > summary::after { content: '⌄'; margin-inline-start: .4rem; }
.product-menu[open] > summary { color: var(--color-brand); }
.product-submenu { width: 18rem; padding: var(--space-md); background: var(--color-paper); border: 1px solid var(--color-line); border-radius: var(--radius-md); box-shadow: var(--shadow-float); }
.product-category > summary { padding: .5rem 0; font-weight: 700; }
.product-category ul { list-style: none; margin: .3rem 0 var(--space-sm); padding: 0; }
.product-submenu a { display: flex; align-items: center; justify-content: space-between; gap: var(--space-sm); padding: .65rem .5rem; border-radius: var(--radius-sm); }
.product-submenu a:hover, .product-submenu a:focus-visible { background: var(--color-paper-tint); }
.product-submenu small { color: var(--color-ink-soft); font-size: .72rem; }
.menu-inverters { border-block-start: 1px solid var(--color-line); }
.menu-catalogue { margin-block-start: .4rem; border-block-start: 1px solid var(--color-line); }
.datasheet-hero { display: grid; gap: var(--space-xl); align-items: center; }
.product-detail .page-hero { padding-block-start: var(--space-lg); }
.product-detail h1 { font-size: clamp(2rem, 5vw, 4.7rem); letter-spacing: -.04em; }
.product-series { color: var(--color-brand-deep); font-weight: 700; margin: 0 0 var(--space-sm); }
.product-construction { color: var(--color-ink-soft); font-weight: 500; }
.datasheet-product-image { display: grid; place-items: center; min-height: 27rem; padding: var(--space-xl); background: var(--color-paper-soft); border-radius: var(--radius-lg); }
.datasheet-product-image img { max-height: 31rem; width: auto; object-fit: contain; }
.product-stats { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: var(--space-md); margin-block-start: var(--space-xl); }
.product-stat { border-block-start: 1px solid var(--color-line); padding-block-start: var(--space-sm); }
.product-stat b { display: block; color: var(--color-brand-deep); font-size: 1.8rem; line-height: 1.2; }
.product-stat > span { font-size: var(--text-sm); color: var(--color-ink-soft); }
.datasheet-jump { padding: var(--space-md) var(--space-sm); border-block: 1px solid var(--color-line); background: var(--color-paper); }
.datasheet-jump .page-inner { display: flex; flex-wrap: wrap; gap: var(--space-lg); }
.datasheet-jump a { color: var(--color-brand-deep); font-weight: 700; font-size: var(--text-sm); }
.product-detail [id] { scroll-margin-block-start: 8rem; }
.vietnam-spotlight { margin: 0 0 var(--space-xl); text-align: center; color: var(--color-sun); font-family: var(--font-display); font-size: clamp(1.4rem,3vw,2.2rem); font-weight: 800; }
.product-features { display: grid; gap: var(--space-lg); }
.product-features article { border-block-start: 3px solid var(--color-brand-bright); padding-block-start: var(--space-md); }
.product-features h3 { color: var(--color-brand-deep); font-size: 1.2rem; line-height: 1.35; }
.product-features p { margin-block-end: 0; color: var(--color-ink-soft); }
.technical-grid { display: grid; gap: var(--space-xl); margin-block-start: var(--space-xl); align-items: start; }
.technical-block { min-width: 0; }
.technical-block h3 { color: var(--color-sun); font-size: 1.2rem; margin-block-end: var(--space-md); line-height: 1.35; }
.datasheet-table { width: 100%; border-collapse: collapse; font-size: .98rem; }
.datasheet-table th, .datasheet-table td { padding: .85rem .75rem; border-block-end: 1px solid var(--color-line); vertical-align: top; text-align: left; overflow-wrap: anywhere; }
.datasheet-table th { width: 54%; font-weight: 500; color: var(--color-ink-soft); }
.datasheet-table td { font-weight: 700; color: var(--color-brand-deep); }
.datasheet-table tr:nth-child(odd) { background: var(--color-paper-soft); }
.tint .datasheet-table tr:nth-child(odd) { background: var(--color-paper); }
.technical-condition { margin-block: var(--space-md); color: var(--color-ink-soft); line-height: 1.7; font-size: .95rem; }
.technical-figures { display: grid; gap: var(--space-xl); margin-block-start: var(--space-xl); }
.technical-figures figure { margin: 0; padding: var(--space-lg); background: white; border: 1px solid var(--color-line); }
.technical-figures img { max-height: 24rem; width: 100%; object-fit: contain; }
.technical-figures figcaption { padding-block-start: var(--space-md); color: var(--color-brand-deep); font-weight: 700; }
.catalogue-download { margin-block-start: var(--space-xl); padding: var(--space-lg); background: var(--color-paper-soft); border: 1px solid var(--color-line); border-radius: var(--radius-md); }
.catalogue-download h3 { color: var(--color-brand-deep); font-size: 1.3rem; }
.product-catalogue-grid { display: grid; gap: var(--space-xl); }
.catalogue-model { padding: var(--space-lg); background: var(--color-paper); border: 1px solid var(--color-line); border-radius: var(--radius-md); display: grid; gap: var(--space-lg); }
.catalogue-model h2 { font-size: 1.6rem; }
.catalogue-image { display: grid; place-items: center; min-height: 17rem; background: var(--color-paper-soft); border-radius: var(--radius-sm); padding: var(--space-md); }
.catalogue-image img { max-height: 18rem; width: auto; object-fit: contain; }
.inverter-coming { min-height: 55svh; display: flex; flex-direction: column; align-items: flex-start; justify-content: center; }
.coming-status { color: var(--color-sun); font-size: clamp(1.6rem,4vw,3rem); font-weight: 700; }
@media (min-width: 48rem) {
  .datasheet-hero { grid-template-columns: 1.1fr .9fr; }
  .product-features, .technical-grid, .technical-figures, .product-catalogue-grid { grid-template-columns: repeat(2,minmax(0,1fr)); }
  .catalogue-model { grid-template-columns: .8fr 1.2fr; align-items: center; }
}
@media (min-width: 68rem) {
  .product-submenu { position: absolute; top: 100%; left: -.8rem; }
}
@media (max-width: 67.99rem) {
  .site-nav.open { max-height: calc(100svh - 8rem); overflow-y: auto; }
  .product-menu > summary { font-weight: 700; font-size: 1rem; }
  .product-submenu { width: 100%; box-shadow: none; margin-block: var(--space-xs); }
}
@media print {
  .site-header,.site-footer,.datasheet-jump,.button-row,.catalogue-download,.product-detail .content-section.dark { display: none !important; }
  .page-main { padding: 0; }
  .page-hero,.content-section { padding: 1rem 0; }
  body { background: white; font-size: 10pt; }
  .datasheet-hero { grid-template-columns: 1.2fr .8fr; }
  .datasheet-product-image { min-height: 14rem; padding: .5rem; }
  .datasheet-product-image img { max-height: 15rem; }
  .technical-grid,.product-features,.technical-figures { grid-template-columns: repeat(2,minmax(0,1fr)); gap: 1.25rem; }
  .technical-block,figure,.product-features article { break-inside: avoid; }
  .technical-block h3 { break-after: avoid; }
  .datasheet-table { font-size: 9pt; }
  .datasheet-table th,.datasheet-table td { padding: .4rem; }
  .product-detail h1 { font-size: 30pt; }
}
