/* ============================================================
   ActionCameraHub — Premium Single Product Page
   Universal styling for ALL products. Reversible (sandbox).
   ============================================================ */
:root{
  --ach-blue:#2563eb;--ach-blue-700:#1d4ed8;--ach-blue-50:#eff5ff;
  --ach-red:#e11d2a;--ach-green:#0e9f6e;--ach-green-50:#ecfdf5;
  --ach-ink:#0b0f17;--ach-ink2:#4a4f58;--ach-ink3:#8a8f99;
  --ach-line:#e6e8ec;--ach-soft:#f6f7f9;
  --ach-shadow:0 6px 24px rgba(11,15,23,.07),0 2px 6px rgba(11,15,23,.05);
  --ach-shadow-sm:0 1px 3px rgba(11,15,23,.06);
  --ach-disp:"Sora",-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;
  --ach-body:"Inter",-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;
}

/* ---- scope everything to single product ---- */
.single-product .nasa-product-details-page{font-family:var(--ach-body)}
.single-product .product-details-bread{padding:14px 0 2px;font-size:13px;color:var(--ach-ink3)}

/* ---- gallery ---- */
.single-product .product-gallery .woocommerce-product-gallery__image img,
.single-product .product-gallery .nasa-single-featured img{
  border-radius:18px!important;box-shadow:var(--ach-shadow);
}
.single-product .product-gallery .flex-control-thumbs li img,
.single-product .product-gallery .nasa-thumbnails img{
  border-radius:10px!important;border:1.5px solid var(--ach-line);transition:.15s
}
.single-product .product-gallery .flex-control-thumbs li img:hover{border-color:var(--ach-blue);box-shadow:0 0 0 3px var(--ach-blue-50)}

/* ---- title ---- */
.single-product .product-info .product_title{
  font-family:var(--ach-disp)!important;font-weight:800!important;
  letter-spacing:-.02em;line-height:1.14;font-size:30px!important;color:var(--ach-ink);margin-bottom:10px
}

/* ---- price ---- */
.single-product .product-info p.price,
.single-product .product-info .price{margin:6px 0 4px!important;display:flex;align-items:baseline;flex-wrap:wrap;gap:10px}
.single-product .product-info .price ins,
.single-product .product-info .price>.amount{text-decoration:none!important}
.single-product .product-info .price ins .amount,
.single-product .product-info .price>.amount{
  font-family:var(--ach-disp)!important;font-weight:800!important;font-size:30px!important;color:var(--ach-ink)!important;letter-spacing:-.02em
}
.single-product .product-info .price del{opacity:1}
.single-product .product-info .price del .amount{color:var(--ach-ink3)!important;font-weight:400!important;font-size:18px!important}

