/* ── PRODUCT DETAIL MODAL ── */
.pd-overlay{position:fixed;inset:0;background:rgba(0,83,76,.45);backdrop-filter:blur(4px);z-index:9998;opacity:0;pointer-events:none;transition:opacity .3s}
.pd-overlay.active{opacity:1;pointer-events:auto}
.pd-modal{position:fixed;top:50%;left:50%;transform:translate(-50%,-50%) scale(.97);z-index:9999;background:var(--warm-white);max-width:640px;width:92vw;max-height:88vh;overflow-y:auto;opacity:0;pointer-events:none;transition:opacity .3s,transform .3s;box-shadow:0 24px 80px rgba(0,83,76,.15)}
.pd-modal.active{opacity:1;pointer-events:auto;transform:translate(-50%,-50%) scale(1)}
.pd-close{position:absolute;top:16px;right:16px;background:rgba(0,83,76,.06);border:1px solid rgba(0,83,76,.1);width:36px;height:36px;cursor:none;display:flex;align-items:center;justify-content:center;z-index:2;transition:background .2s,border-color .2s;color:var(--dark)}
.pd-close:hover{background:rgba(0,83,76,.12);border-color:rgba(0,83,76,.2)}
.pd-img-wrap{width:100%;aspect-ratio:4/3;overflow:hidden;background:var(--cream)}
.pd-img-wrap img{width:100%;height:100%;object-fit:cover}
.pd-body{padding:28px 32px 32px}
.pd-name{font-family:'Prompt',sans-serif;font-size:1.5rem;font-weight:400;margin:0 0 2px;color:var(--dark)}
.pd-type{font-family:'Noto Sans',sans-serif;font-size:.65rem;color:var(--brown-light);margin:0 0 20px;letter-spacing:.15em;text-transform:uppercase}
.pd-tagline{font-family:'Prompt',sans-serif;font-size:1rem;font-style:italic;color:var(--brown-mid);margin:0 0 20px;line-height:1.6}
.pd-desc{font-family:'Noto Sans',sans-serif;font-size:.85rem;line-height:1.8;color:var(--dark);font-weight:300;margin:0 0 24px}
.pd-benefits{list-style:none;padding:0;margin:0 0 24px}
.pd-benefits li{position:relative;padding-left:20px;margin-bottom:8px;font-family:'Noto Sans',sans-serif;font-size:.82rem;color:var(--dark);font-weight:300;line-height:1.6}
.pd-benefits li::before{content:"\2726";position:absolute;left:0;color:var(--gold);font-size:.7em;top:3px}
.pd-badges{display:flex;gap:8px;flex-wrap:wrap;margin-bottom:24px}
.pd-badge{display:inline-flex;align-items:center;gap:5px;padding:5px 12px;background:rgba(0,83,76,.05);border:1px solid rgba(0,83,76,.1);color:var(--dark);font-family:'Noto Sans',sans-serif;font-size:.6rem;font-weight:400;letter-spacing:.1em;text-transform:uppercase}
.pd-footer{display:flex;align-items:center;justify-content:space-between;gap:16px;padding-top:20px;border-top:1px solid var(--border)}
.pd-price{font-family:'Prompt',sans-serif;font-size:1.3rem;font-weight:400;color:var(--dark)}
.pd-add-btn{display:flex;align-items:center;justify-content:center;gap:8px;background:var(--gold);color:var(--dark);border:none;padding:13px 28px;font-family:'Noto Sans',sans-serif;font-size:.62rem;font-weight:500;letter-spacing:.2em;text-transform:uppercase;cursor:none;transition:background .3s,transform .2s}
.pd-add-btn:hover{background:var(--gold-light);transform:translateY(-1px)}
.pd-add-btn:disabled{background:transparent;border:1px solid var(--border);color:var(--brown-light);opacity:.6;cursor:not-allowed;transform:none}
@media(max-width:600px){.pd-body{padding:20px 20px 24px}.pd-name{font-size:1.3rem}}
