/* =====================================================
   FITNESS STORE - FIXED LAYOUT 2025
   Premium Dark Theme - Corretto per Desktop
   ===================================================== */

/* === VARIABLES === */
:root {
  --primary: #AAFF00;
  --primary-dark: #88CC00;
  --primary-glow: rgba(170, 255, 0, 0.3);
  --bg-black: #000000;
  --bg-dark: #0a0a0a;
  --bg-card: #111111;
  --bg-card-hover: #1a1a1a;
  --border: #222222;
  --text-white: #ffffff;
  --text-gray: #888888;
  --text-light: #cccccc;
}

/* === GLOBAL === */
body {
  background: var(--bg-dark) !important;
  color: var(--text-white) !important;
  font-family: 'Segoe UI', Roboto, sans-serif !important;
  padding-top: 130px !important;
}

/* === PROMO BAR === */
.header-banner {
  background: linear-gradient(90deg, #AAFF00 0%, #88CC00 100%) !important;
  padding: 8px 0 !important;
  overflow: hidden !important;
}

.promo-scroll {
  display: flex !important;
  animation: scrollPromo 25s linear infinite !important;
  white-space: nowrap !important;
}

.promo-scroll span {
  color: #000 !important;
  font-weight: 700 !important;
  font-size: 12px !important;
  text-transform: uppercase !important;
  letter-spacing: 1px !important;
  padding: 0 30px !important;
  flex-shrink: 0 !important;
}

@keyframes scrollPromo {
  0% { transform: translateX(0); }
  100% { transform: translateX(-50%); }
}

/* === HEADER === */
#header {
  background: #000 !important;
  border-bottom: 2px solid var(--primary) !important;
  position: fixed !important;
  top: 0 !important;
  left: 0 !important;
  right: 0 !important;
  z-index: 99999 !important;
}

.header-nav {
  display: none !important;
}

.header-nav .container {
  display: flex !important;
  justify-content: flex-end !important;
  align-items: center !important;
}

.header-nav a {
  color: #fff !important;
  font-size: 12px !important;
}

.header-nav a:hover {
  color: var(--primary) !important;
}

/* Header Top - Main Header Area */
.header-top {
  background: #000 !important;
  padding: 20px 0 !important;
}

.header-top > .container {
  display: flex !important;
  align-items: center !important;
  justify-content: space-between !important;
  flex-wrap: nowrap !important;
}

.header-top .row {
  width: 100% !important;
  display: flex !important;
  align-items: center !important;
  justify-content: space-between !important;
  flex-wrap: nowrap !important;
}

/* === LOGO - BIGGER & NO SHADOW === */
#_desktop_logo {
  display: flex !important;
  align-items: center !important;
  flex: 0 0 220px !important;
  width: 220px !important;
  min-width: 220px !important;
  margin-right: 30px !important;
  position: relative !important;
  z-index: 9999 !important;
  background: #000 !important;
}

#_desktop_logo img,
.header-top .logo img,
.top-logo img,
#header .logo img,
#header img.logo,
.logo.img-fluid {
  max-height: 100px !important;
  height: 100px !important;
  width: auto !important;
  object-fit: contain !important;
  /* ENHANCE colors - brighter and more vivid */
  filter: brightness(1.15) contrast(1.1) saturate(1.2) !important;
  -webkit-filter: brightness(1.15) contrast(1.1) saturate(1.2) !important;
  box-shadow: none !important;
  -webkit-box-shadow: none !important;
  text-shadow: none !important;
  opacity: 1 !important;
  image-rendering: auto !important;
  background: transparent !important;
  /* Ensure no mask */
  mask: none !important;
  -webkit-mask: none !important;
  clip-path: none !important;
}

/* Logo Link - No overlay */
#_desktop_logo a {
  display: block !important;
  background: transparent !important;
  box-shadow: none !important;
  text-shadow: none !important;
  filter: none !important;
}

/* Remove any pseudo-element overlays */
#_desktop_logo::before,
#_desktop_logo::after,
#_desktop_logo a::before,
#_desktop_logo a::after,
#_desktop_logo h1::before,
#_desktop_logo h1::after,
.header-top::before,
.header-top::after {
  display: none !important;
  content: none !important;
  background: transparent !important;
  box-shadow: none !important;
}

/* Logo H1 wrapper */
#_desktop_logo h1 {
  margin: 0 !important;
  padding: 0 !important;
  background: transparent !important;
  box-shadow: none !important;
  text-shadow: none !important;
  filter: none !important;
}

/* Header top - ensure no overlay affects logo */
.header-top {
  background: #000 !important;
  box-shadow: none !important;
}

/* Mobile logo too */
#_mobile_logo img,
.top-logo img {
  filter: none !important;
  box-shadow: none !important;
  opacity: 1 !important;
}

/* === NAVIGATION - Separated from Logo === */
.header-top-right {
  display: flex !important;
  align-items: center !important;
  justify-content: flex-end !important;
  gap: 25px !important;
  flex-grow: 1 !important;
}

#_desktop_top_menu {
  flex-grow: 0 !important;
  flex-shrink: 0 !important;
  margin-left: auto !important;
  margin-right: 30px !important;
}

.top-menu {
  display: flex !important;
  list-style: none !important;
  margin: 0 !important;
  padding: 0 !important;
  gap: 0 !important;
  flex-wrap: nowrap !important;
}

.top-menu > li {
  position: relative !important;
}

.top-menu > li > a {
  color: #fff !important;
  font-weight: 600 !important;
  font-size: 12px !important;
  text-transform: uppercase !important;
  padding: 12px 15px !important;
  display: block !important;
  transition: all 0.3s !important;
  text-decoration: none !important;
  white-space: nowrap !important;
}

