/**
 * هیمونا — استایل صفحات ووکامرس
 * (فروشگاه، صفحه محصول، سبد خرید، پرداخت، حساب کاربری)
 *
 * نکته: استایل‌های ساختاری پیش‌فرض ووکامرس (layout و smallscreen)
 * از PHP حذف شده‌اند و کل چیدمان اینجا با گرید اختصاصی کنترل می‌شود.
 */

/* =====================================================
   ۰) قاب کلی صفحات ووکامرس — کانتینر وسط‌چین (حداکثر ۱۳۲۰px)
   ===================================================== */
.hm-wc-wrap {
        padding-block: 20px 40px;
}

.hm-wc-wrap #primary.content-area {
        float: none;
        width: 100%;
}

/* =====================================================
   ۱) صفحه فروشگاه و آرشیو محصولات
   ===================================================== */
.woocommerce ul.products {
        display: grid;
        grid-template-columns: repeat(auto-fill, minmax(210px, 1fr));
        gap: 10px;
        margin: 0;
        clear: both;
}

.woocommerce ul.products::before,
.woocommerce ul.products::after {
        display: none;
}

.woocommerce ul.products li.product {
        position: relative;
        width: auto !important;
        float: none;
        margin: 0 !important;
        background: var(--hm-surface);
        border: 1px solid var(--hm-border);
        border-radius: var(--hm-radius);
        padding: 12px;
        transition: box-shadow 0.2s ease, transform 0.2s ease;
        display: flex;
        flex-direction: column;
}

.woocommerce ul.products li.product:hover {
        box-shadow: var(--hm-shadow-lg);
        transform: translateY(-2px);
}

.woocommerce ul.products li.product a.woocommerce-LoopProduct-link {
        display: flex;
        flex-direction: column;
        flex: 1;
}

.woocommerce ul.products li.product img {
        width: 100%;
        height: auto;
        object-fit: contain;
        margin: 0 0 10px !important;
        border-radius: var(--hm-radius-sm);
        background: #fafbfc;
}

.woocommerce ul.products li.product .woocommerce-loop-product__title {
        font-size: 13px;
        font-weight: 500;
        line-height: 1.8;
        color: var(--hm-text);
        padding: 0;
        margin-bottom: 8px;
        display: -webkit-box;
        -webkit-line-clamp: 2;
        -webkit-box-orient: vertical;
        overflow: hidden;
        min-height: 47px;
}

.woocommerce ul.products li.product:hover .woocommerce-loop-product__title {
        color: var(--hm-primary);
}

.woocommerce ul.products li.product .price {
        color: var(--hm-text);
        font-size: 14.5px;
        font-weight: 700;
        margin-bottom: 10px;
}

.woocommerce ul.products li.product .price del {
        color: var(--hm-text-3);
        font-size: 11.5px;
        font-weight: 400;
        opacity: 1;
        display: block;
}

.woocommerce ul.products li.product .price ins {
        text-decoration: none;
        font-weight: 700;
}

.woocommerce ul.products li.product .star-rating {
        font-size: 11px;
        margin-bottom: 8px;
}

/* برچسب تخفیف — پیلینگ با فاصله داخلی مناسب از هر طرف */
.woocommerce span.onsale {
        position: absolute;
        top: 10px;
        inset-inline-end: 10px;
        z-index: 2;
        min-width: 0;
        min-height: 0;
        line-height: 1.5;
        padding: 4px 11px;
        background: var(--hm-deal);
        border-radius: 20px;
        font-size: 11px;
        font-weight: 700;
        color: #fff;
        margin: 0;
        white-space: nowrap;
}

/* صفحه محصول: کارت محصول مرجع موقعیت برچسب می‌شود
   (قبلاً هیچ والد positioned ای وجود نداشت و برچسب به گوشه صفحه می‌چسبید)
   + برچسب داخل ناحیه گالری (ستون اول گرید) روی گوشه تصویر قرار می‌گیرد */
.woocommerce div.product > span.onsale {
        grid-column: 1 / 2;
        grid-row: 1 / 2;
        top: 10px;
        inset-inline-start: 10px;
        inset-inline-end: auto;
}

/* نوار شمارش + مرتب‌سازی */
.woocommerce .woocommerce-notices-wrapper + .woocommerce-notices-wrapper,
.woocommerce > .woocommerce-result-count {
        margin-top: 14px;
}

.woocommerce .woocommerce-result-count {
        font-size: 12.5px;
        color: var(--hm-text-2);
        margin: 14px 0;
        float: inline-start;
}

.woocommerce .woocommerce-ordering {
        float: inline-end;
        margin: 8px 0;
}

.woocommerce .woocommerce-ordering select {
        height: 42px;
        border: 1px solid var(--hm-border-2);
        border-radius: var(--hm-radius-sm);
        padding-inline: 12px;
        background: var(--hm-surface);
        font-size: 12.5px;
        color: var(--hm-text);
}

/* صفحه‌بندی فروشگاه */
.woocommerce nav.woocommerce-pagination {
        clear: both;
        text-align: center;
        margin: 30px 0 10px;
}

.woocommerce nav.woocommerce-pagination ul {
        border: 0;
        display: inline-flex;
        gap: 6px;
}

.woocommerce nav.woocommerce-pagination ul li {
        border: 0;
        margin: 0;
}

.woocommerce nav.woocommerce-pagination ul li a,
.woocommerce nav.woocommerce-pagination ul li span {
        display: inline-flex;
        align-items: center;
        justify-content: center;
        min-width: 40px;
        height: 40px;
        padding: 0 12px;
        border-radius: var(--hm-radius-sm);
        border: 1px solid var(--hm-border);
        background: var(--hm-surface);
        color: var(--hm-text-2);
        font-size: 13px;
        font-weight: 500;
}

.woocommerce nav.woocommerce-pagination ul li span.current {
        background: var(--hm-primary);
        border-color: var(--hm-primary);
        color: #fff;
}

.woocommerce nav.woocommerce-pagination ul li a:hover {
        border-color: var(--hm-primary);
        color: var(--hm-primary);
}

/* بردکرامب */
.woocommerce-breadcrumb {
        font-size: 11.5px;
        color: var(--hm-text-3);
        margin: 14px 0 20px !important;
}

