/* Shop module only — loaded on /toko pages */
.shop-page{background:#fff;padding:24px 16px 72px}
.shop-page-inner{max-width:1000px;margin:0 auto}
.shop-page h1{color:var(--deep,#1875BA);font-size:28px;margin:0 0 12px}
.shop-lead{color:var(--g700,#58595B);line-height:1.6;max-width:720px;margin:0 0 28px}
.shop-empty{color:var(--g700,#58595B)}
.shop-subnav{display:flex;flex-wrap:wrap;gap:8px;margin:0 0 24px}
.shop-subnav a{
  display:inline-flex;align-items:center;height:36px;padding:0 14px;
  border:1px solid var(--g300,#E1E5EA);border-radius:8px;
  color:var(--navy,#0B3C5D);text-decoration:none;font-weight:600;font-size:14px
}
.shop-subnav a.is-current,.shop-subnav a:hover{background:var(--sky,#D4EDFA);border-color:#BCE3F7;color:var(--deep,#1875BA)}
.shop-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(220px,1fr));gap:20px}
.shop-card{border:1px solid var(--g300,#E1E5EA);border-radius:12px;padding:12px;background:#fff}
.shop-card-media{display:block;background:#fff;aspect-ratio:1/1;overflow:hidden;border-radius:8px}
.shop-card-media img{width:100%;height:100%;object-fit:contain}
.shop-card h2{font-size:15px;line-height:1.35;margin:10px 0 6px}
.shop-card h2 a{color:var(--navy,#0B3C5D);text-decoration:none}
.shop-price{font-size:18px;font-weight:700;color:var(--deep,#1875BA);margin:0 0 4px}
.shop-avail{display:inline-block;font-size:12px;font-weight:600;padding:2px 8px;border-radius:6px;margin:0 0 10px;background:#eef3f8}
.shop-avail--in_stock{background:#e5f6ea;color:#1b6b34}
.shop-avail--preorder{background:#fff4d6;color:#8a5a00}
.shop-add-form{display:flex;gap:8px;align-items:center;margin:0 0 8px}
.shop-add-form input[type=number]{width:64px;height:40px;border:1px solid var(--g300,#E1E5EA);border-radius:8px;padding:0 8px}
.shop-btn{
  display:inline-flex;align-items:center;justify-content:center;min-height:40px;padding:0 14px;
  background:var(--deep,#1875BA);color:#fff;border:0;border-radius:8px;font-weight:600;
  text-decoration:none;cursor:pointer;font-size:14px
}
.shop-btn:hover{background:var(--blue,#23A8E1);color:#fff}
.shop-btn:disabled{opacity:.55;cursor:not-allowed}
.shop-btn--ghost{background:#fff;color:var(--deep,#1875BA);border:1px solid var(--g300,#E1E5EA)}
.shop-specs{font-size:13px;color:var(--deep,#1875BA)}
.shop-cart-list{list-style:none;margin:0 0 20px;padding:0}
.shop-cart-row{display:grid;grid-template-columns:72px 1fr 72px auto;gap:12px;align-items:center;padding:12px 0;border-bottom:1px solid var(--g300,#E1E5EA)}
.shop-cart-row img{width:72px;height:72px;object-fit:contain;background:#fff}
.shop-cart-row input[type=number]{width:64px;height:40px;border:1px solid var(--g300,#E1E5EA);border-radius:8px;padding:0 8px}
.shop-total{font-size:18px;margin:16px 0}
.shop-actions{display:flex;flex-wrap:wrap;gap:10px}
.shop-checkout-form{display:grid;gap:12px;max-width:520px}
.shop-checkout-form label{display:grid;gap:6px;font-weight:600;color:var(--navy,#0B3C5D);font-size:14px}
.shop-checkout-form input,.shop-checkout-form textarea{
  font-weight:400;border:1px solid var(--g300,#E1E5EA);border-radius:8px;padding:10px 12px;font-family:inherit
}
.shop-price-note{font-size:13px;color:var(--g700,#58595B)}
.shop-msg{padding:10px 12px;border-radius:8px}
.shop-msg.is-ok{background:#e5f6ea;color:#1b6b34}
.shop-msg.is-err{background:#fde8e8;color:#8a1f1f}
@media (max-width:640px){
  .shop-cart-row{grid-template-columns:64px 1fr; }
  .shop-cart-row input,.shop-cart-row .shop-btn{grid-column:1 / -1}
}
