/* Scoped rules keep theme link/image defaults out of the banner. */
#jt-search-vip-banner-slot[hidden],
body.logged-in #jt-search-vip-banner-slot,
body.admin-bar #jt-search-vip-banner-slot { display: none !important; }
#jt-search-vip-banner-slot { width: 100%; margin: 0; padding: 0; clear: both; }
.jt-vip-banner,
.jt-vip-banner * { box-sizing: border-box; }
.jt-vip-banner {
    display: block !important; position: relative !important; isolation: isolate;
    width: 100%; height: 64px; overflow: hidden; margin: 0 !important; padding: 0 !important;
    border: 0 !important; border-radius: 0 !important; background: #1a111d;
    color: #fff4eb !important; text-decoration: none !important;
    font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", "PingFang SC", "Microsoft YaHei", sans-serif;
    line-height: 1.2 !important; text-align: left !important; box-shadow: none;
    animation: jt-vip-band-attention 3.6s ease-in-out infinite;
}
.jt-vip-banner:focus-visible { outline: 3px solid #ffd393; outline-offset: -3px; }
.jt-vip-banner__art { display: block; position: absolute; inset: 0; z-index: -1; pointer-events: none; }
.jt-vip-banner__art img {
    display: block !important; width: 100% !important; height: 100% !important;
    max-width: none !important; margin: 0 !important; border: 0 !important; border-radius: 0 !important;
    object-fit: cover; object-position: center 28%; opacity: .65;
}
.jt-vip-banner__content {
    display: flex; align-items: center; gap: 24px; width: 100%; max-width: 1200px; height: 100%;
    margin: 0 auto; padding: 0 28px; position: relative;
}
.jt-vip-banner__badge { display: flex; flex-direction: column; gap: 3px; flex: 0 0 auto; padding-right: 22px; border-right: 1px solid #ac88774d; }
.jt-vip-banner__badge > span { font-size: 9px; font-weight: 600; letter-spacing: 2px; color: #e8baa1; }
.jt-vip-banner__badge b { font-size: 14px; font-weight: 600; letter-spacing: 2px; color: #fff2e9; }
.jt-vip-banner__copy { display: flex; flex-direction: column; gap: 3px; min-width: 0; }
.jt-vip-banner__eyebrow { font-size: 12px; letter-spacing: 1px; color: #f3d3c2; }
.jt-vip-banner__eyebrow b { font-weight: 700; color: #ffdba8; }
.jt-vip-banner__copy strong { display: block; font-size: 20px; font-weight: 700; letter-spacing: 1.5px; color: #fff7ed; white-space: nowrap; }
.jt-vip-banner__copy em { font-style: normal; color: #ffdba8; }
.jt-vip-banner__cta {
    display: inline-flex; align-items: center; justify-content: center; gap: 10px; flex: 0 0 auto;
    min-width: 112px; height: 34px; margin-left: auto; padding: 0 16px;
    color: #301719; background: #ffd3ac; border-radius: 3px;
    font-size: 14px; font-weight: 750; letter-spacing: 1px;
    animation: jt-vip-attention 3.6s ease-in-out infinite;
}
.jt-vip-banner__cta > span { font-size: 19px; font-weight: 500; }
.jt-vip-banner:hover .jt-vip-banner__cta { background: #ffe7c6; }
.jt-vip-banner:focus .jt-vip-banner__cta,
.jt-vip-banner:hover .jt-vip-banner__cta { animation-play-state: paused; }
.jt-vip-banner:hover, .jt-vip-banner:focus-within { animation-play-state: paused; }
/* Slow brightness pulse instead of rapid strobing. Never hide the copy. */
@keyframes jt-vip-band-attention {
    0%, 65%, 100% { filter: brightness(1); }
    78% { filter: brightness(1.12); }
    90% { filter: brightness(1); }
}
@keyframes jt-vip-attention {
    0%, 65%, 100% { filter: brightness(1); box-shadow: 0 0 0 0 #ffd3ac00; }
    78% { filter: brightness(1.16); box-shadow: 0 0 0 5px #ffd3ac18; }
    90% { filter: brightness(1); box-shadow: 0 0 0 0 #ffd3ac00; }
}
@media (max-width: 767px) {
    .jt-vip-banner { height: 60px; }
    .jt-vip-banner__content { padding: 0 14px; gap: 8px; }
    .jt-vip-banner__badge { display: none; }
    .jt-vip-banner__eyebrow { font-size: 11px; letter-spacing: .35px; }
    .jt-vip-banner__copy strong { font-size: 17px; letter-spacing: .35px; }
    .jt-vip-banner__cta { min-width: 82px; height: 30px; padding: 0 9px; gap: 4px; font-size: 12px; letter-spacing: 0; }
    .jt-vip-banner__cta > span { font-size: 16px; }
    .jt-vip-banner__art img { opacity: .45; }
}
@media (max-width: 359px) {
    .jt-vip-banner__content { padding: 0 10px; }
    .jt-vip-banner__copy strong { font-size: 15px; letter-spacing: 0; }
    .jt-vip-banner__cta { min-width: 76px; padding: 0 7px; }
}
/* Backend phone preview, independent of the browser's viewport width. */
.jt-vip-banner--mobile { height: 60px; }
.jt-vip-banner--mobile .jt-vip-banner__content { padding: 0 14px; gap: 8px; }
.jt-vip-banner--mobile .jt-vip-banner__badge { display: none; }
.jt-vip-banner--mobile .jt-vip-banner__eyebrow { font-size: 11px; letter-spacing: .35px; }
.jt-vip-banner--mobile .jt-vip-banner__copy strong { font-size: 17px; letter-spacing: .35px; }
.jt-vip-banner--mobile .jt-vip-banner__cta { min-width: 82px; height: 30px; padding: 0 9px; gap: 4px; font-size: 12px; letter-spacing: 0; }
.jt-vip-banner--mobile .jt-vip-banner__cta > span { font-size: 16px; }
.jt-vip-banner--mobile .jt-vip-banner__art img { opacity: .45; }
@media (prefers-reduced-motion: reduce) {
    .jt-vip-banner, .jt-vip-banner__cta { animation: none !important; }
}