.top-menu > li > a:hover,
.top-menu > li:hover > a {
  color: var(--primary) !important;
}

/* === HEADER LAYOUT FIX === */
.header-top > .container > .row {
  display: flex !important;
  align-items: center !important;
  justify-content: space-between !important;
  flex-wrap: nowrap !important;
  margin: 0 !important;
}

/* Logo column - Make it wider */
.header-top .col-md-2#_desktop_logo {
  flex: 0 0 200px !important;
  width: 200px !important;
  max-width: 200px !important;
  padding: 0 15px !important;
}

/* Menu and right section */
.header-top .col-md-10.header-top-right {
  flex: 1 1 auto !important;
  width: auto !important;
  max-width: none !important;
  display: flex !important;
  align-items: center !important;
  justify-content: flex-end !important;
  padding: 0 15px !important;
  gap: 20px !important;
}

/* Menu wrapper */
.header-top-right #_desktop_top_menu {
  order: 1 !important;
}

/* Search widget */
.header-top-right #search_widget {
  order: 2 !important;
}

/* Position static fix */
.header-top-right.position-static {
  position: relative !important;
}

/* Dropdown */
.top-menu .sub-menu,
.top-menu .popover {
  position: absolute !important;
  top: 100% !important;
  left: 0 !important;
  background: #111 !important;
  border: 1px solid #333 !important;
  border-radius: 8px !important;
  min-width: 220px !important;
  padding: 10px 0 !important;
  opacity: 0 !important;
  visibility: hidden !important;
  transition: all 0.3s !important;
  z-index: 1000 !important;
}

.top-menu > li:hover .sub-menu,
.top-menu > li:hover .popover {
  opacity: 1 !important;
  visibility: visible !important;
}

.top-menu .sub-menu a {
  color: #ccc !important;
  padding: 10px 20px !important;
  display: block !important;
}

.top-menu .sub-menu a:hover {
  color: var(--primary) !important;
  background: #1a1a1a !important;
}

/* === SEARCH === */
#search_widget {
  position: relative !important;
}

#search_widget form {
  display: flex !important;
  align-items: center !important;
}

#search_widget input[type="text"] {
  background: #1a1a1a !important;
  border: 1px solid #333 !important;
  border-radius: 25px !important;
  padding: 10px 45px 10px 20px !important;
  color: #fff !important;
  font-size: 14px !important;
  width: 250px !important;
  transition: all 0.3s !important;
}

#search_widget input[type="text"]:focus {
  border-color: var(--primary) !important;
  outline: none !important;
  width: 300px !important;
}

#search_widget button {
  position: absolute !important;
  right: 10px !important;
  top: 50% !important;
  transform: translateY(-50%) !important;
  background: none !important;
  border: none !important;
  color: var(--primary) !important;
  cursor: pointer !important;
}

/* === CART === */
.blockcart {
  background: #1a1a1a !important;
  border: 1px solid #333 !important;
  border-radius: 25px !important;
  padding: 8px 20px !important;
  transition: all 0.3s !important;
}

.blockcart:hover {
  border-color: var(--primary) !important;
}

.blockcart a {
  color: #fff !important;
  text-decoration: none !important;
  display: flex !important;
  align-items: center !important;
  gap: 8px !important;
}

.blockcart .material-icons {
  color: var(--primary) !important;
}

.cart-products-count {
  background: var(--primary) !important;
  color: #000 !important;
  font-weight: 700 !important;
  border-radius: 50% !important;
  min-width: 20px !important;
  height: 20px !important;
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  font-size: 12px !important;
}

/* === USER INFO === */
.user-info a {
  color: #fff !important;
}

.user-info a:hover {
  color: var(--primary) !important;
}

.user-info .material-icons {
  color: var(--primary) !important;
}

/* === MAIN CONTENT === */
#wrapper {
  background: var(--bg-dark) !important;
}

#content-wrapper {
  background: var(--bg-dark) !important;
}

/* === SLIDER === */
.carousel {
  margin-bottom: 0 !important;
}

.carousel-item img {
  filter: brightness(0.5) !important;
}

.carousel-item .caption,
.carousel-item figcaption {
  position: absolute !important;
  top: 50% !important;
  left: 10% !important;
  transform: translateY(-50%) !important;
  max-width: 500px !important;
  z-index: 2 !important;
}

.carousel-item .caption h3,
.carousel-item figcaption h3 {
  color: #fff !important;
  font-size: 42px !important;
  font-weight: 700 !important;
  text-transform: uppercase !important;
  margin-bottom: 15px !important;
  text-shadow: 2px 2px 10px rgba(0,0,0,0.5) !important;
}

.carousel-item .caption p,
.carousel-item figcaption p {
  color: #ddd !important;
  font-size: 16px !important;
  margin-bottom: 20px !important;
}

/* === PRODUCTS === */
.featured-products,
.product-accessories,
.products {
  background: var(--bg-dark) !important;
}

.products-section-title {
  color: #fff !important;
  font-size: 28px !important;
  text-transform: uppercase !important;
  margin-bottom: 30px !important;
  position: relative !important;
  display: inline-block !important;
}

.products-section-title::after {
  content: '' !important;
  position: absolute !important;
  bottom: -10px !important;
  left: 0 !important;
  width: 60px !important;
  height: 3px !important;
  background: var(--primary) !important;
}

.product-miniature {
  background: #111 !important;
  border: 1px solid #222 !important;
  border-radius: 12px !important;
  overflow: hidden !important;
  transition: all 0.3s !important;
}

