.mzpwa-install,.mzpwa-dialog {
    --mzpwa-ink:#25272b;
    --mzpwa-muted:#696d75;
    box-sizing:border-box;
    color:var(--mzpwa-ink);
    font-family:Inter,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;
    text-align:left;
    line-height:1.5;
}

.mzpwa-install[hidden],.mzpwa-dialog:not([open]) {
    display:none!important;
}

.mzpwa-install *,.mzpwa-dialog * {
    box-sizing:border-box;
}

.mzpwa-install {
    position:relative;
    display:flex;
    align-items:center;
    gap:20px;
    max-width:1120px;
    /* Leave room for the shop’s fixed assistant and mobile navigation. */
    margin:28px auto calc(112px + env(safe-area-inset-bottom, 0px));
    padding:26px 58px 26px 26px;
    border:1px solid #e5e6e8;
    border-radius:14px;
    background:#f5f5f6;
    width:calc(100% - 40px);
}

.mzpwa-install__icon {
    width:52px;
    height:52px;
    flex:none;
    border-radius:13px;
}

.mzpwa-install__copy {
    flex:1;
    min-width:0;
}

.mzpwa-install__eyebrow {
    display:block;
    font-size:10px;
    font-weight:650;
    letter-spacing:.1em;
    text-transform:uppercase;
    color:var(--mzpwa-muted);
    margin:0 0 6px;
}

.mzpwa-install h2,.mzpwa-dialog h2 {
    font-family:"Instrument Sans",Inter,system-ui,sans-serif;
    color:var(--mzpwa-ink);
    font-size:21px;
    font-weight:700;
    letter-spacing:-.035em;
    line-height:1.2;
    margin:0 0 7px;
    text-transform:none;
}

.mzpwa-install p,.mzpwa-dialog p {
    font-size:13px;
    line-height:1.7;
    color:var(--mzpwa-muted);
    margin:0;
}

.mzpwa-install .mzpwa-install__button,.mzpwa-dialog .mzpwa-install__button {
    display:inline-flex;
    align-items:center;
    justify-content:center;
    min-height:46px;
    height:auto;
    padding:12px 18px;
    margin:0;
    border:0;
    border-radius:8px;
    background:#cc0a17;
    box-shadow:none;
    color:#fff;
    font:600 13px/1.5 Inter,system-ui,sans-serif;
    letter-spacing:0;
    text-transform:none;
    white-space:normal;
    cursor:pointer;
    flex:none;
}

.mzpwa-install .mzpwa-install__button:hover,.mzpwa-dialog .mzpwa-install__button:hover {
    background:#a90813;
}

.mzpwa-install .mzpwa-install__button:disabled {
    opacity:.6;
    cursor:wait;
}

.mzpwa-install .mzpwa-install__close,.mzpwa-dialog .mzpwa-install__close {
    display:grid;
    place-items:center;
    width:40px;
    min-width:40px;
    height:40px;
    min-height:40px;
    padding:0;
    margin:0;
    border:0;
    border-radius:7px;
    background:transparent;
    box-shadow:none;
    color:#696d75;
    font:400 26px/1 system-ui;
    cursor:pointer;
}

.mzpwa-install>.mzpwa-install__close {
    position:absolute;
    top:8px;
    right:8px;
}

.mzpwa-install .mzpwa-install__close:hover,.mzpwa-dialog .mzpwa-install__close:hover {
    background:#e5e6e8;
    color:#25272b;
}

.mzpwa-install :focus-visible,.mzpwa-dialog :focus-visible {
    outline:3px solid #25272b;
    outline-offset:3px;
}

.mzpwa-install__status:empty {
    display:none;
}

.mzpwa-install__status:not(:empty) {
    flex-basis:100%;
}

.mzpwa-dialog {
    width:min(440px,calc(100% - 32px));
    max-height:calc(100svh - 48px);
    overflow:auto;
    padding:28px;
    border:1px solid #e5e6e8;
    border-radius:18px;
    background:#fff;
    box-shadow:0 24px 100px #0003;
}

.mzpwa-dialog::backdrop {
    background:#16181b99;
}

.mzpwa-dialog__top {
    display:flex;
    justify-content:space-between;
    align-items:flex-start;
    margin-bottom:25px;
}

.mzpwa-dialog__top img {
    border-radius:14px;
    width:56px;
    height:56px;
}

.mzpwa-dialog h2 {
    font-size:29px;
}

.mzpwa-dialog ol {
    margin:24px 0;
    padding-left:22px;
    color:#25272b;
    font-size:14px;
    line-height:1.8;
}

.mzpwa-dialog li {
    padding-left:6px;
    margin-bottom:12px;
}

.mzpwa-dialog .mzpwa-dialog__hint {
    font-size:12px;
    padding-top:16px;
    border-top:1px solid #e5e6e8;
    margin-bottom:22px;
}

@media(max-width:700px) {
    .mzpwa-install {
        flex-wrap:wrap;
        align-items:flex-start;
        padding:22px;
        gap:16px;
    }

    .mzpwa-install__copy {
        flex-basis:calc(100% - 100px);
        padding-right:16px;
    }

    .mzpwa-install h2 {
        font-size:19px;
    }

    .mzpwa-install>.mzpwa-install__button {
        width:100%;
    }

    .mzpwa-dialog {
        padding:24px;
    }

}

@media(prefers-reduced-motion:no-preference) {
    .mzpwa-install__button {
        transition:background .15s;
    }

}
