/* ============================================================
   COMANDA MALL – WooCommerce & Dokan Override Styles
   Loaded last to override plugin defaults with high specificity.
   ============================================================ */

/* ---------- Reset WooCommerce Default Colors ---------- */
:root {
  --wc-primary: var(--gold) !important;
  --wc-primary-text: var(--navy) !important;
  --wc-secondary: rgba(212, 175, 55, 0.1) !important;
  --wc-secondary-text: #d1d5db !important;
  --wc-success: #10b981;
  --wc-error: #ef4444;
}

/* Force navy/gold on all WC action buttons */
.woocommerce a.button,
.woocommerce button.button,
.woocommerce input.button,
.woocommerce a.button.alt,
.woocommerce button.button.alt,
.woocommerce input.button.alt,
.woocommerce #respond input#submit {
  background: linear-gradient(135deg, var(--gold), var(--gold-600)) !important;
  color: var(--navy) !important;
  font-weight: 600 !important;
  border: none !important;
  text-transform: uppercase !important;
  letter-spacing: 0.05em !important;
  font-size: 0.8rem !important;
  border-radius: 2px !important;
  padding: 0.75rem 1.5rem !important;
  transition: all 0.3s ease !important;
}
.woocommerce a.button:hover,
.woocommerce button.button:hover,
.woocommerce input.button:hover,
.woocommerce a.button.alt:hover,
.woocommerce button.button.alt:hover,
.woocommerce input.button.alt:hover,
.woocommerce #respond input#submit:hover {
  background: linear-gradient(135deg, #e0bf5e, #c4a030) !important;
  color: var(--navy) !important;
  box-shadow: 0 4px 20px rgba(212, 175, 55, 0.3) !important;
}

/* ---------- Product Grid (ul.products) ---------- */
ul.products.product-grid {
  display: grid !important;
  grid-template-columns: repeat(auto-fill, minmax(260px, 1fr)) !important;
  gap: 1.75rem !important;
  list-style: none !important;
  margin: 0 !important;
  padding: 0 !important;
}
ul.products.product-grid::before,
ul.products.product-grid::after { display: none !important; }
ul.products.product-grid li.product {
  width: 100% !important;
  float: none !important;
  clear: none !important;
  margin: 0 !important;
  padding: 0 !important;
}

/* ---------- Hide Category Images ---------- */
.woocommerce .woocommerce-loop-category__title ~ img,
.woocommerce ul.products li.product-category img,
.woocommerce-page ul.products li.product-category img,
img.attachment-woocommerce_thumbnail.woocommerce-loop-category__thumbnail { display: none !important; }

/* ---------- Result Count ---------- */
.woocommerce-result-count {
  color: #9ca3af !important;
  font-size: 0.85rem !important;
}

/* ---------- Ordering ---------- */
.woocommerce-ordering {
  float: none !important;
}
.woocommerce-ordering select {
  background: var(--navy-700) !important;
  border: 1px solid rgba(212, 175, 55, 0.3) !important;
  color: #d1d5db !important;
  padding: 0.5rem 2rem 0.5rem 0.75rem !important;
  font-size: 0.85rem !important;
  border-radius: 2px !important;
  appearance: none !important;
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' fill='%23D4AF37' viewBox='0 0 16 16'%3E%3Cpath d='M7.247 11.14 2.451 5.658C1.885 5.013 2.345 4 3.204 4h9.592a1 1 0 0 1 .753 1.659l-4.796 5.48a1 1 0 0 1-1.506 0z'/%3E%3C/svg%3E") !important;
  background-repeat: no-repeat !important;
  background-position: right 0.5rem center !important;
}

/* ---------- Pagination ---------- */
.woocommerce nav.woocommerce-pagination {
  margin-top: 2.5rem;
}
.woocommerce nav.woocommerce-pagination ul {
  border: none !important;
  display: flex;
  gap: 0.5rem;
  flex-wrap: wrap;
  justify-content: center;
}
.woocommerce nav.woocommerce-pagination ul li {
  border: none !important;
  float: none !important;
}
.woocommerce nav.woocommerce-pagination ul li a,
.woocommerce nav.woocommerce-pagination ul li span {
  display: block !important;
  padding: 0.5rem 1rem !important;
  border: 1px solid rgba(212, 175, 55, 0.2) !important;
  color: #d1d5db !important;
  font-size: 0.85rem !important;
  border-radius: 2px !important;
  transition: all 0.2s !important;
  background: transparent !important;
  margin: 0 !important;
}
.woocommerce nav.woocommerce-pagination ul li span.current {
  background: var(--gold) !important;
  color: var(--navy) !important;
  border-color: var(--gold) !important;
}
.woocommerce nav.woocommerce-pagination ul li a:hover {
  border-color: var(--gold) !important;
  color: var(--gold) !important;
}

/* ---------- Single Product Layout ---------- */

