/* ─────────────────────────────────────────────────────────────
   بازطراحی صفحهٔ داخلی رویداد (ev-*) — فایل مستقل، بدون نیاز به بیلدِ Tailwind.
   هویت: بنفش #5B3FD8 (اصلی)، سبزآبی #00C2A8 (تأیید/اقدام)، صورتی #FF4D8D (تأکید).
   Light و Dark هر دو توکنِ اختصاصی دارند (نه وارونه‌سازیِ ساده)؛ رنگ‌های معنایی یکسان‌اند.
   ───────────────────────────────────────────────────────────── */

:root {
    --ev-brand: #5b3fd8;
    --ev-brand-ink: #4c2fb0;
    --ev-ok: #00c2a8;
    --ev-ok-ink: #006b5d;
    --ev-ok-on: #032b26;
    --ev-accent: #ff4d8d;
    --ev-card: #ffffff;
    --ev-card-2: #f6f4ff;
    --ev-line: rgba(30, 20, 80, 0.12);
    --ev-ink: #1b1830;
    --ev-muted: #5a5870;
    --ev-soft: rgba(91, 63, 216, 0.08);
    --ev-shadow: 0 18px 40px -24px rgba(50, 30, 150, 0.45);
    --ev-warn-bg: rgba(245, 158, 11, 0.14);
    --ev-warn-ink: #8a4b06;
    --ev-bad-bg: rgba(225, 29, 72, 0.1);
    --ev-bad-ink: #be123c;
}
html.dark {
    --ev-brand-ink: #b6a6f6;
    --ev-ok-ink: #3fe3cb;
    --ev-card: #20202c;
    --ev-card-2: #282836;
    --ev-line: rgba(255, 255, 255, 0.14);
    --ev-ink: #f3f1ff;
    --ev-muted: #c9c8d8;
    --ev-soft: rgba(138, 112, 245, 0.16);
    --ev-shadow: 0 18px 40px -24px rgba(0, 0, 0, 0.7);
    --ev-warn-bg: rgba(245, 158, 11, 0.16);
    --ev-warn-ink: #fcd34d;
    --ev-bad-bg: rgba(251, 113, 133, 0.14);
    --ev-bad-ink: #fda4af;
}
@media (prefers-color-scheme: dark) {
    html[data-theme="auto"]:not(.dark) {
        --ev-brand-ink: #b6a6f6;
        --ev-ok-ink: #3fe3cb;
        --ev-card: #20202c;
        --ev-card-2: #282836;
        --ev-line: rgba(255, 255, 255, 0.14);
        --ev-ink: #f3f1ff;
        --ev-muted: #c9c8d8;
        --ev-soft: rgba(138, 112, 245, 0.16);
        --ev-shadow: 0 18px 40px -24px rgba(0, 0, 0, 0.7);
        --ev-warn-bg: rgba(245, 158, 11, 0.16);
        --ev-warn-ink: #fcd34d;
        --ev-bad-bg: rgba(251, 113, 133, 0.14);
        --ev-bad-ink: #fda4af;
    }
}

.ev-page { font-family: 'Vazirmatn', system-ui, sans-serif; }

