/* ============================================================
   TUDÁSTÁR PREMIUM ARCHIVE LAYER
   Önálló, utolsóként betöltődő vizuális réteg. Eltávolításához elég
   ezt a stylesheet hivatkozást kivenni a tudastar.html fájlból.
   ============================================================ */

.tudastar-page {
    --tup-gold: #e6bd62;
    --tup-gold-bright: #ffe5a0;
    --tup-cyan: #62d7ec;
    --tup-cyan-soft: rgba(98, 215, 236, 0.18);
    --tup-panel: rgba(7, 14, 23, 0.92);
    --tup-panel-2: rgba(10, 19, 30, 0.96);
    --tup-line: rgba(135, 186, 208, 0.17);
    min-height: 100vh;
    background:
        radial-gradient(circle at 14% 28%, rgba(27, 121, 145, 0.13), transparent 27%),
        radial-gradient(circle at 85% 64%, rgba(181, 126, 43, 0.09), transparent 30%),
        linear-gradient(145deg, #03070d 0%, #07111b 48%, #03070d 100%);
    color: #e9f0f2;
}

.tudastar-page::before,
.tudastar-page::after {
    content: "";
    position: fixed;
    inset: 72px 0 0;
    pointer-events: none;
    z-index: -1;
}

.tudastar-page::before {
    opacity: 0.24;
    background-image:
        linear-gradient(rgba(94, 188, 211, 0.025) 1px, transparent 1px),
        linear-gradient(90deg, rgba(94, 188, 211, 0.025) 1px, transparent 1px);
    background-size: 56px 56px;
    -webkit-mask-image: linear-gradient(to bottom, transparent, #000 18%, #000 75%, transparent);
    mask-image: linear-gradient(to bottom, transparent, #000 18%, #000 75%, transparent);
}

.tudastar-page::after {
    background: linear-gradient(90deg, rgba(3, 7, 13, 0.9), transparent 10%, transparent 90%, rgba(3, 7, 13, 0.9));
}

#tudastar-shell {
    width: min(100%, 1740px);
    max-width: none;
    box-sizing: border-box;
    margin: 0 auto;
    padding: 30px clamp(20px, 3vw, 54px) 76px;
}

/* ---------- Archívum fejléc ---------- */

.tup-archive-hero {
    position: relative;
    isolation: isolate;
    min-height: 250px;
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 42px;
    margin-bottom: 18px;
    padding: 36px clamp(34px, 5vw, 78px);
    overflow: hidden;
    border: 1px solid rgba(230, 189, 98, 0.3);
    background-image:
        linear-gradient(90deg, rgba(3, 9, 16, 0.98) 0%, rgba(5, 14, 23, 0.9) 42%, rgba(3, 9, 16, 0.48) 76%, rgba(3, 8, 14, 0.86) 100%),
        url("../image/backgrounds/helyszínek/arkanoria.webp");
    background-position: center 38%;
    background-size: cover;
    box-shadow: 0 24px 70px rgba(0, 0, 0, 0.42), inset 0 0 80px rgba(0, 0, 0, 0.45);
    clip-path: polygon(0 0, calc(100% - 26px) 0, 100% 26px, 100% 100%, 26px 100%, 0 calc(100% - 26px));
}

.tup-archive-hero::before {
    content: "";
    position: absolute;
    inset: 10px;
    z-index: -1;
    border: 1px solid rgba(109, 205, 224, 0.13);
    clip-path: inherit;
}

.tup-archive-hero::after {
    content: "";
    position: absolute;
    left: 0;
    right: 0;
    bottom: 0;
    height: 2px;
    background: linear-gradient(90deg, transparent, var(--tup-cyan), var(--tup-gold), transparent);
    opacity: 0.75;
    box-shadow: 0 0 20px var(--tup-cyan);
}

.tup-archive-hero__copy {
    max-width: 780px;
}

.tup-eyebrow {
    display: flex;
    align-items: center;
    gap: 12px;
    color: var(--tup-gold);
    font: 700 0.68rem/1 "Montserrat", sans-serif;
    letter-spacing: 0.24em;
    text-transform: uppercase;
}

.tup-eyebrow span {
    width: 38px;
    height: 1px;
    background: linear-gradient(90deg, transparent, currentColor);
}

.tup-eyebrow span:last-child {
    background: linear-gradient(90deg, currentColor, transparent);
}

.tup-archive-hero h1 {
    margin: 12px 0 8px;
    color: #f5f0e6;
    font: 400 clamp(3.1rem, 5.2vw, 5.5rem)/0.98 "AOW", serif;
    letter-spacing: 0.045em;
    text-transform: uppercase;
    text-shadow: 0 5px 28px rgba(0, 0, 0, 0.75);
}

.tup-archive-hero__copy > p {
    max-width: 650px;
    margin: 0;
    color: rgba(216, 229, 234, 0.72);
    font-size: 0.98rem;
    line-height: 1.6;
}

.tup-archive-status {
    display: flex;
    flex-wrap: wrap;
    gap: 10px 24px;
    margin-top: 23px;
    color: rgba(197, 213, 220, 0.57);
    font: 700 0.61rem/1 "Montserrat", sans-serif;
    letter-spacing: 0.13em;
    text-transform: uppercase;
}

.tup-archive-status span {
    display: inline-flex;
    align-items: center;
    gap: 7px;
}

.tup-archive-status i {
    width: 6px;
    height: 6px;
    border-radius: 50%;
    background: #63f5b2;
    box-shadow: 0 0 10px #63f5b2;
    animation: tupStatusPulse 2.6s ease-in-out infinite;
}

.tup-archive-seal {
    position: relative;
    width: 152px;
    height: 152px;
    flex: 0 0 152px;
    display: grid;
    place-items: center;
    border: 1px solid rgba(230, 189, 98, 0.35);
    border-radius: 50%;
    background: radial-gradient(circle, rgba(98, 215, 236, 0.15), rgba(3, 9, 16, 0.82) 58%, rgba(230, 189, 98, 0.11));
    box-shadow: 0 0 44px rgba(98, 215, 236, 0.14), inset 0 0 28px rgba(230, 189, 98, 0.08);
}

.tup-archive-seal__ring {
    position: absolute;
    inset: 12px;
    border: 1px dashed rgba(98, 215, 236, 0.45);
    border-radius: inherit;
    animation: tupSealSpin 28s linear infinite;
}

.tup-archive-seal__ring::before,
.tup-archive-seal__ring::after {
    content: "";
    position: absolute;
    left: 50%;
    top: -4px;
    width: 7px;
    height: 7px;
    transform: translateX(-50%) rotate(45deg);
    background: var(--tup-gold);
    box-shadow: 0 0 12px var(--tup-gold);
}

.tup-archive-seal__ring::after { top: auto; bottom: -4px; }

.tup-archive-seal__core {
    color: var(--tup-gold-bright);
    font-size: 3rem;
    filter: drop-shadow(0 0 13px rgba(230, 189, 98, 0.7));
}

.tup-archive-seal__label {
    position: absolute;
    bottom: 23px;
    color: rgba(180, 221, 232, 0.54);
    font: 700 0.48rem/1 "Montserrat", sans-serif;
    letter-spacing: 0.18em;
}

/* ---------- Kategória terminál ---------- */

#tudastar-categories {
    position: relative;
    display: grid;
    grid-template-columns: repeat(10, minmax(105px, 1fr));
    gap: 1px;
    margin: 0 0 18px;
    padding: 7px;
    overflow-x: auto;
    overflow-y: hidden;
    scrollbar-width: none;
    -ms-overflow-style: none;
    border: 1px solid var(--tup-line);
    background: rgba(3, 9, 16, 0.9);
    box-shadow: 0 14px 38px rgba(0, 0, 0, 0.28);
}

#tudastar-categories::-webkit-scrollbar { display: none; }

#tudastar-categories::before {
    content: "GYŰJTEMÉNYEK";
    position: absolute;
    top: 3px;
    right: 15px;
    color: rgba(98, 215, 236, 0.16);
    font: 700 0.46rem/1 "Montserrat", sans-serif;
    letter-spacing: 0.2em;
    pointer-events: none;
}

