:root {
    --fs-primary: #1000c4;
    --fs-primary-rgb: 16, 0, 196;
    --fs-secondary: #4404c4;
    --fs-accent: #7e0095;
    --fs-ink: #20263a;
    --fs-surface: #f7f8ff;
    --fs-border: #e3e6f3;
    --fs-focus: rgba(16, 0, 196, .16);
    --bs-primary: var(--fs-primary);
    --bs-primary-rgb: var(--fs-primary-rgb);
}

a { color:var(--fs-primary); }
a:hover { color:var(--fs-secondary); }
::selection { background:rgba(var(--fs-primary-rgb),.22); }
.text-primary { color:var(--fs-primary)!important; }
.bg-primary,.badge-primary { background-color:var(--fs-primary)!important; }
.btn-primary { color:#fff!important; background:var(--fs-primary)!important; border-color:var(--fs-primary)!important; }
.btn-primary:hover,.btn-primary:focus,.btn-primary:active { color:#fff!important; background:var(--fs-secondary)!important; border-color:var(--fs-secondary)!important; }
.btn-outline-primary { color:var(--fs-primary)!important; border:1px solid var(--fs-primary)!important; background:transparent!important; }
.btn-outline-primary:hover,.btn-outline-primary:focus { color:#fff!important; background:var(--fs-primary)!important; }
.form-control:focus,.form-select:focus { border-color:var(--fs-primary)!important; box-shadow:0 0 0 .2rem var(--fs-focus)!important; }
.form-check-input:checked { background-color:var(--fs-primary); border-color:var(--fs-primary); }
.page-item.active .page-link { color:#fff; background:var(--fs-primary); border-color:var(--fs-primary); }
.navbar .nav-link:hover,.navbar .nav-link.active { color:var(--fs-primary)!important; }
.fs-section-kicker { color:var(--fs-primary)!important; }

.fs-promotion-bar {
    position:relative;
    z-index:1031;
    color:#fff;
    background:linear-gradient(100deg,#1000c4 0%,#4404c4 55%,#7e0095 100%);
    border-bottom:1px solid rgba(255,255,255,.22);
    box-shadow:0 6px 18px rgba(16,0,196,.14);
}
.fs-promotion-bar .carousel-inner { padding:0 2.5rem; }
.fs-promotion-item {
    min-height:48px;
    display:flex;
    align-items:center;
    justify-content:center;
    gap:.85rem;
    padding:.55rem 0;
    text-align:center;
}
.fs-promotion-badge {
    flex:0 0 auto;
    padding:.24rem .55rem;
    border-radius:999px;
    color:#211a00;
    background:#ffe178;
    font-size:.68rem;
    font-weight:800;
    letter-spacing:.05em;
    line-height:1.2;
}
.fs-promotion-badge.is-flash { background:#fff;color:#7e0095;box-shadow:0 0 0 3px rgba(255,255,255,.14); }
.fs-promotion-copy { display:flex;align-items:baseline;justify-content:center;gap:.55rem;min-width:0; }
.fs-promotion-copy strong { color:#fff;font-size:.92rem;line-height:1.25; }
.fs-promotion-copy span { color:rgba(255,255,255,.82);font-size:.8rem;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:440px; }
.fs-promotion-cta { flex:0 0 auto;color:#fff!important;font-size:.78rem;font-weight:800;text-decoration:none;border-bottom:1px solid rgba(255,255,255,.6); }
.fs-promotion-cta:hover { color:#ffe178!important;border-color:#ffe178; }
.fs-promotion-control { width:2rem;opacity:.7; }
.fs-promotion-control .carousel-control-prev-icon,.fs-promotion-control .carousel-control-next-icon { width:.8rem;height:.8rem; }

@media (max-width: 767.98px) {
    .fs-promotion-bar .container { padding-left:.4rem;padding-right:.4rem; }
    .fs-promotion-bar .carousel-inner { padding:0 1.7rem; }
    .fs-promotion-item { min-height:56px;gap:.45rem;flex-wrap:wrap;padding:.42rem 0; }
    .fs-promotion-copy { flex:1 1 70%;display:block;text-align:left; }
    .fs-promotion-copy strong { display:block;font-size:.82rem; }
    .fs-promotion-copy span { display:none; }
    .fs-promotion-cta { font-size:.72rem; }
}
