:root {
  --lava-primary: #ff5a3d;
  --lava-secondary: #ffb13d;
  --lava-glow: rgba(255, 90, 61, 0.38);
  --lava-page-bg: #08090d;
  --lava-panel-bg: rgba(18, 20, 29, 0.64);
  --lava-panel-strong: rgba(24, 27, 39, 0.82);
  --lava-panel-soft: rgba(255, 255, 255, 0.055);
  --lava-glass-bg: rgba(14, 16, 25, 0.54);
  --lava-glass-bg-strong: rgba(16, 18, 28, 0.74);
  --lava-border: rgba(255, 255, 255, 0.14);
  --lava-border-strong: rgba(255, 255, 255, 0.22);
  --lava-text: #f6f7fb;
  --lava-muted: rgba(246, 247, 251, 0.72);
  --lava-shadow: 0 18px 70px rgba(0, 0, 0, 0.34);
}

html {
  background: var(--lava-page-bg);
}

body {
  background-color: var(--lava-page-bg) !important;
  background:
    radial-gradient(circle at 12% 12%, color-mix(in srgb, var(--lava-primary) 18%, transparent), transparent 30rem),
    radial-gradient(circle at 86% 8%, color-mix(in srgb, var(--lava-secondary) 12%, transparent), transparent 34rem),
    linear-gradient(145deg, #08090d 0%, #0d1018 48%, #07080c 100%) !important;
  color: var(--lava-text);
}

body.lava-theme-ready {
  min-height: 100vh;
}

.lava-theme-bg {
  position: fixed;
  inset: 0;
  z-index: 0;
  overflow: hidden;
  pointer-events: none;
  background: transparent;
  filter: none !important;
  backdrop-filter: none !important;
}

.lava-theme-canvas {
  width: 100% !important;
  height: 100% !important;
  opacity: 0.68 !important;
  filter: none !important;
  transform: none !important;
  backdrop-filter: none !important;
}

.lava-theme-bg *,
body.lava-theme-ready .lava-theme-bg,
body.lava-theme-ready .lava-theme-bg > .lava-theme-canvas {
  filter: none !important;
  transform: none !important;
  backdrop-filter: none !important;
}

#header,
#wrapper,
#footer,
main,
.footer-container {
  position: relative;
  z-index: 1;
}

#header {
  background: rgba(9, 11, 17, 0.72) !important;
  color: var(--lava-text);
  border-bottom: 1px solid var(--lava-border);
  box-shadow: 0 12px 42px rgba(0, 0, 0, 0.28);
  backdrop-filter: blur(18px) saturate(145%);
}

#header .header-nav,
#header .header-top,
#header .top-menu,
#header .menu,
#header .header-top .menu {
  background: transparent !important;
}

#header a,
#header .header-nav a,
#header .header-top a,
#header .top-menu a,
#header .material-icons,
#header .blockcart,
#header .user-info,
#header .language-selector,
#header .currency-selector {
  color: var(--lava-text) !important;
}

#header a:hover,
#header .top-menu a:hover,
#header .material-icons:hover {
  color: var(--lava-secondary) !important;
}

#wrapper {
  background: transparent !important;
  box-shadow: none !important;
}

#wrapper .container,
.page-content,
.page-cms,
.block-category,
.featured-products,
.new-products,
.product-accessories,
.tabs,
.card,
.cart-grid-body,
.cart-grid-right,
.checkout-step,
.contact-form,
.js-address-form,
.page-addresses .address,
.page-authentication #content,
.page-customer-account #content,
.product-information,
.product-actions,
#products .products,
#search_filters,
#js-product-list-top,
#js-product-list-bottom {
  color: var(--lava-text);
}

.page-content,
.block-category,
.tabs,
.card,
.cart-grid-body,
.cart-grid-right,
.checkout-step,
.contact-form,
.js-address-form,
.page-addresses .address,
.page-authentication #content,
.page-customer-account #content,
#search_filters,
.product-information,
.product-actions,
#custom-text,
.custom-text,
.block_newsletter {
  background: var(--lava-glass-bg) !important;
  border: 1px solid var(--lava-border);
  border-radius: 8px;
  box-shadow: var(--lava-shadow);
  backdrop-filter: blur(14px) saturate(138%);
}

.product-miniature .thumbnail-container,
.product-cover,
.product-images > li.thumb-container .thumb,
.product-variants > .product-variants-item select,
.images-container .product-cover,
.product-flags li.product-flag,
.facet,
.pagination,
.breadcrumb {
  background: rgba(14, 16, 25, 0.42) !important;
  border: 1px solid var(--lava-border);
  border-radius: 8px;
  box-shadow: 0 12px 36px rgba(0, 0, 0, 0.24);
}

