/* Product-specific layout; the shared message form keeps its submission contract. */
.product-detail-page { display: block; grid-template-columns: none; gap: 0; min-height: 0; width: min(calc(100% - 80px), 1280px); max-width: 1280px; padding: 30px 0 80px; }
.product-detail-page * { letter-spacing: 0; }
.product-breadcrumb { display: flex; flex-wrap: wrap; align-items: center; gap: 10px; margin-bottom: 30px; color: #52616b; font-size: 12px; }
.product-breadcrumb a:hover, .product-category-return:hover { color: #006ca8; }
.product-breadcrumb [aria-current] { color: #172f3e; }
.product-detail-page .product-detail-intro { grid-template-columns: minmax(0, 1.08fr) minmax(0, 1fr); gap: 64px; margin-bottom: 64px; }
.product-detail-page .product-detail-cover { min-height: 0; padding: 20px; background: #f3f5f6; aspect-ratio: 6 / 5; }
.product-detail-page .product-detail-cover::before { content: none; }
.product-detail-page .product-detail-cover img { max-height: 440px; height: 100%; aspect-ratio: auto; }
.product-detail-page .product-detail-intro:not(:has(.product-detail-cover)) { grid-template-columns: minmax(0, 1fr); }
.product-detail-page .product-detail-summary { padding: 20px 0; }
.product-category { margin: 0 0 16px; color: #006ca8; font-size: 13px; font-weight: 600; }
.product-detail-page .article-header { margin-bottom: 22px; padding-bottom: 20px; }
.product-detail-page .article-header h1 { font-size: 36px; line-height: 1.35; margin: 0 0 12px; }
.product-detail-page .article-meta { color: #3f5664; font-size: 14px; }
.product-detail-page .product-detail-description { margin-bottom: 28px; font-size: 15px; line-height: 1.9; color: #455965; }
.product-summary-actions { display: flex; align-items: center; flex-wrap: wrap; gap: 26px; }
.product-summary-actions .button { height: 46px; padding: 0 22px; background: #006da8; font-size: 14px; }
.product-summary-actions .button:hover { background: #005683; }
.product-information-link { display: inline-flex; align-items: center; gap: 12px; min-height: 44px; color: #183b50; font-size: 14px; }
.product-category-return { display: inline-flex; align-items: center; gap: 10px; align-self: flex-start; margin-top: 24px; color: #52616b; font-size: 12px; min-height: 32px; }
.product-information, .product-inquiry { scroll-margin-top: calc(var(--header-height) + 24px); }
.product-information-heading { display: flex; flex-wrap: wrap; align-items: baseline; gap: 12px 24px; padding: 0 0 20px; margin-bottom: 30px; border-bottom: 2px solid #1b394b; }
.product-information-heading h2 { margin: 0; color: #182f3f; font-size: 25px; }
.product-information-heading > span { color: #52616b; font-size: 12px; }
.product-information-layout { display: grid; grid-template-columns: minmax(0, 1fr) 248px; gap: 64px; align-items: start; }
.product-information-content { min-width: 0; }
.product-detail-page .product-detail-body { max-width: none; color: #3f515d; font-size: 15px; line-height: 1.95; }
.product-detail-page .product-detail-body h2 { margin-top: 32px; padding-left: 0; border: 0; font-size: 21px; }
.product-detail-page .product-detail-body h2:first-child { margin-top: 0; }
.product-detail-page .product-detail-body table { display: table; width: 100%; table-layout: auto; white-space: normal; margin: 20px 0; font-size: 13px; }
.product-detail-page .product-detail-body th, .product-detail-page .product-detail-body td { padding: 13px 14px; border-color: #d7e0e5; overflow-wrap: anywhere; }
.product-detail-page .product-detail-body th { background: #edf3f6; }
.product-detail-page .product-detail-body small { color: #4e626f; font-size: 12px; }
.product-selection-note { padding-top: 6px; border-top: 2px solid #087fc7; }
.product-selection-note h3 { margin: 14px 0 8px; color: #19394b; font-size: 17px; }
.product-selection-note dl { margin: 0; }
.product-selection-note dl > div { padding: 14px 0; border-bottom: 1px solid #dce3e7; }
.product-selection-note dt { margin-bottom: 4px; color: #19394b; font-size: 13px; font-weight: 600; }
.product-selection-note dd { margin: 0; color: #52616b; font-size: 13px; }
.product-selection-note > p { margin: 16px 0 0; color: #52616b; font-size: 12px; line-height: 1.8; }
.product-detail-page .product-inquiry { grid-template-columns: minmax(0, .8fr) minmax(0, 1.6fr); gap: 56px; margin-top: 64px; padding: 36px 0; overflow: visible; border-top: 2px solid #1b394b; border-bottom: 1px solid #d7e0e5; background: #fff; }
.product-detail-page .product-inquiry::before { content: none; }
.product-detail-page .product-inquiry-heading { padding: 0 32px 0 0; }
.product-inquiry-eyebrow { margin: 0 0 12px; color: #006ca8; font-size: 12px; font-weight: 600; }
.product-detail-page .product-inquiry-heading h2 { margin-bottom: 24px; color: #182f3f; font-size: 28px; line-height: 1.35; }
.product-inquiry-context { padding: 14px 0 16px; border-top: 1px solid #d7e0e5; border-bottom: 1px solid #d7e0e5; }
.product-inquiry-context > span { display: block; margin-bottom: 6px; color: #52616b; font-size: 12px; }
.product-inquiry-context > strong { display: block; color: #19394b; font-size: 16px; line-height: 1.6; }
.product-inquiry-description { margin: 18px 0; color: #455965; font-size: 14px; line-height: 1.85; }
.product-inquiry-contact { display: flex; flex-direction: column; gap: 8px; padding-top: 14px; }
.product-inquiry-contact > span { color: #52616b; font-size: 12px; }
.product-inquiry-contact > a { align-self: flex-start; color: #183b50; font-size: 14px; overflow-wrap: anywhere; }
.product-inquiry-contact > a:hover { color: #006ca8; }
.product-detail-page .product-inquiry .message-form { min-width: 0; align-self: start; margin: 0; padding: 0; border: 0; background: transparent; }
.product-detail-page .product-inquiry .form-grid { gap: 18px 24px; }
.product-detail-page .product-inquiry .form-field { gap: 7px; }
.product-detail-page .product-inquiry .form-field label { font-size: 13px; font-weight: 600; }
.product-detail-page .product-inquiry .form-field input { height: 46px; padding: 0 12px; }
.product-detail-page .product-inquiry .form-field input, .product-detail-page .product-inquiry .form-field textarea { border-color: #a7b6c0; background: #f7f9fa; color: #182f3f; }
.product-detail-page .product-inquiry .form-field input::placeholder, .product-detail-page .product-inquiry .form-field textarea::placeholder { color: #52616b; }
.product-detail-page .product-inquiry .form-field input:focus, .product-detail-page .product-inquiry .form-field textarea:focus { border-color: #006ca8; background: #fff; }
.product-detail-page .product-inquiry .form-field textarea { min-height: 132px; padding: 12px; font-size: 14px; }
.product-detail-page .product-inquiry .form-footer { grid-template-columns: minmax(0, 1fr) 180px; gap: 24px; margin-top: 20px; padding: 20px 0 0; align-items: start; }
.product-detail-page .product-inquiry .captcha-control { grid-template-columns: minmax(0, 1fr) 108px; }
.product-detail-page .product-inquiry .captcha-refresh { height: 46px; }
.product-detail-page .product-inquiry .captcha-refresh img { height: 44px; }
.product-detail-page .product-inquiry .form-actions { padding-top: 26.5px; align-self: start; }
.product-detail-page .product-inquiry .message-form .button { height: 46px; background: #006da8; border-color: #006da8; padding: 0 16px; }
.product-detail-page .product-inquiry .message-form .button:hover { background: #005683; }
.product-detail-page .product-detail-footer { margin-top: 24px; border: 0; }
.product-detail-page .pager { padding-top: 8px; line-height: 1.8; }
.product-detail-page .pager > span { flex: 1; min-width: 0; overflow-wrap: anywhere; }
.product-detail-page .pager > span:last-child { text-align: right; }
.product-detail-page .pager a { display: block; color: #19394b; font-size: 15px; white-space: normal; }
.product-detail-page a:focus-visible, .product-detail-page button:focus-visible { outline: 2px solid #006ca8; outline-offset: 4px; }
@media (max-width: 1000px) {
    .product-detail-page { width: calc(100% - 48px); }
    .product-detail-page .product-detail-intro { gap: 32px; }
    .product-information-layout { grid-template-columns: minmax(0, 1fr) 200px; gap: 32px; }
    .product-detail-page .product-inquiry { gap: 32px; }
    .product-detail-page .product-inquiry-heading { padding-right: 0; }
    .product-detail-page .product-inquiry .form-footer { grid-template-columns: minmax(0, 1fr) 136px; gap: 16px; }
    .product-detail-page .product-inquiry .captcha-control { grid-template-columns: minmax(0, 1fr) 90px; }
}
@media (max-width: 768px) {
    .product-detail-page { width: calc(100% - 36px); padding: 24px 0 56px; }
    .product-breadcrumb { margin-bottom: 24px; gap: 7px; }
    .product-detail-page .product-detail-intro { grid-template-columns: minmax(0, 1fr); gap: 24px; margin-bottom: 40px; }
    .product-detail-page .product-detail-cover { padding: 16px; }
    .product-detail-page .product-detail-cover img { max-height: 320px; }
    .product-detail-page .product-detail-summary { padding: 0; }
    .product-detail-page .article-header h1 { font-size: 28px; }
    .product-detail-page .product-detail-description { font-size: 14px; }
    .product-information-heading { margin-bottom: 24px; }
    .product-information-heading h2 { font-size: 22px; }
    .product-information-layout { grid-template-columns: minmax(0, 1fr); gap: 32px; }
    .product-detail-page .product-detail-body { font-size: 14px; }
    .product-detail-page .product-detail-body h2 { font-size: 20px; }
    .product-detail-page .product-detail-body table { font-size: 12px; }
    .product-detail-page .product-detail-body td, .product-detail-page .product-detail-body th { padding: 10px 8px; }
    .product-selection-note dl { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 0 16px; }
    .product-detail-page .product-inquiry { grid-template-columns: minmax(0, 1fr); gap: 28px; margin-top: 40px; padding: 28px 0; }
    .product-detail-page .product-inquiry-heading h2 { font-size: 24px; margin-bottom: 18px; }
    .product-inquiry-contact { padding-top: 0; }
    .product-detail-page .product-inquiry .form-grid { grid-template-columns: minmax(0, 1fr); }
    .product-detail-page .product-inquiry .form-field-full { grid-column: auto; }
    .product-detail-page .product-inquiry .form-footer { grid-template-columns: minmax(0, 1fr); gap: 12px; }
    .product-detail-page .product-inquiry .captcha-control { grid-template-columns: minmax(0, 1fr) 108px; }
    .product-detail-page .product-inquiry .form-actions { padding-top: 0; }
    .product-detail-page .pager { flex-direction: column; gap: 18px; }
    .product-detail-page .pager > span:last-child { text-align: left; }
}