/* save badge + emi (injected) */
.ach-pp-savebadge{display:inline-block;font-family:var(--ach-disp);font-weight:700;font-size:12px;color:#fff;background:var(--ach-red);padding:5px 10px;border-radius:8px;vertical-align:middle;margin-left:2px}
.ach-pp-priceline{font-size:13px;color:var(--ach-green);font-weight:600;margin:2px 0 12px}
.ach-pp-tax{font-size:12px;color:var(--ach-ink3);margin:-6px 0 14px}
.ach-pp-emi{display:flex;align-items:center;gap:10px;background:var(--ach-blue-50);border:1px solid #dbe6ff;border-radius:12px;padding:11px 13px;margin:0 0 18px;font-size:13.5px;color:var(--ach-ink2)}
.ach-pp-emi b{color:var(--ach-ink)}
.ach-pp-emi svg{width:20px;height:20px;color:var(--ach-blue);flex:none}

/* authorised + gst badges */
.ach-pp-badges{display:flex;flex-wrap:wrap;gap:8px;margin:4px 0 14px}
.ach-pp-badge{display:inline-flex;align-items:center;gap:6px;font-size:12px;font-weight:600;color:var(--ach-green);background:var(--ach-green-50);border:1px solid #c7f0df;padding:5px 11px;border-radius:999px}
.ach-pp-badge.brand{color:var(--ach-ink);background:#fff;border:1px solid var(--ach-line)}
.ach-pp-badge svg{width:13px;height:13px}

/* in-stock */
.single-product .product-info p.stock.in-stock{color:var(--ach-green)!important;font-weight:700;background:var(--ach-green-50);display:inline-block;padding:5px 12px;border-radius:999px;font-size:13px}
.single-product .product-info p.stock.out-of-stock{color:var(--ach-red)!important;font-weight:700}

/* quantity */
.single-product .product-info .quantity .qty{
  border:1.5px solid var(--ach-line)!important;border-radius:10px!important;height:52px;font-family:var(--ach-disp);font-weight:700;color:var(--ach-ink)
}
.single-product .product-info .quantity .plus,
.single-product .product-info .quantity .minus{color:var(--ach-ink2)}

/* ADD TO CART button */
.single-product .product-info .single_add_to_cart_button,
.single-product .product-info button.single_add_to_cart_button{
  background:var(--ach-blue)!important;color:#fff!important;border:0!important;
  border-radius:13px!important;font-family:var(--ach-disp)!important;font-weight:700!important;
  letter-spacing:.01em;min-height:54px;padding:0 28px!important;font-size:16px!important;
  box-shadow:0 8px 20px rgba(37,99,235,.28);transition:.15s;text-transform:none!important
}
.single-product .product-info .single_add_to_cart_button:hover{background:var(--ach-blue-700)!important;transform:translateY(-1px)}

/* meta (sku/cat/brand) */
.single-product .product-info .product_meta{font-size:12.5px;color:var(--ach-ink3);border-top:1px solid var(--ach-line);padding-top:14px;margin-top:16px}
.single-product .product-info .product_meta a{color:var(--ach-ink2)}

/* ---- assurance tiles (injected under cart) ---- */
.ach-pp-assure{display:grid;grid-template-columns:repeat(3,1fr);gap:10px;margin:18px 0 4px}
.ach-pp-assure .a{border:1px solid var(--ach-line);border-radius:12px;padding:12px 8px;text-align:center;background:var(--ach-soft)}
.ach-pp-assure svg{width:22px;height:22px;color:var(--ach-blue);margin:0 auto 6px;display:block}
.ach-pp-assure .t{font-size:11.5px;font-weight:700;font-family:var(--ach-disp);color:var(--ach-ink);line-height:1.25}
.ach-pp-assure .s{font-size:10px;color:var(--ach-ink3);margin-top:2px}

/* ============== full-width premium sections ============== */
.ach-pp-extras{font-family:var(--ach-body);margin:34px 0 8px}
.ach-pp-extras *{box-sizing:border-box}
.ach-pp-sec{padding:38px 0;border-top:1px solid var(--ach-line)}
.ach-pp-eyebrow{font-family:var(--ach-disp);font-weight:700;font-size:11px;letter-spacing:.16em;text-transform:uppercase;color:var(--ach-blue);margin-bottom:8px}
.ach-pp-h2{font-family:var(--ach-disp);font-weight:800;font-size:24px;letter-spacing:-.02em;color:var(--ach-ink);margin:0 0 22px}

/* trust strip */
.ach-pp-trust{display:grid;grid-template-columns:repeat(5,1fr);gap:14px}
.ach-pp-trust .cell{text-align:center;padding:18px 10px;border:1px solid var(--ach-line);border-radius:14px;background:#fff}
.ach-pp-trust svg{width:26px;height:26px;color:var(--ach-blue);margin:0 auto 9px;display:block}
.ach-pp-trust .h{font-family:var(--ach-disp);font-weight:700;font-size:13.5px;color:var(--ach-ink)}
.ach-pp-trust .p{font-size:11.5px;color:var(--ach-ink3);margin-top:3px}

/* why buy cards */
.ach-pp-why{display:grid;grid-template-columns:repeat(3,1fr);gap:18px}
.ach-pp-why .card{background:#fff;border:1px solid var(--ach-line);border-radius:16px;padding:24px;transition:.18s}
.ach-pp-why .card:hover{box-shadow:var(--ach-shadow);transform:translateY(-3px)}
.ach-pp-why .ic{width:46px;height:46px;border-radius:12px;background:var(--ach-blue-50);display:grid;place-items:center;color:var(--ach-blue);margin-bottom:14px}
.ach-pp-why .ic svg{width:23px;height:23px}
.ach-pp-why h3{font-family:var(--ach-disp);font-weight:700;font-size:16px;color:var(--ach-ink);margin:0 0 7px}
.ach-pp-why p{font-size:13.5px;color:var(--ach-ink2);margin:0;line-height:1.55}

/* specs */
.ach-pp-specs{display:grid;grid-template-columns:1fr 1fr;gap:0 40px}
.ach-pp-specs .row{display:flex;justify-content:space-between;gap:16px;padding:12px 0;border-bottom:1px solid #eef0f3;font-size:13.5px}
.ach-pp-specs .k{color:var(--ach-ink3)}
.ach-pp-specs .v{color:var(--ach-ink);font-weight:600;text-align:right}

/* faq */
.ach-pp-faq details{border:1px solid var(--ach-line);border-radius:13px;margin-bottom:11px;background:#fff;overflow:hidden}
.ach-pp-faq summary{list-style:none;cursor:pointer;padding:17px 20px;display:flex;justify-content:space-between;align-items:center;gap:14px;font-family:var(--ach-disp);font-weight:600;font-size:15px;color:var(--ach-ink)}
.ach-pp-faq summary::-webkit-details-marker{display:none}
.ach-pp-faq summary .pl{width:26px;height:26px;border-radius:50%;background:var(--ach-soft);display:grid;place-items:center;flex:none;color:var(--ach-blue);font-size:18px;transition:.2s;line-height:1}
.ach-pp-faq details[open] summary .pl{transform:rotate(45deg);background:var(--ach-blue);color:#fff}
.ach-pp-faq .ans{padding:0 20px 18px;color:var(--ach-ink2);font-size:14px;line-height:1.6}

/* ---- related products restyle ---- */
.single-product .related-product .products li.product .button,
.single-product .related-product .products li.product a.button{border-radius:10px}
.single-product .related > h2,.single-product .related-product h2{font-family:var(--ach-disp);font-weight:800;letter-spacing:-.02em}

/* ---- review stars colour ---- */
.single-product .star-rating span:before,.single-product .commentlist .star-rating span:before{color:#f5a623}

/* ============== sticky mobile buy bar ============== */
.ach-pp-stickybuy{position:fixed;left:0;right:0;bottom:0;z-index:9999;display:none;align-items:center;gap:12px;padding:10px 14px;
  background:rgba(255,255,255,.96);backdrop-filter:blur(12px);border-top:1px solid var(--ach-line);box-shadow:0 -8px 30px rgba(11,15,23,.08)}
.ach-pp-stickybuy .sp{flex:none;line-height:1}
.ach-pp-stickybuy .sp .n{font-family:var(--ach-disp);font-weight:800;font-size:18px;color:var(--ach-ink)}
.ach-pp-stickybuy .sp .w{font-size:11px;color:var(--ach-ink3);text-decoration:line-through}
.ach-pp-stickybuy .cta{flex:1;min-height:48px;border:0;border-radius:12px;background:var(--ach-blue);color:#fff;
  font-family:var(--ach-disp);font-weight:700;font-size:15px;display:flex;align-items:center;justify-content:center;gap:8px}
.ach-pp-stickybuy .cta svg{width:18px;height:18px}

/* ============== responsive ============== */
@media (max-width:1024px){
  .ach-pp-trust{grid-template-columns:repeat(3,1fr)}
  .ach-pp-why,.ach-pp-specs{grid-template-columns:1fr 1fr}
}
@media (max-width:782px){
  .single-product .product-info .product_title{font-size:24px!important}
  .single-product .product-info .price ins .amount,.single-product .product-info .price>.amount{font-size:26px!important}
  .ach-pp-trust{grid-template-columns:repeat(2,1fr)}
  .ach-pp-why,.ach-pp-specs{grid-template-columns:1fr}
  .ach-pp-h2{font-size:21px}
  .ach-pp-sec{padding:30px 0}
  .ach-pp-stickybuy{display:flex}
  body.single-product{padding-bottom:74px}
  .single-product .product-info .single_add_to_cart_button{width:100%}
}
@media (prefers-reduced-motion:reduce){.single-product *{transition:none!important}}

/* ============================================================
   LAYOUT FIX — full-width content + balanced hero (ALL products)
   The Digi theme wraps product content in `large-9 columns right`,
   reserving 25% for a sidebar that is empty -> dead left gutter.
   Gallery/info also default to a lop-sided 66/33 split.
   ============================================================ */
.single-product .nasa-product-details-page > .large-9.columns,
.single-product .nasa-product-details-page > .large-12.columns{ float:none !important; }

@media (min-width:1024px){
  /* kill the phantom-sidebar gutter: content spans full width */
  .single-product .nasa-product-details-page > .large-9.columns,
  .single-product .nasa-product-details-page > .large-12.columns{
    width:100% !important; margin:0 !important;
  }
  /* balance the hero: image column vs info column */
  .single-product .nasa-product-details-page .product-gallery.large-8{ width:55% !important; }
  .single-product .nasa-product-details-page .product-info.large-4{ width:45% !important; padding-left:42px !important; }
}

/* keep injected info content inside its column (no right-edge overflow) */
.single-product .product-info .ach-pp-emi,
.single-product .product-info .ach-pp-badges,
.single-product .product-info .ach-pp-assure{ max-width:100%; }
.single-product .nasa-product-details-page{ overflow-x:clip; }

