/* *** BEGIN article info block *** */
/* Move the article info block down and hide it by default */
.article-info {
    position: relative;
    /* margin-top: 50px; Pushes it down toward the footer */
    padding: 10px;
    background: #f8f9fa;
    border-radius: 4px;
    opacity: 0.15; /* Keeps it barely visible like a faint watermark */
    transition: opacity 0.3s ease;
}

/* Reveal the information fully when hovering over it */
.article-info:hover {
    opacity: 1;
    background: #e9ecef;
    /* cursor: pointer; */
}
/* *** END article info block *** */


/* *** BEGIN language selector *** */
/* 1. Ensure the parent header expands properly and acts as the structural relative floor */
header.header {
    display: flex !important;
    flex-direction: row !important;
    justify-content: space-between !important;
    align-items: flex-end !important; /* Forces the baseline row alignment */
    position: relative !important;
}

/* 2. Lock the logo container to the left side */
header.header > div.grid-child:first-child {
    grid-column: unset !important;
    flex: 0 1 auto !important;
    width: auto !important;
    margin-bottom: 0 !important;
}

/* 3. Force the language wrapper column box to fill up right-side row boundaries */
header.header > div.grid-child.container-nav {
    grid-column: unset !important;
    flex: 1 1 auto !important;
    display: flex !important;
    justify-content: flex-end !important; /* Locks horizontal alignment to the far right */
    align-items: flex-end !important;    /* Locks vertical alignment to the bottom */
    margin-top: 0 !important;
    margin-bottom: 0 !important;
    padding-bottom: 0 !important;
}

/* 4. Target the sub-navigation elements to force horizontal behavior */
header.header div.grid-child.container-nav .navbar,
header.header div.grid-child.container-nav nav,
header.header .mod-languages {
    display: flex !important;
    justify-content: flex-end !important;
    align-items: flex-end !important;
    margin: 0 !important;
    padding: 0 !important;
}

/* 5. Force the list element wrapper and text configurations down onto the floor line */
header.header .mod-languages ul.lang-inline {
    display: flex !important;
    flex-direction: row !important;
    justify-content: flex-end !important;
    align-items: flex-end !important; /* Absolute layout bottom align */
    gap: 12px !important;
    list-style: none !important;
    margin: 0 !important;
    padding: 0 !important;
    line-height: 1 !important; /* Erases text tracking white space boxes lifting flags up */
}

/* 6. Strip spacing from the list structures and enforce baseline vertical alignments */
header.header .mod-languages ul.lang-inline li {
    margin: 0 !important;
    padding: 0 !important;
    display: flex !important;
    align-items: flex-end !important;
}

/* 7. Drop the literal flag image links onto the exact bottom floor line */
header.header .mod-languages ul.lang-inline li a,
header.header .mod-languages ul.lang-inline li img {
    margin: 0 !important;
    padding: 0 !important;
    display: block !important;
    vertical-align: bottom !important; /* Snaps image baselines parallel with text floor layout lines */
}
header.header div.grid-child.container-nav {
  margin-bottom: 1rem !important;
  margin-right: 1rem !important;
}

.brand-logo {
  margin-left: 8px !important;
}
/* *** END language selector *** */
