.wy-track-wrap {
    --wy-primary: #1f6f63;
    --wy-primary-dark: #17554b;
    --wy-ink: #24312d;
    --wy-muted: #6b7770;
    --wy-border: #e3e8e5;
    --wy-text: #24312d;
    --wy-card-bg: #ffffff;
    --wy-input-bg: #ffffff;

    max-width: 480px;
    margin: 0 auto;
    font-family: inherit;
    color: var(--wy-ink);
}

.wy-track-wrap * { box-sizing: border-box; }

/* --- کارت جستجوی کد --- */
.wy-track-lookup {
    background: #fff;
    border: 1px solid var(--wy-border);
    border-radius: 16px;
    padding: 32px 26px;
    text-align: center;
    box-shadow: 0 6px 28px rgba(24, 60, 51, 0.07);
}
.wy-track-icon { font-size: 38px; line-height: 1; margin-bottom: 6px; }
.wy-track-lookup h3 { margin: 4px 0 2px; font-size: 21px; }
.wy-track-sub { color: var(--wy-muted); font-size: 14px; margin: 0 0 20px; }

.wy-track-input-row { display: flex; gap: 8px; }
.wy-track-code-input {
    flex: 1;
    padding: 13px 14px;
    border: 1.5px solid var(--wy-border);
    border-radius: 10px;
    font-size: 16px;
    letter-spacing: 0.5px;
    text-align: center;
    background: #fbfcfb;
}
.wy-track-code-input:focus {
    outline: none; border-color: var(--wy-primary); background: #fff;
    box-shadow: 0 0 0 3px rgba(31, 111, 99, .15);
}
.wy-track-submit-btn {
    display: inline-flex; align-items: center; justify-content: center; gap: 6px;
    background: var(--wy-primary); color: #fff; border: none;
    padding: 0 22px; border-radius: 10px; font-size: 15.5px; font-weight: 700; cursor: pointer;
    transition: background .15s ease;
}
.wy-track-submit-btn:hover { background: var(--wy-primary-dark); }
.wy-track-submit-btn:disabled { opacity: .7; cursor: not-allowed; }
.wy-track-btn-spinner { display: none; width: 14px; height: 14px; border: 2px solid rgba(255,255,255,.4); border-top-color: #fff; border-radius: 50%; animation: wy-track-spin .7s linear infinite; }
.wy-track-submitting .wy-track-btn-spinner { display: inline-block; }
@keyframes wy-track-spin { to { transform: rotate(360deg); } }

.wy-track-error { color: #c0392b; font-size: 13.5px; margin-top: 10px; min-height: 0; }

/* --- کارت بلیت (نتیجه) --- */
.wy-ticket {
    position: relative;
    background: #fff;
    border-radius: 18px;
    box-shadow: 0 10px 34px rgba(24, 60, 51, 0.12);
    overflow: hidden;
}

.wy-ticket-badge {
    position: absolute;
    top: 16px; right: 16px;
    padding: 5px 14px;
    border-radius: 20px;
    font-size: 12.5px;
    font-weight: 700;
    z-index: 2;
}
.wy-ticket-badge.state-upcoming { background: #e7f0fb; color: #1d5a8a; }
.wy-ticket-badge.state-live { background: #e5f7ea; color: #157a3d; animation: wy-pulse 1.6s ease-in-out infinite; }
.wy-ticket-badge.state-ended { background: #f1f2f3; color: #6b7280; }
.wy-ticket-badge.state-unscheduled { background: #fdf1de; color: #96650a; }
@keyframes wy-pulse { 0%, 100% { box-shadow: 0 0 0 0 rgba(21,122,61,.35); } 50% { box-shadow: 0 0 0 6px rgba(21,122,61,0); } }

.wy-ticket-top {
    background: linear-gradient(160deg, #f4faf8 0%, #ffffff 65%);
    padding: 30px 26px 26px;
    text-align: center;
}
.wy-ticket-greeting { color: var(--wy-muted); font-size: 14px; margin: 0 0 6px; }
.wy-ticket-event-title { margin: 0 0 10px; font-size: 22px; color: var(--wy-primary-dark); line-height: 1.5; }
.wy-ticket-datetime { font-size: 15.5px; color: var(--wy-ink); margin: 0; font-weight: 600; }

.wy-ticket-countdown { display: flex; justify-content: center; gap: 10px; margin-top: 18px; }
.wy-countdown-box {
    background: #fff; border: 1px solid var(--wy-border); border-radius: 10px;
    min-width: 56px; padding: 8px 6px; text-align: center;
    box-shadow: 0 2px 6px rgba(24,60,51,.06);
}
.wy-countdown-box span { display: block; font-size: 21px; font-weight: 800; color: var(--wy-primary-dark); line-height: 1.1; }
.wy-countdown-box small { font-size: 11px; color: var(--wy-muted); }

/* --- خط پرفراژِ بلیت --- */
.wy-ticket-divider {
    position: relative;
    border-top: 2px dashed var(--wy-border);
    margin: 0 0;
}
.wy-ticket-notch {
    position: absolute;
    top: -11px;
    width: 22px; height: 22px;
    border-radius: 50%;
    background: #f3f5f4; /* باید با رنگ پس‌زمینه‌ی صفحه‌ی میزبان هماهنگ باشد */
}
.wy-ticket-notch-right { right: -11px; }
.wy-ticket-notch-left { left: -11px; }

.wy-ticket-bottom { padding: 22px 26px 28px; }
.wy-ticket-row {
    display: flex; align-items: center; justify-content: space-between;
    padding: 9px 0; border-bottom: 1px dashed var(--wy-border); font-size: 14.5px;
}
.wy-ticket-row:last-of-type { border-bottom: none; }
.wy-ticket-label { color: var(--wy-muted); }
.wy-ticket-value { font-weight: 700; }
.wy-ticket-confirmed { color: #157a3d; }
.wy-ticket-code { font-family: monospace; letter-spacing: .5px; direction: ltr; }

.wy-ticket-join-btn {
    display: flex; align-items: center; justify-content: center; gap: 8px;
    margin-top: 18px;
    background: var(--wy-primary); color: #fff !important;
    text-decoration: none; font-weight: 700; font-size: 16px;
    padding: 14px; border-radius: 12px;
    transition: background .15s ease, transform .1s ease;
}
.wy-ticket-join-btn:hover { background: var(--wy-primary-dark); transform: translateY(-1px); }
.wy-ticket-join-pending {
    margin-top: 16px; text-align: center; font-size: 13.5px; color: var(--wy-muted);
    background: #f7f8f7; border-radius: 10px; padding: 12px;
}

.wy-ticket-reset {
    display: block; width: 100%; text-align: center;
    background: none; border: none; border-top: 1px solid var(--wy-border);
    padding: 14px; color: var(--wy-muted); font-size: 13.5px; cursor: pointer;
}
.wy-ticket-reset:hover { color: var(--wy-primary); }

@media (max-width: 480px) {
    .wy-track-lookup, .wy-ticket-top, .wy-ticket-bottom { padding-left: 18px; padding-right: 18px; }
    .wy-track-input-row { flex-direction: column; }
    .wy-countdown-box { min-width: 48px; }
}

/* --- وضعیت پرداخت روی بلیت --- */
.wy-pay-status-paid { color: #1f7a4d; }
.wy-pay-status-pending { color: #8a5a00; }
.wy-pay-status-failed { color: #a12b2b; }

.wy-ticket-pay-btn {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 8px;
    margin-top: 14px;
    padding: 13px 18px;
    background: #8a5a00;
    color: #fff !important;
    text-decoration: none;
    border-radius: 10px;
    font-size: 15px;
    font-weight: 700;
    transition: background .15s ease;
}
.wy-ticket-pay-btn:hover { background: #6f4800; }


/* لایه‌ی تقویت وزن رنگ‌ها — توضیح کامل در frontend.css */
.wy-track-wrap .wy-ticket-label { color: var(--wy-muted); }
.wy-track-wrap .wy-ticket-value,
.wy-track-wrap .wy-ticket-code { color: var(--wy-ink); }
.wy-track-wrap p { color: var(--wy-muted); }
.wy-track-wrap h2, .wy-track-wrap h3 { color: var(--wy-ink); }
.wy-track-wrap input { color: var(--wy-ink); }
