/**
 * Logo + wordmark « retour accueil » — même style partout (verre, grand, intégré).
 * Charger après design-tokens.css quand la page l’utilise (recommandé).
 */
.top-link.brand-home-link,
.top-brand-link.brand-home-link,
.back-link.brand-home-link,
.home-link.brand-home-link,
.btn-primary.brand-home-link,
.btn-back.brand-home-link {
    display: inline-flex;
    align-items: center;
    gap: 11px;
    padding: 10px 16px 10px 12px;
    box-sizing: border-box;
    max-width: min(520px, calc(100vw - 190px));
    text-decoration: none;
    color: rgba(245, 248, 255, 0.98) !important;
    font-weight: 800;
    letter-spacing: 0.02em;
    border-radius: 999px !important;
    background: linear-gradient(
        140deg,
        rgba(8, 15, 35, 0.74) 0%,
        rgba(12, 21, 46, 0.7) 50%,
        rgba(7, 14, 31, 0.66) 100%
    ) !important;
    border: 1px solid rgba(103, 232, 249, 0.3) !important;
    box-shadow:
        inset 0 1px 0 rgba(255, 255, 255, 0.13),
        0 8px 22px rgba(2, 8, 23, 0.35),
        0 2px 8px rgba(2, 8, 23, 0.3) !important;
    backdrop-filter: blur(10px) saturate(1.04);
    -webkit-backdrop-filter: blur(10px) saturate(1.04);
    transition:
        border-color 0.2s ease,
        transform 0.2s ease,
        background 0.2s ease,
        box-shadow 0.2s ease,
        filter 0.2s ease;
}

.top-link.brand-home-link,
.home-link.brand-home-link {
    position: fixed;
    top: 20px;
    left: 20px;
    z-index: 998;
}

.top-brand-link.brand-home-link {
    position: fixed;
    top: 20px;
    left: 20px;
    z-index: 998;
}

[data-theme="light"] .top-link.brand-home-link,
[data-theme="light"] .top-brand-link.brand-home-link,
[data-theme="light"] .back-link.brand-home-link,
[data-theme="light"] .home-link.brand-home-link,
[data-theme="light"] .btn-primary.brand-home-link,
[data-theme="light"] .btn-back.brand-home-link {
    background: linear-gradient(
        140deg,
        rgba(255, 255, 255, 0.94) 0%,
        rgba(241, 245, 249, 0.9) 100%
    ) !important;
    border-color: rgba(14, 165, 233, 0.26) !important;
    box-shadow:
        inset 0 1px 0 rgba(255, 255, 255, 0.95),
        0 8px 18px rgba(15, 23, 42, 0.12),
        0 2px 6px rgba(15, 23, 42, 0.08) !important;
    color: rgba(15, 23, 42, 0.92) !important;
}

.top-link.brand-home-link:hover,
.top-brand-link.brand-home-link:hover,
.back-link.brand-home-link:hover,
.home-link.brand-home-link:hover,
.btn-primary.brand-home-link:hover,
.btn-back.brand-home-link:hover {
    transform: translateY(-1px) scale(1.01);
    filter: brightness(1.06);
    background: linear-gradient(
        140deg,
        rgba(8, 15, 35, 0.86) 0%,
        rgba(13, 25, 54, 0.8) 100%
    ) !important;
    border-color: rgba(125, 245, 255, 0.5) !important;
    box-shadow:
        inset 0 1px 0 rgba(255, 255, 255, 0.18),
        0 10px 28px rgba(2, 8, 23, 0.42),
        0 3px 12px rgba(2, 8, 23, 0.32) !important;
}

[data-theme="light"] .top-link.brand-home-link:hover,
[data-theme="light"] .top-brand-link.brand-home-link:hover,
[data-theme="light"] .back-link.brand-home-link:hover,
[data-theme="light"] .home-link.brand-home-link:hover,
[data-theme="light"] .btn-primary.brand-home-link:hover,
[data-theme="light"] .btn-back.brand-home-link:hover {
    background: linear-gradient(
        140deg,
        rgba(255, 255, 255, 0.98) 0%,
        rgba(248, 250, 252, 0.95) 100%
    ) !important;
    border-color: rgba(14, 165, 233, 0.44) !important;
}

