/* ==========================================================================
   ۱. استایل‌های پایه و عمومی
   ========================================================================== */
.hide-scrollbar::-webkit-scrollbar { display: none; }
.hide-scrollbar { -ms-overflow-style: none; scrollbar-width: none; }
html { scroll-behavior: smooth; }
body { background-color: #F5F0E6; color: #001052; }
.stitch { background-image: repeating-linear-gradient(90deg, rgba(0,16,82,.18) 0 10px, transparent 10px 20px); height: 1px; }
a:focus-visible, button:focus-visible { outline: 2px solid #FF6D2C; outline-offset: 3px; border-radius: 6px; }
#stickyBar { transform: translateY(-110%); transition: transform .35s ease; }
#stickyBar.show { transform: translateY(0); }
.carousel-track { direction: ltr; }
.gallery-arrow { opacity: 0; }
.product-card:hover .gallery-arrow { opacity: 1; }

@media (prefers-reduced-motion: reduce) {
    * { animation-duration: .001ms !important; animation-iteration-count: 1 !important; transition-duration: .001ms !important; scroll-behavior: auto !important; }
}

/* ==========================================================================
   ۲. استایل قیمت‌های ووکامرس (عمومی و زیرهم)
   ========================================================================== */
.price-display del { color: #a1a1aa !important; font-size: 0.65rem !important; text-decoration: line-through !important; margin-left: 0.3rem; font-weight: 500 !important; display: inline-block; }
.price-display ins { text-decoration: none !important; display: inline-block; }
.price-display ins .amount, .price-display > .amount { color: #FF6D2C !important; font-size: 0.85rem !important; font-weight: 900 !important; }
@media (min-width: 768px) {
    .price-display del { font-size: 0.75rem !important; margin-left: 0.5rem; }
    .price-display ins .amount, .price-display > .amount { font-size: 1rem !important; }
}
.price-display-stacked { display: flex; flex-direction: column; align-items: flex-end; gap: 0.2rem; line-height: 1.2; width: 100%; }
.price-display-stacked del { margin-left: 0 !important; text-decoration: none !important; }
.price-display-stacked del .amount { color: #a1a1aa !important; font-size: 0.75rem !important; text-decoration: line-through !important; font-weight: 500 !important; }
.price-display-stacked ins { text-decoration: none !important; }
.price-display-stacked ins .amount, .price-display-stacked .price > .amount, .price-display-stacked > .amount { color: #FF6D2C !important; font-size: 1.2rem !important; font-weight: 900 !important; }

/* ==========================================================================
   ۳. صفحه محصول تکی (فرم خرید، متغیرها و شمارنده)
   ========================================================================== */
.single-product-form .variations { width: 100%; margin-bottom: 1.5rem; }
.single-product-form .variations th { text-align: right; padding-bottom: 0.5rem; font-size: 0.85rem; color: #001052; opacity: 0.7; font-weight: bold; width: 60px; vertical-align: middle; }
.single-product-form .variations td { padding-bottom: 0.5rem; }
.single-product-form .variations select { width: 100%; background-color: #fff; border: 1px solid rgba(0,16,82,0.15); border-radius: 0.75rem; padding: 0.75rem 1rem; font-size: 0.85rem; font-weight: 700; color: #001052; outline: none; appearance: none; background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' fill='none' viewBox='0 0 24 24' stroke='%23001052'%3E%3Cpath stroke-linecap='round' stroke-linejoin='round' stroke-width='2' d='M19 9l-7 7-7-7'%3E%3C/path%3E%3C/svg%3E"); background-repeat: no-repeat; background-position: left 1rem center; background-size: 1rem; }
.single-product-form .variations select:focus { border-color: #FF6D2C; }
.single-product-form .reset_variations { display: inline-flex !important; font-size: 0.75rem; color: #ef4444; margin-top: 0.5rem; text-decoration: none; font-weight: bold; transition: all 0.3s; padding: 0.35rem 0.75rem; background: #fef2f2; border-radius: 0.5rem; border: 1px solid #fca5a5; }
.single-product-form .reset_variations:hover { background: #ef4444; color: #fff; }
.single-product-form .woocommerce-variation-price { margin-bottom: 1rem; padding-top: 1rem; border-top: 1px dashed rgba(0,16,82,0.1); }
.single-product-form .woocommerce-variation-add-to-cart, .single-product-form form.cart { display: flex; flex-wrap: wrap; gap: 1rem; align-items: center; }
.single-product-form .quantity-wrapper { display: flex; align-items: center; background: #fff; border: 1px solid rgba(0,16,82,0.15); border-radius: 0.75rem; overflow: hidden; width: 130px; height: 48px; }
.single-product-form .qty-btn { width: 40px; height: 100%; display: flex; align-items: center; justify-content: center; background: #f8f8f8; color: #001052; font-size: 1.2rem; cursor: pointer; transition: all 0.2s; }
.single-product-form .qty-btn:hover { background: #e5e5e5; color: #FF6D2C; }
.single-product-form .quantity { flex: 1; height: 100%; display: flex; }
.single-product-form .quantity input { width: 100%; height: 100%; text-align: center; border: none; font-size: 1rem; font-weight: 900; color: #001052; background: transparent; outline: none; -moz-appearance: textfield; padding: 0; }
.single-product-form .quantity input::-webkit-outer-spin-button, .single-product-form .quantity input::-webkit-inner-spin-button { -webkit-appearance: none; margin: 0; }
.single-product-form .single_add_to_cart_button { flex: 1; min-width: 150px; background-color: #FF6D2C; color: #fff; border-radius: 0.75rem; height: 48px; display: flex; align-items: center; justify-content: center; font-size: 0.95rem; font-weight: bold; border: none; cursor: pointer; transition: all 0.3s; box-shadow: 0 4px 15px rgba(255, 109, 44, 0.3); padding: 0 1.5rem; }
.single-product-form .single_add_to_cart_button:hover { background-color: #001052; box-shadow: 0 4px 15px rgba(0, 16, 82, 0.2); color: #fff; }
.single-product-form .single_add_to_cart_button.disabled { opacity: 0.5; cursor: not-allowed; pointer-events: none; }

/* ==========================================================================
   ۴. سیستم نظرات (کامنت‌ها و ستاره‌ها)
   ========================================================================== */
#reviews .commentlist { list-style: none; padding: 0; margin: 0; }
#reviews .commentlist li { margin-bottom: 1.5rem; border-bottom: 1px solid rgba(0,16,82,0.05); padding-bottom: 1.5rem; display: block; clear: both; }
#reviews .commentlist img.avatar { border-radius: 50%; float: right; margin-left: 1rem; width: 48px; height: 48px; }
#reviews .comment-text { margin-right: 64px; }
#reviews .star-rating { float: left; color: #FF6D2C; font-size: 0.85rem; letter-spacing: 2px; }
#reviews .comment-form-rating select { display: none; }
#reviews .comment-form-comment textarea { width: 100%; border: 1px solid rgba(0,16,82,0.15); border-radius: 0.75rem; padding: 1rem; outline: none; margin-top: 0.5rem; font-family: inherit; }
#reviews .comment-form-comment textarea:focus { border-color: #FF6D2C; }
#reviews .form-submit .submit { background-color: #001052; color: #fff; border-radius: 0.75rem; padding: 0.75rem 2rem; font-weight: bold; cursor: pointer; transition: all 0.3s; border: none; margin-top: 1rem; }
#reviews .form-submit .submit:hover { background-color: #FF6D2C; }
#reviews .comment-form-rating label { display: block; margin-bottom: 0.5rem; font-weight: bold; color: #001052; }
#reviews .stars { cursor: pointer; display: inline-block; margin-bottom: 0.5rem; }
#reviews .stars span { display: flex; align-items: center; }
#reviews .stars a { position: relative; display: block; width: 24px; height: 24px; color: transparent !important; border: none !important; margin: 0 !important; padding: 0 !important; overflow: hidden; text-decoration: none; }
#reviews .stars a::before { content: "☆"; position: absolute; inset: 0; color: #FF6D2C; font-size: 1.5rem; display: flex; align-items: center; justify-content: center; transition: all 0.2s; }
#reviews .stars:hover a::before { content: "★"; }
#reviews .stars a:hover ~ a::before { content: "☆"; }
#reviews .stars.selected a:not(.active)::before { content: "★"; }
#reviews .stars.selected a.active::before { content: "★"; }
#reviews .stars.selected a.active ~ a::before { content: "☆"; }

/* ==========================================================================
   ۵. مینی‌کارت هدر (سبد خرید کشویی)
   ========================================================================== */
.satio-mini-cart-wrapper .widget_shopping_cart_content { font-size: 0.85rem; }
.satio-mini-cart-wrapper .cart_list { list-style: none; padding: 0; margin: 0; max-height: 320px; overflow-y: auto; padding-left: 0.5rem; }
.satio-mini-cart-wrapper .cart_list li { position: relative; display: flex; flex-wrap: wrap; align-items: flex-start; padding: 0 0 1rem 0; margin: 0 0 1rem 0; border-bottom: 1px dashed rgba(0,16,82,0.1); padding-left: 2.2rem; }
.satio-mini-cart-wrapper .cart_list li a.remove { position: absolute; left: 0; top: 0.75rem; width: 22px; height: 22px; border-radius: 50%; background: #fef2f2; color: #ef4444 !important; display: flex; align-items: center; justify-content: center; text-decoration: none; font-size: 1.1rem; line-height: 1; transition: all 0.3s; z-index: 10; }
.satio-mini-cart-wrapper .cart_list li a.remove:hover { background: #ef4444; color: #fff !important; }
.satio-mini-cart-wrapper .cart_list li > a:not(.remove) { display: flex; align-items: center; gap: 0.75rem; width: 100%; color: #001052; font-weight: 900; font-size: 0.85rem; text-decoration: none; line-height: 1.4; margin-bottom: 0.3rem; }
.satio-mini-cart-wrapper .cart_list li > a:not(.remove) img { width: 56px !important; height: 56px !important; border-radius: 0.5rem; object-fit: cover; box-shadow: 0 2px 8px rgba(0,16,82,0.05); margin: 0 !important; float: none !important; flex-shrink: 0; border: 1px solid rgba(0,16,82,0.05); }
.satio-mini-cart-wrapper .cart_list li dl.variation { width: 100%; padding-right: 4.25rem; margin: 0 0 0.5rem 0 !important; display: flex; flex-wrap: wrap; gap: 0.2rem 0.5rem; font-size: 0.7rem; color: #001052; opacity: 0.6; }
.satio-mini-cart-wrapper .cart_list li dl.variation dt { font-weight: bold; margin: 0; display: inline-block; }
.satio-mini-cart-wrapper .cart_list li dl.variation dd { margin: 0; display: inline-block; }
.satio-mini-cart-wrapper .cart_list li dl.variation p { margin: 0; display: inline; }
.satio-mini-cart-wrapper .cart_list li .quantity { width: 100%; padding-right: 4.25rem; display: flex; justify-content: flex-end; align-items: center; color: #FF6D2C; font-weight: 900; font-size: 0.85rem; direction: ltr; }
.satio-mini-cart-wrapper .cart_list li .quantity .amount { color: #FF6D2C !important; }
.satio-mini-cart-wrapper .total { display: flex; justify-content: space-between; align-items: center; border-top: 1px dashed rgba(0,16,82,0.1); padding-top: 1rem; margin-top: 0.5rem; font-weight: 900; color: #FF6D2C; font-size: 1rem; }
.satio-mini-cart-wrapper .total strong { font-weight: bold; font-size: 0.85rem; color: #001052; opacity: 0.8; }
.satio-mini-cart-wrapper .buttons { display: flex; gap: 0.5rem; margin-top: 1rem; }
.satio-mini-cart-wrapper .buttons a { flex: 1; text-align: center; padding: 0.6rem; border-radius: 0.5rem; font-weight: bold; font-size: 0.8rem; transition: all 0.3s; text-decoration: none; display: block; }
.satio-mini-cart-wrapper .buttons .wc-forward:not(.checkout) { background: #f5f0e6; color: #001052; }
.satio-mini-cart-wrapper .buttons .wc-forward:not(.checkout):hover { background: #e5dccc; }
.satio-mini-cart-wrapper .buttons .checkout { background: #FF6D2C; color: #fff; box-shadow: 0 4px 10px rgba(255, 109, 44, 0.2); }
.satio-mini-cart-wrapper .buttons .checkout:hover { background: #001052; box-shadow: none; color: #fff; }
.satio-mini-cart-wrapper .woocommerce-mini-cart__empty-message { text-align: center; padding: 2rem 0; color: #001052; opacity: 0.5; font-weight: bold; font-size: 0.85rem; }

/* ==========================================================================
   ۶. استایل پاپ‌آپ (Toast) افزودن به سبد خرید
   ========================================================================== */
.satio-toast { min-width: 280px; padding: 1rem 1.5rem; border-radius: 1rem; background: #fff; box-shadow: 0 10px 30px rgba(0,16,82,0.1); border-right: 4px solid #22c55e; display: flex; align-items: center; gap: 1rem; transform: translateX(150%); transition: transform 0.5s cubic-bezier(0.68, -0.55, 0.265, 1.55); direction: rtl; }
.satio-toast.show { transform: translateX(0); }
.satio-toast .toast-icon { width: 24px; height: 24px; color: #22c55e; flex-shrink: 0; }
.satio-toast .toast-text { font-size: 0.85rem; font-weight: bold; color: #001052; line-height: 1.6; }

/* ==========================================================================
   ۷. صفحه سبد خرید اصلی (Cart Page)
   ========================================================================== */
body.woocommerce-cart .woocommerce { display: flex; flex-wrap: wrap; gap: 2rem; align-items: flex-start; }
body.woocommerce-cart .woocommerce-cart-form { flex: 1 1 60%; background: #fff; padding: 2rem; border-radius: 1.5rem; border: 1px solid rgba(0,16,82,0.05); box-shadow: 0 4px 20px rgba(0,0,0,0.02); }
body.woocommerce-cart .cart-collaterals { flex: 1 1 30%; background: #F8F8F8; padding: 2rem; border-radius: 1.5rem; border: 1px solid rgba(0,16,82,0.05); }
body.woocommerce-cart .shop_table { border: none; width: 100%; border-collapse: collapse; }
body.woocommerce-cart .shop_table th { padding: 1rem; border-bottom: 2px solid rgba(0,16,82,0.05); text-align: right; color: #001052; font-size: 0.9rem; }
body.woocommerce-cart .shop_table td { padding: 1.5rem 1rem; border-bottom: 1px solid rgba(0,16,82,0.05); vertical-align: middle; }
body.woocommerce-cart .product-thumbnail img { width: 80px; height: 80px; object-fit: cover; border-radius: 1rem; }
body.woocommerce-cart .product-name a { color: #001052; font-weight: 900; transition: color 0.3s; font-size: 0.95rem; text-decoration: none; }
body.woocommerce-cart .product-name a:hover { color: #FF6D2C; }
body.woocommerce-cart .product-remove a { color: #ef4444; font-size: 1.5rem; text-decoration: none; display: flex; align-items: center; justify-content: center; width: 32px; height: 32px; border-radius: 50%; background: #fef2f2; transition: all 0.3s; }
body.woocommerce-cart .product-remove a:hover { background: #ef4444; color: #fff; }
body.woocommerce-cart .quantity input.qty { width: 50px; height: 40px; text-align: center; border: 1px solid rgba(0,16,82,0.15); border-radius: 0.5rem; font-weight: bold; color: #001052; }
body.woocommerce-cart .cart_totals h2 { font-size: 1.25rem; font-weight: 900; color: #001052; border-bottom: 2px solid rgba(0,16,82,0.05); padding-bottom: 1rem; margin-bottom: 1.5rem; }
body.woocommerce-cart .cart_totals table { width: 100%; }
body.woocommerce-cart .cart_totals th, body.woocommerce-cart .cart_totals td { padding: 1rem 0; border-bottom: 1px dashed rgba(0,16,82,0.1); text-align: right; font-size: 0.9rem; }
body.woocommerce-cart .checkout-button { display: block; width: 100%; text-align: center; background: #FF6D2C; color: #fff; padding: 1.25rem; border-radius: 1rem; font-weight: bold; font-size: 1rem; margin-top: 1.5rem; transition: all 0.3s; box-shadow: 0 4px 15px rgba(255,109,44,0.3); text-decoration: none; }
body.woocommerce-cart .checkout-button:hover { background: #001052; box-shadow: 0 4px 15px rgba(0,16,82,0.2); }
body.woocommerce-cart .actions { padding-top: 1.5rem; display: flex; justify-content: space-between; align-items: center; flex-wrap: wrap; gap: 1rem; }
body.woocommerce-cart .actions .coupon { display: flex; gap: 0.5rem; }
body.woocommerce-cart .actions .coupon input { border: 1px solid rgba(0,16,82,0.15); border-radius: 0.75rem; padding: 0.75rem 1rem; outline: none; }
body.woocommerce-cart .actions .button { background: #001052; color: #fff; border-radius: 0.75rem; padding: 0.75rem 1.5rem; font-weight: bold; transition: all 0.3s; border: none; cursor: pointer; }
body.woocommerce-cart .actions .button:hover { background: #FF6D2C; }
@media(max-width: 1024px) {
    body.woocommerce-cart .woocommerce { flex-direction: column; }
    body.woocommerce-cart .woocommerce-cart-form, body.woocommerce-cart .cart-collaterals { flex: 1 1 100%; width: 100%; }
}

/* ==========================================================================
   ۸. برادکرامب، فیلترها و صفحه‌بندی (آرشیو)
   ========================================================================== */
.satio-breadcrumb { display: flex; justify-content: flex-start; text-align: right; width: 100%; direction: rtl; }
.satio-breadcrumb nav { display: flex; flex-wrap: wrap; align-items: center; gap: 0.5rem; font-size: 0.75rem; font-weight: 500; color: rgba(0,16,82,0.5); }
.satio-breadcrumb a { color: rgba(0,16,82,0.5); transition: color 0.3s; }
.satio-breadcrumb a:hover { color: #FF6D2C; }
.satio-breadcrumb span.breadcrumb-current { color: #001052; font-weight: 900; }
.filter-select { background-color: #fff; border: 1px solid rgba(0,16,82,0.15); border-radius: 0.5rem; padding: 0.5rem 1rem 0.5rem 2.5rem; font-size: 0.75rem; font-weight: 700; color: #001052; outline: none; appearance: none; cursor: pointer; transition: all 0.3s; background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' fill='none' viewBox='0 0 24 24' stroke='%23001052'%3E%3Cpath stroke-linecap='round' stroke-linejoin='round' stroke-width='2' d='M19 9l-7 7-7-7'%3E%3C/path%3E%3C/svg%3E"); background-repeat: no-repeat; background-position: left 0.5rem center; background-size: 1rem; width: 100%; height: 42px; }
@media (min-width: 1024px) { .filter-select { width: auto; min-width: 110px; height: 38px; } }
.filter-select:hover { border-color: #FF6D2C; }
.satiomaro-pagination ul { display: flex; justify-content: center; gap: 0.5rem; list-style: none; padding: 0; margin: 0; }
.satiomaro-pagination a, .satiomaro-pagination span { display: flex; align-items: center; justify-content: center; min-width: 2.5rem; height: 2.5rem; border-radius: 0.5rem; border: 1px solid rgba(0,16,82,0.15); font-size: 0.875rem; font-weight: bold; color: #001052; transition: all 0.3s; background: white; padding: 0 0.5rem; }
.satiomaro-pagination span.current { background-color: #FF6D2C; border-color: #FF6D2C; color: white; }
.satiomaro-pagination a:hover { border-color: #FF6D2C; color: #FF6D2C; }
input[type=number]::-webkit-inner-spin-button, input[type=number]::-webkit-outer-spin-button { -webkit-appearance: none; margin: 0; }
input[type=number] { -moz-appearance: textfield; }