@import url('https://fonts.googleapis.com/css2?family=Bebas+Neue&family=Inter:wght@400;500;600;700&display=swap');

/* ==================================================
   BANDIT RESEARCH — CLEAN WOOCOMMERCE CSS
   Replaces the previous Additional CSS in full
================================================== */

/* ==================================================
   1. CHECKOUT — SHARED BASE
================================================== */

.woocommerce form .form-row input.input-text,
.woocommerce form .form-row textarea {
  padding: 10px;
  font-size: 14px;
}

.woocommerce-checkout-review-order {
  margin-top: 15px;
}

.woocommerce-checkout #order_review {
  padding: 10px;
}

body.woocommerce-checkout input[type="text"],
body.woocommerce-checkout input[type="email"],
body.woocommerce-checkout input[type="tel"],
body.woocommerce-checkout input[type="number"],
body.woocommerce-checkout input[type="password"],
body.woocommerce-checkout select,
body.woocommerce-checkout textarea,
body.woocommerce-checkout .input-text {
  background: #ffffff !important;
  color: #111111 !important;
  -webkit-text-fill-color: #111111 !important;
  border: 1px solid rgba(107, 33, 200, 0.40) !important;
  opacity: 1 !important;
}

/* Preserve the current dark desktop checkout appearance. */
@media (min-width: 922px) {
  body.woocommerce-checkout label,
  body.woocommerce-checkout h1,
  body.woocommerce-checkout h2,
  body.woocommerce-checkout h3,
  body.woocommerce-checkout p,
  body.woocommerce-checkout .shop_table th,
  body.woocommerce-checkout .shop_table td,
  body.woocommerce-checkout .payment_box,
  body.woocommerce-checkout .payment_box p,
  body.woocommerce-checkout .payment_box li,
  body.woocommerce-checkout .woocommerce-terms-and-conditions-wrapper,
  body.woocommerce-checkout .woocommerce-terms-and-conditions-wrapper a {
    color: #ffffff !important;
  }

  body.woocommerce-checkout .payment_box {
    background: rgba(107, 33, 200, 0.20) !important;
    border: 1px solid rgba(107, 33, 200, 0.40) !important;
  }
}

/* ==================================================
   2. CHECKOUT — REAL MOBILE/TABLET FIX
   Astra commonly switches layout at 921px, not 768px.
================================================== */

