.purchase-popup-trigger{display:block;margin:12px auto 0;padding:8px 4px;background:none;border:0;color:var(--accent);font:500 13px/1.6 var(--f-body);text-decoration:underline;text-underline-offset:3px;cursor:pointer}
.purchase-popup-trigger[hidden]{display:none}
.purchase-popup{box-sizing:border-box;width:min(380px,90vw);max-width:none;max-height:min(530px,calc(100vh - 32px));max-height:min(530px,calc(100dvh - 32px));padding:0;border:1px solid var(--line);border-radius:20px;background:var(--card);color:var(--ink);box-shadow:0 24px 80px #0004;overflow:auto;overscroll-behavior:contain;scrollbar-gutter:stable}
.purchase-popup:not([open]){display:none}
.purchase-popup::backdrop{background:rgba(12,20,16,.58);backdrop-filter:blur(3px)}
.purchase-popup-topbar{position:sticky;top:0;z-index:1;display:flex;align-items:center;justify-content:space-between;gap:16px;padding:8px 12px 4px 18px;background:var(--card);border-radius:20px 20px 0 0;font-size:12px;color:var(--muted)}
.purchase-popup-close{display:grid;place-items:center;flex:0 0 44px;width:44px;height:44px;border:0;border-radius:50%;background:#d4331c;color:white;cursor:pointer;box-shadow:0 3px 12px #0002}
.purchase-popup-close svg{width:25px;height:25px}
.purchase-popup-content{padding:0 24px 16px;text-align:center}
.purchase-popup-content>h2{font:700 24px/1.5 var(--f-display);color:#c93314;margin:0 0 10px}
.purchase-popup-image{display:flex;justify-content:center;align-items:center;background:#fff;border:1px solid var(--line);border-radius:16px;overflow:hidden;margin:0 0 12px}
.purchase-popup-image .product-photo{display:block;width:100%;height:clamp(120px,22vh,180px);max-width:100%;border:0;border-radius:0;object-fit:contain;background:#fff;box-sizing:border-box;padding:8px}
.purchase-popup-image .product-photo-placeholder{display:grid;place-items:center;color:#5e6963;font-size:14px}
.purchase-popup-brand{font-size:12px;color:var(--muted);margin:0 0 4px}
.purchase-popup-content>h3{font:600 18px/1.4 var(--f-display);margin:0 0 6px;overflow-wrap:anywhere}
.purchase-popup-pack{font-size:13px;color:var(--muted);margin:0 0 10px}
.purchase-popup-cta{display:flex;width:100%;justify-content:center;align-items:center;gap:10px;box-sizing:border-box;min-height:48px;font-size:15px;border-radius:13px;text-decoration:none;margin-top:12px;white-space:normal}
.purchase-popup-cta svg{width:24px;height:24px;flex:0 0 24px}
.purchase-popup-note{font-size:12px;line-height:1.7;color:var(--muted);margin:10px 0}
.purchase-popup .affiliate-notice{font-size:12px;line-height:1.75;color:var(--muted);margin:12px 0;text-align:left}
.purchase-popup .supplement-warning{font-size:12px;line-height:1.7;text-align:left;margin-bottom:0}
.purchase-popup-open,.purchase-popup-open body{overflow:hidden}
.purchase-popup button:focus-visible,.purchase-popup a:focus-visible,.purchase-popup-trigger:focus-visible{outline:3px solid var(--accent);outline-offset:3px}
@media(max-width:480px){.purchase-popup{max-height:min(550px,calc(100vh - 32px));max-height:min(550px,calc(100dvh - 32px))}.purchase-popup-content{padding-inline:18px}}
@media(prefers-reduced-motion:no-preference){.purchase-popup[open]{animation:purchase-popup-in .18s ease-out}@keyframes purchase-popup-in{from{opacity:0;transform:translateY(12px)}to{opacity:1;transform:translateY(0)}}}
