.bwc-banner {
    position: fixed;
    z-index: 999999;
    font-family: inherit;
    font-size: .95rem;
    line-height: 1.5;
    background: #fff;
    color: #222;
    box-shadow: 0 -2px 18px rgba(0,0,0,.15);
    box-sizing: border-box;
}
.bwc-banner * { box-sizing: border-box; }

/* Barre pleine largeur en bas */
.bwc-position-bar_bottom {
    left: 0; right: 0; bottom: 0;
    padding: 1rem 1.5rem;
    border-top: 1px solid #e2e2e2;
}
.bwc-position-bar_bottom .bwc-banner-main {
    display: flex;
    align-items: center;
    gap: 1.5rem;
    flex-wrap: wrap;
    max-width: 1200px;
    margin: 0 auto;
}
.bwc-position-bar_bottom .bwc-banner-text { flex: 1 1 320px; }

/* Encart flottant (gauche ou droite) */
.bwc-position-box_bottom_left,
.bwc-position-box_bottom_right {
    bottom: 20px;
    max-width: 380px;
    padding: 1.2rem;
    border-radius: 10px;
    border: 1px solid #e2e2e2;
}
.bwc-position-box_bottom_left { left: 20px; }
.bwc-position-box_bottom_right { right: 20px; }
.bwc-position-box_bottom_left .bwc-banner-actions,
.bwc-position-box_bottom_right .bwc-banner-actions {
    flex-direction: column;
    align-items: stretch;
}

@media (max-width: 640px) {
    .bwc-position-box_bottom_left, .bwc-position-box_bottom_right {
        left: 10px; right: 10px; bottom: 10px; max-width: none;
    }
}

.bwc-banner-text strong { display: block; margin-bottom: .25rem; font-size: 1.02em; }
.bwc-banner-text p { margin: 0; opacity: .85; }
.bwc-banner-text a { color: var(--bwc-accent, #1b3658); text-decoration: underline; }

.bwc-banner-actions {
    display: flex;
    gap: .6rem;
    flex-wrap: wrap;
    flex-shrink: 0;
}
.bwc-btn {
    font: inherit;
    font-size: .9rem;
    padding: .55rem 1.1rem;
    border-radius: 6px;
    border: 1px solid transparent;
    cursor: pointer;
    white-space: nowrap;
}
.bwc-btn-primary { background: var(--bwc-accent, #1b3658); color: #fff; }
.bwc-btn-primary:hover { filter: brightness(1.1); }
.bwc-btn-outline { background: transparent; border-color: #ccc; color: inherit; }
.bwc-btn-outline:hover { background: #f4f4f4; }

.bwc-banner-prefs {
    margin-top: 1rem;
    padding-top: 1rem;
    border-top: 1px solid #eee;
    max-width: 1200px;
    margin-left: auto;
    margin-right: auto;
}
.bwc-pref-row {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 1rem;
    padding: .6rem 0;
    border-bottom: 1px solid #f0f0f0;
}
.bwc-pref-row:last-of-type { border-bottom: none; }
.bwc-pref-row p { margin: .15rem 0 0; font-size: .85em; opacity: .75; }

.bwc-switch { position: relative; display: inline-block; width: 40px; height: 22px; flex-shrink: 0; }
.bwc-switch input { opacity: 0; width: 0; height: 0; }
.bwc-switch span {
    position: absolute; inset: 0; background: #ccc; border-radius: 22px; transition: .15s; cursor: pointer;
}
.bwc-switch span::before {
    content: ""; position: absolute; width: 16px; height: 16px; left: 3px; top: 3px;
    background: #fff; border-radius: 50%; transition: .15s;
}
.bwc-switch input:checked + span { background: var(--bwc-accent, #1b3658); }
.bwc-switch input:checked + span::before { transform: translateX(18px); }
.bwc-switch-disabled span { cursor: not-allowed; opacity: .6; }

.bwc-link-btn {
    background: none; border: none; padding: 0; margin: 0;
    color: inherit; text-decoration: underline; cursor: pointer; font: inherit;
}