.product-miniature:hover {
  transform: translateY(-5px) !important;
  border-color: var(--primary) !important;
  box-shadow: 0 10px 30px rgba(170, 255, 0, 0.1) !important;
}

.thumbnail-container {
  background: #0a0a0a !important;
}

.product-thumbnail img {
  transition: transform 0.3s !important;
}

.product-miniature:hover .product-thumbnail img {
  transform: scale(1.05) !important;
}

.product-description {
  padding: 15px !important;
  background: #111 !important;
}

.product-title a {
  color: #fff !important;
  font-size: 14px !important;
  font-weight: 500 !important;
  text-decoration: none !important;
}

.product-title a:hover {
  color: var(--primary) !important;
}

.product-price-and-shipping .price {
  color: var(--primary) !important;
  font-size: 20px !important;
  font-weight: 700 !important;
}

.regular-price {
  color: #666 !important;
  text-decoration: line-through !important;
}

.discount-percentage {
  background: #ff4444 !important;
  color: #fff !important;
  padding: 3px 8px !important;
  border-radius: 4px !important;
  font-size: 12px !important;
  font-weight: 700 !important;
}

.highlighted-informations {
  background: var(--primary) !important;
  padding: 10px !important;
  text-align: center !important;
}

.highlighted-informations a {
  color: #000 !important;
  font-weight: 600 !important;
}

.product-flags .product-flag {
  background: var(--primary) !important;
  color: #000 !important;
}

.product-flags .product-flag.discount {
  background: #ff4444 !important;
  color: #fff !important;
}

/* === ALL PRODUCT LINK === */
.all-product-link {
  color: var(--primary) !important;
  font-weight: 600 !important;
}

.all-product-link:hover {
  color: #fff !important;
}

/* === CUSTOM TEXT / INFO BLOCK === */
#custom-text {
  background: #111 !important;
  padding: 40px !important;
  border-radius: 12px !important;
  margin: 30px 0 !important;
}

#custom-text h2 {
  color: #fff !important;
}

#custom-text p {
  color: #ccc !important;
}

/* === CATEGORY BLOCKS === */
.category-blocks {
  display: grid !important;
  grid-template-columns: repeat(4, 1fr) !important;
  gap: 20px !important;
  padding: 50px 0 !important;
}

.category-block {
  position: relative !important;
  height: 300px !important;
  border-radius: 15px !important;
  overflow: hidden !important;
  text-decoration: none !important;
}

.category-block img {
  width: 100% !important;
  height: 100% !important;
  object-fit: cover !important;
  transition: transform 0.4s !important;
}

.category-block:hover img {
  transform: scale(1.1) !important;
}

.category-block-content {
  position: absolute !important;
  bottom: 0 !important;
  left: 0 !important;
  right: 0 !important;
  padding: 25px !important;
  background: linear-gradient(transparent, rgba(0,0,0,0.9)) !important;
}

.category-block h3 {
  color: #fff !important;
  font-size: 22px !important;
  margin: 0 0 5px !important;
}

.category-block span {
  color: var(--primary) !important;
  font-weight: 600 !important;
}

/* === SECTION TITLE === */
.section-title {
  text-align: center !important;
  padding: 60px 0 40px !important;
}

.section-title h2 {
  color: #fff !important;
  font-size: 36px !important;
  margin-bottom: 10px !important;
}

.section-title p {
  color: #888 !important;
  font-size: 16px !important;
}

.section-title::after {
  content: '' !important;
  display: block !important;
  width: 60px !important;
  height: 3px !important;
  background: var(--primary) !important;
  margin: 20px auto 0 !important;
}

/* === NEWSLETTER === */
.block_newsletter {
  background: #111 !important;
  padding: 50px 30px !important;
  border-top: 2px solid var(--primary) !important;
}

.block_newsletter h2,
.block_newsletter p {
  color: #fff !important;
}

.block_newsletter input[type="email"] {
  background: #1a1a1a !important;
  border: 1px solid #333 !important;
  color: #fff !important;
  padding: 12px 20px !important;
  border-radius: 25px 0 0 25px !important;
}

.block_newsletter .btn {
  background: var(--primary) !important;
  color: #000 !important;
  border: none !important;
  border-radius: 0 25px 25px 0 !important;
  font-weight: 700 !important;
}

/* === FOOTER === */
#footer {
  background: #000 !important;
  border-top: 2px solid var(--primary) !important;
}

.footer-container {
  background: #000 !important;
  padding: 50px 0 !important;
}

.footer-container .h3,
.footer-container h3 {
  color: var(--primary) !important;
  font-size: 16px !important;
  text-transform: uppercase !important;
  margin-bottom: 20px !important;
}

.footer-container a {
  color: #888 !important;
}

.footer-container a:hover {
  color: var(--primary) !important;
}

.footer-container .links ul {
  list-style: none !important;
  padding: 0 !important;
}

.footer-container .links li {
  margin-bottom: 10px !important;
}

/* === PARALLAX BANNER === */
.parallax-banner {
  height: 400px !important;
  background-attachment: fixed !important;
  background-size: cover !important;
  background-position: center !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  position: relative !important;
  margin: 50px 0 !important;
}

.parallax-banner::before {
  content: '' !important;
  position: absolute !important;
  top: 0 !important;
  left: 0 !important;
  right: 0 !important;
  bottom: 0 !important;
  background: rgba(0,0,0,0.6) !important;
}

.parallax-content {
  position: relative !important;
  z-index: 2 !important;
  text-align: center !important;
}

.parallax-content h2 {
  color: #fff !important;
  font-size: 48px !important;
  margin-bottom: 15px !important;
}

