/* VOLTARC — PDP (single product page) — Blocksy "type-1" layout
   Real DOM: div.product > div.product-entry-wrapper.is-width-constrained > (gallery + summary),
   with .woocommerce-tabs and .related.products as later siblings inside div.product.
   Blocksy nests Gutenberg "constrained layout" wrappers (.is-width-constrained) that clamp
   width to --content-size and squeeze children — widen them and re-grid on the RIGHT element. */

/* 1) Widen every structural wrapper on the single-product page + kill the per-child squeeze. */
.single-product .hero-section.is-width-constrained,
.single-product .product-entry-wrapper.is-width-constrained,
.single-product .woocommerce-tabs.wc-tabs-wrapper,
.single-product .woocommerce-tabs .tabs.wc-tabs.is-width-constrained,
.single-product .related.products.is-width-constrained{
  max-width:min(1320px,94vw)!important;
  width:auto!important;
  margin-inline:auto!important;
}
.single-product .hero-section.is-width-constrained > *,
.single-product .product-entry-wrapper > *{max-width:none!important}
/* div.product is a plain full-width block; the 2-col grid lives one level down. */
.single-product div.product{display:block!important;max-width:none!important;width:100%}

/* 2) The REAL 2-col layout — gallery | summary — on .product-entry-wrapper (its 2 children). */
.woocommerce div.product .product-entry-wrapper{
  display:grid!important;
  grid-template-columns:minmax(0,440px) minmax(0,1fr);
  gap:clamp(1.5rem,3vw,2.75rem);
  align-items:start;
}
.woocommerce div.product .product-entry-wrapper > .woocommerce-product-gallery{grid-column:1;min-width:0}
.woocommerce div.product .product-entry-wrapper > .summary{grid-column:2;min-width:0}
@media(max-width:900px){
  .woocommerce div.product .product-entry-wrapper{grid-template-columns:1fr;gap:1.5rem}
  .woocommerce div.product .product-entry-wrapper > .woocommerce-product-gallery,
  .woocommerce div.product .product-entry-wrapper > .summary{grid-column:1}
}

/* 3) Gallery — premium white studio card; Blocksy renders img.wp-post-image in .ct-product-gallery-container.
   Drop the forced 4:3 box (it shrank wide/banner images to a tiny strip) — show each image at its true
   ratio, capped to a sensible height, centred on the card so every product reads large and intentional. */
.woocommerce div.product .woocommerce-product-gallery{
  position:sticky;
  top:5rem;
  border-radius:16px;
  background:#fff;
  border:1px solid rgba(0,0,0,.06);
  box-shadow:0 14px 34px rgba(0,0,0,.30);
  padding:clamp(1.1rem,2vw,1.6rem);
}
.woocommerce div.product .ct-product-gallery-container img,
.woocommerce div.product .woocommerce-product-gallery img.wp-post-image{
  width:auto!important;
  height:auto!important;
  max-width:100%!important;
  max-height:460px!important;
  aspect-ratio:auto!important;        /* respect the image's true ratio — never distort or crop */
  object-fit:contain!important;
  margin:0 auto;
  display:block;
  border-radius:8px;
}
/* Thumbnail strip (Blocksy thumbs-bottom) */
.woocommerce div.product .woocommerce-product-gallery .flexy-pills{margin-top:.85rem!important}
.woocommerce div.product .woocommerce-product-gallery .flexy-pills img{border-radius:7px;border:2px solid transparent}
.woocommerce div.product .woocommerce-product-gallery .flexy-pills .active img{border-color:var(--vx-volt)}
@media(max-width:900px){
  .woocommerce div.product .woocommerce-product-gallery{position:static}
  .woocommerce div.product .ct-product-gallery-container img,
  .woocommerce div.product .woocommerce-product-gallery img.wp-post-image{max-height:62vh!important}
}

