﻿/* استایل‌های بخش اعلان تیکت */
.ticket-alert-modal .ticket-alert-icon { width: 52px; height: 52px; border-radius: 50%; display: inline-flex; align-items: center; justify-content: center; background: #f2f4ff; color: #3b4cc0; font-size: 1.4rem; margin-bottom: .75rem; }
.ticket-alert-modal .ticket-alert-text { line-height: 1.9; margin-bottom: 0; }
.ticket-alert-modal .ticket-alert-count { font-weight: 700; }

@media (min-width: 768px) {
    .ticket-alert-modal .modal-dialog { max-width: 480px; }
}

/* مودال ثبت درخواست - پلیس‌هولدر شفاف */
#requestModal input::placeholder,
#requestModal textarea::placeholder { color: transparent !important; }
#requestModal input::-webkit-input-placeholder,
#requestModal textarea::-webkit-input-placeholder { color: transparent !important; }

/* مودال ثبت درخواست — validation فقط بعد از تلاش ارسال (جلوگیری از تداخل CSS صفحات پروفایل) */
#requestModal #requestForm:not(.was-validated) .invalid-feedback {
    display: none;
}
#requestModal #requestForm.was-validated :invalid ~ .invalid-feedback,
#requestModal #requestForm .form-control.is-invalid ~ .invalid-feedback {
    display: block;
}

/* اسکرول داخل مودال ثبت درخواست */
#requestModal .modal-dialog {
    max-height: calc(100% - 1rem);
}
@media (max-width: 575.98px) {
    #requestModal .modal-dialog {
        margin: 0.5rem;
        max-width: calc(100% - 1rem);
    }
}

/* باکس خلاصه سبد — در لود اولیه اصلاً دیده/حساب نشود؛ فقط با هاور یا کلیک ظاهر می‌شود */
.cart-summary-box { position: fixed; display: none !important; width: 0 !important; min-width: 0 !important; max-width: 0 !important; min-height: 0 !important; height: 0 !important; overflow: hidden !important; opacity: 0; visibility: hidden; pointer-events: none; padding: 0; margin: 0; }

