
/* ========== ۱) بدون خط زیر لینک‌ها ========== */
a,
a:hover,
a:focus,
a:active,
a:visited {
    text-decoration: none !important;
}

/* ========== ۲) قفل: زوم / انتخاب متن / کپی / درگ / پرینت ========== */
html,
body {
    touch-action: pan-x pan-y;          /* اسکرول آره، پینچ‌زوم و دابل‌تپ‌زوم نه */
    overscroll-behavior: none;
    -webkit-text-size-adjust: 100%;
    text-size-adjust: 100%;
}

*,
*::before,
*::after {
    -webkit-user-select: none;
    -moz-user-select: none;
    user-select: none;
    -webkit-touch-callout: none;
    -webkit-tap-highlight-color: transparent;
    -webkit-user-drag: none;
}

/* فقط داخل فیلدهای ورودی انتخاب متن مجازه */
input,
textarea,
select,
[contenteditable="true"] {
    -webkit-user-select: text;
    -moz-user-select: text;
    user-select: text;
    font-size: 16px;                    /* جلوگیری از زوم خودکار iOS */
}

img,
svg,
a {
    -webkit-user-drag: none;
    user-drag: none;
}

img { pointer-events: none; }

::selection { background: transparent; }

@media print {
    html { display: none !important; }
}

/* ========== ۳) دکمه‌ها داخل باکس بردردار ========== */

/* منوی پایین */
.menu {
    gap: 6px;
    padding: 6px;
    border-radius: 22px;
    background: rgba(255, 255, 255, .92);
    border: 1px solid var(--line-strong);
}

.menu .menu-btn {
    border: 1px solid var(--line);
    border-radius: 14px;
    background: #fff;
    color: var(--text-3);
}

.menu .menu-btn:hover {
    border-color: var(--purple);
    background: var(--purple-soft);
    color: var(--purple-deep);
}

.menu .menu-btn.active {
    border-color: var(--purple-deep);
    background: var(--purple);
    color: #fff;
}

/* بقیه‌ی دکمه‌ها */
.topbar .logout-btn {
    border-radius: 12px;
    border-color: var(--line-strong);
}

.access-item .access-item-btn,
.btn-primary,
.head-chip,
.offline-retry {
    border: 1px solid var(--purple-deep);
    border-radius: 10px;
    background: var(--purple-soft);
    color: var(--purple-deep);
    box-shadow: none;
}

.access-item .access-item-btn:hover,
.btn-primary:hover,
.head-chip:hover,
.offline-retry:hover {
    background: var(--purple);
    color: #fff;
}

.btn-amber,
.btn-amber:hover {
    border-color: #d97706;
}

.btn-amber {
    background: #fff7e0;
    color: #b45309;
}

.btn-amber:hover {
    background: #f59e0b;
    color: #fff;
}

/* lists.css — برای package_list / pack_list / amper_list / tamirat_list
   بعد از style.css (و site.css) لود میشه و از همون متغیرها استفاده می‌کنه */

/* ========== PAGE HEAD ========== */
.page-head {
    display: flex;
    align-items: center;
    gap: 12px;
    padding: 0 4px;
    margin-bottom: -8px;
}

.back-link {
    flex-shrink: 0;
    width: 40px;
    height: 40px;
    display: grid;
    place-items: center;
    background: var(--card);
    border: 1px solid var(--line);
    border-radius: 50%;
    color: var(--text-2);
    text-decoration: none;
    transition: all .28s cubic-bezier(.4, 0, .2, 1);
}

.back-link svg { width: 18px; height: 18px; }

.back-link:hover {
    color: var(--purple-deep);
    border-color: var(--purple);
    background: var(--purple-soft);
}

.back-link:active { transform: scale(.95); }

.page-head-text { min-width: 0; }

.page-eyebrow {
    display: block;
    font-size: .72rem;
    color: var(--text-3);
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
}

.page-title {
    font-size: 1.15rem;
    font-weight: 700;
    letter-spacing: -.01em;
    line-height: 1.4;
}

/* ========== CARDS (روی .pkg اصلی) ========== */
.pkg { gap: 12px; }
a.pkg { text-decoration: none; }

.pkg-text {
    flex: 1;
    min-width: 0;
}

.pkg-name,
.pkg-category {
    display: block;
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
}

.pkg-icon {
    flex-shrink: 0;
    width: 42px;
    height: 42px;
    display: grid;
    place-items: center;
    border-radius: 50%;
    color: var(--purple);
    background: var(--purple-soft);
    transition: all .28s cubic-bezier(.4, 0, .2, 1);
}

.pkg-icon svg { width: 20px; height: 20px; }

.pkg:hover .pkg-icon {
    color: #fff;
    background: var(--purple);
}

/* شماره‌ی پکیج داخل دایره */
.pkg-num {
    font-size: .75rem;
    font-weight: 700;
    font-variant-numeric: tabular-nums;
}

/* ردیف کد + توضیح */
.pkg-meta {
    display: flex;
    align-items: center;
    gap: 8px;
    min-width: 0;
}

.pkg-meta .pkg-category { min-width: 0; }

.pkg-code {
    flex-shrink: 0;
    padding: 1px 8px;
    font-family: ui-monospace, monospace;
    font-size: .64rem;
    letter-spacing: .3px;
    color: var(--purple-deep);
    background: var(--purple-soft);
    border-radius: 100px;
}

