/* Wecomatic Exit-Intent Rabatt-Popup */

.wm-exp[hidden] {
    display: none;
}

.wm-exp {
    position: fixed;
    inset: 0;
    z-index: 2147483000;
    display: flex;
    align-items: center;
    justify-content: center;
    padding: 1rem;
}

.wm-exp__backdrop {
    position: absolute;
    inset: 0;
    background: rgba(0, 0, 0, .55);
    opacity: 0;
    transition: opacity .22s ease;
}

.wm-exp__dialog {
    position: relative;
    width: 100%;
    max-width: 27rem;
    background: #fff;
    border-radius: 14px;
    box-shadow: 0 18px 50px rgba(0, 0, 0, .28);
    padding: 2.25rem 1.75rem 1.75rem;
    text-align: center;
    opacity: 0;
    transform: translateY(14px) scale(.97);
    transition: opacity .22s ease, transform .22s ease;
}

.wm-exp.is-open .wm-exp__backdrop {
    opacity: 1;
}

.wm-exp.is-open .wm-exp__dialog {
    opacity: 1;
    transform: none;
}

.wm-exp__close {
    position: absolute;
    top: .35rem;
    right: .55rem;
    width: 2.25rem;
    height: 2.25rem;
    border: 0;
    background: none;
    color: #8a8a8a;
    font-size: 1.75rem;
    line-height: 1;
    cursor: pointer;
    border-radius: 50%;
}

.wm-exp__close:hover {
    color: #222;
    background: #f2f2f2;
}

.wm-exp__badge {
    display: inline-block;
    margin-bottom: .85rem;
    padding: .3rem .7rem;
    border-radius: 999px;
    background: var(--wm-exp-accent, #f8bf00);
    color: #1a1a1a;
    font-size: .72rem;
    font-weight: 700;
    letter-spacing: .08em;
    text-transform: uppercase;
}

/* Service-Variante: kein Rabatt, deshalb bewusst ruhiger als das Gold. */
.wm-exp__badge--service {
    background: #eef2f6;
    color: #3a4a5a;
}

.wm-exp__title {
    margin: 0 0 .5rem;
    font-size: 1.5rem;
    line-height: 1.25;
    font-weight: 700;
    color: #1a1a1a;
}

.wm-exp__text {
    margin: 0 0 1.25rem;
    font-size: 1rem;
    line-height: 1.45;
    color: #4a4a4a;
}

.wm-exp__code {
    display: block;
    margin: 0 auto .6rem;
    padding: .8rem 1rem;
    border: 2px dashed var(--wm-exp-accent, #f8bf00);
    border-radius: 10px;
    background: #fffdf3;
    font-family: ui-monospace, SFMono-Regular, Menlo, Consolas, monospace;
    font-size: 1.4rem;
    font-weight: 700;
    letter-spacing: .12em;
    color: #1a1a1a;
    word-break: break-all;
}

.wm-exp__hint {
    margin: 0 0 1.25rem;
    font-size: .8rem;
    line-height: 1.4;
    color: #7a7a7a;
}

.wm-exp__btn {
    display: block;
    width: 100%;
    padding: .85rem 1rem;
    border: 0;
    border-radius: 8px;
    background: var(--wm-exp-accent, #f8bf00);
    color: #1a1a1a;
    font-size: 1rem;
    font-weight: 700;
    cursor: pointer;
    transition: filter .15s ease;
}

.wm-exp__btn:hover {
    filter: brightness(.94);
}

.wm-exp__btn.is-copied {
    background: #2e7d32;
    color: #fff;
}

/* Telefon-Button ist ein <a>, braucht deshalb die Text-Eigenschaften explizit. */
.wm-exp__btn--phone {
    text-decoration: none;
    line-height: 1.4;
    font-size: 1.15rem;
    letter-spacing: .02em;
}

.wm-exp__btn--phone::before {
    content: "\260E";
    margin-right: .5rem;
    font-size: 1.1em;
}

.wm-exp__btn--phone:hover {
    text-decoration: none;
    color: #1a1a1a;
}

/* WhatsApp bewusst in Markenfarbe – der Button wird sofort erkannt. */
.wm-exp__btn--whatsapp {
    margin-top: .6rem;
    background: #25d366;
    color: #fff;
    text-decoration: none;
    font-size: 1rem;
}

.wm-exp__btn--whatsapp::before {
    content: "\1F4AC";
    margin-right: .5rem;
}

.wm-exp__btn--whatsapp:hover {
    text-decoration: none;
    color: #fff;
}

a.wm-exp__decline {
    text-align: center;
}

.wm-exp__decline {
    display: block;
    width: 100%;
    margin-top: .85rem;
    padding: .25rem;
    border: 0;
    background: none;
    color: #8a8a8a;
    font-size: .85rem;
    text-decoration: underline;
    cursor: pointer;
}

.wm-exp__decline:hover {
    color: #4a4a4a;
}

/* Auf dem Handy als Bottom-Sheet – wirkt weniger aufdringlich als ein Kasten in der Mitte. */
@media (max-width: 575.98px) {
    .wm-exp {
        align-items: flex-end;
        padding: 0;
    }

    .wm-exp__dialog {
        max-width: none;
        border-radius: 16px 16px 0 0;
        padding: 2rem 1.25rem 1.5rem;
        transform: translateY(100%);
    }
}

@media (prefers-reduced-motion: reduce) {
    .wm-exp__backdrop,
    .wm-exp__dialog {
        transition: none;
    }
}