.tudastar-cat-btn {
    position: relative;
    min-width: 0;
    min-height: 68px;
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    justify-content: center;
    gap: 6px;
    padding: 11px 14px;
    overflow: hidden;
    border: 1px solid transparent;
    border-bottom: 1px solid transparent;
    background: linear-gradient(135deg, rgba(255, 255, 255, 0.025), transparent 65%);
    color: rgba(183, 202, 211, 0.58);
    clip-path: polygon(0 0, calc(100% - 10px) 0, 100% 10px, 100% 100%, 0 100%);
    transition: color 180ms ease, border-color 180ms ease, background 180ms ease, transform 180ms ease;
}

.tudastar-cat-btn::after {
    content: "";
    position: absolute;
    left: 12px;
    right: 46%;
    bottom: 0;
    height: 2px;
    background: linear-gradient(90deg, var(--tup-cyan), transparent);
    opacity: 0;
    transform: scaleX(0.35);
    transform-origin: left;
    transition: opacity 180ms ease, transform 180ms ease;
}

.tudastar-cat-btn > span {
    color: rgba(98, 215, 236, 0.44);
    font: 700 0.52rem/1 "Montserrat", sans-serif;
    letter-spacing: 0.15em;
}

.tudastar-cat-btn > strong {
    font: 400 0.78rem/1.1 "AOW", serif;
    letter-spacing: 0.06em;
    text-transform: uppercase;
}

