/* ===== Single product (2026) ===== */
body:has(main > .product-page:first-child) .header { position: absolute; top: 0; right: 0; left: 0; }

/* top: breadcrumb + gallery + product info */
.product-top { position: relative; padding: 8.5rem 0 4rem; background: linear-gradient(180deg, #e9ecf3 0%, #f4f5f8 55%, var(--white) 100%); }
.product-top::before { content: ''; position: absolute; inset: 0; background-image: linear-gradient(rgba(21, 28, 62, 0.045) 1px, transparent 1px), linear-gradient(90deg, rgba(21, 28, 62, 0.045) 1px, transparent 1px); background-size: 48px 48px; -webkit-mask-image: linear-gradient(to bottom, #000, transparent 75%); mask-image: linear-gradient(to bottom, #000, transparent 75%); pointer-events: none; }
.product-top .container { position: relative; }
.product-breadcrumb { display: flex; flex-wrap: wrap; align-items: center; gap: 0.55em; margin-bottom: 2em; color: #8f95a8; font-size: 0.85rem; }
.product-breadcrumb::before { content: ''; width: 28px; height: 2px; border-radius: 2px; background-color: var(--accent-strong); margin-left: 0.2em; }
.product-breadcrumb a { color: #4b5068; text-decoration: none; transition: color 0.3s; }
.product-breadcrumb a:hover { color: var(--primary-color); }
.product-breadcrumb [aria-current] { color: var(--primary-color); font-weight: 600; }
.product-top-grid { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1.05fr); gap: 3.5em; align-items: start; }

/* gallery (native scroll-snap) */
.product-gallery { position: sticky; top: 2rem; display: flex; flex-direction: column; gap: 0.9em; }
.product-gallery-main { position: relative; border-radius: 2rem; background-color: var(--white); box-shadow: 0 40px 60px -45px rgba(21, 28, 62, 0.45); overflow: hidden; }
.product-gallery-track { display: flex; overflow-x: auto; scroll-snap-type: x mandatory; scrollbar-width: none; overscroll-behavior-x: contain; }
.product-gallery-track::-webkit-scrollbar { display: none; }
.product-gallery-track:focus-visible { outline: 2px solid var(--primary-color); outline-offset: -4px; }
.product-gallery-slide { flex: 0 0 100%; aspect-ratio: 1 / 1; margin: 0; scroll-snap-align: start; background: radial-gradient(110% 80% at 50% 100%, #e6e9f0 0%, #f6f7fa 55%, var(--white) 100%); }
.product-gallery-image { display: block; width: 100%; height: 100%; object-fit: cover; }
.product-gallery-slide.is-cutout .product-gallery-image { object-fit: contain; padding: 8%; }
.product-gallery-nav { position: absolute; top: 50%; z-index: 2; display: grid; place-items: center; width: 44px; height: 44px; margin-top: -22px; border: 0; border-radius: 50%; background-color: rgba(255, 255, 255, 0.92); box-shadow: 0 8px 20px -8px rgba(21, 28, 62, 0.35); color: var(--primary-color); cursor: pointer; transition: background-color 0.3s, color 0.3s; }
.product-gallery-nav svg { width: 18px; height: 18px; }
.product-gallery-nav:hover { background-color: var(--primary-color); color: var(--white); }
.product-gallery-nav.is-prev { right: 1rem; }
.product-gallery-nav.is-next { left: 1rem; }
.product-gallery-counter { position: absolute; bottom: 1rem; left: 1rem; z-index: 2; padding: 0.25em 0.9em; border-radius: 99rem; background-color: rgba(21, 28, 62, 0.75); color: var(--white); font-size: 0.78rem; }
.product-gallery-thumbs { display: flex; gap: 0.6em; overflow-x: auto; scrollbar-width: none; padding: 0.2em; }
.product-gallery-thumb { flex: 0 0 74px; height: 74px; padding: 0; border: 2px solid transparent; border-radius: 1rem; background-color: var(--white); overflow: hidden; cursor: pointer; opacity: 0.6; transition: opacity 0.3s, border-color 0.3s; }
.product-gallery-thumb img { display: block; width: 100%; height: 100%; object-fit: cover; }
.product-gallery-thumb:hover { opacity: 1; }
.product-gallery-thumb.is-active { border-color: var(--primary-color); opacity: 1; }

/* info */
.product-info { display: flex; flex-direction: column; align-items: flex-start; gap: 1.1em; padding-top: 0.5em; }
.product-info-term { padding: 0.35em 1em; border-radius: 99rem; background-color: var(--primary-color); color: var(--white); font-size: 0.8rem; font-weight: 600; text-decoration: none; transition: background-color 0.3s; }
.product-info-term:hover { background-color: #283265; }
.product-info-title { font-size: clamp(1.8rem, 3vw, 2.7rem); font-weight: 900; line-height: 1.4; }
.product-facts { display: flex; flex-wrap: wrap; gap: 0.5em; margin: 0; padding: 0; list-style: none; }
.product-facts li { display: inline-flex; align-items: center; gap: 0.45em; padding: 0.35em 0.9em; border: 1px solid #e3e6ee; border-radius: 99rem; background-color: rgba(255, 255, 255, 0.7); color: #4b5068; font-size: 0.8rem; }
.product-facts li::before { content: ''; width: 6px; height: 6px; border-radius: 50%; background-color: var(--accent-strong); }
.product-info-text { width: 100%; padding: 1.5em 1.75em; border: 1px solid #eceef4; border-radius: 1.5rem; background-color: var(--white); color: #3b4056; font-size: 0.95rem; }
.product-info-text > p:first-child:empty, .product-info-text > p:first-child:has(> br:only-child) { display: none; }
.product-info-actions { display: flex; flex-wrap: wrap; gap: 0.8em; margin-top: 0.3em; }
.product-info-actions .button.secondary { border-color: #cfd3df; background-color: var(--white); color: var(--primary-color); }
.product-info-actions .button.secondary .button-bullet { background-color: var(--primary-color); }
.product-info-actions .button.secondary .button-icon { background-color: var(--primary-color); color: var(--white); }
.product-info-actions .button.secondary:hover { border-color: var(--primary-color); }
.product-info-phone { display: inline-flex; align-items: center; gap: 0.7em; color: #4b5068; font-size: 0.9rem; text-decoration: none; }
.product-info-phone strong { color: var(--primary-color); font-size: 1.05rem; }
.product-info-phone-icon { display: grid; place-items: center; width: 40px; height: 40px; border-radius: 50%; background-color: #eef0f5; color: var(--primary-color); transition: background-color 0.3s, color 0.3s; }
.product-info-phone-icon svg { width: 18px; height: 18px; }
.product-info-phone:hover .product-info-phone-icon { background-color: var(--primary-color); color: var(--white); }

/* in-page nav (sticks while reading the product) */
.product-nav { position: sticky; top: 0; z-index: 20; border-block: 1px solid #eceef4; background-color: rgba(255, 255, 255, 0.88); -webkit-backdrop-filter: blur(14px); backdrop-filter: blur(14px); }
.product-nav-list { display: flex; gap: 0.3em; margin: 0; padding: 0.6em 0; list-style: none; overflow-x: auto; scrollbar-width: none; }
.product-nav-link { display: block; padding: 0.5em 1.1em; border-radius: 99rem; color: #4b5068; font-size: 0.88rem; font-weight: 600; text-decoration: none; white-space: nowrap; transition: background-color 0.3s, color 0.3s; }
.product-nav-link:hover { color: var(--primary-color); background-color: #f1f3f8; }
.product-nav-link.is-active { background-color: var(--primary-color); color: var(--white); }
.product-page [id] { scroll-margin-top: 70px; }

.product-section-head { display: flex; flex-direction: column; gap: 0.6em; margin-bottom: 2em; }
.product-section-title { font-size: clamp(1.4rem, 2.2vw, 2rem); line-height: 1.5; }

/* specs */
.product-specs-tabs { display: flex; gap: 0.5em; margin-bottom: 1.5em; overflow-x: auto; scrollbar-width: none; padding-bottom: 0.2em; }
.product-specs-tab { flex: none; padding: 0.65em 1.3em; border: 1px solid #dfe2ea; border-radius: 99rem; background-color: var(--white); color: #4b5068; font-family: inherit; font-size: 0.86rem; cursor: pointer; transition: background-color 0.3s, color 0.3s, border-color 0.3s; }
.product-specs-tab:hover { border-color: var(--primary-color); color: var(--primary-color); }
.product-specs-tab.is-active { border-color: var(--primary-color); background-color: var(--primary-color); color: var(--white); }
.product-specs-panel { padding: 2em; border: 1px solid #eceef4; border-radius: 1.75rem; background-color: #f7f8fa; }
.product-specs-title { margin-bottom: 1.2em; font-size: 1.1rem; }
.product-specs-table-wrap { overflow-x: auto; border-radius: 1.1rem; background-color: var(--white); box-shadow: 0 0 0 1px #eceef4; }
.product-specs-table { width: 100%; border-collapse: collapse; font-size: 0.9rem; text-align: center; }
.product-specs-table th { padding: 1em; background-color: var(--primary-color); color: var(--white); font-weight: 500; white-space: nowrap; }
.product-specs-table td { padding: 0.9em 1em; white-space: nowrap; border-top: 1px solid #eef0f4; color: #2c3148; direction: ltr; unicode-bidi: plaintext; }
.product-specs-table tbody tr:nth-child(even) td { background-color: #fafbfc; }
.product-specs-table tbody tr:hover td { background-color: #f1f3f8; }

/* features + video */
.product-features { background-color: #f7f8fa; overflow-x: clip; } /* clip (not hidden) so the side box can stick */
.product-features .catalog-about-side { top: 5.5rem; } /* below the sticky section nav */
.product-features-body { padding: 2.2em; border-radius: 1.75rem; background-color: var(--white); border: 1px solid #eceef4; }
.product-video { position: relative; aspect-ratio: 16 / 9; max-width: 980px; margin: 0 auto; border-radius: 1.75rem; overflow: hidden; background-color: var(--primary-color); }
.product-video iframe { display: block; width: 100%; height: 100%; border: 0; }
.product-video-play { position: absolute; inset: 0; display: grid; place-items: center; width: 100%; padding: 0; border: 0; background: none; cursor: pointer; }
.product-video-poster { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; opacity: 0.35; filter: blur(2px); transform: scale(1.05); }
.product-video-icon { position: relative; display: grid; place-items: center; width: 84px; height: 84px; border-radius: 50%; background-color: var(--white); color: var(--primary-color); box-shadow: 0 0 0 14px rgba(255, 255, 255, 0.15); transition: transform 0.5s var(--ease-out), box-shadow 0.5s; }
.product-video-icon svg { width: 30px; height: 30px; margin-right: -4px; }
.product-video-play:hover .product-video-icon { transform: scale(1.08); box-shadow: 0 0 0 22px rgba(255, 255, 255, 0.12); }
.product-video > div { width: 100%; height: 100%; }
.product-related .blog-toolbar { margin-bottom: 1.5em; }

@media (max-width: 992px) {
    .product-top { padding: 7rem 0 3rem; }
    .product-top-grid { grid-template-columns: minmax(0, 1fr); gap: 2em; }
    .product-gallery { position: static; }
    .product-gallery-slide { aspect-ratio: 4 / 3; }
}
@media (max-width: 600px) {
    .product-top { padding: 6.5rem 0 2.5rem; }
    .product-breadcrumb { margin-bottom: 1.25em; font-size: 0.78rem; }
    .product-breadcrumb::before { display: none; }
    .product-gallery-main { border-radius: 1.4rem; }
    .product-gallery-slide { aspect-ratio: 1 / 1; }
    .product-gallery-nav { width: 38px; height: 38px; margin-top: -19px; }
    .product-gallery-thumb { flex-basis: 60px; height: 60px; }
    .product-info-text { padding: 1.2em; }
    .product-info-actions { width: 100%; }
    .product-specs-panel { padding: 1em; border-radius: 1.25rem; }
    .product-specs-table { font-size: 0.8rem; }
    .product-specs-table th, .product-specs-table td { padding: 0.75em 0.7em; }
    .product-features-body { padding: 1.4em; }
    .product-video { border-radius: 1.25rem; }
    .product-video-icon { width: 64px; height: 64px; }
}

/* English pages (LTR) */
html[lang^="en"] .product-gallery-nav.is-prev { right: auto; left: 1rem; }
html[lang^="en"] .product-gallery-nav.is-next { left: auto; right: 1rem; }
html[lang^="en"] .product-gallery-nav svg { transform: scaleX(-1); }
html[lang^="en"] .product-gallery-counter { left: auto; right: 1rem; }
html[lang^="en"] .product-video-icon svg { margin-right: 0; margin-left: 4px; }
