/* ── Infinia University Manager — Public Card Styles ─────────── */
/* Matches exactly the design in the screenshot:
   dark image area, gold rank badge top-right, LT code bottom-left,
   LITHUANIA label, serif name, pill tags, Website/View Courses/Enquire buttons */

:root {
    --iu-black:   #0A0A0A;
    --iu-panel:   #141210;
    --iu-card:    #181410;
    --iu-panel2:  #1C1813;
    --iu-gold:    #E8C25A;
    --iu-gold-dp: #C9962B;
    --iu-gold-br: #FFE876;
    --iu-cream:   #F3ECDC;
    --iu-muted:   #A9A294;
    --iu-line:    #2A2620;
    --iu-green:   #1b5e20;
    --iu-display: 'Cormorant Garamond', Georgia, serif;
    --iu-body:    'Jost', 'Segoe UI', sans-serif;
}

/* ── Wrap ──────────────────────────────────────────────────────── */
.iunim-wrap { font-family: var(--iu-body); }
.iunim-empty { color: var(--iu-muted); font-style: italic; padding: 20px 0; }
.iunim-empty a { color: var(--iu-gold); }

/* ── Controls bar ──────────────────────────────────────────────── */
.iunim-controls {
    display: flex; flex-wrap: wrap; justify-content: space-between;
    align-items: center; gap: 14px; margin-bottom: 26px;
}
.iunim-filters { display: flex; flex-wrap: wrap; gap: 8px; }
.iunim-filter-btn {
    background: transparent; border: 1px solid var(--iu-line);
    color: var(--iu-muted); font-family: var(--iu-body); font-size: 13px;
    padding: 8px 16px; border-radius: 30px; cursor: pointer; transition: .2s;
}
.iunim-filter-btn:hover { color: var(--iu-cream); border-color: var(--iu-gold-dp); }
.iunim-filter-btn.iunim-on { background: var(--iu-gold); color: var(--iu-black); border-color: var(--iu-gold); font-weight: 600; }

/* ── View toggle ───────────────────────────────────────────────── */
.iunim-view-toggle {
    display: flex; gap: 0;
    border: 1px solid var(--iu-line); border-radius: 8px; overflow: hidden;
}
.iunim-vbtn {
    background: var(--iu-panel); color: var(--iu-muted); border: none;
    padding: 9px 14px; cursor: pointer; transition: .2s; display: flex;
    align-items: center; justify-content: center; border-right: 1px solid var(--iu-line);
}
.iunim-vbtn:last-child { border-right: none; }
.iunim-vbtn:hover { background: var(--iu-panel2); color: var(--iu-cream); }
.iunim-vbtn.iunim-on { background: var(--iu-gold); color: var(--iu-black); }

/* ── Grid ──────────────────────────────────────────────────────── */
.iunim-grid {
    display: grid; gap: 24px;
}
.iunim-grid-3 { grid-template-columns: repeat(3, 1fr); }
.iunim-grid-2 { grid-template-columns: repeat(2, 1fr); }
@media (max-width: 960px) {
    .iunim-grid-3 { grid-template-columns: repeat(2, 1fr); }
}
@media (max-width: 640px) {
    .iunim-grid-3,
    .iunim-grid-2 { grid-template-columns: 1fr; }
}

/* ── Card ──────────────────────────────────────────────────────── */
.iunim-card {
    background: var(--iu-card); border: 1px solid var(--iu-line);
    border-radius: 12px; overflow: hidden;
    display: flex; flex-direction: column;
    transition: border-color .3s, box-shadow .3s, transform .3s;
}
.iunim-card:hover {
    border-color: var(--iu-gold-dp);
    box-shadow: 0 16px 40px rgba(0, 0, 0, .45);
    transform: translateY(-4px);
}

/* ── Card image zone — matches screenshot exactly ──────────────── */
.iunim-card-img-wrap {
    position: relative; width: 100%;
    height: 220px; overflow: hidden;
    background: var(--iu-panel2);
    flex-shrink: 0;
}
.iunim-card-img {
    width: 100%; height: 100%;
    object-fit: cover; object-position: center;
    display: block;
    transition: transform .4s ease;
}
.iunim-card:hover .iunim-card-img { transform: scale(1.04); }

/* Placeholder when no image */
.iunim-card-img-placeholder {
    width: 100%; height: 100%;
    display: flex; align-items: center; justify-content: center;
    background: linear-gradient(135deg, var(--iu-panel2), var(--iu-panel));
}
.iunim-card-abbr {
    font-family: var(--iu-display); font-size: 64px; font-weight: 700;
    color: var(--iu-line);
}

/* Country code badge — bottom left exactly like "LT" in screenshot */
.iunim-card-code {
    position: absolute; bottom: 12px; left: 14px;
    background: rgba(10, 10, 10, .85); color: var(--iu-cream);
    font-family: var(--iu-body); font-size: 12px; font-weight: 700;
    letter-spacing: 2px; padding: 6px 10px; border-radius: 4px;
}

/* Rank / Est badge — top right, gold pill like "Est. 1922" in screenshot */
.iunim-card-badge {
    position: absolute; top: 12px; right: 14px;
    background: linear-gradient(135deg, var(--iu-gold-dp), var(--iu-gold-br));
    color: var(--iu-black); font-family: var(--iu-body); font-size: 12px;
    font-weight: 700; letter-spacing: .5px; padding: 6px 14px;
    border-radius: 30px;
}

/* ── Card body ─────────────────────────────────────────────────── */
.iunim-card-body {
    padding: 20px 22px 22px;
    display: flex; flex-direction: column; gap: 9px; flex: 1;
}

