/* v13: hard fixes after live desktop testing */

/* Real CSS flags: avoids Windows/Chrome rendering emoji as "GB"/"FR" text. */
.language-switcher-v13 {
    gap: 7px !important;
    padding: 4px !important;
    min-width: 146px !important;
}
.language-switcher-v13 .language-link {
    min-width: 62px !important;
    gap: 7px !important;
    padding: 0 9px !important;
}
.language-switcher-v13 .language-flag {
    position: relative;
    display: inline-block !important;
    width: 22px;
    height: 15px;
    flex: 0 0 22px;
    border-radius: 3px;
    overflow: hidden;
    box-shadow: 0 0 0 1px rgba(255,255,255,.35), 0 2px 5px rgba(0,0,0,.18);
    font-size: 0 !important;
    line-height: 0 !important;
}
.language-switcher-v13 .language-flag i { position:absolute; display:block; }
.language-switcher-v13 .flag-fr i:nth-child(1) { inset:0 auto 0 0; width:33.333%; background:#0055a4; }
.language-switcher-v13 .flag-fr i:nth-child(2) { inset:0 auto 0 33.333%; width:33.333%; background:#fff; }
.language-switcher-v13 .flag-fr i:nth-child(3) { inset:0 0 0 auto; width:33.333%; background:#ef4135; }
.language-switcher-v13 .flag-uk { background:#012169; }
.language-switcher-v13 .flag-uk::before,
.language-switcher-v13 .flag-uk::after {
    content:""; position:absolute; inset:-3px; background:transparent; transform-origin:center;
}
.language-switcher-v13 .flag-uk::before {
    background:
        linear-gradient(32deg, transparent 43%, #fff 43%, #fff 57%, transparent 57%),
        linear-gradient(-32deg, transparent 43%, #fff 43%, #fff 57%, transparent 57%);
}
.language-switcher-v13 .flag-uk::after {
    background:
        linear-gradient(32deg, transparent 47%, #c8102e 47%, #c8102e 53%, transparent 53%),
        linear-gradient(-32deg, transparent 47%, #c8102e 47%, #c8102e 53%, transparent 53%);
}
.language-switcher-v13 .flag-uk i:nth-child(1) { top:0; bottom:0; left:9px; width:4px; background:#fff; z-index:2; }
.language-switcher-v13 .flag-uk i:nth-child(2) { left:0; right:0; top:5.5px; height:4px; background:#fff; z-index:2; }
.language-switcher-v13 .flag-uk i:nth-child(3) { inset:0; z-index:3; background:linear-gradient(90deg, transparent 41%, #c8102e 41%, #c8102e 59%, transparent 59%), linear-gradient(0deg, transparent 37%, #c8102e 37%, #c8102e 63%, transparent 63%); }
.language-switcher-v13 .language-link b {
    display:inline !important;
    font-size:.76rem !important;
    letter-spacing:.06em;
}

/* Auth modal: centered brand, readable fields, no labels glued to inputs. */
.login-modal-card,
.auth-modal-card {
    display: grid !important;
    gap: 18px !important;
}
.login-modal-card {
    width: min(480px, calc(100vw - 32px)) !important;
    padding: 30px !important;
}
.auth-card,
.auth-modal-card {
    display: grid !important;
}
.auth-brand-modal {
    justify-self: center !important;
    width: auto !important;
    padding: 0 !important;
    margin: 0 auto 4px !important;
    display: grid !important;
    justify-items: center !important;
    gap: 10px !important;
    text-align: center !important;
    border-radius: 0 !important;
}
.auth-brand-modal img {
    width: 112px !important;
    height: 112px !important;
    object-fit: contain !important;
    border-radius: 0 !important;
}
.auth-brand-modal span {
    display: grid !important;
    justify-items: center !important;
}
.auth-brand-modal strong {
    font-size: 1.35rem !important;
}
.login-modal-card h2,
.login-modal-card p,
.login-modal-card .eyebrow {
    text-align: center;
}
.auth-fields {
    display: grid !important;
    gap: 18px !important;
}
.auth-card label,
.login-modal-card label {
    display: grid !important;
    grid-template-columns: 1fr !important;
    gap: 8px !important;
    width: 100% !important;
    align-items: start !important;
}
.auth-card label span,
.login-modal-card label span {
    display:block !important;
    white-space: nowrap !important;
    line-height: 1.2 !important;
}
.auth-card input,
.login-modal-card input {
    width: 100% !important;
    box-sizing: border-box !important;
}

/* Team: desktop uses one detail dock only, never several floating overlays. */
@media (hover: hover) and (pointer: fine) {
    .team-grid-pro .team-detail-panel,
    .team-grid-rich .team-detail-panel,
    .team-card-pro:hover .team-detail-panel,
    .team-card-pro:focus-within .team-detail-panel,
    .team-card-rich:hover .team-detail-panel,
    .team-card-rich:focus-within .team-detail-panel,
    .team-card-pro.is-expanded .team-detail-panel,
    .team-card-rich.is-expanded .team-detail-panel {
        display: none !important;
        opacity: 0 !important;
        visibility: hidden !important;
        pointer-events: none !important;
    }
    .team-card-pro,
    .team-card-rich {
        cursor: pointer !important;
    }
    .team-card-pro.is-current,
    .team-card-rich.is-current {
        border-color: rgba(73,216,255,.70) !important;
        box-shadow: 0 24px 78px rgba(0,0,0,.28), 0 0 0 1px rgba(73,216,255,.28) inset !important;
        transform: translateY(-4px);
    }
}
.team-detail-dock {
    max-width: 1120px;
    margin-top: -18px;
    padding: clamp(22px, 3vw, 34px);
    border: 1px solid rgba(73,216,255,.26);
    border-radius: 26px;
    background: linear-gradient(135deg, rgba(73,216,255,.10), rgba(255,255,255,.035));
    box-shadow: 0 28px 90px rgba(0,0,0,.24), inset 0 1px 0 rgba(255,255,255,.07);
}
.team-detail-dock-label {
    color: var(--cyan);
    font-weight: 900;
    text-transform: uppercase;
    letter-spacing: .16em;
    font-size: .72rem;
    margin-bottom: 10px;
}
.team-detail-dock h2 { margin: 0 0 6px; font-size: clamp(1.35rem, 2.2vw, 2.15rem); }
.team-detail-dock span { display:block; color: var(--cyan); font-weight: 850; margin-bottom: 14px; }
.team-detail-dock p { margin: 0; color: var(--muted-strong); line-height: 1.72; max-width: 92ch; }
html[data-theme="light"] .team-detail-dock { background: rgba(255,255,255,.94); border-color: rgba(0,94,203,.20); box-shadow: 0 16px 60px rgba(17,42,84,.11); }
html[data-theme="light"] .team-detail-dock p { color:#243653; }
@media (hover: none), (pointer: coarse) {
    .team-detail-dock { display:none !important; }
}

/* Partner logo cards: white card only, no nested grey/white frames, larger marks, no clipping. */
.partner-logo-card {
    min-height: 122px !important;
    padding: 10px 12px 12px !important;
    background: #fff !important;
    border-color: rgba(255,255,255,.55) !important;
    box-shadow: 0 16px 48px rgba(0,0,0,.20) !important;
    overflow: visible !important;
}
.partner-logo-card img {
    width: 100% !important;
    height: 76px !important;
    max-width: 190px !important;
    object-fit: contain !important;
    padding: 0 !important;
    background: transparent !important;
    border: 0 !important;
    border-radius: 0 !important;
}
.partner-logo-card span {
    margin-top: 6px !important;
}
@media (hover: hover) and (pointer: fine) {
    .partner-logo-card:hover {
        transform: translateY(-6px) scale(1.04) !important;
    }
    .partner-logo-card:hover img {
        transform: scale(1.14) !important;
    }
}
@media (max-width: 820px) {
    .partner-logo-card { min-height: 110px !important; padding: 9px !important; }
    .partner-logo-card img { height: 62px !important; max-width: 152px !important; }
}

/* Make the brand tricolor fine, not like a bordered badge. */
.brand-tricolor { height: 3px !important; gap: 4px !important; max-width: 120px !important; }
.brand-tricolor i { box-shadow: none !important; }