.woocommerce-breadcrumb a:hover {
        color: var(--hm-primary);
}

/* =====================================================
   ۲) صفحه محصول تکی — چیدمان دو ستونه دیجی‌کالایی
   ===================================================== */
.woocommerce div.product {
        position: relative; /* مرجع موقعیت برچسب تخفیف */
        background: var(--hm-surface);
        border: 1px solid var(--hm-border);
        border-radius: var(--hm-radius);
        padding: 24px;
        display: grid;
        grid-template-columns: minmax(0, 5fr) minmax(0, 7fr);
        gap: 8px 36px;
        align-items: start;
}

/* گالری: ستون اول، چسبان هنگام اسکرول */
.woocommerce div.product > div.images,
.woocommerce div.product > .woocommerce-product-gallery {
        grid-column: 1;
        grid-row: 1;
        width: auto;
        float: none;
        margin: 0;
        position: relative;
}

@media (min-width: 821px) {
        .woocommerce div.product > div.images,
        .woocommerce div.product > .woocommerce-product-gallery {
                position: sticky;
                top: calc(var(--hm-header-h) + 20px);
        }
}

/* خلاصه: ستون دوم */
.woocommerce div.product > .summary {
        grid-column: 2;
        grid-row: 1;
        width: auto;
        float: none;
        margin: 0;
}

/* تب‌ها و محصولات مرتبط: تمام عرض */
.woocommerce div.product > .woocommerce-tabs,
.woocommerce div.product > .related.products,
.woocommerce div.product > .upsells,
.woocommerce div.product > .woocommerce-Reviews,
.woocommerce div.product > div.product_meta {
        grid-column: 1 / -1;
}

/* --- گالری --- */
.woocommerce div.product div.images .woocommerce-product-gallery,
.woocommerce div.product > .woocommerce-product-gallery {
        position: relative;
        width: 100%;
}

.woocommerce div.product div.images .woocommerce-product-gallery__image a {
        display: block;
}

.woocommerce div.product div.images .woocommerce-product-gallery__image img {
        width: 100%;
        height: auto;
        aspect-ratio: 1 / 1;
        object-fit: contain;
        background: #fafbfc;
        border-radius: var(--hm-radius);
        border: 1px solid var(--hm-border);
}

.woocommerce div.product div.images .flex-control-thumbs {
        display: flex;
        flex-wrap: wrap;
        gap: 8px;
        margin: 10px 0 0;
        padding: 0;
        list-style: none;
}

.woocommerce div.product div.images .flex-control-thumbs li {
        width: 64px;
        flex: 0 0 auto;
}

.woocommerce div.product div.images .flex-control-thumbs img {
        width: 64px;
        height: 64px;
        object-fit: cover;
        border-radius: var(--hm-radius-sm);
        border: 2px solid transparent;
        cursor: pointer;
        transition: border-color 0.15s ease;
}

.woocommerce div.product div.images .flex-control-thumbs img.flex-active,
.woocommerce div.product div.images .flex-control-thumbs img:hover {
        border-color: var(--hm-primary);
}

/* دکمه بزرگ‌نمایی گالری */
.woocommerce div.product div.images .woocommerce-product-gallery__trigger {
        position: absolute;
        top: 12px;
        inset-inline-end: 12px;
        z-index: 9;
        width: 38px;
        height: 38px;
        border-radius: 50%;
        background: var(--hm-surface);
        border: 1px solid var(--hm-border);
        color: var(--hm-text-2);
        font-size: 0;
        display: flex;
        align-items: center;
        justify-content: center;
        box-shadow: var(--hm-shadow);
}

/* --- خلاصه محصول --- */
.woocommerce div.product .product_title {
        font-size: 19px;
        font-weight: 800;
        line-height: 1.8;
        margin-bottom: 6px;
}

.woocommerce div.product .woocommerce-product-rating {
        margin-bottom: 14px;
        display: flex;
        align-items: center;
        gap: 10px;
        flex-wrap: wrap;
}

.woocommerce div.product .woocommerce-product-rating .woocommerce-review-link {
        font-size: 12px;
        color: var(--hm-text-3);
}

.woocommerce div.product .woocommerce-product-rating .woocommerce-review-link:hover {
        color: var(--hm-primary);
}

/* کادر مشخصات سریع */
.hm-single-specs {
        display: flex;
        flex-wrap: wrap;
        align-items: center;
        gap: 6px 14px;
        background: var(--hm-bg);
        border: 1px dashed var(--hm-border-2);
        border-radius: var(--hm-radius-sm);
        padding: 12px 16px;
        font-size: 12.5px;
        color: var(--hm-text-2);
        line-height: 2;
        margin-bottom: 16px;
}

.hm-single-specs__title {
        font-weight: 800;
        color: var(--hm-text);
}

.hm-single-specs__item::after {
        content: '•';
        margin-inline-start: 14px;
        color: var(--hm-text-3);
}

.hm-single-specs__item:last-child::after {
        content: '';
        margin: 0;
}

.woocommerce div.product .summary .woocommerce-product-details__short-description {
        font-size: 13px;
        color: var(--hm-text-2);
        line-height: 2.1;
        margin-bottom: 16px;
}

/* کادر قیمت دیجی‌کالایی */
.woocommerce div.product p.price {
        display: flex;
        align-items: center;
        flex-wrap: wrap;
        gap: 4px 12px;
        background: var(--hm-bg);
        border: 1px solid var(--hm-border);
        border-radius: var(--hm-radius-sm);
        padding: 14px 18px;
        font-size: 22px;
        font-weight: 800;
        color: var(--hm-text);
        margin: 0 0 16px;
        direction: ltr;
        justify-content: flex-end;
}

.woocommerce div.product p.price del {
        color: var(--hm-text-3);
        font-size: 14px;
        font-weight: 400;
        opacity: 1;
        order: 2;
}

.woocommerce div.product p.price ins {
        text-decoration: none;
        color: var(--hm-deal);
        order: 1;
}

.woocommerce div.product p.price .woocommerce-Price-currencySymbol {
        font-size: 13px;
        font-weight: 500;
        color: var(--hm-text-2);
}

