/* Scope all styles to this plugin: no changes to the active theme. */
.zdp-promo-banner{display:block;position:relative;clear:both;width:min(1280px,calc(100% - 32px));margin:36px auto 40px;box-sizing:border-box;z-index:1}
.zdp-promo-banner .zdp-promo-image-link{display:block;line-height:0;text-decoration:none;border-radius:14px;overflow:hidden;box-shadow:0 8px 28px rgba(22,47,17,.11);transition:transform .16s ease}
.zdp-promo-banner .zdp-promo-image-link:hover{transform:translateY(-2px)}
.zdp-promo-banner img{display:block;width:100%;height:auto;aspect-ratio:1916/821;object-fit:contain}
.zdp-promo-banner .zdp-promo-mobile-cta{display:none}
.zdp-promo-image-link:focus-visible,.zdp-promo-close:focus-visible{outline:3px solid #ffbc38;outline-offset:4px}
.zdp-promo-overlay[hidden]{display:none!important}
.zdp-promo-overlay{position:fixed!important;inset:0!important;z-index:2147483000!important;background:rgba(13,24,13,.68)!important;display:flex!important;align-items:center!important;justify-content:center!important;padding:12px!important;box-sizing:border-box!important;overscroll-behavior:contain}
.zdp-promo-dialog{position:relative;width:min(520px,94vw,70vh);max-width:100%;line-height:0;background:#fff;border-radius:15px;box-shadow:0 25px 80px rgba(0,0,0,.3)}
.zdp-promo-dialog .zdp-promo-image-link{display:block;border-radius:15px;overflow:hidden}
.zdp-promo-dialog img{display:block;width:100%;height:auto;aspect-ratio:1122/1402;border-radius:15px}
.zdp-promo-close{position:absolute;top:1.5%;right:1.8%;display:flex;align-items:center;justify-content:center;width:clamp(28px,3.4vw,37px);height:clamp(28px,3.4vw,37px);border-radius:50%;border:1px solid rgba(0,0,0,.10);background:#fff;color:#172219;box-shadow:0 1px 8px rgba(0,0,0,.18);font:normal 26px/1 Arial,sans-serif;cursor:pointer;padding:0;z-index:2}
.zdp-promo-close:hover{background:#f4e8d3}
html.zdp-promo-open{overflow:hidden!important}
@media(max-width:640px){
 .zdp-promo-banner{width:calc(100% - 24px);margin:24px auto 30px}
 .zdp-promo-banner .zdp-promo-image-link{border-radius:12px;background:#f4f8ed;box-shadow:0 5px 19px rgba(22,47,17,.10)}
 .zdp-promo-banner .zdp-promo-mobile-cta{display:block;line-height:1.3;text-align:center;font:700 15px/1.3 system-ui,-apple-system,Segoe UI,sans-serif;background:#285a2e;color:white;padding:11px 8px}
 .zdp-promo-dialog{width:min(94vw,70vh,520px)}
}
@media(prefers-reduced-motion:reduce){.zdp-promo-banner .zdp-promo-image-link{transition:none}}

/* Cart-only conversion message: image first, then a status panel; no theme overrides. */
.zdp-promo-cart-banner{margin:30px auto 34px;max-width:1120px;contain:layout style}
.zdp-promo-cart-banner .zdp-promo-image-link{border-radius:14px 14px 0 0}
.zdp-promo-cart-status{padding:17px 23px 15px;background:#f5f8ed;border:1px solid #d6e4c7;border-top:0;border-radius:0 0 14px 14px;box-shadow:0 8px 28px rgba(22,47,17,.06);font-family:system-ui,-apple-system,"Segoe UI",sans-serif;color:#1c361e;font-size:15px;line-height:1.5}
.zdp-promo-status-line{display:flex;align-items:baseline;justify-content:space-between;flex-wrap:wrap;gap:3px 14px;margin:0 0 12px}
.zdp-promo-status-title{display:block;font-size:clamp(17px,2.5vw,22px);font-weight:750;color:#1c4d23}
.zdp-promo-status-description{display:block;font-size:13px;color:#4a6450}
.zdp-promo-progress{height:11px;background:#d9e6d2;border-radius:50px;overflow:hidden;box-sizing:border-box}
.zdp-promo-progress span{display:block;height:100%;background:linear-gradient(90deg,#4d8334,#8dbf4a);border-radius:50px;transition:width .28s ease}
.zdp-promo-status-foot{display:flex;justify-content:space-between;gap:8px;flex-wrap:wrap;margin-top:7px;color:#405943;font-size:13px}
.zdp-promo-cart-status .woocommerce-Price-amount{white-space:nowrap}
.zdp-promo-gift-mark{display:inline-block;margin-inline-start:8px;background:#e8f7dc;color:#246222;border-radius:5px;padding:2px 6px;font-size:12px;vertical-align:middle}
.zdp-promo-gift-quantity{white-space:nowrap}
.zdp-admin-categories{display:grid;gap:4px;max-width:520px;max-height:320px;overflow-y:auto;background:#fff;border:1px solid #c3c4c7;border-radius:5px;padding:12px}
.zdp-admin-category{display:block;padding-top:3px;padding-bottom:3px}
@media(max-width:640px){
 .zdp-promo-cart-status{padding:14px 13px}
 .zdp-promo-cart-banner .zdp-promo-image-link{border-radius:10px 10px 0 0}
 .zdp-promo-cart-banner .zdp-promo-mobile-cta{font-size:14px}
 .zdp-promo-status-line{display:block}
 .zdp-promo-status-description{margin-top:4px}
 .zdp-promo-status-foot{font-size:12px}
}
@media(prefers-reduced-motion:reduce){.zdp-promo-progress span{transition:none}}