/* "LITHUANIA" label — gold, caps, small */
.iunim-card-country {
    font-family: var(--iu-body); font-size: 11px; font-weight: 600;
    letter-spacing: 2.5px; color: var(--iu-gold); text-transform: uppercase;
}

/* University name — large serif */
.iunim-card-name {
    font-family: var(--iu-display); font-size: 24px; font-weight: 600;
    color: var(--iu-cream); line-height: 1.22; margin: 0;
}

/* Meta row: city · est · type — with icons */
.iunim-card-meta {
    display: flex; flex-wrap: wrap; gap: 8px 14px;
    color: var(--iu-muted); font-size: 13.5px; align-items: center;
}
.iunim-card-meta span {
    display: inline-flex; align-items: center; gap: 5px;
}
.iunim-meta-icon {
    width: 13px !important;
    height: 13px !important;
    min-width: 13px;
    flex-shrink: 0;
    display: inline-block;
    vertical-align: middle;
    fill: none !important;
    stroke: var(--iu-gold) !important;
    color: var(--iu-gold) !important;
}

/* Subject pills */
.iunim-card-pills { display: flex; flex-wrap: wrap; gap: 7px; }
.iunim-pill {
    border: 1px solid var(--iu-line); color: var(--iu-cream);
    font-size: 12px; padding: 4px 11px; border-radius: 20px;
    font-family: var(--iu-body);
    background: transparent;
}

/* Courses line */
.iunim-card-courses {
    font-size: 13.5px; color: var(--iu-muted); line-height: 1.5;
}
.iunim-card-courses strong { color: var(--iu-cream); font-weight: 600; }

/* Divider */
.iunim-card-divider { height: 1px; background: var(--iu-line); }

/* ── Action buttons — Website / View Courses / Enquire ─────────── */
.iunim-card-actions {
    display: flex; flex-wrap: wrap; gap: 8px;
    margin-top: auto; padding-top: 4px;
}
.iunim-btn {
    display: inline-flex; align-items: center; gap: 7px;
    font-family: var(--iu-body); font-weight: 600; font-size: 13px;
    padding: 9px 16px; border-radius: 6px; text-decoration: none;
    transition: .2s; white-space: nowrap; cursor: pointer; border: none;
}

/* Website — outline/ghost style */
.iunim-btn-outline {
    background: transparent; border: 1px solid var(--iu-line);
    color: var(--iu-cream);
}
.iunim-btn-outline:hover { border-color: var(--iu-gold); color: var(--iu-gold); }

/* View Courses — gold gradient */
.iunim-btn-gold {
    background: linear-gradient(135deg, var(--iu-gold-dp), var(--iu-gold-br));
    color: var(--iu-black);
}
.iunim-btn-gold:hover { filter: brightness(1.1); transform: translateY(-1px); }

/* Enquire — green WhatsApp */
.iunim-btn-wa {
    background: var(--iu-green); color: #fff;
}
.iunim-btn-wa:hover { background: #2e7d32; color: #fff; transform: translateY(-1px); }

/* Wikipedia — small subtle */
.iunim-btn-wiki {
    background: transparent; border: 1px solid var(--iu-line);
    color: var(--iu-muted); padding: 9px 12px; font-weight: 700;
}
.iunim-btn-wiki:hover { color: var(--iu-cream); border-color: var(--iu-muted); }

/* ── List view ─────────────────────────────────────────────────── */
.iunim-list { display: flex; flex-direction: column; gap: 14px; }
.iunim-row {
    background: var(--iu-card); border: 1px solid var(--iu-line);
    border-radius: 12px; overflow: hidden;
    display: flex; align-items: stretch; transition: border-color .2s;
}
.iunim-row:hover { border-color: var(--iu-gold-dp); }

.iunim-row-left {
    width: 120px; flex-shrink: 0;
    background: var(--iu-panel2); border-right: 1px solid var(--iu-line);
    display: flex; flex-direction: column; align-items: center;
    justify-content: center; position: relative; padding: 14px;
}
.iunim-row-img { max-width: 100%; max-height: 80px; object-fit: cover; border-radius: 4px; }
.iunim-row-abbr {
    font-family: var(--iu-display); font-size: 28px; font-weight: 700;
    color: var(--iu-line);
}
.iunim-row-code {
    position: absolute; bottom: 6px; left: 6px;
    background: rgba(10,10,10,.85); color: var(--iu-cream);
    font-size: 10px; font-weight: 700; letter-spacing: 1.5px;
    padding: 3px 7px; border-radius: 3px;
}

.iunim-row-body { padding: 16px 20px; flex: 1; }
.iunim-row-meta-top { display: flex; align-items: center; gap: 8px; flex-wrap: wrap; margin-bottom: 4px; }
.iunim-row-country { font-size: 11px; font-weight: 600; letter-spacing: 2px; color: var(--iu-gold); }
.iunim-row-badge {
    background: linear-gradient(135deg, var(--iu-gold-dp), var(--iu-gold-br));
    color: var(--iu-black); font-size: 10px; font-weight: 700;
    padding: 3px 9px; border-radius: 20px;
}
.iunim-row-name { font-family: var(--iu-display); font-size: 21px; font-weight: 600; color: var(--iu-cream); margin-bottom: 5px; line-height: 1.25; }
.iunim-row-meta {
    color: var(--iu-muted); font-size: 13px; margin-bottom: 6px;
    display: flex; flex-wrap: wrap; gap: 6px 12px; align-items: center;
}
.iunim-row-meta span { display: inline-flex; align-items: center; gap: 4px; }
.iunim-row-pills { display: flex; flex-wrap: wrap; gap: 6px; }

.iunim-row-actions {
    padding: 14px 16px; display: flex; flex-direction: column;
    gap: 7px; justify-content: center; flex-shrink: 0;
}
@media (max-width: 600px) { .iunim-row-actions { display: none; } }