/* فرم افزودن به سبد */
.woocommerce div.product form.cart {
        display: flex;
        flex-wrap: wrap;
        align-items: stretch;
        gap: 12px;
        border-top: 1px solid var(--hm-border);
        padding-top: 18px;
        margin: 0 0 18px;
}

.woocommerce div.product form.cart div.quantity {
        margin: 0;
        float: none;
        display: flex;
        align-items: center;
}

.woocommerce div.product form.cart div.quantity .qty {
        height: 48px;
        border: 1px solid var(--hm-border-2);
        border-radius: var(--hm-radius-sm);
        padding-inline: 8px;
        width: 72px;
        text-align: center;
        font-size: 14px;
        -moz-appearance: textfield;
}

.woocommerce div.product form.cart div.quantity .qty::-webkit-inner-spin-button,
.woocommerce div.product form.cart div.quantity .qty::-webkit-outer-spin-button {
        -webkit-appearance: none;
        margin: 0;
}

.woocommerce div.product form.cart .button,
.woocommerce div.product form.cart .single_add_to_cart_button {
        flex: 1;
        min-width: 170px;
        height: 48px;
        background: var(--hm-primary) !important;
        color: #fff !important;
        border: 0 !important;
        border-radius: var(--hm-radius-sm) !important;
        font-size: 15px;
        font-weight: 700;
        margin: 0 !important;
        cursor: pointer;
        transition: background 0.15s ease;
}

.woocommerce div.product form.cart .button:hover,
.woocommerce div.product form.cart .single_add_to_cart_button:hover {
        background: var(--hm-primary-dark) !important;
        color: #fff !important;
}

/* محصولات متغیر (رنگ/سایز) */
.woocommerce div.product form.cart .variations {
        width: 100%;
        border: 0;
        margin-bottom: 16px;
}

.woocommerce div.product form.cart .variations td,
.woocommerce div.product form.cart .variations th {
        border: 0;
        padding: 6px 0;
        vertical-align: middle;
        font-size: 13px;
        background: transparent;
}

.woocommerce div.product form.cart .variations label {
        font-weight: 700;
        color: var(--hm-text-2);
}

.woocommerce div.product form.cart .variations select {
        height: 44px;
        border: 1px solid var(--hm-border-2);
        border-radius: var(--hm-radius-sm);
        padding-inline: 12px;
        background: var(--hm-surface);
        font-size: 13px;
        color: var(--hm-text);
}

.woocommerce div.product form.cart .reset_variations {
        font-size: 12px;
        color: var(--hm-text-3);
        text-decoration: none;
}

.woocommerce div.product form.cart .reset_variations:hover {
        color: var(--hm-primary);
}

/* جعبه فروشنده و خدمات */
.hm-seller-box {
        background: var(--hm-primary-soft);
        border: 1px solid var(--hm-border);
        border-radius: var(--hm-radius-sm);
        padding: 4px 16px;
        margin-bottom: 8px;
}

.hm-seller-box__row {
        display: flex;
        align-items: center;
        gap: 10px;
        padding: 10px 0;
        font-size: 12.5px;
        color: var(--hm-text-2);
}

.hm-seller-box__row + .hm-seller-box__row {
        border-top: 1px solid var(--hm-border);
}

.hm-seller-box__row .hm-icon {
        color: var(--hm-primary);
        flex: 0 0 auto;
}

.hm-seller-box__row strong {
        color: var(--hm-primary);
}

/* متا */
.woocommerce div.product .product_meta {
        border-top: 1px solid var(--hm-border);
        padding-top: 14px;
        font-size: 12px;
        color: var(--hm-text-3);
}

.woocommerce div.product .product_meta > span {
        display: block;
        margin-bottom: 6px;
}

.woocommerce div.product .product_meta a {
        color: var(--hm-secondary);
}

/* --- تب‌ها --- */
.woocommerce div.product .woocommerce-tabs {
        clear: both;
}

.woocommerce div.product .woocommerce-tabs ul.tabs {
        padding: 0;
        border-bottom: 1px solid var(--hm-border);
        margin: 24px 0 0;
        display: flex;
        flex-wrap: wrap;
        gap: 4px;
}

.woocommerce div.product .woocommerce-tabs ul.tabs::before {
        border: 0;
}

.woocommerce div.product .woocommerce-tabs ul.tabs li {
        background: transparent;
        border: 0;
        border-radius: 0;
        margin: 0;
        padding: 0;
        position: static;
}

.woocommerce div.product .woocommerce-tabs ul.tabs li::before,
.woocommerce div.product .woocommerce-tabs ul.tabs li::after {
        display: none;
}

.woocommerce div.product .woocommerce-tabs ul.tabs li a {
        padding: 12px 18px;
        font-size: 13.5px;
        font-weight: 700;
        color: var(--hm-text-2);
        border-bottom: 2px solid transparent;
        display: block;
}

.woocommerce div.product .woocommerce-tabs ul.tabs li.active a {
        color: var(--hm-primary);
        border-bottom-color: var(--hm-primary);
}

.woocommerce div.product .woocommerce-tabs .panel {
        border: 1px solid var(--hm-border);
        border-top: 0;
        border-radius: 0 0 var(--hm-radius) var(--hm-radius);
        padding: 20px;
        font-size: 13.5px;
        line-height: 2.1;
        margin: 0;
        box-shadow: none;
}

/* جدول مشخصات داخل تب اطلاعات اضافی */
.woocommerce div.product .woocommerce-tabs .panel table.woocommerce-product-attributes {
        border: 1px solid var(--hm-border);
        border-radius: var(--hm-radius-sm);
        overflow: hidden;
        border-collapse: separate;
        border-spacing: 0;
}

.woocommerce div.product .woocommerce-tabs .panel table.woocommerce-product-attributes th {
        background: var(--hm-bg);
        font-size: 12.5px;
        font-weight: 700;
        padding: 10px 14px;
        width: 200px;
}

.woocommerce div.product .woocommerce-tabs .panel table.woocommerce-product-attributes td {
        padding: 10px 14px;
        font-size: 13px;
}

/* --- نظرات --- */
.woocommerce #reviews #comments ol.commentlist {
        padding-inline-start: 0;
        list-style: none;
        margin: 16px 0;
}