/* ─────────── Road-legal badge (compact; full detail lives in the Road & Legal Status tab) ─────────── */
.vx-legal-badge{display:inline-flex;align-items:center;gap:.45rem;font-size:.8rem;font-weight:700;line-height:1.3;padding:.4rem .7rem;border-radius:.55rem;margin:.4rem 0}
.vx-legal-badge .vx-ico{width:.95rem;height:.95rem;flex-shrink:0}
.vx-legal-badge a{font-weight:700;text-decoration:underline}
.vx-legal-badge--off{background:rgba(229,72,77,.12);border:1px solid var(--vx-danger);color:var(--vx-danger)}
.vx-legal-badge--off a{color:var(--vx-danger)}
.vx-legal-badge--eapc{background:rgba(22,163,74,.12);border:1px solid var(--vx-success);color:var(--vx-success)}

/* Thumbnails */
.flex-control-thumbs{
  display:grid;
  grid-template-columns:repeat(5,1fr);
  gap:.5rem;
  margin-top:.75rem;
}
.flex-control-thumbs li img{
  border-radius:.5rem;
  border:2px solid transparent;
  cursor:pointer;
  transition:border-color var(--vx-dur) var(--vx-ease);
  aspect-ratio:1;
  object-fit:cover;
}
.flex-control-thumbs li.flex-active img{border-color:var(--vx-volt)}

/* ─────────── Summary: simple flex stack; buy box = full-width bordered card (Amazon-style) ─────────── */
.woocommerce div.product div.summary{
  display:flex;
  flex-direction:column;
  gap:.6rem;
}
.woocommerce div.product div.summary > *{margin:0}
.vx-buybox{
  display:flex;flex-direction:column;gap:.7rem;
  background:var(--vx-surface);
  border:1px solid rgba(255,255,255,.14);
  border-radius:14px;
  padding:1.25rem 1.35rem;
  margin-top:.5rem;
}
.vx-buybox .price,.vx-buybox p.price,.vx-buybox span.price{font-size:1.7rem!important;margin:0!important}
.vx-buybox .vx-vat-note{margin:0}
.vx-buybox__deliver{display:flex;align-items:center;gap:.45rem;font-size:.82rem;color:var(--vx-slate);margin:0}
.vx-buybox__deliver .vx-ico{width:1rem;height:1rem;color:var(--vx-volt);flex-shrink:0}
.vx-buybox form.cart{margin:.2rem 0 0}
.vx-buynow{width:100%;justify-content:center}
.vx-buybox .vx-pdp-trustcluster{margin-top:.5rem;padding-top:.85rem}

/* "About this item" feature bullets (centre column) */
.vx-about{margin:.6rem 0 .25rem}
.vx-about h2{font-size:1.1rem;margin:0 0 .55rem;color:var(--vx-white)}
.vx-about ul{margin:0;padding-left:1.15rem;display:flex;flex-direction:column;gap:.4rem}
.vx-about li{font-size:.9rem;color:var(--vx-cloud);line-height:1.5}
.vx-about li strong{color:var(--vx-white)}

@media(max-width:1100px){
  .woocommerce div.product{grid-template-columns:1fr}
  .woocommerce div.product div.images{position:static}
  .woocommerce div.product div.summary{display:flex;flex-direction:column;gap:.6rem}
  .woocommerce div.product div.summary > .vx-buybox{position:static;grid-row:auto}
}
.woocommerce div.product div.summary > *{margin:0}
.woocommerce div.product p.price,
.woocommerce div.product span.price{margin:.2rem 0}
.woocommerce div.product div.summary .vx-vat-note{margin:0}
.woocommerce div.product form.cart{margin:.4rem 0 0}
.woocommerce div.product .woocommerce-product-details__short-description{margin:.2rem 0}
.woocommerce div.product .woocommerce-product-details__short-description p{margin:0}

/* Breadcrumb */
.woocommerce-breadcrumb{
  font-size:.8125rem;
  color:var(--vx-slate);
}
.woocommerce-breadcrumb a{color:var(--vx-slate)}
.woocommerce-breadcrumb a:hover{color:var(--vx-volt)}