.product-miniature .thumbnail-container {
  overflow: hidden;
  backdrop-filter: blur(10px) saturate(130%);
}

.product-miniature .product-description {
  background: var(--lava-glass-bg-strong) !important;
  border-top: 1px solid var(--lava-border);
  backdrop-filter: blur(16px) saturate(150%);
  box-shadow: 0 -10px 28px rgba(0, 0, 0, 0.22);
}

.product-miniature .product-description,
.product-miniature .product-title,
.product-miniature .product-title a,
.product-miniature .product-price-and-shipping,
.product-miniature .price {
  color: var(--lava-text) !important;
}

.product-miniature .regular-price,
.product-miniature .discount-percentage,
.product-miniature .discount-amount {
  color: var(--lava-muted) !important;
}

.product-miniature .thumbnail-container img,
.product-cover img,
.images-container .product-cover img {
  background: #ffffff;
  border-radius: 7px 7px 0 0;
}

.banner,
.banner img,
.carousel,
.carousel .carousel-inner,
.homeslider,
.ps_imageslider,
.displayBanner,
#displayBanner,
.block-banner {
  background: transparent !important;
  border: 0 !important;
  box-shadow: none !important;
  backdrop-filter: none !important;
}

.product-miniature .product-title a,
.product-title,
.h1,
.h2,
.h3,
h1,
h2,
h3,
h4,
.tabs .nav-tabs .nav-link,
.product-price,
.current-price,
.regular-price,
.label,
label {
  color: var(--lava-text) !important;
}

p,
.product-description,
.product-information,
.block-category .block-category-inner,
.breadcrumb a,
.breadcrumb li::after,
.text-muted,
.tabs .tab-pane,
.facet-label,
.footer-container,
.footer-container li a,
.account-list a,
.footer-container .h3,
.footer-container .h4 {
  color: var(--lava-muted) !important;
}