.tudastar-cat-btn:hover {
    color: #e8f3f5;
    border-color: rgba(98, 215, 236, 0.18);
    background: rgba(98, 215, 236, 0.055);
    transform: translateY(-1px);
}

.tudastar-cat-btn.is-active {
    color: var(--tup-gold-bright);
    border-color: rgba(230, 189, 98, 0.34);
    border-bottom-color: rgba(230, 189, 98, 0.5);
    background: linear-gradient(135deg, rgba(230, 189, 98, 0.14), rgba(98, 215, 236, 0.045));
    box-shadow: inset 0 0 24px rgba(230, 189, 98, 0.035);
}

.tudastar-cat-btn.is-active > span { color: var(--tup-gold); }
.tudastar-cat-btn.is-active::after { opacity: 1; transform: scaleX(1); background: linear-gradient(90deg, var(--tup-gold), transparent); }

/* ---------- Fő archívumi elrendezés ---------- */

.tudastar-layout {
    grid-template-columns: 340px minmax(0, 1fr);
    gap: 18px;
}

#tudastar-sidebar,
#tudastar-detail {
    position: relative;
    border: 1px solid var(--tup-line);
    border-radius: 0;
    background:
        linear-gradient(145deg, rgba(98, 215, 236, 0.025), transparent 28%),
        var(--tup-panel);
    box-shadow: 0 20px 55px rgba(0, 0, 0, 0.3), inset 0 1px rgba(255, 255, 255, 0.025);
}

#tudastar-sidebar::before,
#tudastar-detail::before {
    content: "";
    position: absolute;
    left: -1px;
    top: -1px;
    width: 82px;
    height: 1px;
    background: linear-gradient(90deg, var(--tup-gold), transparent);
    box-shadow: 0 0 12px rgba(230, 189, 98, 0.35);
    z-index: 3;
}

#tudastar-sidebar {
    position: sticky;
    top: 88px;
    max-height: calc(100vh - 108px);
    padding: 0 16px 18px;
    gap: 13px;
    scrollbar-width: thin;
    scrollbar-color: rgba(98, 215, 236, 0.27) transparent;
}

.tup-sidebar-heading {
    margin: 0 -16px 2px;
    padding: 21px 19px 16px;
    border-bottom: 1px solid var(--tup-line);
    background: linear-gradient(90deg, rgba(98, 215, 236, 0.055), transparent);
}