.parallax-content p {
  color: #ddd !important;
  font-size: 18px !important;
  margin-bottom: 25px !important;
}

/* === COUNTDOWN === */
.countdown-section {
  background: var(--primary) !important;
  padding: 40px !important;
  text-align: center !important;
}

.countdown-title {
  color: #000 !important;
  font-size: 24px !important;
  margin-bottom: 25px !important;
}

.countdown-timer {
  display: flex !important;
  justify-content: center !important;
  gap: 20px !important;
}

.countdown-item {
  background: #000 !important;
  padding: 20px 30px !important;
  border-radius: 10px !important;
}

.countdown-number {
  color: var(--primary) !important;
  font-size: 42px !important;
  font-weight: 700 !important;
  display: block !important;
}

.countdown-label {
  color: #fff !important;
  font-size: 12px !important;
  text-transform: uppercase !important;
}

/* === TESTIMONIALS === */
.testimonials-section {
  background: #000 !important;
  padding: 60px 0 !important;
}

.testimonials-grid {
  display: grid !important;
  grid-template-columns: repeat(3, 1fr) !important;
  gap: 25px !important;
  max-width: 1200px !important;
  margin: 0 auto !important;
  padding: 0 20px !important;
}

.testimonial-card {
  background: #111 !important;
  border: 1px solid #222 !important;
  border-radius: 12px !important;
  padding: 30px !important;
  text-align: center !important;
}

.testimonial-stars {
  color: var(--primary) !important;
  font-size: 20px !important;
  margin-bottom: 15px !important;
}

.testimonial-text {
  color: #ccc !important;
  font-style: italic !important;
  margin-bottom: 20px !important;
  line-height: 1.6 !important;
}

.testimonial-author {
  color: #fff !important;
  font-weight: 600 !important;
}

.testimonial-role {
  color: var(--primary) !important;
  font-size: 13px !important;
}

/* === TRUST SECTION === */
.trust-section {
  display: grid !important;
  grid-template-columns: repeat(4, 1fr) !important;
  gap: 25px !important;
  padding: 60px 20px !important;
  background: #111 !important;
}

.trust-item {
  text-align: center !important;
  padding: 30px !important;
}

.trust-icon {
  width: 70px !important;
  height: 70px !important;
  background: var(--primary) !important;
  border-radius: 50% !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  margin: 0 auto 15px !important;
}

.trust-icon svg {
  width: 35px !important;
  height: 35px !important;
  fill: #000 !important;
}

.trust-title {
  color: #fff !important;
  font-size: 16px !important;
  font-weight: 600 !important;
  margin-bottom: 8px !important;
}

.trust-desc {
  color: #888 !important;
  font-size: 13px !important;
}

/* === NEWSLETTER SECTION === */
.newsletter-section {
  background: linear-gradient(135deg, #0a0a0a, #000) !important;
  padding: 80px 20px !important;
  text-align: center !important;
}

.newsletter-title {
  color: #fff !important;
  font-size: 36px !important;
  margin-bottom: 10px !important;
}

.newsletter-subtitle {
  color: #888 !important;
  font-size: 16px !important;
  margin-bottom: 30px !important;
}

.newsletter-form {
  display: flex !important;
  max-width: 450px !important;
  margin: 0 auto !important;
}

.newsletter-form input {
  flex: 1 !important;
  background: #1a1a1a !important;
  border: 1px solid #333 !important;
  padding: 15px 25px !important;
  color: #fff !important;
  border-radius: 30px 0 0 30px !important;
  font-size: 15px !important;
}

.newsletter-form button {
  background: var(--primary) !important;
  color: #000 !important;
  border: none !important;
  padding: 15px 30px !important;
  border-radius: 0 30px 30px 0 !important;
  font-weight: 700 !important;
  cursor: pointer !important;
}

/* === SCROLL TO TOP === */
.scroll-to-top {
  position: fixed !important;
  bottom: 100px !important;
  right: 30px !important;
  width: 45px !important;
  height: 45px !important;
  background: var(--primary) !important;
  border-radius: 50% !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  cursor: pointer !important;
  opacity: 0 !important;
  visibility: hidden !important;
  transition: all 0.3s !important;
  z-index: 999 !important;
}

.scroll-to-top.visible {
  opacity: 1 !important;
  visibility: visible !important;
}

/* === BUTTONS === */
.btn-primary {
  background: var(--primary) !important;
  color: #000 !important;
  border: none !important;
  font-weight: 700 !important;
  padding: 12px 30px !important;
  border-radius: 25px !important;
  transition: all 0.3s !important;
}

.btn-primary:hover {
  background: #fff !important;
  color: #000 !important;
}

/* === FORMS === */
input, textarea, select {
  background: #1a1a1a !important;
  border: 1px solid #333 !important;
  color: #fff !important;
}

input:focus, textarea:focus, select:focus {
  border-color: var(--primary) !important;
  outline: none !important;
}

/* === BREADCRUMB === */
.breadcrumb {
  background: transparent !important;
  padding: 15px 0 !important;
}

.breadcrumb li, .breadcrumb a {
  color: #888 !important;
}

.breadcrumb a:hover {
  color: var(--primary) !important;
}

/* === MOBILE RESPONSIVE === */
@media (max-width: 1200px) {
  .category-blocks {
    grid-template-columns: repeat(2, 1fr) !important;
  }
  .trust-section {
    grid-template-columns: repeat(2, 1fr) !important;
  }
}

@media (max-width: 991px) {
  .testimonials-grid {
    grid-template-columns: repeat(2, 1fr) !important;
  }
}

@media (max-width: 767px) {
  .header-banner {
    padding: 6px 0 !important;
  }

  .promo-scroll span {
    font-size: 10px !important;
    padding: 0 15px !important;
  }

  .category-blocks {
    grid-template-columns: 1fr !important;
    padding: 30px 15px !important;
  }

  .category-block {
    height: 200px !important;
  }

  .section-title h2 {
    font-size: 26px !important;
  }

  .testimonials-grid {
    grid-template-columns: 1fr !important;
  }

  .trust-section {
    grid-template-columns: 1fr !important;
    padding: 40px 15px !important;
  }

  .countdown-timer {
    flex-wrap: wrap !important;
  }

  .countdown-item {
    padding: 15px 20px !important;
  }

  .countdown-number {
    font-size: 32px !important;
  }

  .parallax-banner {
    height: 300px !important;
    background-attachment: scroll !important;
  }

  .parallax-content h2 {
    font-size: 28px !important;
  }

  .newsletter-form {
    flex-direction: column !important;
    gap: 10px !important;
  }

  .newsletter-form input,
  .newsletter-form button {
    border-radius: 30px !important;
  }

  .carousel-item .caption h3,
  .carousel-item figcaption h3 {
    font-size: 26px !important;
  }
}

/* === SCROLLBAR === */
::-webkit-scrollbar {
  width: 8px;
}

::-webkit-scrollbar-track {
  background: #0a0a0a;
}

::-webkit-scrollbar-thumb {
  background: var(--primary);
  border-radius: 4px;
}

/* === SELECTION === */
::selection {
  background: var(--primary);
  color: #000;
}

/* =====================================================
   CATEGORY & PRODUCT LISTING PAGES
   ===================================================== */

/* === CATEGORY PAGE CONTAINER === */
#category,
#products,
#search,
#manufacturer,
#new-products,
#prices-drop,
#best-sales {
  background: var(--bg-dark) !important;
}

