/* Product order panel; scoped to the standard product page. */
.pdp-brand { display:block; clear:both; margin-bottom:6px; font-weight:600; }
.pdp-cross-sell { clear:both; padding:14px; margin:12px 0; margin-top: 40px; background:#f9fafb; border:1px solid #e8e8df; border-radius:8px; }
.pdp-cross-sell h2 { margin:0 0 6px; font-size:18px; font-weight:700; }
.pdp-accessory { padding:10px 0; border-bottom:1px solid #e1e1d8; }
.pdp-accessory.is-unavailable { opacity:.5; }
.pdp-accessory-row { display:grid; grid-template-columns:20px 60px minmax(0,1fr) auto; align-items:center; gap:10px; margin:0; font-weight:400; color:#303030; cursor:pointer; }
/* The legacy theme sets every product-form label to opacity .5. */
#product_configure_form .pdp-accessory-row { opacity:1; }
.pdp-accessory-check { appearance:auto; position:static; width:18px; height:18px; margin:0; accent-color:#17768c; }
.pdp-accessory-row img { width:60px; height:60px; object-fit:contain; background:#fff; border-radius:4px; }
.pdp-accessory-name { font-size:14px; line-height:1.35; }
.pdp-accessory-price { white-space:nowrap; font-size:14px; color: #17768c; }
.pdp-accessory-variants { display:flex; flex-wrap:wrap; align-items:center; gap:6px; margin:10px 0 0 30px; }
.pdp-accessory-variants[hidden] { display:none; }
.pdp-variant { border:1px solid #17768c3b; border-radius:5px; padding:7px 10px; background:#fff; color:#303030; font:inherit; font-size:13px; line-height:1.35; cursor:pointer; }
.pdp-variant span { display:block; color:#747474; }
.pdp-variant span:first-child { font-weight:bold; color: #17768c; }
.pdp-variant[aria-pressed="true"] { border-color: #17768c; box-shadow: inset 0 0 0 1px #17768c; background: #17768c; color: #fff; }
.pdp-variant[aria-pressed="true"] span, .pdp-variant[aria-pressed="true"] span:first-child { color:#fff; }
.pdp-variant:disabled { text-decoration:line-through; color:#777; background:#eee; cursor:not-allowed; }
.pdp-variant:focus-visible, .pdp-accessory-check:focus-visible, .pdp-gallery-dot:focus-visible { outline:2px solid #303030; outline-offset:3px; }
.pdp-accessory-status { margin:5px 0 0 30px; font-size:12px; line-height:1.4; }
.pdp-accessory-status:empty { display:none; }
.pdp-retry { border:0; background:none; text-decoration:underline; cursor:pointer; padding:0 4px; }
.pdp-total { display:flex; justify-content:space-between; padding-top:12px; font-size:17px; }
.pdp-order-panel > .brandholder { display:none; }
.pdp-order-panel h1.product-page { width:100%; margin-top:0; }
.pdp-order-panel .product-price .green, .pdp-order-panel .product-price .red { display:block; float:none; position:static; clear:both; font-size:13px; }
.pdp-order-panel .route { clear:both; margin:6px 0; color: #1b9b1b; }
.pdp-order-panel .cart { display:flex; gap:8px; clear:both; }
.pdp-order-panel .cart .addtocart { flex:1; min-width:0; }
.pdp-order-panel .cart .add-to-cart { width:100%; white-space:normal; }
.pdp-order-panel .cart .input { flex-shrink:0; }
.pdp-cart-error { clear:both; color:#a32020; padding:10px 0; }
.pdp-mobile-gallery, .pdp-gallery-dots { display:none; }
#sticky-product { display:none; position:fixed; background:#fff; box-shadow:0 -2px 10px #0002; }
#sticky-product .pdp-sticky-total { font-size:18px; font-weight:700; white-space:nowrap; }
@media (max-width:767px) {
  body.pdp-order-page { padding-bottom:calc(78px + env(safe-area-inset-bottom)); }
  .pdp-order-page .product-img { float:none; width:100%; }
  .pdp-order-page .productpage-images-featured { display:none; }
  .pdp-mobile-gallery { display:flex; overflow-x:auto; scroll-snap-type:x mandatory; scrollbar-width:none; width:100%; }
  .pdp-mobile-gallery::-webkit-scrollbar { display:none; }
  .pdp-mobile-slide { flex:0 0 100%; scroll-snap-align:center; display:flex; align-items:center; justify-content:center; }
  .pdp-mobile-slide img { width:100%; height:320px; object-fit:contain; }
  .pdp-gallery-dots { display:flex; gap:6px; justify-content:center; padding:8px 0; }
  .pdp-gallery-dot { width:9px; height:9px; border:0; border-radius:50%; background:#d0d0c8; padding:0; }
  .pdp-gallery-dot[aria-current="true"] { background:#588b25; }
  .pdp-order-panel { display:flex; flex-wrap:wrap; float:none!important; width:100%; padding:0!important; }
  .pdp-order-panel > * { width:100%; }
  .pdp-order-panel > meta { display:none; }
  .pdp-order-panel > em { display:none; }
  .pdp-order-panel > .pdp-brand { display:none; }
  .pdp-order-panel h1.product-page { order:0; font-size:21px; line-height:1.2; margin:4px 0 8px; }
  .pdp-order-panel > .product-price { order:1; width:auto; flex:1; margin:0 8px 0 0; }
  .pdp-order-panel > .reviewtop, .pdp-order-panel > .yotpo { order:2; width:auto; margin:0; align-self:flex-start; }
  .pdp-order-panel > .product-price .green, .pdp-order-panel > .product-price .red { display:block; clear:both; font-size:13px; }
  .pdp-order-panel > #product_configure_form { order:3; }
  .pdp-order-panel > :not(h1):not(.product-price):not(.reviewtop):not(.yotpo):not(#product_configure_form) { order:4; }
  .pdp-cross-sell { margin:8px 0 12px; padding:10px; }
  .pdp-cross-sell h2 { font-size:16px; }
  .pdp-accessory { padding:7px 0; }
  .pdp-accessory-row { grid-template-columns:18px 50px minmax(0,1fr) auto; gap:7px; }
  .pdp-accessory-row img { width:50px; height:50px; }
  .pdp-accessory-name, .pdp-accessory-price { font-size:12px; }
  #sticky-product, #sticky-product.show { display:block!important; bottom:0!important; left:0; width:100%; margin:0; padding:10px 12px calc(10px + env(safe-area-inset-bottom)); z-index:999999999999999999999; }
  #sticky-product .cart { display:flex; align-items:center; justify-content:space-between; gap:14px; margin:0; }
  #sticky-product .addtocart { flex:1; max-width:260px; }
  #sticky-product .add-to-cart { width:100%; margin:0; }
}
/* Customer feedback, 16 October 2026. Existing custom styling above is preserved. */
body.pdp-order-page { padding-bottom:calc(100px + env(safe-area-inset-bottom)); }
#sticky-product .pdp-sticky-price-line { display:flex; align-items:baseline; gap:10px; }
#sticky-product .pdp-sticky-original { font-size:14px; color:#747474; white-space:nowrap; }
#sticky-product .pdp-sticky-savings { display:block; font-size:12px; line-height:1.4; color:#17768c; }
#sticky-product .pdp-sticky-original[hidden], #sticky-product .pdp-sticky-savings[hidden] { display:none; }
@media (min-width:768px) {
  #sticky-product, #sticky-product.show { display:block; bottom:0; left:0; width:100%; margin:0; padding:12px 24px; z-index:999999999999999999999; }
  #sticky-product .cart { display:flex; align-items:center; justify-content:space-between; gap:24px; max-width:initial; margin:0 auto; }
  #sticky-product .addtocart { flex:1; max-width:320px; }
  #sticky-product .add-to-cart { width:100%; margin:0; }
}

/* Desktop sticky: product summary left, totals and CTA right; mobile stays unchanged. */
#sticky-product .pdp-sticky-product { display:none; }
@media (min-width:768px) {
  #sticky-product:not(.pdp-desktop-visible) { display:none; }
  #sticky-product.pdp-desktop-visible { display:block; }
  #sticky-product .pdp-sticky-product { display:flex; align-items:center; gap:12px; flex:1; min-width:0; }
  #sticky-product .pdp-sticky-product img { width:56px; height:56px; flex-shrink:0; object-fit:contain; margin:0; }
  #sticky-product .pdp-sticky-title { display:-webkit-box; -webkit-line-clamp:2; -webkit-box-orient:vertical; overflow:hidden; font-size:14px; line-height:1.4; font-weight:600; }
  #sticky-product .pdp-sticky-prices { flex-shrink:0; }
}
