/* Single-product only. Homepage/header/footer remain owned by index-3. */
.kahroba-product {
  --kp-bg: #f5f7fa;
  --kp-surface: #ffffff;
  --kp-soft: #e7ebf0;
  --kp-ink: #101318;
  --kp-muted: #656b75;
  --kp-line: rgba(16, 19, 24, 0.12);
  --kp-blue: #0878ff;
  --kp-blue-deep: #005dcc;
  --kp-sun: #f4b63e;
  --kp-shadow: 0 28px 80px rgba(25, 38, 55, 0.1);
  --kp-radius: clamp(1.5rem, 3vw, 2.75rem);
  overflow: clip;
  background: var(--kp-bg);
  color: var(--kp-ink);
  direction: rtl;
  text-align: right;
}

[data-bs-theme="dark"] .kahroba-product {
  --kp-bg: #080b10;
  --kp-surface: #11161e;
  --kp-soft: #1a212c;
  --kp-ink: #f5f7fa;
  --kp-muted: #a6aeba;
  --kp-line: rgba(255, 255, 255, 0.13);
  --kp-blue: #58a6ff;
  --kp-blue-deep: #83bdff;
  --kp-sun: #ffc85a;
  --kp-shadow: 0 30px 90px rgba(0, 0, 0, 0.42);
}

