/* Shared offer: an ordinary footer-adjacent row first, a fixed bar only after enhancement. */
.sl-sticky-offer-slot {
    position: relative;
    width: 100%;
    margin: 0;
    padding: 0;
    clear: both;
    background: #090c12;
}
.sl-sticky-offer-slot[data-offer-ready="true"] { height: var(--sl-offer-height); }
.sl-sticky-offer,
.sl-sticky-offer * { box-sizing: border-box; }
.sl-sticky-offer {
    position: relative;
    width: 100%;
    margin: 0;
    padding: 0;
    border: 0;
    border-top: 1px solid #32303f;
    background: #090c12;
    color: #fff;
    font-family: Arial, sans-serif;
    line-height: 1.45;
    text-align: left;
    opacity: 1;
}
.sl-sticky-offer-inner {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 20px 32px;
    width: 100%;
    max-width: 1240px;
    margin: 0 auto;
    padding: 18px 32px calc(18px + env(safe-area-inset-bottom, 0px));
}
.sl-sticky-offer-product { display: flex; align-items: center; gap: 18px; min-width: 0; }
.sl-sticky-offer-logo { display: block; flex: 0 0 52px; width: 52px; height: 52px; object-fit: contain; }
.sl-sticky-offer-copy { min-width: 0; }
.sl-sticky-offer-title { margin: 0 0 4px; padding: 0; color: #fff; font: 700 22px/1.25 Arial, sans-serif; overflow-wrap: anywhere; }
.sl-sticky-offer-description { margin: 0; padding: 0; color: #d6d8e0; font: 400 14px/1.5 Arial, sans-serif; }
.sl-sticky-offer-description strong { color: #fff; font-weight: 700; }
.sl-sticky-offer-actions { display: flex; align-items: center; flex: 0 0 auto; gap: 12px; }
.sl-sticky-offer-button {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-height: 44px;
    padding: 10px 20px;
    border: 2px solid transparent;
    border-radius: 999px;
    color: #fff;
    font: 700 14px/1.3 Arial, sans-serif;
    text-align: center;
    text-decoration: none;
}
.sl-sticky-offer-primary { background: linear-gradient(110deg, #7440d9, #3159da); }
.sl-sticky-offer-secondary { border-color: #ecebf2; background: transparent; }
.sl-sticky-offer-button:hover { color: #fff; text-decoration: none; filter: brightness(1.12); }
.sl-sticky-offer-button:focus-visible { outline: 3px solid #57e3f0; outline-offset: 4px; }
.sl-sticky-offer[data-offer-state="floating"],
.sl-sticky-offer[data-offer-state="hidden"] {
    position: fixed;
    z-index: 900;
    left: var(--sl-offer-left, 0px);
    bottom: var(--sl-offer-bottom, 0px);
    width: var(--sl-offer-width, 100%);
}
.sl-sticky-offer[data-offer-state="hidden"] { visibility: hidden; pointer-events: none; }
.sl-sticky-offer[data-offer-state="floating"] { box-shadow: 0 -8px 28px #0002; }
/* Lift existing fixed tools while floating AND while the docked row intersects them. */
html[data-sl-sticky-offer-floating] .sl-cookie-launcher { bottom: calc(16px + var(--sl-sticky-offer-offset, 0px)); }
html[data-sl-sticky-offer-floating] #slLiveChat { bottom: var(--sl-sticky-offer-offset, 0px); }
html[data-sl-sticky-offer-floating] .cd-top { bottom: calc(100px + var(--sl-sticky-offer-offset, 0px)); }
html[data-sl-sticky-offer-floating] { scroll-padding-bottom: calc(16px + var(--sl-sticky-offer-offset, 0px)); }
/* Fade the whole bar on mouse devices; keyboard focus makes its actions equally clear. */
@media (hover: hover) and (pointer: fine) {
    .sl-sticky-offer { opacity: .7; transition: opacity .2s ease; }
    .sl-sticky-offer:hover,
    .sl-sticky-offer:focus-within { opacity: 1; }
}
/* Touch devices keep the default readable appearance, without requiring a first tap. */
@media (prefers-reduced-motion: reduce) {
    .sl-sticky-offer { transition: none; }
}
@media (max-width: 760px) {
    .sl-sticky-offer-inner { flex-wrap: wrap; gap: 12px; padding: 14px 20px calc(14px + env(safe-area-inset-bottom, 0px)); }
    .sl-sticky-offer-product { flex: 1 1 100%; gap: 12px; }
    .sl-sticky-offer-logo { flex-basis: 40px; width: 40px; height: 40px; }
    .sl-sticky-offer-title { font-size: 18px; }
    .sl-sticky-offer-description { font-size: 13px; }
    .sl-sticky-offer-actions { flex: 1 1 100%; gap: 10px; }
    .sl-sticky-offer-button { flex: 1 1 0; min-width: 0; padding: 10px 12px; }
}
@media (max-width: 380px) {
    .sl-sticky-offer-inner { padding-left: 12px; padding-right: 12px; }
    .sl-sticky-offer-title { font-size: 16px; }
    .sl-sticky-offer-button { font-size: 13px; }
}
@media print {
    .sl-sticky-offer-slot, .sl-sticky-offer { display: none !important; }
}