.tup-sidebar-heading span {
    display: block;
    margin-bottom: 5px;
    color: var(--tup-gold);
    font: 700 0.55rem/1 "Montserrat", sans-serif;
    letter-spacing: 0.18em;
    text-transform: uppercase;
}

.tup-sidebar-heading strong {
    color: #e9eeed;
    font: 400 1.05rem/1.2 "AOW", serif;
    letter-spacing: 0.04em;
    text-transform: uppercase;
}

.tudastar-stat-block {
    min-height: 72px;
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 12px;
    border: 1px solid rgba(230, 189, 98, 0.18);
    background: radial-gradient(circle at 50% 0, rgba(230, 189, 98, 0.09), transparent 72%);
}

.tudastar-stat-num {
    color: var(--tup-gold-bright);
    font-size: 2.1rem;
    line-height: 1;
    text-shadow: 0 0 18px rgba(230, 189, 98, 0.22);
}

.tudastar-stat-label {
    max-width: 120px;
    color: rgba(195, 211, 217, 0.55);
    text-align: left;
    letter-spacing: 0.14em;
}

.tudastar-search-wrap::after {
    content: "";
    position: absolute;
    left: 1px;
    top: 1px;
    bottom: 1px;
    width: 2px;
    background: var(--tup-cyan);
    opacity: 0;
    transition: opacity 180ms ease;
}

.tudastar-search-wrap:focus-within::after { opacity: 0.8; }

.tudastar-search-icon {
    left: 13px;
    width: 17px;
    height: 17px;
    stroke: rgba(98, 215, 236, 0.65);
}

#tudastar-search-input {
    min-height: 43px;
    padding-left: 40px;
    border-radius: 0;
    border-color: var(--tup-line);
    background: rgba(1, 6, 11, 0.66);
    color: #e9f1f3;
}

#tudastar-search-input::placeholder { color: rgba(181, 201, 209, 0.35); }
#tudastar-search-input:focus { border-color: rgba(98, 215, 236, 0.52); box-shadow: 0 0 20px rgba(98, 215, 236, 0.06); }

.tudastar-filter-group label {
    color: rgba(188, 207, 214, 0.48);
    font-weight: 700;
    letter-spacing: 0.16em;
}

.tudastar-filter-group .settings-select {
    min-height: 40px;
    width: 100%;
    border-radius: 0;
    border-color: var(--tup-line);
    background-color: rgba(1, 6, 11, 0.66);
}

#tudastar-list {
    gap: 5px;
    padding-right: 3px;
}

.tudastar-list-group-title {
    margin: 17px 0 5px;
    padding: 0 0 7px 9px;
    border-bottom: 1px solid rgba(98, 215, 236, 0.1);
    color: rgba(98, 215, 236, 0.52);
    font-weight: 700;
    letter-spacing: 0.17em;
}

.tudastar-list-item {
    position: relative;
    min-height: 48px;
    gap: 11px;
    padding: 7px 9px;
    border-radius: 0;
    border-color: rgba(135, 186, 208, 0.075);
    background: rgba(255, 255, 255, 0.012);
}

.tudastar-list-item::before {
    content: "";
    position: absolute;
    left: -1px;
    top: 8px;
    bottom: 8px;
    width: 2px;
    background: var(--tup-gold);
    opacity: 0;
    box-shadow: 0 0 10px var(--tup-gold);
}

.tudastar-list-item:hover {
    background: rgba(98, 215, 236, 0.045);
    border-color: rgba(98, 215, 236, 0.15);
}

.tudastar-list-item.is-active {
    background: linear-gradient(90deg, rgba(230, 189, 98, 0.13), rgba(230, 189, 98, 0.025));
    border-color: rgba(230, 189, 98, 0.3);
}

.tudastar-list-item.is-active::before { opacity: 1; }

.tudastar-list-item img {
    width: 36px;
    height: 36px;
    border-radius: 2px;
    border: 1px solid rgba(183, 212, 224, 0.17);
    box-shadow: 0 4px 12px rgba(0, 0, 0, 0.35);
}

.tudastar-list-item-name {
    color: rgba(226, 236, 239, 0.78);
    font-size: 0.84rem;
    font-weight: 500;
}

