.ppd-map-section{margin:0 0 3rem;display:grid;grid-template-columns:minmax(280px,.72fr) 1.28fr;background:#061f49;color:#fff;border-radius:28px;overflow:hidden;box-shadow:0 20px 55px rgba(6,31,73,.18)}
.ppd-map-copy{padding:clamp(28px,5vw,56px)}
.ppd-map-copy h2{color:#fff;font-size:clamp(2rem,4vw,3.25rem);line-height:1.05;margin:.25em 0}
.ppd-map-copy p{color:#d9e5f8}
.ppd-eyebrow{color:#fdbb18;font-size:.76rem;font-weight:900;text-transform:uppercase;letter-spacing:.15em}
#ppd-address{width:100%;min-height:54px;border:0;border-radius:12px;padding:0 16px;font-size:1rem;color:#172033;background:#fff}
#ppd-map{min-height:480px;background:#edf2f7}
.ppd-legend{display:grid;gap:10px;margin-top:22px;font-weight:700;font-size:.88rem}
.ppd-legend span{display:flex;align-items:center;gap:9px}
.ppd-legend i{width:13px;height:13px;border-radius:50%;background:var(--zone);box-shadow:0 0 0 3px rgba(255,255,255,.18)}
.ppd-map-warning{grid-column:1/-1;margin:0;padding:12px 20px;color:#7a2800;background:#fff0c2;font-weight:800}
.ppd-modal[hidden]{display:none}
.ppd-modal{position:fixed;inset:0;z-index:99999;display:grid;place-items:center;padding:20px;background:rgba(3,16,38,.72);backdrop-filter:blur(8px)}
.ppd-modal-card{position:relative;width:min(520px,100%);padding:44px;border-radius:26px;text-align:center;background:#fff;color:#172033;box-shadow:0 30px 90px rgba(0,0,0,.35)}
.ppd-modal-card h2{color:#061f49;font-size:2rem}
.ppd-modal-icon{display:block;font-size:3rem}
.ppd-modal-close{position:absolute;right:18px;top:12px;border:0;background:none;font-size:2rem;cursor:pointer}
.ppd-commerce-ui[hidden]{display:none}
.ppd-progress-banner{position:fixed;right:22px;bottom:22px;z-index:9990;width:min(620px,calc(100% - 44px));display:grid;grid-template-columns:auto 1fr auto;align-items:center;gap:16px;padding:16px 18px;border:1px solid rgba(255,255,255,.18);border-radius:20px;color:#fff;background:linear-gradient(120deg,#b90f24,#e01a32 58%,#ff3d35);box-shadow:0 22px 70px rgba(120,0,20,.4);cursor:pointer;text-align:left;overflow:hidden}
.ppd-progress-banner:before{content:"";position:absolute;inset:-80% auto auto 62%;width:180px;height:180px;border-radius:50%;background:rgba(255,187,24,.35);filter:blur(2px)}
.ppd-progress-banner.is-qualified{background:linear-gradient(120deg,#08783f,#10a75d 58%,#2bcf79);box-shadow:0 22px 70px rgba(6,105,55,.38)}
.ppd-progress-banner.is-qualified:before{background:rgba(255,255,255,.19)}
.ppd-progress-banner.is-qualified .ppd-progress-copy strong{color:#d9ffe9}
.ppd-progress-banner.is-qualified .ppd-progress-copy b{background:#fff}
.ppd-progress-icon{position:relative;width:48px;height:48px;display:grid;place-items:center;border-radius:15px;background:#fff;color:#061f49;font-size:1.35rem}
.ppd-progress-copy{position:relative;min-width:0}
.ppd-progress-copy strong,.ppd-progress-copy span{display:block}
.ppd-progress-copy strong{font-size:.8rem;text-transform:uppercase;letter-spacing:.08em;color:#ffe8a3}
.ppd-progress-copy span{font-weight:800;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.ppd-progress-copy i{display:block;height:5px;margin-top:9px;border-radius:999px;background:rgba(255,255,255,.28);overflow:hidden}
.ppd-progress-copy b{display:block;width:0;height:100%;border-radius:inherit;background:#fdbb18;transition:width .45s ease}
.ppd-progress-total{position:relative;text-align:right}
.ppd-progress-total strong,.ppd-progress-total small{display:block;white-space:nowrap}
.ppd-progress-total strong{font-size:1.2rem}
.ppd-progress-total small{opacity:.8}
.ppd-drawer-backdrop{position:fixed;inset:0;z-index:9997;background:rgba(2,13,32,.7);backdrop-filter:blur(7px)}
.ppd-cart-drawer{position:fixed;inset:0 0 0 auto;z-index:9998;width:min(470px,100%);padding:52px 34px;transform:translateX(105%);transition:transform .35s cubic-bezier(.2,.8,.2,1);color:#172033;background:#fff;box-shadow:-30px 0 80px rgba(0,0,0,.28)}
.ppd-cart-drawer.is-open{transform:translateX(0)}
.ppd-drawer-close{position:absolute;right:22px;top:16px;border:0;background:none;font-size:2rem;cursor:pointer}
.ppd-drawer-kicker{color:#dc1428;font-size:.76rem;font-weight:900;text-transform:uppercase;letter-spacing:.14em}
.ppd-cart-drawer h2{margin:.3em 0 1em;color:#061f49;font-size:2.5rem;line-height:1}
.ppd-drawer-summary{display:flex;justify-content:space-between;align-items:center;padding:20px 0;border-block:1px solid #e7e9ee}
.ppd-drawer-summary strong{font-size:1.6rem;color:#061f49}
.ppd-drawer-delivery{margin:24px 0;padding:20px;border-radius:16px;border-left:5px solid #dc1428;background:#fff3f4}
.ppd-drawer-delivery strong{color:#b90f24}
.ppd-drawer-delivery p{margin:.35em 0 0}
.ppd-cart-drawer.is-qualified .ppd-drawer-delivery{border-left-color:#10a75d;background:#eafbf2}
.ppd-cart-drawer.is-qualified .ppd-drawer-delivery strong{color:#08783f}
.ppd-drawer-button{display:flex;align-items:center;justify-content:center;min-height:54px;margin-top:10px;border:2px solid #061f49;border-radius:999px;color:#061f49;font-weight:900}
.ppd-drawer-checkout{border-color:#061f49;background:#061f49;color:#fff}
body.ppd-drawer-open{overflow:hidden}
@media(max-width:780px){.ppd-map-section{grid-template-columns:1fr}#ppd-map{min-height:390px}.ppd-modal-card{padding:34px 24px}}
@media(max-width:620px){.ppd-progress-banner{right:10px;bottom:10px;width:calc(100% - 20px);grid-template-columns:auto 1fr;padding:12px}.ppd-progress-total{display:none}.ppd-progress-copy span{font-size:.88rem}.ppd-cart-drawer{padding:48px 22px}.ppd-cart-drawer h2{font-size:2rem}}