.woocommerce #reviews #comments ol.commentlist li {
        background: var(--hm-surface);
        border: 1px solid var(--hm-border);
        border-radius: var(--hm-radius-sm);
        padding: 16px;
        margin-bottom: 12px;
}

.woocommerce #reviews #comments ol.commentlist li img.avatar {
        border: 0;
        background: var(--hm-bg);
        border-radius: 50%;
        padding: 0;
        width: 42px;
        height: 42px;
        position: static;
        float: inline-start;
        margin-inline-end: 12px;
}

.woocommerce #reviews #comments ol.commentlist li .comment-text {
        margin: 0;
        border: 0 !important;
        padding: 0;
        overflow: hidden;
    }

.woocommerce #reviews #comments ol.commentlist li .comment-text .meta {
        font-size: 12px;
        color: var(--hm-text-3);
        border: 0;
        padding: 0;
        margin: 4px 0 8px;
}

.woocommerce #reviews #comments ol.commentlist li .comment-text .description {
        font-size: 13px;
        line-height: 2.1;
        color: var(--hm-text);
        padding: 0;
        border: 0;
}

.woocommerce #review_form #respond textarea,
.woocommerce #review_form #respond input[type="text"],
.woocommerce #review_form #respond input[type="email"] {
        border: 1px solid var(--hm-border-2);
        border-radius: var(--hm-radius-sm);
        padding: 10px 14px;
        font-size: 13px;
        font-family: inherit;
}

/* --- محصولات مرتبط --- */
.woocommerce .related.products,
.woocommerce .upsells {
        clear: both;
}

.woocommerce .related.products h2,
.woocommerce .upsells h2 {
        font-size: 16px;
        font-weight: 800;
        margin: 26px 0 14px;
}

/* =====================================================
   ۳) دکمه‌ها — تضمین کنتراست در همه حالت‌ها
   ===================================================== */
.woocommerce ul.products li.product .button,
.woocommerce a.button,
.woocommerce button.button,
.woocommerce input.button,
.woocommerce #respond input#submit,
.woocommerce button.button.alt,
.woocommerce a.button.alt,
.woocommerce input.button.alt,
.woocommerce #respond input#submit.alt {
        display: inline-flex;
        align-items: center;
        justify-content: center;
        gap: 6px;
        background: var(--hm-primary) !important;
        color: #fff !important;
        border: 0 !important;
        border-radius: var(--hm-radius-sm) !important;
        font-size: 13px;
        font-weight: 500;
        padding: 10px 18px;
        line-height: 1.6;
        text-shadow: none !important;
        box-shadow: none;
        transition: background 0.15s ease;
}

.woocommerce ul.products li.product .button {
        width: 100%;
        margin-top: auto;
}

.woocommerce a.button:hover,
.woocommerce button.button:hover,
.woocommerce input.button:hover,
.woocommerce #respond input#submit:hover,
.woocommerce button.button.alt:hover,
.woocommerce a.button.alt:hover,
.woocommerce input.button.alt:hover {
        background: var(--hm-primary-dark) !important;
        color: #fff !important;
}

/* دکمه ثانویه (مثل «ادامه خرید») */
.woocommerce a.button.wc-forward:not(.checkout-button),
.woocommerce .return-to-shop a.button {
        background: var(--hm-primary-soft) !important;
        color: var(--hm-primary) !important;
}

/* دکمه بزرگ «رفتن به صفحه پرداخت» در سبد خرید (کلاسیک) */
.woocommerce .wc-proceed-to-checkout a.checkout-button,
.woocommerce a.checkout-button {
        display: block !important;
        width: 100% !important;
        background: var(--hm-cta) !important;
        color: #fff !important;
        border: 0 !important;
        border-radius: var(--hm-radius-sm) !important;
        font-size: 15px !important;
        font-weight: 700 !important;
        padding: 14px 24px !important;
        line-height: 1.7;
        margin: 0 0 8px !important;
        text-align: center;
        text-shadow: none !important;
        box-shadow: var(--hm-cta-shadow) !important;
        transition: background 0.2s ease, box-shadow 0.2s ease, transform 0.2s ease;
}

.woocommerce .wc-proceed-to-checkout a.checkout-button:hover,
.woocommerce a.checkout-button:hover {
        background: var(--hm-cta-hover) !important;
        color: #fff !important;
        transform: translateY(-1px);
        box-shadow: var(--hm-cta-shadow-hover) !important;
}

/* دکمه «ثبت سفارش» در صفحه پرداخت (کلاسیک) */
.woocommerce #payment #place_order,
.woocommerce #payment .form-row.place-order button {
        display: block !important;
        width: 100% !important;
        background: var(--hm-cta) !important;
        color: #fff !important;
        border: 0 !important;
        border-radius: var(--hm-radius-sm) !important;
        font-size: 15px !important;
        font-weight: 700 !important;
        padding: 14px 24px !important;
        margin: 16px 0 8px !important;
        float: none !important;
        text-align: center;
        text-shadow: none !important;
        box-shadow: var(--hm-cta-shadow) !important;
        cursor: pointer;
        transition: background 0.2s ease, box-shadow 0.2s ease, transform 0.2s ease;
}

.woocommerce #payment #place_order:hover {
        background: var(--hm-cta-hover) !important;
        color: #fff !important;
        transform: translateY(-1px);
        box-shadow: var(--hm-cta-shadow-hover) !important;
}

/* =====================================================
   ۳-ب) دکمه‌های پرداخت بلوکی — صفحات سبد/پرداختی که
   ویزارد ووکامرس ۹+ به‌صورت «بلوک» می‌سازد (نه شورت‌کد)
   ===================================================== */