/* Kill WooCommerce default floats — we use flex from custom template */
.woocommerce div.product {
  display: flex !important;
  flex-wrap: wrap !important;
  gap: 3rem !important;
  align-items: flex-start !important;
}
.woocommerce div.product div.images {
  float: none !important;
  width: 100% !important;
  max-width: 55% !important;
  flex: 0 0 auto !important;
  margin-bottom: 0 !important;
}
.woocommerce div.product div.summary {
  float: none !important;
  width: 100% !important;
  max-width: calc(45% - 3rem) !important;
  flex: 1 1 0 !important;
  clear: none !important;
}
@media (max-width: 1023px) {
  .woocommerce div.product div.images,
  .woocommerce div.product div.summary {
    max-width: 100% !important;
    flex: 0 0 100% !important;
  }
}

/* Gallery images — constrain to their column, never overflow */
.woocommerce div.product div.images img {
  width: 100% !important;
  height: auto !important;
  display: block !important;
}
.woocommerce div.product div.images .flex-viewport {
  max-height: 520px !important;
  overflow: hidden !important;
}
.woocommerce div.product div.images .flex-viewport img {
  object-fit: contain !important;
  max-height: 520px !important;
  width: 100% !important;
}
.woocommerce div.product div.images .woocommerce-product-gallery__image img {
  max-height: 520px !important;
  object-fit: contain !important;
}
/* Thumbnails strip */
.woocommerce div.product div.images ol.flex-control-thumbs {
  display: flex !important;
  gap: 0.5rem !important;
  flex-wrap: wrap !important;
  list-style: none !important;
  margin: 0.75rem 0 0 !important;
  padding: 0 !important;
}
.woocommerce div.product div.images ol.flex-control-thumbs li {
  width: 70px !important;
  float: none !important;
  margin: 0 !important;
}
.woocommerce div.product div.images ol.flex-control-thumbs li img {
  width: 70px !important;
  height: 70px !important;
  object-fit: cover !important;
  border: 2px solid transparent !important;
  border-radius: 2px !important;
  cursor: pointer !important;
  transition: border-color 0.2s !important;
}
.woocommerce div.product div.images ol.flex-control-thumbs li img.flex-active {
  border-color: var(--gold) !important;
}

/* Related / Upsells — fix size */
.woocommerce div.product .related,
.woocommerce div.product .upsells {
  width: 100% !important;
  clear: both !important;
  margin-top: 3rem !important;
}
.woocommerce div.product .related > h2,
.woocommerce div.product .upsells > h2 {
  font-family: var(--font-serif) !important;
  color: var(--gold) !important;
  font-size: 1.5rem !important;
  margin-bottom: 1.5rem !important;
}
.woocommerce div.product .related ul.products,
.woocommerce div.product .upsells ul.products {
  display: grid !important;
  grid-template-columns: repeat(auto-fill, minmax(220px, 1fr)) !important;
  gap: 1.5rem !important;
  list-style: none !important;
  margin: 0 !important;
  padding: 0 !important;
}
.woocommerce div.product .related ul.products li.product,
.woocommerce div.product .upsells ul.products li.product {
  width: 100% !important;
  float: none !important;
  margin: 0 !important;
}

/* ---------- Single Product ---------- */
.woocommerce div.product .product_title {
  font-family: var(--font-serif) !important;
  font-size: 2rem !important;
  color: #fff !important;
}
.woocommerce div.product .price {
  font-size: 1.75rem !important;
  color: var(--gold) !important;
}
.woocommerce div.product .price del {
  color: #9ca3af !important;
  font-size: 1rem !important;
}
.woocommerce div.product .price ins {
  text-decoration: none !important;
}
.woocommerce div.product .summary .cart .quantity .qty {
  background: var(--navy-700) !important;
  border: 1px solid rgba(212, 175, 55, 0.3) !important;
  color: #fff !important;
  padding: 0.6rem 0.5rem !important;
  width: 72px !important;
  text-align: center !important;
  border-radius: 2px !important;
  height: auto !important;
}
.woocommerce div.product form.cart .button.single_add_to_cart_button {
  padding: 0.9rem 2.5rem !important;
  font-size: 0.8rem !important;
}
.woocommerce div.product .stock {
  color: #10b981 !important;
}
.woocommerce div.product .out-of-stock {
  color: #ef4444 !important;
}

