/* v11: polish, contrast, partner links and safer interaction states */

/* Brand lockups: keep the requested Alf-Space casing and add the blue-white-red signature line. */
.brand-copy strong,
.auth-brand strong,
.brand-dashboard .brand-copy strong,
.footer-brand .brand-copy strong {
    text-transform: none !important;
    letter-spacing: .01em !important;
    font-weight: 900;
}
.brand-tricolor {
    display: grid;
    grid-template-columns: 1fr 1fr 1fr;
    width: min(132px, 100%);
    height: 5px;
    margin: 6px 0 4px;
    border-radius: 999px;
    overflow: hidden;
    border: 1px solid rgba(255,255,255,.22);
    box-shadow: 0 1px 0 rgba(0,0,0,.20);
}
.brand-tricolor i:nth-child(1) { background: #12256a; }
.brand-tricolor i:nth-child(2) { background: #ffffff; }
.brand-tricolor i:nth-child(3) { background: #d71935; }
.brand-v10 .brand-copy,
.auth-brand span,
.footer-brand .brand-copy,
.brand-dashboard .brand-copy {
    gap: 0 !important;
}
.brand-v10 .brand-copy small,
.auth-brand small,
.footer-brand .brand-copy small,
.brand-dashboard .brand-copy small {
    margin-top: 2px !important;
}

/* Language: only EN / FR, no flag glyph duplication such as GBEN/FRFR. */
.language-switcher-v11 {
    gap: 3px;
    min-width: 92px;
}
.language-switcher-v11 .language-link {
    min-width: 40px !important;
    padding-inline: 10px !important;
    font-variant: all-small-caps;
    letter-spacing: .055em;
}
.language-switcher-v11 .language-link b {
    display: inline !important;
    font-size: .78rem !important;
}

/* Reset/admin feedback: success stays human readable, technical payloads stay in logs. */
.dashboard-alert-success small {
    display: none !important;
}

/* Safer contrast in light mode. */
html[data-theme="light"] .eyebrow,
html[data-theme="light"] .product-label,
html[data-theme="light"] th,
html[data-theme="light"] .dashboard-section-title .eyebrow {
    color: #005ecb !important;
}
html[data-theme="light"] p,
html[data-theme="light"] .hero-lead,
html[data-theme="light"] .section-heading p,
html[data-theme="light"] .team-card-copy p,
html[data-theme="light"] .story-narrative p,
html[data-theme="light"] .dashboard-card p,
html[data-theme="light"] .dashboard-card small,
html[data-theme="light"] .mini-note,
html[data-theme="light"] .auth-card p,
html[data-theme="light"] .login-modal-card p {
    color: #293a58 !important;
}
html[data-theme="light"] .card,
html[data-theme="light"] .product-card,
html[data-theme="light"] .team-card-pro,
html[data-theme="light"] .ecosystem,
html[data-theme="light"] .dashboard-card,
html[data-theme="light"] .user-access-card,
html[data-theme="light"] .login-modal-card,
html[data-theme="light"] .auth-context-card,
html[data-theme="light"] .auth-card {
    background: rgba(255,255,255,.92) !important;
    color: #071326 !important;
    border-color: rgba(12,42,118,.16) !important;
}
html[data-theme="light"] input,
html[data-theme="light"] select,
html[data-theme="light"] textarea,
html[data-theme="light"] .admin-user-form input,
html[data-theme="light"] .admin-user-form select,
html[data-theme="light"] .auth-card input,
html[data-theme="light"] .login-modal-card input {
    background: #ffffff !important;
    color: #071326 !important;
    border-color: rgba(11,42,139,.28) !important;
}
html[data-theme="light"] input::placeholder,
html[data-theme="light"] textarea::placeholder {
    color: #6f7f99 !important;
}
html[data-theme="light"] .button-secondary,
html[data-theme="light"] .action-button {
    color: #071326 !important;
    background: rgba(8,32,88,.06) !important;
}
html[data-theme="light"] .team-detail-panel-inner {
    background: rgba(255,255,255,.98) !important;
    border-color: rgba(11,42,139,.16) !important;
    box-shadow: 0 24px 70px rgba(20,42,84,.22), inset 0 1px 0 rgba(255,255,255,.70) !important;
}
html[data-theme="light"] .team-detail-panel strong,
html[data-theme="light"] .team-detail-panel p {
    color: #071326 !important;
}
html[data-theme="light"] .brand-tricolor {
    border-color: rgba(9,28,96,.12);
}

/* Team detail interaction: desktop is hover/focus only, touch is click-to-open. */
.team-card-pro,
.team-card-rich {
    isolation: isolate;
}
.team-card-pro.is-expanded .team-detail-panel,
.team-card-rich.is-expanded .team-detail-panel {
    opacity: 1;
    visibility: visible;
    transform: translate(-50%, 0) scale(1);
}
@media (hover: hover) and (pointer: fine) {
    .team-card-pro,
    .team-card-rich { cursor: default; }
    .team-card-pro.is-expanded:not(:hover):not(:focus-within) .team-detail-panel,
    .team-card-rich.is-expanded:not(:hover):not(:focus-within) .team-detail-panel {
        opacity: 0;
        visibility: hidden;
        transform: translate(-50%, 10px) scale(.98);
    }
}
@media (hover: none), (pointer: coarse) {
    .team-card-pro,
    .team-card-rich { cursor: pointer; }
}

/* Partner logos: interactive, professional and linked. */
.partner-logos-v11 {
    align-items: stretch;
}
.partner-logo-card {
    position: relative;
    display: grid;
    place-items: center;
    min-height: 112px;
    padding: 14px 14px 18px;
    border-radius: 18px;
    border: 1px solid var(--line);
    background: rgba(255,255,255,.94);
    overflow: hidden;
    transition: transform .26s ease, box-shadow .26s ease, border-color .26s ease, background .26s ease;
}
.partner-logo-card::after {
    content: "↗";
    position: absolute;
    top: 8px;
    right: 10px;
    color: #11327f;
    opacity: 0;
    transform: translate(-4px, 4px);
    transition: opacity .2s ease, transform .2s ease;
    font-weight: 900;
}
.partner-logo-card img {
    width: 100%;
    height: 78px;
    object-fit: contain;
    padding: 8px;
    background: transparent !important;
    border-radius: 0 !important;
    transition: transform .26s ease, filter .26s ease;
}
.partner-logo-card span {
    margin-top: 4px;
    font-size: .72rem;
    font-weight: 850;
    color: #102052;
    text-align: center;
    line-height: 1.2;
    opacity: .88;
}
@media (hover: hover) and (pointer: fine) {
    .partner-logo-card:hover {
        transform: translateY(-6px) scale(1.035);
        box-shadow: 0 22px 58px rgba(0,0,0,.26);
        border-color: rgba(73,216,255,.44);
    }
    .partner-logo-card:hover::after {
        opacity: 1;
        transform: translate(0, 0);
    }
    .partner-logo-card:hover img {
        transform: scale(1.10);
        filter: saturate(1.05) contrast(1.03);
    }
}
html[data-theme="dark"] .partner-logo-card {
    background: rgba(255,255,255,.96);
}
html[data-theme="light"] .partner-logo-card {
    background: rgba(255,255,255,.98) !important;
    box-shadow: 0 12px 34px rgba(20,42,84,.08);
}

@media (max-width: 720px) {
    .brand-tricolor { width: 96px; height: 4px; margin-top: 5px; }
    .partner-logo-card { min-height: 100px; padding: 12px; }
    .partner-logo-card img { height: 62px; }
    .partner-logo-card span { font-size: .68rem; }
    .language-switcher-v11 { min-width: 82px; }
    .language-switcher-v11 .language-link { min-width: 36px !important; padding-inline: 8px !important; }
}