.tudastar-list-item.is-active .tudastar-list-item-name { color: #fff4d6; }

/* ---------- Részletnézet ---------- */

#tudastar-detail {
    min-height: 690px;
    overflow: hidden;
}

.tup-detail-toolbar {
    height: 43px;
    display: flex;
    align-items: center;
    gap: 14px;
    padding: 0 20px;
    border-bottom: 1px solid var(--tup-line);
    background: rgba(2, 7, 12, 0.62);
    color: rgba(197, 216, 223, 0.42);
    font: 700 0.5rem/1 "Montserrat", sans-serif;
    letter-spacing: 0.18em;
    text-transform: uppercase;
}

.tup-detail-toolbar i {
    height: 1px;
    flex: 1;
    background: linear-gradient(90deg, rgba(98, 215, 236, 0.2), transparent);
}

.tup-detail-toolbar span:first-child { color: rgba(230, 189, 98, 0.66); }

.tudastar-empty-state {
    height: 645px;
    box-sizing: border-box;
    flex-direction: column;
    gap: 10px;
    background:
        radial-gradient(circle at 50% 47%, rgba(98, 215, 236, 0.08), transparent 27%),
        linear-gradient(rgba(98, 215, 236, 0.018) 1px, transparent 1px),
        linear-gradient(90deg, rgba(98, 215, 236, 0.018) 1px, transparent 1px);
    background-size: auto, 42px 42px, 42px 42px;
}

.tup-empty-emblem {
    width: 112px;
    height: 112px;
    display: grid;
    place-items: center;
    margin-bottom: 10px;
    border: 1px solid rgba(98, 215, 236, 0.22);
    border-radius: 50%;
    background: rgba(3, 10, 17, 0.68);
    box-shadow: 0 0 42px rgba(98, 215, 236, 0.08), inset 0 0 24px rgba(98, 215, 236, 0.06);
}

.tup-empty-emblem span {
    color: rgba(230, 189, 98, 0.75);
    font-size: 2.4rem;
    filter: drop-shadow(0 0 10px rgba(230, 189, 98, 0.35));
}

.tudastar-empty-state strong {
    color: rgba(237, 240, 235, 0.8);
    font: 400 1.32rem/1.2 "AOW", serif;
    letter-spacing: 0.05em;
    text-transform: uppercase;
}

.tudastar-empty-state p {
    max-width: 430px;
    margin: 0;
    color: rgba(182, 202, 211, 0.48);
    font-size: 0.86rem;
    line-height: 1.55;
}

#tudastar-detail-content {
    padding: 34px clamp(25px, 3.2vw, 50px) 46px;
}

.tudastar-detail-header {
    position: relative;
    align-items: center;
    gap: clamp(22px, 3vw, 38px);
    margin-bottom: 26px;
    padding: 5px 0 29px;
    border-bottom-color: var(--tup-line);
}

.tudastar-detail-header::after {
    content: "";
    position: absolute;
    left: 0;
    bottom: -1px;
    width: 128px;
    height: 1px;
    background: linear-gradient(90deg, var(--tup-gold), transparent);
    box-shadow: 0 0 11px rgba(230, 189, 98, 0.28);
}

.tudastar-detail-icon {
    width: clamp(150px, 14vw, 202px);
    height: clamp(150px, 14vw, 202px);
    padding: 7px;
    box-sizing: border-box;
    border-radius: 0;
    border-color: rgba(230, 189, 98, 0.32);
    background: linear-gradient(145deg, rgba(230, 189, 98, 0.1), rgba(3, 9, 15, 0.82));
    object-fit: contain;
    box-shadow: 0 16px 38px rgba(0, 0, 0, 0.35), 0 0 25px rgba(230, 189, 98, 0.055), inset 0 0 18px rgba(0, 0, 0, 0.3);
    clip-path: polygon(0 0, calc(100% - 14px) 0, 100% 14px, 100% 100%, 14px 100%, 0 calc(100% - 14px));
}