/* ---------- Tabs (single product) ---------- */
.woocommerce div.product .woocommerce-tabs {
  margin-top: 3rem;
  border-top: 1px solid rgba(212, 175, 55, 0.15);
  padding-top: 2rem;
}
.woocommerce div.product .woocommerce-tabs ul.tabs {
  display: flex;
  gap: 0;
  list-style: none;
  margin: 0;
  padding: 0;
  border-bottom: 1px solid rgba(212, 175, 55, 0.2);
}
.woocommerce div.product .woocommerce-tabs ul.tabs::before {
  display: none !important;
}
.woocommerce div.product .woocommerce-tabs ul.tabs li {
  border: none !important;
  background: transparent !important;
  margin: 0 !important;
  padding: 0 !important;
  border-radius: 0 !important;
}
.woocommerce div.product .woocommerce-tabs ul.tabs li a {
  display: block;
  padding: 1rem 1.5rem;
  font-size: 0.8rem;
  text-transform: uppercase;
  letter-spacing: 0.1em;
  color: #9ca3af !important;
  border-bottom: 2px solid transparent;
  transition: all 0.2s;
}
.woocommerce div.product .woocommerce-tabs ul.tabs li.active a {
  color: var(--gold) !important;
  border-bottom-color: var(--gold);
}
.woocommerce div.product .woocommerce-tabs .panel {
  padding: 1.5rem 0;
  color: #d1d5db;
  display: block !important;
  margin: 0 !important;
}

/* ---------- Star Rating ---------- */
.woocommerce .star-rating {
  color: var(--gold) !important;
}
.woocommerce p.stars a {
  color: var(--gold) !important;
}

/* ---------- Sale Flash ---------- */
.woocommerce span.onsale {
  min-height: auto !important;
  min-width: auto !important;
  padding: 0.25rem 0.75rem !important;
  background: var(--gold) !important;
  color: var(--navy) !important;
  font-size: 0.65rem !important;
  font-weight: 700 !important;
  text-transform: uppercase !important;
  letter-spacing: 0.08em !important;
  border-radius: 2px !important;
  line-height: normal !important;
  top: 0.75rem !important;
  left: 0.75rem !important;
  right: auto !important;
}

/* ---------- Breadcrumb ---------- */
.woocommerce .woocommerce-breadcrumb {
  color: #9ca3af !important;
  font-size: 0.8rem;
  margin-bottom: 1.5rem;
}
.woocommerce .woocommerce-breadcrumb a {
  color: var(--gold) !important;
}

/* ---------- Cart Page ---------- */
.woocommerce table.shop_table {
  border: none !important;
  border-radius: 0 !important;
}
.woocommerce table.shop_table td,
.woocommerce table.shop_table th {
  border: none !important;
  border-bottom: 1px solid rgba(212, 175, 55, 0.1) !important;
  color: #d1d5db;
}
.woocommerce table.shop_table th {
  color: var(--gold) !important;
  text-transform: uppercase !important;
  font-size: 0.75rem !important;
  letter-spacing: 0.08em !important;
  font-weight: 500 !important;
}
.woocommerce table.shop_table td {
  padding: 1rem 0.5rem !important;
}
.woocommerce table.shop_table .product-thumbnail img {
  width: 80px !important;
  border-radius: 2px !important;
}
.woocommerce table.shop_table .product-remove a.remove {
  color: #9ca3af !important;
  font-size: 1.25rem !important;
  transition: color 0.2s !important;
}
.woocommerce table.shop_table .product-remove a.remove:hover {
  color: #ef4444 !important;
  background: transparent !important;
}
.woocommerce-cart .cart-collaterals .cart_totals h2 {
  font-family: var(--font-serif);
  color: var(--gold);
}

/* ---------- Cart/Checkout Buttons ---------- */
.woocommerce a.checkout-button,
.woocommerce button.checkout-button {
  width: 100% !important;
  text-align: center !important;
  padding: 1rem !important;
  font-size: 0.85rem !important;
}

/* ---------- Checkout ---------- */
.woocommerce-checkout #customer_details h3 {
  font-family: var(--font-serif);
  color: var(--gold);
}
.woocommerce-checkout .form-row label {
  color: #d1d5db !important;
  font-size: 0.85rem;
}
.woocommerce-checkout .form-row .input-text,
.woocommerce-checkout .form-row select,
.woocommerce-checkout .form-row textarea {
  background: var(--navy-700) !important;
  border: 1px solid rgba(212, 175, 55, 0.2) !important;
  color: #fff !important;
  padding: 0.75rem !important;
  border-radius: 2px !important;
  line-height: 1.5 !important;
}
.woocommerce-checkout .form-row .input-text:focus,
.woocommerce-checkout .form-row select:focus,
.woocommerce-checkout .form-row textarea:focus {
  border-color: var(--gold) !important;
  outline: none !important;
  box-shadow: none !important;
}
.woocommerce-checkout .select2-container .select2-selection--single {
  background: var(--navy-700) !important;
  border-color: rgba(212, 175, 55, 0.2) !important;
  border-radius: 2px !important;
  height: 48px !important;
}
.woocommerce-checkout .select2-container .select2-selection__rendered {
  color: #fff !important;
  line-height: 48px !important;
  padding-left: 0.75rem !important;
}
.woocommerce-checkout .select2-container--default .select2-selection--single .select2-selection__arrow {
  height: 48px !important;
}
.woocommerce-checkout .select2-dropdown {
  background: var(--navy-700) !important;
  border-color: rgba(212, 175, 55, 0.3) !important;
}
.woocommerce-checkout .select2-results__option {
  color: #d1d5db !important;
}
.woocommerce-checkout .select2-results__option--highlighted {
  background: rgba(212, 175, 55, 0.2) !important;
  color: #fff !important;
}

