/* EMR storefront. The Shop view is hidden until the payment Worker reports at
   least one approved purchasable product. */
.shop-view{padding-bottom:80px}
.shop-hero{background:var(--dark);color:#fff;padding:60px 5vw}
.shop-hero h1{font-size:clamp(2.2rem,4vw,4rem);line-height:.95;letter-spacing:-.05em;margin:0}
.shop-hero h1 span{color:var(--acid)}
.shop-hero p{max-width:660px;color:#b4bcb0;line-height:1.6;margin:22px 0 0}
.shop-env{margin:20px 0 0;padding:12px 16px;border-radius:10px;background:#3b3212;border:1px solid #7d6a1f;color:#f0e6b8;font-size:.85rem;max-width:660px}
.shop-body{max-width:1100px;margin:auto;padding:36px 24px 0}
.shop-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:16px}
.shop-card{background:#fff;border:1px solid var(--line);border-radius:var(--radius);padding:22px;display:flex;flex-direction:column}
.shop-card.sandbox{border-style:dashed;border-color:#c9a227;background:#fffdf2}
.shop-flag{display:inline-block;background:#fff0bd;border:1px solid #e0c65a;color:#6b5400;border-radius:6px;padding:5px 8px;font-size:.7rem;font-weight:800;margin-bottom:12px}
.shop-card h3{margin:6px 0;font-size:1.15rem;line-height:1.25}
.shop-card p{color:var(--muted);line-height:1.5;font-size:.9rem;margin:12px 0}
.shop-price{display:grid;gap:6px;margin:auto 0 16px;padding-top:14px;border-top:1px solid var(--line)}
.shop-price div{display:flex;justify-content:space-between;gap:12px}
.shop-price dt{color:var(--muted);font-size:.8rem;margin:0}
.shop-price dd{margin:0;font-weight:700}
.shop-qty{display:block;font-weight:700;font-size:.78rem}
.shop-qty select{width:100%;margin-top:6px;background:#fff;border:1px solid var(--line);border-radius:10px;padding:11px}
.shop-checkout{margin:30px 0 0;padding:24px;background:#fff;border:1px solid var(--line);border-radius:var(--radius)}
.shop-total{margin:0 0 16px;color:var(--muted);line-height:1.5}
#paypalButtons{max-width:420px}
.shop-status{margin:24px 0 0;padding:20px 22px;border-radius:var(--radius);border:1px solid var(--line);background:#fff;outline:none}
.shop-status strong{display:block;font-size:1.1rem;margin-bottom:6px}
.shop-status p{margin:6px 0 0;line-height:1.55;color:var(--muted)}
.shop-status code{font-family:ui-monospace,SFMono-Regular,Menlo,monospace;background:#eef0eb;border-radius:5px;padding:2px 6px}
.shop-status.success{border-color:#9ccf63;background:#f3ffe4}
.shop-status.cancelled{border-color:#d8c98a;background:#fffbef}
.shop-status.failed{border-color:#dda092;background:#fff3f0}
.shop-note{max-width:1100px;margin:28px auto 0;padding:0 24px;color:var(--muted);font-size:.85rem;line-height:1.6}
@media(max-width:760px){
  .shop-hero{padding:38px 20px}
  .shop-body,.shop-note{padding-left:16px;padding-right:16px}
  .shop-grid{grid-template-columns:1fr}
  .shop-checkout{padding:18px}
}
