/* Shared product details, scoped to standalone and embedded product views. */
:is(.single-product, .vantix-embedded-product) .commerce-page { padding-top: 0; }
:is(.single-product, .vantix-embedded-product) .woocommerce-breadcrumb.product-breadcrumbs { display: flex; flex: 1; flex-wrap: wrap; gap: 10px; min-width: 0; margin: 0; }
.product-breadcrumb { display: inline-flex; align-items: center; }
.product-breadcrumb:has(a) { padding: 0; }
.product-breadcrumb a { display: block; padding: 10px 16px; color: inherit; text-decoration: none; overflow-wrap: anywhere; }
.product-breadcrumb:last-child { color: var(--accent); background: var(--accent-soft); border-color: var(--accent-border); }
.product-breadcrumb:has(a):hover { border-color: var(--accent-border); color: var(--accent); }
:is(.single-product, .vantix-embedded-product) .commerce-page > .product {
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(0, 1.8fr);
  align-items: start;
  gap: 40px;
  position: relative;
}
:is(.single-product, .vantix-embedded-product) .commerce-page > .product::before,
:is(.single-product, .vantix-embedded-product) .commerce-page > .product::after { display: none; }
:is(.single-product, .vantix-embedded-product) .commerce-page > .product > .woocommerce-product-gallery,
:is(.single-product, .vantix-embedded-product) .commerce-page > .product > .summary {
  float: none;
  width: auto;
  min-width: 0;
  margin: 0;
}
:is(.single-product, .vantix-embedded-product) .woocommerce-product-gallery {
  background: #ffffff05;
  border: 1px solid #ffffff0d;
  border-radius: var(--radius);
  padding: 18px;
  overflow: hidden;
}
:is(.single-product, .vantix-embedded-product) .woocommerce-product-gallery__image,
:is(.single-product, .vantix-embedded-product) .woocommerce-product-gallery img { border-radius: 12px; }
:is(.single-product, .vantix-embedded-product) .woocommerce-product-gallery img { background: #101e2e; }
:is(.single-product, .vantix-embedded-product) .commerce-page > .product > .summary { padding: 30px; background: #ffffff05; border: 1px solid #ffffff0d; border-radius: var(--radius); }
.product-game-name { margin: 0 0 10px; color: var(--accent); font-weight: 600; font-size: 14px; letter-spacing: .04em; }
.product-game-name a { text-decoration: none; }
:is(.single-product, .vantix-embedded-product) .product_title { margin-bottom: 18px; font-size: clamp(28px, 3vw, 44px); line-height: 1.15; letter-spacing: -.02em; }
.product-access-badge { display: flex; flex-wrap: wrap; align-items: center; gap: 10px; margin-bottom: 22px; }
.product-access-badge > span { color: var(--muted); font-size: 13px; }
.product-access-badge strong { background: var(--accent-soft); border: 1px solid var(--accent-border); border-radius: 999px; color: var(--accent); padding: 8px 16px; font-size: 18px; }
:is(.single-product, .vantix-embedded-product) .summary p.price { font-size: 34px; line-height: 1.35; margin-bottom: 20px; }
:is(.single-product, .vantix-embedded-product) .summary .price del { color: var(--muted); font-size: .7em; }
:is(.single-product, .vantix-embedded-product) .summary .price ins { text-decoration: none; }
:is(.single-product, .vantix-embedded-product) .summary .woocommerce-price-suffix { font-size: 13px; color: var(--muted); }
:is(.single-product, .vantix-embedded-product) .woocommerce-product-details__short-description { color: var(--muted); font-size: 15px; line-height: 1.75; }
.product-features { padding: 18px; margin-block: 22px; background: #0c1a28; border: 1px solid var(--accent-border); border-radius: 14px; }
.product-features h2, .product-access-options h2 { font-size: 16px; margin: 0 0 12px; }
.product-features p, .product-features li { font-size: 14px; color: var(--muted); margin: 0 0 10px; }
.product-features p:last-child { margin-bottom: 0; }

.product-access-options { margin-bottom: 24px; }
.duration-options { display: grid; grid-template-columns: repeat(auto-fit, minmax(min(100%, 130px), 1fr)); gap: 10px; }
.duration-option { display: flex; flex-direction: column; gap: 6px; padding: 14px; border: 1px solid #ffffff19; border-radius: 12px; background: #ffffff03; text-decoration: none !important; min-width: 0; overflow-wrap: anywhere; }
.duration-option:hover, .duration-option.is-current { border-color: var(--accent); background: var(--accent-soft); color: var(--text); }
.duration-option strong { color: var(--text); font-size: 16px; }
.duration-option-price { color: var(--muted); font-size: 13px; }
.duration-option-price ins { text-decoration: none; }
.duration-option-current { font-size: 11px; color: var(--accent); font-weight: 600; }
:is(.single-product, .vantix-embedded-product) .summary .stock { color: var(--muted); margin-bottom: 14px; font-size: 14px; }
:is(.single-product, .vantix-embedded-product) .summary .stock.out-of-stock { color: #ffb5b5; }
:is(.single-product, .vantix-embedded-product) .summary form.cart { display: flex; flex-wrap: wrap; align-items: center; gap: 12px; margin-bottom: 0; }
:is(.single-product, .vantix-embedded-product) .summary form.cart .quantity { margin: 0; }
:is(.single-product, .vantix-embedded-product) .summary .quantity input { padding: 12px; min-height: 48px; border-color: #ffffff26; background: #101e2e; }
:is(.single-product, .vantix-embedded-product) .summary form.cart .single_add_to_cart_button { min-height: 48px; padding: 14px 28px; flex: 1; }
:is(.single-product, .vantix-embedded-product) .summary form.cart::before,
:is(.single-product, .vantix-embedded-product) .summary form.cart::after { display: none; }
:is(.single-product, .vantix-embedded-product) .purchase-unavailable { margin-bottom: 0; }
:is(.single-product, .vantix-embedded-product) .commerce-page > .product > .woocommerce-tabs,
:is(.single-product, .vantix-embedded-product) .commerce-page > .product > .product-related-games { grid-column: 1 / -1; margin: 0; }
:is(.single-product, .vantix-embedded-product) .woocommerce-tabs { border: 1px solid #ffffff0d; border-radius: var(--radius); padding: 24px; background: #ffffff03; }
:is(.single-product, .vantix-embedded-product) .woocommerce-tabs ul.tabs { display: flex; flex-wrap: wrap; gap: 10px; padding: 0 !important; margin-bottom: 24px !important; }
:is(.single-product, .vantix-embedded-product) .woocommerce-tabs ul.tabs::before,
:is(.single-product, .vantix-embedded-product) .woocommerce-tabs ul.tabs li::before,
:is(.single-product, .vantix-embedded-product) .woocommerce-tabs ul.tabs li::after { display: none !important; }
:is(.single-product, .vantix-embedded-product) .woocommerce-tabs ul.tabs li { border-radius: 999px !important; margin: 0 !important; border-color: #ffffff19 !important; background: #ffffff05 !important; }
:is(.single-product, .vantix-embedded-product) .woocommerce-tabs ul.tabs li.active { background: var(--accent-soft) !important; border-color: var(--accent-border) !important; color: var(--accent) !important; }
:is(.single-product, .vantix-embedded-product) .woocommerce-tabs ul.tabs li a { font-size: 13px; font-weight: 600; text-decoration: none; }
:is(.single-product, .vantix-embedded-product) .woocommerce-tabs .panel { margin-bottom: 0 !important; color: var(--muted); line-height: 1.8; }
:is(.single-product, .vantix-embedded-product) .woocommerce-tabs .panel h2 { color: var(--text); font-size: 22px; }
:is(.single-product, .vantix-embedded-product) .woocommerce-tabs .panel ul { padding-left: 22px; }
.product-related-games > h2 { font-size: 24px; margin-bottom: 20px; }
:is(.single-product, .vantix-embedded-product) .onsale { z-index: 2; left: 30px !important; top: 30px !important; }
@media (max-width: 1000px) {
  :is(.single-product, .vantix-embedded-product) .commerce-page > .product { gap: 24px; }
  :is(.single-product, .vantix-embedded-product) .commerce-page > .product > .summary { padding: 22px; }
}
@media (max-width: 760px) {
  :is(.single-product, .vantix-embedded-product) .commerce-page > .product { grid-template-columns: minmax(0, 1fr); }
  :is(.single-product, .vantix-embedded-product) .woocommerce-product-gallery { padding: 12px; }
  :is(.single-product, .vantix-embedded-product) .product_title { font-size: 30px; }
  :is(.single-product, .vantix-embedded-product) .summary p.price { font-size: 30px; }
  :is(.single-product, .vantix-embedded-product) .woocommerce-tabs { padding: 18px; }
  :is(.single-product, .vantix-embedded-product) .onsale { left: 22px !important; top: 22px !important; }
}

.product-features ul, .product-features ol { padding-left: 20px; margin-bottom: 0; }
.product-status-warning { display: inline-flex; align-items: center; gap: 8px; padding: 7px 11px; margin: 0 0 22px; border: 1px solid #f4cf7440; border-radius: 999px; color: #f4cf74; background: #f4cf740b; font-size: 12px; line-height: 1.5; }
.product-status-warning svg { width: 16px; height: 16px; flex: none; fill: none; stroke: currentColor; stroke-width: 1.7; stroke-linecap: round; stroke-linejoin: round; }
@media (max-width: 760px) {
  :is(.single-product, .vantix-embedded-product) .commerce-page > .product > .woocommerce-product-gallery { width: 100%; max-width: 420px; justify-self: center; }
  .product-breadcrumb a { padding: 9px 12px; }
}
/* Square frame preserves the default artwork size; other ratios are letterboxed. */
:is(.single-product, .vantix-embedded-product) .woocommerce-product-gallery .flex-viewport {
  aspect-ratio: 1;
  height: auto !important;
  background: #000;
  border-radius: 12px;
}
:is(.single-product, .vantix-embedded-product) .woocommerce-product-gallery__image,
:is(.single-product, .vantix-embedded-product) .woocommerce-product-gallery__image--placeholder { aspect-ratio: 1; background: #000; overflow: hidden; }
:is(.single-product, .vantix-embedded-product) .woocommerce-product-gallery__image > a { display: block; width: 100%; height: 100%; }
:is(.single-product, .vantix-embedded-product) .woocommerce-product-gallery__image > a > img,
:is(.single-product, .vantix-embedded-product) .woocommerce-product-gallery__image--placeholder > img {
  display: block;
  width: 100% !important;
  height: 100% !important;
  aspect-ratio: 1;
  object-fit: contain;
  background: #000;
}
/* Native WooCommerce zoom overlays and lightbox originals remain unchanged. */
:is(.single-product, .vantix-embedded-product) .woocommerce-product-gallery { --gallery-thumbnail-size: clamp(100px, 10vw, 128px); }
.gallery-thumbnail-navigation { display: grid; grid-template-columns: 40px minmax(0, 1fr) 40px; align-items: center; gap: 10px; margin-top: 18px; }
:is(.single-product, .vantix-embedded-product) .woocommerce-product-gallery .flex-control-thumbs {
  display: flex; flex-wrap: nowrap; gap: 10px; padding: 0; margin: 14px 0 0;
  overflow-x: auto; overscroll-behavior-x: contain; scrollbar-width: thin;
  scroll-snap-type: x proximity; direction: ltr;
}
:is(.single-product, .vantix-embedded-product) .gallery-thumbnail-navigation .flex-control-thumbs { margin: 0; }
:is(.single-product, .vantix-embedded-product) .woocommerce-product-gallery .flex-control-thumbs li { flex: 0 0 var(--gallery-thumbnail-size); width: var(--gallery-thumbnail-size); float: none; scroll-snap-align: start; }
:is(.single-product, .vantix-embedded-product) .woocommerce-product-gallery .flex-control-thumbs img { width: 100%; height: var(--gallery-thumbnail-size); object-fit: cover; background: transparent; border: 2px solid transparent; border-radius: 10px; }
:is(.single-product, .vantix-embedded-product) .woocommerce-product-gallery .flex-control-thumbs .flex-active { border-color: var(--accent); }
.gallery-thumbnail-arrow { display: inline-flex; align-items: center; justify-content: center; width: 40px; height: var(--gallery-thumbnail-size); padding: 0; border: 1px solid var(--accent-border); border-radius: 12px; background: var(--accent-soft); color: var(--accent); cursor: pointer; }
.gallery-thumbnail-arrow svg { width: 20px; height: 20px; fill: none; stroke: currentColor; stroke-width: 2; stroke-linecap: round; stroke-linejoin: round; }
.gallery-thumbnail-arrow:disabled { opacity: .35; cursor: default; }
.gallery-thumbnail-arrow:focus-visible,
:is(.single-product, .vantix-embedded-product) .flex-control-thumbs img:focus-visible { outline: 2px solid var(--accent); outline-offset: 2px; }
:is(.single-product, .vantix-embedded-product) .woocommerce-product-gallery__image > a { cursor: zoom-in; }

.vantix-embedded-product { grid-column: 1 / -1; min-width: 0; }
.vantix-embedded-product .embedded-product-link { display: inline-block; margin-top: 18px; color: var(--muted); font-size: 13px; }
.vantix-embedded-product .embedded-description { grid-column: 1 / -1; padding: 24px; border: 1px solid #ffffff12; border-radius: var(--radius); background: #ffffff03; color: var(--muted); line-height: 1.8; }
.vantix-embedded-product .embedded-description h2 { color: var(--text); font-size: 22px; }
.vantix-embedded-product .commerce-page { padding: 0; }