button.wc-block-components-checkout-place-order-button,
.wp-block-woocommerce-checkout .wc-block-components-checkout-place-order-button,
.wp-block-woocommerce-proceed-to-checkout-block .wc-block-cart__submit-button,
.wc-block-cart__submit-button {
        display: flex !important;
        align-items: center !important;
        justify-content: center !important;
        width: 100% !important;
        min-height: 54px;
        box-sizing: border-box;
        background: var(--hm-cta) !important;
        color: #fff !important;
        border: 0 !important;
        border-radius: var(--hm-radius-sm) !important;
        font-family: inherit !important;
        font-size: 15px !important;
        font-weight: 700 !important;
        line-height: 1.7 !important;
        padding: 14px 24px !important;
        margin: 0 0 8px !important;
        text-decoration: none !important;
        text-shadow: none !important;
        box-shadow: var(--hm-cta-shadow) !important;
        cursor: pointer !important;
        transition: background 0.2s ease, box-shadow 0.2s ease, transform 0.2s ease !important;
}

button.wc-block-components-checkout-place-order-button .wc-block-components-button__text,
.wc-block-cart__submit-button .wc-block-components-button__text {
        color: #fff !important;
        font-weight: 700 !important;
}

button.wc-block-components-checkout-place-order-button:hover:not(:disabled):not([aria-disabled="true"]),
.wp-block-woocommerce-proceed-to-checkout-block .wc-block-cart__submit-button:hover:not(:disabled):not([aria-disabled="true"]) {
        background: var(--hm-cta-hover) !important;
        color: #fff !important;
        transform: translateY(-1px);
        box-shadow: var(--hm-cta-shadow-hover) !important;
}

button.wc-block-components-checkout-place-order-button:disabled,
button.wc-block-components-checkout-place-order-button[aria-disabled="true"],
.wc-block-cart__submit-button:disabled,
.wc-block-cart__submit-button[aria-disabled="true"] {
        opacity: 0.55;
        cursor: not-allowed !important;
        transform: none !important;
        box-shadow: none !important;
}

/* =====================================================
   ۴) جدول‌ها، سبد خرید و جمع سفارش
   ===================================================== */
.woocommerce table.shop_table {
        border: 1px solid var(--hm-border) !important;
        border-radius: var(--hm-radius);
        border-collapse: separate;
        border-spacing: 0;
        overflow: hidden;
        background: var(--hm-surface);
}

.woocommerce table.shop_table th {
        background: var(--hm-bg);
        font-size: 12px;
        font-weight: 700;
        padding: 12px 14px;
        border: 0;
}

.woocommerce table.shop_table td {
        border-top: 1px solid var(--hm-border);
        padding: 14px;
        font-size: 13px;
        border-inline-end: 0;
}

.woocommerce table.shop_table img {
        width: 64px;
        height: 64px;
        object-fit: contain;
        border-radius: var(--hm-radius-sm);
        border: 1px solid var(--hm-border);
        background: #fafbfc;
}

.woocommerce table.cart a.remove {
        color: var(--hm-text-3) !important;
        font-size: 18px;
}

.woocommerce table.cart a.remove:hover {
        background: var(--hm-deal);
        color: #fff !important;
}

.woocommerce table.cart td.actions {
        text-align: start;
}

.woocommerce table.cart td.actions .coupon .input-text {
        height: 44px;
        border: 1px solid var(--hm-border-2) !important;
        border-radius: var(--hm-radius-sm);
        padding-inline: 12px;
        width: 180px;
        float: inline-start;
        margin-inline-end: 8px;
        box-shadow: none;
        background: var(--hm-bg);
}

.woocommerce table.cart td.actions .coupon .button {
        float: inline-start;
        background: var(--hm-bg) !important;
        color: var(--hm-text) !important;
        border: 1px solid var(--hm-border-2) !important;
}

.woocommerce table.cart td.actions .coupon .button:hover {
        background: var(--hm-border) !important;
}

/* فروش متقاطع زیر سبد */
.woocommerce .cart-collaterals .cross-sells {
        float: none;
        width: 100%;
        margin-bottom: 24px;
}

.woocommerce .cart-collaterals .cross-sells h2 {
        font-size: 15px;
        font-weight: 800;
        margin-bottom: 14px;
}

/* کادر جمع سفارش */
.woocommerce .cart-collaterals .cart_totals,
.woocommerce-page .cart_totals {
        float: none;
        width: 100%;
        max-width: 430px;
        margin-inline-start: auto;
}

.woocommerce .cart_totals h2 {
        font-size: 16px;
        font-weight: 800;
        margin-bottom: 14px;
}

.woocommerce .cart_totals table.shop_table {
        border-radius: var(--hm-radius);
}

.woocommerce .cart_totals .shop_table td,
.woocommerce .cart_totals .shop_table th {
        padding: 12px 14px;
}

.woocommerce .cart_totals .order-total .woocommerce-Price-amount {
        color: var(--hm-deal);
        font-weight: 800;
        font-size: 15px;
}

.woocommerce .wc-proceed-to-checkout {
        padding: 14px 0 0;
}

/* =====================================================
   ۵) فرم‌ها
   ===================================================== */
.woocommerce form .form-row label {
        font-size: 12.5px;
        color: var(--hm-text-2);
}

.woocommerce form .form-row input.input-text,
.woocommerce form .form-row textarea,
.woocommerce form .form-row select,
.select2-container .select2-selection--single .select2-selection__rendered,
.select2-container--default .select2-selection--single {
        height: 44px !important;
        line-height: 44px;
        border: 1px solid var(--hm-border-2) !important;
        border-radius: var(--hm-radius-sm) !important;
        padding-inline: 12px;
        font-size: 13px !important;
        background: var(--hm-bg);
        color: var(--hm-text);
        box-shadow: none;
}

.woocommerce form .form-row textarea {
        height: 120px !important;
        line-height: 1.8;
        padding-top: 10px;
}

.woocommerce form .form-row input.input-text:focus,
.woocommerce form .form-row textarea:focus,
.woocommerce form .form-row select:focus {
        outline: none;
        border-color: var(--hm-primary) !important;
        background: var(--hm-surface);
}

.woocommerce form .form-row .required {
        color: var(--hm-deal);
        text-decoration: none;
}

.woocommerce-invalid input {
        border-color: var(--hm-deal) !important;
}

/* =====================================================
   ۶) صفحه پرداخت (چک‌اوت)
   ===================================================== */
.woocommerce-checkout .col2-set {
        width: 100%;
        float: none;
}

.woocommerce-checkout form.checkout .col2-set .col-1,
.woocommerce-checkout form.checkout .col2-set .col-2 {
        width: 100%;
        float: none;
}