/* دکمه‌ی کوچک سمت چپ کارت */
.pkg-cta {
    flex-shrink: 0;
    padding: 6px 16px;
    font-size: .75rem;
    font-weight: 600;
    color: #fff;
    background: var(--purple);
    border-radius: 100px;
    box-shadow: 0 6px 14px -6px var(--purple-glow);
    transition: all .25s;
}

.pkg:hover .pkg-cta { background: var(--purple-deep); }

/* ===== حالت قفل (نیاز به خرید) ===== */
.pkg.locked {
    background: #fffbf0;
    border-color: #fde68a;
}

.pkg.locked::before { background: #f59e0b; }

.pkg.locked:hover {
    border-color: #fbbf24;
    background: linear-gradient(90deg, #fffbf0 0%, #fff6dc 100%);
}

.pkg.locked .pkg-icon {
    color: #b45309;
    background: #fef3c7;
}

.pkg.locked:hover .pkg-icon {
    color: #fff;
    background: #f59e0b;
}

.pkg.locked:hover .pkg-name { color: #92400e; }
.pkg.locked:hover .pkg-category { color: #b45309; }

.pkg-cta.buy {
    background: #f59e0b;
    box-shadow: 0 6px 14px -6px rgba(245, 158, 11, .4);
}

.pkg.locked:hover .pkg-cta.buy { background: #d97706; }

/* ========== حالت خالی ========== */
.list-empty {
    padding: 36px 20px;
    text-align: center;
    font-size: .85rem;
    color: var(--text-3);
    background: var(--card);
    border: 1px dashed var(--line-strong);
    border-radius: var(--radius);
}

/* ========== ورود کارت‌ها (JS اضافه می‌کنه) ========== */
.pkg.enter {
    animation: pkgIn .45s cubic-bezier(.16, 1, .3, 1) both;
}

.pkg.reveal {
    opacity: 0;
    transform: translateY(14px);
    transition: opacity .45s ease, transform .45s cubic-bezier(.16, 1, .3, 1),
    border-color .28s, background .28s;
}

.pkg.reveal.in {
    opacity: 1;
    transform: none;
}

@keyframes pkgIn {
    from { opacity: 0; transform: translateY(12px); }
    to   { opacity: 1; transform: none; }
}

@media (max-width: 420px) {
    .pkg { gap: 10px; }
    .pkg-icon { width: 38px; height: 38px; }
    .pkg-cta { padding: 5px 13px; }
    .page-title { font-size: 1.05rem; }
}

@media (prefers-reduced-motion: reduce) {
    .pkg.enter { animation: none; }
    .pkg.reveal { opacity: 1; transform: none; }
}


/* ==========================================================
   POLISH v2 — ظاهر زیباتر + دکمه‌های باکس‌دار
   ========================================================== */

/* هدر صفحه داخل کارت */
.page-head {
    position: relative;
    overflow: hidden;
    isolation: isolate;
    margin-bottom: 0;
    padding: 14px;
    background: var(--card);
    border: 1px solid var(--line);
    border-radius: var(--radius);
    box-shadow: var(--shadow-md);
}

.page-head::before {
    content: '';
    position: absolute;
    inset: 0 0 auto 0;
    height: 72px;
    background: radial-gradient(ellipse 80% 100% at 50% 0%, var(--purple-soft), transparent 80%);
    z-index: -1;
}

.back-link {
    border-radius: 12px;
    border-color: var(--line-strong);
}

.page-eyebrow { font-weight: 500; }

.section-hint { border: 1px solid #d9ccff; }

/* کارت‌ها */
.pkg {
    padding: 14px 16px;
    border-radius: 16px;
    box-shadow: var(--shadow-sm);
}

.pkg:hover { box-shadow: var(--shadow-md); }

/* آیکون داخل باکس بردردار */
.pkg-icon {
    border-radius: 12px;
    border: 1px solid #d9ccff;
}

.pkg:hover .pkg-icon { border-color: var(--purple-deep); }

.pkg.locked .pkg-icon { border-color: #fde68a; }
.pkg.locked:hover .pkg-icon { border-color: #d97706; }

/* کد محصول */
.pkg-code {
    border: 1px solid #d9ccff;
    border-radius: 8px;
}

/* دکمه‌ی کارت: باکس بردردار */
.pkg .pkg-cta {
    padding: 6px 14px;
    color: var(--purple-deep);
    background: var(--purple-soft);
    border: 1px solid var(--purple-deep);
    border-radius: 10px;
    box-shadow: none;
}

.pkg:hover .pkg-cta {
    color: #fff;
    background: var(--purple);
}

.pkg .pkg-cta.buy {
    color: #b45309;
    background: #fff7e0;
    border-color: #d97706;
    box-shadow: none;
}

.pkg:hover .pkg-cta.buy,
.pkg.locked:hover .pkg-cta.buy {
    color: #fff;
    background: #f59e0b;
}

/* فلش کارت‌های ساده هم داخل باکس */
.pkg .pkg-arrow {
    width: 34px;
    height: 34px;
    padding: 7px;
    color: var(--text-3);
    background: #fff;
    border: 1px solid var(--line);
    border-radius: 10px;
}

.pkg:hover .pkg-arrow {
    color: var(--purple-deep);
    background: var(--purple-soft);
    border-color: var(--purple);
}