/* Site-wide banners (_SiteBanners.cshtml): the Cloud announcement bar and the cookie notice. Self-contained colours so
   the same partial works on the marketing pages and in the account shell. */
.sb-announce {
    position: relative; z-index: 40;
    display: flex; align-items: center; gap: 10px;
    padding: 9px 44px 9px 16px;
    background: linear-gradient(90deg, #1b2a6b 0%, #2446c7 55%, #3b7bff 100%);
    color: #fff; font-family: "Inter", "Poppins", system-ui, sans-serif; font-size: 14px; line-height: 1.35;
    box-shadow: 0 2px 12px rgba(0, 0, 0, 0.25);
}
.sb-announce[hidden], .sb-cookie[hidden] { display: none; }
.sb-announce-link {
    display: flex; flex: 1 1 auto; align-items: center; justify-content: center; flex-wrap: wrap; gap: 8px 14px;
    color: inherit; text-decoration: none;
}
/* the account shell's link colour must not wash the bar out */
.sb-announce .sb-announce-link, .sb-announce .sb-announce-link:hover, .sb-announce .sb-announce-link:focus,
.sb-announce .sb-announce-text, .sb-announce .sb-announce-cta { color: #fff; text-decoration: none; }
.sb-announce-link:hover .sb-announce-cta { background: rgba(255, 255, 255, 0.28); }
.sb-announce-icon { flex: 0 0 auto; color: #cfe3ff; }
.sb-announce-text strong { font-weight: 700; }
.sb-announce-cta {
    display: inline-flex; align-items: center; gap: 6px;
    padding: 4px 12px; border-radius: 999px;
    background: rgba(255, 255, 255, 0.18); font-weight: 600; white-space: nowrap;
    transition: background 0.15s ease;
}
.sb-announce-close {
    position: absolute; right: 8px; top: 50%; transform: translateY(-50%);
    width: 30px; height: 30px; border: 0; border-radius: 50%;
    background: transparent; color: #fff; font-size: 22px; line-height: 1; cursor: pointer; opacity: 0.8;
}
.sb-announce-close:hover { background: rgba(255, 255, 255, 0.18); opacity: 1; }

.sb-cookie {
    position: fixed; left: 16px; right: 16px; bottom: 16px; z-index: 60;
    display: flex; justify-content: center;
    font-family: "Inter", "Poppins", system-ui, sans-serif;
}
.sb-cookie-inner {
    display: flex; align-items: center; gap: 14px; flex-wrap: wrap;
    width: 100%; max-width: 920px;
    padding: 14px 18px; border-radius: 14px;
    background: rgba(13, 19, 38, 0.96); color: #e8ecf8;
    border: 1px solid rgba(255, 255, 255, 0.1);
    box-shadow: 0 12px 40px rgba(0, 0, 0, 0.45);
    backdrop-filter: blur(10px);
}
.sb-cookie-icon { flex: 0 0 auto; color: #f5c56b; }
.sb-cookie-text { flex: 1 1 320px; margin: 0; font-size: 14px; line-height: 1.45; }
.sb-cookie-text a { color: #5AE271; text-decoration: underline; }
.sb-cookie-actions { display: flex; gap: 8px; flex: 0 0 auto; margin-left: auto; }
.sb-btn {
    padding: 9px 16px; border-radius: 10px; border: 1px solid transparent;
    font-size: 14px; font-weight: 600; cursor: pointer; white-space: nowrap;
}
.sb-btn-ghost { background: transparent; color: #e8ecf8; border-color: rgba(255, 255, 255, 0.25); }
.sb-btn-ghost:hover { background: rgba(255, 255, 255, 0.08); }
.sb-btn-accept { background: #5AE271; color: #07220d; }
.sb-btn-accept:hover { background: #74ea88; }

@media (max-width: 640px) {
    .sb-announce { font-size: 13px; padding-right: 40px; }
    .sb-announce-cta { display: none; }
    .sb-cookie { left: 8px; right: 8px; bottom: 8px; }
    .sb-cookie-actions { width: 100%; margin-left: 0; }
    .sb-cookie-actions .sb-btn { flex: 1 1 0; }
}
