/* Imagist Shop - Custom theme override for Dujiaoka (unicorn)
   Matches imagistai.cyou design: olive green primary, warm gray bg, rounded cards */

:root {
  --imagist-bg: #f7f5f2;
  --imagist-card: #ffffff;
  --imagist-primary: #6b7a65;
  --imagist-primary-strong: #5a6755;
  --imagist-primary-soft: #f0f2ec;
  --imagist-text: #292524;
  --imagist-muted: #78716c;
  --imagist-line: #e7e5e4;
  --imagist-radius: 16px;
  --imagist-radius-lg: 24px;
  --imagist-shadow: 0 8px 30px rgba(0,0,0,0.04);
  --imagist-transition: 0.2s ease;
}

/* Global */
body {
  background: var(--imagist-bg) !important;
  font-family: system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif !important;
  color: var(--imagist-text) !important;
  -webkit-font-smoothing: antialiased;
}

/* Navbar */
.navbar, header, .header {
  background: var(--imagist-card) !important;
  border-bottom: none !important;
  box-shadow: none !important;
}
/* Center nav links */
.header .col-md-3 { display: none !important; }
.header .col-md-9 { flex: 0 0 100% !important; max-width: 100% !important; }
.header-right, .navbar-collapse, .navbar-nav,
header .nav, header ul {
  justify-content: center !important;
  text-align: center !important;
  width: 100% !important;
}
.navbar-brand, .navbar .brand-name {
  color: var(--imagist-primary) !important;
  font-weight: 700 !important;
  letter-spacing: -0.02em;
}
.nav-link {
  color: var(--imagist-muted) !important;
  font-weight: 500 !important;
  border-radius: var(--imagist-radius) !important;
  transition: all var(--imagist-transition) !important;
  padding: 8px 16px !important;
  border: 1px solid var(--imagist-line) !important;
}
.nav-link:hover {
  color: var(--imagist-primary) !important;
  background: var(--imagist-primary-soft) !important;
  border-color: var(--imagist-primary) !important;
}
.nav-link.active {
  color: #fff !important;
  background: var(--imagist-primary) !important;
  border-color: var(--imagist-primary) !important;
  box-shadow: 0 2px 8px rgba(0,0,0,0.02) !important;
}

/* Cards */
.card, .goods-card, .product-card {
  background: var(--imagist-card) !important;
  border: 1px solid rgba(255,255,255,0.8) !important;
  border-radius: var(--imagist-radius-lg) !important;
  box-shadow: var(--imagist-shadow) !important;
  transition: transform var(--imagist-transition), box-shadow var(--imagist-transition) !important;
  overflow: hidden;
}
.card:hover, .goods-card:hover, .product-card:hover {
  transform: translateY(-2px);
  box-shadow: 0 12px 40px rgba(0,0,0,0.08) !important;
}
.card-header {
  background: transparent !important;
  border-bottom: 1px solid var(--imagist-line) !important;
  font-weight: 650 !important;
  color: var(--imagist-text) !important;
}
.card-body {
  padding: 20px 24px !important;
}
.card-footer {
  background: transparent !important;
  border-top: 1px solid var(--imagist-line) !important;
}

/* Buttons */
.btn-primary, .btn-info {
  background: var(--imagist-primary) !important;
  border-color: var(--imagist-primary) !important;
  color: #fff !important;
  border-radius: var(--imagist-radius) !important;
  font-weight: 550 !important;
  transition: all var(--imagist-transition) !important;
  box-shadow: none !important;
}
.btn-primary:hover, .btn-info:hover,
.btn-primary:focus, .btn-info:focus {
  background: var(--imagist-primary-strong) !important;
  border-color: var(--imagist-primary-strong) !important;
  box-shadow: none !important;
}
.btn-secondary, .btn-outline-primary {
  background: transparent !important;
  color: var(--imagist-primary) !important;
  border: 1px solid var(--imagist-line) !important;
  border-radius: var(--imagist-radius) !important;
  font-weight: 550 !important;
}
.btn-secondary:hover, .btn-outline-primary:hover {
  background: var(--imagist-primary-soft) !important;
  border-color: var(--imagist-primary) !important;
  color: var(--imagist-primary-strong) !important;
}
.btn {
  border-radius: var(--imagist-radius) !important;
  min-height: 42px;
  padding: 8px 16px !important;
}

