/* Product final-page layout, adapted from the reference product presentation. */
.product-show-page .product-show-content { padding: 42px 0 0; background: #fff }
.product-show-page .product-show-main { min-width: 0 }

.product-show-page .ps-hero-card {
    display: grid;
    grid-template-columns: minmax(0, 1.05fr) minmax(0, .95fr);
    gap: clamp(32px, 5vw, 72px);
    align-items: start
}

.product-show-page .ps-main-image {
    position: relative;
    display: grid;
    min-height: 480px;
    place-items: center;
    padding: 26px;
    border: 1px solid #e4e9ec;
    background: #fbfcfd;
    border-radius: 8px;
}

.product-show-page .ps-main-image-link { display: grid; width: 100%; height: 100%; place-items: center; cursor: zoom-in }
.product-show-page .ps-main-image img { max-width: 100%; max-height: 425px; object-fit: contain }
.product-show-page .ps-main-image-link:hover img { opacity: .92 }
.product-show-page .ps-zoom-hint { position: absolute;
    right: 0px;
    bottom: 0px;
    color: #fff;
    font-size: 10px;
    pointer-events: none;
    background-color: #dcdcdc;
    border-radius: 10px 0 6px 0;
    padding-left: 8px;
    padding-right: 8px;}

.product-show-page .ps-thumbs { display: grid; grid-template-columns: repeat(auto-fit, minmax(64px, 82px)); gap: 12px; margin-top: 16px }
.product-show-page .ps-thumb { aspect-ratio: 1; padding: 5px; border: 1px solid #e2e8ec; background: #fff; cursor: pointer; border-radius: 8px; }
.product-show-page .ps-thumb img { width: 100%; height: 100%; object-fit: contain }
.product-show-page .ps-thumb:hover,
.product-show-page .ps-thumb:focus-visible,
.product-show-page .ps-thumb.is-active { border-color: #1475bc; box-shadow: 0 0 0 2px rgba(20, 117, 188, .15) }

.product-show-page .ps-summary { padding: 12px 0 }
.product-show-page .ps-category { display: inline-block; margin-bottom: 14px; color: #1475bc; font-size: 14px; font-weight: 700; text-transform: uppercase; letter-spacing: .04em }
.product-show-page .ps-summary h1 { margin:0 0 24px 0; color: #19242d; font-size:32px; line-height: 1.5 }
.product-show-page .ps-item-no { display: flex; gap: 10px; margin: 0 0 18px; color: #26323b; font-size: 15px }
.product-show-page .ps-item-no span { color: #6d7880 }
.product-show-page .ps-description { margin: 0; color: #5d6973; line-height: 1.5; font-size: 13px; }

.product-show-page .ps-expert-card { display: flex; gap: 14px; align-items: center; margin-top: 28px; padding: 12px; border: 1px solid #e3e9ed; background: #f8fafb; border-radius: 8px; }
.product-show-page .ps-expert-mark { display: grid; width: 48px; height: 48px; flex: 0 0 48px; border-radius: 50%; place-items: center; color: #fff; background: #1475bc; font-weight: 800 }
.product-show-page .ps-expert-body { min-width: 0 }
.product-show-page .ps-expert-body strong { display: block; margin-bottom: 6px; color: #28343c; font-size: 14px }
.product-show-page .ps-expert-links { display: flex; flex-wrap: wrap; gap: 6px 14px }
.product-show-page .ps-expert-links a { color: #52616b; font-size: 13px; overflow-wrap: anywhere }
.product-show-page .ps-expert-links a:hover { color: #1475bc }

.product-show-page .ps-anchor-tabs { display: flex; gap: 24px; margin-top: 54px; overflow-x: auto; border-bottom: 1px solid #dfe6ea }
.product-show-page .ps-anchor-tabs a { flex: 0 0 auto; padding: 14px 2px; border-bottom: 3px solid transparent; color: #48555e; font-size: 15px; font-weight: 700 }
.product-show-page .ps-anchor-tabs a:hover,
.product-show-page .ps-anchor-tabs a.active { border-color: #1475bc; color: #1475bc }

.product-show-page .ps-content-card { margin-top: 34px }
.product-show-page .ps-download[hidden] { display: none !important }
.product-show-page .ps-section-title { margin-bottom: 18px; border-bottom: 1px solid #e2e8ec }
.product-show-page .ps-section-title h2,
.product-show-page .ps-description-card h2 { margin: 0; color: #1d2931; font-size: 25px; line-height: 1.3 }
.product-show-page .ps-section-title h2 { border-bottom: 3px solid #1475bc; width: max-content; max-width: 100% }

.product-show-page .ps-actions { display: flex; justify-content: space-between; gap: 24px; align-items: center; padding: 24px 28px; border-left: 4px solid #1475bc; background: #f4f8fb }
.product-show-page .ps-actions h2 { margin: 0 0 6px; color: #1d2931; font-size: 19px }
.product-show-page .ps-actions p { margin: 0; color: #5d6973; font-size: 14px }
.product-show-page .ps-actions-btns { display: flex; flex-wrap: wrap; gap: 10px }
.product-show-page .ps-actions-btns a { display: inline-flex; min-height: 42px; align-items: center; justify-content: center; padding: 0 18px; color: #fff; background: #1475bc; font-size: 13px; font-weight: 700 }
.product-show-page .ps-actions-btns a:first-child { background: #25a85b }
.product-show-page .ps-actions-btns a:hover { color: #fff; filter: brightness(.94) }

.product-show-page .ps-download-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 14px }
.product-show-page .ps-video-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 16px }
.product-show-page .ps-download-card { display: grid; grid-template-columns: 40px minmax(0, 1fr) auto; gap: 14px; align-items: center; min-height: 96px; padding: 16px; border: 1px solid #dce5ed; border-radius: 4px; color: #26323b; background: #fff }
.product-show-page .ps-download-card:hover { border-color: #1475bc }
.product-show-page .ps-download-type { display: grid; width: 40px; height: 40px; place-items: center; color: #fff; background: #92a2b9; border-radius: 4px }
.product-show-page .ps-download-file-icon { width: 24px; height: 24px }
.product-show-page .ps-download-info { min-width: 0 }
.product-show-page .ps-download-info strong,
.product-show-page .ps-download-info small { display: block }
.product-show-page .ps-download-info strong { overflow-wrap: anywhere; font-size: 14px; line-height: 1.35 }
.product-show-page .ps-download-info strong a { color: inherit }
.product-show-page .ps-download-info strong a:hover { color: #1475bc }
.product-show-page .ps-download-info small { display: flex; gap: 0; margin-top: 7px; color: #8ba0bd; font-size: 12px }
.product-show-page .ps-download-info small span + span::before { margin-right: 12px; color: #8ba0bd; content: '\2022'; }
.product-show-page .ps-download-button { display: inline-flex; min-height: 28px; align-items: center; justify-content: center; gap: 4px; padding: 0 9px; border: 0; border-radius: 4px; color: #203554; background: #f0f4f8; font-size: 12px; font-weight: 600; white-space: nowrap }
.product-show-page .ps-download-button:hover { color: #fff; background: #1475bc }
.product-show-page .ps-download-icon { width: 17px; height: 17px; flex: 0 0 17px }


/* Product FAQ accordion */
.product-show-page .faq-collapse-layout { margin: 40px 0 48px }
.product-show-page .faq-collapse-layout .section-title { margin-bottom: 18px }
.product-show-page .faq-collapse-layout .section-title h2 { position: relative; margin: 0; padding-left: 14px; color: #132d4d; font-size: 25px; line-height: 1.3 }
.product-show-page .faq-collapse-layout .section-title h2::before { position: absolute; top: 2px; bottom: 2px; left: 0; width: 4px; background: #f13335; content: '' }
.product-show-page .faq-collapse-list { margin: 0; padding: 0; list-style: none }
.product-show-page .faq-collapse-item { overflow: hidden; border: 1px solid #d7e0e8; border-radius: 4px; background: #fff }
.product-show-page .faq-collapse-item + .faq-collapse-item { margin-top: 10px }
.product-show-page .faq-collapse-trigger { display: flex; width: 100%; min-height: 40px; align-items: center; justify-content: space-between; gap: 20px; padding: 10px 16px; border: 0; color: #193654; background: #edf1f5; font: inherit; font-size: 15px; font-weight: 700; line-height: 1.4; text-align: left; cursor: pointer }
.product-show-page .faq-collapse-trigger:hover { background: #e4ebf1 }
.product-show-page .faq-collapse-trigger > span { min-width: 0 }
.product-show-page .faq-collapse-icon { width: 18px; height: 18px; flex: 0 0 18px; transition: transform .2s ease }
.product-show-page .faq-collapse-trigger[aria-expanded="true"] .faq-collapse-icon { transform: rotate(180deg) }
.product-show-page .faq-collapse-content[hidden] { display: none !important }
.product-show-page .faq-collapse-answer { padding: 17px 16px 18px }
.product-show-page .faq-collapse-answer p { margin: 0; color: #1e3c5e; font-size: 15px; line-height: 1.7 }
.product-show-page .faq-collapse-more { display: inline-flex; margin-top: 14px; color: #f13335; font-size: 12px; font-weight: 700; text-transform: uppercase }
.product-show-page .faq-collapse-more:hover { color: #c71f26 }
.product-show-page .ps-description-card { max-width: 100% }
.product-show-page .ps-description-card article + article { margin-top: 36px }
.product-show-page .ps-description-card h2 { margin: 0 0 18px }
.product-show-page .ps-description-card p { color: #43515a; line-height: 1.8 }
.product-show-page .ps-description-card table { max-width: 100% }
.product-show-page .ps-video-card { display: block; overflow: hidden; border: 1px solid #e0e7eb; color: #26323b; background: #fff }
.product-show-page .ps-video-card:hover { border-color: #1475bc; color: #1475bc }
.product-show-page .ps-video-card img { display: block; width: 100%; aspect-ratio: 16 / 9; object-fit: cover }
.product-show-page .ps-video-card strong { display: block; padding: 12px; font-size: 14px; line-height: 1.45 }

.product-show-page .ps-related .related-grid { grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 20px }
.product-show-page .ps-related .related-grid a { border: 1px solid #e1e7eb; background: #fff }
.product-show-page .ps-related .related-grid a:hover { border-color: #1475bc; box-shadow: 0 10px 24px rgba(31, 55, 71, .08) }
.product-show-page .ps-related .related-grid h3 { padding: 0 14px 16px }
.product-show-page .ps-expert-avatar {
    width: 56px;
    height: 56px;
    flex: 0 0 56px;
    border-radius: 50%;
    object-fit: cover;
  }


@media (max-width: 1024px) {
    .product-show-page .ps-hero-card { gap: 32px }
    .product-show-page .ps-main-image { min-height: 430px }
    .product-show-page .ps-download-grid,
    .product-show-page .ps-video-grid { grid-template-columns: repeat(2, minmax(0, 1fr)) }
}

@media (max-width: 900px) {
    .product-show-page .ps-hero-card { grid-template-columns: 1fr }
    .product-show-page .ps-summary { padding-top: 0 }
    .product-show-page .ps-thumbs { grid-template-columns: repeat(6, minmax(0, 1fr)); gap: 8px }
}

@media (max-width: 640px) {
    .product-show-page .product-show-content { padding-top: 26px }
    .product-show-page .ps-main-image { min-height: 320px; padding: 16px }
    .product-show-page .ps-main-image img { max-height: 290px }
    
    .product-show-page .ps-anchor-tabs { gap: 18px; margin-top: 32px }
    .product-show-page .faq-collapse-layout { margin-bottom: 32px }

    .product-show-page .ps-actions { align-items: flex-start; flex-direction: column; padding: 20px }
    .product-show-page .ps-download-grid,
    .product-show-page .ps-video-grid,
    .product-show-page .ps-related .related-grid { grid-template-columns: 1fr }
    .product-show-page .ps-download-button span { display: none }
    .product-show-page .ps-download-button { width: 38px; padding: 0 }
    .product-show-page .ps-quote-block { margin-top: 32px }
}
