/* Öğrenci "Paketim" ekranı — site markasıyla (magenta + sarı) hizalı tasarım.
   Renk/gölge/kenar değerleri style.css'teki global CSS değişkenlerinden gelir (tema tutarlılığı). */
.pkg-page {
    --pkg-primary: var(--primary-color, #8a356a);
    --pkg-primary-dark: var(--primary-dark, #6f2a56);
    --pkg-primary-light: var(--primary-light, #a65485);
    --pkg-secondary: var(--secondary-color, #eed715);
    --pkg-ink: var(--text-primary, #1e293b);
    --pkg-muted: var(--text-secondary, #64748b);
    --pkg-faint: var(--text-muted, #94a3b8);
    --pkg-line: var(--border-light, #e2e8f0);
    --pkg-surface: var(--bg-card, #ffffff);
    --pkg-bg: var(--bg-secondary, #f8fafc);
    padding: 2rem 0 4rem;
    background: var(--pkg-bg);
    min-height: 72vh;
}

/* Hero — sitenin imza magenta gradient bandı */
.pkg-header {
    display: flex;
    align-items: center;
    gap: 1.25rem;
    background: linear-gradient(135deg, var(--pkg-primary) 0%, var(--pkg-primary-dark) 100%);
    color: #fff;
    border-radius: 18px;
    padding: 1.75rem 2rem;
    margin-bottom: 2rem;
    box-shadow: 0 8px 24px rgba(138, 53, 106, .18);
}

.pkg-header__icon {
    flex-shrink: 0;
    width: 64px;
    height: 64px;
    border-radius: 16px;
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 1.75rem;
    color: var(--pkg-primary-dark);
    background: var(--pkg-secondary);
    box-shadow: 0 4px 12px rgba(0, 0, 0, .15);
}

.pkg-header__text { min-width: 0; }

.pkg-eyebrow {
    text-transform: uppercase;
    letter-spacing: .12em;
    font-size: .74rem;
    font-weight: 700;
    color: var(--pkg-secondary);
    margin: 0 0 .2rem;
}

.pkg-title {
    font-size: clamp(1.6rem, 3vw, 2.1rem);
    font-weight: 800;
    margin: 0 0 .35rem;
    color: #fff;
    text-wrap: balance;
}

.pkg-desc {
    margin: 0;
    font-size: .98rem;
    color: rgba(255, 255, 255, .9);
}

/* Bölümler */
.pkg-section { margin-top: 2rem; }

.pkg-section__title {
    display: flex;
    align-items: center;
    gap: .55rem;
    font-size: 1.15rem;
    font-weight: 700;
    color: var(--pkg-ink);
    margin: 0 0 1.1rem;
    padding-bottom: .6rem;
    border-bottom: 2px solid var(--pkg-line);
}

.pkg-section__title i { color: var(--pkg-primary); }
.pkg-section--past .pkg-section__title i { color: var(--pkg-faint); }

.pkg-section__count {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-width: 1.55rem;
    height: 1.55rem;
    padding: 0 .5rem;
    border-radius: 999px;
    background: rgba(138, 53, 106, .1);
    color: var(--pkg-primary);
    font-size: .78rem;
    font-weight: 700;
}

/* Kart ızgarası */
.pkg-grid {
    display: grid;
    grid-template-columns: repeat(auto-fill, minmax(300px, 1fr));
    gap: 1.25rem;
}

/* Kart — site kart stili (beyaz yüzey, yumuşak gölge, hover lift), üstte magenta şerit */
.pkg-card {
    position: relative;
    display: flex;
    flex-direction: column;
    background: var(--pkg-surface);
    border: 1px solid var(--pkg-line);
    border-radius: 16px;
    padding: 1.3rem;
    box-shadow: 0 2px 10px rgba(0, 0, 0, .06);
    overflow: hidden;
    transition: transform .18s ease, box-shadow .18s ease;
}

.pkg-card::before {
    content: "";
    position: absolute;
    inset: 0 0 auto 0;
    height: 4px;
    background: linear-gradient(90deg, var(--pkg-primary), var(--pkg-primary-light));
}

.pkg-card:hover {
    transform: translateY(-4px);
    box-shadow: 0 12px 28px rgba(138, 53, 106, .14);
}

.pkg-card--past { background: #fbfafc; }
.pkg-card--past::before { background: var(--pkg-line); }

.pkg-card__top {
    display: flex;
    justify-content: space-between;
    align-items: flex-start;
    gap: .75rem;
    margin: .35rem 0 1rem;
}

.pkg-card__name {
    font-size: 1.1rem;
    font-weight: 700;
    color: var(--pkg-ink);
    margin: 0 0 .5rem;
    line-height: 1.3;
    text-wrap: balance;
}

.pkg-card__tags { display: flex; flex-wrap: wrap; gap: .35rem; }

.pkg-tag {
    display: inline-block;
    padding: .2rem .6rem;
    border-radius: 999px;
    background: var(--bg-tertiary, #f1f5f9);
    color: var(--pkg-muted);
    font-size: .72rem;
    font-weight: 600;
}

.pkg-tag--onetoone { background: rgba(138, 53, 106, .1); color: var(--pkg-primary); }
.pkg-tag--level { background: rgba(238, 215, 21, .18); color: var(--secondary-dark, #c9b210); }

/* Durum rozeti */
.pkg-status {
    flex-shrink: 0;
    padding: .32rem .72rem;
    border-radius: 999px;
    font-size: .73rem;
    font-weight: 700;
    white-space: nowrap;
}

.pkg-status.is-active { background: rgba(34, 197, 94, .14); color: #15803d; }
.pkg-status.is-frozen { background: rgba(59, 130, 246, .14); color: #1d4ed8; }
.pkg-status.is-completed { background: rgba(138, 53, 106, .12); color: var(--pkg-primary); }
.pkg-status.is-expired { background: rgba(239, 68, 68, .14); color: #b91c1c; }
.pkg-status.is-passive { background: #f1f5f9; color: var(--pkg-muted); }

/* İstatistik satırı */
.pkg-card__stats {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(88px, 1fr));
    gap: .75rem;
    padding: 1rem;
    border-radius: 12px;
    background: var(--pkg-bg);
    margin-bottom: 1rem;
}

.pkg-stat { display: flex; flex-direction: column; gap: .25rem; }

.pkg-stat__label {
    font-size: .67rem;
    text-transform: uppercase;
    letter-spacing: .04em;
    color: var(--pkg-faint);
    font-weight: 600;
}

.pkg-stat__value {
    font-size: 1.3rem;
    font-weight: 800;
    color: var(--pkg-primary);
    line-height: 1.1;
    font-variant-numeric: tabular-nums;
}

.pkg-stat__value small { font-size: .7rem; font-weight: 600; color: var(--pkg-faint); }

.pkg-stat__value--muted { font-size: .8rem; font-weight: 600; color: var(--pkg-faint); }

/* Alt bilgi */
.pkg-card__foot {
    display: flex;
    justify-content: space-between;
    align-items: center;
    flex-wrap: wrap;
    gap: .5rem;
    font-size: .8rem;
    color: var(--pkg-muted);
    margin-top: auto;
}

.pkg-card__foot i { margin-right: .3rem; color: var(--pkg-primary-light); }
.pkg-card__freezedays i { color: var(--info-color, #3b82f6); }

/* Boş durum */
.pkg-empty {
    text-align: center;
    padding: 3.5rem 1.5rem;
    background: var(--pkg-surface);
    border: 1px solid var(--pkg-line);
    border-radius: 18px;
    max-width: 520px;
    margin: 1rem auto 0;
    box-shadow: 0 2px 10px rgba(0, 0, 0, .05);
}

.pkg-empty__icon { font-size: 2.6rem; color: var(--pkg-primary-light); margin-bottom: .75rem; }
.pkg-empty__title { font-size: 1.3rem; font-weight: 700; color: var(--pkg-ink); margin: 0 0 .4rem; }
.pkg-empty__desc { color: var(--pkg-muted); margin: 0 0 1.25rem; }

.pkg-btn {
    display: inline-flex;
    align-items: center;
    padding: .7rem 1.5rem;
    border-radius: 10px;
    background: linear-gradient(135deg, var(--pkg-primary), var(--pkg-primary-dark));
    color: #fff;
    font-weight: 600;
    text-decoration: none;
    box-shadow: 0 4px 12px rgba(138, 53, 106, .25);
    transition: transform .15s ease, box-shadow .15s ease;
}

.pkg-btn:hover { transform: translateY(-2px); box-shadow: 0 6px 16px rgba(138, 53, 106, .3); color: #fff; }

/* Paketi Dondur butonu */
.pkg-freeze-btn {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: .5rem;
    width: 100%;
    margin-top: 1rem;
    padding: .6rem 1rem;
    border: 1px solid rgba(59, 130, 246, .35);
    border-radius: 10px;
    background: rgba(59, 130, 246, .08);
    color: var(--info-color, #3b82f6);
    font-weight: 600;
    font-size: .9rem;
    cursor: pointer;
    transition: background .15s ease, transform .15s ease;
}

.pkg-freeze-btn:hover {
    background: var(--info-color, #3b82f6);
    color: #fff;
    transform: translateY(-1px);
}

/* Dondurma modalı (SweetAlert) — marka uyumlu */
.pkg-fm-popup { border-radius: 18px !important; }
.pkg-fm-title { color: var(--primary-color, #8a356a) !important; font-weight: 800 !important; font-size: 1.35rem !important; }
.pkg-fm__title-ico {
    display: inline-flex; align-items: center; justify-content: center;
    width: 2rem; height: 2rem; border-radius: 8px; margin-right: .4rem;
    background: var(--secondary-color, #eed715); color: var(--primary-dark, #6f2a56); font-size: .95rem;
}
.pkg-fm { text-align: left; }
.pkg-fm__pkg { text-align: center; color: var(--text-secondary, #64748b); font-weight: 600; margin: -.25rem 0 1.1rem; }
.pkg-fm__info {
    display: grid; grid-template-columns: 1fr 1fr; gap: .5rem;
    background: rgba(138, 53, 106, .07); border: 1px solid rgba(138, 53, 106, .15);
    border-radius: 12px; padding: .9rem 1rem; margin-bottom: 1.1rem;
}
.pkg-fm__stat { display: flex; flex-direction: column; gap: .15rem; }
.pkg-fm__stat-label { font-size: .68rem; text-transform: uppercase; letter-spacing: .04em; color: var(--text-muted, #94a3b8); font-weight: 600; }
.pkg-fm__stat-val { font-size: 1.05rem; font-weight: 800; color: var(--primary-color, #8a356a); }
.pkg-fm__grid { display: grid; grid-template-columns: 1fr 1fr; gap: .75rem; }
.pkg-fm__field { margin-bottom: .9rem; }
.pkg-fm__field label { display: block; font-size: .82rem; font-weight: 700; color: var(--text-primary, #1e293b); margin-bottom: .35rem; }
.pkg-fm__opt { font-weight: 500; color: var(--text-muted, #94a3b8); }
.pkg-fm__input {
    width: 100%; padding: .6rem .75rem; border: 1px solid var(--border-light, #e2e8f0);
    border-radius: 10px; font-size: .92rem; color: var(--text-primary, #1e293b); background: #fff;
    box-sizing: border-box; transition: border-color .15s ease, box-shadow .15s ease;
}
.pkg-fm__input:focus { outline: none; border-color: var(--primary-light, #a65485); box-shadow: 0 0 0 3px rgba(138, 53, 106, .15); }
.pkg-fm__textarea { min-height: 76px; resize: vertical; font-family: inherit; }
.pkg-fm__daysinfo { margin-top: .25rem; padding: .6rem .8rem; border-radius: 10px; background: #fff3cd; }
.pkg-fm__daysinfo p { margin: 0; font-weight: 600; font-size: .88rem; }
.pkg-fm-confirm { border-radius: 10px !important; font-weight: 600 !important; padding-left: 1.4rem !important; padding-right: 1.4rem !important; }
.pkg-fm-cancel { border-radius: 10px !important; font-weight: 600 !important; }
@media (max-width: 480px) { .pkg-fm__grid, .pkg-fm__info { grid-template-columns: 1fr; } }

/* RTL (ar-SA) */
[dir="rtl"] .pkg-card__foot i, [dir="rtl"] .pkg-card__date i { margin-right: 0; margin-left: .3rem; }

@media (max-width: 575.98px) {
    .pkg-grid { grid-template-columns: 1fr; }
    .pkg-header { flex-direction: column; text-align: center; padding: 1.5rem; }
}