@media (min-width: 1025px) {
        .woocommerce-checkout form.checkout {
                display: grid;
                grid-template-columns: minmax(0, 7fr) minmax(0, 5fr);
                gap: 0 28px;
                align-items: start;
        }

        .woocommerce-checkout form.checkout > .col2-set {
                grid-column: 1;
        }

        .woocommerce-checkout form.checkout > #order_review_heading,
        .woocommerce-checkout form.checkout > #order_review {
                grid-column: 2;
        }

        .woocommerce-checkout form.checkout > #order_review_heading {
                grid-row: 1;
        }

        .woocommerce-checkout form.checkout > #order_review {
                grid-row: 2;
        }
}

.woocommerce-checkout #order_review_heading {
        font-size: 16px;
        font-weight: 800;
        margin: 20px 0 14px;
}

@media (min-width: 1025px) {
        .woocommerce-checkout #order_review_heading {
                margin-top: 0;
        }
}

.woocommerce-checkout #order_review {
        background: var(--hm-surface);
        border: 1px solid var(--hm-border);
        border-radius: var(--hm-radius);
        padding: 4px 18px 18px;
        font-size: 13px;
}

.woocommerce-checkout #order_review table.shop_table {
        border: 0 !important;
        background: transparent;
}

.woocommerce-checkout #order_review table.shop_table th,
.woocommerce-checkout #order_review table.shop_table td {
        padding: 10px 4px;
        font-size: 12.5px;
}

.woocommerce-checkout #payment {
        background: var(--hm-bg);
        border-radius: var(--hm-radius);
}

.woocommerce-checkout #payment ul.payment_methods {
        border-bottom: 1px solid var(--hm-border);
        padding: 18px;
}

.woocommerce-checkout #payment ul.payment_methods li {
        padding: 8px 0;
        line-height: 1.9;
}

.woocommerce-checkout #payment ul.payment_methods li label {
        font-size: 13.5px;
        font-weight: 700;
        color: var(--hm-text);
}

.woocommerce-checkout #payment div.payment_box {
        background: var(--hm-surface);
        border-radius: var(--hm-radius-sm);
        font-size: 12.5px;
        line-height: 2;
        margin: 10px 0;
        padding: 12px;
}

#add_payment_method #payment div.payment_box::before,
.woocommerce-checkout #payment div.payment_box::before {
        border-bottom-color: var(--hm-surface);
}

.woocommerce-checkout #payment div.form-row {
        padding: 16px 18px 4px;
}

/* صفحه دریافت سفارش */
.woocommerce-order-received .woocommerce-order > p,
.woocommerce-order-received .woocommerce-thankyou-order-received {
        background: var(--hm-surface);
        border: 1px solid var(--hm-border);
        border-radius: var(--hm-radius);
        padding: 20px;
        text-align: center;
        font-weight: 700;
}

.woocommerce-order-received ul.woocommerce-order-overview {
        display: flex;
        flex-wrap: wrap;
        gap: 10px;
        background: var(--hm-surface);
        border: 1px solid var(--hm-border);
        border-radius: var(--hm-radius);
        padding: 16px 20px;
        margin: 16px 0 !important;
        list-style: none;
}

.woocommerce-order-received ul.woocommerce-order-overview li {
        border: 0;
        margin: 0;
        font-size: 12.5px;
        color: var(--hm-text-2);
}

.woocommerce-order-received ul.woocommerce-order-overview li strong {
        display: block;
        font-size: 14px;
        color: var(--hm-text);
        margin-top: 4px;
}

.woocommerce-order-received .woocommerce-table--order-details {
        margin-top: 20px;
}

/* =====================================================
   ۷) پیام‌ها و اعلان‌ها
   ===================================================== */
.woocommerce-message,
.woocommerce-info,
.woocommerce-error {
        border-top-color: var(--hm-primary);
        background: var(--hm-surface);
        border: 1px solid var(--hm-border);
        border-top: 3px solid var(--hm-primary);
        border-radius: var(--hm-radius-sm);
        color: var(--hm-text);
        font-size: 13px;
        list-style: none;
}

.woocommerce-message::before,
.woocommerce-info::before {
        color: var(--hm-primary);
}

.woocommerce-error {
        border-top-color: #e63946;
}

.woocommerce-error li {
        margin: 0;
}

.woocommerce-message .button,
.woocommerce-info .button {
        float: inline-end;
        background: transparent !important;
        color: var(--hm-primary) !important;
        padding: 4px 10px !important;
        font-weight: 700;
}

/* =====================================================
   ۸) حساب کاربری — چیدمان مدرن دو ستونه (منو + محتوا)
   ===================================================== */

/* چیدمان دو ستونه فقط برای کاربر واردشده (کلاس hm-account-split از functions)
   صفحه حساب از page.php رندر می‌شود ← نگهدارنده گرید = .hm-single-post__content */
body.woocommerce-account .hm-single-post__head {
        display: none; /* کارت پروفایل جای عنوان صفحه را می‌گیرد */
}

/* صفحه حساب: کارت سفید دور article و آندرلاین لینک‌های page.php حذف می‌شود
   تا منو و محتوا به‌صورت کارت‌های مستقل دیجی‌کالایی دیده شوند */
body.woocommerce-account .hm-single-post {
        background: transparent;
        border: 0;
        border-radius: 0;
        padding: 0;
        margin-bottom: 0;
}

body.woocommerce-account .hm-single-post__content {
        font-size: 13.5px;
}

body.woocommerce-account .hm-single-post__content a {
        text-decoration: none;
        color: inherit;
}

body.woocommerce-account .hm-single-post__content img {
        margin-block: 0;
}

/* ⚠ نکته معماری: شورت‌کد [woocommerce_my_account] کل خروجی را داخل
   <div class="woocommerce"> می‌پیچد (WC_Shortcodes::shortcode_wrapper)؛
   پس گرید باید روی همان نگهدارنده میانی اعمال شود — وگرنه کل صفحه
   (منو + محتوا) در ستون ۲۷۲px اول فشرده می‌شود. */
body.hm-account-split .hm-single-post__content .woocommerce {
        display: grid;
        grid-template-columns: 272px minmax(0, 1fr);
        gap: 22px;
        align-items: start;
}

