/* Topbar gradient */
.layout-topbar.custom-topbar {
    background: linear-gradient(90deg, #010A79 0%, #0512A7 100%) !important;
    justify-content: space-between; 
}

/* Left container */
.topbar-left-content {
    display: flex;
    align-items: center;
}

/* Logo + text side by side */
.topbar-brand {
    display: grid;
    grid-template-columns: auto 1fr; /* logo takes its natural size, text fills remaining */
    align-items: center;             /* vertical align */
    column-gap: 0.5rem;
}

/* Logo wrapper */
.logo-wrapper {
    display: flex;
    align-items: center;
}

/* Logo itself */
.topbar-logo-img {
    max-height: 2.25rem; /* restrict the size */
    width: auto;          /* maintain aspect ratio */
    display: block;
}

/* Text block */
.topbar-brand-text {
    display: flex;
    flex-direction: column; /* stack title and subtitle */
    justify-content: center;
    line-height: 1.1;
}

/* TRIZtech line */
.topbar-title {
    display: flex;
    align-items: baseline;
}

.logo-main {
    font-weight: bold;
    font-size: 18px;
    color: #fff;
}

.logo-sub {
    font-size: 15px;
    margin-left: 2px;
    color: #fff;
}

/* Subtitle */
.topbar-subtitle {
    font-size: 12px;
    color: #e0e0e0;
    white-space: nowrap;
}
/* Logo wrapper */
.logo-wrapper {
    display: flex;
    align-items: center;
}

/* Logo image */
.topbar-logo-img {
    height: 2.25rem;       /* force the topbar height */
    max-height: 2.25rem;   /* prevents it from growing */
    width: auto;            /* maintain aspect ratio */
    object-fit: contain;    /* scale properly */
    display: block;
}

/* Partie droite */
.topbar-right-content {
    display: flex;
    align-items: center;
}

/* Badge Année */
.annee-badge {
    background-color: #ffffff;     /* fond blanc */
    color: #0b1ea8;                /* bleu texte */
    font-weight: 600;
    padding: 0.5rem 1.2rem;
    border-radius: 6px;
    box-shadow: 0 2px 6px rgba(0,0,0,0.15);
    white-space: nowrap;
}