.tudastar-detail-titles h1 {
    max-width: 760px;
    margin-bottom: 13px;
    color: #f3efe5;
    font-size: clamp(1.8rem, 3vw, 2.75rem);
    line-height: 1.08;
    letter-spacing: 0.025em;
    text-transform: uppercase;
    text-shadow: 0 5px 20px rgba(0, 0, 0, 0.5);
}

.tudastar-badge {
    padding: 5px 9px;
    border: 1px solid currentColor;
    border-radius: 2px;
    background-color: transparent;
    box-shadow: inset 0 0 15px rgba(255, 255, 255, 0.035);
}

.tudastar-detail-section {
    position: relative;
    margin-bottom: 16px;
    padding: 20px 22px;
    border: 1px solid rgba(135, 186, 208, 0.105);
    background: linear-gradient(125deg, rgba(98, 215, 236, 0.025), rgba(255, 255, 255, 0.008));
}

.tudastar-detail-section h2 {
    display: flex;
    align-items: center;
    gap: 11px;
    margin-bottom: 13px;
    color: var(--tup-gold);
    font-size: 0.86rem;
    letter-spacing: 0.12em;
    text-transform: uppercase;
}

.tudastar-detail-section h2::before {
    content: "";
    width: 18px;
    height: 1px;
    background: currentColor;
    box-shadow: 0 0 8px currentColor;
}

.tudastar-detail-desc {
    color: rgba(210, 224, 229, 0.68);
    font-size: 0.94rem;
    line-height: 1.7;
}

.tudastar-stat-list { gap: 8px; }

.tudastar-stat-row,
.tudastar-kv,
.tudastar-ability-link-row {
    border-radius: 0;
    border-color: rgba(135, 186, 208, 0.12);
    background: rgba(2, 8, 14, 0.52);
}

.tudastar-stat-row {
    min-height: 43px;
    padding: 8px 12px;
}

.tudastar-stat-row:hover,
.tudastar-ability-link-row:hover {
    border-color: rgba(98, 215, 236, 0.28);
    background: rgba(98, 215, 236, 0.045);
}

.tudastar-avatar-item { width: 76px; gap: 7px; }

.tudastar-avatar-item img {
    width: 56px;
    height: 56px;
    padding: 3px;
    border-color: rgba(230, 189, 98, 0.3);
    background: rgba(2, 7, 12, 0.85);
    box-shadow: 0 7px 17px rgba(0, 0, 0, 0.3);
}

.tudastar-avatar-item:hover img {
    border-color: var(--tup-gold);
    box-shadow: 0 0 20px rgba(230, 189, 98, 0.12);
}

.tudastar-location-banner {
    height: clamp(390px, 46vw, 610px);
    margin: -34px calc(clamp(25px, 3.2vw, 50px) * -1) 31px;
    width: calc(100% + clamp(25px, 3.2vw, 50px) * 2);
    border-radius: 0;
    border-bottom: 1px solid rgba(230, 189, 98, 0.25);
    box-shadow: inset 0 -100px 90px rgba(2, 7, 12, 0.82);
}

.tudastar-location-banner img { object-position: center; }

.tudastar-location-banner-overlay {
    padding: clamp(25px, 4vw, 52px);
    background: linear-gradient(to top, rgba(2, 7, 12, 0.98), rgba(2, 7, 12, 0.08) 70%);
}

.tudastar-location-banner-title {
    color: #f5efe2;
    font-size: clamp(2rem, 4vw, 4rem);
    letter-spacing: 0.045em;
    text-shadow: 0 8px 28px rgba(0, 0, 0, 0.78);
}

.tudastar-rank-table,
.tudastar-farm-table {
    border-collapse: separate;
    border-spacing: 0;
    overflow: hidden;
    border: 1px solid rgba(135, 186, 208, 0.14);
    background: rgba(2, 7, 12, 0.45);
}

.tudastar-rank-table th,
.tudastar-farm-table th {
    color: var(--tup-gold);
    background: rgba(230, 189, 98, 0.055);
    letter-spacing: 0.1em;
}