/* جای‌گذاری صریح سطر/ستون: حتی اگر عنصر دیگری (مثل اعلان) داخل
   نگهدارنده ظاهر شود، جای منو و محتوا ثابت می‌ماند */
body.hm-account-split .hm-acc-nav {
        grid-row: 1;
        grid-column: 1 / 2;
}

body.hm-account-split .woocommerce-MyAccount-content {
        grid-row: 1;
        grid-column: 2 / 3;
}

/* ---- منوی کناری: کارت پروفایل + آیتم‌های آیکون‌دار ---- */
.hm-acc-nav {
        position: sticky;
        top: 84px;
}

.hm-acc-nav__profile {
        display: flex;
        align-items: center;
        gap: 12px;
        padding: 16px;
        border-radius: var(--hm-radius) var(--hm-radius) 0 0;
        background: var(--hm-cta);
        color: #fff;
}

.hm-acc-nav__avatar {
        width: 48px;
        height: 48px;
        flex-shrink: 0;
        display: inline-flex;
        align-items: center;
        justify-content: center;
        border-radius: 50%;
        background: rgba(255, 255, 255, 0.16);
        border: 2px solid rgba(255, 255, 255, 0.35);
        font-size: 19px;
        font-weight: 800;
        color: #fff;
}

.hm-acc-nav__meta {
        min-width: 0;
}

.hm-acc-nav__meta strong {
        display: block;
        font-size: 14px;
        line-height: 1.6;
        overflow: hidden;
        text-overflow: ellipsis;
        white-space: nowrap;
}

.hm-acc-nav__meta span {
        font-size: 10.5px;
        opacity: 0.85;
        display: block;
}

.hm-acc-nav ul {
        list-style: none;
        margin: 0;
        padding: 8px;
        background: var(--hm-surface);
        border: 1px solid var(--hm-border);
        border-top: 0;
        border-radius: 0 0 var(--hm-radius) var(--hm-radius);
}

.hm-acc-nav li {
        margin: 0;
}

.hm-acc-nav a {
        display: flex;
        align-items: center;
        gap: 10px;
        padding: 10px 12px;
        border-radius: 10px;
        font-size: 13px;
        color: var(--hm-text-2);
        transition: background 0.14s ease, color 0.14s ease;
}

.hm-acc-nav a .hm-icon {
        width: 34px;
        height: 34px;
        padding: 7px;
        border-radius: 9px;
        background: var(--hm-bg);
        color: var(--hm-text-3);
        flex-shrink: 0;
        transition: background 0.14s ease, color 0.14s ease;
}

.hm-acc-nav a:hover {
        background: var(--hm-primary-soft);
        color: var(--hm-primary);
}

.hm-acc-nav a:hover .hm-icon {
        color: var(--hm-primary);
}

.hm-acc-nav li.is-active a {
        background: var(--hm-primary-soft);
        color: var(--hm-primary);
        font-weight: 700;
}

.hm-acc-nav li.is-active a .hm-icon {
        background: var(--hm-primary);
        color: #fff;
}

/* خروج — تمایل قرمز ملایم */
.hm-acc-nav__item--customer-logout a:hover {
        background: #fdeeee;
        color: #e63946;
}

.hm-acc-nav__item--customer-logout a:hover .hm-icon {
        color: #e63946;
}

/* ---- ناحیه محتوا ---- */
.woocommerce-account .woocommerce-MyAccount-content {
        width: auto;
        background: var(--hm-surface);
        border: 1px solid var(--hm-border);
        border-radius: var(--hm-radius);
        padding: 26px;
        font-size: 13.5px;
        line-height: 2.1;
        box-shadow: var(--hm-shadow);
}

body.hm-account-split .woocommerce-MyAccount-content {
        min-height: 320px;
}

.woocommerce-account .woocommerce-MyAccount-content > p:first-child {
        margin-top: 0;
}

.woocommerce-account .woocommerce-MyAccount-content h2,
.woocommerce-account .woocommerce-MyAccount-content h3 {
        font-size: 15px;
        margin-bottom: 14px;
        padding-bottom: 10px;
        border-bottom: 1px solid var(--hm-border);
}

.woocommerce-account .woocommerce-MyAccount-content .button {
        margin-top: 12px;
        display: inline-flex;
        align-items: center;
        justify-content: center;
        height: 40px;
        padding-inline: 18px;
        border-radius: var(--hm-radius-sm);
        background: var(--hm-primary);
        color: #fff;
        font-size: 12.5px;
        font-weight: 500;
        transition: background 0.15s ease;
}

.woocommerce-account .woocommerce-MyAccount-content .button:hover {
        background: var(--hm-primary-dark);
        color: #fff;
}

.woocommerce-account .woocommerce-MyAccount-content table {
        border: 1px solid var(--hm-border);
        border-radius: var(--hm-radius-sm);
        overflow: hidden;
}

.woocommerce-account .woocommerce-MyAccount-content table thead th {
        background: var(--hm-bg);
        font-size: 11.5px;
        color: var(--hm-text-2);
        font-weight: 700;
}

.woocommerce-account .woocommerce-MyAccount-content table td,
.woocommerce-account .woocommerce-MyAccount-content table th {
        padding: 12px;
        font-size: 12.5px;
}

/* نشان‌های رنگی وضعیت سفارش */
.woocommerce-MyAccount-content mark.order-status {
        background: transparent;
        padding: 0;
        font-weight: 700;
        font-size: 12px;
}

.woocommerce-MyAccount-content .order-status.status-completed {
        color: var(--hm-success);
}

.woocommerce-MyAccount-content .order-status.status-processing,
.woocommerce-MyAccount-content .order-status.status-on-hold {
        color: #f5a623;
}

.woocommerce-MyAccount-content .order-status.status-cancelled,
.woocommerce-MyAccount-content .order-status.status-failed,
.woocommerce-MyAccount-content .order-status.status-refunded {
        color: #e63946;
}

.woocommerce-MyAccount-content .order-status.status-pending {
        color: var(--hm-text-2);
}

