/* Product reading rhythm. The shared WORLD palette and native Woo controls stay in place. */
.pdp-page {
  --pdp-copy:rgba(255,255,255,.88);
  --pdp-secondary:rgba(255,255,255,.72);
  --pdp-rule:rgba(255,255,255,.24);
}
.pdp-page .buy { min-width:0; gap:16px; }
.pdp-page .buy .product_title {
  font:400 clamp(40px,10.8vw,64px)/1.04 var(--title);
  letter-spacing:-.045em; text-transform:none; overflow-wrap:anywhere;
  width:auto; max-width:100%; margin:0; color:var(--gps-white); -webkit-text-fill-color:currentColor;
}
.pdp-page .buy .pdp-auction { font:500 13px/1.5 var(--sans); margin:0; }

/* Same face, weight and tracking as cart / checkout order totals. */
.pdp-page .buy .price,
.pdp-page .paybar .price {
  font:400 28px/1.25 var(--title); letter-spacing:-.045em;
  font-variant-numeric:tabular-nums; color:var(--gps-white);
}
.pdp-page .buy .price ins,
.pdp-page .paybar .price ins { color:inherit; }
.pdp-page .buy .price .amount,
.pdp-page .paybar .price .amount { font-family:inherit; font-weight:inherit; letter-spacing:inherit; line-height:inherit; }
.pdp-page .buy .price .woocommerce-Price-currencySymbol,
.pdp-page .paybar .price .woocommerce-Price-currencySymbol { font-size:1em; margin-right:0; }
.pdp-page .buy .price del,
.pdp-page .buy .price del .amount {
  font:400 14px/1.5 var(--sans); letter-spacing:0; color:var(--pdp-secondary);
}
.pdp-page .buy .woocommerce-variation-price .price { font-size:24px; }
.pdp-page .paybar .price { font-size:20px; }
.pdp-page .buy .pricerow { gap:8px 18px; margin:4px 0; }

/* A consistent reading face, moderate measure and enough space between paragraphs. */
.pdp-page .buy .woocommerce-product-details__short-description,
.pdp-page .buy .woocommerce-variation-description,
.pdp-page .lore .entry-content {
  color:var(--pdp-copy); font:400 16px/1.7 var(--sans);
  letter-spacing:0; text-align:left; overflow-wrap:break-word;
}
.pdp-page .buy .woocommerce-product-details__short-description { max-width:58ch; margin:2px 0 6px; }
.pdp-page .buy .woocommerce-product-details__short-description p { margin:0 0 16px; }
.pdp-page .buy .woocommerce-product-details__short-description p:last-child { margin-bottom:0; }
.pdp-page .buy .woocommerce-variation-description p { color:var(--pdp-secondary); font-size:14px; line-height:1.65; }
.pdp-page .lore .entry-content { max-width:62ch; }
.pdp-page .lore .entry-content :is(p,ul,ol) { margin:0 0 1.25em; }
.pdp-page .lore .entry-content :is(h2,h3),
.pdp-page .lore > :is(h2,h3) {
  font:600 22px/1.3 var(--sans); letter-spacing:-.025em; text-transform:none;
  color:var(--gps-white); margin:32px 0 14px;
}
.pdp-page .lore .entry-content > :is(h2,h3):first-child,
.pdp-page .lore > :is(h2,h3):first-child { margin-top:0; }

/* Crisp research links: a fine yellow underline, brighter on hover and keyboard focus. */
.pdp-page .buy .woocommerce-product-details__short-description a,
.pdp-page .buy .woocommerce-variation-description a,
.pdp-page .lore .entry-content a,
.pdp-page .lore .specs a {
  color:#f5f4ee; -webkit-text-fill-color:currentColor !important; font-weight:600; text-decoration-line:underline;
  text-decoration-color:rgba(255,224,0,.7); text-decoration-thickness:1px;
  text-underline-offset:.22em; text-decoration-skip-ink:auto;
  transition:color .15s ease,text-decoration-color .15s ease;
}
.pdp-page .buy .woocommerce-product-details__short-description a:hover,
.pdp-page .buy .woocommerce-variation-description a:hover,
.pdp-page .lore .entry-content a:hover,
.pdp-page .lore .specs a:hover { color:var(--gps-white); text-decoration-color:var(--gps-yellow); text-decoration-thickness:2px; }
.pdp-page :is(.buy,.lore) a:focus-visible { outline:2px solid var(--gps-yellow); outline-offset:4px; }
.pdp-page .buy :is(.reset_variations,.product_meta a,.trust a,.pdp-auction a) {
  color:var(--pdp-secondary); text-decoration:underline; text-decoration-thickness:1px;
  text-decoration-color:rgba(255,255,255,.44); text-underline-offset:3px;
}
.pdp-page .buy :is(.reset_variations,.product_meta a,.trust a,.pdp-auction a):hover {
  color:var(--gps-white); text-decoration-color:var(--gps-yellow);
}
.pdp-page .buy .product_meta { font:400 13px/1.8 var(--sans); color:var(--pdp-secondary); padding-top:16px; border-color:var(--pdp-rule); }
.pdp-page .buy .trust { border-color:var(--pdp-rule); gap:10px 20px; padding-bottom:16px; }
.pdp-page .buy .trust__aside { color:var(--pdp-secondary); }
.pdp-page .buy > [data-gps-stock] { font:500 13px/1.5 var(--sans); }
.pdp-page .buy > [data-gps-stock] .stock { margin:0; }

