/* =========================================================
   WooCommerce
   ========================================================= */
.section-shell--product { padding-top: clamp(2.7rem, 4vw, 4.2rem); background: linear-gradient(180deg, #f5f8fc 0%, #ffffff 100%); }
.section-shell--product-archive { padding-top: clamp(1.45rem, 2.4vw, 2.4rem); background: #ffffff; }
.core-ubb-product-shell .woocommerce-notices-wrapper { margin-bottom: 1rem; }
.core-ubb-product-archive { display: grid; gap: clamp(0.9rem, 1.8vw, 1.5rem); }
.core-ubb-product-archive .woocommerce-notices-wrapper { margin-bottom: 0; }
.core-ubb-product-archive .woocommerce-ordering { float: none; margin: 0; }
.core-ubb-product-archive .woocommerce-ordering select { min-height: 42px; padding: 0 2.4rem 0 0.85rem; border: 1px solid rgba(29, 60, 113, 0.18); border-radius: var(--radius-control); background-color: #ffffff; color: var(--text); font-family: var(--font-body); font-size: 0.88rem; }
.core-ubb-product-archive .woocommerce-result-count { float: none; margin: 0; color: var(--text-soft); font-size: 0.9rem; line-height: 42px; }
.core-ubb-product-archive .woocommerce-pagination { margin-top: 0.4rem; text-align: center; }
.core-ubb-product-archive .woocommerce-pagination ul.page-numbers { display: inline-flex; flex-wrap: wrap; gap: 0.4rem; margin: 0; padding: 0; border: 0; }
.core-ubb-product-archive .woocommerce-pagination ul.page-numbers li { float: none; border: 0; }
.core-ubb-product-archive .woocommerce-pagination ul.page-numbers a,
.core-ubb-product-archive .woocommerce-pagination ul.page-numbers span { display: grid; place-items: center; min-width: 40px; min-height: 40px; padding: 0 0.72rem; border: 1px solid rgba(29, 60, 113, 0.16); border-radius: var(--radius-control); background: #ffffff; color: var(--institutional-blue); font-weight: 700; line-height: 1; text-decoration: none; }
.core-ubb-product-archive .woocommerce-pagination ul.page-numbers a:hover,
.core-ubb-product-archive .woocommerce-pagination ul.page-numbers a:focus-visible,
.core-ubb-product-archive .woocommerce-pagination ul.page-numbers span.current { border-color: var(--brand-accent); background: var(--brand-accent); color: #ffffff; }
.page-woocommerce--product .woocommerce div.product { position: relative; display: grid; grid-template-columns: minmax(0, 0.72fr) minmax(340px, 0.82fr); gap: clamp(1.6rem, 4vw, 3.4rem); align-items: start; }
.page-woocommerce--product .woocommerce div.product div.images,
.page-woocommerce--product .woocommerce div.product div.summary { float: none; width: auto; margin: 0; }
.page-woocommerce--product .woocommerce div.product div.images { display: grid; gap: 0.9rem; min-width: 0; }
.page-woocommerce--product .woocommerce div.product div.images .flex-viewport { aspect-ratio: 2000 / 1333; height: auto !important; }
.page-woocommerce--product .woocommerce div.product div.images .woocommerce-product-gallery__wrapper { height: 100%; margin: 0; }
.page-woocommerce--product .woocommerce div.product div.images .woocommerce-product-gallery__image { display: grid; place-items: center; aspect-ratio: 2000 / 1333; overflow: hidden; border: 1px solid rgba(29, 60, 113, 0.14); border-radius: var(--radius-control); background: #ffffff; box-shadow: 0 18px 42px rgba(27, 46, 81, 0.09); }
.page-woocommerce--product .woocommerce div.product div.images .woocommerce-product-gallery__image a { box-sizing: border-box; display: grid; place-items: center; width: 100%; height: 100%; padding: 0; background: #ffffff; }
.page-woocommerce--product .woocommerce div.product div.images .woocommerce-product-gallery__image img { display: block; width: auto; height: auto; max-width: 100%; max-height: 100%; object-fit: contain; object-position: center; background: #ffffff; }
.page-woocommerce--product .woocommerce div.product div.images .flex-control-thumbs { display: grid; grid-template-columns: repeat(auto-fit, minmax(54px, 64px)); justify-content: start; gap: 0.45rem; margin: 0; padding: 0; }
.page-woocommerce--product .woocommerce div.product div.images .flex-control-thumbs li { display: grid; place-items: center; width: auto !important; aspect-ratio: 1 / 1; float: none; list-style: none; border: 1px solid rgba(29, 60, 113, 0.14); border-radius: var(--radius-control); background: #ffffff; overflow: hidden; }
.page-woocommerce--product .woocommerce div.product div.images .flex-control-thumbs img { box-sizing: border-box; display: block; width: auto; height: auto; max-width: 100%; max-height: 100%; padding: 0.18rem; object-fit: contain; object-position: center; border: 0; border-radius: 0; background: #ffffff; opacity: 0.72; transition: opacity 180ms ease, transform 180ms ease; }
.page-woocommerce--product .woocommerce div.product div.images .flex-control-thumbs li:has(img.flex-active),
.page-woocommerce--product .woocommerce div.product div.images .flex-control-thumbs li:hover,
.page-woocommerce--product .woocommerce div.product div.images .flex-control-thumbs li:focus-within { border-color: var(--brand-accent); }
.page-woocommerce--product .woocommerce div.product div.images .flex-control-thumbs img.flex-active,
.page-woocommerce--product .woocommerce div.product div.images .flex-control-thumbs img:hover,
.page-woocommerce--product .woocommerce div.product div.images .flex-control-thumbs img:focus-visible { opacity: 1; transform: translateY(-2px); }
.page-woocommerce--product .woocommerce div.product > span.onsale { position: absolute; top: 1rem; left: 1rem; z-index: 3; min-width: 0; min-height: 28px; padding: 0 0.72rem; border-radius: var(--radius-control); background: var(--brand-accent); color: #ffffff; font-family: var(--font-body); font-size: 0.72rem; font-weight: 800; letter-spacing: 0.08em; line-height: 28px; text-transform: uppercase; box-shadow: 0 12px 26px rgba(var(--brand-accent-rgb), 0.24); }
.page-woocommerce--product .woocommerce div.product div.summary { display: grid; grid-template-columns: minmax(0, 1fr) auto; gap: 1rem; align-items: start; padding: 0; border: 0; border-radius: 0; background: transparent; box-shadow: none; }
.core-ubb-product-meta-badges { grid-column: 1 / -1; display: flex; flex-wrap: wrap; align-items: center; gap: 0.7rem; }
.core-ubb-product-meta-badges__code,
.core-ubb-product-meta-badges__stock { display: inline-flex; align-items: center; min-height: 24px; padding: 0 0.58rem; border-radius: var(--radius-control); font-family: var(--font-body); font-size: 0.68rem; font-weight: 700; letter-spacing: 0.04em; line-height: 1; text-transform: none; white-space: nowrap; }
.core-ubb-product-meta-badges__code { background: rgba(29, 60, 113, 0.08); color: rgba(48, 52, 63, 0.72); }
.core-ubb-product-meta-badges__stock { background: rgba(var(--brand-accent-rgb), 0.12); color: var(--brand-accent-strong); }
.core-ubb-product-meta-badges__stock--outofstock { background: rgba(228, 27, 26, 0.1); color: #a51616; }
.core-ubb-product-meta-badges__stock--onbackorder { background: rgba(249, 178, 20, 0.16); color: #8a5a00; }
.page-woocommerce--product .woocommerce div.product .product_title { grid-column: 1; margin: 0; color: var(--institutional-blue); font-family: var(--font-display); font-size: clamp(1.35rem, 2.1vw, 1.95rem); font-weight: 900; line-height: 1; letter-spacing: 0; text-transform: uppercase; }
.page-woocommerce--product .woocommerce div.product p.price,
.page-woocommerce--product .woocommerce div.product span.price { grid-column: 2; justify-self: end; margin: 0; color: var(--institutional-blue); font-family: var(--font-display); font-size: clamp(1.35rem, 2.2vw, 2rem); font-weight: 900; line-height: 1; letter-spacing: 0; text-align: right; white-space: nowrap; }
.page-woocommerce--product .woocommerce div.product p.price del,
.page-woocommerce--product .woocommerce div.product span.price del { display: inline-block; margin-right: 0.45rem; color: var(--text-faint); font-family: var(--font-body); font-size: 1rem; font-weight: 600; opacity: 1; }
.page-woocommerce--product .woocommerce div.product p.price ins,
.page-woocommerce--product .woocommerce div.product span.price ins { color: inherit; text-decoration: none; }
.page-woocommerce--product .woocommerce-product-details__long-description { padding-top: 0.35rem; border-top: 1px solid rgba(29, 60, 113, 0.1); color: var(--text-soft); }
.page-woocommerce--product .woocommerce-product-details__long-description,
.page-woocommerce--product .woocommerce div.product form.cart,
.page-woocommerce--product .woocommerce div.product .product_meta { grid-column: 1 / -1; }
.page-woocommerce--product .woocommerce-product-details__long-description p,
.page-woocommerce--product .woocommerce-product-details__long-description ul,
.page-woocommerce--product .woocommerce-product-details__long-description ol { margin: 0 0 0.9rem; font-size: clamp(0.98rem, 1.4vw, 1.04rem); line-height: 1.66; }
.page-woocommerce--product .woocommerce-product-details__long-description > *:last-child { margin-bottom: 0; }
.core-ubb-product-specifications { grid-column: 1 / -1; display: grid; gap: 0.7rem; padding: 0.95rem 0; border-top: 1px solid rgba(29, 60, 113, 0.1); }
.core-ubb-product-specifications__title { margin: 0; color: var(--institutional-blue); font-family: var(--font-body); font-size: 0.78rem; font-weight: 800; letter-spacing: 0.08em; line-height: 1.15; text-transform: uppercase; }
.core-ubb-product-specifications__list { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 0.42rem clamp(0.7rem, 2vw, 1.1rem); margin: 0; }
.core-ubb-product-specifications__item { display: grid; grid-template-columns: minmax(0, 0.8fr) minmax(0, 1.2fr); gap: 0.55rem; padding: 0.48rem 0; border-bottom: 1px solid rgba(29, 60, 113, 0.08); }
.core-ubb-product-specifications dt { color: var(--text-faint); font-size: 0.82rem; font-weight: 700; line-height: 1.35; }
.core-ubb-product-specifications dd { margin: 0; color: var(--text); font-size: 0.88rem; font-weight: 600; line-height: 1.35; text-align: right; }
.page-woocommerce--product .woocommerce div.product form.cart { display: flex; flex-wrap: wrap; gap: 0.85rem; align-items: center; margin: 0.2rem 0 0; padding-top: 0.3rem; }
.page-woocommerce--product .woocommerce div.product form.cart div.quantity { float: none; margin: 0; }
.page-woocommerce--product .woocommerce .quantity .qty { width: 76px; min-height: 52px; border: 1px solid rgba(29, 60, 113, 0.18); border-radius: var(--radius-control); background: #ffffff; color: var(--text); font-weight: 700; text-align: center; box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.9); }
.page-woocommerce--product .woocommerce div.product form.cart .button,
.page-woocommerce--product .woocommerce a.button,
.page-woocommerce--product .woocommerce button.button,
.page-woocommerce--product .woocommerce input.button { min-height: 52px; padding: 0 1.25rem; border: 1px solid transparent; border-radius: var(--radius-control); background: linear-gradient(135deg, var(--brand-accent) 0%, var(--brand-accent-strong) 100%); color: #ffffff; font-family: var(--font-body); font-size: 1rem; font-weight: 700; letter-spacing: 0.01em; text-decoration: none; box-shadow: none; transition: transform 180ms ease, background 180ms ease, box-shadow 180ms ease; }
.page-woocommerce--product .woocommerce div.product form.cart .single_add_to_cart_button { display: inline-flex; align-items: center; justify-content: center; gap: 0.58rem; }
.page-woocommerce--product .woocommerce div.product form.cart .single_add_to_cart_button::before { content: "\f23f"; display: inline-block; font-family: bootstrap-icons; font-size: 1.08rem; font-weight: 400; line-height: 1; }
.page-woocommerce--product .woocommerce div.product form.cart .button:hover,
.page-woocommerce--product .woocommerce div.product form.cart .button:focus-visible,
.page-woocommerce--product .woocommerce a.button:hover,
.page-woocommerce--product .woocommerce a.button:focus-visible,
.page-woocommerce--product .woocommerce button.button:hover,
.page-woocommerce--product .woocommerce button.button:focus-visible,
.page-woocommerce--product .woocommerce input.button:hover,
.page-woocommerce--product .woocommerce input.button:focus-visible { transform: translateY(-2px); background: linear-gradient(135deg, var(--brand-accent-hover) 0%, var(--brand-accent-strong) 100%); color: #ffffff; box-shadow: 0 12px 28px rgba(var(--brand-accent-rgb), 0.22); }
.page-woocommerce--product .woocommerce div.product form.cart .button:focus-visible,
.page-woocommerce--product .woocommerce a.button:focus-visible,
.page-woocommerce--product .woocommerce button.button:focus-visible,
.page-woocommerce--product .woocommerce input.button:focus-visible { outline: 0; box-shadow: 0 0 0 3px rgba(var(--brand-accent-rgb), 0.18), 0 12px 28px rgba(var(--brand-accent-rgb), 0.22); }
.page-woocommerce--product .woocommerce div.product form.cart .variations { margin-bottom: 0; }
.page-woocommerce--product .woocommerce div.product form.cart .variations th,
.page-woocommerce--product .woocommerce div.product form.cart .variations td { display: block; padding: 0 0 0.5rem; line-height: 1.2; text-align: left; }
.page-woocommerce--product .woocommerce div.product form.cart .variations label { color: var(--text); font-family: var(--font-body); font-size: 0.82rem; font-weight: 800; letter-spacing: 0.08em; text-transform: uppercase; }
.page-woocommerce--product .woocommerce div.product form.cart .variations select { min-height: 48px; width: min(100%, 360px); border: 1px solid rgba(29, 60, 113, 0.18); border-radius: var(--radius-control); background: #ffffff; color: var(--text); }
.page-woocommerce--product .woocommerce div.product .product_meta { display: grid; gap: 0.35rem; padding-top: 0.95rem; border-top: 1px solid rgba(29, 60, 113, 0.1); color: var(--text-faint); font-size: 0.9rem; line-height: 1.45; }
.page-woocommerce--product .woocommerce div.product .product_meta > span { display: block; }
.page-woocommerce--product .woocommerce div.product .product_meta a { color: var(--brand-primary); text-decoration: none; }
.page-woocommerce--product .woocommerce div.product .product_meta a:hover,
.page-woocommerce--product .woocommerce div.product .product_meta a:focus-visible { color: var(--brand-accent-strong); text-decoration: underline; text-underline-offset: 3px; }
.page-woocommerce--product .woocommerce div.product .upsells,
.core-ubb-related-products { grid-column: 1 / -1; margin-top: clamp(1.6rem, 4vw, 3rem); }
.page-woocommerce--product .woocommerce div.product .upsells > h2,
.core-ubb-related-products__title { margin: 0 0 1.1rem; color: var(--institutional-blue); font-family: var(--font-display); font-size: clamp(1.45rem, 2.4vw, 2rem); font-weight: 900; line-height: 1; letter-spacing: 0; text-transform: uppercase; }
.core-ubb-product-list .home-products__grid { display: grid; grid-template-columns: repeat(5, minmax(0, 1fr)); align-items: stretch; gap: clamp(1rem, 1.8vw, 1.4rem); }
.core-ubb-product-list .home-product-card { display: grid; grid-template-rows: auto 1fr; min-width: 0; overflow: hidden; border: 0; border-radius: 0; background: #ffffff; box-shadow: none; transition: transform 220ms ease, box-shadow 220ms ease; }
.core-ubb-product-list .home-product-card:hover,
.core-ubb-product-list .home-product-card:focus-within { transform: translateY(-5px); box-shadow: 0 28px 60px rgba(27, 46, 81, 0.14); }
.core-ubb-product-list .home-product-card__media { position: relative; display: block; aspect-ratio: 1 / 1; overflow: hidden; background: #ffffff; color: inherit; }
.core-ubb-product-list .home-product-card__meta-badges { position: absolute; inset: 0.85rem 0.85rem auto; z-index: 3; display: flex; align-items: flex-start; justify-content: space-between; gap: 0.7rem; pointer-events: none; }
.core-ubb-product-list .home-product-card__stock,
.core-ubb-product-list .home-product-card__code { display: inline-flex; align-items: center; min-height: 24px; padding: 0 0.58rem; border-radius: var(--radius-control); font-family: var(--font-body); font-size: 0.68rem; font-weight: 700; letter-spacing: 0.04em; line-height: 1; white-space: nowrap; }
.core-ubb-product-list .home-product-card__stock { background: rgba(var(--brand-accent-rgb), 0.12); color: var(--brand-accent-strong); }
.core-ubb-product-list .home-product-card__stock--outofstock { background: rgba(228, 27, 26, 0.1); color: #a51616; }
.core-ubb-product-list .home-product-card__stock--onbackorder { background: rgba(249, 178, 20, 0.16); color: #8a5a00; }
.core-ubb-product-list .home-product-card__code { margin-left: auto; background: rgba(29, 60, 113, 0.08); color: rgba(48, 52, 63, 0.72); }
.core-ubb-product-list .home-product-card__gallery { position: absolute; inset: 0; display: block; background: inherit; }
.core-ubb-product-list .home-product-card__image { position: absolute; inset: 0; display: block; width: 100%; height: 100%; object-fit: contain; object-position: top center; opacity: 0; transition: transform 260ms ease; }
.core-ubb-product-list .home-product-card__image:first-child,
.core-ubb-product-list .home-product-card__media > .home-product-card__image { opacity: 1; }
.core-ubb-product-list .home-product-card:hover .home-product-card__media--gallery .home-product-card__image,
.core-ubb-product-list .home-product-card:focus-within .home-product-card__media--gallery .home-product-card__image { animation-duration: calc(var(--product-gallery-count) * 0.72s); animation-timing-function: steps(1, end); animation-iteration-count: infinite; animation-delay: calc(var(--product-gallery-index) * -0.72s); }
.core-ubb-product-list .home-product-card:hover .home-product-card__media--gallery-2 .home-product-card__image,
.core-ubb-product-list .home-product-card:focus-within .home-product-card__media--gallery-2 .home-product-card__image { animation-name: coreUbbProductGalleryCycle2; }
.core-ubb-product-list .home-product-card:hover .home-product-card__media--gallery-3 .home-product-card__image,
.core-ubb-product-list .home-product-card:focus-within .home-product-card__media--gallery-3 .home-product-card__image { animation-name: coreUbbProductGalleryCycle3; }
.core-ubb-product-list .home-product-card:hover .home-product-card__media--gallery-4 .home-product-card__image,
.core-ubb-product-list .home-product-card:focus-within .home-product-card__media--gallery-4 .home-product-card__image { animation-name: coreUbbProductGalleryCycle4; }
.core-ubb-product-list .home-product-card:hover .home-product-card__image,
.core-ubb-product-list .home-product-card:focus-within .home-product-card__image { transform: scale(1.025); }
.core-ubb-product-list .home-product-card__badge { position: absolute; top: 0.9rem; left: 0.9rem; display: inline-flex; align-items: center; min-height: 24px; padding: 0 0.64rem; border-radius: 0; background: var(--brand-accent); color: #fff; font-family: var(--font-mono); font-size: 0.64rem; font-weight: 700; letter-spacing: 0.08em; text-transform: uppercase; box-shadow: 0 10px 22px rgba(var(--brand-accent-rgb), 0.24); }
.core-ubb-product-list .home-product-card__body { display: grid; grid-template-rows: auto 1fr auto; align-content: start; gap: 0.78rem; padding: clamp(1.25rem, 2vw, 1.75rem); }
.core-ubb-product-list .home-product-card__title { margin: 0; font-family: var(--font-body); font-size: clamp(1.08rem, 1.25vw, 1.24rem); font-weight: 700; line-height: 1.18; text-transform: none; color: #30343f; }
.core-ubb-product-list .home-product-card__title a { color: inherit; text-decoration: none; }
.core-ubb-product-list .home-product-card__title a:hover,
.core-ubb-product-list .home-product-card__title a:focus-visible { color: var(--brand-primary); }
.core-ubb-product-list .home-product-card__purchase { display: grid; grid-template-columns: minmax(0, 1fr) auto; gap: 0.8rem; align-items: end; margin-top: 0.35rem; }
.core-ubb-product-list .home-product-card__price-wrap { min-width: 0; display: grid; gap: 0.2rem; }
.core-ubb-product-list .home-product-card__price-label { color: rgba(48, 52, 63, 0.6); font-family: var(--font-body); font-size: 0.72rem; font-weight: 700; letter-spacing: 0.08em; line-height: 1.1; text-transform: uppercase; }
.core-ubb-product-list .home-product-card__price { min-width: 0; width: fit-content; font-family: var(--font-display); font-size: clamp(1.28rem, 1.75vw, 1.72rem); font-weight: 900; line-height: 0.96; letter-spacing: 0; color: var(--institutional-blue); }
.core-ubb-product-list .home-product-card__price del { display: block; width: fit-content; margin-bottom: 0.18rem; font-family: var(--font-body); font-size: 0.84rem; font-weight: 600; line-height: 1.1; color: var(--text-faint); }
.core-ubb-product-list .home-product-card__price ins { color: inherit; text-decoration: none; }
.core-ubb-product-list .home-product-card__description { margin: 0; color: rgba(48, 52, 63, 0.72); font-size: 0.86rem; line-height: 1.45; }
.core-ubb-product-list .home-product-card__actions { display: inline-flex; align-items: stretch; justify-content: flex-end; border-radius: var(--radius-control); overflow: hidden; }
.core-ubb-product-list .home-product-card__link.btn { width: 38px; min-width: 38px; height: 38px; min-height: 38px; padding: 0; border-radius: 0; font-size: 1rem; }
.core-ubb-product-list .home-product-card__link.btn + .home-product-card__link.btn { margin-left: 1px; }
.core-ubb-product-list .home-product-card__link.btn:first-child { border-radius: var(--radius-control) 0 0 var(--radius-control); }
.core-ubb-product-list .home-product-card__link.btn:last-child { border-radius: 0 var(--radius-control) var(--radius-control) 0; }
html[data-theme="dark"] .section-shell--product { background: linear-gradient(180deg, rgba(12, 22, 38, 1) 0%, rgba(9, 17, 30, 0.98) 100%); }
html[data-theme="dark"] .page-woocommerce--product .woocommerce div.product div.summary { background: transparent; box-shadow: none; }
html[data-theme="dark"] .page-woocommerce--product .woocommerce div.product div.images .woocommerce-product-gallery__image,
html[data-theme="dark"] .page-woocommerce--product .woocommerce div.product div.images .woocommerce-product-gallery__image a,
html[data-theme="dark"] .page-woocommerce--product .woocommerce div.product div.images .woocommerce-product-gallery__image img,
html[data-theme="dark"] .page-woocommerce--product .woocommerce div.product div.images .flex-control-thumbs img { border-color: var(--border-subtle); background: rgba(255, 255, 255, 0.96); }
html[data-theme="dark"] .page-woocommerce--product .woocommerce div.product p.price,
html[data-theme="dark"] .page-woocommerce--product .woocommerce div.product span.price,
html[data-theme="dark"] .page-woocommerce--product .woocommerce div.product .product_title,
html[data-theme="dark"] .core-ubb-related-products__title,
html[data-theme="dark"] .page-woocommerce--product .woocommerce div.product .upsells > h2 { color: var(--brand-teal); }
html[data-theme="dark"] .core-ubb-product-meta-badges__code { background: rgba(255, 255, 255, 0.08); color: rgba(244, 246, 246, 0.76); }
html[data-theme="dark"] .core-ubb-product-meta-badges__stock { background: rgba(var(--brand-accent-rgb), 0.16); color: var(--brand-accent-hover); }
html[data-theme="dark"] .page-woocommerce--product .woocommerce div.product form.cart .variations label { color: var(--text); }
html[data-theme="dark"] .core-ubb-product-specifications { border-color: rgba(255, 255, 255, 0.14); }
html[data-theme="dark"] .core-ubb-product-specifications__title { color: var(--brand-teal); }
html[data-theme="dark"] .core-ubb-product-specifications__item { border-bottom-color: rgba(255, 255, 255, 0.1); }
html[data-theme="dark"] .page-woocommerce--product .woocommerce .quantity .qty,
html[data-theme="dark"] .page-woocommerce--product .woocommerce div.product form.cart .variations select { border-color: rgba(255, 255, 255, 0.1); background: rgba(255, 255, 255, 0.06); color: var(--text); box-shadow: none; }
html[data-theme="dark"] .section-shell--product-archive { background: linear-gradient(180deg, rgba(12, 22, 38, 1) 0%, rgba(9, 17, 30, 0.98) 100%); }
html[data-theme="dark"] .core-ubb-product-archive .woocommerce-ordering select { border-color: rgba(255, 255, 255, 0.14); background-color: rgba(255, 255, 255, 0.06); color: var(--text); }
html[data-theme="dark"] .core-ubb-product-archive .woocommerce-pagination ul.page-numbers a,
html[data-theme="dark"] .core-ubb-product-archive .woocommerce-pagination ul.page-numbers span { border-color: rgba(255, 255, 255, 0.14); background: rgba(255, 255, 255, 0.06); color: var(--text); }
html[data-theme="dark"] .core-ubb-product-archive .woocommerce-pagination ul.page-numbers a:hover,
html[data-theme="dark"] .core-ubb-product-archive .woocommerce-pagination ul.page-numbers a:focus-visible,
html[data-theme="dark"] .core-ubb-product-archive .woocommerce-pagination ul.page-numbers span.current { border-color: var(--brand-accent); background: var(--brand-accent); color: #ffffff; }
html[data-theme="dark"] .core-ubb-product-list .home-product-card { border: 1px solid rgba(255, 255, 255, 0.1); background: linear-gradient(180deg, rgba(21, 38, 62, 0.98) 0%, rgba(13, 26, 44, 0.98) 100%); box-shadow: none; }
html[data-theme="dark"] .core-ubb-product-list .home-product-card:hover,
html[data-theme="dark"] .core-ubb-product-list .home-product-card:focus-within { box-shadow: 0 24px 52px rgba(0, 0, 0, 0.34); }
html[data-theme="dark"] .core-ubb-product-list .home-product-card__media { background: rgba(255, 255, 255, 0.96); }
html[data-theme="dark"] .core-ubb-product-list .home-product-card__stock { background: rgba(var(--brand-accent-rgb), 0.2); color: var(--brand-accent-hover); }
html[data-theme="dark"] .core-ubb-product-list .home-product-card__code { background: rgba(255, 255, 255, 0.1); color: rgba(255, 255, 255, 0.74); }
html[data-theme="dark"] .core-ubb-product-list .home-product-card__title { color: var(--text); }
html[data-theme="dark"] .core-ubb-product-list .home-product-card__title a:hover,
html[data-theme="dark"] .core-ubb-product-list .home-product-card__title a:focus-visible { color: var(--brand-accent); }
html[data-theme="dark"] .core-ubb-product-list .home-product-card__price { color: var(--brand-accent-hover); }
html[data-theme="dark"] .core-ubb-product-list .home-product-card__price-label { color: var(--text-soft); }
html[data-theme="dark"] .core-ubb-product-list .home-product-card__price del { color: var(--text-faint); }
html[data-theme="dark"] .core-ubb-product-list .home-product-card__description { color: var(--text-soft); }
@media (max-width: 991px) {
  .page-woocommerce--product .woocommerce div.product { grid-template-columns: 1fr; }
  .core-ubb-product-list .home-products__grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}
@media (max-width: 575px) {
  .page-woocommerce--product .woocommerce div.product div.summary { grid-template-columns: 1fr; }
  .page-woocommerce--product .woocommerce div.product p.price,
  .page-woocommerce--product .woocommerce div.product span.price { grid-column: 1; justify-self: start; text-align: left; }
  .page-woocommerce--product .woocommerce div.product div.summary { padding: 0; }
  .page-woocommerce--product .woocommerce div.product form.cart { align-items: stretch; }
  .page-woocommerce--product .woocommerce div.product form.cart div.quantity,
  .page-woocommerce--product .woocommerce div.product form.cart .button { width: 100%; }
  .page-woocommerce--product .woocommerce .quantity .qty { width: 100%; }
  .core-ubb-product-specifications__list { grid-template-columns: 1fr; }
  .core-ubb-product-list .home-products__grid { grid-template-columns: 1fr; }
}
@keyframes coreUbbProductGalleryCycle2 {
  0%, 49.99% { opacity: 1; }
  50%, 100% { opacity: 0; }
}
@keyframes coreUbbProductGalleryCycle3 {
  0%, 33.32% { opacity: 1; }
  33.33%, 100% { opacity: 0; }
}
@keyframes coreUbbProductGalleryCycle4 {
  0%, 24.99% { opacity: 1; }
  25%, 100% { opacity: 0; }
}