@media (max-width: 921px) {
  body.woocommerce-checkout,
  body.woocommerce-checkout #page,
  body.woocommerce-checkout #content,
  body.woocommerce-checkout .site,
  body.woocommerce-checkout .site-content,
  body.woocommerce-checkout .ast-site-content-wrap,
  body.woocommerce-checkout .ast-container,
  body.woocommerce-checkout .site-main,
  body.woocommerce-checkout article,
  body.woocommerce-checkout .entry-content,
  body.woocommerce-checkout .woocommerce {
    background: #ffffff !important;
    color: #111111 !important;
  }

  body.woocommerce-checkout .col2-set {
    display: block !important;
  }

  body.woocommerce-checkout .form-row {
    margin-bottom: 12px !important;
  }

  /* Classic checkout containers */
  body.woocommerce-checkout form.checkout,
  body.woocommerce-checkout #customer_details,
  body.woocommerce-checkout .woocommerce-billing-fields,
  body.woocommerce-checkout .woocommerce-shipping-fields,
  body.woocommerce-checkout .woocommerce-additional-fields,
  body.woocommerce-checkout #order_review,
  body.woocommerce-checkout .woocommerce-checkout-review-order,
  body.woocommerce-checkout #payment,
  body.woocommerce-checkout .woocommerce-checkout-payment,
  body.woocommerce-checkout #payment ul.payment_methods,
  body.woocommerce-checkout #payment .place-order {
    background: #ffffff !important;
    color: #111111 !important;
  }

  /* WooCommerce Block checkout containers */
  body.woocommerce-checkout .wc-block-checkout,
  body.woocommerce-checkout .wc-block-checkout__main,
  body.woocommerce-checkout .wc-block-checkout__sidebar,
  body.woocommerce-checkout .wc-block-components-sidebar-layout,
  body.woocommerce-checkout .wc-block-components-main,
  body.woocommerce-checkout .wc-block-components-sidebar,
  body.woocommerce-checkout .wc-block-components-totals-wrapper,
  body.woocommerce-checkout .wc-block-components-address-card,
  body.woocommerce-checkout .wc-block-components-checkout-step,
  body.woocommerce-checkout .wc-block-components-checkout-step__container,
  body.woocommerce-checkout .wc-block-components-radio-control-accordion-option,
  body.woocommerce-checkout .wc-block-components-radio-control__option {
    background: #ffffff !important;
    color: #111111 !important;
  }

  /* Text that was previously forced white */
  body.woocommerce-checkout label,
  body.woocommerce-checkout h1,
  body.woocommerce-checkout h2,
  body.woocommerce-checkout h3,
  body.woocommerce-checkout h4,
  body.woocommerce-checkout p,
  body.woocommerce-checkout li,
  body.woocommerce-checkout th,
  body.woocommerce-checkout td,
  body.woocommerce-checkout strong,
  body.woocommerce-checkout .amount,
  body.woocommerce-checkout .product-name,
  body.woocommerce-checkout .payment_box,
  body.woocommerce-checkout .payment_box p,
  body.woocommerce-checkout .payment_box li,
  body.woocommerce-checkout .woocommerce-terms-and-conditions-wrapper,
  body.woocommerce-checkout .wc-block-components-title,
  body.woocommerce-checkout .wc-block-components-checkout-step__heading,
  body.woocommerce-checkout .wc-block-components-checkout-step__description,
  body.woocommerce-checkout .wc-block-components-totals-item__label,
  body.woocommerce-checkout .wc-block-components-totals-item__value,
  body.woocommerce-checkout .wc-block-components-product-name,
  body.woocommerce-checkout .wc-block-components-radio-control__label,
  body.woocommerce-checkout .wc-block-components-radio-control__description {
    color: #111111 !important;
    -webkit-text-fill-color: #111111 !important;
    opacity: 1 !important;
    visibility: visible !important;
  }

  /* Classic and Block inputs */
  body.woocommerce-checkout input[type="text"],
  body.woocommerce-checkout input[type="email"],
  body.woocommerce-checkout input[type="tel"],
  body.woocommerce-checkout input[type="number"],
  body.woocommerce-checkout input[type="password"],
  body.woocommerce-checkout textarea,
  body.woocommerce-checkout select,
  body.woocommerce-checkout .input-text,
  body.woocommerce-checkout .wc-block-components-text-input input,
  body.woocommerce-checkout .wc-block-components-combobox-control input {
    background: #ffffff !important;
    color: #111111 !important;
    -webkit-text-fill-color: #111111 !important;
    border: 1px solid rgba(107, 33, 200, 0.45) !important;
    opacity: 1 !important;
  }

  /* Floating labels inside WooCommerce Block fields */
  body.woocommerce-checkout .wc-block-components-text-input label,
  body.woocommerce-checkout .wc-block-components-combobox-control label {
    color: #444444 !important;
    -webkit-text-fill-color: #444444 !important;
    opacity: 1 !important;
  }

  /* Country/state Select2 */
  body.woocommerce-checkout .select2-container .select2-selection--single {
    background: #ffffff !important;
    border: 1px solid rgba(107, 33, 200, 0.45) !important;
  }

  body.woocommerce-checkout .select2-container .select2-selection__rendered {
    color: #111111 !important;
    -webkit-text-fill-color: #111111 !important;
  }

  /* Payment description box */
  body.woocommerce-checkout #payment div.payment_box {
    background: #f3ecff !important;
    border: 1px solid rgba(107, 33, 200, 0.40) !important;
    color: #111111 !important;
  }

  body.woocommerce-checkout #payment div.payment_box::before {
    border-bottom-color: #f3ecff !important;
  }

  /* Checkout links */
  body.woocommerce-checkout form.checkout a,
  body.woocommerce-checkout #order_review a,
  body.woocommerce-checkout #payment a,
  body.woocommerce-checkout .woocommerce-terms-and-conditions-wrapper a,
  body.woocommerce-checkout .wc-block-checkout a {
    color: #6B21C8 !important;
    -webkit-text-fill-color: #6B21C8 !important;
  }

  /* Buttons stay white on purple */
  body.woocommerce-checkout button,
  body.woocommerce-checkout .button,
  body.woocommerce-checkout #place_order,
  body.woocommerce-checkout input[type="submit"],
  body.woocommerce-checkout .wc-block-components-button {
    background: #6B21C8 !important;
    border-color: #6B21C8 !important;
    color: #ffffff !important;
    -webkit-text-fill-color: #ffffff !important;
    opacity: 1 !important;
  }

  body.woocommerce-checkout .required {
    color: #cc0000 !important;
    -webkit-text-fill-color: #cc0000 !important;
  }

  body.woocommerce-checkout input::placeholder,
  body.woocommerce-checkout textarea::placeholder {
    color: #666666 !important;
    -webkit-text-fill-color: #666666 !important;
    opacity: 1 !important;
  }

  body.woocommerce-checkout table.shop_table,
  body.woocommerce-checkout table.shop_table th,
  body.woocommerce-checkout table.shop_table td {
    background: #ffffff !important;
    color: #111111 !important;
    border-color: rgba(17, 17, 17, 0.14) !important;
  }
}

