.tv-cookie-banner[hidden] { display: none !important; }
.tv-cookie-banner, .tv-cookie-banner * { box-sizing: border-box; }
.tv-cookie-banner {
    position: fixed; left: 20px; right: 20px; bottom: 20px; z-index: 1200;
    display: flex; align-items: center; gap: 28px; max-width: 1180px; margin: 0 auto;
    padding: 24px 28px; border: 1px solid #e3e6f0; border-radius: 16px;
    background: #fff; color: #1a1730; box-shadow: 0 12px 40px rgba(11,31,107,.15);
    font-family: 'Montserrat', 'Museo Sans', Arial, sans-serif;
}
.tv-cookie-banner__copy { flex: 1; min-width: 0; }
.tv-cookie-banner .tv-cookie-banner__title { margin: 0 0 10px; color: #0b1f6b; font: 700 19px/1.3 'Montserrat', Arial, sans-serif; }
.tv-cookie-banner .tv-cookie-banner__text { margin: 0 0 8px; color: #53576c; font-size: 13px; line-height: 1.6; }
.tv-cookie-banner__link { color: #0b1f6b; font-size: 12px; text-decoration: underline; }
.tv-cookie-banner .tv-cookie-banner__button {
    flex-shrink: 0; min-width: 150px; min-height: 46px; padding: 12px 24px;
    border: 0; border-radius: 8px; background: #e4097f; color: #fff;
    font: 600 13px/1.4 'Montserrat', Arial, sans-serif; text-align: center; cursor: pointer;
}
.tv-cookie-banner__button:hover { background: #c4056d; }
.tv-cookie-banner__button:focus-visible, .tv-cookie-banner__link:focus-visible { outline: 3px solid #005bef; outline-offset: 3px; }
@media (max-width: 600px) {
    .tv-cookie-banner { display: block; left: 12px; right: 12px; bottom: 12px; padding: 20px; }
    .tv-cookie-banner .tv-cookie-banner__button { width: 100%; margin-top: 16px; }
}
