/* Rev16.10.6 — Dashboard Mitra Lapak, Profil Toko publik (/toko/{slug}), tautan toko di kartu produk. Melengkapi style.css (tidak menimpa aturan lama). */
.btn.light{background:#fff;color:var(--ink)!important;border:1px solid var(--line)}
.btn.light:hover{background:#f8f5f1}
.btn[disabled],.btn[aria-busy="true"]{opacity:.55;cursor:not-allowed}
.field-error{color:#b91c1c;font-size:13px;font-weight:600;margin:-8px 0 12px}
[aria-invalid="true"]{border-color:#dc2626!important;box-shadow:0 0 0 3px rgba(220,38,38,.12)}

/* ---- kerangka dashboard Mitra Lapak ---- */
.seller-shell{display:grid;grid-template-columns:210px minmax(0,1fr);gap:22px;align-items:start}
.seller-nav{position:sticky;top:86px;display:flex;flex-direction:column;gap:4px;background:var(--card);border:1px solid var(--line);border-radius:16px;padding:10px;box-shadow:var(--shadow)}
.seller-nav a{display:flex;align-items:center;gap:8px;padding:9px 10px;border-radius:10px;font-weight:700;color:#374151;white-space:nowrap}
.seller-nav a:hover,.seller-nav a.on{background:var(--orange-soft,#fff2e6);color:var(--orange2)}
.seller-nav .nav-count{margin-left:auto;font-size:12px;background:#f3f4f6;border-radius:999px;padding:1px 8px;color:#374151}
.seller-main{min-width:0}
/* Rev16.10.6b: kepala halaman Mitra (setiap menu = halaman sendiri) */
.seller-pagehead{margin:0 0 16px}.seller-pagehead h1{margin:2px 0 4px;font-size:clamp(24px,3.2vw,32px);letter-spacing:-.03em;line-height:1.15}
.seller-pagehead p{margin:0}.section-head.seller-pagehead{display:block;margin-top:0}
.seller-nav a[aria-current="page"]{background:var(--orange-soft,#fff2e6);color:var(--orange2);box-shadow:inset 3px 0 0 var(--orange)}
.sd-visits{margin:0 0 16px}
.seller-section{scroll-margin-top:90px;margin:0 0 22px}
.seller-section h2,.seller-section [id]{scroll-margin-top:90px}
.seller-head{display:flex;justify-content:space-between;align-items:center;gap:12px;flex-wrap:wrap;margin-bottom:12px}
.seller-head h2{margin:0;font-size:22px;letter-spacing:-.02em}
.sd-tiles{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;margin-bottom:16px}
.sd-tile{display:flex;flex-direction:column;gap:2px;background:var(--card);border:1px solid var(--line);border-radius:14px;padding:14px;min-width:0;font-size:13px;color:#4b5563}
a.sd-tile:hover{border-color:var(--orange)}
.sd-num{font-size:26px;font-weight:900;color:var(--ink);line-height:1.1;overflow-wrap:anywhere}.sd-num small{font-size:14px;color:var(--muted);font-weight:700}.sd-num.sm{font-size:18px}
.sd-tile.ok .sd-num{color:var(--green)}.sd-tile.warn .sd-num{color:#b45309}.sd-tile.mute .sd-num{color:#6b7280}

/* ---- Produk Saya ---- */
.sp-filter{display:grid;grid-template-columns:minmax(0,1fr) 190px auto;gap:10px;align-items:end;margin-bottom:6px}
.sp-filter input,.sp-filter select{margin-top:0}
.sp-hint{margin:6px 0 14px}
.sp-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(250px,1fr));gap:14px}
.sp-card{display:flex;flex-direction:column;border:1px solid var(--line);border-radius:14px;background:#fff;overflow:hidden;min-width:0}
.sp-card.is-oos{border-color:#f59e0b}
.sp-thumb{position:relative;aspect-ratio:4/3;background:linear-gradient(135deg,#ffedd5,#dcfce7);display:grid;place-items:center;font-size:40px;overflow:hidden}
.sp-thumb img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
.sp-card.is-oos .sp-thumb img{filter:grayscale(.6);opacity:.75}
.sp-badge{position:absolute;top:8px;left:8px;font-size:12px;font-weight:800;border-radius:999px;padding:3px 10px;background:#fff;border:1px solid var(--line);letter-spacing:.02em}
.sp-badge.ok{background:#dcfce7;color:#166534;border-color:#bbf7d0}.sp-badge.warn{background:#b45309;color:#fff;border-color:#b45309}
.sp-badge.mute{background:#f3f4f6;color:#374151}.sp-badge.bad{background:#fee2e2;color:#991b1b;border-color:#fecaca}
.sp-body{padding:10px 12px 4px;display:flex;flex-direction:column;gap:2px}
.sp-name{margin:0;font-size:15px;line-height:1.3;overflow-wrap:anywhere}
.sp-price{font-weight:900;color:var(--orange2)}
.sp-meta{font-size:13px;color:#4b5563}.sp-stock{font-weight:700}.sp-stock.warn{color:#b45309}
.sp-push{color:#4b5563}
.sp-actions{display:flex;flex-wrap:wrap;gap:6px;align-items:center;padding:8px 12px 12px;margin-top:auto}
.sp-actions form{margin:0}
.sp-actions .link{background:none;border:0;padding:6px;cursor:pointer;font-weight:700;font-size:13px}
form.sp-stock{border-top:1px dashed var(--line);padding:10px 12px}
form.sp-stock fieldset{border:0;padding:0;margin:0 0 8px}
form.sp-stock label.check{display:inline-flex;gap:6px;align-items:center;margin:0 12px 6px 0;font-weight:600}
form.sp-stock label.check input{width:auto;margin:0}
.sp-msg{margin:0 12px 8px;min-height:0}.sp-msg:empty{display:none}
.sp-msg.ok{color:#166534}.sp-msg.err{color:#b91c1c}

/* ---- Form produk berkelompok ---- */
.pform .pf-group{border:1px solid var(--line);border-radius:14px;padding:14px 16px 6px;margin:0 0 14px;background:#fffdfb;min-width:0}
.pform .pf-group legend{font-weight:800;padding:0 6px;display:flex;align-items:center;gap:8px}
.pform .pf-group legend span{display:inline-grid;place-items:center;width:24px;height:24px;border-radius:50%;background:var(--orange);color:#fff;font-size:13px}
.stock-choice{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin-bottom:12px}
.stock-choice .choice{display:flex;gap:10px;align-items:flex-start;border:1px solid var(--line);border-radius:12px;padding:12px;cursor:pointer;margin:0;background:#fff}
.stock-choice .choice input{width:auto;margin:3px 0 0}
.stock-choice .choice span{display:flex;flex-direction:column;gap:2px}.stock-choice small{font-weight:500;color:var(--muted);font-size:13px;line-height:1.4}
.stock-choice .choice:has(input:checked){border-color:var(--orange);box-shadow:0 0 0 3px rgba(249,115,22,.15)}
.pf-preview{display:flex;flex-wrap:wrap;gap:8px;margin:-6px 0 12px}
.pf-preview figure{margin:0;width:84px}.pf-preview img{width:84px;height:84px;object-fit:cover;border-radius:10px;border:1px solid var(--line);display:block}
.pf-preview figcaption{font-size:11px;color:var(--muted);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.pf-submit{position:sticky;bottom:0;background:linear-gradient(180deg,rgba(255,255,255,0),#fff 35%);padding:12px 0 4px;display:flex;gap:8px}

/* ---- Profil Toko (dashboard) ---- */
.store-preview{display:flex;gap:14px;align-items:flex-start;border:1px solid var(--line);border-radius:14px;padding:14px;margin-bottom:12px;background:#fffdfb}
.store-avatar,.store-logo{flex:0 0 auto;width:64px;height:64px;border-radius:16px;overflow:hidden;display:grid;place-items:center;background:linear-gradient(135deg,var(--orange),var(--orange2));color:#fff;font-weight:900;font-size:28px}
.store-avatar img,.store-logo img{width:100%;height:100%;object-fit:cover;display:block}
.store-desc-prev{margin:6px 0 0;overflow-wrap:anywhere}
.copy-row{display:flex;gap:8px;margin-top:6px}.copy-row input{margin-top:0;min-width:0;flex:1}
.store-actions{flex-wrap:wrap;gap:8px;margin-bottom:6px}
.store-form{margin-top:12px}

/* ---- Profil Toko publik ---- */
.store-hero{display:flex;gap:20px;align-items:flex-start;background:var(--card);border:1px solid var(--line);border-radius:20px;padding:22px;box-shadow:var(--shadow);margin:8px 0 18px}
.store-hero .store-logo{width:96px;height:96px;border-radius:22px;font-size:42px}
.store-id{min-width:0;flex:1}.store-id h1{margin:4px 0 2px;font-size:clamp(26px,4vw,38px);letter-spacing:-.03em;line-height:1.1;overflow-wrap:anywhere}
.store-meta{margin:0 0 8px}.store-desc{margin:0 0 12px;max-width:760px;overflow-wrap:anywhere}
.store-share{display:flex;flex-wrap:wrap;gap:8px;align-items:center}
.store-cats{display:flex;gap:8px;overflow-x:auto;padding:2px 2px 10px;margin-bottom:6px;-webkit-overflow-scrolling:touch}
.store-cats a{flex:0 0 auto;border:1px solid var(--line);border-radius:999px;padding:7px 14px;background:#fff;font-weight:700;font-size:14px;white-space:nowrap}
.store-cats a span{color:var(--muted);font-weight:600;margin-left:4px}
.store-cats a.on{background:var(--ink);color:#fff;border-color:var(--ink)}.store-cats a.on span{color:#d1d5db}
.store-search{display:flex;gap:10px;align-items:center;margin:4px 0 8px}.store-search .grow{flex:1 1 auto;max-width:560px}.store-search label{margin:0}.store-search input{margin-top:0}
.store-back{margin-top:24px}.store-back a{color:var(--green);font-weight:700}
.unavailable{max-width:640px;margin:40px auto;text-align:center}.unavailable .inline{justify-content:center;flex-wrap:wrap}

/* ---- Tautan toko pada kartu produk & detail ---- */
.card.product .product-link{display:flex;flex-direction:column;flex:1;color:inherit}
.product-shop{display:block;padding:0 18px 14px;margin-top:-10px;color:var(--green);font-weight:700;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.product-shop:hover,.pick-shop:hover,.store-visit:hover{text-decoration:underline}
.pick-item{display:flex;flex-direction:column;min-width:0;gap:4px}
.pick-item .pick-card{flex:1}
.pick-shop{display:block;font-size:12px;font-weight:700;color:var(--green);padding:0 4px 2px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.store-line{display:flex;flex-wrap:wrap;gap:6px 10px;align-items:center;margin:0 0 6px}
.store-chip{display:inline-flex;align-items:center;gap:6px;font-weight:800;color:var(--green);border:1px solid #bbf7d0;background:#f0fdf4;border-radius:999px;padding:4px 12px}
.store-visit{color:var(--green);font-weight:700}

@media(max-width:900px){
 .seller-shell{grid-template-columns:minmax(0,1fr);gap:12px}
 .seller-nav{top:64px;z-index:5;flex-direction:row;overflow-x:auto;padding:6px;border-radius:14px;-webkit-overflow-scrolling:touch}
 .seller-nav a{flex:0 0 auto;padding:8px 10px;font-size:14px}
 .seller-nav a[aria-current="page"]{box-shadow:inset 0 -3px 0 var(--orange)}
 .seller-nav{scrollbar-width:none}.seller-nav::-webkit-scrollbar{display:none}
 .sd-tiles{grid-template-columns:repeat(2,minmax(0,1fr))}
}
@media(max-width:640px){
 .sp-filter{grid-template-columns:minmax(0,1fr) minmax(0,1fr)}.sp-filter input{grid-column:1/-1}
 .sp-grid{grid-template-columns:minmax(0,1fr)}
 .stock-choice{grid-template-columns:minmax(0,1fr)}
 .store-hero{flex-direction:column;padding:16px;gap:12px}.store-hero .store-logo{width:72px;height:72px;font-size:32px}
 .store-search{flex-wrap:wrap}.store-search .grow{flex:1 1 100%}
 .pform .pf-group{padding:12px 12px 4px}
 .sd-num{font-size:22px}
}
/* atribut hidden harus menang atas label{display:block} di style.css */
[data-stock-qty][hidden],form[data-stock-form][hidden],[data-photo-preview]:empty{display:none!important}
