/*
 * Core Cheats refreshed visual system
 * Custom CSS is loaded after pro.css and component styles, so these rules safely reskin the new build.
*/
:root {
  --core-accent: #006eff;
  --core-accent-2: #00d4ff;
  --core-bg: #030514;
  --core-panel: rgba(6, 5, 44, 0.72);
  --core-panel-2: rgba(9, 18, 45, 0.74);
  --core-border: rgba(0, 110, 255, 0.24);
  --core-text: #f6f9ff;
  --core-muted: rgba(246, 249, 255, 0.68);
  --core-radius: 24px;
}

html {
  scroll-behavior: smooth;
}

body {
  color: var(--core-text);
  background:
    radial-gradient(circle at 10% 10%, rgba(0, 110, 255, 0.26), transparent 26rem),
    radial-gradient(circle at 90% 22%, rgba(0, 212, 255, 0.14), transparent 24rem),
    radial-gradient(circle at 50% 90%, rgba(88, 101, 242, 0.13), transparent 30rem),
    linear-gradient(180deg, #02030d 0%, var(--core-bg) 44%, #01020a 100%) !important;
  min-height: 100vh;
}

body > div[style*="background-image"] {
  opacity: .28;
  filter: saturate(1.1) contrast(1.04);
}

.flex-wrapper,
main,
.component,
.container {
  position: relative;
}

.component:not(.navbar):not(.hero),
.card,
.modal-content,
.dropdown-menu,
.accordion-item,
.table,
.products-filter,
.product-info,
.product-form,
.cart-item,
.feedback-card,
.status-card,
.ticket-card,
.customer-sidebar,
.customer-card {
  border: 1px solid var(--core-border) !important;
  border-radius: var(--core-radius) !important;
  background:
    linear-gradient(145deg, rgba(255, 255, 255, 0.055), rgba(255, 255, 255, 0.018)),
    var(--core-panel) !important;
  box-shadow: 0 20px 70px rgba(0, 0, 0, 0.33), inset 0 1px 0 rgba(255, 255, 255, 0.06) !important;
  backdrop-filter: blur(18px) saturate(145%);
  -webkit-backdrop-filter: blur(18px) saturate(145%);
}

.hero.compact {
  min-height: 720px !important;
  border-bottom: 1px solid rgba(0, 110, 255, .22);
  background:
    radial-gradient(circle at 20% 18%, rgba(0, 110, 255, .32), transparent 30rem),
    radial-gradient(circle at 82% 38%, rgba(0, 212, 255, .18), transparent 28rem),
    linear-gradient(180deg, rgba(3, 5, 20, .72), rgba(1, 2, 10, .98)) !important;
}

.hero.compact .badge,
.badge,
.uhq-badge,
.product-card .badge,
.product-card .uhq-badge {
  border: 1px solid rgba(255, 255, 255, .12) !important;
  background: linear-gradient(135deg, var(--core-accent), var(--core-accent-2)) !important;
  box-shadow: 0 0 24px rgba(0, 110, 255, .34) !important;
}

.hero-title,
.cb-brand-text,
h1, h2, h3, h4, h5, h6 {
  letter-spacing: -.025em;
}

.hero-title .highlight,
.highlight,
a:not(.btn):not(.nav-link):not(.navbar-brand) {
  color: var(--core-accent-2);
}

.btn,
.btn-dark,
.product-button,
button[type="submit"],
input[type="submit"] {
  border-radius: 999px !important;
  border: 1px solid rgba(255, 255, 255, .13) !important;
  background: linear-gradient(135deg, var(--core-accent), #1648ff 52%, var(--core-accent-2)) !important;
  color: #fff !important;
  box-shadow: 0 12px 34px rgba(0, 110, 255, .28), inset 0 1px 0 rgba(255, 255, 255, .16) !important;
  transition: transform .22s ease, box-shadow .22s ease, filter .22s ease !important;
}

.btn:hover,
.btn-dark:hover,
.product-button:hover,
button[type="submit"]:hover,
input[type="submit"]:hover {
  transform: translateY(-2px) !important;
  filter: brightness(1.08);
  box-shadow: 0 18px 44px rgba(0, 110, 255, .42), 0 0 28px rgba(0, 212, 255, .22) !important;
}

.product-card {
  border-radius: 26px !important;
  background:
    linear-gradient(145deg, rgba(0, 110, 255, .10), rgba(255, 255, 255, .035)),
    rgba(4, 8, 24, .82) !important;
  border: 1px solid rgba(0, 110, 255, .24) !important;
  box-shadow: 0 22px 55px rgba(0, 0, 0, .32), inset 0 1px 0 rgba(255, 255, 255, .06) !important;
  backdrop-filter: blur(16px) saturate(140%);
  -webkit-backdrop-filter: blur(16px) saturate(140%);
}

.product-card:hover {
  transform: translateY(-8px) scale(1.012) !important;
  border-color: rgba(0, 212, 255, .46) !important;
  box-shadow: 0 28px 70px rgba(0, 0, 0, .44), 0 0 40px rgba(0, 110, 255, .24) !important;
}

.product-card .product-image {
  height: 220px !important;
  margin: 10px;
  border-radius: 20px;
  border: 1px solid rgba(255, 255, 255, .08);
  background: rgba(0, 0, 0, .24);
}

.product-card h5 {
  font-size: 1.08rem !important;
  color: #fff !important;
}

.product-card .price,
.price {
  color: var(--core-accent-2) !important;
  text-shadow: 0 0 18px rgba(0, 212, 255, .2);
}

input,
select,
textarea,
.form-control,
.form-select,
.choices__inner {
  border-radius: 16px !important;
  border: 1px solid rgba(0, 110, 255, .28) !important;
  background: rgba(1, 3, 14, .68) !important;
  color: #fff !important;
  box-shadow: inset 0 1px 0 rgba(255, 255, 255, .04) !important;
}

input:focus,
select:focus,
textarea:focus,
.form-control:focus,
.form-select:focus {
  border-color: rgba(0, 212, 255, .58) !important;
  box-shadow: 0 0 0 .22rem rgba(0, 110, 255, .16), inset 0 1px 0 rgba(255, 255, 255, .06) !important;
}

.currency-selector.cb-currency-switcher {
  position: relative;
  z-index: 5;
}

.currency-selector.cb-currency-switcher .choices[data-type*="select-one"]::after {
  border-color: #fff transparent transparent transparent !important;
  right: 14px !important;
}

.currency-selector.cb-currency-switcher .choices__list--dropdown .choices__item,
.currency-selector.cb-currency-switcher .choices__list[aria-expanded] .choices__item {
  padding: 10px 12px !important;
  color: #edf6ff !important;
}

.currency-selector.cb-currency-switcher .choices__list--dropdown .choices__item--selectable.is-highlighted,
.currency-selector.cb-currency-switcher .choices__list[aria-expanded] .choices__item--selectable.is-highlighted {
  background: rgba(0, 110, 255, .20) !important;
}

.footer,
footer {
  border-top: 1px solid rgba(0, 110, 255, .22);
  background: linear-gradient(180deg, rgba(3, 5, 20, .26), rgba(1, 2, 10, .82));
}

::-webkit-scrollbar {
  width: 10px;
}

::-webkit-scrollbar-track {
  background: #02030d;
}

::-webkit-scrollbar-thumb {
  background: linear-gradient(180deg, var(--core-accent), var(--core-accent-2));
  border-radius: 999px;
}

@media (max-width: 991.98px) {
  .cb-navbar {
    width: calc(100% - 16px) !important;
    margin-top: 8px !important;
    border-radius: 20px !important;
  }

  .cb-currency-switcher,
  .cb-currency-switcher select,
  .cb-currency-switcher .choices__inner {
    width: 100% !important;
    max-width: 100% !important;
  }

  .hero.compact {
    min-height: 640px !important;
    padding-top: 84px !important;
  }
}

/* Keep the currency pill vertically centered beside the cart. */
.currency-selector.cb-currency-switcher,
.currency-selector.cb-currency-switcher .choices {
  height: 38px !important;
  margin: 0 !important;
  display: flex !important;
  align-items: center !important;
}

.currency-selector.cb-currency-switcher .choices__inner {
  height: 38px !important;
  min-height: 38px !important;
  padding: 0 32px 0 14px !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
}

.currency-selector.cb-currency-switcher .choices__list--single {
  width: 100% !important;
  height: 100% !important;
  padding: 0 !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
}

.currency-selector.cb-currency-switcher .choices__item {
  line-height: 1 !important;
  display: flex !important;
  align-items: center !important;
}

.currency-selector.cb-currency-switcher .choices[data-type*="select-one"]::after {
  top: 50% !important;
  transform: translateY(-50%) !important;
  margin-top: 0 !important;
}

/* Make product/variant currency prices readable on the blue/glass theme. */
.product-wrapper .tm-checkout .variant .price,
.variants .variant .price {
  color: #ffffff !important;
  background: linear-gradient(135deg, rgba(0, 110, 255, 0.95), rgba(0, 212, 255, 0.82)) !important;
  border: 1px solid rgba(255, 255, 255, 0.22) !important;
  border-radius: 12px !important;
  box-shadow: 0 8px 22px rgba(0, 110, 255, 0.28), inset 0 1px 0 rgba(255, 255, 255, 0.22) !important;
  text-shadow: 0 1px 2px rgba(0, 0, 0, 0.45) !important;
  font-weight: 900 !important;
  letter-spacing: 0.01em !important;
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  min-width: 96px !important;
  padding: 0.42rem 0.72rem !important;
  line-height: 1.1 !important;
}

.product-wrapper .tm-checkout .variant .price span,
.variants .variant .price span,
.product-wrapper .tm-checkout .variant .price s,
.variants .variant .price s {
  color: inherit !important;
  text-shadow: inherit !important;
}

.product-wrapper .tm-checkout .variant.active .price {
  background: linear-gradient(135deg, #ffffff, #dff6ff) !important;
  color: #04152c !important;
  text-shadow: none !important;
  box-shadow: 0 10px 24px rgba(0, 212, 255, 0.28), inset 0 1px 0 rgba(255, 255, 255, 0.8) !important;
}

.product-wrapper .tm-checkout .variant.is-out .price {
  opacity: 0.72 !important;
  color: rgba(255, 255, 255, 0.92) !important;
}

@media (max-width: 600px) {
  .product-wrapper .tm-checkout .variant .price,
  .variants .variant .price {
    min-width: 104px !important;
    font-size: 0.98rem !important;
  }
}