/* Brand + legal status row */
.vx-pdp-meta-row{
  display:flex;
  align-items:center;
  gap:.625rem;
  flex-wrap:wrap;
}
.vx-pdp-brand{
  font-size:.75rem;
  font-weight:700;
  letter-spacing:.1em;
  text-transform:uppercase;
  color:var(--vx-volt);
}

/* Product title */
.woocommerce div.product h1.product_title{
  font-size:clamp(1.625rem,3.5vw,2.5rem);
  margin-bottom:0;
}

/* Rating row */
.woocommerce-product-rating{
  display:flex;
  align-items:center;
  gap:.5rem;
}
.woocommerce-product-rating .star-rating{color:var(--vx-volt)}
.woocommerce-product-rating a{font-size:.875rem;color:var(--vx-slate)}

/* Price */
.woocommerce div.product p.price,
.woocommerce div.product span.price{
  font-family:var(--vx-font-mono);
  font-size:2rem;
  color:var(--vx-volt);
  font-weight:700;
  display:block;
}
.woocommerce div.product p.price del{
  font-size:1.25rem;
  color:var(--vx-slate);
  margin-right:.5rem;
}
.vx-vat-note{font-size:.8125rem;color:var(--vx-slate);margin-top:.125rem}

/* Stock / availability */
.vx-stock{display:flex;align-items:center;gap:.5rem;font-size:.9rem;font-weight:600;margin:.25rem 0}
.vx-stock__dot{width:.6rem;height:.6rem;border-radius:50%;flex-shrink:0}
.vx-stock--in{color:var(--vx-success)}
.vx-stock--in .vx-stock__dot{background:var(--vx-success);box-shadow:0 0 0 4px rgba(22,163,74,.18)}
.vx-stock--out{color:var(--vx-warn)}
.vx-stock--out .vx-stock__dot{background:var(--vx-warn)}

/* PDP trust cluster under add-to-cart */
.vx-pdp-trustcluster{display:flex;flex-direction:column;gap:.55rem;margin-top:1.25rem;padding-top:1.25rem;border-top:1px solid rgba(255,255,255,.08)}
.vx-pdp-trust-item{display:flex;align-items:center;gap:.55rem;font-size:.85rem;color:var(--vx-cloud)}
.vx-pdp-trust-item .vx-ico{width:1.05rem;height:1.05rem;color:var(--vx-volt);flex-shrink:0}
.vx-pdp-trust-pay{margin-top:.35rem}
.vx-pdp-trust-pay .vx-pay svg{height:24px}

/* ─────────── Key specs strip ─────────── */
.vx-spec-strip{
  display:grid;
  grid-template-columns:repeat(auto-fit,minmax(110px,1fr));
  gap:.75rem;
  background:var(--vx-surface);
  border:1px solid rgba(255,255,255,.06);
  border-radius:var(--vx-radius-lg);
  padding:1.25rem;
}
.vx-spec-strip__item{text-align:center}
.vx-spec-strip__value{
  font-family:var(--vx-font-mono);
  font-size:1.125rem;
  font-weight:700;
  color:var(--vx-white);
  display:block;
  line-height:1.2;
}
.vx-spec-strip__label{
  font-size:.6875rem;
  font-weight:600;
  letter-spacing:.06em;
  text-transform:uppercase;
  color:var(--vx-slate);
  display:block;
  margin-top:.25rem;
}

