.product-promo {
    position: fixed;
    top: 0;
    right: 0;
    bottom: 0;
    left: 0;
    z-index: 2147483647;
    display: flex;
    overflow-y: auto;
    padding: 24px 0;
    background: rgba(9, 37, 33, .72);
}

.product-promo, .product-promo * { box-sizing: border-box; }
.product-promo[hidden] { display: none !important; }
.product-promo > .container { width: 100%; max-width: 1140px; margin: auto; }

.product-promo__frame {
    overflow: hidden;
    border: 1px solid #dbe8e4;
    border-radius: 14px;
    background: #fff;
    box-shadow: 0 22px 55px rgba(0, 0, 0, .24);
}

.product-promo__heading {
    display: flex;
    align-items: center;
    justify-content: space-between;
    padding: 15px 20px 0 28px;
}

.product-promo__eyebrow, .product-promo__counter {
    color: #52736d;
    font-weight: 700;
    letter-spacing: .09em;
}
.product-promo__eyebrow { font-size: 14px; }
.product-promo__counter { margin-left: auto; font-size: 12px; }
.product-promo__close { display: flex; align-items: center; justify-content: center; width: 36px; height: 36px; margin-left: 18px; padding: 0; border: 1px solid #c9dbd6; border-radius: 50%; background: #fff; color: #0b665a; font-size: 26px; line-height: 1; cursor: pointer; }
.product-promo__close:hover { background: #edf6f3; }

.product-promo__slide {
    display: flex;
    align-items: center;
    gap: 34px;
    min-height: 250px;
    padding: 16px 40px 22px;
}

.product-promo__slide[hidden] { display: none !important; }
.product-promo__slide:not(:first-child) { display: none; }
.product-promo--ready .product-promo__slide { display: flex; }
.product-promo--ready .product-promo__slide:not([hidden]) { animation: productPromoSlideIn .35s ease-out; }
@keyframes productPromoSlideIn { from { opacity: .3; transform: translateX(16px); } to { opacity: 1; transform: translateX(0); } }

.product-promo__art {
    display: flex;
    flex: 0 0 280px;
    align-items: center;
    justify-content: center;
    width: 280px;
    height: 174px;
    border-radius: 22px;
    color: #0b665a;
    background: #f2edfa;
}

.product-promo__slide--clearvoice .product-promo__art { color: #0b81bb; background: #eaf8ff; }
.product-promo__slide--doculysis .product-promo__art { color: #665a43; background: #faf6ed; }
.product-promo__slide--deepoint .product-promo__art { color: #285b83; background: #eaf3f8; }
.product-promo__art img { display: block; width: 94%; height: 150px; object-fit: contain; }
.product-promo__logo-fallback { display: none; padding: 12px; text-align: center; font-size: 22px; font-weight: 700; }
.product-promo__art--missing img { display: none; }
.product-promo__art--missing .product-promo__logo-fallback { display: block; }
.product-promo__copy { min-width: 0; max-width: 700px; }
.product-promo__kind { color: #52736d; font-size: 13px; font-weight: 600; }
.product-promo__copy h2 { margin: 7px 0 9px; color: #23443e; font-size: 30px; line-height: 1.2; font-weight: 700; }
.product-promo__copy p { margin: 0 0 18px; color: #465b57; font-size: 16px; line-height: 1.55; }

.product-promo__cta {
    display: inline-flex;
    align-items: center;
    gap: 13px;
    min-height: 42px;
    padding: 9px 19px;
    border-radius: 6px;
    background: #0b665a;
    color: #fff !important;
    font-size: 14px;
    font-weight: 600;
    text-decoration: none !important;
    transition: background-color .2s ease, transform .2s ease;
}

.product-promo__cta:hover { background: #084c43; transform: translateY(-2px); }
.product-promo__cta:focus-visible, .product-promo__arrow:focus-visible, .product-promo__dot:focus-visible, .product-promo__close:focus-visible { outline: 3px solid #d3a446; outline-offset: 3px; }
.product-promo__controls { display: flex; align-items: center; justify-content: center; gap: 18px; min-height: 62px; border-top: 1px solid #edf1ef; }
.product-promo__arrow { width: 36px; height: 36px; border: 1px solid #c9dbd6; border-radius: 50%; background: #fff; color: #0b665a; font-size: 27px; line-height: 1; cursor: pointer; }
.product-promo__arrow:hover { background: #edf6f3; }
.product-promo__dots { display: flex; align-items: center; justify-content: center; gap: 10px; }
.product-promo__dots[hidden], .product-promo__arrow[hidden] { display: none; }
.product-promo__dot { width: 12px; height: 12px; padding: 0; border: 0; border-radius: 50%; background: #c0d1cc; cursor: pointer; }
.product-promo__dot[aria-pressed="true"] { background: #0b665a; box-shadow: 0 0 0 3px #d8e9e3; }
.product-promo__sr { position: absolute; width: 1px; height: 1px; padding: 0; margin: -1px; overflow: hidden; clip: rect(0, 0, 0, 0); white-space: nowrap; border: 0; }

@media (min-width: 768px) and (max-width: 991px) {
    .product-promo__slide { gap: 22px; padding-left: 26px; padding-right: 26px; }
    .product-promo__art { flex-basis: 220px; width: 220px; }
}

@media (max-width: 767px) {
    .product-promo { padding: 12px 0; }
    .product-promo__heading { padding: 12px 14px 0 18px; }
    .product-promo__eyebrow { font-size: 12px; }
    .product-promo__close { width: 32px; height: 32px; margin-left: 10px; }
    .product-promo__slide { flex-direction: column; align-items: flex-start; gap: 14px; min-height: 405px; padding: 15px 20px 22px; }
    .product-promo__art { flex: 0 0 130px; width: 100%; height: 130px; border-radius: 10px; }
    .product-promo__art img { height: 116px; }
    .product-promo__copy h2 { font-size: 25px; }
    .product-promo__copy p { font-size: 15px; }
}

@media (prefers-reduced-motion: reduce) {
    .product-promo--ready .product-promo__slide:not([hidden]) { animation: none; }
    .product-promo__cta { transition: none; }
    .product-promo__cta:hover { transform: none; }
}