a,
.btn-link {
  color: color-mix(in srgb, var(--lava-secondary) 84%, #ffffff) !important;
}

a:hover,
.btn-link:hover {
  color: var(--lava-secondary) !important;
}

.btn-primary,
.add-to-cart,
.product-add-to-cart .btn-primary,
.cart-detailed-actions .btn-primary,
button[name="submitNewsletter"] {
  color: #101116 !important;
  background:
    linear-gradient(135deg, var(--lava-secondary), var(--lava-primary)) !important;
  border: 0 !important;
  border-radius: 8px;
  box-shadow: 0 0 26px var(--lava-glow), 0 10px 26px rgba(0, 0, 0, 0.28);
}

.btn-primary:hover,
.add-to-cart:hover,
.product-add-to-cart .btn-primary:hover {
  filter: brightness(1.08);
  transform: translateY(-1px);
}

.btn-secondary,
.btn-tertiary,
.bootstrap-touchspin .btn-touchspin,
.input-group .input-group-btn > .btn {
  color: var(--lava-text) !important;
  background: rgba(255, 255, 255, 0.09) !important;
  border: 1px solid var(--lava-border-strong) !important;
  border-radius: 8px;
  backdrop-filter: blur(14px);
}

input,
select,
textarea,
.form-control,
.input-group,
.custom-select {
  color: var(--lava-text) !important;
  background: rgba(255, 255, 255, 0.08) !important;
  border: 1px solid var(--lava-border) !important;
  border-radius: 8px !important;
  box-shadow: none !important;
}

input::placeholder,
textarea::placeholder {
  color: rgba(246, 247, 251, 0.46) !important;
}

input:focus,
select:focus,
textarea:focus,
.form-control:focus {
  border-color: color-mix(in srgb, var(--lava-secondary) 74%, #ffffff) !important;
  box-shadow: 0 0 0 0.18rem color-mix(in srgb, var(--lava-primary) 22%, transparent) !important;
}

.dropdown-menu,
.popover,
.modal-content,
.search-widget form input[type="text"],
.ui-autocomplete {
  color: var(--lava-text);
  background: rgba(16, 18, 27, 0.88) !important;
  border: 1px solid var(--lava-border);
  border-radius: 8px;
  box-shadow: 0 18px 60px rgba(0, 0, 0, 0.38);
  backdrop-filter: blur(14px) saturate(145%);
}

.dropdown-menu a,
.popover a,
.modal-content a {
  color: var(--lava-text) !important;
}

.dropdown-menu a:hover,
.popover a:hover {
  background: rgba(255, 255, 255, 0.08) !important;
}

.nav-tabs {
  border-bottom: 1px solid var(--lava-border);
}

.tabs .nav-tabs .nav-link.active,
.tabs .nav-tabs .nav-link:hover {
  color: var(--lava-secondary) !important;
  border-color: transparent transparent var(--lava-secondary) transparent;
  background: transparent;
}

.footer-container {
  background: rgba(8, 9, 13, 0.80) !important;
  border-top: 1px solid var(--lava-border);
  box-shadow: 0 -18px 60px rgba(0, 0, 0, 0.30);
  backdrop-filter: blur(18px) saturate(145%);
}

.lava-theme-switcher {
  position: relative;
  display: inline-flex;
  align-items: center;
  margin-left: 0.75rem;
  z-index: 2147483000;
}

.lava-theme-switcher__toggle,
.lava-theme-switcher__option {
  display: inline-flex;
  align-items: center;
  gap: 0.45rem;
  min-height: 2.05rem;
  color: var(--lava-text);
  background: rgba(255, 255, 255, 0.08);
  border: 1px solid var(--lava-border);
  border-radius: 8px;
  cursor: pointer;
  white-space: nowrap;
  transition: background 160ms ease, border-color 160ms ease, transform 160ms ease;
}

.lava-theme-switcher__toggle {
  padding: 0.34rem 0.62rem;
  font-size: 0.82rem;
  line-height: 1;
  backdrop-filter: blur(12px) saturate(145%);
}

.lava-theme-switcher__toggle:hover,
.lava-theme-switcher__option:hover,
.lava-theme-switcher__toggle[aria-expanded="true"] {
  background: rgba(255, 255, 255, 0.13);
  border-color: var(--lava-border-strong);
}

.lava-theme-switcher__swatch,
.lava-theme-switcher__option-swatch {
  display: inline-block;
  width: 0.92rem;
  height: 0.92rem;
  flex: 0 0 0.92rem;
  border-radius: 999px;
  background: linear-gradient(135deg, var(--lava-primary), var(--lava-secondary));
  box-shadow: 0 0 14px var(--lava-glow);
}

.lava-theme-switcher__menu {
  position: absolute;
  z-index: 2147483001;
  top: calc(100% + 0.5rem);
  right: 0;
  display: grid;
  min-width: 9.8rem;
  padding: 0.38rem;
  gap: 0.25rem;
  background: rgba(13, 15, 23, 0.90);
  border: 1px solid var(--lava-border);
  border-radius: 8px;
  box-shadow: 0 18px 58px rgba(0, 0, 0, 0.38);
  backdrop-filter: blur(20px) saturate(150%);
  opacity: 0;
  visibility: hidden;
  transform: translateY(-0.25rem);
  transition: opacity 160ms ease, visibility 160ms ease, transform 160ms ease;
}

.lava-theme-switcher.is-open .lava-theme-switcher__menu {
  opacity: 1;
  visibility: visible;
  transform: translateY(0);
}

.lava-theme-switcher__option {
  justify-content: flex-start;
  width: 100%;
  padding: 0.42rem 0.5rem;
  font-size: 0.84rem;
  text-align: left;
}

.lava-theme-switcher__option[aria-checked="true"] {
  background: color-mix(in srgb, var(--lava-primary) 20%, rgba(255, 255, 255, 0.08));
  border-color: color-mix(in srgb, var(--lava-secondary) 58%, rgba(255, 255, 255, 0.2));
}

.lava-theme-switcher__option-swatch {
  background: linear-gradient(135deg, var(--lava-option-primary), var(--lava-option-secondary));
}

body > .lava-theme-switcher {
  position: fixed;
  top: 0.75rem;
  right: 0.75rem;
  z-index: 2147483000;
}

@supports not ((backdrop-filter: blur(1px))) {
  .page-content,
  .block-category,
  .tabs,
  .card,
  .cart-grid-body,
  .cart-grid-right,
  .checkout-step,
  .contact-form,
  .js-address-form,
  .page-addresses .address,
  .page-authentication #content,
  .page-customer-account #content,
  #search_filters,
  .product-information,
  .product-actions,
  #custom-text,
  .custom-text,
  .block_newsletter,
  #header,
  .footer-container {
    background: rgba(16, 18, 27, 0.92) !important;
  }
}

@media (max-width: 767px) {
  .lava-theme-canvas {
    opacity: 0.62;
    filter: none;
  }

  .lava-theme-switcher {
    margin: 0.35rem 0;
  }

  .lava-theme-switcher__label {
    max-width: 5.8rem;
    overflow: hidden;
    text-overflow: ellipsis;
  }

  .lava-theme-switcher__menu {
    right: auto;
    left: 0;
  }
}

@media (prefers-reduced-motion: reduce) {
  .lava-theme-canvas {
    opacity: 0.32;
  }

  .btn-primary:hover,
  .add-to-cart:hover,
  .product-add-to-cart .btn-primary:hover {
    transform: none;
  }
}