/* ---------- Order Review ---------- */
.woocommerce-checkout-review-order table.shop_table th,
.woocommerce-checkout-review-order table.shop_table td {
  padding: 0.75rem 0.5rem !important;
}
.woocommerce-checkout-review-order .cart-subtotal td,
.woocommerce-checkout-review-order .order-total td {
  color: var(--gold) !important;
}
#place_order {
  margin-top: 0.5rem !important;
}

/* ---------- Messages / Notices ---------- */
.woocommerce-message,
.woocommerce-info,
.woocommerce-error {
  background: var(--navy-700) !important;
  border-top: 3px solid var(--gold) !important;
  color: #d1d5db !important;
  padding: 1rem !important;
  border-radius: 2px !important;
  box-shadow: none !important;
  line-height: 1.6 !important;
}
.woocommerce-message::before,
.woocommerce-info::before {
  color: var(--gold) !important;
}
.woocommerce-error {
  border-top-color: #ef4444 !important;
}
.woocommerce-error::before {
  color: #ef4444 !important;
}

/* ---------- My Account ---------- */
.woocommerce-account .woocommerce-MyAccount-navigation {
  background: transparent !important;
}
.woocommerce-account .woocommerce-MyAccount-navigation ul {
  list-style: none;
  margin: 0;
  padding: 0;
}
.woocommerce-account .woocommerce-MyAccount-navigation ul li {
  border-bottom: 1px solid rgba(212, 175, 55, 0.1);
}
.woocommerce-account .woocommerce-MyAccount-navigation ul li a {
  display: block;
  padding: 0.85rem 1rem;
  color: #d1d5db !important;
  font-size: 0.85rem;
  text-transform: uppercase;
  letter-spacing: 0.05em;
  transition: all 0.2s;
}
.woocommerce-account .woocommerce-MyAccount-navigation ul li.is-active a {
  color: var(--gold) !important;
  background: rgba(212, 175, 55, 0.05);
}
.woocommerce-account .woocommerce-MyAccount-content .address h3 {
  font-family: var(--font-serif);
  color: var(--gold);
}

/* ---------- Widgets ---------- */
.widget.woocommerce ul {
  list-style: none;
  margin: 0;
  padding: 0;
}
.widget.woocommerce ul li {
  padding: 0.4rem 0;
  border-bottom: 1px solid rgba(255, 255, 255, 0.05);
}
.widget.woocommerce ul li a {
  color: #d1d5db !important;
  font-size: 0.85rem;
  transition: color 0.2s;
}
.widget.woocommerce ul li a:hover {
  color: var(--gold) !important;
}
.widget.woocommerce .star-rating {
  color: var(--gold) !important;
}
.widget.woocommerce .widget-title {
  font-family: var(--font-serif);
  color: var(--gold);
}
.widget_price_filter .ui-slider .ui-slider-range {
  background: var(--gold) !important;
}
.widget_price_filter .ui-slider .ui-slider-handle {
  background: var(--gold) !important;
  border: 2px solid var(--navy) !important;
}
.widget_price_filter .price_slider_amount .button {
  font-size: 0.75rem !important;
  padding: 0.5rem 1rem !important;
}

/* ---------- Dokan Dashboard ---------- */
.dokan-dashboard-wrap {
  padding: 2rem 0;
}
.dokan-dashboard-header h1 {
  font-family: var(--font-serif);
  color: var(--gold);
}
.dokan-dashboard-content {
  background: transparent !important;
}
.dokan-dashboard-content .dokan-dash-header {
  background: var(--navy-700);
  border: 1px solid rgba(212, 175, 55, 0.1);
  border-radius: 4px;
  padding: 1.5rem;
}
.dokan-dashboard-content .dash-stat {
  background: var(--navy-700);
  border: 1px solid rgba(212, 175, 55, 0.1);
  border-radius: 2px;
  padding: 1.25rem;
}
.dokan-dashboard-content .dash-stat strong {
  color: var(--gold);
  font-family: var(--font-serif);
}