/* === LEFT COLUMN / SIDEBAR === */
#left-column {
  background: #111 !important;
  border-radius: 12px !important;
  padding: 20px !important;
  border: 1px solid #222 !important;
}

.block-categories,
.facet,
.block-categories .category-sub-menu {
  background: transparent !important;
}

/* Category Title */
.block-categories .category-top-menu a,
.block-categories h5,
#left-column .h5,
#left-column h5 {
  color: var(--primary) !important;
  font-weight: 700 !important;
  text-transform: uppercase !important;
  font-size: 14px !important;
  margin-bottom: 15px !important;
  display: block !important;
}

/* Subcategory Links */
.block-categories .category-sub-menu li a,
.block-categories a,
#left-column a {
  color: #ccc !important;
  padding: 8px 0 !important;
  display: block !important;
  border-bottom: 1px solid #222 !important;
  transition: all 0.3s !important;
}

.block-categories .category-sub-menu li a:hover,
.block-categories a:hover,
#left-column a:hover {
  color: var(--primary) !important;
  padding-left: 10px !important;
}

/* === FACETED SEARCH / FILTERS === */
.facet-title {
  color: var(--primary) !important;
  font-weight: 700 !important;
  font-size: 14px !important;
  text-transform: uppercase !important;
  padding: 15px 0 10px !important;
  border-bottom: 1px solid #333 !important;
  margin-bottom: 10px !important;
}

.facet-label {
  color: #ccc !important;
  padding: 8px 0 !important;
}

.facet-label:hover {
  color: var(--primary) !important;
}

.facet-label .custom-checkbox input[type="checkbox"] + span {
  border-color: #444 !important;
  background: #1a1a1a !important;
}

.facet-label .custom-checkbox input[type="checkbox"]:checked + span {
  background: var(--primary) !important;
  border-color: var(--primary) !important;
}

.facet .collapse {
  background: transparent !important;
}

.facet .facet-label a {
  color: #ccc !important;
}

.facet .facet-label a:hover {
  color: var(--primary) !important;
}

.facet .magnitude {
  color: #666 !important;
}

/* Price Slider */
.ui-slider {
  background: #333 !important;
  border: none !important;
}

.ui-slider .ui-slider-range {
  background: var(--primary) !important;
}

.ui-slider .ui-slider-handle {
  background: var(--primary) !important;
  border: 2px solid #000 !important;
  border-radius: 50% !important;
}

/* Active Filters */
.active-filters {
  background: #111 !important;
  padding: 15px !important;
  border-radius: 8px !important;
  margin-bottom: 20px !important;
}

.active-filters .active-filter-title {
  color: var(--primary) !important;
}

.active-filters .filter-block {
  background: #222 !important;
  color: #fff !important;
  border-radius: 20px !important;
  padding: 5px 15px !important;
  margin: 5px !important;
}

.active-filters .filter-block .close {
  color: var(--primary) !important;
}

/* === CATEGORY HEADER === */
.category-header,
#category-description {
  background: #111 !important;
  padding: 30px !important;
  border-radius: 12px !important;
  margin-bottom: 30px !important;
  border: 1px solid #222 !important;
}

.category-header h1,
#category h1,
.h1 {
  color: #fff !important;
  font-size: 32px !important;
  margin-bottom: 15px !important;
}

#category-description p,
.category-header p {
  color: #aaa !important;
}

.category-cover img {
  border-radius: 12px !important;
}

/* === SUBCATEGORIES === */
.subcategories {
  margin-bottom: 30px !important;
}

.subcategory-image {
  background: #111 !important;
  border-radius: 12px !important;
  overflow: hidden !important;
  border: 1px solid #222 !important;
  transition: all 0.3s !important;
}

.subcategory-image:hover {
  border-color: var(--primary) !important;
}

.subcategory-name {
  color: #fff !important;
  font-weight: 600 !important;
}

