/*!
 * Bootstrap-select v1.13.14 (https://developer.snapappointments.com/bootstrap-select)
 *
 * Copyright 2012-2020 SnapAppointments, LLC
 * Licensed under MIT (https://github.com/snapappointments/bootstrap-select/blob/master/LICENSE)
 */@-webkit-keyframes bs-notify-fadeOut{0%{opacity:.9}100%{opacity:0}}@-o-keyframes bs-notify-fadeOut{0%{opacity:.9}100%{opacity:0}}@keyframes bs-notify-fadeOut{0%{opacity:.9}100%{opacity:0}}.bootstrap-select>select.bs-select-hidden,select.bs-select-hidden,select.selectpicker{display:none!important}.bootstrap-select{width:220px\0;vertical-align:middle}.bootstrap-select>.dropdown-toggle{position:relative;width:100%;text-align:right;white-space:nowrap;display:-webkit-inline-box;display:-webkit-inline-flex;display:-ms-inline-flexbox;display:inline-flex;-webkit-box-align:center;-webkit-align-items:center;-ms-flex-align:center;align-items:center;-webkit-box-pack:justify;-webkit-justify-content:space-between;-ms-flex-pack:justify;justify-content:space-between}.bootstrap-select>.dropdown-toggle:after{margin-top:-1px}.bootstrap-select>.dropdown-toggle.bs-placeholder,.bootstrap-select>.dropdown-toggle.bs-placeholder:active,.bootstrap-select>.dropdown-toggle.bs-placeholder:focus,.bootstrap-select>.dropdown-toggle.bs-placeholder:hover{color:#999}.bootstrap-select>.dropdown-toggle.bs-placeholder.btn-danger,.bootstrap-select>.dropdown-toggle.bs-placeholder.btn-danger:active,.bootstrap-select>.dropdown-toggle.bs-placeholder.btn-danger:focus,.bootstrap-select>.dropdown-toggle.bs-placeholder.btn-danger:hover,.bootstrap-select>.dropdown-toggle.bs-placeholder.btn-dark,.bootstrap-select>.dropdown-toggle.bs-placeholder.btn-dark:active,.bootstrap-select>.dropdown-toggle.bs-placeholder.btn-dark:focus,.bootstrap-select>.dropdown-toggle.bs-placeholder.btn-dark:hover,.bootstrap-select>.dropdown-toggle.bs-placeholder.btn-info,.bootstrap-select>.dropdown-toggle.bs-placeholder.btn-info:active,.bootstrap-select>.dropdown-toggle.bs-placeholder.btn-info:focus,.bootstrap-select>.dropdown-toggle.bs-placeholder.btn-info:hover,.bootstrap-select>.dropdown-toggle.bs-placeholder.btn-primary,.bootstrap-select>.dropdown-toggle.bs-placeholder.btn-primary:active,.bootstrap-select>.dropdown-toggle.bs-placeholder.btn-primary:focus,.bootstrap-select>.dropdown-toggle.bs-placeholder.btn-primary:hover,.bootstrap-select>.dropdown-toggle.bs-placeholder.btn-secondary,.bootstrap-select>.dropdown-toggle.bs-placeholder.btn-secondary:active,.bootstrap-select>.dropdown-toggle.bs-placeholder.btn-secondary:focus,.bootstrap-select>.dropdown-toggle.bs-placeholder.btn-secondary:hover,.bootstrap-select>.dropdown-toggle.bs-placeholder.btn-success,.bootstrap-select>.dropdown-toggle.bs-placeholder.btn-success:active,.bootstrap-select>.dropdown-toggle.bs-placeholder.btn-success:focus,.bootstrap-select>.dropdown-toggle.bs-placeholder.btn-success:hover{color:rgba(255,255,255,.5)}.bootstrap-select>select{position:absolute!important;bottom:0;left:50%;display:block!important;width:.5px!important;height:100%!important;padding:0!important;opacity:0!important;border:none;z-index:0!important}.bootstrap-select>select.mobile-device{top:0;left:0;display:block!important;width:100%!important;z-index:2!important}.bootstrap-select.is-invalid .dropdown-toggle,.error .bootstrap-select .dropdown-toggle,.has-error .bootstrap-select .dropdown-toggle,.was-validated .bootstrap-select select:invalid+.dropdown-toggle{border-color:#b94a48}.bootstrap-select.is-valid .dropdown-toggle,.was-validated .bootstrap-select select:valid+.dropdown-toggle{border-color:#28a745}.bootstrap-select.fit-width{width:auto!important}.bootstrap-select:not([class*=col-]):not([class*=form-control]):not(.input-group-btn){width:220px}.bootstrap-select .dropdown-toggle:focus,.bootstrap-select>select.mobile-device:focus+.dropdown-toggle{outline:thin dotted #333!important;outline:5px auto -webkit-focus-ring-color!important;outline-offset:-2px}.bootstrap-select.form-control{margin-bottom:0;padding:0;border:none;height:auto}:not(.input-group)>.bootstrap-select.form-control:not([class*=col-]){width:100%}.bootstrap-select.form-control.input-group-btn{float:none;z-index:auto}.form-inline .bootstrap-select,.form-inline .bootstrap-select.form-control:not([class*=col-]){width:auto}.bootstrap-select:not(.input-group-btn),.bootstrap-select[class*=col-]{float:none;display:inline-block;margin-left:0}.bootstrap-select.dropdown-menu-right,.bootstrap-select[class*=col-].dropdown-menu-right,.row .bootstrap-select[class*=col-].dropdown-menu-right{float:right}.form-group .bootstrap-select,.form-horizontal .bootstrap-select,.form-inline .bootstrap-select{margin-bottom:0}.form-group-lg .bootstrap-select.form-control,.form-group-sm .bootstrap-select.form-control{padding:0}.form-group-lg .bootstrap-select.form-control .dropdown-toggle,.form-group-sm .bootstrap-select.form-control .dropdown-toggle{height:100%;font-size:inherit;line-height:inherit;border-radius:inherit}.bootstrap-select.form-control-lg .dropdown-toggle,.bootstrap-select.form-control-sm .dropdown-toggle{font-size:inherit;line-height:inherit;border-radius:inherit}.bootstrap-select.form-control-sm .dropdown-toggle{padding:.25rem .5rem}.bootstrap-select.form-control-lg .dropdown-toggle{padding:.5rem 1rem}.form-inline .bootstrap-select .form-control{width:100%}.bootstrap-select.disabled,.bootstrap-select>.disabled{cursor:not-allowed}.bootstrap-select.disabled:focus,.bootstrap-select>.disabled:focus{outline:0!important}.bootstrap-select.bs-container{position:absolute;top:0;left:0;height:0!important;padding:0!important}.bootstrap-select.bs-container .dropdown-menu{z-index:1060}.bootstrap-select .dropdown-toggle .filter-option{position:static;top:0;left:0;float:left;height:100%;width:100%;text-align:left;overflow:hidden;-webkit-box-flex:0;-webkit-flex:0 1 auto;-ms-flex:0 1 auto;flex:0 1 auto}.bs3.bootstrap-select .dropdown-toggle .filter-option{padding-right:inherit}.input-group .bs3-has-addon.bootstrap-select .dropdown-toggle .filter-option{position:absolute;padding-top:inherit;padding-bottom:inherit;padding-left:inherit;float:none}.input-group .bs3-has-addon.bootstrap-select .dropdown-toggle .filter-option .filter-option-inner{padding-right:inherit}.bootstrap-select .dropdown-toggle .filter-option-inner-inner{overflow:hidden}.bootstrap-select .dropdown-toggle .filter-expand{width:0!important;float:left;opacity:0!important;overflow:hidden}.bootstrap-select .dropdown-toggle .caret{position:absolute;top:50%;right:12px;margin-top:-2px;vertical-align:middle}.input-group .bootstrap-select.form-control .dropdown-toggle{border-radius:inherit}.bootstrap-select[class*=col-] .dropdown-toggle{width:100%}.bootstrap-select .dropdown-menu{min-width:100%;-webkit-box-sizing:border-box;-moz-box-sizing:border-box;box-sizing:border-box}.bootstrap-select .dropdown-menu>.inner:focus{outline:0!important}.bootstrap-select .dropdown-menu.inner{position:static;float:none;border:0;padding:0;margin:0;border-radius:0;-webkit-box-shadow:none;box-shadow:none}.bootstrap-select .dropdown-menu li{position:relative}.bootstrap-select .dropdown-menu li.active small{color:rgba(255,255,255,.5)!important}.bootstrap-select .dropdown-menu li.disabled a{cursor:not-allowed}.bootstrap-select .dropdown-menu li a{cursor:pointer;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none}.bootstrap-select .dropdown-menu li a.opt{position:relative;padding-left:2.25em}.bootstrap-select .dropdown-menu li a span.check-mark{display:none}.bootstrap-select .dropdown-menu li a span.text{display:inline-block}.bootstrap-select .dropdown-menu li small{padding-left:.5em}.bootstrap-select .dropdown-menu .notify{position:absolute;bottom:5px;width:96%;margin:0 2%;min-height:26px;padding:3px 5px;background:#f5f5f5;border:1px solid #e3e3e3;-webkit-box-shadow:inset 0 1px 1px rgba(0,0,0,.05);box-shadow:inset 0 1px 1px rgba(0,0,0,.05);pointer-events:none;opacity:.9;-webkit-box-sizing:border-box;-moz-box-sizing:border-box;box-sizing:border-box}.bootstrap-select .dropdown-menu .notify.fadeOut{-webkit-animation:.3s linear 750ms forwards bs-notify-fadeOut;-o-animation:.3s linear 750ms forwards bs-notify-fadeOut;animation:.3s linear 750ms forwards bs-notify-fadeOut}.bootstrap-select .no-results{padding:3px;background:#f5f5f5;margin:0 5px;white-space:nowrap}.bootstrap-select.fit-width .dropdown-toggle .filter-option{position:static;display:inline;padding:0}.bootstrap-select.fit-width .dropdown-toggle .filter-option-inner,.bootstrap-select.fit-width .dropdown-toggle .filter-option-inner-inner{display:inline}.bootstrap-select.fit-width .dropdown-toggle .bs-caret:before{content:'\00a0'}.bootstrap-select.fit-width .dropdown-toggle .caret{position:static;top:auto;margin-top:-1px}.bootstrap-select.show-tick .dropdown-menu .selected span.check-mark{position:absolute;display:inline-block;right:15px;top:5px}.bootstrap-select.show-tick .dropdown-menu li a span.text{margin-right:34px}.bootstrap-select .bs-ok-default:after{content:'';display:block;width:.5em;height:1em;border-style:solid;border-width:0 .26em .26em 0;-webkit-transform:rotate(45deg);-ms-transform:rotate(45deg);-o-transform:rotate(45deg);transform:rotate(45deg)}.bootstrap-select.show-menu-arrow.open>.dropdown-toggle,.bootstrap-select.show-menu-arrow.show>.dropdown-toggle{z-index:1061}.bootstrap-select.show-menu-arrow .dropdown-toggle .filter-option:before{content:'';border-left:7px solid transparent;border-right:7px solid transparent;border-bottom:7px solid rgba(204,204,204,.2);position:absolute;bottom:-4px;left:9px;display:none}.bootstrap-select.show-menu-arrow .dropdown-toggle .filter-option:after{content:'';border-left:6px solid transparent;border-right:6px solid transparent;border-bottom:6px solid #fff;position:absolute;bottom:-4px;left:10px;display:none}.bootstrap-select.show-menu-arrow.dropup .dropdown-toggle .filter-option:before{bottom:auto;top:-4px;border-top:7px solid rgba(204,204,204,.2);border-bottom:0}.bootstrap-select.show-menu-arrow.dropup .dropdown-toggle .filter-option:after{bottom:auto;top:-4px;border-top:6px solid #fff;border-bottom:0}.bootstrap-select.show-menu-arrow.pull-right .dropdown-toggle .filter-option:before{right:12px;left:auto}.bootstrap-select.show-menu-arrow.pull-right .dropdown-toggle .filter-option:after{right:13px;left:auto}.bootstrap-select.show-menu-arrow.open>.dropdown-toggle .filter-option:after,.bootstrap-select.show-menu-arrow.open>.dropdown-toggle .filter-option:before,.bootstrap-select.show-menu-arrow.show>.dropdown-toggle .filter-option:after,.bootstrap-select.show-menu-arrow.show>.dropdown-toggle .filter-option:before{display:block}.bs-actionsbox,.bs-donebutton,.bs-searchbox{padding:4px 8px}.bs-actionsbox{width:100%;-webkit-box-sizing:border-box;-moz-box-sizing:border-box;box-sizing:border-box}.bs-actionsbox .btn-group button{width:50%}.bs-donebutton{float:left;width:100%;-webkit-box-sizing:border-box;-moz-box-sizing:border-box;box-sizing:border-box}.bs-donebutton .btn-group button{width:100%}.bs-searchbox+.bs-actionsbox{padding:0 8px 4px}.bs-searchbox .form-control{margin-bottom:0;width:100%;float:none}

.user_avatar_letter {
    width: 45px !important;
    height: 45px !important;
    min-width: 45px !important;    /* جلوگیری از فشرده شدن عرض */
    min-height: 45px !important;   /* جلوگیری از فشرده شدن ارتفاع */
    flex-shrink: 0 !important;     /* جلوگیری از جمع شدن در فلکس باکس */
    aspect-ratio: 1 / 1;          /* تضمین مربع بودن ابعاد */
    border-radius: 50% !important;/* تبدیل قطعی مربع به دایره */

    color: #ffffff;
    display: flex;
    align-items: center;
    justify-content: center;
    font-weight: 700;
    font-size: 15px;
    line-height: 1;               /* جلوگیری از کشیدگی عمودی متن */
    letter-spacing: 0;
    user-select: none;
    box-shadow: 0 2px 5px rgba(0,0,0,0.15);
}

.img_cont {
    position: relative;
    width: 45px;
    height: 45px;
    flex-shrink: 0 !important;    /* کانتینر اصلی هم جمع نشود */
}

/* =====================================================
   ویجت اشتراک هوشمند (مدل دایره چرخان + انیمیشن + ریسپانسیو)
   ===================================================== */

/* 1. کانتینر اصلی */
.sub-orbit {
    --c: #2563eb;
    --cl: #60a5fa;
    display: inline-flex;
    align-items: center;
    gap: 10px;
    padding: 5px 8px 5px 5px;
    margin: 0 10px;
    border-radius: 50px;
    background: rgba(255, 255, 255, 0.85);
    backdrop-filter: blur(10px);
    -webkit-backdrop-filter: blur(10px);
    box-shadow: 0 4px 15px rgba(0, 0, 0, 0.06);
    border: 1px solid rgba(0, 0, 0, 0.08);
    direction: rtl;
    vertical-align: middle;
}

/* حالت‌های رنگی کانتینر */
.sub-orbit.sub-orbit--warning { --c: #ea580c; --cl: #fb923c; }
.sub-orbit.sub-orbit--danger  { --c: #dc2626; --cl: #f87171; }

/* 2. رنگ گرادیان حلقه بر اساس وضعیت */
.sub-orbit--ok .grad-start      { stop-color: #60a5fa; }
.sub-orbit--ok .grad-end        { stop-color: #1d4ed8; }
.sub-orbit--warning .grad-start { stop-color: #fdba74; }
.sub-orbit--warning .grad-end   { stop-color: #c2410c; }
.sub-orbit--danger .grad-start  { stop-color: #fca5a5; }
.sub-orbit--danger .grad-end    { stop-color: #b91c1c; }

/* 3. دایره شمارنده و SVG */
.orbit-circle {
    position: relative;
    width: 54px;
    height: 54px;
    flex-shrink: 0;
}

.orbit-svg {
    width: 100%;
    height: 100%;
    transform: rotate(-90deg);
    overflow: visible;
}

.orbit-svg circle {
    fill: none;
    stroke-width: 4.5;
    stroke-linecap: round;
}

.ring-track {
    stroke: rgba(0, 0, 0, 0.08);
}

.ring-progress {
    stroke-dasharray: 220;
    stroke-dashoffset: 220;
    animation: fillRing 1.3s cubic-bezier(0.25, 0.8, 0.3, 1) forwards;
    animation-delay: 0.2s;
    filter: drop-shadow(0 0 4px var(--cl));
}

@keyframes fillRing {
    to { stroke-dashoffset: calc(220 - (220 * var(--target, 50)) / 100); }
}

/* هاله نورانی چرخان دور دایره */
.ring-halo {
    stroke: var(--cl);
    stroke-width: 4.5;
    stroke-dasharray: 14 206;
    animation: spinHalo 3.5s linear infinite;
    filter: drop-shadow(0 0 6px var(--cl));
    opacity: 0.9;
}

@keyframes spinHalo {
    to { stroke-dashoffset: -220; }
}

/* متن و عدد داخل دایره */
.orbit-content {
    position: absolute;
    inset: 0;
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    line-height: 1;
}

.orbit-num {
    font-size: 18px;
    font-weight: 900;
    color: var(--c);
    animation: numPop 0.5s cubic-bezier(0.34, 1.56, 0.64, 1) 0.3s backwards;
}

@keyframes numPop {
    from { transform: scale(0.4); opacity: 0; }
    to   { transform: scale(1);   opacity: 1; }
}

.orbit-label {
    font-size: 9px;
    font-weight: 600;
    color: #64748b;
    margin-top: 2px;
}

/* 4. دکمه ارتقا / تمدید */
.orbit-btn {
    display: inline-flex;
    align-items: center;
    gap: 6px;
    padding: 7px 14px;
    border-radius: 30px;
    font-size: 11.5px;
    font-weight: 700;
    text-decoration: none !important;
    color: #ffffff !important;
    background: linear-gradient(135deg, var(--cl), var(--c));
    transition: transform .2s ease, box-shadow .2s ease;
    white-space: nowrap;
}

.sub-orbit--ok .orbit-btn      { box-shadow: 0 3px 10px rgba(37, 99, 235, 0.35); }
.sub-orbit--warning .orbit-btn { box-shadow: 0 3px 10px rgba(234, 88, 12, 0.35); }
.sub-orbit--danger .orbit-btn  { box-shadow: 0 3px 10px rgba(220, 38, 38, 0.4); }

.orbit-btn:hover {
    transform: translateY(-2px) scale(1.02);
}
.sub-orbit--ok .orbit-btn:hover      { box-shadow: 0 5px 15px rgba(37, 99, 235, 0.5); }
.sub-orbit--warning .orbit-btn:hover { box-shadow: 0 5px 15px rgba(234, 88, 12, 0.5); }
.sub-orbit--danger .orbit-btn:hover  { box-shadow: 0 5px 15px rgba(220, 38, 38, 0.55); }

.orbit-btn:active { transform: scale(0.96); }

/* 5. انیمیشن‌های حالت اضطراری (زیر ۷ روز - قرمز) */
.sub-orbit--danger .orbit-circle {
    animation: circlePulse 1.5s ease-in-out infinite;
}

@keyframes circlePulse {
    0%, 100% { transform: scale(1); }
    50%      { transform: scale(1.06); }
}

.sub-orbit--danger .orbit-btn {
    animation: btnGlow 1.5s ease-in-out infinite;
}

@keyframes btnGlow {
    0%, 100% { box-shadow: 0 3px 10px rgba(220, 38, 38, 0.4); }
    50%      { box-shadow: 0 3px 20px rgba(220, 38, 38, 0.85); }
}

/* 6. استایل موبایل (زیر 576px) */
@media (max-width: 576px) {
    .sub-orbit {
        gap: 6px;
        padding: 3px 5px 3px 3px;
        margin: 0 4px;
    }
    .orbit-circle {
        width: 42px;
        height: 42px;
    }
    .orbit-num {
        font-size: 14px;
    }
    .orbit-label {
        font-size: 7.5px;
    }
    .orbit-btn span {
        display: none; /* در موبایل فقط آیکون می‌ماند */
    }
    .orbit-btn {
        width: 32px;
        height: 32px;
        padding: 0;
        border-radius: 50%;
        justify-content: center;
    }
}

/* ==========================================================================
   طراحی پاپ‌آپ تمدید و ارتقا (Modal & Plan Selector)
   ========================================================================== */

.up-modal-overlay {
    position: fixed;
    inset: 0;
    background: rgba(15, 23, 42, 0.65);
    backdrop-filter: blur(8px);
    -webkit-backdrop-filter: blur(8px);
    z-index: 99999;
    display: flex;
    align-items: center;
    justify-content: center;
    padding: 15px;
    opacity: 0;
    visibility: hidden;
    transition: opacity 0.3s ease, visibility 0.3s ease;
    direction: rtl;
}

.up-modal-overlay.is-open {
    opacity: 1;
    visibility: visible;
}

.up-modal-box {
    position: relative;
    background: #ffffff;
    width: 100%;
    max-width: 720px;
    border-radius: 24px;
    padding: 30px;
    box-shadow: 0 25px 60px -15px rgba(0, 0, 0, 0.25);
    border: 1px solid rgba(255, 255, 255, 0.8);
    transform: scale(0.92) translateY(20px);
    transition: transform 0.35s cubic-bezier(0.34, 1.56, 0.64, 1);
    max-height: 92vh;
    overflow-y: auto;
}

.up-modal-overlay.is-open .up-modal-box {
    transform: scale(1) translateY(0);
}

/* دکمه بستن پاپ‌آپ */
.up-close-btn {
    position: absolute;
    top: 20px;
    left: 20px;
    width: 36px;
    height: 36px;
    border-radius: 50%;
    background: #f1f5f9;
    border: none;
    display: flex;
    align-items: center;
    justify-content: center;
    color: #64748b;
    cursor: pointer;
    transition: all 0.2s ease;
}

.up-close-btn:hover {
    background: #e2e8f0;
    color: #0f172a;
    transform: rotate(90deg);
}

/* هدر */
.up-modal-header {
    text-align: center;
    margin-bottom: 25px;
}

.up-badge {
    display: inline-block;
    padding: 4px 14px;
    background: rgba(37, 99, 235, 0.1);
    color: #2563eb;
    border-radius: 30px;
    font-size: 12px;
    font-weight: 700;
    margin-bottom: 10px;
}

.up-modal-header h3 {
    font-size: 20px;
    font-weight: 800;
    color: #0f172a;
    margin: 0 0 6px 0;
}

.up-modal-header p {
    font-size: 13px;
    color: #64748b;
    margin: 0;
}

/* گرید پلن‌ها */
.up-plans-grid {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 15px;
    margin-bottom: 25px;
}

.up-plan-card {
    position: relative;
    border: 2px solid #e2e8f0;
    border-radius: 18px;
    padding: 20px 14px;
    cursor: pointer;
    transition: all 0.25s ease;
    background: #ffffff;
    display: flex;
    flex-direction: column;
}

.up-plan-card input[type="radio"] {
    display: none;
}

.up-plan-card:hover {
    border-color: #93c5fd;
    transform: translateY(-3px);
    box-shadow: 0 10px 20px -5px rgba(37, 99, 235, 0.12);
}

.up-plan-card.selected {
    border-color: #2563eb;
    background: linear-gradient(180deg, rgba(239, 246, 255, 0.6) 0%, #ffffff 100%);
    box-shadow: 0 12px 25px -8px rgba(37, 99, 235, 0.25);
}

.popular-ribbon {
    position: absolute;
    top: -11px;
    left: 50%;
    transform: translateX(-50%);
    background: linear-gradient(135deg, #2563eb, #1d4ed8);
    color: #fff;
    font-size: 10.5px;
    font-weight: 800;
    padding: 2px 10px;
    border-radius: 20px;
    box-shadow: 0 2px 8px rgba(37, 99, 235, 0.35);
}

.popular-ribbon.eco {
    background: linear-gradient(135deg, #10b981, #059669);
    box-shadow: 0 2px 8px rgba(16, 185, 129, 0.35);
}

.plan-period {
    font-size: 13.5px;
    font-weight: 800;
    color: #1e293b;
    display: block;
    margin-bottom: 8px;
    text-align: center;
}

.plan-price {
    font-size: 18px;
    font-weight: 900;
    color: #2563eb;
    text-align: center;
    margin-bottom: 12px;
}

.plan-price span {
    font-size: 11px;
    font-weight: 600;
    color: #64748b;
}

.plan-features {
    list-style: none;
    padding: 0;
    margin: 0;
    border-top: 1px dashed #e2e8f0;
    padding-top: 10px;
}

.plan-features li {
    font-size: 11px;
    color: #475569;
    margin-bottom: 6px;
    position: relative;
    padding-right: 14px;
}

.plan-features li::before {
    content: "✓";
    position: absolute;
    right: 0;
    color: #10b981;
    font-weight: bold;
}

/* آکاردئون قرارداد */
.up-contract-wrapper {
    background: #f8fafc;
    border-radius: 16px;
    border: 1px solid #e2e8f0;
    padding: 12px 16px;
    margin-bottom: 25px;
}

.up-contract-header {
    display: flex;
    align-items: center;
    justify-content: space-between;
    cursor: pointer;
    user-select: none;
}

.contract-title {
    display: flex;
    align-items: center;
    gap: 8px;
    font-size: 13px;
    font-weight: 700;
    color: #334155;
}

.contract-title svg {
    color: #2563eb;
}

.up-chevron {
    color: #64748b;
    transition: transform 0.3s ease;
}

.up-chevron.rotate {
    transform: rotate(180deg);
}

.up-contract-body {
    max-height: 0;
    overflow: hidden;
    transition: max-height 0.35s ease, margin 0.3s ease;
}

.up-contract-body.active {
    max-height: 160px;
    margin-top: 12px;
}

.contract-scroll-box {
    background: #ffffff;
    border: 1px solid #cbd5e1;
    border-radius: 10px;
    padding: 12px;
    max-height: 140px;
    overflow-y: auto;
    font-size: 11.5px;
    line-height: 1.8;
    color: #475569;
}

.contract-scroll-box h5 {
    font-size: 12px;
    font-weight: 800;
    margin: 0 0 6px 0;
    color: #0f172a;
}

/* چک‌باکس سفارشی */
.up-agree-row {
    margin-top: 12px;
    padding-top: 10px;
    border-top: 1px solid #edf2f7;
}

.custom-checkbox {
    display: flex;
    align-items: center;
    gap: 10px;
    cursor: pointer;
    font-size: 12.5px;
    font-weight: 600;
    color: #1e293b;
    user-select: none;
}

.custom-checkbox input {
    display: none;
}

.checkmark {
    width: 19px;
    height: 19px;
    border: 2px solid #94a3b8;
    border-radius: 6px;
    display: inline-block;
    position: relative;
    transition: all 0.2s ease;
    background: #fff;
    flex-shrink: 0;
}

.custom-checkbox input:checked + .checkmark {
    background: #2563eb;
    border-color: #2563eb;
}

.custom-checkbox input:checked + .checkmark::after {
    content: "";
    position: absolute;
    left: 5px;
    top: 2px;
    width: 5px;
    height: 10px;
    border: solid white;
    border-width: 0 2px 2px 0;
    transform: rotate(45deg);
}

/* فوتر پاپ‌آپ (اینماد و دکمه پرداخت) */
.up-modal-footer {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 15px;
}

.up-enamad-box {
    display: flex;
    align-items: center;
    gap: 10px;
}

.up-enamad-box img {
    height: 48px;
    width: auto;
    border-radius: 8px;
    background: #ffffff;
    padding: 2px;
    border: 1px solid #e2e8f0;
}

.enamad-txt {
    font-size: 11px;
    color: #64748b;
    font-weight: 600;
}

/* دکمه پرداخت */
.up-pay-btn {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    padding: 12px 28px;
    border-radius: 14px;
    font-size: 13.5px;
    font-weight: 800;
    color: #ffffff;
    background: linear-gradient(135deg, #2563eb, #1d4ed8);
    border: none;
    cursor: pointer;
    box-shadow: 0 4px 15px rgba(37, 99, 235, 0.35);
    transition: all 0.25s ease;
}

.up-pay-btn:hover:not(:disabled) {
    transform: translateY(-2px);
    box-shadow: 0 6px 20px rgba(37, 99, 235, 0.5);
}

.up-pay-btn:disabled {
    background: #cbd5e1;
    box-shadow: none;
    cursor: not-allowed;
    opacity: 0.65;
}

/* ریسپانسیو موبایل */
@media (max-width: 640px) {
    .up-plans-grid {
        grid-template-columns: 1fr;
        gap: 10px;
    }
    .up-modal-footer {
        flex-direction: column-reverse;
        align-items: stretch;
    }
    .up-pay-btn {
        justify-content: center;
        width: 100%;
    }
    .up-enamad-box {
        justify-content: center;
    }
}



