.ec-pwa-install {
    position: relative;
    width: min(100%, 290px);
    margin-top: 16px;
    font-family: inherit;
}

.ec-pwa-install[hidden],
.ec-pwa-ios-dialog[hidden] {
    display: none !important;
}

.ec-pwa-install__trigger {
    width: 100%;
    min-height: 54px;
    display: flex;
    align-items: center;
    gap: 11px;
    padding: 9px 34px 9px 12px;
    border: 0;
    border-radius: 10px;
    color: var(--ec-pwa-on-accent, #fff);
    background: var(--ec-pwa-accent, #0059da);
    box-shadow: 0 8px 20px rgba(17, 24, 39, .16);
    font: inherit;
    text-align: left;
    cursor: pointer;
    transition: filter .16s ease, transform .16s ease;
}

.ec-pwa-install__trigger:hover { filter: brightness(.96); transform: translateY(-1px); }
.ec-pwa-install__trigger:focus-visible,
.ec-pwa-install__dismiss:focus-visible,
.ec-pwa-ios-dialog button:focus-visible { outline: 3px solid var(--ec-pwa-accent, #0059da); outline-offset: 3px; }
.ec-pwa-install__trigger svg { width: 25px; height: 25px; flex: 0 0 25px; fill: none; stroke: currentColor; stroke-width: 1.8; stroke-linecap: round; stroke-linejoin: round; }
.ec-pwa-install__trigger span { min-width: 0; display: grid; gap: 1px; }
.ec-pwa-install__trigger strong { color: inherit; font-size: 13px; font-weight: 800; line-height: 1.25; }
.ec-pwa-install__trigger small { color: inherit; opacity: .82; font-size: 10px; line-height: 1.25; }
.ec-pwa-install__dismiss { position: absolute; top: 4px; right: 4px; width: 27px; height: 27px; display: grid; place-items: center; padding: 0; border: 0; border-radius: 8px; color: var(--ec-pwa-on-accent, #fff); background: transparent; font-size: 20px; line-height: 1; cursor: pointer; opacity: .72; }
.ec-pwa-install__dismiss:hover { background: rgba(0, 0, 0, .10); opacity: 1; }

.ec-pwa-ios-dialog { position: fixed; z-index: 10050; inset: 0; display: grid; place-items: center; padding: 20px; }
.ec-pwa-ios-dialog__backdrop { position: absolute; inset: 0; background: rgba(12, 18, 30, .62); }
.ec-pwa-ios-dialog__panel { position: relative; width: min(100%, 390px); padding: 32px; border-radius: 18px; color: #172033; background: #fff; box-shadow: 0 24px 70px rgba(0, 0, 0, .28); text-align: center; }
.ec-pwa-ios-dialog__close { position: absolute; top: 10px; right: 10px; width: 36px; height: 36px; border: 0; border-radius: 10px; color: #536075; background: #f0f3f8; font-size: 24px; cursor: pointer; }
.ec-pwa-ios-dialog__icon { width: 58px; height: 58px; margin: 0 auto 18px; display: grid; place-items: center; border-radius: 16px; color: var(--ec-pwa-on-accent, #fff); background: var(--ec-pwa-accent, #0059da); }
.ec-pwa-ios-dialog__icon svg { width: 29px; height: 29px; fill: none; stroke: currentColor; stroke-width: 1.8; stroke-linecap: round; stroke-linejoin: round; }
.ec-pwa-ios-dialog h2 { margin: 0 0 10px; color: #172033; font-size: 21px; line-height: 1.25; }
.ec-pwa-ios-dialog p { margin: 0 0 24px; color: #596579; font-size: 14px; line-height: 1.6; }
.ec-pwa-ios-dialog__confirm { min-height: 44px; padding: 10px 24px; border: 0; border-radius: 9px; color: var(--ec-pwa-on-accent, #fff); background: var(--ec-pwa-accent, #0059da); font: inherit; font-weight: 800; cursor: pointer; }

@media (max-width: 575px) {
    .ec-pwa-install { width: 100%; max-width: 320px; }
    .ec-pwa-ios-dialog { align-items: end; padding: 12px; }
    .ec-pwa-ios-dialog__panel { padding: 30px 22px 24px; border-radius: 18px 18px 14px 14px; }
}

@media (prefers-reduced-motion: reduce) {
    .ec-pwa-install__trigger { transition: none; }
}