/* ─────────── Throttle / legal compliance box (§0.1) ─────────── */
.vx-throttle-notice{
  border-radius:var(--vx-radius-lg);
  padding:1rem 1.25rem;
  display:flex;
  align-items:flex-start;
  gap:.75rem;
  font-size:.875rem;
  line-height:1.5;
}
.vx-throttle-notice--eapc{
  background:rgba(22,163,74,.08);
  border:1px solid rgba(22,163,74,.3);
}
.vx-throttle-notice--offroad{
  background:rgba(229,72,77,.08);
  border:1px solid rgba(229,72,77,.3);
  color:var(--vx-cloud);
}
.vx-throttle-notice__icon{font-size:1.125rem;flex-shrink:0;margin-top:.1rem}
.vx-throttle-notice--eapc .vx-throttle-notice__icon{color:var(--vx-success)}
.vx-throttle-notice--offroad .vx-throttle-notice__icon{color:var(--vx-danger)}
.vx-throttle-notice strong{display:block;margin-bottom:.25rem;font-size:.9375rem}
.vx-throttle-notice--eapc strong{color:var(--vx-success)}
.vx-throttle-notice--offroad strong{color:var(--vx-danger)}

/* ─────────── Variations ─────────── */
.woocommerce div.product form.cart .variations{
  width:100%;
  border-collapse:separate;
  border-spacing:0 .75rem;
}
.woocommerce div.product form.cart .variations td,
.woocommerce div.product form.cart .variations th{
  padding:0;
  border:none;
  background:transparent;
}
.woocommerce div.product form.cart .variations th label{
  font-size:.8125rem;
  font-weight:700;
  letter-spacing:.06em;
  text-transform:uppercase;
  color:var(--vx-slate);
  display:block;
  margin-bottom:.5rem;
}
.woocommerce div.product form.cart .variations .value select{
  width:100%;
  background:var(--vx-surface);
  border:1px solid rgba(255,255,255,.12);
  border-radius:var(--vx-radius);
  color:var(--vx-cloud);
  padding:.625rem .875rem;
  font-size:.9375rem;
}
.woocommerce div.product form.cart .variations .value select:focus{
  border-color:var(--vx-volt);
  outline:none;
  box-shadow:0 0 0 3px rgba(200,255,43,.2);
}

/* Swatch-style size selection */
.vx-swatch-group{
  display:flex;
  flex-wrap:wrap;
  gap:.5rem;
}
.vx-swatch{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  min-width:2.75rem;
  height:2.75rem;
  padding:.125rem .75rem;
  background:var(--vx-surface);
  border:1px solid rgba(255,255,255,.12);
  border-radius:.5rem;
  font-size:.875rem;
  font-weight:700;
  color:var(--vx-cloud);
  cursor:pointer;
  transition:all var(--vx-dur) var(--vx-ease);
}
.vx-swatch:hover{border-color:var(--vx-volt);color:var(--vx-volt)}
.vx-swatch.is-selected{
  background:rgba(200,255,43,.1);
  border-color:var(--vx-volt);
  color:var(--vx-volt);
}
.vx-swatch.is-disabled{
  opacity:.35;
  cursor:not-allowed;
  text-decoration:line-through;
}

/* ─────────── Add to cart row ─────────── */
.woocommerce div.product form.cart .quantity input{
  background:var(--vx-surface);
  border:1px solid rgba(255,255,255,.12);
  border-radius:var(--vx-radius);
  color:var(--vx-cloud);
  width:5rem;
  text-align:center;
  font-size:1rem;
  padding:.625rem;
}
.woocommerce div.product form.cart button[type=submit],
.woocommerce div.product form.cart .single_add_to_cart_button{
  flex:1;
  font-size:1rem;
  padding:.875rem 1.5rem;
}

/* ─────────── Trust signals under ATC ─────────── */
.vx-pdp-trust{
  display:grid;
  grid-template-columns:repeat(3,1fr);
  gap:.75rem;
}
.vx-pdp-trust__item{
  display:flex;
  flex-direction:column;
  align-items:center;
  gap:.375rem;
  text-align:center;
  padding:.75rem .5rem;
  background:var(--vx-surface);
  border:1px solid rgba(255,255,255,.06);
  border-radius:var(--vx-radius);
}
.vx-pdp-trust__item svg,.vx-pdp-trust__item .dashicons{
  color:var(--vx-volt);
  font-size:1.25rem;
}
.vx-pdp-trust__item span{
  font-size:.75rem;
  font-weight:600;
  color:var(--vx-slate);
  line-height:1.3;
}