/* Forms */
.form-control, input[type="text"], input[type="email"], input[type="number"], select, textarea {
  border: 1px solid var(--imagist-line) !important;
  border-radius: var(--imagist-radius) !important;
  background: var(--imagist-bg) !important;
  color: var(--imagist-text) !important;
  min-height: 42px;
  transition: border-color var(--imagist-transition), box-shadow var(--imagist-transition) !important;
}
.form-control:focus, input:focus, select:focus, textarea:focus {
  border-color: var(--imagist-primary) !important;
  box-shadow: 0 0 0 3px rgba(107,122,101,0.15) !important;
  background: var(--imagist-card) !important;
}

/* Goods list / product grid */
.goods-group-name, .group-title, h4, h5 {
  color: var(--imagist-text) !important;
  font-weight: 650 !important;
  letter-spacing: -0.02em;
}
.goods-item, .product-item {
  border-radius: var(--imagist-radius-lg) !important;
  border: 1px solid var(--imagist-line) !important;
  background: var(--imagist-card) !important;
  padding: 20px !important;
}
.goods-price, .price {
  color: var(--imagist-primary) !important;
  font-weight: 700 !important;
  font-size: 1.2em;
}

/* Footer */
.footer, footer {
  background: transparent !important;
  border-top: none !important;
  color: var(--imagist-muted) !important;
  display: none !important;
}
.footer a {
  color: var(--imagist-primary) !important;
}

/* Badges */
.badge {
  border-radius: 999px !important;
  font-weight: 600 !important;
  padding: 4px 12px !important;
}
.badge-primary, .bg-primary {
  background: var(--imagist-primary) !important;
}
.badge-success, .bg-success {
  background: #10b981 !important;
}

/* Alert / Notice */
.alert {
  border-radius: var(--imagist-radius) !important;
  border: 1px solid var(--imagist-line) !important;
}
.alert-info {
  background: var(--imagist-primary-soft) !important;
  color: var(--imagist-primary-strong) !important;
  border-color: rgba(107,122,101,0.2) !important;
}

/* Table */
.table {
  border-radius: var(--imagist-radius) !important;
  overflow: hidden;
}
.table th {
  background: var(--imagist-bg) !important;
  color: var(--imagist-muted) !important;
  font-weight: 550 !important;
  border-color: var(--imagist-line) !important;
}
.table td {
  border-color: var(--imagist-line) !important;
  color: var(--imagist-text) !important;
}

/* Container width */
.container, .container-fluid {
  max-width: 1200px;
}

/* Order search page */
.order-info, .order-card {
  border-radius: var(--imagist-radius-lg) !important;
  background: var(--imagist-card) !important;
  box-shadow: var(--imagist-shadow) !important;
}

/* QR pay page */
.qrpay-card, .pay-card {
  border-radius: var(--imagist-radius-lg) !important;
  background: var(--imagist-card) !important;
  box-shadow: var(--imagist-shadow) !important;
  padding: 24px !important;
}

/* Scrollbar */
::-webkit-scrollbar { width: 6px; }
::-webkit-scrollbar-track { background: transparent; }
::-webkit-scrollbar-thumb { border-radius: 999px; background: rgba(107,122,101,0.3); }
::-webkit-scrollbar-thumb:hover { background: rgba(107,122,101,0.5); }

