/* ColaBox WooCommerce catalog and PDP. WooCommerce retains all commerce state. */
.catalog-page,
.product-page { width: 100%; max-width: none; margin: 0; padding: 0; }
.catalog-page > .breadcrumbs { max-width: var(--cb-container); margin: 2rem auto 0; padding-inline: var(--cb-gutter); }
.catalog-hero { padding: clamp(3.5rem, 7vw, 6rem) max(1.5rem, calc((100vw - var(--cb-container)) / 2)); border-bottom: 1px solid var(--cb-border); background: radial-gradient(circle at 80% 20%, rgb(244 165 28 / 9%), transparent 26%), #090b0e; }
.catalog-hero h1 { max-width: 55rem; margin: 0; font-family: var(--cb-font-display); font-size: clamp(3rem, 6vw, 6rem); line-height: .9; letter-spacing: -.04em; text-transform: uppercase; }
.catalog-hero > p:last-child { max-width: 42rem; color: var(--cb-text-muted); }
.catalog-collection { max-width: var(--cb-container); margin-inline: auto; padding: clamp(3.5rem, 7vw, 6.5rem) 1.5rem; }
.catalog-collection .woocommerce-notices-wrapper,
.catalog-collection .woocommerce-result-count { color: var(--cb-text-muted); }
.catalog-collection ul.products,
.related ul.products { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 1.125rem; margin: 2rem 0 0; padding: 0; list-style: none; }
.catalog-collection ul.products::before,
.catalog-collection ul.products::after,
.related ul.products::before,
.related ul.products::after { display: none; }
.catalog-collection .product-card,
.related .product-card { width: auto; margin: 0; }
.woocommerce-pagination { margin-top: 3rem; }
.woocommerce-pagination ul { display: flex; justify-content: center; gap: .4rem; margin: 0; padding: 0; border: 0; list-style: none; }
.woocommerce-pagination a,
.woocommerce-pagination span { min-width: 2.75rem; min-height: 2.75rem; display: grid; place-items: center; border: 1px solid var(--cb-border); text-decoration: none; }
.woocommerce-pagination .current,
.woocommerce-pagination a:hover { border-color: var(--cb-accent); color: var(--cb-accent); }
.woocommerce-info,
.woocommerce-message,
.woocommerce-error { padding: 1rem 1.25rem; border: 1px solid var(--cb-border-strong); background: var(--cb-surface); color: var(--cb-text); list-style: none; }

/* Product hero */
.single-product .product-page div.product { width: 100%; max-width: none; display: block; margin: 0; padding: 0 0 clamp(5rem, 9vw, 8rem); }
.single-product .product-page .product-buy-grid { --pdp-stage-height: 39.375rem; width: min(calc(100% - 3rem), var(--cb-container)); display: grid; grid-template-columns: minmax(0, 1.12fr) minmax(26.25rem, .88fr); gap: clamp(2.5rem, 6vw, 5.625rem); align-items: start; margin: 0 auto; padding: clamp(3.125rem, 4vw, 3.75rem) 0 clamp(5rem, 9vw, 8rem); }
.single-product .product-page div.product::before,
.single-product .product-page div.product::after { display: none; }
.single-product .product-page div.product > * { min-width: 0; }
.single-product .product-page div.product div.woocommerce-product-gallery,
.single-product .product-page div.product div.summary { width: 100%; max-width: none; float: none; margin: 0; }
.single-product .product-page div.product > .product-key-specs,
.single-product .product-page div.product > .section,
.single-product .product-page div.product > .related,
.single-product .product-page div.product > .product-final-cta,
.single-product .product-page div.product > .product-sticky-buy { grid-column: 1 / -1; }
.single-product .product-page div.product div.woocommerce-product-gallery { position: sticky; top: calc(var(--cb-header-height, 4.625rem) + 1.5rem); align-self: start; }
.single-product .product-page div.product div.images .flex-viewport { position: relative; height: var(--pdp-stage-height) !important; min-height: var(--pdp-stage-height); overflow: hidden; border: 1px solid var(--cb-border); border-radius: var(--cb-radius-sm); background: radial-gradient(ellipse at 50% 58%, rgb(244 165 28 / 14%), transparent 52%), linear-gradient(145deg, #161920, #0d0f13 70%); }
.product-page .woocommerce-product-gallery .flex-viewport::after { position: absolute; inset: auto 12% 7% 12%; height: 8%; border-radius: 50%; background: rgb(0 0 0 / 35%); filter: blur(1.25rem); content: ""; pointer-events: none; }
.product-page .woocommerce-product-gallery__wrapper { margin: 0; border: 0; background: transparent; }
.single-product .product-page div.product div.images .woocommerce-product-gallery__image a { height: var(--pdp-stage-height); display: grid; place-items: center; }
.single-product .product-page div.product div.images .woocommerce-product-gallery__image img { position: relative; z-index: 1; width: 88%; max-width: 88%; height: calc(var(--pdp-stage-height) - 4.375rem); margin-inline: auto; object-fit: contain; filter: drop-shadow(0 1.75rem 1.5rem rgb(0 0 0 / 30%)); }
.product-page .woocommerce-product-gallery__trigger { z-index: 5; top: 1rem; right: 1rem; width: 2.75rem; height: 2.75rem; display: grid; place-items: center; border: 1px solid var(--cb-border-strong); border-radius: 50%; background: rgb(8 9 12 / 76%); color: var(--cb-text); text-decoration: none; }
.product-page .woocommerce-product-gallery__trigger::before { position: static; width: .75rem; height: .75rem; border-color: currentcolor; }
.product-page .woocommerce-product-gallery__trigger::after { top: 1.75rem; left: 1.75rem; background: currentcolor; }
.product-page .flex-direction-nav { margin: 0; padding: 0; list-style: none; }
.product-page .flex-direction-nav a { position: absolute; z-index: 6; top: 50%; width: 2.75rem; height: 2.75rem; display: grid; place-items: center; overflow: hidden; border: 1px solid var(--cb-border-strong); border-radius: 50%; background: rgb(8 9 12 / 78%); color: transparent; text-decoration: none; transform: translateY(-50%); }
.product-page .flex-direction-nav a::before { width: .65rem; height: .65rem; border-top: 2px solid var(--cb-text); border-left: 2px solid var(--cb-text); content: ""; transform: rotate(-45deg); }
.product-page .flex-direction-nav .flex-prev { left: 1rem; }
.product-page .flex-direction-nav .flex-next { right: 1rem; }
.product-page .flex-direction-nav .flex-next::before { transform: rotate(135deg); }
.single-product .product-page div.product div.images .flex-control-thumbs { display: grid; grid-auto-flow: column; grid-auto-columns: calc((100% - 3.125rem) / 6); gap: .625rem; margin: .75rem 0 0; padding: 0; overflow-x: hidden; overscroll-behavior-inline: contain; scrollbar-width: none; scroll-behavior: smooth; list-style: none; }
.single-product .product-page div.product div.images .flex-control-thumbs::-webkit-scrollbar { display: none; }
.product-thumb-carousel { position: relative; margin-top: .75rem; }
.single-product .product-page div.product div.images .product-thumb-carousel .flex-control-thumbs { margin-top: 0; }
.product-thumb-arrow { position: absolute; z-index: 4; top: 50%; width: 2.75rem; height: 2.75rem; display: none; place-items: center; border: 1px solid var(--cb-border-strong); border-radius: 50%; background: rgb(8 9 12 / 92%); color: var(--cb-text); cursor: pointer; transform: translateY(-50%); }
.product-thumb-carousel.has-overflow .product-thumb-arrow { display: grid; }
.product-thumb-arrow-previous { left: -1.375rem; }
.product-thumb-arrow-next { right: -1.375rem; }
.product-thumb-arrow span { width: .62rem; height: .62rem; border-top: 2px solid currentcolor; border-left: 2px solid currentcolor; transform: rotate(-45deg); }
.product-thumb-arrow-next span { transform: rotate(135deg); }
.product-thumb-arrow:hover:not(:disabled) { border-color: var(--cb-accent); color: var(--cb-accent); }
.product-thumb-arrow:disabled { opacity: .28; cursor: default; }
.single-product .product-page div.product div.images .flex-control-thumbs li { float: none; width: auto; height: auto; aspect-ratio: 1; margin: 0; padding: 0; border: 1px solid var(--cb-border); border-radius: .5rem; overflow: hidden; background: var(--cb-surface); cursor: pointer; }
.single-product .product-page div.product div.images .flex-control-thumbs img { width: 100%; height: 100%; margin: 0; object-fit: contain; opacity: .58; transition: opacity .2s ease, border-color .2s ease; }
.single-product .product-page div.product div.images .flex-control-thumbs img:hover,
.single-product .product-page div.product div.images .flex-control-thumbs img.flex-active { opacity: 1; }
.single-product .product-page div.product div.images .flex-control-thumbs li:hover,
.single-product .product-page div.product div.images .flex-control-thumbs li:has(> img.flex-active) { border-color: rgb(244 165 28 / 72%); }

.product-page .summary { align-self: start; padding-top: .15rem; }
.product-summary-breadcrumb { margin-bottom: 2.25rem; }
.product-summary-breadcrumb .breadcrumbs { margin: 0; color: var(--cb-text-muted); font-size: .73rem; }
.product-hero-badge { display: inline-block; margin: 0 0 .9rem; padding: .42rem .7rem; border-radius: 2rem; background: var(--cb-accent); color: #08090c; font-size: .68rem; font-weight: 900; letter-spacing: .06em; text-transform: uppercase; }
.product-page .summary .eyebrow { margin: 0 0 .8rem; }
.product-page .product_title { margin: 0 0 1.125rem; font-family: var(--cb-font-display); font-size: clamp(3rem, 5vw, 5.6rem); line-height: .86; letter-spacing: -.045em; text-transform: uppercase; }
.product-summary-copy { max-width: 35rem; color: var(--cb-text-muted); font-size: 1.02rem; line-height: 1.7; }
.product-summary-copy p { margin: 0; }
.product-page .woocommerce-product-rating { display: flex; align-items: center; gap: .7rem; margin: 1.2rem 0 1rem; }
.star-rating { position: relative; width: 5.5em; overflow: hidden; color: var(--cb-accent); font-family: Arial, sans-serif; letter-spacing: .1em; }
.star-rating::before { content: "★★★★★"; color: #555b66; }
.star-rating span { position: absolute; inset: 0 auto 0 0; overflow: hidden; white-space: nowrap; }
.star-rating span::before { content: "★★★★★"; }
.product-page .price { margin: 1rem 0; color: var(--cb-text); font-size: clamp(1.8rem, 3vw, 2.6rem); font-weight: 900; }
.product-page .price del { color: var(--cb-text-muted); font-size: .72em; text-decoration-thickness: 2px; }
.product-page .price ins { color: var(--cb-accent-hover); text-decoration: none; }
.product-buy-benefits { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: .65rem 1rem; margin: 1.25rem 0 0; padding: 1.2rem 0; border-block: 1px solid var(--cb-border); list-style: none; }
.product-buy-benefits li { position: relative; padding-left: 1.1rem; color: var(--cb-text-muted); font-size: .82rem; }
.product-buy-benefits li::before { position: absolute; top: .53em; left: 0; width: .38rem; height: .38rem; border-radius: 50%; background: var(--cb-accent); content: ""; }
.product-page .stock { position: relative; padding-left: 1rem; font-weight: 800; }
.product-page .stock::before { position: absolute; top: .58em; left: 0; width: .45rem; height: .45rem; border-radius: 50%; background: currentcolor; content: ""; }
.product-page .in-stock { color: #78c69b; }
.product-page .out-of-stock { color: #e39b83; }
.product-page form.cart { display: grid; grid-template-columns: 7.75rem minmax(0, 1fr); gap: .75rem; align-items: end; margin: 1.5rem 0 0; }
.quantity-label { grid-column: 1; display: block; margin-bottom: -.3rem; color: var(--cb-text-muted); font-size: .7rem; font-weight: 800; letter-spacing: .08em; text-transform: uppercase; }
.product-page form.cart .quantity { grid-column: 1; display: grid; grid-template-columns: 2.25rem minmax(0, 1fr) 2.25rem; min-height: 3.5rem; border: 1px solid var(--cb-border-strong); border-radius: var(--cb-radius-sm); overflow: hidden; background: #0b0d11; }
.product-page form.cart input.qty { width: 100%; min-width: 0; height: 100%; border: 0; border-inline: 1px solid var(--cb-border); appearance: textfield; background: transparent; color: var(--cb-text); text-align: center; }
.product-page form.cart input.qty::-webkit-outer-spin-button,
.product-page form.cart input.qty::-webkit-inner-spin-button { margin: 0; appearance: none; }
.quantity-step { border: 0; background: transparent; color: var(--cb-text); font-size: 1.1rem; cursor: pointer; }
.quantity-step:hover { background: var(--cb-surface-alt); color: var(--cb-accent); }
.product-page form.cart .single_add_to_cart_button { grid-column: 2; min-height: 3.5rem; padding: .8rem 1.5rem; border: 1px solid var(--cb-accent); border-radius: var(--cb-radius-sm); background: var(--cb-accent); color: #08090c; font-weight: 900; cursor: pointer; }
.product-page form.cart .single_add_to_cart_button:hover { border-color: var(--cb-accent-hover); background: var(--cb-accent-hover); }
.product-page form.cart .single_add_to_cart_button.disabled { opacity: .45; cursor: not-allowed; }
.purchase-anchor { scroll-margin-top: calc(var(--cb-header-height, 4.625rem) + 1.5rem); }
.product-trust { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); margin-top: 1.25rem; border: 1px solid var(--cb-border); border-radius: var(--cb-radius-sm); }
.product-trust a { min-height: 4rem; display: flex; flex-direction: column; justify-content: center; padding: .7rem .85rem; color: var(--cb-text-muted); font-size: .7rem; text-decoration: none; }
.product-trust a + a { border-left: 1px solid var(--cb-border); }
.product-trust b { color: var(--cb-text); font-size: .74rem; }

/* Product story */
.product-page .container { width: min(calc(100% - 3rem), var(--cb-content)); margin-inline: auto; }
.product-page .section { width: 100vw; margin-left: calc(50% - 50vw); padding: clamp(5rem, 9vw, 9rem) 0; }
.product-page .section h2,
.product-page .related > h2,
.product-page .product-final-cta h2 { max-width: 58rem; margin: 0 0 1.5rem; font-family: var(--cb-font-display); font-size: clamp(2.7rem, 5vw, 5.3rem); line-height: .9; letter-spacing: -.04em; text-transform: uppercase; }
.compact-heading { max-width: 58rem; margin-bottom: 2.5rem; }
.section-heading { display: grid; grid-template-columns: minmax(0, 1fr) minmax(18rem, .8fr); gap: clamp(2rem, 6vw, 6rem); align-items: end; margin-bottom: 3rem; }
.section-heading > p { max-width: 34rem; margin: 0 0 1.5rem; color: var(--cb-text-muted); line-height: 1.75; }
.inline-heading { grid-template-columns: minmax(0, 1fr) auto; }
.inline-heading .text-link { margin: 0 0 1.5rem; white-space: nowrap; }
.product-key-specs { width: 100vw; margin-left: calc(50% - 50vw); border-block: 1px solid var(--cb-border); background: #0c0e12; }
.product-key-specs .container { display: grid; grid-template-columns: repeat(5, minmax(0, 1fr)); padding-block: 1.5rem; }
.product-key-specs .container > div { min-width: 0; padding: .8rem 1.25rem; border-left: 1px solid var(--cb-border); }
.product-key-specs .container > div:last-child { border-right: 1px solid var(--cb-border); }
.product-key-specs span,
.product-key-specs strong { display: block; overflow-wrap: anywhere; }
.product-key-specs span { margin-bottom: .4rem; color: var(--cb-text-muted); font-size: .65rem; letter-spacing: .08em; text-transform: uppercase; }
.product-key-specs strong { font-size: .9rem; }
.product-story { background: var(--cb-bg); }
.product-story-stack { display: grid; gap: clamp(5rem, 10vw, 10rem); }
.product-story-grid,
.product-connectivity-grid,
.product-remote-grid,
.product-box-grid,
.product-final-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: clamp(2.5rem, 7vw, 7rem); align-items: center; }
.product-story-grid { grid-template-columns: minmax(0, .82fr) minmax(0, 1.18fr); }
.product-story-grid-reverse { grid-template-columns: minmax(0, 1.18fr) minmax(0, .82fr); }
.product-story-grid-reverse .product-story-media { order: -1; }
.product-story-copy { max-width: 35rem; }
.product-editorial-content { color: #cbd0d8; font-size: 1.05rem; line-height: 1.8; }
.product-editorial-content .eyebrow { margin-bottom: .8rem; color: var(--cb-accent); font-size: .72rem; line-height: 1.2; }
.product-editorial-content > :first-child { margin-top: 0; }
.product-editorial-content > :last-child { margin-bottom: 0; }
.product-story-media,
.product-connectivity-media,
.product-remote-media,
.product-box-media { position: relative; margin: 0; overflow: hidden; border-radius: var(--cb-radius-md); background: var(--cb-surface); }
.product-story-media img,
.product-connectivity-media img,
.product-remote-media img,
.product-box-media img { width: 100%; height: 100%; min-height: 31rem; object-fit: cover; }
.product-studio-media img,
.product-connectivity-media img,
.product-remote-media img,
.product-box-media img { object-fit: contain; padding: clamp(1rem, 3vw, 2.5rem); }
.text-link { display: inline-flex; margin-top: 1rem; color: var(--cb-accent); font-weight: 800; text-underline-offset: .3em; }
.product-performance { padding-block: clamp(5rem, 7vw, 6.5rem); border-block: 1px solid var(--cb-border); background: var(--cb-bg-secondary); }
.product-performance-grid { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: .75rem; }
.product-performance-grid article { min-height: 11rem; display: flex; flex-direction: column; justify-content: space-between; padding: 1.5rem; border: 1px solid var(--cb-border); border-radius: var(--cb-radius-sm); background: var(--cb-surface); }
.product-performance-grid span { color: var(--cb-text-muted); font-size: .7rem; letter-spacing: .1em; text-transform: uppercase; }
.product-performance-grid strong { color: var(--cb-text); font-family: var(--cb-font-display); font-size: clamp(1.35rem, 2vw, 2rem); line-height: 1; text-transform: uppercase; }
.product-performance-grid p { margin: 1.5rem 0 0; color: var(--cb-text-muted); font-size: .8rem; line-height: 1.6; }
.product-cinema { position: relative; width: 100vw; min-height: 45rem; display: grid; align-items: end; margin-left: calc(50% - 50vw); overflow: hidden; }
.product-cinema-backdrop { position: absolute; inset: 0; }
.product-cinema-backdrop::after { position: absolute; inset: 0; background: linear-gradient(90deg, rgb(8 9 12 / 88%) 0%, rgb(8 9 12 / 48%) 48%, rgb(8 9 12 / 15%) 100%), linear-gradient(0deg, #08090c 0%, transparent 45%); content: ""; }
.product-cinema-backdrop img { width: 100%; height: 100%; object-fit: cover; }
.product-cinema-copy { position: relative; z-index: 1; padding-bottom: clamp(4rem, 8vw, 8rem); }
.product-cinema-copy > p:not(.eyebrow) { max-width: 36rem; color: #d7dae0; }
.product-cinema-specs { max-width: 44rem; display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: .75rem; margin-top: 2rem; }
.product-cinema-specs span { display: flex; flex-direction: column; padding: 1rem; border: 1px solid var(--cb-border-strong); border-radius: var(--cb-radius-sm); background: rgb(8 9 12 / 55%); color: var(--cb-text-muted); font-size: .7rem; text-transform: uppercase; }
.product-cinema-specs b { margin-bottom: .25rem; color: var(--cb-text); font-size: 1.1rem; text-transform: none; }
.product-connectivity { padding-block: clamp(5rem, 8vw, 7.5rem); background: var(--cb-bg-secondary); }
.product-connectivity-media img { min-height: 33rem; padding: 0; object-fit: cover; }
.product-port-list { display: flex; flex-wrap: wrap; gap: .6rem; margin-top: 2rem; }
.product-port-list span { padding: .6rem .8rem; border: 1px solid var(--cb-border-strong); border-radius: 2rem; color: var(--cb-text-muted); font-size: .75rem; }
.product-remote { padding-block: clamp(5rem, 8vw, 7.5rem); background: var(--cb-bg); }
.product-remote-media img { min-height: 38rem; padding: 0; object-fit: contain; }
.product-remote ul { margin: 1.5rem 0 0; padding: 0; list-style: none; }
.product-remote li { padding: .65rem 0; border-top: 1px solid var(--cb-border); color: var(--cb-text-muted); }
.product-setup { padding-block: clamp(5rem, 7vw, 6.5rem); border-block: 1px solid var(--cb-border); background: var(--cb-bg-secondary); }
.product-setup ol { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 1px; margin: 0; padding: 1px; background: var(--cb-border); list-style: none; }
.product-setup li { min-height: 13.75rem; padding: 1.5rem; background: var(--cb-surface); }
.product-setup li > span { color: var(--cb-accent); font-family: var(--cb-font-display); font-size: 2.2rem; }
.product-setup h3 { margin: 2.75rem 0 .75rem; font-size: 1rem; }
.product-setup li p { margin: 0; color: var(--cb-text-muted); font-size: .85rem; }
.product-specifications { padding-block: clamp(5rem, 7.5vw, 7rem); background: var(--cb-bg-secondary); }
.spec-groups { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 1rem; }
.spec-groups > section { border: 1px solid var(--cb-border); border-radius: var(--cb-radius-sm); overflow: hidden; background: var(--cb-surface); }
.spec-groups h3 { margin: 0; padding: 1rem 1.25rem; border-bottom: 1px solid var(--cb-border); color: var(--cb-accent); font-size: .75rem; letter-spacing: .12em; text-transform: uppercase; }
.spec-groups dl { margin: 0; }
.spec-groups dl > div { display: grid; grid-template-columns: .8fr 1.2fr; gap: 1rem; padding: .9rem 1.25rem; border-top: 1px solid rgb(255 255 255 / 5%); }
.spec-groups dt { color: var(--cb-text-muted); }
.spec-groups dd { margin: 0; color: var(--cb-text); overflow-wrap: anywhere; }
.product-box { padding-block: clamp(5rem, 8vw, 7.5rem); background: var(--cb-bg); }
.product-box-media img { min-height: 38rem; padding: 0; object-fit: cover; }
.product-box-grid.no-media { display: block; }
.product-box-grid.no-media .product-box-copy { max-width: 52rem; }
.product-box-copy ol { display: grid; gap: 0; margin: 2rem 0 0; padding: 0; border-top: 1px solid var(--cb-border); list-style: none; }
.product-box-copy li { display: grid; grid-template-columns: 3rem 1fr; gap: 1rem; padding: 1rem 0; border-bottom: 1px solid var(--cb-border); }
.product-box-copy li span { color: var(--cb-accent); font-family: var(--cb-font-display); font-size: 1.3rem; }
.product-compare { padding-block: clamp(5rem, 7.5vw, 7rem); border-block: 1px solid var(--cb-border); background: var(--cb-bg); }
.product-compare-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 1rem; }
.product-compare-grid .product-card { min-width: 0; }
.product-compare-grid .product-image { min-height: 19rem; }
.product-compare-grid .product-image img { max-height: 17rem; }
.product-compare-grid .product-card-body > p:not(.product-label, .price) { min-height: 3.4em; }
.product-faq { padding-block: clamp(5rem, 7vw, 6.5rem); background: var(--cb-bg-secondary); }
.product-faq-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: .75rem; }
.product-faq .faq-item { border: 1px solid var(--cb-border); border-radius: var(--cb-radius-sm); background: var(--cb-surface); }
.product-faq .faq-item h3 { margin: 0; }
.product-faq .faq-item button { width: 100%; min-height: 4rem; display: flex; justify-content: space-between; align-items: center; gap: 1rem; padding: 1rem 1.25rem; border: 0; background: transparent; color: var(--cb-text); text-align: left; cursor: pointer; }
.product-faq .faq-answer { padding: 0 1.25rem 1.25rem; color: var(--cb-text-muted); }
.product-reviews #reviews { display: grid; grid-template-columns: 1.1fr .9fr; gap: 2rem; }
.product-reviews #reviews #comments > h2 { display: none; }
.product-reviews .commentlist { margin: 0; padding: 0; list-style: none; }
.product-reviews .comment_container { margin-bottom: .75rem; padding: 1.25rem; border: 1px solid var(--cb-border); background: var(--cb-surface); }
.product-reviews .avatar { width: 2.5rem; height: 2.5rem; float: left; margin-right: .75rem; border-radius: 50%; }
.product-reviews .comment-text { min-width: 0; overflow: visible; }
.product-reviews .comment-text img,
.product-reviews .comment-text video,
.product-reviews [class*="review"] img,
.product-reviews [class*="review"] video { max-width: 100%; height: auto; }
.product-reviews label { display: block; margin: .75rem 0 .35rem; font-weight: 800; }
.product-reviews input:not([type="checkbox"]),
.product-reviews textarea,
.product-reviews select { width: 100%; padding: .75rem; border: 1px solid var(--cb-border-strong); background: #0b0d11; color: var(--cb-text); }
.related { width: min(calc(100% - 3rem), var(--cb-container)); max-width: none; margin-inline: auto; padding: clamp(5rem, 8vw, 8rem) 0; border-top: 1px solid var(--cb-border); }
.product-final-cta { width: 100vw; min-height: 35rem; display: grid; align-items: center; margin-left: calc(50% - 50vw); padding: clamp(4rem, 7vw, 7rem) 0; border-block: 1px solid var(--cb-border); background: radial-gradient(circle at 25% 50%, rgb(244 165 28 / 12%), transparent 35%), var(--cb-surface); }
.product-final-grid figure { margin: 0; }
.product-final-grid figure img { width: 100%; height: clamp(18rem, 32vw, 28rem); object-fit: contain; }
.product-final-grid strong { display: block; margin: 1rem 0 1.5rem; color: var(--cb-accent); font-size: 1.5rem; }
.product-final-grid .button { display: inline-flex; min-height: 3.5rem; align-items: center; justify-content: center; padding: .75rem 1.5rem; border-radius: var(--cb-radius-sm); background: var(--cb-accent); color: #08090c; font-weight: 900; text-decoration: none; }
.product-sticky-buy { position: fixed; z-index: 80; inset: auto 0 0; display: none; align-items: center; justify-content: space-between; gap: 1rem; padding: .7rem max(1rem, env(safe-area-inset-right)) calc(.7rem + env(safe-area-inset-bottom)) max(1rem, env(safe-area-inset-left)); border-top: 1px solid var(--cb-border-strong); background: rgb(10 12 16 / 96%); box-shadow: 0 -1rem 2rem rgb(0 0 0 / 35%); opacity: 0; pointer-events: none; transform: translateY(100%); transition: opacity .2s ease, transform .2s ease; }
.product-sticky-buy.is-visible { opacity: 1; pointer-events: auto; transform: none; }
.product-sticky-buy span,
.product-sticky-buy strong { display: block; }
.product-sticky-buy span { max-width: 12rem; overflow: hidden; font-size: .72rem; text-overflow: ellipsis; white-space: nowrap; }
.product-sticky-buy strong { color: var(--cb-accent); font-size: .82rem; }
.product-sticky-buy .button { min-height: 2.75rem; display: inline-flex; align-items: center; padding: .6rem 1rem; border-radius: var(--cb-radius-sm); background: var(--cb-accent); color: #08090c; font-size: .78rem; font-weight: 900; text-decoration: none; }

@media (max-width: 68.75rem) {
	.single-product .product-page .product-buy-grid { --pdp-stage-height: 31.25rem; grid-template-columns: minmax(0, 1fr) minmax(23rem, .86fr); gap: 2.5rem; }
	.product-performance-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}
@media (max-width: 64rem) {
	.product-cinema { min-height: 44rem; }
}
@media (max-width: 56.25rem) {
	.catalog-collection ul.products,
	.related ul.products { grid-template-columns: repeat(2, minmax(0, 1fr)); }
	.single-product .product-page .product-buy-grid { --pdp-stage-height: 31rem; width: min(calc(100% - 2rem), var(--cb-container)); grid-template-columns: minmax(0, 1fr); gap: 2.75rem; }
	.single-product .product-page div.product div.woocommerce-product-gallery { position: static; }
	.product-page .summary { max-width: 42rem; }
	.product-key-specs .container { grid-template-columns: repeat(3, minmax(0, 1fr)); }
	.product-key-specs .container > div { border-bottom: 1px solid var(--cb-border); }
	.product-story-grid,
	.product-connectivity-grid,
	.product-remote-grid,
	.product-box-grid,
	.product-final-grid { gap: 2.5rem; }
	.product-setup ol { grid-template-columns: repeat(2, minmax(0, 1fr)); }
	.product-compare-grid { grid-template-columns: repeat(3, minmax(16rem, 1fr)); overflow-x: auto; padding-bottom: .75rem; scroll-snap-type: x proximity; }
	.product-compare-grid .product-card { scroll-snap-align: start; }
}
@media (max-width: 48rem) {
	.product-page .container,
	.related { width: min(calc(100% - 2rem), var(--cb-content)); }
	.product-page .section { padding-block: clamp(4rem, 13vw, 6rem); }
	.product-story-grid,
	.product-connectivity-grid,
	.product-remote-grid,
	.product-box-grid,
	.product-final-grid,
	.spec-groups,
	.product-faq-grid,
	.product-reviews #reviews { grid-template-columns: minmax(0, 1fr); }
	.section-heading,
	.inline-heading { grid-template-columns: minmax(0, 1fr); gap: .5rem; }
	.inline-heading .text-link { margin-top: -.5rem; }
	.product-story-grid-reverse .product-story-copy { order: 1; }
	.product-story-grid-reverse .product-story-media { order: 2; }
	.product-story-media img,
	.product-connectivity-media img,
	.product-remote-media img,
	.product-box-media img { min-height: 22rem; }
	.product-key-specs .container { grid-template-columns: repeat(2, minmax(0, 1fr)); }
	.product-cinema { min-height: 44rem; }
	.product-cinema-backdrop::after { background: linear-gradient(0deg, #08090c 10%, rgb(8 9 12 / 44%) 67%, rgb(8 9 12 / 18%) 100%); }
	.product-sticky-buy { display: flex; }
	.product-page { padding-bottom: calc(5rem + env(safe-area-inset-bottom)); }
	.single-product .product-page div.product div.images .flex-control-thumbs { grid-auto-columns: calc((100% - 1.875rem) / 4); }
	.product-thumb-arrow-previous { left: .5rem; }
	.product-thumb-arrow-next { right: .5rem; }
}
@media (max-width: 32.5rem) {
	.catalog-collection ul.products,
	.related ul.products { grid-template-columns: minmax(0, 1fr); }
	.single-product .product-page .product-buy-grid { --pdp-stage-height: 24.375rem; padding-top: 1.25rem; }
	.product-summary-breadcrumb { margin-bottom: 1.4rem; }
	.single-product .product-page div.product div.images .woocommerce-product-gallery__image img { width: 94%; max-width: 94%; }
	.product-page .product_title { font-size: clamp(2.8rem, 15vw, 4.1rem); }
	.product-buy-benefits { display: flex; overflow-x: auto; }
	.product-buy-benefits li { flex: 0 0 auto; }
	.product-page form.cart { grid-template-columns: 6.875rem minmax(0, 1fr); }
	.product-trust { grid-template-columns: minmax(0, 1fr); }
	.product-trust a + a { border-top: 1px solid var(--cb-border); border-left: 0; }
	.product-key-specs .container { grid-template-columns: minmax(0, 1fr); }
	.product-performance-grid,
	.product-setup ol,
	.product-cinema-specs { grid-template-columns: minmax(0, 1fr); }
	.product-performance-grid article { min-height: 8.5rem; }
	.product-setup li { min-height: 13rem; }
	.product-setup h3 { margin-top: 2.5rem; }
	.spec-groups dl > div { grid-template-columns: minmax(0, 1fr); gap: .35rem; }
	.product-compare-grid { grid-template-columns: none; grid-auto-flow: column; grid-auto-columns: min(82vw, 22rem); }
	.product-compare-grid .product-image { min-height: 17rem; }
}
@media (prefers-reduced-motion: reduce) {
	.product-page *,
	.product-sticky-buy { scroll-behavior: auto; transition: none; }
}
