.ccpwam-install-prompt {
    box-sizing: border-box;
    position: fixed;
    z-index: 1000000;
    right: 20px;
    bottom: 20px;
    display: grid;
    gap: 16px;
    width: min(420px, calc(100vw - 40px));
    max-width: calc(100vw - 40px);
    padding: 20px;
    border: 1px solid rgba(0, 0, 0, .1);
    border-radius: 18px;
    background: #fff;
    color: #1d2327;
    box-shadow: 0 16px 50px rgba(0, 0, 0, .2);
    font-family: system-ui, sans-serif;
}

.ccpwam-install-prompt strong { font-size: 17px; }
.ccpwam-install-prompt p { margin: 6px 0 0; line-height: 1.45; }
.ccpwam-install-actions { display: flex; justify-content: flex-end; gap: 8px; }
.ccpwam-install-actions button { padding: 9px 14px; border: 0; border-radius: 9px; cursor: pointer; }
.ccpwam-install-primary { background: var(--ccpwam-accent, #2271b1); color: #fff; }
.ccpwam-ios-guide-open { overflow: hidden; }
.ccpwam-ios-install-overlay {
    position: fixed;
    z-index: 1000001;
    inset: 0;
    display: flex;
    align-items: flex-end;
    justify-content: center;
    padding: 20px 14px calc(20px + env(safe-area-inset-bottom));
    background: rgba(15, 23, 42, .58);
    backdrop-filter: blur(5px);
    -webkit-backdrop-filter: blur(5px);
    font-family: system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
}
.ccpwam-ios-install-card {
    position: relative;
    display: grid;
    gap: 14px;
    width: min(440px, 100%);
    max-height: calc(100vh - 40px - env(safe-area-inset-bottom));
    overflow: auto;
    padding: 26px 22px 22px;
    border-radius: 22px;
    background: #fff;
    color: #172033;
    box-shadow: 0 24px 70px rgba(15, 23, 42, .35);
    -webkit-overflow-scrolling: touch;
}
.ccpwam-ios-install-close {
    position: absolute;
    top: 10px;
    right: 12px;
    display: grid;
    width: 34px;
    height: 34px;
    place-items: center;
    padding: 0;
    border: 0;
    border-radius: 50%;
    background: #f1f5f9;
    color: #475569;
    font-size: 25px;
    line-height: 1;
}
.ccpwam-ios-share-icon {
    display: grid;
    width: 52px;
    height: 52px;
    place-items: center;
    border-radius: 15px;
    background: #eff6ff;
    color: var(--ccpwam-accent, #2271b1);
}
.ccpwam-ios-share-icon svg { width: 28px; height: 28px; fill: none; stroke: currentColor; stroke-linecap: round; stroke-linejoin: round; stroke-width: 1.8; }
.ccpwam-ios-install-card>strong { padding-right: 32px; font-size: 21px; line-height: 1.25; }
.ccpwam-ios-install-card>p { margin: -5px 0 0; color: #526071; font-size: 15px; line-height: 1.5; }
.ccpwam-ios-install-card ol { display: grid; gap: 11px; margin: 0; padding: 0; list-style: none; counter-reset: ccpwam-ios-step; }
.ccpwam-ios-install-card li { position: relative; min-height: 30px; padding: 5px 0 5px 42px; color: #263244; line-height: 1.4; counter-increment: ccpwam-ios-step; }
.ccpwam-ios-install-card li:before { content: counter(ccpwam-ios-step); position: absolute; top: 0; left: 0; display: grid; width: 31px; height: 31px; place-items: center; border-radius: 50%; background: #eef2f7; color: #334155; font-size: 13px; font-weight: 700; }
.ccpwam-ios-install-primary { width: 100%; margin-top: 2px; padding: 12px 16px; border: 0; border-radius: 11px; background: var(--ccpwam-accent, #2271b1); color: #fff; font-size: 15px; font-weight: 700; }
.ccpwam-ios-install-close:focus-visible,.ccpwam-ios-install-primary:focus-visible { outline: 3px solid rgba(34, 113, 177, .35); outline-offset: 2px; }
html:not(.pwam-utilities-ready) [class*="pwam-hide-"],
html:not(.pwam-utilities-ready) [class*="pwam-show-"] { visibility: hidden !important; }
.pwam-utility-hidden { display: none !important; }

.ccpwam-push-prompt{position:fixed;right:1rem;bottom:calc(1rem + var(--pwam-bottom-offset,0px));z-index:1000000;display:grid;grid-template-columns:auto minmax(0,1fr);gap:.8rem;width:min(25rem,calc(100vw - 2rem));padding:1rem;border:1px solid rgba(0,0,0,.12);border-radius:1rem;background:#fff;color:#1d2327;box-shadow:0 1rem 3rem rgba(0,0,0,.22);font-family:system-ui,-apple-system,sans-serif}
.ccpwam-push-prompt__icon{display:grid;place-items:center;width:2.5rem;height:2.5rem;border-radius:.8rem;background:var(--ccpwam-accent,#2271b1);color:#fff;font-size:.8rem}
.ccpwam-push-prompt__copy strong{display:block;font-size:1rem;line-height:1.3}.ccpwam-push-prompt__copy p{margin:.3rem 0 0;font-size:.875rem;line-height:1.45}.ccpwam-push-prompt__copy small{display:block;margin-top:.45rem;color:#b32d2e}
.ccpwam-push-prompt__actions{grid-column:1/-1;display:flex;justify-content:flex-end;gap:.5rem}.ccpwam-push-prompt__actions button{appearance:none;padding:.55rem .85rem;border:0;border-radius:.55rem;background:transparent;color:inherit;font:inherit;cursor:pointer}.ccpwam-push-prompt__actions .ccpwam-push-prompt__primary{background:var(--ccpwam-accent,#2271b1);color:#fff;font-weight:600}.ccpwam-push-prompt__actions button:disabled{cursor:wait;opacity:.65}
@media(max-width:600px){.ccpwam-push-prompt{left:1rem;right:1rem;bottom:calc(1rem + var(--pwam-bottom-offset,0px));width:auto}}

.pwam-menu {
    box-sizing: border-box;
    position: fixed;
    left: 0;
    right: 0;
    z-index: 999998;
    display: none;
    grid-template-columns: repeat(var(--pwam-menu-columns), minmax(0, 1fr));
    min-height: var(--pwam-menu-height);
    margin: 0;
    padding: 0;
    border-color: var(--pwam-menu-border);
    background: var(--pwam-menu-background);
    color: var(--pwam-menu-text);
    box-shadow: 0 -8px 28px rgba(15, 23, 42, .12);
    font-family: inherit;
    isolation: isolate;
}

.pwam-menu *,
.pwam-menu *::before,
.pwam-menu *::after { box-sizing: border-box; }

.pwam-menu.is-visible { display: grid; }
.pwam-menu--bottom { bottom: var(--pwam-stack-offset, 0); border-top: 1px solid var(--pwam-menu-border); }
.pwam-menu--top { top: var(--pwam-stack-offset, 0); border-bottom: 1px solid var(--pwam-menu-border); box-shadow: 0 8px 28px rgba(15, 23, 42, .12); }
.ccpwam-is-pwa .pwam-menu--bottom { padding-bottom: env(safe-area-inset-bottom); }
.ccpwam-is-pwa .pwam-menu--top { padding-top: env(safe-area-inset-top); }
.ccpwam-popup-open .pwam-menu[data-hide-popup="1"] { display: none !important; }

.pwam-menu__item {
    display: flex;
    min-width: 0;
    min-height: var(--pwam-menu-height);
    align-items: center;
    justify-content: center;
    flex-direction: column;
    gap: 3px;
    padding: 6px 4px;
    color: var(--pwam-menu-text);
    text-align: center;
    text-decoration: none !important;
    transition: color .18s ease, background .18s ease;
}

button.pwam-menu__item {
    appearance: none;
    -webkit-appearance: none;
    display: flex;
    width: 100%;
    min-width: 0;
    min-height: var(--pwam-menu-height);
    margin: 0;
    padding: 6px 4px;
    border: 0;
    border-radius: 0;
    background: transparent;
    color: inherit;
    font: inherit;
    line-height: inherit;
    text-align: center;
    align-items: center;
    justify-content: center;
    flex-direction: column;
    gap: 3px;
    cursor: pointer;
}

.pwam-menu__item:hover,
.pwam-menu__item.is-active,
.pwam-menu__item.is-submenu-open {
    color: var(--pwam-menu-active);
}
.pwam-menu__item:focus-visible { outline: 2px solid var(--pwam-menu-active); outline-offset: -3px; }
.pwam-menu__item .dashicons { width: var(--pwam-menu-icon-size); height: var(--pwam-menu-icon-size); font-size: var(--pwam-menu-icon-size); line-height: 1; }
.pwam-menu__image { width: var(--pwam-menu-icon-size); height: var(--pwam-menu-icon-size); object-fit: contain; }
.pwam-menu__label { max-width: 100%; overflow: hidden; font-size: 12px; font-weight: 600; line-height: 1.15; text-overflow: ellipsis; white-space: nowrap; }
.pwam-menu__item--icon-only { gap: 0; }
.pwam-menu__item--text-only .pwam-menu__label { font-size: 14px; }

.pwam-submenu {
    box-sizing: border-box;
    position: fixed;
    z-index: 999997;
    left: 0;
    right: 0;
    max-height: min(55vh, 34rem);
    overflow: auto;
    border-color: var(--pwam-menu-border);
    background: var(--pwam-menu-background);
    color: var(--pwam-menu-text);
    box-shadow: 0 -12px 32px rgba(15, 23, 42, .18);
    font-family: inherit;
    opacity: 0;
    visibility: hidden;
    pointer-events: none;
    transform: translateY(12px);
    transition: opacity .18s ease, transform .18s ease, visibility 0s linear .18s;
    -webkit-overflow-scrolling: touch;
}
.pwam-submenu--top { box-shadow: 0 12px 32px rgba(15, 23, 42, .18); transform: translateY(-12px); }
.pwam-submenu.is-open { opacity: 1; visibility: visible; pointer-events: auto; transform: translateY(0); transition-delay: 0s; }
.pwam-submenu *, .pwam-submenu *::before, .pwam-submenu *::after { box-sizing: border-box; }
.pwam-submenu__header { display:flex; align-items:center; justify-content:space-between; gap:12px; padding:10px 14px 6px; }
.pwam-submenu__header strong { overflow:hidden; font-size:14px; line-height:1.3; text-overflow:ellipsis; white-space:nowrap; }
.pwam-submenu__close { display:grid; flex:0 0 auto; width:32px; height:32px; place-items:center; padding:0; border:0; border-radius:50%; background:rgba(127,127,127,.12); color:inherit; font:inherit; font-size:24px; line-height:1; cursor:pointer; }
.pwam-submenu__items { display:grid; grid-template-columns:repeat(var(--pwam-menu-columns),minmax(0,1fr)); gap:6px; padding:6px 10px 12px; }
.pwam-submenu__item { display:flex; min-width:0; min-height:64px; align-items:center; justify-content:center; flex-direction:column; gap:4px; padding:9px 7px; border-radius:12px; color:var(--pwam-menu-text); text-align:center; text-decoration:none !important; transition:color .18s ease, background .18s ease, transform .18s ease; }
.pwam-submenu__item:hover, .pwam-submenu__item:focus, .pwam-submenu__item.is-active { background:rgba(127,127,127,.1); color:var(--pwam-menu-active); }
.pwam-submenu__item:active { transform:scale(.98); }
.pwam-submenu__item:focus-visible, .pwam-submenu__close:focus-visible { outline:2px solid var(--pwam-menu-active); outline-offset:2px; }
.pwam-submenu__item .dashicons { width:var(--pwam-menu-icon-size); height:var(--pwam-menu-icon-size); font-size:var(--pwam-menu-icon-size); line-height:1; }
.pwam-submenu__item--icon-only { gap:0; }
.pwam-submenu__item--text-only .pwam-menu__label { font-size:14px; }
.ccpwam-popup-open .pwam-submenu[data-hide-popup="1"] { display:none !important; }

@media (prefers-reduced-motion: reduce) {
    .pwam-submenu { transition:none; }
}

@media (max-width: 600px) {
    .ccpwam-install-prompt {
        left: 12px;
        right: 12px;
        bottom: calc(12px + env(safe-area-inset-bottom));
        width: auto;
        max-width: none;
        padding: 16px;
    }
}

.pwam-shortcode-popup{position:fixed;z-index:1000002;inset:0;display:none;align-items:center;justify-content:center;padding:18px;background:transparent}
.pwam-shortcode-popup.is-open{display:flex}
.pwam-shortcode-popup__backdrop{position:absolute;inset:0;background:rgba(0,0,0,.66);backdrop-filter:blur(3px);-webkit-backdrop-filter:blur(3px)}
.pwam-shortcode-popup__dialog{position:relative;z-index:1;width:min(560px,100%);max-height:calc(100vh - 36px);overflow:auto;padding:24px;border-radius:18px;background:var(--pwam-menu-background,#fff);color:var(--pwam-menu-text,#1d2327);box-shadow:0 24px 70px rgba(0,0,0,.35);-webkit-overflow-scrolling:touch}
.pwam-shortcode-popup__close{position:absolute;top:10px;right:12px;display:grid;width:36px;height:36px;place-items:center;padding:0;border:0;border-radius:50%;background:rgba(127,127,127,.14);color:inherit;font:inherit;font-size:26px;line-height:1;cursor:pointer}
.pwam-shortcode-popup__content{min-width:0;padding-top:22px}
.ccpwam-shortcode-popup-open{overflow:hidden}
