.demo-banner {
    position: fixed;
    z-index: 1000;
    bottom: 0;
    left: 0;
    width: 100%;
    padding: 0 0 env(safe-area-inset-bottom, 0px);
    border: 0;
    border-radius: 0;
    cursor: pointer;
    color: #fff;
    background: linear-gradient(90deg, #6F56CE 10.43%, #D0BFFF 90.89%);
    text-align: left;
    -webkit-appearance: none;
}

.demo-banner *, .lead-confirmation * { box-sizing: border-box; }
.demo-banner:focus-visible { outline: 3px solid #493453; outline-offset: -3px; }
.demo-banner__inner {
    position: relative;
    display: flex;
    align-items: center;
    gap: 20px;
    max-width: 1442px;
    min-height: 56px;
    margin: auto;
    padding: 8px 24px 8px 340px;
}
.demo-banner__art { position: absolute; left: 98px; bottom: 0; width: 228px; height: 77px; }
.demo-banner__copy { display: flex; align-items: flex-end; gap: 30px; flex: 1; }
.demo-banner__title { font-size: 18px; font-weight: 800; line-height: 20px; }
.demo-banner__text { font-size: 14px; font-weight: 400; line-height: 17px; }
.demo-banner__cta {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 4px;
    flex-shrink: 0;
    min-height: 36px;
    padding: 6px 8px 6px 16px;
    border-radius: 8px;
    background: #6d4da7;
    font-size: 12px;
    font-weight: 800;
    letter-spacing: .36px;
    line-height: 20px;
    text-transform: uppercase;
}
.demo-banner__cta img { width: 20px; height: 20px; transform: rotate(90deg); }
.demo-banner:hover .demo-banner__cta { background: #583c8b; }
body.has-bottom-banner { padding-bottom: calc(76px + env(safe-area-inset-bottom, 0px)); }

.demo-banner__mobile-art,
.demo-banner__mobile-logo,
.demo-banner__mobile-offer { display: none; }

@media (max-width: 1350px) {
    .demo-banner__inner { padding-left: 270px; }
    .demo-banner__art { left: 24px; }
    .demo-banner__copy { flex-direction: column; align-items: flex-start; gap: 2px; }
}
@media (max-width: 767px) {
    .demo-banner__inner { min-height: 70px; padding: 8px 12px 12px 20px; align-items: flex-end; gap: 12px; }
    .demo-banner__art, .demo-banner__text, .demo-banner__cta img { display: none; }
    .demo-banner__mobile-art { display: block; position: absolute; top: -19px; right: 0; width: 130px; height: 89px; }
    .demo-banner__mobile-logo { display: block; position: absolute; top: -10.465px; left: 17.105px; width: 93px; height: 24px; }
    .demo-banner__copy { position: relative; display: block; transform: translateY(-2px); }
    .demo-banner__title { display: block; font-size: 14px; font-weight: 800; line-height: 20px; white-space: nowrap; }
    .demo-banner__title-ending { display: block; }
    .demo-banner__mobile-offer { display: block; position: absolute; top: 21px; left: 96px; font-size: 12px; font-weight: 600; line-height: 16px; white-space: nowrap; }
    .demo-banner__cta { position: relative; min-height: 28px; font-size: 12px; line-height: 16px; padding: 6px 10px; }
    body.has-bottom-banner { padding-bottom: calc(90px + env(safe-area-inset-bottom, 0px)); }
}
@media (max-width: 359px) {
    .demo-banner__inner { padding-left: 12px; gap: 8px; }
    .demo-banner__title { font-size: 13px; }
    .demo-banner__mobile-offer { left: 89px; font-size: 11px; }
    .demo-banner__cta { font-size: 11px; }
}
@media print { .demo-banner { display: none; } }