/* ==================================================
   3. SHOP / PRODUCT ARCHIVES ONLY
   This no longer spills onto single-product pages.
================================================== */

body.woocommerce-shop .site-main,
body.tax-product_cat .site-main,
body.tax-product_tag .site-main {
  background: linear-gradient(135deg, #111111 0%, #6B21C8 100%) !important;
  min-height: 100vh !important;
  padding: 0 !important;
}

body.woocommerce-shop .woocommerce,
body.tax-product_cat .woocommerce,
body.tax-product_tag .woocommerce {
  background: transparent !important;
  padding: 0 !important;
  max-width: 100% !important;
}

/* Bandit Vault header */
body.woocommerce-shop header.woocommerce-products-header,
body.tax-product_cat header.woocommerce-products-header,
body.tax-product_tag header.woocommerce-products-header {
  background: linear-gradient(135deg, #0a0a0a 0%, #1a0a35 50%, #3d1580 100%) !important;
  padding: 48px 56px 44px !important;
  min-height: 180px !important;
  display: flex !important;
  flex-direction: column !important;
  justify-content: center !important;
}

body.woocommerce-shop header.woocommerce-products-header::before,
body.tax-product_cat header.woocommerce-products-header::before,
body.tax-product_tag header.woocommerce-products-header::before {
  content: "SAME DAY DISPATCH · VERIFIED PURITY · BUILT FOR RESEARCHERS" !important;
  font-family: 'Inter', sans-serif !important;
  font-size: 9px !important;
  font-weight: 600 !important;
  letter-spacing: 4px !important;
  color: rgba(180, 130, 255, 0.80) !important;
  display: block !important;
  margin-bottom: 14px !important;
  text-transform: uppercase !important;
}

body.woocommerce-shop header.woocommerce-products-header::after,
body.tax-product_cat header.woocommerce-products-header::after,
body.tax-product_tag header.woocommerce-products-header::after {
  content: "THE BANDIT VAULT" !important;
  font-family: 'Bebas Neue', sans-serif !important;
  font-size: 76px !important;
  letter-spacing: 10px !important;
  color: #ffffff !important;
  display: block !important;
  line-height: 1 !important;
}

/* Product grid */
body.woocommerce-shop ul.products,
body.tax-product_cat ul.products,
body.tax-product_tag ul.products {
  display: grid !important;
  grid-template-columns: repeat(4, 1fr) !important;
  gap: 1px !important;
  background: rgba(107, 33, 200, 0.20) !important;
  padding: 1px 0 !important;
  margin: 0 !important;
  list-style: none !important;
  float: none !important;
  width: 100% !important;
}

/* Product cards */
body.woocommerce-shop ul.products li.product,
body.tax-product_cat ul.products li.product,
body.tax-product_tag ul.products li.product {
  background: #1a0a35 !important;
  border: none !important;
  border-radius: 0 !important;
  margin: 0 !important;
  padding: 0 !important;
  float: none !important;
  width: 100% !important;
  transition: background 0.25s ease !important;
  position: relative !important;
  overflow: hidden !important;
}

body.woocommerce-shop ul.products li.product:hover,
body.tax-product_cat ul.products li.product:hover,
body.tax-product_tag ul.products li.product:hover {
  background: #2d1060 !important;
}

/* Product images */
body.woocommerce-shop ul.products li.product a img,
body.tax-product_cat ul.products li.product a img,
body.tax-product_tag ul.products li.product a img {
  width: 100% !important;
  height: auto !important;
  aspect-ratio: 1 !important;
  object-fit: cover !important;
  display: block !important;
  margin: 0 !important;
  transition: transform 0.30s ease !important;
}

/* Product titles */
body.woocommerce-shop ul.products li.product .woocommerce-loop-product__title,
body.woocommerce-shop ul.products li.product h2,
body.tax-product_cat ul.products li.product .woocommerce-loop-product__title,
body.tax-product_cat ul.products li.product h2,
body.tax-product_tag ul.products li.product .woocommerce-loop-product__title,
body.tax-product_tag ul.products li.product h2 {
  font-family: 'Bebas Neue', sans-serif !important;
  font-size: 20px !important;
  letter-spacing: 2px !important;
  color: #ffffff !important;
  padding: 14px 16px 2px !important;
  margin: 0 !important;
}

/* Prices */
body.woocommerce-shop ul.products li.product .price,
body.tax-product_cat ul.products li.product .price,
body.tax-product_tag ul.products li.product .price {
  font-family: 'Inter', sans-serif !important;
  font-size: 15px !important;
  font-weight: 600 !important;
  color: #ffffff !important;
  padding: 4px 16px 14px !important;
  margin: 0 !important;
}

/* Add-to-cart buttons */
body.woocommerce-shop ul.products li.product .button,
body.tax-product_cat ul.products li.product .button,
body.tax-product_tag ul.products li.product .button {
  display: block !important;
  width: calc(100% - 32px) !important;
  margin: 0 16px 16px !important;
  padding: 10px 0 !important;
  background: #6B21C8 !important;
  border: 1px solid #6B21C8 !important;
  border-radius: 3px !important;
  color: #ffffff !important;
  font-family: 'Inter', sans-serif !important;
  font-size: 10px !important;
  font-weight: 700 !important;
  letter-spacing: 2px !important;
  text-transform: uppercase !important;
  text-align: center !important;
  cursor: pointer !important;
  transition: all 0.20s ease !important;
}

/* Sale badges */
body.woocommerce-shop ul.products li.product .onsale,
body.tax-product_cat ul.products li.product .onsale,
body.tax-product_tag ul.products li.product .onsale {
  background: linear-gradient(90deg, #6B21C8, #9B51E0) !important;
  color: #ffffff !important;
  font-size: 9px !important;
  font-weight: 700 !important;
  letter-spacing: 2px !important;
  text-transform: uppercase !important;
  padding: 4px 10px !important;
  border-radius: 3px !important;
}

/* ==================================================
   4. SINGLE PRODUCT — LIGHT, READABLE, STILL BRANDED
================================================== */

body.single-product,
body.single-product #page,
body.single-product #content,
body.single-product .site,
body.single-product .site-content,
body.single-product .ast-site-content-wrap,
body.single-product .ast-container {
  background: #f7f5fb !important;
}

body.single-product .site-main,
body.single-product #main {
  background: transparent !important;
}

body.single-product div.product {
  background: #ffffff !important;
  border: 1px solid rgba(107, 33, 200, 0.16) !important;
  border-radius: 12px !important;
  padding: 28px !important;
  box-shadow: 0 12px 34px rgba(20, 8, 45, 0.08) !important;
}

/* Product summary text */
body.single-product .entry-summary,
body.single-product .entry-summary h1,
body.single-product .entry-summary h2,
body.single-product .entry-summary h3,
body.single-product .entry-summary p,
body.single-product .entry-summary .stock,
body.single-product .woocommerce-product-details__short-description,
body.single-product .woocommerce-product-details__short-description p {
  color: #17131f !important;
}

body.single-product .entry-summary h1 {
  font-family: 'Bebas Neue', sans-serif !important;
  letter-spacing: 2px !important;
}

body.single-product .entry-summary .price,
body.single-product .entry-summary .price .amount {
  color: #6B21C8 !important;
  font-weight: 700 !important;
}

body.single-product .woocommerce-breadcrumb,
body.single-product .woocommerce-breadcrumb a {
  color: #6B21C8 !important;
}

/* Product tabs and long description */
body.single-product .woocommerce-tabs {
  background: #ffffff !important;
  border-top: 1px solid rgba(107, 33, 200, 0.16) !important;
  margin-top: 30px !important;
  padding-top: 24px !important;
}

body.single-product .woocommerce-Tabs-panel,
body.single-product .woocommerce-Tabs-panel p,
body.single-product .woocommerce-Tabs-panel li,
body.single-product .woocommerce-Tabs-panel h1,
body.single-product .woocommerce-Tabs-panel h2,
body.single-product .woocommerce-Tabs-panel h3,
body.single-product .woocommerce-Reviews-title,
body.single-product .comment-form label,
body.single-product .comment-notes {
  color: #17131f !important;
}

body.single-product .woocommerce-tabs ul.tabs li a {
  color: #5f566c !important;
}

body.single-product .woocommerce-tabs ul.tabs li.active a {
  color: #6B21C8 !important;
}

/* Product form fields and buttons */
body.single-product .comment-form input[type="text"],
body.single-product .comment-form input[type="email"],
body.single-product .comment-form textarea,
body.single-product form.cart input,
body.single-product form.cart select {
  background: #ffffff !important;
  color: #111111 !important;
  -webkit-text-fill-color: #111111 !important;
  border: 1px solid rgba(107, 33, 200, 0.32) !important;
}

body.single-product .single_add_to_cart_button,
body.single-product .button {
  background: #6B21C8 !important;
  border-color: #6B21C8 !important;
  color: #ffffff !important;
}

/* Related products remain readable */
body.single-product .related.products > h2,
body.single-product .upsells.products > h2 {
  color: #17131f !important;
  font-family: 'Bebas Neue', sans-serif !important;
  letter-spacing: 2px !important;
}

body.single-product .related.products li.product,
body.single-product .upsells.products li.product {
  background: #ffffff !important;
  border: 1px solid rgba(107, 33, 200, 0.14) !important;
  border-radius: 8px !important;
  padding-bottom: 14px !important;
}

body.single-product .related.products li.product h2,
body.single-product .related.products li.product .price,
body.single-product .upsells.products li.product h2,
body.single-product .upsells.products li.product .price {
  color: #17131f !important;
}

/* ==================================================
   5. TABLET / MOBILE SHOP AND PRODUCT TUNING
================================================== */

@media (max-width: 1024px) {
  body.woocommerce-shop ul.products,
  body.tax-product_cat ul.products,
  body.tax-product_tag ul.products {
    grid-template-columns: repeat(3, 1fr) !important;
  }

  body.woocommerce-shop header.woocommerce-products-header,
  body.tax-product_cat header.woocommerce-products-header,
  body.tax-product_tag header.woocommerce-products-header {
    padding: 36px 32px !important;
  }

  body.woocommerce-shop header.woocommerce-products-header::after,
  body.tax-product_cat header.woocommerce-products-header::after,
  body.tax-product_tag header.woocommerce-products-header::after {
    font-size: 56px !important;
  }
}

@media (max-width: 768px) {
  body.woocommerce-shop ul.products,
  body.tax-product_cat ul.products,
  body.tax-product_tag ul.products {
    grid-template-columns: 1fr !important;
    max-width: 420px !important;
    margin-left: auto !important;
    margin-right: auto !important;
  }

  body.woocommerce-shop header.woocommerce-products-header,
  body.tax-product_cat header.woocommerce-products-header,
  body.tax-product_tag header.woocommerce-products-header {
    padding: 28px 24px !important;
    min-height: 120px !important;
  }

  body.woocommerce-shop header.woocommerce-products-header::before,
  body.tax-product_cat header.woocommerce-products-header::before,
  body.tax-product_tag header.woocommerce-products-header::before {
    letter-spacing: 2px !important;
    line-height: 1.5 !important;
  }

  body.woocommerce-shop header.woocommerce-products-header::after,
  body.tax-product_cat header.woocommerce-products-header::after,
  body.tax-product_tag header.woocommerce-products-header::after {
    font-size: 38px !important;
    letter-spacing: 5px !important;
  }

  body.single-product div.product {
    border-radius: 8px !important;
    padding: 18px !important;
  }
}

/* ==================================================
   6. YITH FILTER / ASTRA SIDEBAR CLEANUP
================================================== */

body.woocommerce-shop .yith-wcan-container,
body.woocommerce-shop .yith-wcan,
body.woocommerce-shop .yith-wcan-filters,
body.woocommerce-shop .widget_yith-wcan-session-filter,
body.tax-product_cat .yith-wcan-container,
body.tax-product_cat .yith-wcan,
body.tax-product_cat .yith-wcan-filters,
body.tax-product_cat .widget_yith-wcan-session-filter,
body.tax-product_tag .yith-wcan-container,
body.tax-product_tag .yith-wcan,
body.tax-product_tag .yith-wcan-filters,
body.tax-product_tag .widget_yith-wcan-session-filter {
  display: none !important;
  border: none !important;
  margin: 0 !important;
  padding: 0 !important;
  width: 0 !important;
}

body.woocommerce #secondary,
body.woocommerce-page #secondary,
body.woocommerce .ast-primary-sidebar,
body.woocommerce-page .ast-primary-sidebar {
  display: none !important;
  border: none !important;
  width: 0 !important;
  min-width: 0 !important;
  padding: 0 !important;
  margin: 0 !important;
  flex: none !important;
}

/* ==================================================
   7. BANDIT DIRECT-SHIP PORTAL — PAGE 2541
   Avoids forcing every div and span on the page white.
================================================== */

body.page-id-2541,
body.page-id-2541 .entry-content,
body.page-id-2541 .entry-content p,
body.page-id-2541 .entry-content h1,
body.page-id-2541 .entry-content h2,
body.page-id-2541 .entry-content h3,
body.page-id-2541 .entry-content h4,
body.page-id-2541 .entry-content h5,
body.page-id-2541 .entry-content h6,
body.page-id-2541 .entry-content li,
body.page-id-2541 .entry-content label,
body.page-id-2541 .entry-content strong,
body.page-id-2541 .entry-content table,
body.page-id-2541 .entry-content th,
body.page-id-2541 .entry-content td,
body.page-id-2541 .woocommerce-MyAccount-content,
body.page-id-2541 .woocommerce-MyAccount-navigation {
  color: #ffffff !important;
}

body.page-id-2541 .entry-content a,
body.page-id-2541 .woocommerce-MyAccount-content a,
body.page-id-2541 .woocommerce-MyAccount-navigation a {
  color: #c7b3ff !important;
}

body.page-id-2541 input,
body.page-id-2541 select,
body.page-id-2541 textarea,
body.page-id-2541 .input-text {
  color: #111111 !important;
  -webkit-text-fill-color: #111111 !important;
  background-color: #ffffff !important;
  text-transform: none !important;
  letter-spacing: normal !important;
  font-family: inherit !important;
}

body.page-id-2541 button,
body.page-id-2541 .button,
body.page-id-2541 input[type="submit"] {
  color: #ffffff !important;
  -webkit-text-fill-color: #ffffff !important;
  background-color: #6f3cff !important;
  border-color: #6f3cff !important;
}

body.page-id-2541 .woocommerce,
body.page-id-2541 .b2bking_bulkorder_form_container,
body.page-id-2541 .woocommerce-MyAccount-content,
body.page-id-2541 .woocommerce-MyAccount-navigation {
  background: transparent !important;
}

body.page-id-2541 label,
body.page-id-2541 .woocommerce-form label,
body.page-id-2541 .woocommerce-form-login label {
  text-transform: none !important;
  letter-spacing: normal !important;
}