/* Shared Elementor single-product template, RTL counterpart of the reference. */
.pp-product-zoom-pane { position: fixed; pointer-events: none; box-sizing: border-box; z-index: 110; background-color: #fff; background-repeat: no-repeat; }
.pp-product-zoom-pane[hidden] { display: none !important; }
@media (min-width: 1025px) and (hover: hover) and (pointer: fine) {
    body.single-product .productgallery .zoomImg { display: none !important; }
    body.single-product .productgallery .woocommerce-product-gallery__image { cursor: crosshair; }
}
body.single-product { background: #f5f5f5; }
body.single-product .main-page-wrapper { background: #f5f5f5; padding-bottom: 40px; }
body.single-product .wd-content-layout { padding-top: 15px; }
body.single-product .elementor-2103 .elementor-element-ae9e9d7 { padding: 0 !important; margin-bottom: 8px !important; }
body.single-product .elementor-2103 { --pp-product-red: #ed2939; --pp-product-ink: #303238; }
body.single-product .elementor-2103 .woocommerce-breadcrumb { font-size: 13px; line-height: 1.9; color: #8a939b; margin: 16px 0 22px; }
body.single-product .elementor-2103 .productlayout { display: grid !important; grid-template-columns: minmax(0, 3fr) minmax(260px, 1fr); gap: 20px !important; padding: 0 !important; align-items: start !important; }
body.single-product .elementor-2103 .productlayout > .productmain,
body.single-product .elementor-2103 .productlayout > .relatesproducts { width: 100% !important; max-width: 100% !important; flex: 0 0 auto !important; padding: 0 !important; margin: 0 !important; }
body.single-product .elementor-2103 .productlayout > .productmain { gap: 20px !important; grid-column: 1; grid-row: 1; }
body.single-product .elementor-2103 .productlayout > .relatesproducts { grid-column: 2; grid-row: 1; min-width: 0; }
body.single-product .elementor-2103 .productlayout > .productmain > .productmain { display: grid !important; grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); gap: 20px !important; align-items: stretch !important; padding: 0 !important; }
body.single-product .elementor-2103 .productgallery,
body.single-product .elementor-2103 .productsummary { width: auto !important; max-width: 100% !important; min-width: 0 !important; background: #fff; border-radius: 8px; box-shadow: 0 2px 3px #00000020; padding: 28px !important; margin: 0 !important; }
body.single-product .elementor-2103 .productgallery { justify-content: center; align-self: stretch; }
body.single-product .elementor-2103 .productgallery > .elementor-widget { width: 100%; }
body.single-product .elementor-2103 .productgallery .woocommerce-product-gallery { width: 100%; margin: 0; }
body.single-product .elementor-2103 .productgallery .woocommerce-product-gallery__image img { width: 100%; height: clamp(330px, 32vw, 510px); object-fit: contain; }
body.single-product .elementor-2103 .productsummary { display: flex !important; flex-direction: column !important; gap: 16px !important; align-items: stretch !important; }
body.single-product .elementor-2103 .productsummary .elementor-widget { margin-bottom: 0; }
body.single-product .elementor-2103 .product_title { color: var(--pp-product-ink); font-family: inherit; font-size: clamp(20px, 1.6vw, 26px) !important; font-weight: 500; line-height: 1.6; margin: 0; }
body.single-product .elementor-2103 .elementor-element-f9586b0 { display: flex !important; flex-direction: row !important; justify-content: flex-start !important; align-items: center !important; gap: 8px !important; width: 100% !important; padding: 0 !important; }
body.single-product .elementor-2103 .elementor-element-f9586b0 .elementor-heading-title { color: #8a939b; font-size: 14px !important; font-weight: 400; }
body.single-product .elementor-2103 .elementor-element-1224120 .elementor-heading-title { color: #454951; font-weight: 600; direction: ltr; display: inline-block; }
body.single-product .elementor-2103 .woocommerce-product-details__short-description { font-size: 14px; line-height: 2; color: #727982; }
body.single-product .elementor-2103 .woocommerce-product-details__short-description p { margin: 0; }
body.single-product .elementor-2103 .elementor-element-b5f5b78 { display: flex !important; flex-direction: row !important; align-items: baseline !important; justify-content: flex-start !important; flex-wrap: wrap !important; gap: 12px !important; padding: 17px 0 0 !important; width: 100% !important; border-top: 1px solid #eceef0; }
body.single-product .elementor-2103 .elementor-element-c3f6a58 .elementor-heading-title,
body.single-product .elementor-2103 .pp-product-price-note { font-family: inherit; font-size: 16px !important; font-weight: 600; color: #606771; }
body.single-product .elementor-2103 .productsummary .price { color: #20242a; font-size: 30px; font-weight: 800; margin: 0; line-height: 1.5; }
body.single-product .elementor-2103 .productsummary .price del { font-size: 18px; color: #89929d; }
body.single-product .elementor-2103 .productsummary .woocommerce-Price-currencySymbol { font-size: 15px; font-weight: 500; margin-inline-start: 6px; }
body.single-product .elementor-2103 .elementor-add-to-cart p.stock { display: none; }
body.single-product .elementor-2103 .productsummary form.cart { display: flex; flex-wrap: wrap; align-items: center; gap: 12px; margin: 0 0 16px; }
body.single-product .elementor-2103 .productsummary form.variations_form { display: block; }
body.single-product .elementor-2103 .productsummary .quantity { display: inline-flex; height: 50px; border: 1px solid #e8eaec; border-radius: 26px; overflow: hidden; margin: 0; }
body.single-product .elementor-2103 .productsummary .quantity input.qty { height: 48px; width: 42px; padding: 0; border: 0; box-shadow: none; }
body.single-product .elementor-2103 .productsummary .quantity .btn { height: 48px; width: 30px; padding: 0; border: 0; background: transparent; color: #454951; }
body.single-product .elementor-2103 .productsummary .single_add_to_cart_button,
body.single-product .elementor-2103 .pp-product-inquiry { display: flex; align-items: center; justify-content: center; gap: 18px; min-height: 50px; padding: 12px 25px; border-radius: 28px; border: 1px solid var(--pp-product-red); background: var(--pp-product-red); color: #fff; font-family: inherit; font-weight: 700; font-size: 15px; transition: background .18s, box-shadow .18s; }
body.single-product .elementor-2103 .productsummary .single_add_to_cart_button:hover,
body.single-product .elementor-2103 .pp-product-inquiry:hover { background: #d41c2d; color: #fff; box-shadow: 0 4px 12px #ed293922; }
body.single-product .elementor-2103 .productsummary .single_add_to_cart_button { flex: 1; }
body.single-product .elementor-2103 .pp-product-inquiry { width: 100%; }
body.single-product .elementor-2103 .pp-product-inquiry-note { margin: 0 0 15px; font-size: 13px; line-height: 1.9; color: #858d96; }
body.single-product .elementor-2103 .pp-product-availability { display: flex; align-items: center; gap: 14px; padding: 16px; margin: 0 0 22px; border-radius: 8px; background: #dff1d8; color: #42b239; font-size: 14px; }
body.single-product .elementor-2103 .pp-product-availability > svg { width: 30px; height: 30px; flex: 0 0 30px; }
body.single-product .elementor-2103 .pp-product-availability strong { font-weight: 600; }
body.single-product .elementor-2103 .pp-product-availability p { margin: 4px 0 0; font-size: 12px; line-height: 1.8; color: #454951; }
body.single-product .elementor-2103 .pp-product-availability p a { color: inherit; }
body.single-product .elementor-2103 .pp-product-availability--outofstock { background: #fce7e9; color: #bc4550; }
body.single-product .elementor-2103 .pp-product-availability--onbackorder { background: #fff3d9; color: #a87515; }
body.single-product .elementor-2103 .pp-product-featured { display: inline-flex; gap: 6px; align-items: center; color: #f37726; border: 1px solid #f37726; border-radius: 22px; padding: 6px 12px; margin-top: 18px; font-size: 12px; }
body.single-product .elementor-2103 .pp-product-brands { display: flex; gap: 8px; flex-wrap: wrap; align-items: center; margin-top: 24px; font-size: 14px; color: #929ba5; }
body.single-product .elementor-2103 .pp-product-brands a { padding: 4px 12px; border-radius: 16px; background: #f5f5f5; color: #454951; }
body.single-product .elementor-2103 .pp-product-actions { display: flex; flex-wrap: wrap; gap: 15px 24px; padding: 22px 0; border-bottom: 1px solid #eceef0; align-items: center; }
body.single-product .elementor-2103 .pp-product-actions a { color: #454951; font-size: 13px; font-weight: 500; }
body.single-product .elementor-2103 .pp-product-question { display: inline-flex; align-items: center; gap: 8px; }
body.single-product .elementor-2103 .pp-product-question span { width: 21px; height: 21px; display: grid; place-items: center; border: 1px solid currentColor; border-radius: 50%; font-family: sans-serif; }
body.single-product .elementor-2103 .pp-product-jumps { display: flex; gap: 10px 18px; flex-wrap: wrap; padding-top: 18px; }
body.single-product .elementor-2103 .pp-product-jumps a { color: #858d96; font-size: 12px; text-underline-offset: 4px; }
body.single-product .elementor-2103 .pp-product-jumps a:hover,
body.single-product .elementor-2103 .pp-product-actions a:hover { color: var(--pp-product-red); }
body.single-product .elementor-2103 a:focus-visible,
body.single-product .elementor-2103 button:focus-visible { outline: 2px solid var(--pp-product-red); outline-offset: 4px; }
body.single-product .elementor-2103 .pp-technical-attributes,
body.single-product .elementor-2103 .ocm-specifications { border: 0 !important; border-radius: 12px !important; box-shadow: 0 2px 4px #00000012 !important; background: #fff; }
body.single-product .elementor-2103 .pp-technical-attributes__title { font-size: 21px !important; font-weight: 500 !important; color: var(--pp-product-ink) !important; }
body.single-product .elementor-2103 .pp-technical-attributes__item { padding: 13px 0 !important; border-bottom: 1px solid #eff0f2 !important; }
body.single-product .elementor-2103 .elementor-element-b7f9823 { order: 3; width: 100% !important; padding: 0 !important; }
body.single-product .elementor-2103 .ocm-specifications { padding: 30px; margin: 0; }
body.single-product .elementor-2103 .pp-product-empty { padding: 30px; border-radius: 12px; background: #fff; box-shadow: 0 2px 4px #00000012; }
body.single-product .elementor-2103 .pp-product-empty h2 { font-size: 21px; font-weight: 500; }
body.single-product .elementor-2103 .pp-product-empty p { font-size: 14px; color: #858d96; margin-bottom: 0; }
body.single-product .elementor-2103 .ocm-specifications__eyebrow { display: none; }
body.single-product .elementor-2103 .productlayout > .relatesproducts > .e-con-inner { width: 100% !important; max-width: 100% !important; display: flex !important; flex-direction: column !important; padding: 0 !important; }
body.single-product .elementor-2103 .elementor-element-4e44686 { display: none !important; }
body.single-product .elementor-2103 .elementor-element-5c0a49b { display: none !important; }
body.single-product .elementor-2103 .elementor-element-ddb24a1 { width: 100% !important; max-width: 100% !important; padding: 0 !important; gap: 24px !important; }
body.single-product .elementor-2103 .elementor-element-5c0a49b { order: 1; }
body.single-product .elementor-2103 .elementor-element-cfc2171 { order: 2; }
body.single-product .elementor-2103 .pp-product-companions { background: #fff; border-radius: 8px; box-shadow: 0 2px 3px #00000020; padding: 20px; }
body.single-product .elementor-2103 .pp-product-companions h2 { color: #8898a4; font-size: 18px; font-weight: 500; margin: 0 0 12px; line-height: 1.6; }
body.single-product .elementor-2103 .pp-companion { display: grid; grid-template-columns: 78px minmax(0, 1fr); gap: 14px; align-items: center; padding: 14px 0; border-bottom: 1px solid #e0e4e7; }
body.single-product .elementor-2103 .pp-companion:last-child { border-bottom: 0; padding-bottom: 4px; }
body.single-product .elementor-2103 .pp-companion-image img { width: 78px; height: 88px; object-fit: contain; }
body.single-product .elementor-2103 .pp-companion-details { min-width: 0; }
body.single-product .elementor-2103 .pp-companion h3 { font-size: 13px; line-height: 1.8; font-weight: 400; margin: 0 0 4px; }
body.single-product .elementor-2103 .pp-companion h3 a { color: #303238; display: -webkit-box; -webkit-line-clamp: 1; -webkit-box-orient: vertical; overflow: hidden; }
body.single-product .elementor-2103 .pp-companion-sku { color: #8b9dad; font-size: 11px; line-height: 1.8; margin: 0 0 3px; }
body.single-product .elementor-2103 .pp-companion-stock { display: flex; gap: 6px; align-items: center; color: #43b637; font-size: 11px; margin: 0 0 4px; }
body.single-product .elementor-2103 .pp-companion-stock > span { width: 15px; height: 15px; border: 1px solid currentColor; border-radius: 50%; display: grid; place-items: center; font-size: 9px; flex: 0 0 15px; }
body.single-product .elementor-2103 .pp-companion-stock--outofstock { color: #bc4550; }
body.single-product .elementor-2103 .pp-companion-stock--onbackorder { color: #a87515; }
body.single-product .elementor-2103 .pp-companion-price { font-size: 17px; color: #303238; }
body.single-product .elementor-2103 .pp-companion-price .woocommerce-Price-currencySymbol { font-size: 11px; margin-inline-start: 4px; }
body.single-product .elementor-2103 .pp-companion-inquiry { display: inline-block; font-size: 12px; line-height: 1.4; color: #303238; }
body.single-product .elementor-2103 .pp-companion-inquiry:hover { color: var(--pp-product-red); }
body.single-product .elementor-2103 .pp-product-help { display: flex; align-items: center; gap: 15px; padding: 10px 16px; background: transparent; box-shadow: none; }
body.single-product .elementor-2103 .pp-product-help { margin-top: 24px; }
body.single-product .elementor-2103 .pp-product-help > div { flex: 1; min-width: 0; }
body.single-product .elementor-2103 .pp-product-help > svg { width: 42px; height: 42px; flex: 0 0 42px; }
body.single-product .elementor-2103 .pp-product-help strong { font-size: 14px; color: var(--pp-product-ink); }
body.single-product .elementor-2103 .pp-product-help p { margin: 0 0 5px; font-size: 11px; line-height: 1.8; color: #606771; }
body.single-product .elementor-2103 .pp-product-help-phone { display: block; color: var(--pp-product-red); font-weight: 700; font-size: 23px; margin: 7px 0; text-align: right; }
body.single-product .elementor-2103 .pp-product-help-inquiry { color: #606771; font-size: 11px; text-decoration: underline; text-underline-offset: 3px; }
body.single-product .elementor-2103 .pp-single-image-thumbs { display: flex; justify-content: center; margin-top: 20px; }
body.single-product .elementor-2103 .pp-single-image-thumb { padding: 4px; background: #fff; border: 1px solid var(--pp-product-red); border-radius: 3px; width: 76px; height: 76px; }
body.single-product .elementor-2103 .pp-single-image-thumb img { width: 100%; height: 100%; object-fit: contain; }
body.single-product .elementor-2103 .wd-gallery-thumb:has(.wd-carousel-wrap:empty) { display: none; }
body.single-product .elementor-2103 .wd-gallery-thumb .wd-carousel-item { border: 1px solid transparent; border-radius: 3px; }
body.single-product .elementor-2103 .wd-gallery-thumb .wd-carousel-item.wd-active { border-color: var(--pp-product-red); }
#pp-product-technical, #pp-product-related, #pp-product-compatibility { scroll-margin-top: 125px; }
@media (min-width: 1200px) {
    body.single-product .elementor-2103 .productgallery,
    body.single-product .elementor-2103 .productsummary { min-height: 680px; }
}
@media (max-width: 1199px) {
    body.single-product .elementor-2103 .productlayout { grid-template-columns: minmax(0, 1fr); }
    body.single-product .elementor-2103 .productlayout > .relatesproducts { grid-column: 1; grid-row: 2; }
    body.single-product .elementor-2103 .pp-product-companions { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 0 24px; }
    body.single-product .elementor-2103 .pp-product-companions h2 { grid-column: 1 / -1; }
}
@media (max-width: 1024px) {
    body.single-product .elementor-2103 .productgallery,
    body.single-product .elementor-2103 .productsummary { padding: 24px !important; }
    body.single-product .elementor-2103 .productsummary .product_title { font-size: 22px !important; }
    body.single-product .elementor-2103 .productgallery .woocommerce-product-gallery__image img { height: 360px; }
}
@media (max-width: 767px) {
    body.single-product .elementor-2103 .productlayout > .productmain > .productmain { grid-template-columns: minmax(0, 1fr); gap: 16px !important; }
    body.single-product .elementor-2103 .productlayout,
    body.single-product .elementor-2103 .productlayout > .productmain { gap: 16px !important; }
    body.single-product .elementor-2103 .productgallery,
    body.single-product .elementor-2103 .productsummary { padding: 20px !important; }
    body.single-product .elementor-2103 .productgallery .woocommerce-product-gallery__image img { height: 290px; }
    body.single-product .elementor-2103 .productsummary .product_title { font-size: 20px !important; }
    body.single-product .elementor-2103 .productsummary .price { font-size: 26px; }
    body.single-product .elementor-2103 .pp-product-help,
    body.single-product .elementor-2103 .ocm-specifications,
    body.single-product .elementor-2103 .pp-product-empty { padding: 22px 18px; }
    body.single-product .elementor-2103 .pp-product-help strong { font-size: 16px; line-height: 1.9; }
    body.single-product .elementor-2103 .pp-product-companions { display: block; padding: 22px 18px; }
    body.single-product .elementor-2103 .pp-product-help { padding: 12px 16px; }
    #pp-product-technical, #pp-product-related, #pp-product-compatibility { scroll-margin-top: 90px; }
}

/* Persian compatibility headings stay RTL; technical values keep their original direction. */
body.single-product .ocm-specifications.ocm-compatibility .ocm-panel__header { direction: rtl; }
body.single-product .ocm-specifications.ocm-compatibility .ocm-panel__header h3 { direction: rtl; text-align: right; }

/* Keep product section headings compact and lighter than action labels. */
body.single-product .elementor-2103 .ocm-specifications.ocm-compatibility .ocm-specifications__head h2 { font-size: 21px; font-weight: 500; }
body.single-product .elementor-2103 .ocm-specifications.ocm-compatibility .ocm-panel__header h3 { font-size: 18px; font-weight: 500; }
@media (max-width: 767px) {
    body.single-product .elementor-2103 .pp-technical-attributes__title,
    body.single-product .elementor-2103 .pp-product-empty h2,
    body.single-product .elementor-2103 .ocm-specifications.ocm-compatibility .ocm-specifications__head h2 { font-size: 19px !important; }
    body.single-product .elementor-2103 .ocm-specifications.ocm-compatibility .ocm-panel__header h3 { font-size: 17px; }
}
