/* NX – PDP Product Block • v2.0.0 */
/* Design goals:
   - Compact rows, strong price hierarchy
   - Pill swatches with clear active/disabled states
   - Fixed-size qty steppers (no theme +/- leak)
   - Mobile-first; no overlaps on narrow phones
*/

:root{
  --nx-green:#2E7D32;
  --nx-red:#D40000;
  --nx-grey:#88919b;
  --nx-muted:#5a6775;
  --nx-line:#E2E8F0;
  --nx-chip:#F7F9FA;
  --nx-chip-b:#D5DDE3;
  --nx-best-bg:#fff0f0;
  --nx-best-b:#ffd8d8;
}

.pdp-wrap{font-family:inherit; max-width:100%;}

/* PRICE */
.pdp-price{margin:10px 0 16px;}
.pdp-price .row{display:flex; align-items:flex-end; gap:12px; flex-wrap:wrap;}
.pdp-price .now{font-size:clamp(22px,2.6vw,30px); font-weight:800; line-height:1; color:#111;}
.pdp-price .mrp{color:var(--nx-grey); text-decoration:line-through; font-size:clamp(13px,1.5vw,15px);}
.pdp-price .save{color:var(--nx-green); background:#eaf6ec; border:1px solid #d4ead7; border-radius:999px; padding:5px 10px; font-weight:600; font-size:12px;}
.pdp-price .meta{display:flex; gap:10px; align-items:center; margin-top:8px; color:var(--nx-muted); font-size:12px;}
.pdp-price .incl{padding:4px 8px; border-radius:999px; background:#f6f7f9; border:1px solid #eceff2;}
.pdp-price .badge-off{background:var(--nx-best-bg); border:1px solid var(--nx-best-b); color:var(--nx-red); padding:4px 8px; border-radius:999px; font-weight:600; font-size:12px;}
.single-product .summary .price{display:none!important}
.pdp-short{color:#374151; font-size:14px; line-height:1.6; margin:8px 0 0;}

/* FORM */
.pdp-form{display:grid; gap:14px;}
.pdp-attrs{display:grid; gap:10px;}
.pdp-attr{display:flex; align-items:stretch; gap:10px; flex-wrap:wrap;}
.pdp-attr-label{flex:0 0 auto; font-weight:700; font-size:12px; color:#333; text-transform:uppercase; letter-spacing:.03em; padding-top:6px;}
.pdp-swatches{display:flex; gap:8px; flex-wrap:wrap;}

/* Swatches */
.pdp-swatch{padding:9px 14px; border-radius:999px; border:1px solid var(--nx-chip-b); background:var(--nx-chip);
  cursor:pointer; font-size:14px; color:#2d3b45; transition:all .18s ease; line-height:1; white-space:nowrap}
.pdp-swatch:hover{background:#eef3f5}
.pdp-swatch.active{background:#4a9088; border-color:#4a9088; color:#fff}
.pdp-swatch[disabled]{opacity:.45; cursor:not-allowed; text-decoration:line-through}

/* Hide Woo selects off canvas (NOT display:none) so WC JS binds */
.pdp-ghost-variations{
  position:absolute !important;
  left:-9999px !important;
  top:auto !important;
  width:1px !important;
  height:1px !important;
  overflow:hidden !important;
  visibility:visible !important;
  pointer-events:none !important;
}

/* Qty block: fixed 40/40/40, no theme +/- bleed */
.pdp-row{display:flex; align-items:center; gap:10px; flex-wrap:wrap}
.pdp-qty{display:inline-flex; gap:0; align-items:center; border:1px solid var(--nx-chip-b);
  border-radius:12px; overflow:hidden; background:#fff; height:40px}
.pdp-qty > button{all:unset; display:grid; place-items:center; width:40px; height:40px; cursor:pointer; font-size:18px; color:#2d3b45}
.pdp-qty .quantity{display:flex; align-items:center; height:40px; flex:0 0 40px; width:40px; margin:0!important; min-width:0}
.pdp-qty .quantity .plus,.pdp-qty .quantity .minus{display:none!important}
.pdp-qty .quantity .qty{all:unset; width:40px!important; height:40px; text-align:center; font-weight:700; font-size:15px; line-height:40px;
  border-left:1px solid var(--nx-line); border-right:1px solid var(--nx-line); box-sizing:border-box}
.pdp-qty .quantity .qty::-webkit-outer-spin-button,
.pdp-qty .quantity .qty::-webkit-inner-spin-button{-webkit-appearance:none; margin:0}
.pdp-qty .quantity .qty[type=number]{-moz-appearance:textfield}

/* ATC button alignment guard on tiny screens */
.single_add_to_cart_button{min-height:40px; line-height:40px}

/* Micro-tweaks for very small devices to prevent overlaps */
@media (max-width: 360px){
  .pdp-price .row{gap:8px}
  .pdp-swatch{padding:8px 12px; font-size:13px}
  .pdp-attr-label{font-size:11px}
  .pdp-short{font-size:13px}
}