/* ---------- Dokan Buttons ---------- */
.dokan-btn {
  border-radius: 2px;
  text-transform: uppercase;
  letter-spacing: 0.05em;
  font-size: 0.8rem;
  font-weight: 600;
  padding: 0.6rem 1.25rem;
  transition: all 0.3s;
}
.dokan-btn-theme {
  background: linear-gradient(135deg, var(--gold), var(--gold-600)) !important;
  color: var(--navy) !important;
  border: none !important;
}
.dokan-btn-theme:hover {
  background: linear-gradient(135deg, #e0bf5e, #c4a030) !important;
  color: var(--navy) !important;
}

/* ---------- Dokan Forms ---------- */
.dokan-form-control,
.dokan-form-group input,
.dokan-form-group select,
.dokan-form-group textarea {
  background: var(--navy-700) !important;
  border: 1px solid rgba(212, 175, 55, 0.2) !important;
  color: #fff !important;
  padding: 0.65rem 0.75rem !important;
  border-radius: 2px !important;
  width: 100% !important;
}
.dokan-form-control:focus {
  border-color: var(--gold) !important;
  outline: none !important;
}

/* ---------- Dokan Store Listing ---------- */
.dokan-store-listing {
  padding: 2rem 0;
}
.dokan-store-list-filter-wrap {
  margin-bottom: 2rem;
}
.dokan-store-list-filter-wrap select {
  background: var(--navy-700) !important;
  border: 1px solid rgba(212, 175, 55, 0.2) !important;
  color: #d1d5db !important;
  padding: 0.5rem !important;
  border-radius: 2px !important;
}

/* ---------- Dokan Single Product Vendor Info ---------- */
.dokan-vendor-info-wrap {
  background: var(--navy-700);
  border: 1px solid rgba(212, 175, 55, 0.15);
  border-radius: 4px;
  padding: 1.5rem;
  margin-top: 2rem;
}
.dokan-vendor-info-wrap .vendor-name {
  font-family: var(--font-serif);
  color: var(--gold);
}

/* ---------- Dokan Store Page Fixes ---------- */
.dokan-store-wrap {
  padding: 0 !important;
}
.dokan-store-sidebar .widget {
  margin-bottom: 1.5rem;
}
.dokan-single-store .store-page-wrap {
  padding: 0 !important;
}

/* ---------- Force !important on all WC default colors ---------- */
.woocommerce-info a,
.woocommerce-message a {
  color: var(--gold) !important;
}
.woocommerce .quantity .qty {
  background: var(--navy-700) !important;
  border: 1px solid rgba(212, 175, 55, 0.3) !important;
  color: #fff !important;
  padding: 0.5rem !important;
  border-radius: 2px !important;
}

/* ---------- Order Received ---------- */
.woocommerce-order-received .woocommerce-order h2 {
  font-family: var(--font-serif) !important;
  color: var(--gold) !important;
}
.woocommerce-order-received .woocommerce-thankyou-order-received {
  font-size: 1.25rem !important;
  color: var(--gold) !important;
}
.woocommerce-order-received ul.order_details {
  background: var(--navy-700) !important;
  border: 1px solid rgba(212, 175, 55, 0.1) !important;
  border-radius: 4px !important;
  padding: 1.5rem !important;
}
.woocommerce-order-received ul.order_details li {
  border-right-color: rgba(212, 175, 55, 0.1) !important;
}

/* ---------- WooCommerce Search Widget ---------- */
.woocommerce-product-search {
  display: flex !important;
  gap: 0.5rem;
}
.woocommerce-product-search input[type="search"] {
  flex: 1;
  background: var(--navy-700) !important;
  border: 1px solid rgba(212, 175, 55, 0.3) !important;
  color: #fff !important;
  padding: 0.65rem 1rem !important;
  border-radius: 2px !important;
}
.woocommerce-product-search button {
  background: var(--gold) !important;
  color: var(--navy) !important;
  border: none !important;
  padding: 0.65rem 1.25rem !important;
  font-weight: 600 !important;
  border-radius: 2px !important;
}

/* ---------- Dokan Dashboard Responsive ---------- */
@media (max-width: 767px) {
  .dokan-dashboard-content .dokan-dash-header {
    padding: 1rem;
  }
}

/* ============================================================
   MISSING COMPONENTS — added from shopwell comparison
   ============================================================ */

/* ---------- Cart Empty ---------- */
.comanda-cart-empty {
  text-align: center;
  padding: 4rem 1rem;
  color: #9ca3af;
}
.comanda-cart-empty .cart-empty-icon {
  margin: 0 auto 1.5rem;
  color: rgba(212,175,55,0.4);
  display: flex;
  justify-content: center;
}
.comanda-cart-empty h2 {
  font-family: var(--font-serif);
  font-size: 1.75rem;
  color: #fff;
  margin-bottom: 0.5rem;
}
.comanda-cart-empty p { font-size: 0.9rem; margin-bottom: 2rem; }
.comanda-cart-empty .cart-empty-actions {
  display: flex;
  gap: 1rem;
  justify-content: center;
  flex-wrap: wrap;
}
.comanda-cart-empty .btn-outline {
  background: transparent !important;
  border: 1px solid rgba(212,175,55,0.4) !important;
  color: var(--gold) !important;
}
.comanda-cart-empty .btn-outline:hover {
  border-color: var(--gold) !important;
  background: rgba(212,175,55,0.08) !important;
}

/* ---------- Account Dashboard ---------- */
.comanda-account-dashboard { padding: 0.5rem 0; }
.account-welcome {
  display: flex;
  align-items: center;
  gap: 1.25rem;
  background: rgba(27,35,67,0.7);
  border: 1px solid rgba(212,175,55,0.12);
  border-radius: 4px;
  padding: 1.5rem;
  margin-bottom: 2rem;
}
.account-welcome img { border-radius: 50%; border: 2px solid rgba(212,175,55,0.3); }
.account-welcome h3 { font-family: var(--font-serif); font-size: 1.2rem; color: #fff; margin: 0 0 0.3rem; }
.account-welcome h3 span { color: var(--gold); }
.account-welcome p { font-size: 0.85rem; color: #9ca3af; margin: 0; }
.account-dashboard-grid {
  display: grid;
  grid-template-columns: repeat(auto-fill, minmax(160px, 1fr));
  gap: 1rem;
}
.dashboard-card {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 0.75rem;
  background: rgba(27,35,67,0.7);
  border: 1px solid rgba(212,175,55,0.12);
  border-radius: 4px;
  padding: 1.75rem 1rem;
  color: #d1d5db;
  text-align: center;
  font-size: 0.82rem;
  text-transform: uppercase;
  letter-spacing: 0.06em;
  transition: all 0.2s;
}
.dashboard-card:hover {
  border-color: var(--gold);
  color: var(--gold);
  background: rgba(212,175,55,0.05);
}
.dashboard-card svg { color: var(--gold); }

/* ---------- Login / Register Form ---------- */
.comanda-account-login { max-width: 520px; margin: 0 auto; }
.account-login-tabs {
  display: flex;
  border-bottom: 1px solid rgba(212,175,55,0.2);
  margin-bottom: 2rem;
}
.account-tab-btn {
  flex: 1;
  background: none;
  border: none;
  border-bottom: 3px solid transparent;
  color: #9ca3af;
  font-size: 0.85rem;
  text-transform: uppercase;
  letter-spacing: 0.08em;
  padding: 0.85rem;
  cursor: pointer;
  transition: all 0.2s;
  margin-bottom: -1px;
}
.account-tab-btn.active, .account-tab-btn:hover {
  color: var(--gold);
  border-bottom-color: var(--gold);
}
.account-tab-panel { display: none; }
.account-tab-panel.active { display: block; }
.comanda-account-login .woocommerce-form-row {
  margin-bottom: 1.25rem;
}
.comanda-account-login label {
  display: block;
  font-size: 0.8rem;
  text-transform: uppercase;
  letter-spacing: 0.06em;
  color: #9ca3af;
  margin-bottom: 0.4rem;
}
.comanda-account-login .input-text {
  width: 100% !important;
  background: rgba(27,35,67,0.8) !important;
  border: 1px solid rgba(212,175,55,0.2) !important;
  color: #fff !important;
  padding: 0.75rem 1rem !important;
  border-radius: 2px !important;
  font-size: 0.9rem !important;
  transition: border-color 0.2s !important;
}
.comanda-account-login .input-text:focus {
  border-color: var(--gold) !important;
  outline: none !important;
}
.comanda-account-login .login-actions {
  display: flex;
  align-items: center;
  justify-content: space-between;
  margin-bottom: 1.25rem;
  font-size: 0.8rem;
}
.comanda-account-login .remember-me {
  display: flex;
  align-items: center;
  gap: 0.4rem;
  color: #9ca3af;
  cursor: pointer;
}
.comanda-account-login .lost-password-link { color: var(--gold); font-size: 0.8rem; }
.comanda-account-login .account-switch-link {
  margin-top: 1rem;
  font-size: 0.82rem;
  color: #9ca3af;
  text-align: center;
}
.comanda-account-login .account-switch-link a { color: var(--gold); }

/* ---------- Product Meta (SKU, categories, tags) ---------- */
.product_meta {
  margin-top: 1.25rem;
  padding-top: 1.25rem;
  border-top: 1px solid rgba(212,175,55,0.12);
  font-size: 0.82rem;
  color: #9ca3af;
  display: flex;
  flex-direction: column;
  gap: 0.4rem;
}
.product_meta .sku_wrapper,
.product_meta .posted_in,
.product_meta .tagged_as { display: block; }
.product_meta .sku,
.product_meta a { color: var(--gold); }
.product_meta a:hover { text-decoration: underline; }

/* ---------- Product Badges ---------- */
.product-badges {
  position: absolute;
  top: 0.75rem;
  left: 0.75rem;
  z-index: 5;
  display: flex;
  flex-direction: column;
  gap: 0.3rem;
}
.product-badge {
  display: inline-block;
  padding: 0.2rem 0.6rem;
  font-size: 0.65rem;
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: 0.08em;
  border-radius: 2px;
  line-height: normal;
}
.badge-new      { background: #10b981; color: #fff; }
.badge-featured { background: var(--gold); color: var(--navy); }

/* ---------- Recently Viewed ---------- */
.recently-viewed-section { margin-top: 3.5rem; }
.recently-viewed-section > h3 {
  font-family: var(--font-serif);
  color: var(--gold);
  font-size: 1.5rem;
  margin-bottom: 1.5rem;
}

/* ---------- Quantity +/- Controls ---------- */
.qty-control {
  display: inline-flex;
  align-items: stretch;
  border: 1px solid rgba(212,175,55,0.3);
  border-radius: 2px;
  overflow: hidden;
}
.qty-control input.qty {
  width: 56px !important;
  text-align: center !important;
  background: rgba(27,35,67,0.8) !important;
  border: none !important;
  border-left: 1px solid rgba(212,175,55,0.2) !important;
  border-right: 1px solid rgba(212,175,55,0.2) !important;
  color: #fff !important;
  padding: 0.5rem !important;
  font-size: 0.9rem !important;
  -moz-appearance: textfield !important;
}
.qty-control input.qty::-webkit-inner-spin-button,
.qty-control input.qty::-webkit-outer-spin-button { -webkit-appearance: none !important; }
.qty-btn {
  background: rgba(27,35,67,0.6);
  border: none;
  color: #d1d5db;
  width: 36px;
  font-size: 1.1rem;
  cursor: pointer;
  transition: all 0.15s;
  display: flex;
  align-items: center;
  justify-content: center;
}
.qty-btn:hover { background: var(--gold); color: var(--navy); }

/* ---------- Breadcrumb ---------- */
.comanda-breadcrumb {
  margin-bottom: 1.5rem;
  font-size: 0.8rem;
}
.comanda-breadcrumb ol {
  list-style: none;
  margin: 0;
  padding: 0;
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 0.25rem;
}
.comanda-breadcrumb li { display: flex; align-items: center; gap: 0.25rem; }
.comanda-breadcrumb a { color: var(--gold); }
.comanda-breadcrumb a:hover { text-decoration: underline; }
.comanda-breadcrumb span { color: #6b7280; }
.comanda-breadcrumb .breadcrumb-sep { color: #4b5563; font-size: 0.7rem; }

/* ---------- Comments ---------- */
.comments-area { margin-top: 3rem; padding-top: 2rem; border-top: 1px solid rgba(212,175,55,0.12); }
.comments-title {
  font-family: var(--font-serif);
  color: var(--gold);
  font-size: 1.4rem;
  margin-bottom: 1.5rem;
}
.comments-title span { color: #fff; }
.comment-list { list-style: none; margin: 0; padding: 0; }
.comanda-comment { margin-bottom: 1.5rem; }
.comment-body {
  display: flex;
  gap: 1rem;
  background: rgba(27,35,67,0.5);
  border: 1px solid rgba(212,175,55,0.1);
  border-radius: 4px;
  padding: 1.25rem;
}
.comment-author-avatar img { border-radius: 50%; width: 48px; height: 48px; }
.comment-content-wrap { flex: 1; }
.comment-meta { display: flex; align-items: center; gap: 0.75rem; margin-bottom: 0.5rem; flex-wrap: wrap; }
.comment-author-name { font-weight: 600; color: #fff; font-size: 0.85rem; }
.comment-time { color: #6b7280; font-size: 0.78rem; }
.comment-text { color: #d1d5db; font-size: 0.88rem; line-height: 1.7; }
.comment-reply a { font-size: 0.78rem; color: var(--gold); margin-top: 0.5rem; display: inline-block; }
.comanda-comment-form .comment-form-comment textarea,
.comanda-comment-form .comment-form-author input,
.comanda-comment-form .comment-form-email input {
  background: rgba(27,35,67,0.8) !important;
  border: 1px solid rgba(212,175,55,0.2) !important;
  color: #fff !important;
  padding: 0.75rem 1rem !important;
  border-radius: 2px !important;
  width: 100% !important;
}
.comanda-comment-form label { color: #9ca3af; font-size: 0.82rem; display: block; margin-bottom: 0.3rem; }
.btn-gold, .comanda-comment-form .btn-gold {
  background: linear-gradient(135deg,var(--gold),#b8942a) !important;
  color: var(--navy) !important;
  border: none !important;
  padding: 0.75rem 2rem !important;
  font-weight: 600 !important;
  text-transform: uppercase !important;
  letter-spacing: 0.06em !important;
  border-radius: 2px !important;
  cursor: pointer !important;
}

/* ---------- Campaign / Announcement Bar ---------- */
.comanda-campaign-bar {
  background: var(--gold);
  color: var(--navy);
  text-align: center;
  font-size: 0.82rem;
  font-weight: 600;
  text-transform: uppercase;
  letter-spacing: 0.08em;
  padding: 0.55rem 3rem;
  position: relative;
}
.comanda-campaign-bar a { color: inherit; text-decoration: underline; }
.campaign-bar-close {
  position: absolute;
  right: 1rem;
  top: 50%;
  transform: translateY(-50%);
  background: none;
  border: none;
  color: var(--navy);
  font-size: 1.2rem;
  cursor: pointer;
  line-height: 1;
}

/* ---------- Dokan Store Filter ---------- */
.comanda-store-filter {
  display: flex;
  align-items: center;
  justify-content: space-between;
  flex-wrap: wrap;
  gap: 1rem;
  margin-bottom: 1.5rem;
  padding: 1rem 1.25rem;
  background: rgba(27,35,67,0.6);
  border: 1px solid rgba(212,175,55,0.12);
  border-radius: 4px;
}
.store-count { font-size: 0.85rem; color: #9ca3af; margin: 0; }
.store-count strong { color: #fff; }
.store-filter-right { display: flex; align-items: center; gap: 1rem; flex-wrap: wrap; }
.store-sort-form { display: flex; align-items: center; gap: 0.5rem; font-size: 0.82rem; color: #9ca3af; }
.store-sort-form select {
  background: rgba(27,35,67,0.8) !important;
  border: 1px solid rgba(212,175,55,0.2) !important;
  color: #d1d5db !important;
  padding: 0.4rem 0.75rem !important;
  border-radius: 2px !important;
  font-size: 0.82rem !important;
}
.store-view-toggles { display: flex; gap: 0.4rem; }
.view-btn {
  background: none;
  border: 1px solid rgba(212,175,55,0.2);
  color: #9ca3af;
  width: 32px; height: 32px;
  border-radius: 2px;
  cursor: pointer;
  display: flex; align-items: center; justify-content: center;
  transition: all 0.2s;
}
.view-btn.active, .view-btn:hover { border-color: var(--gold); color: var(--gold); }
.comanda-store-filter-form {
  background: rgba(27,35,67,0.8);
  border: 1px solid rgba(212,175,55,0.12);
  border-radius: 4px;
  padding: 1.25rem;
  margin-bottom: 1.5rem;
}
.store-search-wrap input {
  width: 100%;
  background: rgba(27,35,67,0.6) !important;
  border: 1px solid rgba(212,175,55,0.2) !important;
  color: #fff !important;
  padding: 0.65rem 1rem !important;
  border-radius: 2px !important;
  margin-bottom: 1rem;
}
.store-filter-actions { display: flex; gap: 0.75rem; justify-content: flex-end; }

/* ---------- Vendor Info on Product Page ---------- */
.comanda-vendor-info {
  display: flex;
  align-items: flex-start;
  gap: 1rem;
  background: rgba(27,35,67,0.7);
  border: 1px solid rgba(212,175,55,0.15);
  border-radius: 4px;
  padding: 1.25rem;
  margin-top: 1.5rem;
}
.comanda-vendor-info .vendor-avatar {
  width: 60px;
  height: 60px;
  border-radius: 50%;
  border: 2px solid rgba(212,175,55,0.3);
  object-fit: cover;
  flex-shrink: 0;
}
.comanda-vendor-info .vendor-details { flex: 1; }
.comanda-vendor-info .vendor-name a {
  font-family: var(--font-serif);
  font-size: 1rem;
  color: var(--gold);
  font-weight: 600;
}
.comanda-vendor-info .vendor-rating {
  display: flex;
  align-items: center;
  gap: 0.5rem;
  margin: 0.35rem 0;
  font-size: 0.8rem;
  color: #9ca3af;
}
.comanda-vendor-info .visit-store-link {
  display: inline-flex;
  align-items: center;
  gap: 0.3rem;
  font-size: 0.78rem;
  text-transform: uppercase;
  letter-spacing: 0.06em;
  color: var(--gold);
  margin-top: 0.5rem;
}
.comanda-vendor-info .visit-store-link:hover { text-decoration: underline; }

/* ---------- AJAX Search Results ---------- */
#comanda-search-results {
  position: absolute;
  top: 100%;
  left: 0;
  right: 0;
  background: #1b2343;
  border: 1px solid rgba(212,175,55,0.2);
  border-top: none;
  z-index: 9999;
  border-radius: 0 0 4px 4px;
  max-height: 360px;
  overflow-y: auto;
  display: none;
}
#comanda-search-results ul { list-style: none; margin: 0; padding: 0; }
#comanda-search-results li a {
  display: flex;
  align-items: center;
  gap: 0.75rem;
  padding: 0.65rem 1rem;
  border-bottom: 1px solid rgba(212,175,55,0.08);
  transition: background 0.15s;
}
#comanda-search-results li a:hover { background: rgba(212,175,55,0.06); }
#comanda-search-results li img { width: 40px; height: 40px; object-fit: cover; border-radius: 2px; flex-shrink: 0; }
#comanda-search-results .sr-title { flex: 1; font-size: 0.85rem; color: #e5e7eb; }
#comanda-search-results .sr-price { font-size: 0.82rem; color: var(--gold); white-space: nowrap; }
#search-bar { position: relative; }
