/*
 * ==========================================================================
 * POST-ROTATION BANNER
 * ==========================================================================
 * Dismissable warning banner shown on the first page render after a
 * URL-driven workspace switch (red-team A-2 / C-2 mitigation per
 * docs/plan/20260521-workspace-keyed-routing Phase P10d).
 *
 * The banner uses the warning status palette (--status-warning / -light)
 * to signal an unexpected workspace change without being alarming.
 * It sits above #main-content so it is always the first visible element
 * inside the main scroll region, matching the role="alert" position.
 * ==========================================================================
 */

/* ========================================
   BANNER CONTAINER
   ======================================== */

.post-rotation-banner {
    display: flex;
    align-items: center;
    gap: var(--spacing-md);
    padding: var(--spacing-sm) var(--spacing-lg);
    background: var(--status-warning-light);
    color: var(--status-warning);
    border-bottom: var(--border-width) solid var(--status-warning);
    font-size: var(--text-md);
    line-height: var(--leading-normal);
    /* Sits flush across the full content column — no border-radius so it
       reads as a full-width system notification, not an inline alert card. */
    border-radius: 0;
    flex-wrap: wrap;
}

/* ========================================
   MESSAGE TEXT
   ======================================== */

.post-rotation-banner__message {
    flex: 1;
    min-width: 0;
}

.post-rotation-banner__message strong {
    font-weight: var(--font-weight-semibold);
}

/* ========================================
   ACTION LINKS
   ======================================== */

.post-rotation-banner__actions {
    display: flex;
    align-items: center;
    gap: var(--spacing-md);
    flex-shrink: 0;
}

.post-rotation-banner__link {
    color: inherit;
    text-decoration: underline;
    text-underline-offset: 0.125rem;
    font-weight: var(--font-weight-medium);
    white-space: nowrap;
    transition: opacity var(--transition-fast);
}

.post-rotation-banner__link:hover {
    opacity: 0.75;
}

/* ========================================
   DISMISS BUTTON
   ======================================== */

.post-rotation-banner__dismiss {
    flex-shrink: 0;
    display: flex;
    align-items: center;
    justify-content: center;
    width: 1.5rem;
    height: 1.5rem;
    border: none;
    background: transparent;
    color: inherit;
    opacity: 0.6;
    cursor: pointer;
    border-radius: var(--radius-sm);
    transition: opacity var(--transition-fast);
    padding: 0;
}

.post-rotation-banner__dismiss:hover {
    opacity: 1;
}

.post-rotation-banner__dismiss:focus-visible {
    outline: var(--border-width-focus) solid currentColor;
    outline-offset: 2px;
    opacity: 1;
}

.post-rotation-banner__dismiss svg {
    width: 0.875rem;
    height: 0.875rem;
}

/* ========================================
   RESPONSIVE
   ======================================== */

@media (max-width: 768px) {
    .post-rotation-banner {
        padding: var(--spacing-sm) var(--spacing-md);
        font-size: var(--text-sm);
        gap: var(--spacing-sm);
    }

    .post-rotation-banner__actions {
        gap: var(--spacing-sm);
    }
}

/* ========================================
   ACCESSIBILITY
   ======================================== */

@media (prefers-reduced-motion: reduce) {
    .post-rotation-banner,
    .post-rotation-banner__link,
    .post-rotation-banner__dismiss {
        transition: none;
    }
}

@media (prefers-contrast: high) {
    .post-rotation-banner {
        border-width: var(--border-width-thick);
        border-color: currentColor;
    }
}
