/* ================================================================
   TrueKatana — Product Detail Page
   Design System: --one-* tokens (from layout.css :root)
   ================================================================ */


/* ── Page Container ── */
.one-product-container { background: linear-gradient(180deg, var(--one-bg-primary) 0%, var(--one-bg-void) 100%) !important; color: var(--one-text-secondary); margin: 0; overflow-x: hidden; }


/* ── Breadcrumb ── */
.one-product-header { max-width: 1280px; padding: 0; padding-top: 10px; }
.one-product-breadcrumb ol { margin-bottom: 5px; background-color: transparent !important; padding: 8px 0 !important; }
.one-product-breadcrumb a { color: var(--one-text-secondary); }
.one-product-breadcrumb a:hover { color: var(--one-link); }
.breadcrumb-item+.breadcrumb-item::before { color: var(--one-text-muted); }


/* ── Product Images ── */
.one-product-image-container { min-height: 360px; }
.one-product-thumb { border: 1px solid var(--one-border) !important; max-width: 70px; max-height: 70px; }


/* ── Product Info (right side) ── */
.one-product-title { font-family: var(--one-font-display); font-size: 1.8em; color: var(--one-text-primary); line-height: 1.2; }
.one-product-body { padding-top: 15px !important; overflow-x: hidden; background-color: var(--one-bg-card) !important; }
.one-product-body a { color: var(--one-text-secondary); }
.one-product-body a:hover { color: var(--one-link); }
.one-product-body a.btn { color: #fff !important; }
.one-product-body-container { max-width: 1280px; }
.one-product-body-price { font-size: 2.5em; color: var(--one-text-primary); font-weight: 700; }
.one-product-body-ul { padding-left: 16px; color: var(--one-text-primary); font-weight: 600; }
.one-product-body-add-cart { font-family: var(--one-font-body); font-weight: 700; font-size: 1.5em; color: #fff !important; }
.one-product-body-btn-paypal { font-family: var(--one-font-body); font-weight: 700; color: #fff !important; }
.one-product-body-btn { background: var(--one-red); color: #fff !important; font-weight: 700; }
.one-product-body-btn:hover { background: var(--one-red-hover); color: #fff !important; }
.one-product-body-btn-sm { background: var(--one-bg-void); color: var(--one-text-secondary); border: 1px solid var(--one-border); }
.one-product-body-btn-sm:hover { background: #000; color: var(--one-text-primary); }
.one-product-body-hr { background: var(--one-border); margin: 10px 0; }
.one-product-body-btn-subscribe { background-color: var(--one-bg-void) !important; border-color: var(--one-bg-void); color: var(--one-text-secondary); }
.one-product-body-btn-subscribe:hover { background-color: #000 !important; border-color: #000; }
.one-product-subscribe hr { background-color: var(--one-border-hover) !important; }
.one-product-subscribe a { text-decoration: underline !important; cursor: pointer; }


/* ── Coupon Badge ── */
.one-product-price-coupon-container { color: var(--one-success-bright) !important; font-size: 0.4em !important; }
.one-product-price-coupon-tags { background-color: var(--one-success-bright) !important; color: #111; padding-top: 4px; padding-bottom: 3px; font-size: 0.85em !important; }
.one-product-body-coupon { border: 1px dashed var(--one-success-bright); padding: 5px 10px 10px 10px !important; border-radius: 5px; margin-bottom: 5px; vertical-align: middle; max-width: 300px; }
.one-product-body-coupon-percent { font-family: var(--one-font-body); font-size: 23px; font-weight: 900; color: var(--one-success-bright); }
.one-product-body-coupon-percent svg { margin-top: -6px; }
.one-product-body-coupon-subtitle { font-family: var(--one-font-body); font-size: 13px; font-weight: 400; color: var(--one-success-bright); }
.one-product-body-coupon-subtitle span { font-weight: 900; color: var(--one-success-bright); }


/* ── Shipping & Inventory ── */
.one-product-shipping-tips { color: var(--one-success-bright); }
.one-product-shipping-tips a { color: var(--one-success-bright) !important; }
.one-product-inventory-low { color: var(--one-warning) !important; }
.one-product-inventory-instock { color: var(--one-success-bright) !important; }


/* ── Highlights ── */
.one-product-highlight { margin-left: 10px !important; margin-top: 20px !important; }
.one-product-highlight-li { padding: 3px 0; color: var(--one-text-primary); font-weight: 800; }
.one-product-highlight-icon { width: 32px; vertical-align: top; }
.one-product-highlight-icon img { max-width: 22px; }
.one-product-highlight-title { padding-bottom: 10px; }


/* ── Quick Checkout & Variations ── */
.one-product-checkout-btn { background: var(--one-info); color: #fff !important; font-weight: 700; }
.one-product-checkout-btn:hover { opacity: 0.9; color: #fff !important; }
.one-product-variations-btn { border: 1px solid var(--one-text-muted); color: var(--one-text-muted); }
.one-product-variations-btn-selected { border: 1px solid var(--one-success-bright) !important; color: var(--one-success-bright); }


/* ── Description Section ── */
.one-product-desc { min-height: 800px; color: var(--one-text-primary); font-size: 1.1em; background-color: var(--one-bg-void) !important; }
.one-product-desc-container { max-width: 1280px; }
.one-product-desc-container h2 { font-family: var(--one-font-display); font-size: 2em; color: var(--one-text-primary); }
.one-product-desc-description { margin-top: 20px; margin-bottom: 20px; }
.one-product-desc-description a { color: var(--one-link); }
.one-product-desc-description a:hover { color: var(--one-link); text-decoration: underline; }
.one-product-desc-ul { padding-left: 15px; }
.one-product-desc-tags { margin-top: 20px; margin-bottom: 20px; }
.one-product-tag-title { color: var(--one-text-primary); font-weight: bold; }


/* ── Collection Badges ── */
.one-product-collections-badge { background: var(--one-bg-void); color: var(--one-text-secondary); }
.one-product-collections-badge:hover { background: #000 !important; color: var(--one-text-primary) !important; }


/* ── Property Table ── */
.one-product-property-table caption { width: 1px; height: 1px; position: absolute; padding: 0; margin: -1px; overflow: hidden; }
.one-product-property-table td { border: 1px solid var(--one-border); color: var(--one-text-primary); }
.one-product-property-table th { border: 1px solid var(--one-border); color: var(--one-text-primary); background-color: var(--one-bg-card) !important; }


/* ── FAQs Section ── */
.one-products-faqs-container-fluid { background-color: var(--one-bg-void) !important; padding-top: 0; padding-bottom: 50px; }
.one-products-faqs-container { padding-top: 10px; }
.one-products-faqs-title { font-family: var(--one-font-display); font-size: 2em; }
.one-products-faqs-summary { color: var(--one-text-primary); font-size: 1.1em; margin-bottom: 5px; }
.one-products-faqs-summary::marker { color: var(--one-red) !important; }
.one-products-faqs-content { color: var(--one-text-secondary); font-size: 1em; max-width: 80%; padding: 5px 0px 10px 15px; }

@media (max-width: 720px) {
  .one-products-faqs-container { padding: 10px 25px; }
  .one-products-faqs-summary { margin-bottom: 10px; }
}


/* ── Tags Section ── */
.one-product-tags-container-fluid { padding-top: 60px; padding-bottom: 60px; }
.one-product-tags-title { text-align: center; font-family: var(--one-font-display); font-size: 2em; color: var(--one-text-inverse); }
.one-product-tags { list-style: none; padding: 0; margin: 0; display: flex; gap: 8px; flex-wrap: wrap; justify-content: center; }
.one-product-tags li { display: inline-block; padding: 6px 12px; background-color: var(--one-bg-card); color: var(--one-text-primary) !important; font-size: 12px; line-height: 1; border-radius: 50px; text-align: center; white-space: nowrap; }
.one-product-tags li a { color: var(--one-text-secondary) !important; }
.one-product-tags li a:hover { color: var(--one-link) !important; }


/* ── Related Products ── */
.one-product-related { background: var(--one-bg-void); }
.one-product-related-container { max-width: 1600px; margin: auto; padding-top: 60px; padding-bottom: 40px; }
.one-product-related-title { font-family: var(--one-font-display); font-size: 2em; margin-bottom: 40px; font-weight: 600; color: var(--one-text-inverse); text-align: center; }
.one-product-related-block { min-height: 300px; border: 0; background: var(--one-bg-card); border-radius: 8px; overflow: hidden; }
.one-product-related-block-body { padding: 8px !important; }
.one-product-related-title-container { max-width: 90%; text-align: center; margin: auto; padding-bottom: 6px; }
.one-product-related-block-title { color: var(--one-text-primary); font-size: 1em; font-weight: 500; }
.one-product-related-block-title:hover { color: var(--one-link); }
.one-product-related-block-price { font-size: 1.1em; font-weight: 700; color: var(--one-success-bright); }
.one-product-related-price-was { color: var(--one-text-muted); font-size: 1em; }
.one-product-related-onsale { background: #FFE000; color: #000; font-size: 11px; font-weight: 900; margin-right: 6px; padding: 2px 8px; border-radius: 3px; }


/* ── Explore Section ── */
.one-product-explore { background: var(--one-bg-void); }
.one-product-explore-container { max-width: 1280px; margin: auto; padding-top: 40px; padding-bottom: 40px; }
.one-product-explore-title { font-family: var(--one-font-display); font-size: 2em; margin-bottom: 20px; font-weight: 700; }
.one-product-explore-block { border: 0; border-radius: 3px; }
.one-product-explore-body { color: #555; padding-top: 5px !important; }
.one-product-explore-body small { color: #333; font-size: 0.9em; }
.one-product-explore-item-title a { color: #111; font-size: 1.2em; font-weight: 600; }
.one-product-explore-figure { overflow: hidden; margin-bottom: 10px !important; background-color: #000; }

@media (max-width: 720px) {
  .one-product-body-coupon { margin-bottom: 10px; display: block; }
  .one-product-explore-container { max-width: 85%; margin: auto; padding-top: 40px; padding-bottom: 40px; }
  .one-product-shipping-methold { font-size: 1em; }
}


/* ── Product Reviews (on product page) ── */
.one-product-reviews-fluid { background-color: var(--one-bg-primary) !important; }
.one-product-reviews-container { max-width: 1280px; margin: auto; padding-top: 20px; padding-bottom: 60px; }
.one-product-reviews-h3 { font-family: var(--one-font-display); margin-top: 40px !important; color: var(--one-text-inverse); font-weight: bold; font-size: 2em; margin-bottom: 15px !important; display: flex; align-items: center; gap: 12px; }
.one-product-reviews-count-badge { display: inline-flex; align-items: center; justify-content: center; background: var(--one-red); color: #fff; font-family: var(--one-font-body); font-size: 0.4em; font-weight: 700; padding: 4px 14px; border-radius: 9999px; }
.one-product-reviews-card { border-radius: 0px; background-color: var(--one-bg-card) !important; border: 1px solid var(--one-border); }
.one-product-reviews-left { border-right: 1px solid var(--one-border); min-height: 100px; }
.one-product-reviews-left small { font-size: 0.8em; }
.one-product-reviews-item { margin-top: 35px; max-width: 40%; }
.one-product-reviews-item img { margin-right: 10px; border-radius: 3px; }
.one-product-reviews-item { color: var(--one-text-muted); font-weight: normal; }
.one-product-reviews-body { color: var(--one-text-secondary); font-weight: 500; }
.one-product-reviews-content { max-width: 80%; }
.one-product-reviews-title { color: var(--one-text-primary); }
.one-product-reviews-more { background: transparent !important; border: 1px solid var(--one-text-muted) !important; color: var(--one-text-primary) !important; border-radius: 8px; font-weight: 600; font-size: 0.95em; transition: border-color 0.15s; }
.one-product-reviews-more:hover { border-color: var(--one-text-primary) !important; color: var(--one-text-inverse) !important; }

@media (max-width: 991.98px) {
  .one-product-reviews-left { border-right: 0; border-bottom: 1px solid var(--one-border); min-height: 50px; margin-bottom: 10px; }
  .one-product-reviews-item { margin-top: 35px; max-width: 100%; }
  .one-product-reviews-content { max-width: 100%; }
}


/* ── Sales Notify ── */
.one-product-sales-notify { margin-top: 25px; }
.one-product-sales-notify a { border-bottom: 1px dashed var(--one-text-primary); }
.one-product-sales-notify span { max-width: 70%; margin: auto; }
.one-product-sales-notify hr { background-color: var(--one-border-hover) !important; }
.one-product-sales-notify-modal-title { color: #444; }
.one-product-sales-notify-modal-body { color: #444 !important; padding: 30px; }
.one-product-sales-notify-modal-body input::placeholder { color: #eee !important; }


/* ── Mobile Responsive ── */
@media (max-width: 720px) {
  .one-product-header { display: none; }
  .one-product-related-row { padding: 5px; }
  .one-product-body { padding: 0; padding-top: 0 !important; }
  .one-product-body-right { padding: 10px 15px; }
  .photoswipe figure { margin-bottom: 0 !important; }
  #main_image_container { border-radius: 0 !important; }
  .one-product-thumb-first { min-height: 360px; }
  .one-product-thumb-container { min-height: 60px; padding: 0px 15px 10px 15px; }
  .one-product-thumb { max-width: 50px !important; max-height: 50px; }
  .one-product-related-title { font-size: 2em; font-weight: 700; text-align: center; }
  .one-product-title { font-size: 1.5em; line-height: 1.15em; }
  .one-product-desc-ul li { margin-bottom: 20px !important; }
  .one-product-highlight-title { padding-bottom: 6px; }
  .one-product-shipping-methold { margin-bottom: 20px !important; }
}
