.snm-banner{position:relative!important;inset:auto!important;width:100%;box-sizing:border-box;background:var(--snm-banner-bg);color:var(--snm-banner-text);font-family:var(--snm-banner-font);font-size:var(--snm-banner-size);line-height:1.4;z-index:2147482000;transform:none!important;isolation:isolate}.snm-banner__inner{max-width:1440px;margin:0 auto;padding:10px 48px 10px 20px;display:flex;align-items:center;justify-content:center;gap:16px;position:relative}.snm-banner__text{text-align:center}.snm-banner__text p{margin:0}.snm-banner__button{display:inline-flex;align-items:center;justify-content:center;flex:0 0 auto;padding:8px 15px;background:var(--snm-banner-button-bg);color:var(--snm-banner-button-text)!important;text-decoration:none!important;border:0;border-radius:0;font:inherit;font-weight:600;line-height:1.2;transition:background-color .15s ease}.snm-banner__button:hover,.snm-banner__button:focus{background:var(--snm-banner-button-hover);color:var(--snm-banner-button-text)!important}.snm-close{appearance:none;border:0;background:transparent;cursor:pointer;font-family:Arial,sans-serif;line-height:1}.snm-banner__close{position:absolute;right:14px;top:50%;transform:translateY(-50%);padding:4px;color:var(--snm-banner-text);font-size:26px;opacity:.85}.snm-banner__close:hover{opacity:1}
.snm-popup{position:fixed;z-index:99999;box-sizing:border-box;opacity:0;animation:snmFadeIn .32s ease-out forwards}.snm-popup--center{inset:0;display:flex;align-items:center;justify-content:center;padding:24px;pointer-events:none}.snm-popup--center.snm-popup--overlay{background:var(--snm-popup-overlay);pointer-events:auto}.snm-popup--bottom-right{right:20px;bottom:20px;max-width:calc(100vw - 40px)}.snm-popup__card{position:relative;width:min(var(--snm-popup-desktop),calc(100vw - 48px));max-height:85vh;pointer-events:auto}.snm-popup--bottom-right .snm-popup__card{width:min(var(--snm-popup-desktop),calc(100vw - 40px));max-height:75vh}.snm-popup__card a{display:block}.snm-popup__card img{display:block;width:100%;height:auto;max-height:85vh;object-fit:contain}.snm-popup__close{position:absolute;z-index:2;right:-12px;top:-12px;width:32px;height:32px;border-radius:50%;background:#fff;color:#111;box-shadow:0 2px 10px rgba(0,0,0,.22);font-size:24px;text-align:center}.snm-popup__close:hover{background:#f3f4f6}@keyframes snmFadeIn{from{opacity:0}to{opacity:1}}@media(prefers-reduced-motion:reduce){.snm-popup{animation:none;opacity:1}}
@media(max-width:782px){.snm-banner__inner{padding:10px 42px 10px 14px;flex-direction:column;gap:9px}.snm-banner__button{width:auto}.snm-popup--center{padding:16px}.snm-popup__card,.snm-popup--bottom-right .snm-popup__card{width:var(--snm-popup-mobile);max-width:calc(100vw - 24px)}.snm-popup--bottom-right{right:12px;bottom:12px;max-width:calc(100vw - 24px)}.snm-popup__close{right:-8px;top:-8px}}

/* v1.0.4: keep Top Banner as a true page-flow element before the theme header. */
.snm-banner{display:block!important;float:none!important;clear:both!important;margin:0!important;top:auto!important;right:auto!important;bottom:auto!important;left:auto!important;}

/* v1.0.7: overlap correction uses margin only; header position/top are never changed. */
.snm-overlap-offset{transition:none!important;}
