/* ===== 羽山的小賣部 Shop CSS ===== */

/* ── 全域 ──────────────────────────────────────── */
body { background:#f0f4f8; font-family:"Noto Sans TC","PingFang TC","Microsoft JhengHei",sans-serif; }

/* ── Navbar ─────────────────────────────────────── */
.bid-nav {
  background:#fff;
  box-shadow: 0 2px 12px rgba(0,0,0,0.08);
  padding:0 20px;
  position:sticky; top:0; z-index:1000;
}
.bid-nav-inner {
  display:flex; align-items:center; justify-content:space-between;
  max-width:1280px; margin:0 auto; height:64px;
}
.bid-brand {
  font-size:22px; font-weight:700; color:#1a56db; text-decoration:none; letter-spacing:1px;
  display:flex; align-items:center; gap:8px;
}
.bid-brand:hover { color:#1a56db; text-decoration:none; }
.bid-3wa-logo {
  display: inline-flex; align-items: center;
  margin-right: 10px;
  transition: opacity .2s;
}
.bid-3wa-logo img { height: 26px; width: auto; display: block; }
.bid-3wa-logo:hover { opacity: 0.75; }
.bid-brand .brand-icon { font-size:26px; }
.bid-nav-right { display:flex; align-items:center; gap:12px; }
.bid-cart-btn {
  position:relative; background:#fff; border:2px solid #1a56db; color:#1a56db;
  border-radius:50px; padding:6px 18px 6px 12px; font-size:15px; font-weight:600;
  text-decoration:none; transition:.2s;
}
.bid-cart-btn:hover { background:#1a56db; color:#fff; text-decoration:none; }
.bid-cart-badge {
  position:absolute; top:-8px; right:-8px; background:#e53935; color:#fff;
  border-radius:50%; width:20px; height:20px; font-size:11px; line-height:20px;
  text-align:center; font-weight:700;
  display:none;
}
.bid-cart-badge.has-items { display:block; }
.bid-admin-link { font-size:13px; color:#6b7280; text-decoration:none; }
.bid-admin-link:hover { color:#1a56db; }

/* ── Hero ────────────────────────────────────────── */
.bid-hero {
  background: linear-gradient(135deg, #1a56db 0%, #7c3aed 60%, #db2777 100%);
  color:#fff; padding:60px 20px 50px; text-align:center;
}
.bid-hero h1 { font-size:2.4rem; font-weight:700; letter-spacing:2px; margin-bottom:8px; }
.bid-hero p  { font-size:1.1rem; opacity:.9; margin-bottom:0; }

/* ── 篩選 & 搜尋 ─────────────────────────────────── */
.bid-filter-bar {
  max-width:1280px; margin:28px auto 0; padding:0 16px;
  display:flex; flex-wrap:wrap; align-items:center; gap:10px;
}
.bid-pill {
  border-radius:50px; padding:5px 18px; font-size:13px; font-weight:600;
  border:2px solid #c7d2fe; background:#fff; color:#3730a3; cursor:pointer;
  text-decoration:none; transition:.15s;
}
.bid-pill:hover, .bid-pill.active, .bid-pill-active {
  background:#1a56db; color:#fff; border-color:#1a56db; text-decoration:none;
}
.bid-pill-active {
  border-radius:50px; padding:5px 18px; font-size:13px; font-weight:600;
  border:2px solid #1a56db; background:#1a56db; color:#fff; cursor:pointer;
  text-decoration:none; display:inline-block;
}
.bid-pill-active:hover { color:#fff; text-decoration:none; }
.bid-search-wrap { display:flex; gap:0; margin-left:auto; flex:0 1 360px; min-width:300px; }
.bid-search-wrap input {
  border:2px solid #c7d2fe; border-right:none; border-radius:50px 0 0 50px;
  padding:7px 14px; font-size:14px; width:100%; outline:none; min-width:0;
}
.bid-search-wrap input:focus { border-color:#1a56db; }
.bid-search-wrap button {
  border:2px solid #1a56db; background:#1a56db; color:#fff;
  border-radius:0 50px 50px 0; padding:7px 22px; font-size:14px; cursor:pointer;
  white-space:nowrap; flex:0 0 auto;
}
@media(max-width:768px){
  .bid-search-wrap { margin-left:0; flex:1 1 100%; min-width:0; }
}

/* ── 商品 Grid ───────────────────────────────────── */
.bid-grid {
  max-width:1280px; margin:24px auto 40px; padding:0 16px;
  display:grid; grid-template-columns:repeat(3,1fr); gap:22px;
}
@media(max-width:900px){ .bid-grid{ grid-template-columns:repeat(2,1fr); } }
@media(max-width:580px){ .bid-grid{ grid-template-columns:1fr; } }

.bid-card {
  background:#fff; border-radius:14px; overflow:hidden;
  box-shadow:0 2px 14px rgba(0,0,0,0.07); transition:.25s;
  display:flex; flex-direction:column;
}
.bid-card:hover { box-shadow:0 6px 28px rgba(26,86,219,0.15); transform:translateY(-3px); }
.bid-card-img-wrap {
  position:relative; width:100%; padding-top:75%; overflow:hidden; background:#f1f5f9;
}
.bid-card-img-wrap img {
  position:absolute; top:0; left:0; width:100%; height:100%; object-fit:cover; transition:.3s;
}
.bid-card:hover .bid-card-img-wrap img { transform:scale(1.04); }
.bid-card-no-img {
  position:absolute; top:0; left:0; width:100%; height:100%;
  display:flex; align-items:center; justify-content:center; font-size:52px; color:#cbd5e1;
}
.bid-kind-badge {
  position:absolute; top:10px; left:10px; background:rgba(26,86,219,0.85); color:#fff;
  border-radius:50px; padding:2px 10px; font-size:11px; font-weight:600;
}

.bid-card-body { padding:14px 16px 16px; flex:1; display:flex; flex-direction:column; }
.bid-card-title { font-size:15px; font-weight:700; color:#1e293b; margin:0 0 8px; line-height:1.4;
  display:-webkit-box; -webkit-line-clamp:2; -webkit-box-orient:vertical; overflow:hidden; }
.bid-card-price-wrap { margin-bottom:10px; }
.bid-price-normal { font-size:18px; font-weight:700; color:#1a56db; }
.bid-price-special { font-size:18px; font-weight:700; color:#e53935; }
.bid-price-orig    { font-size:13px; color:#9ca3af; margin-right:6px; }

.bid-card-foot { margin-top:auto; display:flex; align-items:center; justify-content:space-between; }
.bid-stock     { font-size:12px; font-weight:600; padding:2px 8px; border-radius:4px; }
.in-stock      { background:#d1fae5; color:#065f46; }
.low-stock     { background:#fef3c7; color:#92400e; }
.sold-out      { background:#fee2e2; color:#991b1b; }

.bid-btn-detail {
  background: linear-gradient(135deg,#1a56db,#7c3aed); color:#fff; border:none;
  border-radius:50px; padding:6px 18px; font-size:13px; font-weight:600;
  text-decoration:none; transition:.2s; white-space:nowrap;
}
.bid-btn-detail:hover { opacity:.88; color:#fff; text-decoration:none; }

.bid-btn-cart {
  background: linear-gradient(135deg,#f59e0b,#ef4444); color:#fff; border:none;
  border-radius:50px; padding:8px 22px; font-size:14px; font-weight:700;
  cursor:pointer; transition:.2s; width:100%; margin-top:8px;
}
.bid-btn-cart:hover { opacity:.88; }
.bid-btn-cart:disabled { background:#cbd5e1; cursor:not-allowed; }

/* ── 最新消息 ─────────────────────────────────────── */
.bid-section {
  max-width:1280px; margin:0 auto 40px; padding:0 16px;
}
.bid-section-title {
  font-size:1.3rem; font-weight:700; color:#1e293b;
  border-left:5px solid #1a56db; padding-left:12px; margin-bottom:16px;
}
.bid-news-list { list-style:none; padding:0; margin:0; }
.bid-news-list li {
  background:#fff; border-radius:10px; padding:12px 16px; margin-bottom:8px;
  box-shadow:0 1px 6px rgba(0,0,0,0.06); cursor:pointer;
  display:flex; align-items:flex-start; justify-content:space-between;
}
.bid-news-title { font-weight:600; color:#1e293b; flex:1; }
.bid-news-date  { font-size:12px; color:#9ca3af; white-space:nowrap; margin-left:12px; }
.bid-news-body  { display:none; margin-top:8px; color:#374151; line-height:1.6; font-size:14px; }

/* ── 聯絡我們 ─────────────────────────────────────── */
.bid-contact {
  background:#fff; border-radius:14px; padding:24px 28px;
  box-shadow:0 2px 12px rgba(0,0,0,0.06);
}
.bid-contact-item { display:flex; align-items:center; gap:10px; margin-bottom:10px; font-size:15px; color:#374151; }
.bid-contact-icon { font-size:20px; }

/* ── Footer ──────────────────────────────────────── */
.bid-footer {
  background:#1e293b; color:#94a3b8; text-align:center;
  padding:24px; font-size:13px; margin-top:40px;
}
.bid-footer a { color:#7c3aed; text-decoration:none; }

/* ── 商品詳情頁 ───────────────────────────────────── */
.bid-item-wrap { max-width:1100px; margin:30px auto; padding:0 16px; }
.bid-item-gallery { }
.bid-main-img-wrap { border-radius:12px; overflow:hidden; background:#f1f5f9; aspect-ratio:4/3; }
.bid-main-img-wrap img, .bid-main-img-wrap video {
  width:100%; height:100%; object-fit:contain;
}
.bid-thumb-list { display:flex; gap:8px; margin-top:10px; flex-wrap:wrap; }
.bid-thumb {
  width:70px; height:70px; border-radius:8px; overflow:hidden;
  cursor:pointer; border:2px solid #e2e8f0; transition:.15s;
  background:#f1f5f9; flex-shrink:0;
}
.bid-thumb:hover, .bid-thumb.active { border-color:#1a56db; }
.bid-thumb img, .bid-thumb video { width:100%; height:100%; object-fit:cover; }
.bid-item-info { }
.bid-item-title { font-size:1.6rem; font-weight:700; color:#1e293b; margin-bottom:8px; }
.bid-item-kind  { margin-bottom:14px; }
.bid-item-price-wrap { margin:16px 0; }
.bid-item-price-wrap .bid-price-special { font-size:2rem; }
.bid-item-price-wrap .bid-price-normal  { font-size:2rem; }
.bid-item-price-wrap .bid-price-orig    { font-size:1rem; }
.bid-qty-wrap { display:flex; align-items:center; gap:10px; margin:16px 0; }
.bid-qty-btn  {
  width:34px; height:34px; border-radius:50%; border:2px solid #cbd5e1;
  background:#fff; font-size:18px; line-height:30px; text-align:center;
  cursor:pointer; font-weight:700; transition:.15s;
}
.bid-qty-btn:hover { border-color:#1a56db; color:#1a56db; }
.bid-qty-input {
  width:56px; text-align:center; border:2px solid #e2e8f0; border-radius:8px;
  font-size:16px; padding:4px; font-weight:700;
}
.bid-item-desc { margin-top:20px; line-height:1.8; color:#374151; font-size:15px; }
.bid-related { max-width:1100px; margin:0 auto 40px; padding:0 16px; }
.bid-item-trust {
  border:1px solid #e2e8f0; border-radius:8px; background:#fff; overflow:hidden;
}
.bid-item-trust h5 {
  margin:0; padding:12px 14px; border-bottom:1px solid #e2e8f0;
  font-size:1rem; font-weight:800; color:#0f172a; background:#f8fafc;
}
.bid-item-trust-row {
  display:grid; grid-template-columns:92px minmax(0,1fr); gap:12px;
  padding:10px 14px; border-bottom:1px solid #eef2f7; font-size:14px;
}
.bid-item-trust-row:last-child { border-bottom:none; }
.bid-item-trust-row b { color:#475569; }
.bid-item-trust-row span { color:#0f172a; line-height:1.6; }

/* ── 購物車 ──────────────────────────────────────── */
.bid-cart-wrap { max-width:960px; margin:30px auto; padding:0 16px; }
.bid-cart-table { width:100%; border-collapse:collapse; }
.bid-cart-table th { background:#f1f5f9; padding:10px 14px; font-weight:700; color:#1e293b; font-size:14px; }
.bid-cart-table td { padding:12px 14px; border-bottom:1px solid #f1f5f9; vertical-align:middle; }
.bid-cart-table tr:last-child td { border-bottom:none; }
.bid-cart-img { width:60px; height:60px; object-fit:cover; border-radius:8px; }
.bid-cart-no-img { width:60px; height:60px; background:#f1f5f9; border-radius:8px; display:flex; align-items:center; justify-content:center; font-size:24px; }
.bid-cart-total-row { background:#f8faff; font-size:18px; font-weight:700; color:#1a56db; }
.bid-cart-empty { text-align:center; padding:60px 20px; color:#9ca3af; }
.bid-cart-empty .empty-icon { font-size:64px; margin-bottom:16px; }
.bid-cart-page {
  max-width:1120px; margin:0 auto; padding:28px 16px 8px;
}
.bid-cart-head {
  display:flex; align-items:flex-end; justify-content:space-between; gap:16px;
  margin-bottom:18px;
}
.bid-cart-kicker {
  color:#64748b; font-size:12px; font-weight:700; text-transform:uppercase;
}
.bid-cart-title {
  color:#0f172a; font-size:1.65rem; font-weight:800; margin:2px 0 0;
}
.bid-cart-layout {
  display:grid; grid-template-columns:minmax(0,1fr) 320px; gap:18px; align-items:start;
}
.bid-cart-main { display:flex; flex-direction:column; gap:18px; min-width:0; }
.bid-cart-panel {
  background:#fff; border:1px solid #e2e8f0; border-radius:8px;
  box-shadow:0 10px 28px rgba(15,23,42,0.06);
}
.bid-cart-panel-head {
  display:flex; align-items:center; justify-content:space-between; gap:12px;
  padding:16px 18px; border-bottom:1px solid #e2e8f0;
}
.bid-cart-panel-head h4,
.bid-cart-summary-box h4 {
  margin:0; color:#0f172a; font-size:1.05rem; font-weight:800;
}
.bid-cart-panel-head span {
  color:#64748b; font-size:13px; font-weight:600; white-space:nowrap;
}
#checkout-form { padding:20px 18px; }
.bid-cart-table-wrap { overflow-x:auto; }
.bid-cart-lines { min-width:680px; }
.bid-cart-lines thead th {
  color:#64748b; font-size:12px; font-weight:800; background:#f8fafc;
  border-bottom:1px solid #e2e8f0; padding:10px 14px; white-space:nowrap;
}
.bid-cart-lines tbody td {
  padding:14px; border-bottom:1px solid #eef2f7; vertical-align:middle;
}
.bid-cart-lines tbody tr:last-child td { border-bottom:none; }
.bid-cart-lines tbody tr.is-updating { opacity:.62; }
.bid-cart-product {
  display:flex; align-items:center; gap:12px; min-width:260px;
}
.bid-cart-product img,
.bid-cart-product-noimg {
  width:64px; height:64px; border-radius:8px; flex:0 0 auto;
}
.bid-cart-product img { object-fit:cover; background:#f1f5f9; }
.bid-cart-product-noimg {
  display:flex; align-items:center; justify-content:center;
  background:#f1f5f9; color:#94a3b8; font-size:12px; font-weight:700;
}
.bid-cart-product-meta { min-width:0; }
.bid-cart-product-meta a {
  display:block; color:#0f172a; font-weight:800; line-height:1.35;
  text-decoration:none;
}
.bid-cart-product-meta a:hover { color:#1a56db; }
.bid-cart-product-meta span {
  display:block; color:#64748b; font-size:12px; margin-top:4px;
}
.bid-cart-qty {
  display:grid; grid-template-columns:34px 48px 34px; width:116px;
  border:1px solid #cbd5e1; border-radius:8px; overflow:hidden; background:#fff;
}
.bid-cart-qty button,
.bid-cart-qty input {
  height:34px; border:0; background:#fff; color:#0f172a; text-align:center;
}
.bid-cart-qty button {
  font-weight:800; cursor:pointer; transition:.15s;
}
.bid-cart-qty button:hover:not(:disabled) { background:#eff6ff; color:#1a56db; }
.bid-cart-qty button:disabled { color:#cbd5e1; cursor:not-allowed; }
.bid-cart-qty input {
  border-left:1px solid #e2e8f0; border-right:1px solid #e2e8f0;
  font-weight:800; outline:none;
}
.bid-cart-price { color:#475569; font-weight:700; white-space:nowrap; }
.bid-cart-subtotal { color:#0f172a; font-weight:800; white-space:nowrap; }
.bid-cart-remove-cell { width:42px; text-align:right; }
.btn-remove {
  width:32px; height:32px; border:1px solid #fecaca; border-radius:8px;
  background:#fff; color:#dc2626; font-size:18px; line-height:1; font-weight:700;
}
.btn-remove:hover { background:#fef2f2; border-color:#ef4444; }
.bid-cart-summary { position:sticky; top:84px; }
.bid-cart-summary-box { padding:18px; }
.bid-summary-row {
  display:flex; justify-content:space-between; gap:12px;
  padding:12px 0; border-bottom:1px solid #eef2f7; color:#475569; font-size:14px;
}
.bid-summary-row b { color:#0f172a; font-weight:800; text-align:right; }
.bid-summary-note {
  margin:12px 0; padding:10px 12px; border-radius:8px;
  background:#f8fafc; color:#64748b; font-size:13px; line-height:1.5;
}
.bid-summary-total {
  display:flex; align-items:flex-end; justify-content:space-between; gap:12px;
  margin:14px 0 16px; padding-top:12px; border-top:2px solid #e2e8f0;
}
.bid-summary-total span { color:#0f172a; font-weight:800; }
.bid-summary-total strong { color:#1a56db; font-size:1.45rem; line-height:1; }
.bid-shipping-list { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:10px; }
.bid-shipping-opt span { display:block; min-width:0; }
.bid-shipping-opt b { display:block; color:#0f172a; font-size:14px; line-height:1.35; }
.bid-shipping-opt .small { display:block; color:#64748b; font-size:12px; margin-top:2px; }
.bid-cart-empty-state {
  background:#fff; border:1px solid #e2e8f0; border-radius:8px;
  padding:56px 24px; text-align:center; box-shadow:0 10px 28px rgba(15,23,42,0.06);
}
.bid-cart-empty-icon {
  width:56px; height:56px; margin:0 auto 14px; border-radius:50%;
  display:flex; align-items:center; justify-content:center;
  background:#eff6ff; color:#1a56db; font-weight:900;
}
.bid-cart-empty-state h4 { margin:0 0 8px; color:#0f172a; font-weight:800; }
.bid-cart-empty-state p { margin:0 0 18px; color:#64748b; }
.bid-checkout-success {
  border:1px solid #bbf7d0; border-radius:8px; box-shadow:0 10px 28px rgba(15,23,42,0.06);
}
@media(max-width:980px){
  .bid-cart-layout { grid-template-columns:1fr; }
  .bid-cart-summary { position:static; order:-1; }
}
@media(max-width:720px){
  .bid-cart-page { padding:20px 12px 4px; }
  .bid-cart-head { align-items:center; }
  .bid-cart-title { font-size:1.35rem; }
  .bid-cart-panel-head { padding:14px; }
  .bid-cart-table-wrap { overflow:visible; }
  .bid-cart-lines { min-width:0; }
  .bid-cart-lines thead { display:none; }
  .bid-cart-lines,
  .bid-cart-lines tbody,
  .bid-cart-lines tr,
  .bid-cart-lines td { display:block; width:100%; }
  .bid-cart-lines tbody tr {
    position:relative; padding:14px; border-bottom:1px solid #e2e8f0;
  }
  .bid-cart-lines tbody tr:last-child { border-bottom:none; }
  .bid-cart-lines tbody td { padding:0; border:0; }
  .bid-cart-lines tbody td + td { margin-top:10px; }
  .bid-cart-product { padding-right:38px; min-width:0; }
  .bid-cart-product img,
  .bid-cart-product-noimg { width:58px; height:58px; }
  .bid-cart-price::before,
  .bid-cart-subtotal::before {
    display:inline-block; min-width:48px; color:#64748b; font-weight:700;
  }
  .bid-cart-price::before { content:"單價"; }
  .bid-cart-subtotal::before { content:"小計"; }
  .bid-cart-remove-cell {
    position:absolute; top:12px; right:12px; width:auto; margin:0;
  }
  .bid-shipping-list { grid-template-columns:1fr; }
}

/* ── Checkout form ───────────────────────────────── */
.bid-checkout-wrap {
  background:#fff; border-radius:14px; padding:28px;
  box-shadow:0 2px 14px rgba(0,0,0,0.07); margin-top:30px;
}
.bid-checkout-title { font-size:1.2rem; font-weight:700; color:#1e293b; margin-bottom:20px;
  border-left:4px solid #1a56db; padding-left:10px; }
.bid-form-group { margin-bottom:16px; }
.bid-form-group label { font-weight:600; color:#374151; font-size:14px; display:block; margin-bottom:5px; }
.bid-form-group input[type=text], .bid-form-group input[type=email],
.bid-form-group input[type=tel], .bid-form-group textarea {
  width:100%; border:2px solid #e2e8f0; border-radius:8px; padding:8px 12px;
  font-size:14px; transition:.15s; background:#fafafa; box-sizing:border-box;
}
.bid-form-group input:focus, .bid-form-group textarea:focus {
  border-color:#1a56db; outline:none; background:#fff;
}
.bid-shipping-opts { display:flex; flex-direction:column; gap:10px; }
.bid-shipping-opt {
  border:2px solid #e2e8f0; border-radius:10px; padding:12px 16px;
  cursor:pointer; transition:.15s; display:flex; align-items:flex-start; gap:12px;
}
.bid-shipping-opt:hover { border-color:#1a56db; background:#f0f4ff; }
.bid-shipping-opt.selected { border-color:#1a56db; background:#eff6ff; }
.bid-shipping-opt input[type=radio] { margin-top:2px; accent-color:#1a56db; }
.bid-shipping-opt-label { font-weight:600; color:#1e293b; font-size:14px; }
.bid-shipping-opt-desc  { font-size:12px; color:#6b7280; margin-top:2px; }
.bid-bank-info {
  display:none; background:#fefce8; border:1px dashed #f59e0b;
  border-radius:8px; padding:12px 16px; margin-top:10px; font-size:14px; line-height:1.8;
}
.bid-btn-submit {
  background:linear-gradient(135deg,#1a56db,#7c3aed); color:#fff;
  border:none; border-radius:50px; padding:12px 40px; font-size:16px; font-weight:700;
  cursor:pointer; transition:.2s; width:100%; margin-top:10px;
}
.bid-btn-submit:hover { opacity:.88; }

/* ── Admin ───────────────────────────────────────── */
.bid-admin-body { background:#eef2f7; color:#0f172a; }
.bid-admin-nav {
  background:#0f172a; border-bottom:1px solid rgba(255,255,255,0.08);
  box-shadow:0 8px 24px rgba(15,23,42,0.14);
}
.bid-admin-nav .navbar-brand {
  font-size:17px; font-weight:800; letter-spacing:0; color:#fff;
}
.bid-admin-nav .btn {
  border-radius:8px; font-weight:700; font-size:13px; white-space:nowrap;
}
.bid-admin-nav-links { display:flex; align-items:center; gap:8px; flex-wrap:wrap; }
.bid-admin-wrap { max-width:1240px; margin:0 auto; padding:26px 16px 42px; }
.bid-admin-wrap-narrow { max-width:860px; }
.bid-admin-wrap-wide { max-width:1360px; }
.bid-admin-head {
  display:flex; align-items:flex-end; justify-content:space-between; gap:16px; margin-bottom:18px;
}
.bid-admin-head h3,
.bid-admin-head h4 {
  margin:0; font-size:1.45rem; font-weight:900; color:#0f172a;
}
.bid-admin-subtitle { margin:4px 0 0; color:#64748b; font-size:13px; font-weight:600; }
.bid-admin-actions { display:flex; align-items:center; justify-content:flex-end; gap:8px; flex-wrap:wrap; }
.bid-admin-card {
  background:#fff; border:1px solid #e2e8f0; border-radius:8px;
  box-shadow:0 10px 28px rgba(15,23,42,0.06);
}
.bid-admin-card > .card-header {
  background:#fff; border-bottom:1px solid #e2e8f0; border-radius:8px 8px 0 0;
}
.bid-admin-table { min-width:760px; }
.bid-admin-table thead th {
  background:#f8fafc; color:#64748b; border-bottom:1px solid #e2e8f0;
  font-size:12px; font-weight:900; padding:11px 14px; white-space:nowrap;
}
.bid-admin-table tbody td {
  padding:13px 14px; border-bottom:1px solid #eef2f7; vertical-align:middle;
}
.bid-admin-table tbody tr:last-child td { border-bottom:none; }
.bid-admin-table tbody tr:hover { background:#f8fafc; }
.bid-admin-table tbody tr.bid-admin-row-offline > td {
  background:#f1f5f9 !important; color:#64748b;
}
.bid-admin-table tbody tr.bid-admin-row-offline:hover > td {
  background:#e9eef5 !important;
}
.bid-admin-thumb,
.bid-admin-thumb-empty {
  width:50px; height:50px; border-radius:8px; flex:0 0 auto;
}
.bid-admin-thumb { object-fit:cover; background:#f1f5f9; }
.bid-admin-thumb-empty {
  display:flex; align-items:center; justify-content:center;
  background:#f1f5f9; color:#94a3b8; font-size:11px; font-weight:800;
}
.bid-admin-stat-grid {
  display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:12px; margin-bottom:18px;
}
.bid-admin-stat {
  background:#fff; border:1px solid #e2e8f0; border-radius:8px; padding:14px 16px;
  box-shadow:0 8px 20px rgba(15,23,42,0.05);
}
.bid-admin-stat span { display:block; color:#64748b; font-size:12px; font-weight:800; }
.bid-admin-stat strong { display:block; color:#0f172a; font-size:1.45rem; line-height:1.1; margin-top:4px; }
.bid-admin-stat .small { color:#64748b; font-size:12px; }
.bid-admin-form {
  background:#fff; border:1px solid #e2e8f0; border-radius:8px;
  padding:22px; box-shadow:0 10px 28px rgba(15,23,42,0.06);
}
.bid-admin-form .form-control,
.bid-admin-form .form-select,
.bid-admin-card .form-control,
.bid-admin-card .form-select {
  border-color:#cbd5e1; border-radius:8px;
}
.bid-admin-form .form-control:focus,
.bid-admin-form .form-select:focus,
.bid-admin-card .form-control:focus,
.bid-admin-card .form-select:focus {
  border-color:#1a56db; box-shadow:0 0 0 .2rem rgba(26,86,219,.12);
}
.bid-admin-section-title {
  font-size:1rem; font-weight:900; color:#0f172a; margin:0 0 10px;
}
.bid-admin-inline-help { color:#64748b; font-size:12px; line-height:1.5; }
.bid-admin-filter-bar { display:flex; gap:6px; flex-wrap:wrap; }
.bid-admin-filter-bar .btn { border-radius:8px; font-weight:700; }
.bid-btn-primary {
  background:#1a56db; color:#fff; border:none; border-radius:8px;
  padding:8px 20px; font-size:14px; font-weight:600; cursor:pointer; text-decoration:none;
}
.bid-btn-primary:hover { background:#1648c0; color:#fff; text-decoration:none; }
.bid-order-detail-cell { background:#f8fafc !important; }
.bid-order-detail-box { padding:14px 4px; }
.bid-admin-media-list {
  min-height:110px; padding:10px; border:1px dashed #cbd5e1; border-radius:8px; background:#f8fafc;
}
@media(max-width:900px){
  .bid-admin-stat-grid { grid-template-columns:repeat(2,minmax(0,1fr)); }
  .bid-admin-head { align-items:flex-start; flex-direction:column; }
  .bid-admin-actions { justify-content:flex-start; width:100%; }
}
@media(max-width:640px){
  .bid-admin-wrap { padding:20px 12px 34px; }
  .bid-admin-stat-grid { grid-template-columns:1fr; }
  .bid-admin-nav { position:static !important; }
  .bid-admin-nav-links { width:100%; margin-top:8px; }
  .bid-admin-nav-links .btn { flex:1 1 auto; }
  .bid-admin-form { padding:16px; }
}

/* ── 補充 ────────────────────────────────────────── */
.bid-no-img {
  width:100%; background:#f1f5f9; display:flex; align-items:center; justify-content:center;
  color:#cbd5e1; font-size:2rem; min-height:160px;
}
.bid-price-row { margin:4px 0; }
/* inline kind-badge (outside card) */
.bid-card-body .bid-kind-badge,
.bid-kind-badge-inline {
  position:static; display:inline-block; margin-bottom:4px;
  background:#e0e7ff; color:#3730a3;
  border-radius:50px; padding:2px 10px; font-size:11px; font-weight:600;
}
/* When bid-kind-badge is NOT inside bid-card-img-wrap, remove absolute */
.bid-card-body > .bid-kind-badge { position:static; }
.bid-lang-switcher {
  display:flex; align-items:center; gap:6px; margin:0;
  color:#475569; font-size:12px; font-weight:800; white-space:nowrap;
}
.bid-lang-switcher select {
  min-width:108px; border:1px solid #cbd5e1; border-radius:8px;
  background:#fff; color:#0f172a; padding:5px 28px 5px 9px; font-size:12px; font-weight:700;
}

/* ── Utility ─────────────────────────────────────── */
.text-muted-sm { font-size:12px; color:#9ca3af; }
.gap-8 { gap:8px; }
.mt-8  { margin-top:8px; }

/* ── 7-11 門市搜尋 ─────────────────────────────── */
.s11-item:hover { background:#f0f4ff; }
.s11-item:last-child { border-bottom:none !important; }

/* ── 商品頁 Carousel ────────────────────────────── */
/* 讓 prev/next 箭頭不蓋到影片底部 controls 區 */
#mediaCarousel .carousel-control-prev,
#mediaCarousel .carousel-control-next {
  height: calc(100% - 48px);
  align-items: flex-start;
  padding-top: 40%;
}

/* ── 首頁商品卡縮圖列 ────────────────────────────── */
.bid-card-thumbs {
  display: flex;
  gap: 4px;
  padding: 6px 8px 4px;
}
.bid-card-thumb {
  width: 44px;
  height: 44px;
  object-fit: cover;
  border-radius: 4px;
  border: 2px solid transparent;
  cursor: pointer;
  transition: border-color .15s;
}
.bid-card-thumb.active,
.bid-card-thumb:hover {
  border-color: #2c7be5;
}

/* 商品頁: 各物流方式運費清單 (淡色系卡片風) */
.bid-item-shipping-fees .bid-ship-list {
  list-style: none;
  padding: 0;
  margin: 0;
  background: #fdfaf6;
  border: 1px solid #f0e6d2;
  border-radius: 8px;
  overflow: hidden;
}
.bid-item-shipping-fees .bid-ship-row {
  display: flex;
  justify-content: space-between;
  align-items: center;
  padding: 9px 14px;
  font-size: 14px;
  border-bottom: 1px dashed #ece5d1;
  min-height: 40px;
}
.bid-item-shipping-fees .bid-ship-row:last-child {
  border-bottom: none;
}
.bid-item-shipping-fees .bid-ship-label {
  color: #5a5550;
  font-weight: 500;
}
.bid-item-shipping-fees .bid-ship-meta {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  white-space: nowrap;
}
.bid-item-shipping-fees .bid-ship-fee {
  color: #2c3e50;
  font-weight: 700;
  font-size: 15px;
}
.bid-item-shipping-fees .bid-ship-free {
  background: #fff5f5;
  color: #e03131;
  border: 1px solid #ffc9c9;
  border-radius: 10px;
  padding: 1px 9px;
  font-size: 12px;
  font-weight: 700;
  letter-spacing: 0.5px;
}