/* ═══════════ هدر (همیشه تیره؛ رنگِ پوستر فقط جلوه می‌دهد) ═══════════ */
.ev-hero { position: relative; overflow: hidden; background: #0e0b1f; color: #fff; isolation: isolate; }
.ev-hero__bg { position: absolute; inset: 0; z-index: -3; }
.ev-hero__bg img { width: 100%; height: 100%; object-fit: cover; transform: scale(1.15); filter: blur(28px) saturate(1.2); opacity: .42; }
.ev-hero__shade { position: absolute; inset: 0; z-index: -2;
    background:
        radial-gradient(46rem 26rem at 85% -10%, rgba(91, 63, 216, .55), transparent 62%),
        radial-gradient(32rem 22rem at 5% 115%, rgba(255, 77, 141, .22), transparent 60%),
        linear-gradient(to top, #0e0b1f 4%, rgba(14, 11, 31, .78) 45%, rgba(14, 11, 31, .5)); }
.ev-hero__in { max-width: 72rem; margin: 0 auto; padding: 1.5rem 1.25rem 2.25rem; display: flex; gap: 1.1rem; align-items: flex-start; }
.ev-hero--stats .ev-hero__in { padding-bottom: 5.25rem; }
/* خرده‌نان: اولین خطِ داخلِ هدر (هدر مستقیم به نوارِ سایت می‌چسبد)؛ تک‌خط و قابلِ اسکرول در موبایل */
.ev-hero__crumbs { max-width: 72rem; margin: 0 auto; padding: .8rem 1.25rem 0; }
.ev-hero__crumbs .breadcrumbs { font-size: .78rem; color: #cfc9ee; }
.ev-hero__crumbs ol { flex-wrap: nowrap; overflow-x: auto; scrollbar-width: none; white-space: nowrap; }
.ev-hero__crumbs ol::-webkit-scrollbar { display: none; }
.ev-hero__crumbs li { flex: none; }
.ev-hero__crumbs li:last-child { flex: 0 1 auto; min-width: 0; }
.ev-hero__crumbs a { color: #e4dfff; text-decoration: none; }
.ev-hero__crumbs a:hover { color: #fff; text-decoration: underline; }
.ev-hero__crumbs [aria-current] { color: #fff; display: block; max-width: 16rem; overflow: hidden; text-overflow: ellipsis; }
.ev-hero__crumbs svg { color: #8f86c4; }
.ev-hero__in--crumbs { padding-top: 1rem; }
.ev-hero__org--below { margin-top: .75rem; }
/* فاصله بینِ «قیمت/وضعیتِ فروش» و شمارندهٔ معکوس */
.ev-stats-wrap + [data-countdown] { margin-top: 1.5rem; }
.ev-hero__poster { flex: none; width: 7.25rem; }
.ev-hero__poster [data-event-poster] { width: 100% !important; }
.ev-hero__poster > * { width: 100%; }
.ev-hero__body { min-width: 0; flex: 1; }
.ev-hero__badges { display: flex; flex-wrap: wrap; align-items: center; gap: .4rem; }
.ev-chip { display: inline-flex; align-items: center; gap: .3rem; padding: .22rem .65rem; border-radius: 999px; background: rgba(255, 255, 255, .12); color: #f1eeff; font-size: .76rem; font-weight: 600; line-height: 1.5; text-decoration: none; border: 1px solid rgba(255, 255, 255, .14); }
a.ev-chip:hover { background: rgba(255, 255, 255, .2); }
.ev-chip--ok { background: rgba(0, 194, 168, .2); border-color: rgba(0, 194, 168, .5); color: #7ff3e2; }
.ev-chip--info { background: rgba(14, 165, 233, .18); border-color: rgba(14, 165, 233, .45); color: #bae6fd; }
.ev-hero__org { margin-top: .6rem; display: flex; flex-wrap: wrap; align-items: center; gap: .35rem; font-size: .85rem; color: #d9d4f5; }
.ev-hero__org a { color: #fff; font-weight: 700; text-decoration: none; }
.ev-hero__org a:hover { text-decoration: underline; }
.ev-hero h1 { margin: .55rem 0 0; font-family: 'Vazirmatn', system-ui, sans-serif; font-weight: 800; font-size: 1.55rem; line-height: 1.5; color: #fff; text-wrap: balance; }
.ev-hero__sub { margin: .3rem 0 0; color: #d9d4f5; font-size: .95rem; line-height: 1.8; }
.ev-meta { margin: .9rem 0 0; padding: 0; list-style: none; display: flex; flex-wrap: wrap; gap: .55rem 1.4rem; }
.ev-meta li { display: flex; align-items: center; gap: .5rem; min-width: 0; font-size: .88rem; color: #eceaff; }
.ev-meta svg { flex: none; width: 1.15rem; height: 1.15rem; color: #b6a6f6; }
.ev-meta small { display: block; font-size: .74rem; color: #bdb7dd; }
.ev-hero__actions { margin-top: 1rem; display: flex; flex-wrap: wrap; align-items: center; gap: .5rem; position: relative; }
.ev-hero__actions .btn-ghost { background: rgba(255, 255, 255, .1); color: #fff; border: 1px solid rgba(255, 255, 255, .2); }
.ev-hero__actions .btn-ghost:hover { background: rgba(255, 255, 255, .2); }
.ev-hero .social-proof { margin-top: .8rem; }
@media (min-width: 640px) {
    .ev-hero__in { gap: 1.75rem; padding-top: 2.25rem; }
    .ev-hero__in--crumbs { padding-top: 1.25rem; }
    .ev-hero__poster { width: 11rem; }
    .ev-hero h1 { font-size: 2.1rem; }
}
@media (min-width: 1024px) {
    .ev-hero__poster { width: 13.5rem; }
    .ev-hero h1 { font-size: 2.5rem; }
}

/* ═══════════ نوار اطلاعات کلیدی (روی لبهٔ هدر) ═══════════ */
.ev-wrap { max-width: 72rem; margin: 0 auto; padding: 0 1.25rem 2rem; }
.ev-stats { position: relative; z-index: 2; margin-top: -3.1rem; display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); background: var(--ev-card); border: 1px solid var(--ev-line); border-radius: 1.25rem; box-shadow: var(--ev-shadow); overflow: hidden; }
.ev-stat { display: flex; align-items: center; gap: .7rem; padding: .85rem 1rem; min-width: 0; border-block-end: 1px solid var(--ev-line); }
.ev-stat:nth-child(odd) { border-inline-end: 1px solid var(--ev-line); }
.ev-stat:nth-last-child(-n+2):nth-child(odd), .ev-stat:last-child { border-block-end: 0; }
.ev-stat:nth-last-child(2):nth-child(odd) { border-block-end: 0; }
.ev-stat__ic { flex: none; width: 2.5rem; height: 2.5rem; border-radius: .8rem; background: var(--ev-soft); color: var(--ev-brand-ink); display: grid; place-items: center; }
.ev-stat__ic svg { width: 1.3rem; height: 1.3rem; }
.ev-stat__v { display: block; font-weight: 800; font-size: 1rem; color: var(--ev-ink); line-height: 1.5; }
.ev-stat__l { display: block; font-size: .76rem; color: var(--ev-muted); }
@media (min-width: 768px) {
    .ev-stats { grid-template-columns: repeat(var(--ev-stat-n, 4), minmax(0, 1fr)); margin-top: -2.6rem; max-width: calc(var(--ev-stat-n, 4) * 17rem); }
    .ev-stat, .ev-stat:nth-child(odd), .ev-stat:nth-last-child(2):nth-child(odd) { border-block-end: 0; border-inline-end: 1px solid var(--ev-line); }
    .ev-stat:last-child { border-inline-end: 0; }
}

/* ═══════════ شبکهٔ اصلی: ستونِ خرید + محتوا ═══════════ */
.ev-grid { display: grid; grid-template-columns: minmax(0, 1fr); gap: 1.5rem; margin-top: 1.5rem; }
.ev-main { min-width: 0; }
.ev-flow { display: flex; flex-direction: column; gap: 2.1rem; }
.ev-flow > *, .ev-flow > div > * { min-width: 0; }
.ev-flow [data-event-section="support"] > section { margin-top: 0; }
.ev-tail { margin-top: 2.1rem; }
@media (min-width: 1024px) {
    .ev-grid { grid-template-columns: 23rem minmax(0, 1fr); gap: 2.25rem; align-items: start; }
    .ev-sticky { position: sticky; top: 7.25rem; max-height: calc(100dvh - 8.5rem); overflow-y: auto; scrollbar-width: thin; padding-bottom: .25rem; }
}

/* بخش‌ها: بدون کارتِ تودرتو؛ عنوان + محتوا */
.ev-sec-h { display: flex; align-items: center; gap: .55rem; margin: 0 0 .9rem; font-family: 'Vazirmatn', system-ui, sans-serif; font-weight: 800; font-size: 1.25rem; color: var(--ev-ink); }
.ev-sec-h::before { content: ""; flex: none; width: .3rem; height: 1.25rem; border-radius: 999px; background: linear-gradient(var(--ev-brand), var(--ev-accent)); }
.ev-page [data-nav] > h2.font-display, .ev-page [data-event-section] > h2.font-display { font-family: 'Vazirmatn', system-ui, sans-serif; font-weight: 800; font-size: 1.25rem; }

/* ═══════════ کارتِ خرید ═══════════ */
.ev-buy { background: var(--ev-card); border: 1px solid var(--ev-line); border-radius: 1.25rem; padding: 1.1rem; box-shadow: var(--ev-shadow); color: var(--ev-ink); }
.ev-buy h2 { margin: 0 0 .8rem; font-weight: 800; font-size: 1.05rem; color: var(--ev-ink); font-family: 'Vazirmatn', system-ui, sans-serif; }
.ev-buy__note { margin: 0 0 .8rem; padding: .6rem .8rem; border-radius: .8rem; font-size: .84rem; font-weight: 700; line-height: 1.8; background: var(--ev-soft); color: var(--ev-ink); }
.ev-buy__note--warning { background: var(--ev-warn-bg); color: var(--ev-warn-ink); }
.ev-buy__note--danger { background: var(--ev-bad-bg); color: var(--ev-bad-ink); }
.ev-label { display: block; margin: 0 0 .35rem; font-size: .78rem; color: var(--ev-muted); font-weight: 600; }
.ev-select { width: 100%; appearance: none; -webkit-appearance: none; padding: .7rem .9rem; padding-inline-end: 2.4rem; border-radius: .9rem; border: 1px solid var(--ev-line); background-color: var(--ev-card-2); color: var(--ev-ink); font: inherit; font-size: .92rem; font-weight: 600; cursor: pointer;
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16' viewBox='0 0 24 24' fill='none' stroke='%237a5fe2' stroke-width='2.6' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='m6 9 6 6 6-6'/%3E%3C/svg%3E");
    background-repeat: no-repeat; background-position: left .8rem center; }
html[dir="ltr"] .ev-select { background-position: right .8rem center; }
.ev-select:focus-visible { outline: 2px solid var(--ev-brand); outline-offset: 2px; }
.ev-session-one { display: flex; align-items: center; gap: .6rem; padding: .65rem .85rem; border-radius: .9rem; background: var(--ev-card-2); border: 1px solid var(--ev-line); font-weight: 700; font-size: .92rem; }
.ev-session-one svg { flex: none; width: 1.15rem; height: 1.15rem; color: var(--ev-brand-ink); }
.ev-session-one small { display: block; font-weight: 500; font-size: .76rem; color: var(--ev-muted); }
.ev-tts { margin: .9rem 0 0; padding: 0; list-style: none; display: flex; flex-direction: column; gap: .5rem; }
.ev-tt { display: flex; align-items: center; justify-content: space-between; gap: .7rem; padding: .7rem .85rem; border: 1px solid var(--ev-line); border-radius: .95rem; background: var(--ev-card); }
.ev-tt__name { display: block; font-weight: 700; font-size: .92rem; color: var(--ev-ink); line-height: 1.6; }
.ev-tt__tag { display: inline-block; margin-top: .15rem; padding: .05rem .5rem; border-radius: 999px; font-size: .72rem; font-weight: 700; background: rgba(0, 194, 168, .16); color: var(--ev-ok-ink); }
.ev-tt__tag--low { background: var(--ev-warn-bg); color: var(--ev-warn-ink); }
.ev-tt__tag--off { background: var(--ev-soft); color: var(--ev-muted); }
.ev-tt__tag--off, .ev-tt__tag--ask { background: var(--ev-soft); color: var(--ev-brand-ink); }
.ev-tt__price { text-align: end; flex: none; }
.ev-tt__price strong { display: block; font-size: .95rem; font-weight: 800; color: var(--ev-ink); }
.ev-tt__price s { display: block; font-size: .74rem; color: var(--ev-muted); }
.ev-tt__price em { display: inline-block; margin-top: .1rem; padding: 0 .4rem; border-radius: .4rem; background: var(--ev-accent); color: #fff; font-style: normal; font-size: .7rem; font-weight: 800; }
.ev-tt--off { opacity: .62; }
.ev-cta { display: flex; align-items: center; justify-content: center; gap: .5rem; width: 100%; margin-top: 1rem; padding: .85rem 1rem; border: 0; border-radius: .95rem; background: var(--ev-ok); color: var(--ev-ok-on); font: inherit; font-size: 1rem; font-weight: 800; text-decoration: none; cursor: pointer; transition: filter .15s, transform .1s; }
.ev-cta:hover { filter: brightness(1.06); }
.ev-cta:active { transform: translateY(1px); }
.ev-cta:focus-visible { outline: 3px solid var(--ev-brand); outline-offset: 2px; }
.ev-cta[disabled] { background: var(--ev-card-2); color: var(--ev-muted); cursor: not-allowed; filter: none; }
.ev-cta svg { width: 1.2rem; height: 1.2rem; }
.ev-buy__hint { margin: .6rem 0 0; font-size: .78rem; line-height: 1.9; color: var(--ev-muted); }
.ev-buy__facts { margin: 1rem 0 0; padding: .9rem 0 0; list-style: none; border-top: 1px solid var(--ev-line); display: flex; flex-direction: column; gap: .55rem; font-size: .82rem; color: var(--ev-muted); }
.ev-buy__facts li { display: flex; align-items: flex-start; gap: .55rem; }
.ev-buy__facts svg { flex: none; width: 1.05rem; height: 1.05rem; margin-top: .15rem; color: var(--ev-brand-ink); }
.ev-buy__facts b { color: var(--ev-ink); font-weight: 700; }
.ev-gate { margin-bottom: .8rem; padding: .8rem; border-radius: .9rem; background: var(--ev-soft); }

/* نوارِ خریدِ چسبانِ موبایل */
.ev-bar { position: fixed; inset-inline: 0; bottom: 0; z-index: 45; display: flex; align-items: center; gap: .9rem; padding: .65rem 1rem calc(.65rem + env(safe-area-inset-bottom)); background: var(--ev-card); border-top: 1px solid var(--ev-line); box-shadow: 0 -10px 30px -18px rgba(30, 20, 90, .5); }
.ev-bar__p { min-width: 0; flex: none; }
.ev-bar__p small { display: block; font-size: .72rem; color: var(--ev-muted); }
.ev-bar__p strong { font-size: .98rem; font-weight: 800; color: var(--ev-ink); white-space: nowrap; }
.ev-bar .ev-cta { margin: 0; flex: 1; padding: .7rem .9rem; }
@media (min-width: 1024px) { .ev-bar { display: none !important; } }

/* ═══════════ زمان و مکان، افراد، برگزارکننده ═══════════ */
.ev-info { display: grid; gap: .9rem; grid-template-columns: minmax(0, 1fr); }
.ev-info__row { display: flex; align-items: flex-start; gap: .75rem; color: var(--ev-ink); }
.ev-info__row svg { flex: none; width: 1.3rem; height: 1.3rem; margin-top: .2rem; color: var(--ev-brand-ink); }
.ev-info__row b { display: block; font-weight: 700; font-size: .96rem; line-height: 1.8; }
.ev-info__row span { display: block; font-size: .85rem; color: var(--ev-muted); line-height: 1.8; }
.ev-info__row a { color: var(--ev-brand-ink); font-weight: 700; text-decoration: none; }
.ev-info__row a:hover { text-decoration: underline; }
.ev-map { position: relative; margin-top: 1rem; overflow: hidden; border-radius: 1.1rem; border: 1px solid var(--ev-line); height: 12rem; }
.ev-map iframe { width: 100%; height: 100%; border: 0; display: block; }
.ev-map__btn { position: absolute; inset-block-end: .6rem; inset-inline-start: .6rem; display: inline-flex; align-items: center; gap: .35rem; padding: .4rem .8rem; border-radius: .8rem; background: var(--ev-card); color: var(--ev-brand-ink); font-size: .8rem; font-weight: 700; text-decoration: none; box-shadow: 0 6px 18px -8px rgba(0, 0, 0, .5); }
@media (min-width: 640px) { .ev-map { height: 16rem; } }
.ev-people { display: grid; gap: .8rem; grid-template-columns: repeat(auto-fill, minmax(15.5rem, 1fr)); }
.ev-person { display: flex; align-items: center; gap: .85rem; padding: .8rem .9rem; border-radius: 1rem; border: 1px solid var(--ev-line); background: var(--ev-card); color: var(--ev-ink); text-decoration: none; min-width: 0; }
a.ev-person:hover { border-color: var(--ev-brand); }
.ev-person b { display: block; font-weight: 800; font-size: .95rem; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.ev-person small { display: block; font-size: .78rem; color: var(--ev-muted); }
.ev-org { display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: 1rem; padding: .9rem 1rem; border: 1px solid var(--ev-line); border-radius: 1.1rem; background: var(--ev-card); }
.ev-org__id { display: flex; align-items: center; gap: .85rem; min-width: 0; }
.ev-org__name { display: flex; flex-wrap: wrap; align-items: center; gap: .4rem; font-weight: 800; font-size: 1.02rem; color: var(--ev-ink); }
.ev-org a.ev-link { font-size: .84rem; font-weight: 700; color: var(--ev-brand-ink); text-decoration: none; }
.ev-org a.ev-link:hover { text-decoration: underline; }

/* امتیازِ تجمیعی در بخشِ نظرات */
.ev-score { display: flex; align-items: center; gap: 1rem; flex-wrap: wrap; }
.ev-score__n { font-size: 2.4rem; font-weight: 800; line-height: 1; color: var(--ev-brand-ink); }
.ev-score small { display: block; margin-top: .2rem; font-size: .8rem; color: var(--ev-muted); }

/* موبایل: ردیفِ افقیِ موارد مرتبط */
@media (max-width: 639px) {
    .ev-flow { gap: 1.6rem; }
    .ev-rail { display: flex !important; overflow-x: auto; gap: .75rem; scroll-snap-type: x proximity; padding-bottom: .5rem; scrollbar-width: none; }
    .ev-rail::-webkit-scrollbar { display: none; }
    .ev-rail > * { flex: 0 0 62%; max-width: 15rem; scroll-snap-align: start; }
}
@media (prefers-reduced-motion: reduce) { .ev-cta { transition: none; } }

/* ═══════════ گالری: نوارِ افقیِ قابلِ اسکرول (چپ/راست) به‌جای شبکهٔ عمودی ═══════════ */
.ev-hscroll { display: flex; gap: .75rem; overflow-x: auto; overflow-y: hidden; scroll-snap-type: x proximity; -webkit-overflow-scrolling: touch; overscroll-behavior-x: contain; padding-block: .25rem .6rem; scrollbar-width: thin; }
.ev-hscroll > button { flex: 0 0 min(78%, 17rem); scroll-snap-align: start; }
@media (min-width: 768px) { .ev-hscroll > button { flex-basis: 15rem; } }