/* فرم ورود/ثبت‌نام — کارت وسط‌چین مدرن */
.woocommerce form.login,
.woocommerce form.register {
        border: 1px solid var(--hm-border);
        border-radius: var(--hm-radius-lg);
        padding: 32px 28px;
        background: var(--hm-surface);
        box-shadow: var(--hm-shadow-lg);
        max-width: 440px;
        margin: 32px auto;
}

.woocommerce form.login h2,
.woocommerce form.register h2 {
        text-align: center;
        font-size: 16px;
}

.woocommerce form.login .form-row,
.woocommerce form.register .form-row {
        margin: 0 0 14px;
}

.woocommerce form.login .button,
.woocommerce form.register .button {
        width: 100%;
        height: 46px;
        margin-top: 6px;
        background: var(--hm-cta);
        color: #fff;
        font-weight: 700;
        border-radius: var(--hm-radius-sm);
        box-shadow: var(--hm-cta-shadow);
}

.woocommerce form.login .button:hover,
.woocommerce form.register .button:hover {
        background: var(--hm-cta-hover);
        color: #fff;
}

/* =====================================================
   ۹) ستاره‌ها
   ===================================================== */
.star-rating span::before,
.star-rating::before,
p.stars a {
        color: var(--hm-warning);
}

/* =====================================================
   ۱۰) ریسپانسیو صفحات ووکامرس
   ===================================================== */
@media (max-width: 1024px) {
        .woocommerce-checkout form.checkout {
                display: block;
        }
}

@media (max-width: 820px) {
        .woocommerce div.product {
                padding: 16px;
                grid-template-columns: 1fr;
                gap: 20px;
        }

        .woocommerce div.product > div.images,
        .woocommerce div.product > .woocommerce-product-gallery,
        .woocommerce div.product > .summary {
                grid-column: 1;
                grid-row: auto;
        }

        .woocommerce div.product > div.images,
        .woocommerce div.product > .woocommerce-product-gallery {
                order: -1; /* گالری همیشه اول */
        }

        .woocommerce div.product .product_title {
                font-size: 16px;
        }

        .woocommerce div.product p.price {
                font-size: 19px;
        }

        .woocommerce div.product form.cart .button,
        .woocommerce div.product form.cart .single_add_to_cart_button {
                width: 100%;
                flex-basis: 100%;
        }

        /* حساب کاربری در موبایل: تک‌ستونه + منوی قرصی افقی
           (گرید روی نگهدارنده .woocommerce اعمال شده — همین‌جا هم برداشته می‌شود) */
        body.hm-account-split .hm-single-post__content .woocommerce {
                display: block;
        }

        body.hm-account-split .hm-acc-nav,
        body.hm-account-split .woocommerce-MyAccount-content {
                grid-column: auto;
                grid-row: auto;
        }

        /* ---- جدول‌های ووکامرس در موبایل: استک عمودی با لیبل ----
           جایگزین woocommerce-smallscreen.css که در functions.php dequeu شده است */
        .woocommerce table.shop_table_responsive thead {
                display: none;
        }

        .woocommerce table.shop_table_responsive tbody th {
                display: none;
        }

        .woocommerce table.shop_table_responsive tr {
                display: block;
        }

        .woocommerce table.shop_table_responsive tr td {
                display: block;
                text-align: left !important; /* مقدار سمت چپ؛ لیبل با float زیر می‌رود */
        }

        .woocommerce table.shop_table_responsive tr td::before {
                content: attr(data-title) ": ";
                font-weight: 700;
                float: right; /* لیبل در ابتدای خط RTL */
                color: var(--hm-text-2);
        }

        .woocommerce table.shop_table_responsive tr td.order-actions {
                text-align: right !important;
        }

        .woocommerce table.shop_table_responsive tr td.order-actions::before,
        .woocommerce table.shop_table_responsive tr td.actions::before,
        .woocommerce table.shop_table_responsive tr td.product-remove::before {
                display: none;
        }

        .woocommerce table.shop_table_responsive tr:nth-child(2n) td {
                background: var(--hm-bg);
        }

        .woocommerce table.shop_table_responsive tbody tr:first-child td:first-child {
                border-top: 0;
        }

        .woocommerce table.my_account_orders tr td.order-actions .button {
                float: none;
                margin: 4px 0;
        }

        /* سبد کلاسیک: حذف ستون تصویر و تمام‌عرض شدن کد تخفیف */
        .woocommerce table.cart .product-thumbnail {
                display: none;
        }

        .hm-acc-nav {
                position: static;
                margin-bottom: 16px;
        }

        .hm-acc-nav__profile {
                padding: 12px 14px;
        }

        .hm-acc-nav__avatar {
                width: 40px;
                height: 40px;
                font-size: 16px;
        }

        .hm-acc-nav ul {
                display: flex;
                align-items: center;
                gap: 4px;
                padding: 8px 10px;
                overflow-x: auto;
                scrollbar-width: none;
        }

        .hm-acc-nav ul::-webkit-scrollbar {
                display: none;
        }

        .hm-acc-nav li {
                flex: 0 0 auto;
        }

        .hm-acc-nav a {
                padding: 7px 12px;
                white-space: nowrap;
                font-size: 12px;
                gap: 6px;
        }

        .hm-acc-nav a .hm-icon {
                display: none;
        }

        .hm-acc-nav li.is-active a {
                background: var(--hm-primary);
                color: #fff;
        }

        .woocommerce-account .woocommerce-MyAccount-content {
                padding: 18px;
        }

        .woocommerce table.shop_table_responsive tr td {
                padding: 12px 14px;
        }

        .woocommerce-account .woocommerce-MyAccount-content table {
                border-radius: var(--hm-radius-sm);
        }

        .woocommerce .cart_totals,
        .woocommerce-page .cart_totals {
                max-width: 100%;
        }

        .woocommerce form.login,
        .woocommerce form.register {
                padding: 18px;
        }
}

/* =====================================================
   ۱۱) صفحه سبد خرید خالی
   ===================================================== */
.woocommerce-cart .cart-empty,
.woocommerce-checkout .cart-empty {
        font-size: 15px;
        font-weight: 700;
        text-align: center;
        margin-top: 30px;
}

.woocommerce-cart .return-to-shop {
        text-align: center;
        margin-bottom: 30px;
}
