/* Teams directory — /teams/. Club cards in the club's own colours. */

.pb-teams { display: grid; gap: 22px; }

.pb-teams__head { display: flex; align-items: flex-end; justify-content: space-between; gap: 16px; flex-wrap: wrap; }
.pb-teams__eyebrow { margin: 0 0 4px; font-size: .78rem; letter-spacing: .14em; text-transform: uppercase; color: var(--pb-cyan); }
.pb-teams__head h1 { margin: 0 0 6px; font-family: var(--pb-font-display); text-transform: uppercase; letter-spacing: .04em; }
.pb-teams__sub { margin: 0; color: var(--pb-text-muted); }

.pb-teams__grid { list-style: none; margin: 0; padding: 0; display: grid; gap: 14px; grid-template-columns: repeat(auto-fill, minmax(300px, 1fr)); }

.pb-teams__card {
    --tc: var(--pb-cyan);
    --tc2: var(--pb-blue);
    position: relative; display: flex; flex-direction: column; gap: 12px; padding: 16px 16px 14px;
    border: 1px solid var(--pb-border); border-radius: var(--pb-radius); overflow: hidden;
    background: linear-gradient(145deg, rgba(8, 27, 43, 0.97), rgba(4, 15, 25, 0.98));
    color: inherit; text-decoration: none;
    transition: transform .15s ease, border-color .15s ease, box-shadow .15s ease;
}
.pb-teams__card:hover { transform: translateY(-2px); border-color: color-mix(in srgb, var(--tc) 55%, transparent); box-shadow: 0 10px 30px rgba(0, 0, 0, .35); }
.pb-teams__stripe { position: absolute; inset: 0 auto 0 0; width: 4px; background: linear-gradient(180deg, var(--tc), var(--tc2)); }

