/* MedicalQR shop (/shop), the buyer's Orders page and the admin Orders page. */
.shop-page{min-height:100svh;padding:104px 0 80px;color:var(--navy);background:#f4f7fa}
.shop-hero{padding:56px 0 34px}
.shop-hero h1{margin:14px 0 14px;color:var(--navy);font-size:clamp(40px,5vw,64px);font-weight:620;line-height:1;letter-spacing:-.05em}
.shop-hero p{max-width:640px;margin:0;color:var(--muted);font-size:17px;line-height:1.7}
.shop-hero .eyebrow svg{width:16px;height:16px}
.shop-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:22px}
.shop-card{display:flex;flex-direction:column;overflow:hidden;border:1px solid var(--line);border-radius:22px;background:#fff;box-shadow:0 10px 34px rgba(7,26,54,.05);transition:transform .25s,box-shadow .25s}
.shop-card:hover{transform:translateY(-3px);box-shadow:0 20px 50px rgba(7,26,54,.1)}
.shop-card-image{position:relative;aspect-ratio:1;display:grid;place-items:center;background:var(--mist)}
.shop-card-image img{object-fit:contain;padding:18px}
.shop-card-image i{position:absolute;top:14px;left:14px;padding:6px 11px;color:#fff;border-radius:999px;background:var(--navy);font-size:12px;font-style:normal;font-weight:700}
.shop-card-body{display:grid;gap:8px;padding:20px 22px 24px}
.shop-card-body b{font-size:18px;line-height:1.3;letter-spacing:-.01em}
.shop-card-body small{color:var(--muted);font-size:14px;line-height:1.55}
.shop-card-body strong{margin-top:4px;font-size:18px}
.shop-plan{justify-self:start;display:inline-flex;align-items:center;gap:6px;padding:5px 10px;color:#8a5a00;border-radius:999px;background:#fff4dc;font-size:12px;font-weight:720}
.shop-plan svg{width:14px;height:14px}
.shop-plan.essential{color:#0b5c8c;background:#e5f2fb}
.shop-alert{margin:0 0 18px;padding:13px 16px;color:#9b1024;border:1px solid #f6c3ca;border-radius:14px;background:#fff1f3;font-size:14px}
.shop-empty{display:grid;justify-items:center;gap:10px;padding:56px 24px;text-align:center;border:1px dashed #cdd8e4;border-radius:22px;background:#fff}
.shop-empty b{font-size:20px}
.shop-empty p{max-width:520px;margin:0 0 8px;color:var(--muted);font-size:15px}
.shop-empty a:not(.button):not(.app-button){color:var(--red);font-weight:700}
.shop-empty>svg{width:30px;height:30px;color:var(--red)}
.shop-product{padding-top:32px}
.shop-back{display:inline-flex;align-items:center;gap:8px;margin-bottom:24px;color:var(--muted);font-size:14px;font-weight:650}
.shop-back svg{width:16px;height:16px}
.shop-product-grid{display:grid;grid-template-columns:minmax(0,1.05fr) minmax(0,1fr);gap:48px;align-items:start}
.shop-gallery{display:grid;gap:12px}
.shop-gallery-main{position:relative;aspect-ratio:1;display:grid;place-items:center;border:1px solid var(--line);border-radius:26px;background:#fff}
.shop-gallery-main img,.shop-thumbs img{object-fit:contain;padding:22px}
.shop-thumbs{display:grid;grid-template-columns:repeat(6,1fr);gap:10px}
.shop-thumbs span{position:relative;aspect-ratio:1;border:1px solid var(--line);border-radius:14px;background:#fff}
.shop-thumbs img{padding:6px}
.shop-details{display:grid;gap:16px}
.shop-details h1{margin:0;font-size:clamp(30px,3.4vw,44px);font-weight:640;line-height:1.08;letter-spacing:-.035em}
.shop-price{margin:0;font-size:26px;font-weight:720}
.shop-buy-form{display:grid;gap:14px;padding:22px;border:1px solid var(--line);border-radius:22px;background:#fff}
.shop-buy-form .app-field{font-size:13px}
.shop-buy-form .app-field select,.shop-buy-form .app-field input{min-height:50px;font-size:15px}
.shop-buy{width:100%}
.shop-buy:disabled{opacity:.7;cursor:progress;transform:none}
.shop-guest{display:grid;gap:12px;padding:18px;border:1px solid #f3c9cf;border-radius:18px;background:#fff8f9}
.shop-guest b{font-size:16px}
.shop-guest p{margin:0;color:var(--muted);font-size:14px;line-height:1.6}
.shop-check{display:flex;align-items:flex-start;gap:10px;font-size:14px}
.shop-check input{width:18px;height:18px;margin-top:2px;accent-color:var(--red)}
.shop-fineprint{display:flex;align-items:flex-start;gap:8px;margin:0;color:var(--muted);font-size:13px;line-height:1.55}
.shop-fineprint svg{width:15px;height:15px;flex:0 0 auto;margin-top:2px}
.shop-fineprint a,.shop-fineprint button{padding:0;color:var(--red);border:0;background:none;font-weight:700;cursor:pointer}
.shop-description{padding-top:8px;border-top:1px solid var(--line);color:#33475d;font-size:15px;line-height:1.7}
.shop-description p{margin:0 0 14px}
.product-shop-link{display:flex;justify-content:center;margin-top:36px}
/* Orders, in the account and in admin */
.shop-orders{display:grid;gap:14px}
.shop-order{display:grid;gap:14px;padding:20px}
.shop-order>header,.shop-order>footer{display:flex;align-items:flex-start;justify-content:space-between;gap:16px}
.shop-order h3{margin:4px 0 0;color:var(--navy);font-size:17px}
.shop-order>footer{padding-top:12px;border-top:1px solid #edf1f4;font-size:13px}
.shop-order>footer>span:first-child b{margin-left:6px;font-size:16px}
.shop-address{display:grid;justify-items:end;text-align:right}
.shop-address svg{width:16px;height:16px;color:var(--muted)}
.shop-address small{color:var(--muted)}
.shop-order-items{display:grid;gap:10px;margin:0;padding:0;list-style:none}
.shop-order-items li{display:flex;justify-content:space-between;gap:12px;font-size:13px}
.shop-order-items li>span:first-child{display:grid;gap:4px}
.shop-order-items small{color:var(--muted)}
.shop-order-items .shop-plan{font-size:11px;padding:3px 8px}
.shop-status{display:inline-flex;align-items:center;gap:6px;padding:6px 10px;border-radius:999px;font-size:12px;font-weight:720;white-space:nowrap}
.shop-status i{width:7px;height:7px;border-radius:50%;background:currentColor}
.shop-status.pending{color:#8a5a00;background:#fff4dc}
.shop-status.paid{color:#0b5c8c;background:#e5f2fb}
.shop-status.fulfilled{color:#087b59;background:#e6f6ef}
.shop-status.canceled{color:#6b7787;background:#eef2f6}
.shop-shipments{display:grid;gap:8px;margin:0;padding:0;list-style:none}
.shop-shipments li{display:flex;align-items:center;gap:10px;padding:10px 12px;border-radius:12px;background:var(--mist);font-size:13px}
.shop-shipments li>span{display:grid;flex:1}
.shop-shipments small{color:var(--muted)}
.shop-shipments svg{width:16px;height:16px;flex:0 0 auto}
.shop-shipments a{display:inline-flex;align-items:center;gap:5px;color:var(--red);font-weight:720;white-space:nowrap}
.shop-shipments a svg{width:13px;height:13px}
.shop-admin-item{display:grid;margin-bottom:8px}
.shop-admin-item:last-child{margin-bottom:0}
.admin-table .shop-admin-warning{color:var(--red);font-weight:700}
.admin-table td>small{display:block}
.admin-table .shop-shipments li{padding:7px 9px;font-size:11px}
.admin-table-toolbar select{min-height:42px;padding:0 12px;border:1px solid #d9e2ea;border-radius:11px;background:#fff;font:inherit;font-size:12px}
@media(max-width:900px){.shop-product-grid{grid-template-columns:1fr;gap:28px}}
@media(max-width:560px){.shop-page{padding-top:88px}.shop-hero{padding:32px 0 24px}.shop-hero p{font-size:15px}.shop-grid{grid-template-columns:1fr}.shop-thumbs{grid-template-columns:repeat(4,1fr)}.shop-buy-form{padding:16px}.shop-order>footer{flex-direction:column}.shop-address{justify-items:start;text-align:left}}