.top-link.brand-home-link:focus-visible,
.top-brand-link.brand-home-link:focus-visible,
.back-link.brand-home-link:focus-visible,
.home-link.brand-home-link:focus-visible,
.btn-primary.brand-home-link:focus-visible,
.btn-back.brand-home-link:focus-visible {
    outline: none;
    border-color: rgba(125, 245, 255, 0.72) !important;
    box-shadow:
        0 0 0 3px rgba(14, 165, 233, 0.26),
        0 10px 28px rgba(2, 8, 23, 0.4) !important;
}

.brand-home-link .brand-home-link__icon,
.top-link.brand-home-link .brand-home-link__icon,
.top-brand-link .brand-home-link__icon,
.back-link.brand-home-link .brand-home-link__icon,
.home-link.brand-home-link .brand-home-link__icon,
.btn-primary.brand-home-link .brand-home-link__icon,
.btn-back.brand-home-link .brand-home-link__icon {
    flex-shrink: 0;
    width: 44px;
    height: 44px;
    object-fit: contain;
    border-radius: 999px;
    background: radial-gradient(circle at 30% 30%, rgba(255, 255, 255, 0.35), rgba(255, 255, 255, 0.08));
    border: 1px solid rgba(255, 255, 255, 0.22);
    filter: drop-shadow(0 2px 9px rgba(0, 0, 0, 0.3));
}

.brand-home-link .brand-home-link__wordmark,
.top-link.brand-home-link .brand-home-link__wordmark,
.top-brand-link .brand-home-link__wordmark,
.back-link.brand-home-link .brand-home-link__wordmark,
.home-link.brand-home-link .brand-home-link__wordmark,
.btn-primary.brand-home-link .brand-home-link__wordmark,
.btn-back.brand-home-link .brand-home-link__wordmark {
    display: inline-flex;
    align-items: baseline;
    font-size: 1.04rem;
    font-weight: 900;
    letter-spacing: 0.02em;
    line-height: 1.05;
    white-space: nowrap;
}

.brand-home-link__inflight {
    background: linear-gradient(135deg, #a5f3fc 0%, #22d3ee 50%, #38bdf8 100%);
    -webkit-background-clip: text;
    background-clip: text;
    color: transparent;
}

.brand-home-link__generator {
    background: linear-gradient(135deg, #fde68a 0%, #fbbf24 45%, #ea580c 100%);
    -webkit-background-clip: text;
    background-clip: text;
    color: transparent;
    margin-left: 1px;
}

.brand-home-link--compact {
    padding: 6px 10px 6px 7px;
    gap: 7px;
}

.brand-home-link--compact .brand-home-link__icon {
    width: 20px;
    height: 20px;
    border-radius: 6px;
}

.brand-home-link--compact .brand-home-link__wordmark {
    font-size: 0.78rem;
    letter-spacing: 0.02em;
}

@media (max-width: 1100px) {
    .top-link.brand-home-link,
    .top-brand-link.brand-home-link,
    .home-link.brand-home-link,
    .back-link.brand-home-link {
        max-width: min(460px, calc(100vw - 180px));
    }

    .top-link.brand-home-link .brand-home-link__wordmark,
    .top-brand-link .brand-home-link__wordmark,
    .home-link.brand-home-link .brand-home-link__wordmark,
    .back-link.brand-home-link .brand-home-link__wordmark {
        font-size: 1.05rem;
    }
}

@media (max-width: 820px) {
    .top-link.brand-home-link,
    .top-brand-link.brand-home-link,
    .home-link.brand-home-link,
    .back-link.brand-home-link {
        max-width: none;
        padding: 9px 13px 9px 10px;
        gap: 9px;
    }

    .top-link.brand-home-link .brand-home-link__wordmark,
    .top-brand-link .brand-home-link__wordmark,
    .home-link.brand-home-link .brand-home-link__wordmark,
    .back-link.brand-home-link .brand-home-link__wordmark {
        font-size: 0.95rem;
    }
}

@media (max-width: 768px) {
    .top-link.brand-home-link .brand-home-link__wordmark,
    .top-brand-link .brand-home-link__wordmark,
    .home-link.brand-home-link .brand-home-link__wordmark,
    .back-link.brand-home-link .brand-home-link__wordmark {
        font-size: 0.9rem;
    }

    .top-link.brand-home-link .brand-home-link__icon,
    .top-brand-link .brand-home-link__icon,
    .home-link.brand-home-link .brand-home-link__icon,
    .back-link.brand-home-link .brand-home-link__icon {
        width: 36px;
        height: 36px;
    }
}