/* === SORT BY / FILTER BAR === */
.products-selection,
.products-sort-order {
  background: #111 !important;
  padding: 15px 20px !important;
  border-radius: 8px !important;
  margin-bottom: 20px !important;
  border: 1px solid #222 !important;
}

.products-sort-order .select-title {
  color: #fff !important;
  background: #1a1a1a !important;
  border: 1px solid #333 !important;
  padding: 10px 15px !important;
  border-radius: 6px !important;
}

.products-sort-order .dropdown-menu {
  background: #111 !important;
  border: 1px solid #333 !important;
  border-radius: 8px !important;
}

.products-sort-order .dropdown-menu a {
  color: #ccc !important;
  padding: 10px 15px !important;
}

.products-sort-order .dropdown-menu a:hover {
  background: #1a1a1a !important;
  color: var(--primary) !important;
}

.total-products {
  color: #888 !important;
}

.total-products p {
  color: #888 !important;
}

/* === VIEW MODE (Grid/List) === */
.products-selection .display {
  background: transparent !important;
}

.products-selection .display .view-type {
  color: #888 !important;
  background: #1a1a1a !important;
  border: 1px solid #333 !important;
  padding: 8px 12px !important;
  margin: 0 2px !important;
  border-radius: 4px !important;
}

.products-selection .display .view-type:hover,
.products-selection .display .view-type.active {
  color: var(--primary) !important;
  border-color: var(--primary) !important;
}

/* === PAGINATION === */
.pagination {
  background: transparent !important;
  padding: 20px 0 !important;
}

.pagination .page-list {
  display: flex !important;
  gap: 5px !important;
  justify-content: center !important;
}

.pagination .page-item {
  background: transparent !important;
}

.pagination .page-link {
  background: #111 !important;
  border: 1px solid #333 !important;
  color: #fff !important;
  padding: 10px 15px !important;
  border-radius: 6px !important;
  transition: all 0.3s !important;
}

.pagination .page-link:hover {
  background: #1a1a1a !important;
  border-color: var(--primary) !important;
  color: var(--primary) !important;
}

.pagination .page-item.active .page-link,
.pagination .page-item.current .page-link {
  background: var(--primary) !important;
  border-color: var(--primary) !important;
  color: #000 !important;
}

.pagination .page-item.disabled .page-link {
  background: #0a0a0a !important;
  color: #444 !important;
  border-color: #222 !important;
}

/* Prev/Next */
.pagination .previous,
.pagination .next {
  background: #1a1a1a !important;
  border: 1px solid #333 !important;
  color: #fff !important;
  padding: 10px 20px !important;
  border-radius: 6px !important;
}

.pagination .previous:hover,
.pagination .next:hover {
  border-color: var(--primary) !important;
  color: var(--primary) !important;
}

/* === PRODUCT COUNT === */
.showing {
  color: #888 !important;
}

/* === NO PRODUCTS MESSAGE === */
.no-products {
  background: #111 !important;
  padding: 40px !important;
  text-align: center !important;
  border-radius: 12px !important;
  color: #888 !important;
}

/* =====================================================
   PRODUCT DETAIL PAGE
   ===================================================== */

#product {
  background: var(--bg-dark) !important;
}

.product-container {
  background: var(--bg-dark) !important;
}

.product-cover {
  background: #111 !important;
  border-radius: 12px !important;
  border: 1px solid #222 !important;
}

.product-images {
  background: transparent !important;
}

.product-images .thumb-container img {
  background: #111 !important;
  border: 1px solid #222 !important;
  border-radius: 8px !important;
}

.product-images .thumb-container img:hover,
.product-images .thumb-container.selected img {
  border-color: var(--primary) !important;
}

/* Product Info */
.product-prices {
  background: transparent !important;
}

.product-prices .current-price {
  color: var(--primary) !important;
  font-size: 32px !important;
  font-weight: 700 !important;
}

.product-prices .regular-price {
  color: #666 !important;
}

.product-discount {
  background: #ff4444 !important;
  color: #fff !important;
  padding: 5px 12px !important;
  border-radius: 4px !important;
}

.product-information {
  color: #ccc !important;
}

.product-information h1 {
  color: #fff !important;
  font-size: 28px !important;
}

/* Add to Cart */
.product-quantity {
  background: transparent !important;
}

.product-quantity .qty input {
  background: #1a1a1a !important;
  border: 1px solid #333 !important;
  color: #fff !important;
  border-radius: 6px !important;
}

.product-quantity .add button.add-to-cart {
  background: var(--primary) !important;
  color: #000 !important;
  font-weight: 700 !important;
  border: none !important;
  border-radius: 25px !important;
  padding: 15px 40px !important;
  font-size: 16px !important;
  transition: all 0.3s !important;
}

.product-quantity .add button.add-to-cart:hover {
  background: #fff !important;
  transform: translateY(-2px) !important;
}

/* Product Tabs */
.product-tabs {
  background: #111 !important;
  border-radius: 12px !important;
  padding: 20px !important;
  margin-top: 30px !important;
}

.product-tabs .nav-tabs {
  border-bottom: 1px solid #333 !important;
}

.product-tabs .nav-link {
  color: #888 !important;
  border: none !important;
  padding: 15px 25px !important;
  font-weight: 600 !important;
}

.product-tabs .nav-link:hover {
  color: #fff !important;
}

.product-tabs .nav-link.active {
  color: var(--primary) !important;
  background: transparent !important;
  border-bottom: 2px solid var(--primary) !important;
}

.product-tabs .tab-content {
  padding: 25px 0 !important;
  color: #ccc !important;
}