.pb-teams__top { display: flex; align-items: center; gap: 12px; }
.pb-teams__emblem {
    flex: 0 0 auto; width: 52px; height: 52px; display: grid; place-items: center; border-radius: 12px;
    background: color-mix(in srgb, var(--tc) 14%, transparent);
    border: 1px solid color-mix(in srgb, var(--tc) 45%, transparent);
    overflow: hidden;
}
.pb-teams__emblem img { width: 100%; height: 100%; object-fit: contain; }
.pb-teams__who { display: flex; flex-direction: column; gap: 2px; min-width: 0; flex: 1 1 auto; }
.pb-teams__who strong { font-size: 1.05rem; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.pb-teams__who code { align-self: flex-start; font-size: .72rem; padding: 1px 7px; border-radius: 6px; background: var(--pb-bg-card-soft); border: 1px solid var(--pb-border-soft); color: var(--pb-text-soft); }
.pb-teams__badge { flex: 0 0 auto; align-self: flex-start; font-size: .7rem; letter-spacing: .06em; text-transform: uppercase; padding: 3px 9px; border-radius: 999px; border: 1px solid var(--pb-border-soft); color: var(--pb-text-muted); white-space: nowrap; }
.pb-teams__badge--open { border-color: color-mix(in srgb, var(--pb-green) 55%, transparent); color: var(--pb-green); background: color-mix(in srgb, var(--pb-green) 10%, transparent); }

.pb-teams__meta { display: flex; align-items: center; gap: 8px; flex-wrap: wrap; font-size: .8rem; color: var(--pb-text-muted); }
.pb-teams__meta > span { padding: 3px 9px; border-radius: 8px; background: var(--pb-bg-card-soft); border: 1px solid var(--pb-border-soft); }
.pb-teams__tier { color: var(--pb-gold); border-color: color-mix(in srgb, var(--pb-gold) 45%, transparent) !important; }

.pb-teams__note { font-size: .85rem; color: var(--pb-text-soft); font-style: italic; overflow: hidden; display: -webkit-box; -webkit-line-clamp: 2; -webkit-box-orient: vertical; }

.pb-teams__foot { margin-top: auto; display: flex; align-items: center; justify-content: space-between; gap: 10px; padding-top: 10px; border-top: 1px solid var(--pb-border-soft); font-size: .82rem; }
.pb-teams__captain { color: var(--pb-text-muted); white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.pb-teams__cta { flex: 0 0 auto; color: var(--tc); font-weight: 600; }

.pb-teams__empty { padding: 34px; text-align: center; display: grid; gap: 12px; justify-items: center; }
.pb-teams__empty h2 { margin: 0; }
.pb-teams__empty p { margin: 0; color: var(--pb-text-muted); max-width: 46ch; }

@media (max-width: 640px) {
    .pb-teams__grid { grid-template-columns: 1fr; }
}

/* Players directory — /players/. One card per member, their footballers inside. */

.pb-pld__filters { display: flex; gap: 8px; flex-wrap: wrap; align-items: center; padding: 12px 14px; border: 1px solid var(--pb-border); border-radius: var(--pb-radius); background: var(--pb-bg-card-soft); }
.pb-pld__filters input[type="search"] { flex: 1 1 220px; min-width: 0; }
.pb-pld__filters input, .pb-pld__filters select { padding: 8px 10px; border-radius: 8px; border: 1px solid var(--pb-border-soft); background: var(--pb-bg-card); color: var(--pb-text-main); }

.pb-pld__face { flex: 0 0 auto; display: block; border-radius: 12px; }
.pb-pld__club { font-size: .78rem; color: var(--pb-cyan); text-decoration: none; }
.pb-pld__club:hover { text-decoration: underline; }
.pb-teams__who a { color: inherit; text-decoration: none; }
.pb-teams__who a:hover { text-decoration: underline; }

.pb-pld__profiles { list-style: none; margin: 0; padding: 0; display: grid; gap: 6px; }
.pb-pld__profiles li { display: flex; align-items: center; gap: 8px; padding: 7px 10px; border: 1px solid var(--pb-border-soft); border-radius: 9px; background: var(--pb-bg-card-soft); font-size: .84rem; }
.pb-pld__pos { flex: 0 0 auto; min-width: 40px; text-align: center; font-weight: 700; font-size: .72rem; letter-spacing: .04em; padding: 2px 6px; border-radius: 6px; background: color-mix(in srgb, var(--pb-cyan) 14%, transparent); border: 1px solid color-mix(in srgb, var(--pb-cyan) 40%, transparent); color: var(--pb-cyan); }
.pb-pld__pname { min-width: 0; flex: 1 1 auto; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.pb-pld__pname em { font-style: normal; color: var(--pb-text-muted); }
.pb-pld__sec { flex: 0 0 auto; font-size: .72rem; color: var(--pb-text-muted); }
.pb-pld__val { flex: 0 0 auto; font-size: .75rem; color: var(--pb-gold); }

.pb-pld__offer { display: flex; gap: 8px; flex-wrap: wrap; padding-top: 10px; border-top: 1px dashed var(--pb-border-soft); }
.pb-pld__offer input[type="number"] { width: 110px; padding: 7px 9px; border-radius: 8px; border: 1px solid var(--pb-border-soft); background: var(--pb-bg-card); color: var(--pb-text-main); }
.pb-pld__offer input[type="text"] { flex: 1 1 140px; min-width: 0; padding: 7px 9px; border-radius: 8px; border: 1px solid var(--pb-border-soft); background: var(--pb-bg-card); color: var(--pb-text-main); }
.pb-pld__closed { margin: 0; padding-top: 10px; border-top: 1px dashed var(--pb-border-soft); font-size: .8rem; color: var(--pb-text-muted); }
.pb-teams__head-actions { display: flex; gap: 10px; flex-wrap: wrap; }

/* One price per member — a small value badge in the card's footer. */
.pb-pld__price {
    padding: .2rem .55rem; border-radius: 999px; font-size: .78rem; font-weight: 800;
    color: #ffe9a8; background: rgba(242, 193, 78, .14); border: 1px solid rgba(242, 193, 78, .4);
    white-space: nowrap;
}
