/* Shop: builds on portal.css (same tokens, buttons, forms and panels). */
.shop-hero{padding:70px 5vw 40px;background:radial-gradient(ellipse at 70% 0%,#c8a76c18,transparent 60%);border-bottom:1px solid var(--edge);position:relative;overflow:hidden}
.shop-hero h1{max-width:12ch}
.shop-hero .lede{max-width:46ch;font-size:16px;margin-bottom:0}
.shop-hero .editorial-number{bottom:-30px}
.chips{display:flex;gap:8px;flex-wrap:wrap;margin-top:34px}
.chip{border:1px solid var(--edge);background:transparent;color:var(--muted);padding:9px 16px;font-size:11px;letter-spacing:.12em;text-transform:uppercase;font-weight:700;border-radius:999px}
.chip:hover{color:var(--cream);border-color:var(--gold)}
.chip.on{background:var(--gold);border-color:var(--gold);color:var(--bg)}
.shop-body{padding:40px 5vw 70px;max-width:1400px;margin:auto}
.product-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(250px,1fr));gap:22px}
.product-card{display:flex;flex-direction:column;background:var(--panel);border:1px solid var(--edge);min-width:0;transition:border-color .25s,transform .25s}
.product-card:hover{border-color:var(--gold);transform:translateY(-4px)}
.cover{aspect-ratio:1;background:linear-gradient(135deg,#1d2126,#101317);display:grid;place-items:center;overflow:hidden;position:relative}
.cover img{width:100%;height:100%;object-fit:cover;display:block}
.cover .mono{font:64px Anton;color:#c8a76c40;letter-spacing:-.03em}
.cover .tag{position:absolute;top:12px;left:12px;background:#0b0d10d9;border:1px solid var(--edge);color:var(--cream);font-size:9px;letter-spacing:.16em;text-transform:uppercase;font-weight:700;padding:5px 9px}
.cover .off{position:absolute;top:12px;right:12px;background:var(--gold);color:var(--bg);font-size:10px;font-weight:700;padding:5px 9px}
.product-info{padding:20px;display:flex;flex-direction:column;gap:10px;flex:1}
.product-info h3{margin:0;font-size:16px;color:var(--text)}
.product-info p{margin:0;font-size:12px}
.price{display:flex;align-items:baseline;gap:10px;margin-top:auto;padding-top:8px}
.price strong{font:28px Anton;color:var(--cream);letter-spacing:.02em}
.price s{color:var(--muted);font-size:13px}
.price .free{color:#a4d3b4}
.product-detail{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.1fr);gap:50px;align-items:start}
.product-detail .cover{border:1px solid var(--edge)}
.product-detail h1{font-size:clamp(38px,5vw,64px);margin-bottom:14px}
.product-detail .price strong{font-size:44px}
.desc{white-space:pre-line;color:var(--muted);font-size:14px;margin:22px 0}
.includes{list-style:none;padding:0;margin:0 0 26px;display:grid;gap:9px}
.includes li{font-size:13px;color:var(--text);padding-left:24px;position:relative}
.includes li:before{content:"✓";position:absolute;left:0;color:var(--gold)}
.buy-box{border:1px solid var(--edge);background:var(--panel);padding:24px;margin-top:10px}
.buy-box .button{width:100%}
.buy-box .google{margin:12px 0 0}
.back-link{display:inline-block;color:var(--gold);font-size:12px;margin-bottom:26px}
.order-steps{counter-reset:s;list-style:none;padding:0;margin:16px 0;display:grid;gap:10px}
.order-steps li{counter-increment:s;font-size:12px;color:var(--muted);padding-left:30px;position:relative}
.order-steps li:before{content:counter(s);position:absolute;left:0;top:-1px;width:20px;height:20px;border:1px solid var(--gold);border-radius:50%;display:grid;place-items:center;color:var(--gold);font-size:10px}
.whatsapp{background:#1f8f4e;border-color:#1f8f4e;color:#fff}
.whatsapp:hover{background:#27a85d}
.status.paid{border-color:#94c4a450;color:#a4d3b4}
.status.cancelled{color:var(--red);border-color:#efa59c40}
.thumb{width:64px;height:64px;flex-shrink:0;object-fit:cover;border:1px solid var(--edge);background:#101317}
.purchase{display:flex;gap:18px;align-items:flex-start}
.purchase>div{flex:1;min-width:0}
.admin-product{display:flex;gap:18px;align-items:center}
.admin-product>div{flex:1;min-width:0}
.hidden-tag{font-size:10px;color:var(--red);margin-left:8px}
.image-field{display:flex;gap:18px;align-items:center;flex-wrap:wrap}
.image-field img,.image-field .thumb{width:110px;height:110px}
.guide ol{padding-left:20px;color:var(--muted);font-size:13px}
.guide li{margin-bottom:10px}
.guide b{color:var(--text)}
.guide h3{color:var(--cream);margin-top:26px}
.empty-shop{text-align:center;padding:70px 20px;border:1px dashed var(--edge)}
.empty-shop h2{font-size:38px}
@media(max-width:800px){.product-detail{grid-template-columns:1fr;gap:28px}.shop-hero{padding:50px 20px 30px}.shop-body{padding:30px 20px 60px}}
@media(max-width:650px){.product-grid{grid-template-columns:1fr 1fr;gap:12px}.product-info{padding:14px}.product-info h3{font-size:14px}.price strong{font-size:22px}.cover .mono{font-size:44px}.chips{gap:6px}.chip{padding:8px 12px;font-size:10px}.portal-header nav a.back{display:none}}
@media(max-width:340px){.product-grid{grid-template-columns:1fr}}
.narrow{max-width:470px}
.gold-link{color:var(--gold)}
.signout{margin-top:30px}
.record-meta.tight{margin:6px 0 0}
.warn{color:var(--red)!important}
.file-input{max-width:320px}
.check.inline{margin:0}
.linkish{background:none;border:0;padding:0;color:var(--muted);text-decoration:underline;font-size:11px}
.linkish:hover{color:var(--cream)}