/* === CART PAGE === */
#cart {
  background: var(--bg-dark) !important;
}

.cart-grid {
  background: var(--bg-dark) !important;
}

.cart-container {
  background: #111 !important;
  border-radius: 12px !important;
  padding: 25px !important;
  border: 1px solid #222 !important;
}

.cart-summary {
  background: #111 !important;
  border-radius: 12px !important;
  padding: 25px !important;
  border: 1px solid #222 !important;
}

.cart-summary-line {
  color: #ccc !important;
  padding: 10px 0 !important;
  border-bottom: 1px solid #222 !important;
}

.cart-summary-line .value {
  color: #fff !important;
}

.cart-summary .cart-total {
  color: var(--primary) !important;
  font-size: 24px !important;
  font-weight: 700 !important;
}

/* === CHECKOUT === */
#checkout {
  background: var(--bg-dark) !important;
}

.checkout-step {
  background: #111 !important;
  border-radius: 12px !important;
  padding: 25px !important;
  margin-bottom: 20px !important;
  border: 1px solid #222 !important;
}

.checkout-step .step-title {
  color: #fff !important;
}

.checkout-step .step-number {
  background: var(--primary) !important;
  color: #000 !important;
}

/* === ACCOUNT PAGES === */
#my-account,
#identity,
#address,
#addresses,
#history,
#order-detail {
  background: var(--bg-dark) !important;
}

.page-my-account #content {
  background: var(--bg-dark) !important;
}

.page-my-account .links a {
  background: #111 !important;
  border: 1px solid #222 !important;
  border-radius: 12px !important;
  color: #fff !important;
  transition: all 0.3s !important;
}

.page-my-account .links a:hover {
  border-color: var(--primary) !important;
  transform: translateY(-3px) !important;
}

.page-my-account .links a i {
  color: var(--primary) !important;
}

/* === CONTACT PAGE === */
#contact {
  background: var(--bg-dark) !important;
}

.contact-form {
  background: #111 !important;
  padding: 30px !important;
  border-radius: 12px !important;
  border: 1px solid #222 !important;
}

/* === CMS PAGES === */
#cms {
  background: var(--bg-dark) !important;
}

.cms-page-content,
.page-content {
  background: #111 !important;
  padding: 30px !important;
  border-radius: 12px !important;
  color: #ccc !important;
}

.page-content h1,
.page-content h2,
.page-content h3 {
  color: #fff !important;
}

/* === ALERTS === */
.alert {
  border-radius: 8px !important;
}

.alert-success {
  background: rgba(170, 255, 0, 0.1) !important;
  border: 1px solid var(--primary) !important;
  color: var(--primary) !important;
}

.alert-danger {
  background: rgba(255, 68, 68, 0.1) !important;
  border: 1px solid #ff4444 !important;
  color: #ff4444 !important;
}

.alert-warning {
  background: rgba(255, 193, 7, 0.1) !important;
  border: 1px solid #ffc107 !important;
  color: #ffc107 !important;
}

.alert-info {
  background: rgba(0, 123, 255, 0.1) !important;
  border: 1px solid #007bff !important;
  color: #007bff !important;
}

/* === MODAL === */
.modal-content {
  background: #111 !important;
  border: 1px solid #333 !important;
  border-radius: 12px !important;
}

.modal-header {
  border-bottom: 1px solid #333 !important;
}

.modal-header .close {
  color: #fff !important;
}

.modal-title {
  color: #fff !important;
}

.modal-body {
  color: #ccc !important;
}

.modal-footer {
  border-top: 1px solid #333 !important;
}

/* === QUICKVIEW === */
.quickview .modal-content {
  background: #111 !important;
}

/* === LABELS === */
label {
  color: #ccc !important;
}

/* === TABLES === */
table {
  background: #111 !important;
  color: #ccc !important;
}

table th {
  background: #0a0a0a !important;
  color: var(--primary) !important;
  border-color: #333 !important;
}

table td {
  border-color: #222 !important;
}

table tr:hover td {
  background: #1a1a1a !important;
}

/* === ALL LINKS === */
a {
  color: var(--primary) !important;
}

a:hover {
  color: #fff !important;
}

/* Reset links in specific areas */
.product-title a,
.top-menu a,
#left-column a,
.footer-container a,
.block-categories a {
  color: inherit !important;
}

/* === CARD COMMON === */
.card {
  background: #111 !important;
  border: 1px solid #222 !important;
  border-radius: 12px !important;
}

.card-header {
  background: #0a0a0a !important;
  border-bottom: 1px solid #333 !important;
  color: var(--primary) !important;
}

.card-body {
  color: #ccc !important;
}

/* === BLOCCO RASSICURAZIONE (Security, Delivery, Return Policy) === */
.blockreassurance_product p,
.blockreassurance_product span,
.blockreassurance_product .block-title,
.blockreassurance p,
.blockreassurance span,
.blockreassurance .block-title {
  color: #ffffff !important;
}


/* === PREZZI E RIEPILOGO CHECKOUT - TESTO BIANCO === */

/* Prezzi nel carrello */
.cart-grid .product-price,
.cart-grid .cart-item .product-line-info,
.cart-grid .cart-item .price,
.cart-grid .cart-items .price,
.cart-detailed .price,
.cart-item .product-price strong,
.cart-item .cart-line-product-actions .price,
.cart-overview .price,
.product-line-grid .product-line-info,
.product-line-grid .price,
.product-line .price,
.product-line .product-line__prices .price,
.product-line .product-line__current .price,
.product-line .product-line__price,
.cart-items .cart-item span,
.cart-items .cart-item strong {
  color: #ffffff !important;
}