/* Hide: logo, announcement/notice, search box, subtitle/description */
.navbar-brand img, .navbar-brand svg, .navbar-brand i { display: none !important; }
.notice, .alert-notice, .announcement, .card-body .alert, header + .container > .alert,
header + .alert, .main-content > .alert:first-child,
.col-12 > .alert:first-of-type, .notice-card, #notice,
div[class*="notice"], div[class*="announcement"] { display: none !important; }
.navbar .d-flex, .navbar form, #searchText, #searchBtn,
.navbar .form-control, .navbar button[type="button"] { display: none !important; }
/* Hide subtitle text "优质的商品和卓越的客户服务..." and main title "今天需要一点什么?" */
.text-muted.text-center, .shop-desc, .site-description,
h2 + p, .lead, .subtitle { display: none !important; }
h3.text-center, h2.text-center, .shop-title, .main-title,
.container h2:first-of-type, section > h2 { display: none !important; }
/* Hide: category tabs, dividers - keep navbar */
.nav-tabs, .nav-pills, .goods-group-tab, .group-tab,
.btn-group[role="group"], .category-tabs { display: none !important; }
hr, .divider, h3.text-center + *, .text-center > hr { display: none !important; }
/* Hide the logo icon */
.header-left, .logo, .navbar-brand img, .navbar-brand svg, .navbar-brand i,
.navbar-brand { display: none !important; }

/* Reduce product card image height */
.goods-card img, .card-img-top, .product-card img,
.goods-item img, .card img[src*="logo"], .card img[src*="default"] {
  height: 140px !important;
  max-height: 140px !important;
  object-fit: contain !important;
  padding: 16px !important;
}

/* Card body compact + price next to buy button */
.card-body {
  padding: 12px 16px !important;
  display: flex !important;
  flex-wrap: wrap !important;
  align-items: center !important;
  gap: 8px !important;
}
/* Title takes full width */
.card-body .card-title {
  width: 100% !important;
  margin-bottom: 4px !important;
}
/* Hide stock */
.card-body h6.mt-2, .card-body .stock, .card-body .inventory,
.card-body h6 small.text-muted {
  display: none !important;
}
/* Price button and buy button side by side */
.card-body .btn-outline-success {
  order: 2 !important;
}
.card-body a.btn-primary, .card-body a.fr {
  order: 3 !important;
  margin-left: auto !important;
}

/* Mobile */
@media (max-width: 768px) {
  .card-body { padding: 16px !important; }
  .container { padding: 0 12px; }
}

/* Buy page / Order page specific */
.buy-page .card, .main-container .card,
section .card, .buy-info, .goods-detail {
  border-radius: var(--imagist-radius-lg) !important;
  box-shadow: var(--imagist-shadow) !important;
  border: 1px solid rgba(255,255,255,0.8) !important;
  overflow: hidden;
}
/* Buy page form inputs */
.buy-page input, .buy-page select,
.main-container input, .main-container select {
  border-radius: var(--imagist-radius) !important;
  border: 1px solid var(--imagist-line) !important;
  background: var(--imagist-bg) !important;
  min-height: 42px !important;
}
/* Radio buttons / payment options */
.form-check, .form-check-label {
  margin-right: 12px !important;
}
/* Buy button */
.buy-page .btn-primary, .main-container .btn-outline-primary,
form .btn-primary {
  background: var(--imagist-primary) !important;
  border-color: var(--imagist-primary) !important;
  color: #fff !important;
  border-radius: var(--imagist-radius) !important;
  min-height: 42px !important;
  padding: 8px 24px !important;
}
/* "商品描述" section header */
.card-header {
  background: var(--imagist-bg) !important;
  border-bottom: 1px solid var(--imagist-line) !important;
  border-radius: var(--imagist-radius-lg) var(--imagist-radius-lg) 0 0 !important;
  font-weight: 650 !important;
  padding: 14px 20px !important;
}
/* Order search page */
.order-search .card, .search-order .card {
  border-radius: var(--imagist-radius-lg) !important;
  box-shadow: var(--imagist-shadow) !important;
}