/* باکس خلاصه سبد خرید - فقط دسکتاپ (>= 993px)، تا 992 مثل موبایل */
@media (min-width: 993px) {
    .cart-hover-wrapper { position: relative; z-index: 999999; }
    .cart-hover-wrapper::before { content: ''; position: absolute; top: 100%; left: -50px; right: -50px; height: 450px; z-index: 999998; pointer-events: none; }
    .cart-summary-box { position: fixed; top: auto; left: auto; right: auto; margin-top: 0; width: 0; min-width: 0; max-width: 0; min-height: 0; padding: 0; overflow: hidden; background: #fff; border-radius: 16px; box-shadow: 0 24px 48px rgba(0,0,0,0.15), 0 8px 16px rgba(0,0,0,0.1); border: 1px solid rgba(0,0,0,0.08); opacity: 0; visibility: hidden; transform: translateY(-6px); transition: opacity 0.2s ease, transform 0.2s ease, visibility 0.2s; z-index: 9999999; overflow: hidden; pointer-events: none; }
    .cart-summary-box.visible { display: block !important; width: min(380px, calc(100vw - 24px)) !important; min-width: 200px !important; max-width: calc(100vw - 24px) !important; min-height: 120px !important; height: auto !important; padding: 0 !important; overflow: hidden !important; opacity: 1 !important; visibility: visible !important; transform: translateY(0); pointer-events: auto !important; }
    .cart-summary-box .site-loader-wrap { min-height: 120px; border-radius: 16px; overflow: hidden; background: var(--C2) }
    .cart-summary-box .site-loader-wrap .site-loader-spinner { position: absolute; inset: 0; margin: auto; transform: none; }
    .cart-summary-box .site-loader-wrap .cart-summary-content { width: 100%; border-radius: 16px; overflow: hidden; }
    .cart-summary-box small.price-currency-unit { font-size: 60%; font-weight: 600; opacity: 0.88; vertical-align: baseline; }
    .cart-summary-combined { display: block; overflow: hidden; border-radius: 16px; }
    .cart-summary-box.visible:has(.cart-summary-combined) {
        min-height: 0 !important;
    }
    .cart-summary-box.visible:has(.cart-summary-combined) .site-loader-wrap {
        min-height: 0 !important;
        max-height: none;
    }
    .cart-summary-combined .cart-summary-inner--pending-compact { border-bottom: 2px solid rgba(245, 158, 11, 0.35); }
    .cart-summary-combined .cart-summary-inner--pending-compact .cart-summary-footer--pending { padding-top: 8px; padding-bottom: 10px; }
    /* حداکثر ≈۲ ردیف آیتم؛ بدون min-height (تک‌آیتم جای خالی نمی‌گیرد)؛ اسکرول فقط همین بخش */
    .cart-summary-combined .cart-summary-inner:not(.cart-summary-inner--pending) .cart-summary-items,
    .cart-summary-inner--pending:not(.cart-summary-inner--pending-compact) .cart-summary-items {
        max-height: calc(2 * 4.25rem + 1.25rem);
        overflow-y: auto;
        overflow-x: hidden;
        min-height: 0;
    }
    .cart-summary-inner--pending-compact .cart-summary-pending-compact-body { padding: 4px 0 0; }
    .cart-summary-inner--pending-compact .cart-summary-pending-order { border-bottom: none; }
    .cart-summary-inner--pending-compact .cart-summary-pending-order-head { padding-top: 6px; padding-bottom: 6px; }
    /* بک‌دراپ سبد روی هدر نرود — hover آیکن سبد قطع نشود */
    body.cart-summary-desktop-open .header { z-index: 1062 !important; }
    body.cart-summary-desktop-open .cart-hover-wrapper { z-index: 1063 !important; }
}

/* دکمه بستن یکسان — سبد، پشتیبانی، حساب کاربری، منوی پروفایل */
.sheet-panel-close,
.cart-summary-close {
    position: absolute;
    top: 10px;
    left: 10px;
    z-index: 30;
    width: 32px;
    height: 32px;
    padding: 0;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    border: 1px solid transparent;
    border-radius: 50%;
    background: color-mix(in srgb, var(--C6, #333) 8%, transparent);
    color: var(--C6, #333);
    box-shadow: none;
    cursor: pointer;
    transition: background 0.18s ease, color 0.18s ease, transform 0.18s ease, border-color 0.18s ease;
}

.sheet-panel-close i,
.cart-summary-close i {
    font-size: 1.05rem;
    line-height: 1;
}

.sheet-panel-close:hover,
.sheet-panel-close:focus-visible,
.cart-summary-close:hover,
.cart-summary-close:focus-visible {
    background: color-mix(in srgb, var(--C6, #333) 14%, transparent);
    color: var(--C6, #333);
    transform: scale(1.05);
    outline: none;
}

[data-bs-theme="dark"] .sheet-panel-close,
[data-bs-theme="dark"] .cart-summary-close {
    background: rgba(255, 255, 255, 0.08);
    color: var(--C6, #fff);
    border-color: rgba(255, 255, 255, 0.1);
}

[data-bs-theme="dark"] .sheet-panel-close:hover,
[data-bs-theme="dark"] .sheet-panel-close:focus-visible,
[data-bs-theme="dark"] .cart-summary-close:hover,
[data-bs-theme="dark"] .cart-summary-close:focus-visible {
    background: rgba(255, 255, 255, 0.14);
    color: #fff;
}

.mobile-account-offcanvas-panel .sheet-panel-close,
.cart-summary-box:has(.cart-summary-header) .cart-summary-close,
.cart-summary-box:has(.cart-summary-header) .sheet-panel-close {
    color: #fff;
    border-color: rgba(255, 255, 255, 0.16);
    backdrop-filter: blur(6px);
    -webkit-backdrop-filter: blur(6px);
}

.mobile-account-offcanvas-panel .sheet-panel-close:hover,
.mobile-account-offcanvas-panel .sheet-panel-close:focus-visible,
.cart-summary-box:has(.cart-summary-header) .cart-summary-close:hover,
.cart-summary-box:has(.cart-summary-header) .cart-summary-close:focus-visible {
    background: rgba(255, 255, 255, 0.28);
    color: #fff;
}

.cart-summary-box.visible .cart-summary-close,
.cart-summary-sheet.is-showing .cart-summary-close,
.cart-summary-sheet.is-open .cart-summary-close,
.cart-summary-sheet.is-closing .cart-summary-close {
    opacity: 1;
    visibility: visible;
    pointer-events: auto;
}

/* خلاصه سبد موبایل */
@media (max-width: 992px) {
    .cart-summary-sheet {
        position: fixed;
        inset: 0;
        z-index: 1049;
        pointer-events: none;
    }

    .cart-summary-sheet.is-showing,
    .cart-summary-sheet.is-open,
    .cart-summary-sheet.is-closing {
        pointer-events: auto;
    }

    .cart-summary-sheet__backdrop {
        position: fixed;
        inset: 0;
        background-color: #000000a3;
        opacity: 0;
        visibility: hidden;
        pointer-events: none;
        backdrop-filter: blur(0);
        -webkit-backdrop-filter: blur(0);
        transition: opacity 0.42s cubic-bezier(0.32, 0.72, 0, 1), backdrop-filter 0.42s cubic-bezier(0.32, 0.72, 0, 1), -webkit-backdrop-filter 0.42s cubic-bezier(0.32, 0.72, 0, 1), visibility 0s linear 0.42s;
        z-index: 1;
    }

    .cart-summary-sheet__backdrop.is-visible {
        opacity: 1;
        visibility: visible;
        pointer-events: auto;
        backdrop-filter: blur(4px);
        -webkit-backdrop-filter: blur(4px);
        transition: opacity 0.42s cubic-bezier(0.32, 0.72, 0, 1), backdrop-filter 0.42s cubic-bezier(0.32, 0.72, 0, 1), -webkit-backdrop-filter 0.42s cubic-bezier(0.32, 0.72, 0, 1), visibility 0s linear 0s;
    }

    .cart-summary-sheet__backdrop.is-closing {
        opacity: 0;
        visibility: visible;
        pointer-events: none;
        backdrop-filter: blur(0);
        -webkit-backdrop-filter: blur(0);
        transition: opacity 0.42s ease-in-out, backdrop-filter 0.42s ease-in-out, -webkit-backdrop-filter 0.42s ease-in-out, visibility 0s linear 0.42s;
    }

    .cart-summary-sheet.is-closing .cart-summary-sheet__backdrop.is-visible {
        opacity: 0;
        visibility: visible;
        pointer-events: none;
        backdrop-filter: blur(0);
        -webkit-backdrop-filter: blur(0);
        transition: opacity 0.42s ease-in-out, backdrop-filter 0.42s ease-in-out, -webkit-backdrop-filter 0.42s ease-in-out, visibility 0s linear 0.42s;
    }

    .cart-summary-sheet .cart-summary-box {
        display: block !important;
        position: fixed;
        left: 0;
        right: 0;
        bottom: 0;
        top: auto;
        width: 100% !important;
        min-width: 0 !important;
        max-width: none !important;
        min-height: 0 !important;
        height: auto !important;
        max-height: min(70vh, 420px);
        margin: 0;
        padding: 0 !important;
        overflow: hidden;
        background: var(--C2, #fff);
        border: 1px solid rgba(0,0,0,0.08);
        border-bottom: none;
        border-radius: 1.25rem 1.25rem 0 0;
        box-shadow: 0 -8px 40px rgba(0,0,0,0.18);
        opacity: 1;
        visibility: hidden;
        transform: translate3d(0, 100%, 0);
        pointer-events: none;
        transition: transform 0.42s cubic-bezier(0.32, 0.72, 0, 1), visibility 0s linear 0.42s;
        z-index: 2;
        will-change: transform;
        backface-visibility: hidden;
    }

    .cart-summary-sheet.is-showing .cart-summary-box,
    .cart-summary-sheet.is-open .cart-summary-box,
    .cart-summary-sheet.is-closing .cart-summary-box {
        visibility: visible;
        pointer-events: auto;
    }

    .cart-summary-sheet.is-showing .cart-summary-box,
    .cart-summary-sheet.is-open .cart-summary-box {
        transform: translate3d(0, 0, 0);
        transition: transform 0.42s cubic-bezier(0.32, 0.72, 0, 1), visibility 0s linear 0s;
    }

    .cart-summary-sheet.is-closing .cart-summary-box {
        transform: translate3d(0, 100%, 0);
        transition: transform 0.42s cubic-bezier(0.32, 0.72, 0, 1), visibility 0s linear 0.42s;
    }

    .cart-summary-sheet .cart-summary-box .site-loader-wrap {
        min-height: 180px;
        max-height: min(70vh, 420px);
        border-radius: 1.25rem 1.25rem 0 0;
        overflow: hidden;
        display: flex;
        flex-direction: column;
    }

    .cart-summary-sheet .cart-summary-box .site-loader-wrap .cart-summary-content {
        flex: 1;
        min-height: 0;
        overflow: hidden;
        display: flex;
        flex-direction: column;
        border-radius: 0;
    }

    body.cart-summary-sheet-open {
        overflow: hidden;
    }
}

@media (max-width: 992px) and (orientation: landscape) {
    .cart-summary-sheet .cart-summary-box {
        right: 66px;
        left: 0;
        width: auto !important;
        max-height: calc(100vh - var(--header-height, 56px));
        padding-bottom: 0 !important;
    }
}

@media (max-width: 992px) and (orientation: portrait) {
    .cart-summary-sheet .cart-summary-box,
    .cart-summary-sheet .cart-summary-box .site-loader-wrap {
        max-height: calc(100dvh - 66px - env(safe-area-inset-bottom, 0px));
    }

    .cart-summary-sheet .cart-summary-box {
        bottom: calc(66px + env(safe-area-inset-bottom, 0px));
        padding-bottom: 0 !important;
    }

    .cart-summary-sheet .cart-summary-box .site-loader-wrap .site-loader-spinner {
        inset: 0;
        margin: auto;
        transform: none;
    }

    .cart-summary-sheet .cart-summary-box .site-loader-wrap.loading::before {
        inset: 0;
    }
}

/* نوار لینک سبد در موبایل — حذف شده */

/* منوی حساب کاربری موبایل */
@media (max-width: 992px) {
    .mobile-account-sheet {
        position: fixed;
        inset: 0;
        z-index: 1048;
        pointer-events: none;
    }

    .mobile-account-sheet.is-showing,
    .mobile-account-sheet.is-open,
    .mobile-account-sheet.is-closing {
        pointer-events: auto;
    }

    .mobile-account-sheet.is-closing {
        pointer-events: none;
    }

    .mobile-account-sheet__backdrop {
        position: fixed;
        inset: 0;
        background-color: #000000a3;
        opacity: 0;
        visibility: hidden;
        pointer-events: none;
        backdrop-filter: blur(0);
        -webkit-backdrop-filter: blur(0);
        transition: opacity 0.42s cubic-bezier(0.32, 0.72, 0, 1), backdrop-filter 0.42s cubic-bezier(0.32, 0.72, 0, 1), -webkit-backdrop-filter 0.42s cubic-bezier(0.32, 0.72, 0, 1), visibility 0s linear 0.42s;
        z-index: 1;
    }

    .mobile-account-sheet__backdrop.is-visible {
        opacity: 1;
        visibility: visible;
        pointer-events: auto;
        backdrop-filter: blur(4px);
        -webkit-backdrop-filter: blur(4px);
        transition: opacity 0.42s cubic-bezier(0.32, 0.72, 0, 1), backdrop-filter 0.42s cubic-bezier(0.32, 0.72, 0, 1), -webkit-backdrop-filter 0.42s cubic-bezier(0.32, 0.72, 0, 1), visibility 0s linear 0s;
    }

    .mobile-account-sheet.is-closing .mobile-account-sheet__backdrop.is-visible {
        opacity: 0;
        visibility: visible;
        pointer-events: none;
        backdrop-filter: blur(0);
        -webkit-backdrop-filter: blur(0);
        transition: opacity 0.42s ease-in-out, backdrop-filter 0.42s ease-in-out, -webkit-backdrop-filter 0.42s ease-in-out, visibility 0s linear 0.42s;
    }

    .mobile-account-offcanvas-panel {
        position: fixed;
        left: 0;
        right: 0;
        bottom: 0;
        width: 100%;
        max-width: none;
        height: auto;
        max-height: min(75vh, 560px);
        min-height: min(65vh, 420px);
        margin: 0;
        padding: 0;
        overflow: hidden;
        display: flex;
        flex-direction: column;
        background: var(--C1, #222021);
        border: 1px solid rgba(0, 0, 0, 0.08);
        border-bottom: none;
        border-radius: 16px 16px 0 0;
        box-shadow: 0 -8px 40px rgba(0, 0, 0, 0.18);
        opacity: 1;
        visibility: hidden;
        transform: translate3d(0, 100%, 0);
        pointer-events: none;
        transition: transform 0.42s cubic-bezier(0.32, 0.72, 0, 1), visibility 0s linear 0s;
        z-index: 2;
        will-change: transform;
        backface-visibility: hidden;
    }

    .mobile-account-sheet.is-showing .mobile-account-offcanvas-panel,
    .mobile-account-sheet.is-open .mobile-account-offcanvas-panel,
    .mobile-account-sheet.is-closing .mobile-account-offcanvas-panel {
        visibility: visible;
        opacity: 1;
        pointer-events: auto;
    }

    .mobile-account-sheet.is-showing .mobile-account-offcanvas-panel,
    .mobile-account-sheet.is-open .mobile-account-offcanvas-panel {
        transform: translate3d(0, 0, 0);
        transition: transform 0.42s cubic-bezier(0.32, 0.72, 0, 1), visibility 0s linear 0s;
    }

    .mobile-account-sheet.is-closing .mobile-account-offcanvas-panel {
        transform: translate3d(0, 100%, 0);
        transition: transform 0.42s cubic-bezier(0.32, 0.72, 0, 1), visibility 0s linear 0.42s;
    }

    .mobile-account-offcanvas-panel .mobile-account-offcanvas-body {
        flex: 1;
        min-height: 0;
        overflow-y: auto;
        -webkit-overflow-scrolling: touch;
    }

    body.mobile-account-menu-open {
        overflow: hidden;
    }
}

@media (max-width: 992px) and (orientation: portrait) {
    .mobile-account-offcanvas-panel {
        bottom: calc(66px + env(safe-area-inset-bottom, 0px));
        max-height: min(75vh, calc(100dvh - 66px - env(safe-area-inset-bottom, 0px)));
        min-height: min(65vh, calc(100dvh - 66px - env(safe-area-inset-bottom, 0px) - 80px));
    }
}

@media (max-width: 992px) and (orientation: landscape) {
    .mobile-account-offcanvas-panel {
        top: calc(var(--header-height, 60px) + env(safe-area-inset-top, 0px));
        right: calc(66px + env(safe-area-inset-right, 0px));
        left: 0;
        bottom: 0;
        width: auto !important;
        max-width: none;
        max-height: none;
        min-height: 0;
        border-radius: 0;
    }

    .mobile-account-offcanvas-panel .mobile-account-offcanvas-body {
        max-height: none;
    }
}

@media (max-width: 992px) {
    .main-menu-sheet {
        position: fixed;
        inset: 0;
        z-index: 1047;
        pointer-events: none;
    }

    .main-menu-sheet.is-showing,
    .main-menu-sheet.is-open,
    .main-menu-sheet.is-closing {
        pointer-events: auto;
    }

    .main-menu-sheet.is-closing {
        pointer-events: none;
    }

    .main-menu-sheet__backdrop {
        position: fixed;
        inset: 0;
        background-color: #000000a3;
        opacity: 0;
        visibility: hidden;
        pointer-events: none;
        backdrop-filter: blur(0);
        -webkit-backdrop-filter: blur(0);
        transition: opacity 0.42s cubic-bezier(0.32, 0.72, 0, 1), backdrop-filter 0.42s cubic-bezier(0.32, 0.72, 0, 1), -webkit-backdrop-filter 0.42s cubic-bezier(0.32, 0.72, 0, 1), visibility 0s linear 0.42s;
        z-index: 1;
    }

    .main-menu-sheet__backdrop.is-visible {
        opacity: 1;
        visibility: visible;
        pointer-events: auto;
        backdrop-filter: blur(4px);
        -webkit-backdrop-filter: blur(4px);
        transition: opacity 0.42s cubic-bezier(0.32, 0.72, 0, 1), backdrop-filter 0.42s cubic-bezier(0.32, 0.72, 0, 1), -webkit-backdrop-filter 0.42s cubic-bezier(0.32, 0.72, 0, 1), visibility 0s linear 0s;
    }

    .main-menu-sheet.is-closing .main-menu-sheet__backdrop.is-visible {
        opacity: 0;
        visibility: visible;
        pointer-events: none;
        backdrop-filter: blur(0);
        -webkit-backdrop-filter: blur(0);
        transition: opacity 0.42s ease-in-out, backdrop-filter 0.42s ease-in-out, -webkit-backdrop-filter 0.42s ease-in-out, visibility 0s linear 0.42s;
    }

    .main-menu-sheet-panel {
        position: fixed;
        top: calc(var(--header-height, 60px) + env(safe-area-inset-top, 0px));
        bottom: 0;
        left: auto;
        right: 0;
        width: min(320px, 88vw);
        max-width: 88vw;
        height: auto;
        margin: 0;
        padding: 0;
        overflow: hidden;
        display: flex;
        flex-direction: column;
        background: var(--C7, #fff);
        border: none;
        border-radius: 0;
        box-shadow: -10px 0 36px rgba(0, 0, 0, 0.35);
        opacity: 1;
        visibility: hidden;
        transform: translate3d(100%, 0, 0);
        pointer-events: none;
        transition: transform 0.42s cubic-bezier(0.32, 0.72, 0, 1), visibility 0s linear 0s;
        z-index: 2;
        will-change: transform;
        backface-visibility: hidden;
    }

    .main-menu-sheet.is-showing .main-menu-sheet-panel,
    .main-menu-sheet.is-open .main-menu-sheet-panel,
    .main-menu-sheet.is-closing .main-menu-sheet-panel {
        visibility: visible;
        opacity: 1;
        pointer-events: auto;
    }

    .main-menu-sheet.is-showing .main-menu-sheet-panel,
    .main-menu-sheet.is-open .main-menu-sheet-panel {
        transform: translate3d(0, 0, 0);
        transition: transform 0.42s cubic-bezier(0.32, 0.72, 0, 1), visibility 0s linear 0s;
    }

    .main-menu-sheet.is-closing .main-menu-sheet-panel {
        transform: translate3d(100%, 0, 0);
        transition: transform 0.42s cubic-bezier(0.32, 0.72, 0, 1), visibility 0s linear 0.42s;
    }

    .main-menu-sheet-panel .main-menu-sheet-body {
        flex: 1;
        min-height: 0;
        overflow-y: auto;
        -webkit-overflow-scrolling: touch;
    }

    body.main-menu-open {
        overflow: hidden;
    }
}

@media (max-width: 992px) and (orientation: landscape) {
    .cart-summary-sheet__backdrop,
    .main-menu-sheet__backdrop,
    .mobile-account-sheet__backdrop {
        right: calc(66px + env(safe-area-inset-right, 0px));
    }

    .main-menu-sheet-panel {
        top: calc(var(--header-height, 60px) + env(safe-area-inset-top, 0px));
        bottom: 0;
        right: calc(66px + env(safe-area-inset-right, 0px));
        left: auto;
        width: min(300px, calc(100vw - 66px - env(safe-area-inset-right, 0px) - 12px));
        max-width: calc(100vw - 66px - env(safe-area-inset-right, 0px) - 12px);
        max-height: none;
        min-height: 0;
    }
}