/* Native pack selectors: clear label, readable value and a reliable tap target. */
.pdp-page .buy table.variations th,
.pdp-page .buy table.variations label { font:500 13px/1.5 var(--sans); color:var(--pdp-copy); margin-bottom:8px; }
.pdp-page .buy table.variations select {
  appearance:none; -webkit-appearance:none; color-scheme:dark;
  width:100%; min-width:0; max-width:100%; min-height:48px; padding:12px 38px 12px 14px;
  background:var(--gps-black) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='14' height='8' viewBox='0 0 14 8'%3E%3Cpath d='m1 1 6 6 6-6' fill='none' stroke='white' stroke-width='1.5'/%3E%3C/svg%3E") no-repeat right 14px center;
  border:1px solid rgba(255,255,255,.42); border-radius:4px;
  color:var(--gps-white); font:400 16px/1.4 var(--sans); box-shadow:none;
}
.pdp-page .buy .quantity { flex-basis:76px; }
.pdp-page .buy .quantity input { background:var(--gps-black); border-color:rgba(255,255,255,.42); border-radius:4px; font:600 16px/1.4 var(--sans); }
.pdp-page .buy :is(select,input):focus-visible { outline:2px solid var(--gps-yellow); outline-offset:3px; }
.pdp-page .buy .single_variation_wrap { border-color:var(--pdp-rule); padding-top:12px; }
/* Minus / number / plus are added only when JavaScript can use the native input. */
.pdp-page .buy .quantity.gps-product-quantity {
  display:grid; grid-template-columns:44px minmax(36px,1fr) 44px; align-items:stretch;
  flex:0 0 128px; width:128px; max-width:100%; min-height:52px;
  border:1px solid rgba(255,255,255,.42); border-radius:4px; background:var(--gps-black);
}
.pdp-page .buy .gps-product-quantity input.qty {
  appearance:textfield; -moz-appearance:textfield; min-width:0; width:100%; min-height:50px;
  padding:0; margin:0; border:0; border-radius:0; background:transparent;
  border-inline:1px solid rgba(255,255,255,.14); color:var(--gps-white);
  -webkit-text-fill-color:currentColor; box-shadow:none;
}
.pdp-page .buy .gps-product-quantity input.qty::-webkit-inner-spin-button,
.pdp-page .buy .gps-product-quantity input.qty::-webkit-outer-spin-button { -webkit-appearance:none; margin:0; }
.pdp-page .buy .gps-qty-step {
  appearance:none; display:grid; place-items:center; width:44px; min-width:0; min-height:50px;
  padding:0; margin:0; border:0; border-radius:0; background:transparent; box-shadow:none;
  color:var(--gps-white); -webkit-text-fill-color:currentColor; font:400 24px/1 var(--sans);
  cursor:pointer; touch-action:manipulation;
}
.pdp-page .buy .gps-qty-step:hover:not(:disabled) { color:var(--gps-yellow); background:rgba(255,224,0,.07); }
.pdp-page .buy .gps-qty-step:disabled { opacity:.35; cursor:default; }
.pdp-page .buy .gps-qty-step:focus-visible { outline:2px solid var(--gps-yellow); outline-offset:-3px; }
.pdp-page .buy .gps-product-quantity input.qty:focus-visible { outline-offset:-3px; }
.pdp-page .buy .quantity.gps-product-quantity--fixed { display:none; }
.pdp-page .buy .single_add_to_cart_button { min-width:0; padding-inline:16px; }
@media (min-width:820px) {
  .pdp-page .buy .product_title { font-size:clamp(44px,4.25vw,64px); }
}
@media (prefers-reduced-motion:reduce) {
  .pdp-page :is(.buy,.lore) a { transition:none; }
}
@media (min-width:768px) {
  .pdp-page .lore .entry-content { font-size:17px; }
  .pdp-page .lore .entry-content :is(h2,h3),.pdp-page .lore > :is(h2,h3) { font-size:24px; }
}
@media (forced-colors:active) {
  .pdp-page .buy table.variations select { appearance:auto; -webkit-appearance:auto; background-image:none; }
  .pdp-page :is(.buy,.lore) a { text-decoration-color:LinkText; }
}
