/*
 * Vánoční turnaj - komponenty správy v tmavém vzhledu modulu: okno nového turnaje, propojení týmů,
 * umístění a losy, playoff, párování hráčů, profil hráče, historie, sekce Můj tým, turnaj s power
 * rankings, zápis zápasu správcem. Načítá se v layoutu modulu (app/ChristmasModule/templates/@layout.latte)
 * po christmas-arena.css - barvy a panely (--xa-*) jsou odtud.
 */

.xmas-gold { color: var(--xa-gold-2); }

/* Okno "Jaký turnaj chcete založit?" */
.xa .xmas-choice {
    display: flex;
    flex-direction: column;
    gap: 6px;
    height: 100%;
    padding: 18px;
    border: 1px solid var(--xa-line);
    border-radius: 16px;
    background: rgba(255, 255, 255, .04);
    color: var(--xa-text);
    transition: border-color .15s, box-shadow .15s, background .15s, transform .15s;
}

.xa .xmas-choice:hover { transform: translateY(-2px); border-color: rgba(232, 197, 28, .6); background: rgba(232, 197, 28, .08); box-shadow: 0 12px 28px rgba(0, 0, 0, .35); color: var(--xa-text); }
.xmas-choice i { color: var(--xa-gold); font-size: 28px; }
.xmas-choice b { color: #fff; font-size: 18px; }
.xmas-choice span { color: var(--xa-muted); font-size: 14px; }

/* Propojení týmů */
.xmas-lineages { display: grid; grid-template-columns: minmax(0, 1fr); gap: 12px; }
.xmas-lineage.is-linked { border-color: rgba(232, 197, 28, .4); }
.xmas-lineage-head { display: flex; align-items: center; gap: 10px; margin-bottom: 12px; }
.xmas-lineage-versions { display: flex; flex-wrap: wrap; gap: 10px; }

.xmas-version {
    position: relative;
    display: flex;
    align-items: center;
    gap: 10px;
    min-width: 240px;
    padding: 8px 44px 8px 8px;
    border: 1px solid var(--xa-line);
    border-radius: 14px;
    background: rgba(255, 255, 255, .04);
}

.xmas-version.is-newest { border-color: rgba(232, 197, 28, .55); background: rgba(232, 197, 28, .07); }
.xmas-version b { color: #fff; }
.xmas-version-logo img { width: 44px; height: 44px; object-fit: contain; filter: drop-shadow(0 0 1px rgba(255, 255, 255, .35)) drop-shadow(0 3px 6px rgba(0, 0, 0, .55)); }
.xmas-version-tournaments { display: flex; flex-wrap: wrap; gap: 4px; margin-top: 4px; }
.xmas-version-unlink { position: absolute; top: 8px; right: 8px; }

/* Umístění a losy */
.xmas-place-row { display: flex; align-items: center; gap: 10px; margin-bottom: 10px; }

.xmas-place-medal {
    display: inline-flex;
    flex: 0 0 38px;
    align-items: center;
    justify-content: center;
    height: 38px;
    border: 1px solid var(--xa-line);
    border-radius: 50%;
    background: rgba(255, 255, 255, .06);
    color: #fff;
    font-weight: 800;
}

.xmas-place-medal.is-place-1 { border-color: #fff3c2; background: linear-gradient(180deg, #ffe27a, #d9a520); color: #2a1d00; box-shadow: 0 0 16px rgba(232, 197, 28, .5); }
.xmas-place-medal.is-place-2 { border-color: #fff; background: linear-gradient(180deg, #f1f4f8, #aab4c2); color: #1d2430; }
.xmas-place-medal.is-place-3 { border-color: #ffe0c6; background: linear-gradient(180deg, #f3b98a, #b86f35); color: #2a1300; }

/* Playoff - náhled nastavení a stav losování */
.xmas-playoff-preview:empty { display: none; }
.xmas-playoff-state { display: flex; flex-wrap: wrap; align-items: center; gap: 8px; }
.xmas-result-suffix { margin-top: 2px; font-size: 15px; font-weight: 700; }
.xmas-winning-penalty .player-name { font-weight: 800; }

/* Historie */
.xmas-history-team { display: flex; align-items: center; gap: 10px; }
.xmas-history-team img { width: 32px; height: 32px; padding: 2px; border-radius: 50%; background: #fff; object-fit: contain; }
.xmas-row-muted td { opacity: .5; }
.xmas-medal-col { width: 44px; text-align: center; }

/* Párování hráčů */
.xmas-suggestion { margin: 2px 4px 2px 0; }
.xa .xmas-badge-club { background: rgba(232, 197, 28, .18) !important; color: var(--xa-gold-2) !important; box-shadow: inset 0 0 0 1px rgba(232, 197, 28, .45); }

/* Profil hráče */
.xmas-profile-card canvas { display: block; width: 100%; max-width: 360px; height: auto; margin: 0 auto; filter: drop-shadow(0 18px 30px rgba(0, 0, 0, .55)); }
.xmas-stat-tiles { display: grid; grid-template-columns: repeat(auto-fit, minmax(110px, 1fr)); gap: 10px; }

.xmas-stat-tile {
    padding: 14px 12px;
    border: 1px solid var(--xa-line);
    border-radius: 16px;
    background: var(--xa-panel);
    text-align: center;
}

.xmas-stat-tile b { display: block; color: var(--xa-gold-2); font-size: 26px; font-weight: 900; font-variant-numeric: tabular-nums; }
.xmas-stat-tile span { color: var(--xa-muted); font-size: 12px; font-weight: 600; letter-spacing: .08em; text-transform: uppercase; }

/* Můj tým a turnaj s power rankings */
.xmas-tournament-row,
.xmas-status-row {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    justify-content: space-between;
    gap: 8px 14px;
    padding: 12px 0;
    border-bottom: 1px solid var(--xa-line);
}

.xmas-tournament-row:last-child,
.xmas-status-row:last-of-type { border-bottom: 0; }
.xmas-tournament-row b,
.xmas-status-row b { color: #fff; }
.xmas-login { margin-top: 4px; font-size: 12px; }
.xmas-login-actions { display: flex; justify-content: center; gap: 4px; margin-top: 6px; }
.xmas-player-card figcaption .btn { margin-top: 6px; padding: 4px 10px; font-size: 12px; white-space: nowrap; }
.xmas-registered { display: flex; flex-wrap: wrap; gap: 6px; padding: 0; list-style: none; }
.xmas-registered li { display: inline-flex; align-items: center; gap: 6px; padding: 5px 12px; border: 1px solid var(--xa-line); border-radius: 999px; background: rgba(255, 255, 255, .06); color: #fff; font-size: 14px; font-weight: 600; }
.xmas-vote-team { margin-bottom: 18px; }
.xmas-vote-icon { margin-right: 6px; font-size: 20px; }
.xmas-self-stats input { max-width: 90px; }

/* Zamčený tým - vzhled karty a vlastnosti stávajících hráčů mění jen správce */
.xmas-locked { opacity: .5; pointer-events: none; }

/* Zápis zápasu správcem (Administration:match) - týmy a skóre nahoře, góly s minutou, hráči jako tlačítka */
.xa-rec-team {
    display: flex;
    align-items: center;
    justify-content: center;
    min-height: 120px;
    padding: 18px 12px;
    border: 1px solid rgba(232, 197, 28, .3);
    border-radius: 16px;
    background: linear-gradient(135deg, rgba(232, 197, 28, .22), rgba(232, 197, 28, .04));
    text-align: center;
}

.xa-rec-team.is-away { border-color: rgba(90, 162, 255, .35); background: linear-gradient(225deg, rgba(90, 162, 255, .24), rgba(90, 162, 255, .04)); }

.xa-rec-score { display: flex; align-items: center; gap: 14px; color: #fff; font-size: 56px; font-weight: 900; line-height: 1; font-variant-numeric: tabular-nums; }
.xa-rec-score span { color: rgba(255, 255, 255, .45); font-size: 40px; }

.xa-admin-round .xa-round-head .xa-round-line { margin-left: 0; }
.xa-admin-round .xa-round-name { padding-right: 14px; }

.xa-rec-goals { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); gap: 16px; }
.xa-rec-goals h3 { margin: 0 0 10px; font-size: 16px; font-weight: 800; text-transform: uppercase; }
.xa-rec-goals .is-away h3 { text-align: right; }
.xa-rec-list { display: flex; flex-direction: column; gap: 6px; margin: 0; padding: 0; list-style: none; }

.xa-rec-list li {
    display: flex;
    align-items: center;
    gap: 10px;
    padding: 6px 8px 6px 6px;
    border: 1px solid var(--xa-line);
    border-radius: 12px;
    background: rgba(255, 255, 255, .04);
}

.xa-rec-list li.is-cancelled { opacity: .55; }
.xa-rec-list li.is-cancelled .xa-rec-name { text-decoration: line-through; }
.xa-rec-min { display: grid; flex: 0 0 auto; place-items: center; min-width: 42px; height: 30px; padding: 0 6px; border-radius: 999px; background: rgba(232, 197, 28, .16); color: var(--xa-gold-2); font-size: 13px; font-weight: 800; }
.xa-rec-name { flex: 1 1 auto; min-width: 0; overflow: hidden; color: #fff; font-weight: 600; text-overflow: ellipsis; white-space: nowrap; }
.xa-rec-name small { display: block; overflow: hidden; color: #ff9aaa; font-size: 12px; font-weight: 500; text-overflow: ellipsis; }
.xa-rec-empty { color: var(--xa-muted); font-size: 14px; }

.xa-rec-players { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); gap: 16px; }
.xa-rec-side { display: flex; flex-direction: column; gap: 8px; }
.xa-rec-side h3 { margin: 0 0 4px; font-size: 14px; font-weight: 800; letter-spacing: .08em; text-transform: uppercase; }
.xa-rec-side.is-home h3 { color: var(--xa-gold-2); }
.xa-rec-side.is-away h3 { color: #9cc7ff; text-align: right; }

.xa .xa-rec-player {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 10px;
    width: 100%;
    padding: 16px 18px;
    border: 1px solid rgba(232, 197, 28, .4);
    border-radius: 16px;
    background: linear-gradient(90deg, rgba(232, 197, 28, .2), rgba(232, 197, 28, .05));
    color: #fff;
    font-size: 18px;
    font-weight: 800;
    text-align: left;
    transition: transform .12s, background .15s, border-color .15s;
}

.xa .xa-rec-player:hover { transform: translateY(-1px); border-color: var(--xa-gold); background: linear-gradient(90deg, rgba(232, 197, 28, .32), rgba(232, 197, 28, .1)); color: #fff; }
.xa .xa-rec-player i { color: var(--xa-gold-2); font-size: 20px; }
.xa .xa-rec-side.is-away .xa-rec-player { flex-direction: row-reverse; border-color: rgba(90, 162, 255, .45); background: linear-gradient(270deg, rgba(90, 162, 255, .22), rgba(90, 162, 255, .05)); text-align: right; }
.xa .xa-rec-side.is-away .xa-rec-player:hover { border-color: var(--xa-blue); background: linear-gradient(270deg, rgba(90, 162, 255, .34), rgba(90, 162, 255, .1)); }
.xa .xa-rec-side.is-away .xa-rec-player i { color: #9cc7ff; }
.xa .xa-rec-minutes { max-height: 320px; overflow-y: auto; }

.xa-rec-summary { display: flex; flex-wrap: wrap; align-items: center; justify-content: center; gap: 8px 18px; color: var(--xa-muted); font-size: 14px; }
.xa-rec-summary b { color: #fff; }

@media (max-width: 767.98px) {
    .xa-rec-goals,
    .xa-rec-players { gap: 8px; }
    .xa .xa-rec-player { padding: 12px 10px; font-size: 14px; }
    .xa-rec-min { min-width: 36px; font-size: 12px; }
}

@media (max-width: 575.98px) {
    .xmas-version { width: 100%; min-width: 0; }
    .xmas-version-body { min-width: 0; overflow-wrap: anywhere; }
    .xmas-version-logo { flex: 0 0 44px; overflow: hidden; }
    .xmas-version-tournaments .xa-chip { max-width: 100%; white-space: normal; }
    .xa-rec-team { min-height: 86px; padding: 10px 6px; }
    .xa .xa-rec-team .xa-hero-name { font-size: 13px; overflow-wrap: normal; hyphens: auto; }
    .xa-rec-score { gap: 8px; font-size: 40px; }
    .xa-rec-score span { font-size: 28px; }
    .xa-rec-goals { grid-template-columns: 1fr; }
    .xa-rec-goals .is-away h3 { text-align: left; }
}