/* ─────────── Product tabs ─────────── */
.woocommerce-tabs.wc-tabs-wrapper{margin-top:3rem}
.woocommerce-tabs ul.tabs{
  display:flex;
  gap:0;
  list-style:none;
  padding:0;
  border-bottom:2px solid rgba(255,255,255,.08);
  margin-bottom:2rem;
}
.woocommerce-tabs ul.tabs li{margin:0}
.woocommerce-tabs ul.tabs li a{
  display:block;
  padding:.75rem 1.25rem;
  font-family:var(--vx-font-display);
  font-size:.9375rem;
  font-weight:700;
  color:var(--vx-slate);
  border-bottom:2px solid transparent;
  margin-bottom:-2px;
  transition:color var(--vx-dur) var(--vx-ease),border-color var(--vx-dur) var(--vx-ease);
}
.woocommerce-tabs ul.tabs li.active a,
.woocommerce-tabs ul.tabs li a:hover{
  color:var(--vx-volt);
  border-bottom-color:var(--vx-volt);
}

.woocommerce-tabs .panel{
  background:var(--vx-surface);
  border:1px solid rgba(255,255,255,.06);
  border-radius:var(--vx-radius-lg);
  padding:2rem;
  color:var(--vx-cloud);
  line-height:1.7;
}
.woocommerce-tabs .panel h2,.woocommerce-tabs .panel h3{
  font-size:1.25rem;
  margin-bottom:1rem;
}
.woocommerce-tabs .panel ul{padding-left:1.25rem;display:flex;flex-direction:column;gap:.375rem}

/* Spec table */
.shop_attributes{width:100%;border-collapse:collapse}
.shop_attributes th,.shop_attributes td{
  padding:.625rem .875rem;
  text-align:left;
  border-bottom:1px solid rgba(255,255,255,.06);
  font-size:.9375rem;
}
.shop_attributes th{
  font-weight:700;
  color:var(--vx-slate);
  width:40%;
  font-family:var(--vx-font-display);
}
.shop_attributes td{color:var(--vx-cloud)}
.shop_attributes tr:last-child th,
.shop_attributes tr:last-child td{border-bottom:none}

/* ─────────── Reviews ─────────── */
#reviews #comments ol.commentlist{
  list-style:none;
  padding:0;
  margin:0;
  display:flex;
  flex-direction:column;
  gap:1.5rem;
}
#reviews .comment_container{
  display:grid;
  grid-template-columns:auto 1fr;
  gap:1rem;
  background:var(--vx-surface);
  border:1px solid rgba(255,255,255,.06);
  border-radius:var(--vx-radius-lg);
  padding:1.5rem;
}
#reviews .comment-text p.meta{
  display:flex;
  align-items:center;
  gap:.75rem;
  flex-wrap:wrap;
  margin-bottom:.75rem;
}
#reviews .comment-text p.meta strong.woocommerce-review__author{
  font-weight:700;
  color:var(--vx-white);
}
#reviews .comment-text p.meta time{color:var(--vx-slate);font-size:.8125rem}
#reviews .star-rating{color:var(--vx-volt)}

/* ─────────── Related products ─────────── */
.related.products h2{
  font-size:1.5rem;
  margin-bottom:1.5rem;
}

/* ─────────── Responsive ─────────── */
@media(max-width:768px){
  .vx-spec-strip{grid-template-columns:repeat(3,1fr)}
  .vx-pdp-trust{grid-template-columns:repeat(3,1fr)}
}
@media(max-width:480px){
  .vx-spec-strip{grid-template-columns:repeat(2,1fr)}
  .vx-pdp-trust{grid-template-columns:1fr}
}