/* Totali e subtotali carrello */
.cart-summary-line,
.cart-summary-line .label,
.cart-summary-line .value,
.cart-summary-subtotals-container span,
.cart-summary-totals span,
.cart-summary-totals .value,
.cart-detailed-totals .card-block span,
.cart-detailed-totals .card-block .label,
.cart-detailed-totals .card-block .value,
.cart-detailed-totals .cart-total .label,
.cart-detailed-totals .cart-total .value,
.cart-summary .cart-summary-line .label,
.cart-summary .cart-summary-line .value,
.cart-summary .cart-total .label,
.cart-summary .cart-total .value,
.cart-summary-products p,
.cart-summary-subtotals .label,
.cart-summary-subtotals .value,
.cart-summary-totals .label,
.cart-summary-totals .value,
.blockcart .cart-total .label,
.blockcart .cart-total .value,
.blockcart .cart-subtotals .label,
.blockcart .cart-subtotals .value {
  color: #ffffff !important;
}

/* Nomi prodotti nel carrello */
.cart-items .product-line-info a,
.cart-items .product-line-info .label,
.cart-items .product-line-info .value,
.cart-overview .cart-items a,
.product-line .product-line__title,
.product-line .product-line__info .label,
.product-line .product-line__info .value {
  color: #ffffff !important;
}

/* Quantita nel carrello */
.cart-items .js-cart-line-product-quantity,
.cart-items input.js-cart-line-product-quantity,
.qty input,
.input-group .form-control,
.js-cart .input-group input {
  color: #ffffff !important;
  background: #1a1a1a !important;
  border-color: #333 !important;
}

/* Checkout - riepilogo ordine */
#checkout .cart-summary-line .label,
#checkout .cart-summary-line .value,
#checkout .cart-summary .label,
#checkout .cart-summary .value,
#checkout .cart-total .label,
#checkout .cart-total .value,
#checkout .card-block span,
#checkout .card-block p,
#checkout .card-block .label,
#checkout .card-block .value,
.checkout-step .content p,
.checkout-step .content span,
.checkout-step .content label,
.checkout-step .content .address,
.checkout-step .content address,
.checkout-step .delivery-option-2 span,
.checkout-step .carrier-name,
.checkout-step .carrier-delay,
.checkout-step .carrier-price,
body#checkout #payment-confirmation .ps-shown-by-js span,
body#checkout .condition-label span,
body#checkout .condition-label a,
body#checkout .cart-summary-products p,
body#checkout .cart-summary-subtotals-container span,
body#checkout .cart-summary-totals span,
body#checkout section.checkout-step .content {
  color: #ffffff !important;
}

/* Checkout - etichette form */
body#checkout label,
body#checkout .form-group label,
body#checkout .custom-checkbox label,
body#checkout .custom-radio label {
  color: #cccccc !important;
}

/* Checkout - testi aggiuntivi */
body#checkout .order-confirmation-table td,
body#checkout .order-confirmation-table th,
body#checkout #order-items td,
body#checkout #order-items th {
  color: #ffffff !important;
}

/* === PAGINA ACCOUNT - FIX SELETTIVO === */

/* Menu account - link item NERI (sfondo chiaro) */
#content .links a,
#content .links .link-item,
#content .links .link-item i,
#content .links .link-item span,
#content .links .material-icons {
  color: #000000 !important;
}

#content .links a:hover .link-item,
#content .links a:hover .link-item span {
  color: #333333 !important;
}


/* === CONFERMA ORDINE BONIFICO - TESTO BIANCO === */

/* Pagina conferma ordine */
#order-confirmation h3,
#order-confirmation p,
#order-confirmation span,
#order-confirmation td,
#order-confirmation th,
#order-confirmation dt,
#order-confirmation dd,
#order-confirmation label,
#order-confirmation .value,
.order-confirmation h3,
.order-confirmation p,
.order-confirmation span,
.order-confirmation td,
.order-confirmation th,
.page-order-confirmation h3,
.page-order-confirmation p,
.page-order-confirmation span,
.page-order-confirmation td,
.page-order-confirmation th,
.page-order-confirmation .card-block p,
.page-order-confirmation .card-block span,
.page-order-confirmation .card-block dt,
.page-order-confirmation .card-block dd {
  color: #ffffff !important;
}

/* Dettagli bonifico bancario */
.order-confirmation-table td,
.order-confirmation-table th,
.order-confirmation-table p,
.order-confirmation-table span,
#content-hook_payment_return p,
#content-hook_payment_return span,
#content-hook_payment_return dt,
#content-hook_payment_return dd,
#content-hook_payment_return h3,
#content-hook_payment_return td,
#content-hook_payment_return th,
.payment-return p,
.payment-return span,
.payment-return dt,
.payment-return dd {
  color: #ffffff !important;
}

/* Box info bonifico */
.card .card-block p,
.card .card-block span,
.card .card-block dt,
.card .card-block dd,
.card .card-block h3,
.card .card-block h4,
.card .card-block strong,
.card .card-block em,
.card .card-block label {
  color: #ffffff !important;
}

/* Definizione lista (Importo, Beneficiario, etc) */
dl.definition-list dt,
dl.definition-list dd,
.definition-list dt,
.definition-list dd,
dl dt,
dl dd {
  color: #ffffff !important;
}

/* Box riepilogo ordine */
#order-details p,
#order-details span,
#order-details td,
#order-details th,
#order-details li,
.order-details p,
.order-details span,
.order-details td,
.order-details th {
  color: #ffffff !important;
}

/* Titoli nelle card */
.card-title,
.card h3,
.card h4 {
  color: #ffffff !important;
}