.tudastar-rank-table tr:hover td,
.tudastar-farm-table tr:hover td { background: rgba(98, 215, 236, 0.035); }

@keyframes tupStatusPulse {
    0%, 100% { opacity: 0.55; transform: scale(0.8); }
    50% { opacity: 1; transform: scale(1); }
}

@keyframes tupSealSpin { to { transform: rotate(360deg); } }

@media (max-width: 1240px) {
    #tudastar-shell { padding-inline: 22px; }
    #tudastar-categories {
        display: flex;
        overflow-x: auto;
        scrollbar-width: none;
        scroll-snap-type: x proximity;
    }
    .tudastar-cat-btn { min-width: 140px; scroll-snap-align: start; }
    .tudastar-layout { grid-template-columns: 310px minmax(0, 1fr); }
}

@media (max-width: 980px) {
    .tup-archive-hero { min-height: 220px; }
    .tudastar-layout { grid-template-columns: 1fr; }
    #tudastar-sidebar { position: relative; top: auto; max-height: none; }
    #tudastar-list { max-height: 360px; }
    #tudastar-detail { min-height: 580px; }
    .tudastar-empty-state { height: 535px; }
}

@media (max-width: 680px) {
    #tudastar-shell { padding: 16px 12px 60px; }
    .tup-archive-hero {
        min-height: 245px;
        padding: 30px 24px;
        clip-path: polygon(0 0, calc(100% - 18px) 0, 100% 18px, 100% 100%, 18px 100%, 0 calc(100% - 18px));
    }
    .tup-archive-seal { display: none; }
    .tup-eyebrow span { width: 20px; }
    .tup-archive-status { gap: 10px 16px; }
    .tudastar-cat-btn { min-width: 122px; }
    #tudastar-detail-content { padding: 24px 17px 32px; }
    .tudastar-detail-header { align-items: flex-start; gap: 17px; }
    .tudastar-detail-icon { width: 112px; height: 112px; }
    .tudastar-detail-titles h1 { font-size: 1.45rem; }
    .tudastar-detail-section { padding: 17px 15px; }
    .tudastar-location-banner {
        height: 330px;
        margin: -24px -17px 24px;
        width: calc(100% + 34px);
    }
    .tup-detail-toolbar { padding-inline: 14px; }
    .tup-detail-toolbar span:last-child { display: none; }
}

@media (max-width: 480px) {
    .tudastar-detail-header {
        flex-direction: column;
        align-items: stretch;
    }

    .tudastar-detail-icon {
        width: 132px;
        height: 132px;
    }
}

@media (prefers-reduced-motion: reduce) {
    .tup-archive-seal__ring,
    .tup-archive-status i { animation: none; }
}

/* Helyszín-címerek (locationLinks.js) */
.tudastar-list-item img.tudastar-list-crest {
    object-fit: contain;
    background: transparent;
    border: 0;
    border-radius: 0;
    box-shadow: none;
    filter: drop-shadow(0 2px 4px rgba(0, 0, 0, 0.6));
}

.tudastar-location-banner .tudastar-location-crest {
    width: clamp(64px, 6vw, 96px);
    height: clamp(64px, 6vw, 96px);
    object-fit: contain;
    flex: 0 0 auto;
    filter: drop-shadow(0 6px 18px rgba(0, 0, 0, 0.75));
}

.tudastar-location-banner .loc-crest:not(.tudastar-location-crest) {
    width: 1.2em;
    height: 1.2em;
    object-fit: contain;
    display: inline-block;
}

.tudastar-map-link {
    display: inline-flex;
    align-items: center;
    gap: 6px;
    margin-top: 10px;
    padding: 6px 14px;
    font-family: 'AOW', serif;
    font-size: 14px;
    color: #ffd24c;
    text-decoration: none;
    border: 1px solid rgba(201, 164, 86, 0.45);
    background: rgba(201, 164, 86, 0.08);
    transition: background 0.18s, border-color 0.18s;
}

.tudastar-map-link:hover {
    background: rgba(201, 164, 86, 0.18);
    border-color: #e8c36a;
}