.kahroba-product *,
.kahroba-product *::before,
.kahroba-product *::after { box-sizing: border-box; }
.kahroba-product a { color: inherit; }
.kahroba-product :focus-visible { outline: 3px solid var(--kp-blue); outline-offset: 4px; }
.kahroba-product .container { inline-size: min(100% - 2rem, 88rem); margin-inline: auto; }
.kahroba-product .ki-container { inline-size: min(100% - 2.5rem, 82rem); margin-inline: auto; }
.kahroba-product .ki-local-nav { position: sticky; inset-block-start: 0; z-index: 40; min-block-size: 3.3rem; border-block-end: 1px solid var(--kp-line); background: color-mix(in srgb, var(--kp-bg) 82%, transparent); backdrop-filter: saturate(180%) blur(20px); -webkit-backdrop-filter: saturate(180%) blur(20px); }
.kahroba-product .ki-local-nav__inner { display: flex; align-items: center; min-block-size: 3.3rem; gap: 1.5rem; }
.kahroba-product .ki-local-nav__title { margin-inline-end: auto; color: var(--kp-ink); font-size: 1.08rem; font-weight: 700; text-decoration: none; }
.kahroba-product .ki-local-nav__links { display: flex; gap: 1.4rem; }
.kahroba-product .ki-local-nav__links a { color: var(--kp-muted); font-size: .76rem; text-decoration: none; }
.kahroba-product .ki-local-nav__action { padding: .35rem .9rem; border-radius: 999px; background: var(--kp-blue); color: #fff; font-size: .72rem; font-weight: 700; text-decoration: none; }
.kp-notices { padding-block-start: 1rem; }
.kp-eyebrow { margin: 0 0 1rem; color: var(--kp-blue); font-size: .82rem; font-weight: 750; letter-spacing: .02em; }

.kp-hero { padding-block: clamp(6rem, 11vw, 10rem) clamp(5rem, 10vw, 9rem); }
.kp-hero__heading { max-inline-size: 70rem; margin-inline: auto; margin-block-end: clamp(3rem, 7vw, 6.5rem); text-align: center; }
.kp-hero__heading h1 { max-inline-size: 64rem; margin: 0 auto; color: var(--kp-ink); font-size: clamp(2.4rem, 6vw, 5.5rem); font-weight: 620; letter-spacing: -.065em; line-height: 1.05; text-wrap: balance; }
.kp-hero__lead { max-inline-size: 40rem; margin: 1.75rem auto 0; color: var(--kp-muted); font-size: clamp(.95rem, 1.5vw, 1.2rem); font-weight: 450; line-height: 1.75; text-wrap: balance; }
.kp-buy-grid { display: grid; grid-template-columns: minmax(0, 1.55fr) minmax(20rem, .75fr); gap: clamp(2rem, 6vw, 6rem); align-items: start; }

.kp-stage { position: sticky; inset-block-start: 2rem; display: grid; place-items: center; min-block-size: min(74vh, 48rem); border-radius: var(--kp-radius); background: var(--kp-surface); isolation: isolate; }
.kp-stage__orbit { position: absolute; z-index: -1; inline-size: min(70%, 35rem); aspect-ratio: 1; border: 1px solid color-mix(in srgb, var(--kp-sun) 45%, transparent); border-radius: 50%; background: radial-gradient(circle, color-mix(in srgb, var(--kp-sun) 38%, transparent) 0, color-mix(in srgb, var(--kp-sun) 10%, transparent) 42%, transparent 68%); box-shadow: 0 0 9rem color-mix(in srgb, var(--kp-sun) 17%, transparent); transform: translate3d(0, var(--kp-orbit-y, 0), 0) scale(var(--kp-orbit-scale, 1)); transition: transform 90ms linear; }
.kp-stage__image-link { display: grid; place-items: center; inline-size: 100%; min-block-size: min(67vh, 43rem); padding: clamp(2rem, 7vw, 6rem); text-decoration: none; }
.kp-stage__image { max-inline-size: 100%; max-block-size: min(54vh, 35rem); object-fit: contain; filter: drop-shadow(0 2.4rem 2.7rem rgba(15, 23, 35, .18)); transform: translate3d(0, var(--kp-image-y, 0), 0); transition: opacity 180ms ease, transform 90ms linear; }
.kp-stage__image.is-changing { opacity: .2; }
.kp-gallery { position: absolute; inset-block-end: 1rem; inset-inline: 1rem; display: flex; gap: .6rem; max-inline-size: calc(100% - 2rem); overflow-x: auto; padding: .35rem; scrollbar-width: none; }
.kp-gallery::-webkit-scrollbar { display: none; }
.kp-gallery__button { flex: 0 0 auto; inline-size: 3.75rem; block-size: 3.75rem; overflow: hidden; padding: .25rem; border: 1px solid var(--kp-line); border-radius: 50%; background: color-mix(in srgb, var(--kp-surface) 88%, transparent); opacity: .58; transition: border-color 180ms ease, opacity 180ms ease, transform 180ms ease; }
.kp-gallery__button:hover, .kp-gallery__button.is-active { border-color: var(--kp-blue); opacity: 1; transform: translateY(-2px); }
.kp-gallery__image { inline-size: 100%; block-size: 100%; border-radius: 50%; object-fit: contain; }

.kp-purchase { position: sticky; inset-block-start: 2rem; padding-block-start: 1rem; }
.kp-purchase__status { display: flex; align-items: center; gap: .55rem; min-block-size: 1.5rem; color: var(--kp-muted); font-size: .88rem; }
.kp-purchase__status p { margin: 0; }
.kp-status-dot { inline-size: .55rem; block-size: .55rem; border-radius: 50%; background: #2fa66a; box-shadow: 0 0 0 .28rem rgba(47,166,106,.12); }
.kp-status-dot.is-out { background: #d65c5c; box-shadow: 0 0 0 .28rem rgba(214,92,92,.12); }
.kp-price { margin-block: 1.25rem 2rem; color: var(--kp-ink); font-family: "DM Sans", Yekan Bakh FaNum, sans-serif; font-size: clamp(1.55rem, 3vw, 2.25rem); font-weight: 650; direction: ltr; text-align: right; unicode-bidi: plaintext; }
.kp-price del { color: var(--kp-muted); font-size: .65em; }
.kp-summary { margin-block-end: 2rem; color: var(--kp-muted); font-size: 1rem; line-height: 1.85; }
.kp-summary p:last-child { margin-bottom: 0; }
.kp-cart form.cart { display: flex; align-items: stretch; gap: .75rem; margin: 0; }
.kp-cart .variations { inline-size: 100%; margin: 0; }
.kp-cart .variations tbody, .kp-cart .variations tr { display: grid; gap: .55rem; }
.kp-cart .variations tr { margin-block-end: 1rem; }
.kp-cart .variations th, .kp-cart .variations td { display: block; padding: 0; text-align: right; }
.kp-cart .variations label { color: var(--kp-ink); font-weight: 650; }
.kp-cart select { inline-size: 100%; min-block-size: 3.6rem; border: 1px solid var(--kp-line); border-radius: .9rem; background: var(--kp-surface); color: var(--kp-ink); padding-inline: 1rem; }
.kp-cart .quantity { display: grid; grid-template-columns: 2.65rem 3.25rem 2.65rem; align-items: center; flex: 0 0 auto; overflow: hidden; min-block-size: 3.7rem; border: 1px solid var(--kp-line); border-radius: 999px; background: var(--kp-surface); box-shadow: inset 0 1px 0 rgba(255,255,255,.08); direction: ltr; }
.kp-cart .quantity .qty { inline-size: 100%; block-size: 100%; min-block-size: 3.65rem; padding: 0; border: 0; outline: 0; background: transparent; color: var(--kp-ink); font-family: "DM Sans", sans-serif; font-size: 1rem; font-weight: 650; text-align: center; appearance: textfield; }
.kp-cart .quantity .qty::-webkit-inner-spin-button, .kp-cart .quantity .qty::-webkit-outer-spin-button { margin: 0; appearance: none; }
.kp-qty-button { display: grid; place-items: center; block-size: 100%; padding: 0; border: 0; background: transparent; color: var(--kp-ink); font-family: Arial, sans-serif; font-size: 1.25rem; transition: background 160ms ease, color 160ms ease; }
.kp-qty-button:hover { background: var(--kp-soft); color: var(--kp-blue); }
.kp-qty-button:disabled { cursor: not-allowed; opacity: .3; }
.kp-cart .single_variation_wrap { inline-size: 100%; }
.kp-cart .woocommerce-variation-add-to-cart { display: flex; align-items: stretch; gap: .75rem; }
.kp-cart--variable form.cart { display: grid; }
.kp-cart--grouped form.cart { display: grid; }
.kp-cart--grouped .woocommerce-grouped-product-list { inline-size: 100%; color: var(--kp-ink); }
.kp-cart .single_add_to_cart_button { display: inline-flex !important; align-items: center; justify-content: center; flex: 1 1 auto; min-inline-size: 0; min-block-size: 3.7rem; margin: 0 !important; border: 0 !important; border-radius: 999px !important; background: var(--kp-blue) !important; box-shadow: 0 12px 28px color-mix(in srgb, var(--kp-blue) 24%, transparent) !important; color: #fff !important; font-weight: 750 !important; line-height: 1 !important; padding: .9rem 1.4rem !important; transition: background 180ms ease, box-shadow 180ms ease, transform 180ms ease !important; }
.kp-cart .single_add_to_cart_button:hover { background: var(--kp-blue-deep) !important; box-shadow: 0 16px 34px color-mix(in srgb, var(--kp-blue) 32%, transparent) !important; color: #fff !important; transform: translateY(-2px); }
.kp-cart .single_add_to_cart_button.disabled { box-shadow: none !important; opacity: .45; transform: none; }
.kp-support { margin-block-start: 2rem; padding-block: 1.4rem; border-block: 1px solid var(--kp-line); }
.kp-support p { margin: 0 0 .2rem; color: var(--kp-ink); font-size: .9rem; }
.kp-support a { color: var(--kp-blue); font-size: .9rem; font-weight: 650; }
.kp-promises { display: grid; gap: .8rem; margin: 1.4rem 0 0; padding: 0; color: var(--kp-muted); font-size: .88rem; list-style: none; }
.kp-promises li { position: relative; padding-inline-start: 1.25rem; }
.kp-promises li::before { position: absolute; inset-block-start: .75em; inset-inline-start: 0; inline-size: .42rem; block-size: .42rem; border-radius: 50%; background: var(--kp-sun); content: ""; }

.kp-story { padding-block: clamp(7rem, 16vw, 15rem); background: var(--kp-ink); color: var(--kp-bg); }
.kp-story__inner { display: grid; grid-template-columns: minmax(0, 1.3fr) minmax(17rem, .55fr); column-gap: clamp(3rem, 9vw, 10rem); align-items: end; }
.kp-story .kp-eyebrow { grid-column: 1 / -1; color: var(--kp-sun); }
.kp-story h2 { margin: 0; color: var(--kp-bg); font-size: clamp(3rem, 8vw, 8.25rem); font-weight: 560; letter-spacing: -.065em; line-height: 1.02; }
.kp-story h2 span { color: color-mix(in srgb, var(--kp-bg) 42%, transparent); }
.kp-story__copy { color: color-mix(in srgb, var(--kp-bg) 72%, transparent); font-size: clamp(1rem, 1.6vw, 1.25rem); line-height: 1.95; }
.kp-story__copy > *:last-child { margin-bottom: 0; }

.kp-ticker { overflow: hidden; border-block: 1px solid var(--kp-line); background: var(--kp-surface); direction: rtl; }
.kp-ticker__track { display: flex; inline-size: max-content; animation: kp-ticker-rtl 28s linear infinite; }
.kp-ticker__track span { display: inline-flex; align-items: center; gap: 2rem; padding: 2rem 1.5rem; color: var(--kp-ink); font-size: clamp(1.2rem, 2.4vw, 2.1rem); font-weight: 600; white-space: nowrap; }
.kp-ticker__track i { display: block; inline-size: .55rem; block-size: .55rem; border-radius: 50%; background: var(--kp-sun); }
@keyframes kp-ticker-rtl { from { transform: translateX(0); } to { transform: translateX(-50%); } }

.kp-details, .kp-related { padding-block: clamp(6rem, 12vw, 11rem); }
.kp-section-heading { max-inline-size: 52rem; margin-block-end: clamp(3rem, 6vw, 5rem); }
.kp-section-heading h2 { margin: 0; color: var(--kp-ink); font-size: clamp(2.6rem, 6vw, 6rem); font-weight: 580; letter-spacing: -.06em; line-height: 1.05; }
.kp-details__grid { display: grid; grid-template-columns: minmax(0, 1.3fr) minmax(18rem, .7fr); gap: clamp(2rem, 7vw, 7rem); }
.kp-specs h3, .kp-meta h3 { margin: 0 0 1.5rem; color: var(--kp-ink); font-size: 1.15rem; }
.kp-specs table { inline-size: 100%; border-collapse: collapse; }
.kp-specs th, .kp-specs td { padding-block: 1.1rem; border-block-end: 1px solid var(--kp-line); color: var(--kp-muted); text-align: right; vertical-align: top; }
.kp-specs th { inline-size: 38%; color: var(--kp-ink); font-weight: 600; }
.kp-specs p { margin: 0; }
.kp-meta { padding: clamp(1.5rem, 3vw, 2.5rem); border-radius: 1.5rem; background: var(--kp-soft); }
.kp-meta p { display: grid; grid-template-columns: 7rem 1fr; gap: 1rem; margin: 0; padding-block: 1rem; border-block-end: 1px solid var(--kp-line); color: var(--kp-muted); }
.kp-meta p:last-child { border: 0; }
.kp-meta span { color: var(--kp-ink); font-weight: 620; }
.kp-related { background: var(--kp-surface); }
.kp-related__grid { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 1rem; }
.kp-related-card { min-inline-size: 0; }
.kp-related-card__image { display: grid; place-items: center; aspect-ratio: 1; overflow: hidden; border-radius: 1.4rem; background: var(--kp-soft); }
.kp-related-card__image img { max-inline-size: 82%; max-block-size: 82%; object-fit: contain; transition: transform 350ms cubic-bezier(.22,1,.36,1); }
.kp-related-card:hover .kp-related-card__image img { transform: scale(1.045); }
.kp-related-card h3 { margin: 1.1rem 0 .25rem; font-size: 1rem; font-weight: 650; line-height: 1.5; }
.kp-related-card h3 a { color: var(--kp-ink); text-decoration: none; }
.kp-related-card__price { color: var(--kp-muted); font-family: "DM Sans", Yekan Bakh FaNum, sans-serif; font-size: .9rem; direction: ltr; text-align: right; unicode-bidi: plaintext; }

[data-kp-reveal] { opacity: 0; transform: translateY(2rem); transition: opacity 700ms ease, transform 850ms cubic-bezier(.22,1,.36,1); }
[data-kp-reveal].is-visible { opacity: 1; transform: none; }

@media (max-width: 991.98px) {
  .kp-buy-grid, .kp-story__inner, .kp-details__grid { grid-template-columns: 1fr; }
  .kp-stage, .kp-purchase { position: static; }
  .kp-stage { min-block-size: 38rem; }
  .kp-purchase { max-inline-size: 40rem; margin-inline: auto; padding-block-start: 1rem; }
  .kp-story__copy { max-inline-size: 40rem; margin-block-start: 2.5rem; }
  .kp-related__grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}

@media (max-width: 575.98px) {
  .kahroba-product .container { inline-size: min(100% - 1.25rem, 88rem); }
  .kahroba-product .ki-container { inline-size: min(100% - 1.25rem, 82rem); }
  .kahroba-product .ki-local-nav__links { display: none; }
  .kp-hero { padding-block-start: 4.5rem; }
  .kp-hero__heading h1 { font-size: clamp(2.8rem, 16vw, 4.4rem); }
  .kp-stage { min-block-size: 29rem; border-radius: 1.4rem; }
  .kp-stage__image-link { min-block-size: 25rem; padding: 2.25rem; }
  .kp-stage__image { max-block-size: 20rem; }
  .kp-gallery__button { inline-size: 3.25rem; block-size: 3.25rem; }
  .kp-story h2 { font-size: clamp(2.7rem, 14vw, 4.25rem); }
  .kp-cart form.cart, .kp-cart .woocommerce-variation-add-to-cart { gap: .55rem; }
  .kp-cart .quantity { grid-template-columns: 2.35rem 2.6rem 2.35rem; }
  .kp-cart .single_add_to_cart_button { padding-inline: .85rem !important; font-size: .9rem !important; }
  .kp-related__grid { display: flex; overflow-x: auto; scroll-snap-type: x mandatory; scrollbar-width: none; }
  .kp-related-card { flex: 0 0 78%; scroll-snap-align: start; }
  .kp-price { overflow-wrap: anywhere; }
  .kp-promises { padding-inline-start: 1.1rem; }
  .woocommerce div.product form.cart .variations { inline-size: 100%; }
}

@media (prefers-reduced-motion: reduce) {
  .kp-ticker__track { animation-play-state: paused; }
  .kp-stage__orbit, .kp-stage__image, [data-kp-reveal], .kp-related-card__image img { transform: none !important; transition: none; }
  [data-kp-reveal] { opacity: 1; }
}
