@charset "UTF-8";
/**
 * Copyright (c) Since 2024 InnoShop - All Rights Reserved
 *
 * @link       https://www.innoshop.com
 * @author     InnoShop <team@innoshop.com>
 * @license    https://opensource.org/licenses/OSL-3.0 Open Software License (OSL 3.0)
 */
/**
 * Copyright (c) Since 2024 InnoShop - All Rights Reserved
 *
 * @link       https://www.innoshop.com
 * @author     InnoShop <team@innoshop.com>
 * @license    https://opensource.org/licenses/OSL-3.0 Open Software License (OSL 3.0)
 */
/**
 * Copyright (c) Since 2024 InnoShop - All Rights Reserved
 *
 * @link       https://www.innoshop.com
 * @author     InnoShop <team@innoshop.com>
 * @license    https://opensource.org/licenses/OSL-3.0 Open Software License (OSL 3.0)
 */
:root {
  --fr-primary: #dc2626;
  --fr-primary-hover: #b91c1c;
  --fr-primary-light: #ef4444;
  --fr-bg-dark: #27272a;
  --fr-bg-deep: #3f3f46;
  --fr-bg-card: #52525b;
  --fr-text-light: #ffffff;
  --fr-text-body: #f4f4f8;
  --fr-text-muted: #d4d4d8;
  --fr-text-subtle: #c1c1c8;
  --fr-border: #71717a;
  --fr-border-light: #52525b;
  --fr-radius-md: 0.375rem;
  --fr-radius-lg: 0.5rem;
  --fr-transition: 0.2s ease;
  --fr-header-height: 80px;
}

*,
*::before,
*::after {
  margin: 0;
  padding: 0;
  box-sizing: border-box;
}

html {
  font-size: 16px;
  scroll-behavior: smooth;
}

body {
  font-family: "Inter", -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, sans-serif;
  background-color: #27272a;
  color: #f4f4f8;
  line-height: 1.6;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
}

.fr-container {
  max-width: 1280px;
  margin: 0 auto;
  padding: 0 1rem;
}
@media (min-width: 576px) {
  .fr-container {
    padding: 0 1.5rem;
  }
}

h1, h2, h3, h4, h5, h6 {
  color: #ffffff;
  font-weight: 700;
  line-height: 1.2;
}

h1 {
  font-size: 2.5rem;
}
@media (min-width: 576px) {
  h1 {
    font-size: 3rem;
  }
}
@media (min-width: 992px) {
  h1 {
    font-size: 3.5rem;
  }
}

h2 {
  font-size: 2rem;
}
@media (min-width: 576px) {
  h2 {
    font-size: 2.25rem;
  }
}
@media (min-width: 992px) {
  h2 {
    font-size: 2.5rem;
  }
}

h3 {
  font-size: 1.5rem;
}

h4 {
  font-size: 1.25rem;
}

p {
  margin-bottom: 1rem;
}

a {
  color: #dc2626;
  text-decoration: none;
  transition: color 0.2s ease;
}
a:hover {
  color: #ef4444;
}

.fr-section {
  padding: 5rem 0;
}
@media (min-width: 576px) {
  .fr-section {
    padding: 7rem 0;
  }
}

.fr-section-header {
  text-align: center;
  margin-bottom: 3rem;
}

.fr-section-badge {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 0.5rem;
  margin-bottom: 1rem;
}
.fr-section-badge .badge-line {
  width: 48px;
  height: 4px;
  background: #dc2626;
}
.fr-section-badge .badge-text {
  color: #dc2626;
  font-size: 0.875rem;
  font-weight: 700;
  letter-spacing: 0.1em;
  text-transform: uppercase;
}

.fr-section-title {
  font-size: 2rem;
  color: #ffffff;
}
@media (min-width: 576px) {
  .fr-section-title {
    font-size: 2.5rem;
  }
}

.fr-btn {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 0.5rem;
  padding: 1rem 2rem;
  font-weight: 700;
  font-size: 0.9375rem;
  transition: all 0.2s ease;
  border: none;
  cursor: pointer;
  text-decoration: none;
}
.fr-btn i, .fr-btn svg {
  transition: transform 0.2s ease;
}
.fr-btn:hover i, .fr-btn:hover svg {
  transform: translateX(4px);
}

.fr-btn-primary {
  background: #dc2626;
  color: #ffffff;
}
.fr-btn-primary:hover {
  background: #b91c1c;
  color: #ffffff;
}

.fr-btn-outline {
  background: transparent;
  border: 2px solid #71717a;
  color: #ffffff;
}
.fr-btn-outline:hover {
  border-color: #ffffff;
  color: #ffffff;
}

.fr-btn-lg {
  padding: 1rem 2rem;
  font-size: 1rem;
}

.fr-card {
  background: #3f3f46;
  border: 1px solid #52525b;
  transition: all 0.3s ease;
}
.fr-card:hover {
  border-color: #dc2626;
}

.fr-link-arrow {
  display: inline-flex;
  align-items: center;
  color: #dc2626;
  font-weight: 500;
  transition: color 0.2s ease;
}
.fr-link-arrow i, .fr-link-arrow svg {
  margin-left: 0.5rem;
  transition: transform 0.2s ease;
}
.fr-link-arrow:hover {
  color: #ef4444;
}
.fr-link-arrow:hover i, .fr-link-arrow:hover svg {
  transform: translateX(8px);
}

.fr-form-group {
  margin-bottom: 1.5rem;
}
.fr-form-group label {
  display: block;
  font-size: 0.875rem;
  font-weight: 500;
  color: #f4f4f8;
  margin-bottom: 0.5rem;
}
.fr-form-group label .required {
  color: #dc2626;
}

.fr-form-control {
  width: 100%;
  background: #27272a;
  border: 1px solid #52525b;
  color: #ffffff;
  padding: 0.75rem 1rem;
  border-radius: 0.375rem;
  transition: border-color 0.2s ease;
}
.fr-form-control::-moz-placeholder {
  color: #c1c1c8;
}
.fr-form-control::placeholder {
  color: #c1c1c8;
}
.fr-form-control:focus {
  outline: none;
  border-color: #dc2626;
}
.fr-form-control.is-invalid {
  border-color: #dc2626;
}

.fr-form-error {
  display: flex;
  align-items: center;
  gap: 0.25rem;
  color: #dc2626;
  font-size: 0.75rem;
  margin-top: 0.25rem;
}

.text-primary {
  color: #dc2626 !important;
}

.text-muted {
  color: #d4d4d8 !important;
}

.text-light {
  color: #ffffff !important;
}

.bg-dark {
  background-color: #27272a !important;
}

.bg-deep {
  background-color: #3f3f46 !important;
}

@keyframes fadeInUp {
  from {
    opacity: 0;
    transform: translateY(30px);
  }
  to {
    opacity: 1;
    transform: translateY(0);
  }
}
@keyframes scrollBounce {
  0%, 100% {
    transform: translateY(0);
  }
  50% {
    transform: translateY(10px);
  }
}
.fr-animate-fade-in {
  animation: fadeInUp 0.8s ease forwards;
}

@media (max-width: 767px) {
  .fr-hide-mobile {
    display: none !important;
  }
}
@media (min-width: 768px) {
  .fr-hide-desktop {
    display: none !important;
  }
}
/**
 * Copyright (c) Since 2024 InnoShop - All Rights Reserved
 *
 * @link       https://www.innoshop.com
 * @author     InnoShop <team@innoshop.com>
 * @license    https://opensource.org/licenses/OSL-3.0 Open Software License (OSL 3.0)
 */
.fr-header {
  position: fixed;
  top: 0;
  left: 0;
  right: 0;
  z-index: 1000;
  transition: all 0.3s ease;
}
.fr-header.is-scrolled .fr-header-main {
  background: rgba(24, 24, 27, 0.9);
  -webkit-backdrop-filter: blur(8px);
          backdrop-filter: blur(8px);
  box-shadow: 0 4px 20px rgba(0, 0, 0, 0.3);
}

.fr-header-main {
  height: 80px;
  background: transparent;
  transition: background 0.3s ease, -webkit-backdrop-filter 0.3s ease;
  transition: background 0.3s ease, backdrop-filter 0.3s ease;
  transition: background 0.3s ease, backdrop-filter 0.3s ease, -webkit-backdrop-filter 0.3s ease;
}
.fr-header-main .fr-container {
  height: 100%;
}

.fr-logo a {
  gap: 12px;
  color: #ffffff;
}
.fr-logo .logo-icon {
  width: 40px;
  height: 40px;
  background: #dc2626;
  display: flex;
  align-items: center;
  justify-content: center;
  font-weight: 700;
  font-size: 1.25rem;
  color: #ffffff;
  flex-shrink: 0;
}
.fr-logo .logo-img {
  height: 40px;
  width: auto;
  -o-object-fit: contain;
     object-fit: contain;
  flex-shrink: 0;
}
.fr-logo .logo-text-group {
  display: flex;
  flex-direction: column;
}
.fr-logo .logo-text {
  font-weight: 700;
  font-size: 1.125rem;
  line-height: 1.2;
  color: #ffffff;
}
.fr-logo .logo-subtext {
  font-size: 0.75rem;
  color: #d4d4d8;
}

.fr-nav-desktop {
  gap: 0.25rem;
}

.fr-nav-link {
  color: #d4d4d8;
  text-decoration: none;
  padding: 0.5rem 0.875rem;
  font-size: 0.9375rem;
  font-weight: 500;
  transition: color 0.2s ease;
}
.fr-nav-link:hover, .fr-nav-link.active {
  color: #ffffff;
}

.fr-nav-dropdown .dropdown-menu {
  background: #3f3f46;
  border: 1px solid #71717a;
  margin-top: 0.5rem;
}
.fr-nav-dropdown .dropdown-item {
  color: #f4f4f8;
  font-size: 0.875rem;
}
.fr-nav-dropdown .dropdown-item:hover {
  background: rgba(220, 38, 38, 0.1);
  color: #ffffff;
}

.fr-header-right {
  gap: 0.75rem;
}

.fr-search-form {
  display: flex;
  align-items: center;
  background: #27272a;
  border: 1px solid #71717a;
  border-radius: 0.375rem;
  overflow: hidden;
  transition: border-color 0.2s ease;
}
.fr-search-form:focus-within {
  border-color: #dc2626;
}
.fr-search-form .form-control {
  background: transparent;
  border: none;
  color: #ffffff;
  font-size: 0.875rem;
  padding: 0.375rem 0.75rem;
  width: 160px;
}
.fr-search-form .form-control::-moz-placeholder {
  color: #c1c1c8;
}
.fr-search-form .form-control::placeholder {
  color: #c1c1c8;
}
.fr-search-form .form-control:focus {
  box-shadow: none;
  outline: none;
}
.fr-search-form .btn {
  color: #d4d4d8;
  padding: 0.375rem 0.5rem;
  border: none;
}
.fr-search-form .btn:hover {
  color: #ffffff;
}

.fr-icon-link {
  position: relative;
  color: #d4d4d8;
  font-size: 1.25rem;
  text-decoration: none;
  transition: color 0.2s ease;
}
.fr-icon-link:hover {
  color: #ffffff;
}
.fr-icon-link .icon-quantity {
  position: absolute;
  top: -6px;
  right: -10px;
  background: #dc2626;
  color: #ffffff;
  font-size: 0.6875rem;
  min-width: 18px;
  height: 18px;
  line-height: 18px;
  text-align: center;
  border-radius: 50%;
}

.fr-icon-dropdown .btn {
  color: #d4d4d8;
  font-size: 1.25rem;
  padding: 0;
  border: none;
}
.fr-icon-dropdown .btn::after {
  display: none;
}
.fr-icon-dropdown .btn:hover {
  color: #ffffff;
}
.fr-icon-dropdown .dropdown-menu {
  background: #3f3f46;
  border: 1px solid #71717a;
  min-width: 160px;
}
.fr-icon-dropdown .dropdown-item {
  color: #f4f4f8;
  font-size: 0.875rem;
}
.fr-icon-dropdown .dropdown-item:hover {
  background: rgba(220, 38, 38, 0.1);
  color: #ffffff;
}

.fr-nav-cta {
  background: #dc2626;
  color: #ffffff;
  padding: 0.5rem 1.25rem;
  font-weight: 600;
  font-size: 0.875rem;
  text-decoration: none;
  white-space: nowrap;
  transition: all 0.2s ease;
}
.fr-nav-cta:hover {
  background: #b91c1c;
  color: #ffffff;
}

.fr-header-mobile .fr-icon-link {
  font-size: 1.125rem;
}

.fr-mobile-toggle {
  background: none;
  border: none;
  color: #ffffff;
  font-size: 1.5rem;
  cursor: pointer;
  padding: 0;
  line-height: 1;
}

.fr-offcanvas {
  background: #3f3f46 !important;
  width: 80% !important;
  max-width: 320px;
  border-right: 1px solid #71717a !important;
}
.fr-offcanvas .offcanvas-header {
  border-bottom: 1px solid #52525b;
  padding: 1rem;
}
.fr-offcanvas .offcanvas-header .fr-search-form .form-control {
  width: 100%;
}
.fr-offcanvas .close-offcanvas {
  position: absolute;
  right: -36px;
  top: 50%;
  transform: translateY(-50%);
  color: #ffffff;
  cursor: pointer;
  font-size: 1.5rem;
}
.fr-offcanvas .accordion-item {
  background: transparent;
  border: none;
  border-bottom: 1px solid #52525b;
}
.fr-offcanvas .nav-item-text {
  display: flex;
  align-items: center;
  justify-content: space-between;
}
.fr-offcanvas .nav-item-text .nav-link {
  color: #f4f4f8;
  padding: 0.75rem 0;
  font-size: 0.9375rem;
}
.fr-offcanvas .nav-item-text .nav-link.active, .fr-offcanvas .nav-item-text .nav-link:hover {
  color: #ffffff;
}
.fr-offcanvas .nav-item-text .collapsed {
  color: #d4d4d8;
  cursor: pointer;
  padding: 0.5rem;
}
.fr-offcanvas .children-group {
  padding-bottom: 0.5rem;
}
.fr-offcanvas .children-group .nav-link {
  color: #d4d4d8;
  font-size: 0.875rem;
  padding: 0.375rem 0 0.375rem 1rem;
}
.fr-offcanvas .children-group .nav-link:hover {
  color: #dc2626;
}

.header-placeholder,
.header-content-placeholder {
  height: 80px;
}

body.page-home .header-placeholder,
body.page-home .header-content-placeholder {
  display: none;
}

/**
 * Copyright (c) Since 2024 InnoShop - All Rights Reserved
 *
 * @link       https://www.innoshop.com
 * @author     InnoShop <team@innoshop.com>
 * @license    https://opensource.org/licenses/OSL-3.0 Open Software License (OSL 3.0)
 */
.fr-footer {
  background: #27272a;
  border-top: 1px solid #52525b;
  padding: 3rem 0 1.5rem;
}

.fr-footer-main {
  display: grid;
  grid-template-columns: 1fr;
  gap: 2rem;
  padding-bottom: 2rem;
  border-bottom: 1px solid #52525b;
}
@media (min-width: 768px) {
  .fr-footer-main {
    grid-template-columns: 1.5fr 2fr 1fr;
    gap: 3rem;
  }
}

.fr-footer-brand .footer-logo {
  display: flex;
  align-items: center;
  gap: 12px;
  margin-bottom: 1rem;
}
.fr-footer-brand .footer-logo .logo-icon {
  width: 36px;
  height: 36px;
  background: #dc2626;
  display: flex;
  align-items: center;
  justify-content: center;
  font-weight: 700;
  font-size: 1.125rem;
  color: #ffffff;
  flex-shrink: 0;
}
.fr-footer-brand .footer-logo .footer-logo-img {
  height: 36px;
  width: auto;
  -o-object-fit: contain;
     object-fit: contain;
  flex-shrink: 0;
}
.fr-footer-brand .footer-logo .logo-text-group {
  display: flex;
  flex-direction: column;
}
.fr-footer-brand .footer-logo .logo-text {
  font-weight: 700;
  font-size: 1rem;
  line-height: 1.2;
  color: #ffffff;
}
.fr-footer-brand .footer-logo .logo-subtext {
  font-size: 0.6875rem;
  color: #d4d4d8;
  letter-spacing: 0.05em;
}
.fr-footer-brand .footer-desc {
  color: #d4d4d8;
  font-size: 0.875rem;
  line-height: 1.7;
  max-width: 280px;
}

.fr-footer-links-group {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 1.5rem;
}
@media (max-width: 767px) {
  .fr-footer-links-group {
    grid-template-columns: repeat(2, 1fr);
  }
}
@media (max-width: 480px) {
  .fr-footer-links-group {
    grid-template-columns: 1fr;
  }
}

.fr-footer-links h5 {
  color: #ffffff;
  font-size: 0.9375rem;
  font-weight: 600;
  margin-bottom: 1rem;
}
.fr-footer-links ul {
  list-style: none;
  padding: 0;
  margin: 0;
}
.fr-footer-links li {
  margin-bottom: 0.5rem;
}
.fr-footer-links a {
  color: #d4d4d8;
  font-size: 0.875rem;
  text-decoration: none;
  transition: color 0.2s ease;
}
.fr-footer-links a:hover {
  color: #dc2626;
}

.fr-footer-contact h5 {
  color: #ffffff;
  font-size: 0.9375rem;
  font-weight: 600;
  margin-bottom: 1rem;
}
.fr-footer-contact .contact-item {
  display: flex;
  align-items: flex-start;
  gap: 0.625rem;
  margin-bottom: 0.75rem;
  font-size: 0.875rem;
}
.fr-footer-contact .contact-item i {
  color: #dc2626;
  font-size: 1rem;
  flex-shrink: 0;
  margin-top: 0.125rem;
}
.fr-footer-contact .contact-item span, .fr-footer-contact .contact-item a {
  color: #d4d4d8;
  line-height: 1.5;
}
.fr-footer-contact .contact-item a {
  text-decoration: none;
  transition: color 0.2s ease;
}
.fr-footer-contact .contact-item a:hover {
  color: #dc2626;
}

.fr-footer-bottom {
  padding-top: 1.5rem;
}
.fr-footer-bottom .footer-bottom-content {
  display: flex;
  flex-direction: column;
  gap: 1rem;
  align-items: center;
  text-align: center;
}
@media (min-width: 768px) {
  .fr-footer-bottom .footer-bottom-content {
    flex-direction: row;
    justify-content: space-between;
    text-align: left;
  }
}
.fr-footer-bottom .copyright {
  color: #c1c1c8;
  font-size: 0.8125rem;
  margin: 0;
}
.fr-footer-bottom .copyright .divider {
  margin: 0 0.5rem;
  color: #71717a;
}
.fr-footer-bottom .copyright a {
  color: #c1c1c8;
  text-decoration: none;
  transition: color 0.2s ease;
}
.fr-footer-bottom .copyright a:hover {
  color: #dc2626;
}

.fr-footer-switchers {
  display: flex;
  align-items: center;
  gap: 0.75rem;
  flex-wrap: wrap;
  justify-content: center;
}
@media (min-width: 768px) {
  .fr-footer-switchers {
    justify-content: flex-end;
  }
}

.fr-footer-dropdown .btn {
  color: #d4d4d8;
  font-size: 0.8125rem;
  padding: 0.25rem 0.5rem;
  border: 1px solid #52525b;
  background: transparent;
}
.fr-footer-dropdown .btn:hover {
  color: #ffffff;
  border-color: #71717a;
}
.fr-footer-dropdown .dropdown-menu {
  background: #3f3f46;
  border: 1px solid #71717a;
  min-width: 140px;
}
.fr-footer-dropdown .dropdown-item {
  color: #f4f4f8;
  font-size: 0.8125rem;
  padding: 0.375rem 0.75rem;
}
.fr-footer-dropdown .dropdown-item:hover {
  background: rgba(220, 38, 38, 0.1);
  color: #ffffff;
}

/**
 * Copyright (c) Since 2024 InnoShop - All Rights Reserved
 *
 * @link       https://www.innoshop.com
 * @author     InnoShop <team@innoshop.com>
 * @license    https://opensource.org/licenses/OSL-3.0 Open Software License (OSL 3.0)
 */
.fr-hero {
  position: relative;
  min-height: 100vh;
  display: flex;
  align-items: center;
  overflow: hidden;
}

.fr-hero-bg {
  position: absolute;
  inset: 0;
}
.fr-hero-bg img {
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
  filter: brightness(0.65);
}

.fr-hero-overlay {
  position: absolute;
  inset: 0;
  background: linear-gradient(to right, rgba(15, 15, 20, 0.92) 0%, rgba(20, 20, 28, 0.8) 50%, rgba(20, 20, 28, 0.5) 100%);
}

.fr-hero-content {
  position: relative;
  z-index: 1;
  padding-top: 80px;
  max-width: 896px;
  text-align: left;
}

.fr-hero-badge {
  display: flex;
  align-items: center;
  gap: 8px;
  margin-bottom: 1rem;
}
.fr-hero-badge .badge-line {
  width: 48px;
  height: 4px;
  background: #dc2626;
}
.fr-hero-badge .badge-text {
  color: #dc2626;
  font-size: 0.875rem;
  font-weight: 400;
  letter-spacing: 0.1em;
  text-transform: uppercase;
}

.fr-hero-title {
  font-size: 48px;
  font-weight: 300;
  color: #ffffff;
  line-height: 1.25;
  margin-bottom: 1rem;
}
@media (min-width: 576px) {
  .fr-hero-title {
    font-size: 60px;
  }
}
@media (min-width: 992px) {
  .fr-hero-title {
    font-size: 72px;
    line-height: 80px;
  }
}

.fr-hero-desc {
  font-size: 1.125rem;
  color: #f4f4f8;
  max-width: 672px;
  line-height: 1.7;
  margin-bottom: 2.5rem;
}
@media (min-width: 576px) {
  .fr-hero-desc {
    font-size: 1.25rem;
  }
}

.fr-hero-actions {
  display: flex;
  flex-direction: column;
  gap: 1rem;
}
@media (min-width: 576px) {
  .fr-hero-actions {
    flex-direction: row;
  }
}

.fr-scroll-indicator {
  position: absolute;
  bottom: 2.5rem;
  left: 50%;
  transform: translateX(-50%);
}

.fr-scroll-mouse {
  width: 24px;
  height: 40px;
  border: 2px solid #71717a;
  border-radius: 12px;
  display: flex;
  justify-content: center;
  padding: 8px;
  animation: scrollBounce 1.5s infinite;
}
.fr-scroll-mouse .scroll-dot {
  width: 4px;
  height: 8px;
  background: #ffffff;
  border-radius: 2px;
}

/**
 * Copyright (c) Since 2024 InnoShop - All Rights Reserved
 *
 * @link       https://www.innoshop.com
 * @author     InnoShop <team@innoshop.com>
 * @license    https://opensource.org/licenses/OSL-3.0 Open Software License (OSL 3.0)
 */
.fr-values {
  padding: 5rem 0;
  background: #3f3f46;
}

.fr-values-grid {
  display: grid;
  grid-template-columns: 1fr;
  gap: 1.5rem;
}
@media (min-width: 768px) {
  .fr-values-grid {
    grid-template-columns: repeat(2, 1fr);
  }
}
@media (min-width: 992px) {
  .fr-values-grid {
    grid-template-columns: repeat(4, 1fr);
  }
}

.fr-value-card {
  background: #52525b;
  border: 1px solid #52525b;
  padding: 2rem;
  transition: all 0.3s ease;
}
.fr-value-card:hover {
  border-color: #dc2626;
  transform: translateY(-4px);
}

.fr-value-icon {
  width: 56px;
  height: 56px;
  background: rgba(220, 38, 38, 0.1);
  display: flex;
  align-items: center;
  justify-content: center;
  margin-bottom: 1.5rem;
  transition: background 0.2s ease;
}
.fr-value-icon svg, .fr-value-icon i {
  color: #dc2626;
  font-size: 1.5rem;
}
.fr-value-card:hover .fr-value-icon {
  background: rgba(220, 38, 38, 0.2);
}

.fr-value-title {
  font-size: 1.125rem;
  font-weight: 600;
  color: #ffffff;
  margin-bottom: 0.75rem;
}

.fr-value-desc {
  color: #d4d4d8;
  font-size: 0.9375rem;
  line-height: 1.6;
  margin: 0;
}

/**
 * Copyright (c) Since 2024 InnoShop - All Rights Reserved
 *
 * @link       https://www.innoshop.com
 * @author     InnoShop <team@innoshop.com>
 * @license    https://opensource.org/licenses/OSL-3.0 Open Software License (OSL 3.0)
 */
.fr-about {
  padding: 5rem 0;
  background: #27272a;
}
@media (min-width: 576px) {
  .fr-about {
    padding: 7rem 0;
  }
}

.fr-about-grid {
  display: grid;
  grid-template-columns: 1fr;
  gap: 3rem;
  align-items: center;
}
@media (min-width: 992px) {
  .fr-about-grid {
    grid-template-columns: 1fr 1fr;
    gap: 4rem;
  }
}

.fr-about-image {
  position: relative;
}
.fr-about-image img {
  width: 100%;
  height: 500px;
  -o-object-fit: cover;
     object-fit: cover;
}
.fr-about-image .image-overlay {
  position: absolute;
  inset: 0;
  background: linear-gradient(to top, rgba(9, 9, 11, 0.5), transparent);
}

.fr-about-content .fr-section-badge {
  justify-content: flex-start;
}
.fr-about-content .fr-section-title {
  text-align: left;
}

.fr-about-text {
  color: #f4f4f8;
  line-height: 1.8;
  margin-bottom: 1rem;
}

.fr-about-link {
  margin-top: 2rem;
}

/**
 * Copyright (c) Since 2024 InnoShop - All Rights Reserved
 *
 * @link       https://www.innoshop.com
 * @author     InnoShop <team@innoshop.com>
 * @license    https://opensource.org/licenses/OSL-3.0 Open Software License (OSL 3.0)
 */
.fr-products {
  padding: 5rem 0;
  background: #3f3f46;
}
@media (min-width: 576px) {
  .fr-products {
    padding: 7rem 0;
  }
}

.fr-products-grid {
  display: grid;
  grid-template-columns: 1fr;
  gap: 1.5rem;
  align-items: stretch;
}
@media (min-width: 576px) {
  .fr-products-grid {
    grid-template-columns: repeat(2, 1fr);
  }
}
@media (min-width: 992px) {
  .fr-products-grid {
    grid-template-columns: repeat(4, 1fr);
  }
}

.fr-product-card {
  position: relative;
  overflow: hidden;
}
.fr-product-card .product-inner {
  position: relative;
  padding: 2rem;
  height: 387px;
  border: 1px solid #52525b;
  display: flex;
  flex-direction: column;
  transition: all 0.3s ease;
}
.fr-product-card:hover .product-inner {
  border-color: #dc2626;
}

.fr-product-card.product-black .product-inner {
  background: linear-gradient(to bottom right, #3f3f46, #3f3f46);
}
.fr-product-card.product-green .product-inner {
  background: linear-gradient(to bottom right, rgba(6, 78, 59, 0.3), #3f3f46);
}
.fr-product-card.product-orange .product-inner {
  background: linear-gradient(to bottom right, rgba(124, 45, 18, 0.3), #3f3f46);
}
.fr-product-card.product-red .product-inner {
  background: linear-gradient(to bottom right, rgba(127, 29, 29, 0.3), #3f3f46);
}

.fr-product-header {
  margin-bottom: 1rem;
}

.fr-product-name {
  font-size: 1.5rem;
  font-weight: 600;
  color: #ffffff;
  margin-bottom: 0.5rem;
}

.fr-product-name-en {
  font-size: 0.875rem;
  color: #d4d4d8;
}

.fr-product-desc {
  color: #f4f4f8;
  line-height: 1.7;
  flex-grow: 1;
}

.fr-product-footer {
  margin-top: 1.5rem;
}

/**
 * Copyright (c) Since 2024 InnoShop - All Rights Reserved
 *
 * @link       https://www.innoshop.com
 * @author     InnoShop <team@innoshop.com>
 * @license    https://opensource.org/licenses/OSL-3.0 Open Software License (OSL 3.0)
 */
.fr-applications {
  padding: 5rem 0;
  background: #27272a;
}
@media (min-width: 576px) {
  .fr-applications {
    padding: 7rem 0;
  }
}

.fr-applications-grid {
  display: grid;
  grid-template-columns: 1fr;
  gap: 1.5rem;
}
@media (min-width: 768px) {
  .fr-applications-grid {
    grid-template-columns: repeat(2, 1fr);
  }
}
@media (min-width: 992px) {
  .fr-applications-grid {
    grid-template-columns: repeat(3, 1fr);
  }
}

.fr-app-card {
  position: relative;
  overflow: hidden;
  cursor: pointer;
  height: 320px;
}
.fr-app-card:hover .fr-app-image img {
  transform: scale(1.1);
}
.fr-app-card:hover .fr-app-overlay-hover {
  background: rgba(220, 38, 38, 0.1);
}

.fr-app-image {
  position: absolute;
  inset: 0;
}
.fr-app-image img {
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
  transition: transform 0.5s ease;
}

.fr-app-overlay {
  position: absolute;
  inset: 0;
  background: linear-gradient(to top, #27272a, rgba(9, 9, 11, 0.7), transparent);
}

.fr-app-overlay-hover {
  position: absolute;
  inset: 0;
  background: transparent;
  transition: background 0.3s ease;
}

.fr-app-content {
  position: absolute;
  bottom: 0;
  left: 0;
  right: 0;
  padding: 1.5rem;
}

.fr-app-title-en {
  font-size: 0.75rem;
  color: #d4d4d8;
  margin-bottom: 0.25rem;
}

.fr-app-title {
  font-size: 1.5rem;
  font-weight: 600;
  color: #ffffff;
  margin-bottom: 0.5rem;
}

.fr-app-desc {
  color: #f4f4f8;
  font-size: 0.875rem;
  line-height: 1.6;
  margin: 0;
}

/**
 * Copyright (c) Since 2024 InnoShop - All Rights Reserved
 *
 * @link       https://www.innoshop.com
 * @author     InnoShop <team@innoshop.com
 * @license    https://opensource.org/licenses/OSL-3.0 Open Software License (OSL 3.0)
 */
.fr-services {
  padding: 5rem 0;
  background: #3f3f46;
}
@media (min-width: 576px) {
  .fr-services {
    padding: 7rem 0;
  }
}

.fr-services-grid {
  display: grid;
  grid-template-columns: 1fr;
  gap: 2rem;
}
@media (min-width: 768px) {
  .fr-services-grid {
    grid-template-columns: repeat(3, 1fr);
  }
}

.fr-service-card {
  text-align: center;
}
.fr-service-card .service-inner {
  background: rgba(39, 39, 42, 0.5);
  border: 1px solid #52525b;
  padding: 2.5rem;
  height: 100%;
  transition: all 0.3s ease;
}
.fr-service-card:hover .service-inner {
  border-color: #dc2626;
}

.fr-service-icon {
  width: 80px;
  height: 80px;
  background: rgba(220, 38, 38, 0.1);
  display: flex;
  align-items: center;
  justify-content: center;
  margin: 0 auto 1.5rem;
  transition: background 0.2s ease;
}
.fr-service-icon svg, .fr-service-icon i {
  color: #dc2626;
  font-size: 2rem;
}
.fr-service-card:hover .fr-service-icon {
  background: rgba(220, 38, 38, 0.2);
}

.fr-service-title {
  font-size: 1.5rem;
  font-weight: 600;
  color: #ffffff;
  margin-bottom: 1rem;
}

.fr-service-desc {
  color: #d4d4d8;
  line-height: 1.7;
  margin: 0;
}

/**
 * Copyright (c) Since 2024 InnoShop - All Rights Reserved
 *
 * @link       https://www.innoshop.com
 * @author     InnoShop <team@innoshop.com>
 * @license    https://opensource.org/licenses/OSL-3.0 Open Software License (OSL 3.0)
 */
.fr-technologies {
  padding: 5rem 0;
  background: #27272a;
  position: relative;
  overflow: hidden;
}
@media (min-width: 576px) {
  .fr-technologies {
    padding: 7rem 0;
  }
}
.fr-technologies .tech-bg-pattern {
  position: absolute;
  inset: 0;
  opacity: 0.05;
  background-image: linear-gradient(45deg, #dc2626 25%, transparent 25%), linear-gradient(-45deg, #dc2626 25%, transparent 25%), linear-gradient(45deg, transparent 75%, #dc2626 75%), linear-gradient(-45deg, transparent 75%, #dc2626 75%);
  background-size: 40px 40px;
  background-position: 0 0, 0 20px, 20px -20px, -20px 0;
  pointer-events: none;
}

.fr-technologies-grid {
  display: grid;
  grid-template-columns: 1fr;
  gap: 3rem;
  align-items: center;
  position: relative;
}
@media (min-width: 992px) {
  .fr-technologies-grid {
    grid-template-columns: 1fr 1fr;
    gap: 4rem;
  }
}

.fr-technologies-content .fr-section-badge {
  justify-content: flex-start;
}
.fr-technologies-content .fr-section-title {
  text-align: left;
}

.fr-technologies-intro {
  color: #f4f4f8;
  line-height: 1.8;
  margin-bottom: 2rem;
}

.fr-tech-list-wrapper {
  background: rgba(24, 24, 27, 0.5);
  border: 1px solid #52525b;
  padding: 2rem;
}
@media (min-width: 576px) {
  .fr-tech-list-wrapper {
    padding: 2.5rem;
  }
}

.fr-tech-list {
  list-style: none;
  padding: 0;
  margin: 0;
}

.fr-tech-item {
  display: flex;
  align-items: flex-start;
  gap: 1rem;
  margin-bottom: 1.25rem;
  transition: all 0.2s ease;
}
.fr-tech-item:last-child {
  margin-bottom: 0;
}
.fr-tech-item:hover .fr-tech-check {
  background: #dc2626;
}
.fr-tech-item:hover .fr-tech-check svg, .fr-tech-item:hover .fr-tech-check i {
  color: #ffffff;
}
.fr-tech-item:hover .fr-tech-text {
  color: #ffffff;
}

.fr-tech-check {
  width: 24px;
  height: 24px;
  background: rgba(220, 38, 38, 0.2);
  display: flex;
  align-items: center;
  justify-content: center;
  flex-shrink: 0;
  margin-top: 0.25rem;
  transition: background 0.2s ease;
}
.fr-tech-check svg, .fr-tech-check i {
  color: #dc2626;
  font-size: 1rem;
}

.fr-tech-text {
  color: #f4f4f8;
  font-size: 1.125rem;
  transition: color 0.2s ease;
}

/**
 * Copyright (c) Since 2024 InnoShop - All Rights Reserved
 *
 * @link       https://www.innoshop.com
 * @author     InnoShop <team@innoshop.com>
 * @license    https://opensource.org/licenses/OSL-3.0 Open Software License (OSL 3.0)
 */
.fr-knowledge {
  padding: 5rem 0;
  background: #3f3f46;
}
@media (min-width: 576px) {
  .fr-knowledge {
    padding: 7rem 0;
  }
}

.fr-knowledge-inner {
  max-width: 56rem;
  margin: 0 auto;
  text-align: center;
}

.fr-knowledge-icon {
  width: 64px;
  height: 64px;
  background: rgba(220, 38, 38, 0.1);
  display: flex;
  align-items: center;
  justify-content: center;
  margin: 0 auto 1.5rem;
}
.fr-knowledge-icon svg, .fr-knowledge-icon i {
  color: #dc2626;
  font-size: 2rem;
}

.fr-knowledge-title {
  font-size: 2.25rem;
  color: #ffffff;
  margin-bottom: 1.5rem;
}
@media (min-width: 576px) {
  .fr-knowledge-title {
    font-size: 3rem;
  }
}

.fr-knowledge-box {
  background: rgba(39, 39, 42, 0.3);
  border: 1px solid #71717a;
  padding: 2rem;
}
@media (min-width: 576px) {
  .fr-knowledge-box {
    padding: 3rem;
  }
}

.fr-knowledge-text {
  color: #f4f4f8;
  font-size: 1.125rem;
  line-height: 1.8;
  margin-bottom: 2rem;
}

.fr-knowledge-cta {
  display: inline-flex;
  align-items: center;
  border: 2px solid #dc2626;
  color: #dc2626;
  padding: 0.75rem 2rem;
  font-weight: 500;
  transition: all 0.2s ease;
}
.fr-knowledge-cta:hover {
  background: #dc2626;
  color: #ffffff;
}

/**
 * Copyright (c) Since 2024 InnoShop - All Rights Reserved
 *
 * @link       https://www.innoshop.com
 * @author     InnoShop <team@innoshop.com>
 * @license    https://opensource.org/licenses/OSL-3.0 Open Software License (OSL 3.0)
 */
.fr-contact {
  padding: 5rem 0;
  background: #3f3f46;
  position: relative;
  overflow: hidden;
}
@media (min-width: 576px) {
  .fr-contact {
    padding: 7rem 0;
  }
}
.fr-contact .contact-decoration {
  position: absolute;
  top: 0;
  right: 0;
  width: 33.33%;
  height: 100%;
  background: linear-gradient(to left, rgba(39, 39, 42, 0.2), transparent);
  pointer-events: none;
}
.fr-contact .contact-glow {
  position: absolute;
  bottom: 0;
  left: 0;
  width: 256px;
  height: 256px;
  background: rgba(220, 38, 38, 0.05);
  border-radius: 50%;
  filter: blur(64px);
  pointer-events: none;
}

.fr-contact-grid {
  display: grid;
  grid-template-columns: 1fr;
  gap: 3rem;
  align-items: flex-start;
  position: relative;
}
@media (min-width: 992px) {
  .fr-contact-grid {
    grid-template-columns: 1fr 1fr;
    gap: 5rem;
  }
}

.fr-contact-info {
  display: flex;
  flex-direction: column;
  gap: 2rem;
}

.fr-contact-card {
  background: rgba(39, 39, 42, 0.5);
  border: 1px solid rgba(63, 63, 70, 0.5);
  border-radius: 0.5rem;
  padding: 2rem;
  transition: border-color 0.3s ease;
}
.fr-contact-card:hover {
  border-color: rgba(220, 38, 38, 0.3);
}

.fr-contact-card-title {
  display: flex;
  align-items: center;
  gap: 0.75rem;
  font-size: 1.25rem;
  font-weight: 700;
  color: #ffffff;
  margin-bottom: 1rem;
}
.fr-contact-card-title .title-line {
  width: 6px;
  height: 24px;
  background: #dc2626;
}

.fr-contact-card-desc {
  color: #d4d4d8;
  margin-bottom: 1rem;
}

.fr-contact-card-info p {
  color: #f4f4f8;
  margin-bottom: 0.5rem;
}
.fr-contact-card-info p .label {
  color: #c1c1c8;
  display: inline-block;
  width: 80px;
}

.fr-contact-form-wrapper {
  background: #27272a;
  padding: 2rem;
  border: 1px solid #52525b;
  border-radius: 0.75rem;
  box-shadow: 0 25px 50px -12px rgba(0, 0, 0, 0.25);
  position: relative;
}
@media (min-width: 576px) {
  .fr-contact-form-wrapper {
    padding: 2.5rem;
  }
}

.fr-contact-form {
  display: flex;
  flex-direction: column;
  gap: 1.5rem;
}

.fr-form-row {
  display: grid;
  grid-template-columns: 1fr;
  gap: 1.5rem;
}
@media (min-width: 576px) {
  .fr-form-row {
    grid-template-columns: 1fr 1fr;
  }
}

.fr-contact-success {
  position: absolute;
  inset: 0;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  background: rgba(9, 9, 11, 0.95);
  z-index: 20;
  text-align: center;
  padding: 2rem;
}
.fr-contact-success .success-icon {
  width: 64px;
  height: 64px;
  color: #22c55e;
  margin-bottom: 1.5rem;
}
.fr-contact-success .success-title {
  font-size: 1.5rem;
  font-weight: 700;
  color: #ffffff;
  margin-bottom: 0.5rem;
}
.fr-contact-success .success-text {
  color: #d4d4d8;
}

/**
 * Copyright (c) Since 2024 InnoShop - All Rights Reserved
 *
 * @link       https://www.innoshop.com
 * @author     InnoShop <team@innoshop.com>
 * @license    https://opensource.org/licenses/OSL-3.0 Open Software License (OSL 3.0)
 */
/**
 * Copyright (c) Since 2024 InnoShop - All Rights Reserved
 *
 * @link       https://www.innoshop.com
 * @author     InnoShop <team@innoshop.com>
 * @license    https://opensource.org/licenses/OSL-3.0 Open Software License (OSL 3.0)
 */
.fr-page-category {
  background-color: #27272a;
}

.fr-category-hero {
  position: relative;
  padding: 96px 0 80px;
  background: linear-gradient(135deg, #18181b 0%, #27272a 100%);
  overflow: hidden;
}
.fr-category-hero::before {
  content: "";
  position: absolute;
  inset: 0;
  background: url('data:image/svg+xml,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 100 100"><circle cx="50" cy="50" r="1" fill="%23dc2626" opacity="0.03"/></svg>') repeat;
  background-size: 40px 40px;
  opacity: 0.5;
}

.fr-hero-overlay {
  position: absolute;
  inset: 0;
  background: radial-gradient(ellipse at top right, rgba(220, 38, 38, 0.1) 0%, transparent 60%);
  pointer-events: none;
}

.fr-breadcrumb {
  display: flex;
  align-items: center;
  gap: 12px;
  margin-bottom: 24px;
  font-size: 14px;
  position: relative;
  z-index: 1;
}
.fr-breadcrumb a {
  color: #a1a1aa;
  transition: color 200ms ease;
}
.fr-breadcrumb a:hover {
  color: #dc2626;
}
.fr-breadcrumb i {
  color: #3f3f46;
  font-size: 12px;
}
.fr-breadcrumb span {
  color: #f4f4f8;
}

.fr-category-header {
  position: relative;
  z-index: 1;
  text-align: center;
}

.fr-category-title {
  font-size: 48px;
  font-weight: 700;
  line-height: 1.25;
  color: #ffffff;
  margin-bottom: 16px;
}
@media (max-width: 639px) {
  .fr-category-title {
    font-size: 40px;
  }
}
@media (min-width: 1024px) {
  .fr-category-title {
    font-size: 60px;
  }
}

.fr-category-desc {
  font-size: 16px;
  font-weight: 400;
  line-height: 1.5;
  color: #f4f4f8;
  max-width: 600px;
  margin: 0 auto;
}

.fr-subcategories {
  padding: 80px 0;
  background: #27272a;
}

.fr-section-title {
  font-size: 36px;
  font-weight: 700;
  line-height: 1.25;
  color: #ffffff;
  margin-bottom: 48px;
  text-align: center;
}

.fr-subcategory-grid {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: 24px;
}
@media (min-width: 640px) {
  .fr-subcategory-grid {
    grid-template-columns: repeat(3, 1fr);
  }
}
@media (min-width: 1024px) {
  .fr-subcategory-grid {
    grid-template-columns: repeat(4, 1fr);
  }
}

.fr-subcategory-card {
  display: flex;
  flex-direction: column;
  background: #18181b;
  border: 1px solid #3f3f46;
  border-radius: 8px;
  overflow: hidden;
  transition: all 300ms ease;
}
.fr-subcategory-card:hover {
  border-color: #dc2626;
  transform: translateY(-4px);
  box-shadow: 0 4px 20px rgba(0, 0, 0, 0.08);
}

.fr-subcategory-image {
  aspect-ratio: 1/1;
  overflow: hidden;
  background: #18181b;
}
.fr-subcategory-image img {
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
  transition: transform 300ms ease;
}
.fr-subcategory-card:hover .fr-subcategory-image img {
  transform: scale(1.05);
}

.fr-subcategory-content {
  padding: 24px;
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  gap: 12px;
  flex: 1;
}

.fr-subcategory-name {
  font-size: 18px;
  font-weight: 500;
  line-height: 1.5;
  color: #ffffff;
}

.fr-subcategory-link {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  font-size: 14px;
  font-weight: 500;
  line-height: 1.5;
  letter-spacing: 0.05em;
  text-transform: uppercase;
  color: #dc2626;
  transition: gap 200ms ease;
}
.fr-subcategory-card:hover .fr-subcategory-link {
  gap: calc(8px + 5px);
}
.fr-subcategory-link i {
  transition: transform 200ms ease;
}

.fr-subcategory-card:hover .fr-subcategory-link i,
a:hover .fr-subcategory-link i {
  transform: translateX(5px);
}

.fr-products-filter {
  padding: 24px 0;
  border-bottom: 1px solid #3f3f46;
}

.fr-filter-bar {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 24px;
}

.fr-filter-group {
  display: flex;
  align-items: center;
  gap: 12px;
}

.fr-filter-label {
  font-size: 14px;
  font-weight: 500;
  line-height: 1.5;
  letter-spacing: 0.05em;
  text-transform: uppercase;
  color: #a1a1aa;
}

.fr-select-wrapper {
  position: relative;
  min-width: 160px;
}

.fr-select {
  width: 100%;
  padding: 10px 2.5rem 10px 16px;
  font-size: 14px;
  font-weight: 400;
  color: #ffffff;
  background: #18181b;
  border: 1px solid #3f3f46;
  border-radius: 4px;
  cursor: pointer;
  -webkit-appearance: none;
     -moz-appearance: none;
          appearance: none;
  transition: border-color 200ms ease;
}
.fr-select:focus {
  outline: none;
  border-color: #dc2626;
}
.fr-select::-ms-expand {
  display: none;
}

.fr-select-icon {
  position: absolute;
  right: 12px;
  top: 50%;
  transform: translateY(-50%);
  color: #a1a1aa;
  pointer-events: none;
  font-size: 12px;
}

.fr-view-toggle {
  display: flex;
  gap: 8px;
  margin-left: auto;
}

.fr-view-btn {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 40px;
  height: 40px;
  background: #18181b;
  border: 1px solid #3f3f46;
  border-radius: 4px;
  color: #a1a1aa;
  cursor: pointer;
  transition: all 200ms ease;
}
.fr-view-btn:hover {
  border-color: #71717a;
  color: #ffffff;
}
.fr-view-btn.active {
  background: #dc2626;
  border-color: #dc2626;
  color: #ffffff;
}
.fr-view-btn i {
  font-size: 16px;
}

.fr-products-section {
  padding: 80px 0;
}

.fr-products-grid {
  display: grid;
  grid-template-columns: repeat(1, 1fr);
  gap: 24px;
}
@media (min-width: 640px) {
  .fr-products-grid {
    grid-template-columns: repeat(2, 1fr);
  }
}
@media (min-width: 1024px) {
  .fr-products-grid {
    grid-template-columns: repeat(3, 1fr);
  }
}
@media (min-width: 1280px) {
  .fr-products-grid {
    grid-template-columns: repeat(4, 1fr);
  }
}
.fr-products-grid.fr-view-list {
  grid-template-columns: 1fr;
}
.fr-products-grid.fr-view-list .fr-product-card {
  flex-direction: row;
}
.fr-products-grid.fr-view-list .fr-product-card .fr-product-image {
  flex: 0 0 280px;
  aspect-ratio: 1/1;
}
.fr-products-grid.fr-view-list .fr-product-card .fr-product-content {
  flex: 1;
}

.fr-product-card {
  background: #18181b;
  border: 1px solid #3f3f46;
  border-radius: 8px;
  overflow: hidden;
  transition: all 300ms ease;
}
.fr-product-card:hover {
  border: 2px solid #dc2626;
  transform: translateY(-5px);
  box-shadow: 0 10px 15px rgba(0, 0, 0, 0.1);
}
.fr-product-card:hover .fr-product-image::after {
  opacity: 1;
}
.fr-product-card:hover .fr-product-image img {
  transform: scale(1.1);
}
.fr-product-card:hover .fr-product-overlay {
  opacity: 1;
}
.fr-product-card:hover .fr-product-overlay .fr-overlay-content {
  transform: translateY(0);
}

.fr-product-link {
  display: block;
  color: inherit;
  text-decoration: none;
}

.fr-product-image {
  position: relative;
  aspect-ratio: 1/1;
  overflow: hidden;
  background: #18181b;
}
.fr-product-image::after {
  content: "";
  position: absolute;
  inset: 0;
  background: rgba(220, 38, 38, 0.2);
  opacity: 0;
  transition: opacity 300ms ease;
  pointer-events: none;
}
.fr-product-image img {
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
  transition: transform 300ms ease;
}

.fr-product-overlay {
  position: absolute;
  inset: 0;
  background: rgba(0, 0, 0, 0.4);
  display: flex;
  align-items: center;
  justify-content: center;
  opacity: 0;
  transition: opacity 300ms ease-out;
}

.fr-overlay-content {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 12px;
  transform: translateY(20px);
  transition: transform 300ms ease-out;
}

.fr-btn-quick-view {
  width: 48px;
  height: 48px;
  background: #ffffff;
  border: none;
  border-radius: 50%;
  color: #18181b;
  cursor: pointer;
  transition: all 200ms ease;
}
.fr-btn-quick-view:hover {
  background: #dc2626;
  color: #ffffff;
  transform: scale(1.1);
}
.fr-btn-quick-view i {
  font-size: 20px;
}

.fr-product-params {
  background: rgba(24, 24, 27, 0.95);
  -webkit-backdrop-filter: blur(4px);
          backdrop-filter: blur(4px);
  border-radius: 8px;
  padding: 20px;
  max-width: 280px;
  width: 100%;
  box-shadow: 0 10px 15px rgba(0, 0, 0, 0.1);
}

.fr-params-title {
  font-size: 12px;
  font-weight: 700;
  color: #dc2626;
  text-transform: uppercase;
  letter-spacing: 0.1em;
  margin-bottom: 8px;
  padding-bottom: 8px;
  border-bottom: 1px solid #3f3f46;
}

.fr-params-list {
  display: flex;
  flex-direction: column;
  gap: 8px;
  margin-bottom: 16px;
}

.fr-param-item {
  display: flex;
  justify-content: space-between;
  align-items: center;
  gap: 12px;
  font-size: 13px;
}
.fr-param-item:last-child {
  margin-bottom: 0;
}

.fr-param-label {
  font-weight: 500;
  color: #a1a1aa;
  flex-shrink: 0;
}

.fr-param-value {
  font-weight: 400;
  color: #ffffff;
  text-align: right;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.fr-params-more {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 6px;
  width: 100%;
  padding: 8px 16px;
  font-size: 12px;
  font-weight: 500;
  color: #ffffff;
  background: #dc2626;
  border-radius: 4px;
  transition: all 200ms ease;
}
.fr-params-more:hover {
  background: #b91c1c;
}
.fr-params-more:hover i {
  transform: translateX(4px);
}
.fr-params-more i {
  font-size: 14px;
  transition: transform 200ms ease;
}

.fr-product-content {
  padding: 24px;
  display: flex;
  flex-direction: column;
  gap: 12px;
}

.fr-product-name {
  font-size: 18px;
  font-weight: 500;
  line-height: 1.5;
  color: #ffffff;
  transition: color 200ms ease;
}
.fr-product-card:hover .fr-product-name {
  color: #dc2626;
}

.fr-product-desc {
  font-size: 14px;
  font-weight: 400;
  line-height: 1.5;
  color: #a1a1aa;
  display: -webkit-box;
  -webkit-line-clamp: 2;
  -webkit-box-orient: vertical;
  overflow: hidden;
}

.fr-product-footer {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 16px;
  margin-top: auto;
}

.fr-product-price {
  display: flex;
  align-items: baseline;
  gap: 8px;
  flex-wrap: wrap;
}

.fr-price-current {
  font-size: 20px;
  font-weight: 700;
  color: #dc2626;
}

.fr-price-old {
  font-size: 14px;
  font-weight: 400;
  color: #a1a1aa;
  text-decoration: line-through;
}

.fr-btn-sm {
  padding: 8px 16px;
  font-size: 14px;
}

.fr-btn-icon {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 40px;
  height: 40px;
  background: transparent;
  border: none;
  border-radius: 4px;
  color: #a1a1aa;
  cursor: pointer;
  transition: all 200ms ease;
}
.fr-btn-icon:hover {
  background: rgba(255, 255, 255, 0.1);
  color: #ffffff;
}

.fr-empty-state {
  grid-column: 1/-1;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  padding: 96px 24px;
  text-align: center;
}
.fr-empty-state i {
  font-size: 64px;
  color: #71717a;
  margin-bottom: 16px;
}
.fr-empty-state h3 {
  font-size: 24px;
  font-weight: 700;
  color: #ffffff;
  margin-bottom: 8px;
}
.fr-empty-state p {
  color: #a1a1aa;
}

.fr-pagination {
  margin-top: 24px;
}
.fr-pagination .pagination {
  display: flex;
  justify-content: center;
  gap: 8px;
  list-style: none;
  margin: 0;
  padding: 0;
}
.fr-pagination .pagination .page-item .page-link {
  display: flex;
  align-items: center;
  justify-content: center;
  min-width: 40px;
  height: 40px;
  padding: 0 12px;
  font-size: 14px;
  font-weight: 500;
  color: #f4f4f8;
  background: #18181b;
  border: 1px solid #3f3f46;
  border-radius: 4px;
  transition: all 200ms ease;
}
.fr-pagination .pagination .page-item .page-link:hover {
  background: #18181b;
  border-color: #71717a;
  color: #ffffff;
}
.fr-pagination .pagination .page-item.active .page-link {
  background: #dc2626;
  border-color: #dc2626;
  color: #ffffff;
}
.fr-pagination .pagination .page-item.disabled .page-link {
  opacity: 0.5;
  pointer-events: none;
}

.fr-category-content {
  padding: 80px 0;
  background: #18181b;
}

.fr-content-box {
  max-width: 900px;
  margin: 0 auto;
}

.fr-content-title {
  font-size: 30px;
  font-weight: 700;
  color: #ffffff;
  margin-bottom: 20px;
}

.fr-content-body {
  font-size: 16px;
  line-height: 1.75;
  color: #f4f4f8;
}
.fr-content-body p {
  margin-bottom: 16px;
}
.fr-content-body h2, .fr-content-body h3, .fr-content-body h4 {
  color: #ffffff;
  margin-top: 20px;
  margin-bottom: 12px;
}
.fr-content-body ul, .fr-content-body ol {
  margin-bottom: 16px;
  padding-left: 20px;
}
.fr-content-body li {
  margin-bottom: 8px;
}

/**
 * Copyright (c) Since 2024 InnoShop - All Rights Reserved
 *
 * @link       https://www.innoshop.com
 * @author     InnoShop <team@innoshop.com>
 * @license    https://opensource.org/licenses/OSL-3.0 Open Software License (OSL 3.0)
 */
.page-products,
.page-product,
.page-categories {
  padding-top: 80px;
  background-color: #27272a;
  min-height: 100vh;
}
.page-products .breadcrumb-wrap,
.page-product .breadcrumb-wrap,
.page-categories .breadcrumb-wrap {
  background: rgba(39, 39, 42, 0.5);
  background-image: none;
  padding: 1rem 0;
  margin-bottom: 0;
  border-bottom: 1px solid #3f3f46;
}
@media (min-width: 768px) {
  .page-products .breadcrumb-wrap,
  .page-product .breadcrumb-wrap,
  .page-categories .breadcrumb-wrap {
    padding: 1.5rem 0;
    margin-bottom: 1.5rem;
  }
}
.page-products .breadcrumb-wrap .breadcrumb,
.page-product .breadcrumb-wrap .breadcrumb,
.page-categories .breadcrumb-wrap .breadcrumb {
  background: transparent;
  margin-bottom: 0;
}
.page-products .breadcrumb-wrap .breadcrumb li,
.page-product .breadcrumb-wrap .breadcrumb li,
.page-categories .breadcrumb-wrap .breadcrumb li {
  font-size: 0.875rem;
  text-transform: none;
}
.page-products .breadcrumb-wrap .breadcrumb li a,
.page-product .breadcrumb-wrap .breadcrumb li a,
.page-categories .breadcrumb-wrap .breadcrumb li a {
  color: #d4d4d8;
  text-decoration: none;
}
.page-products .breadcrumb-wrap .breadcrumb li a:hover,
.page-product .breadcrumb-wrap .breadcrumb li a:hover,
.page-categories .breadcrumb-wrap .breadcrumb li a:hover {
  color: #dc2626;
}
.page-products .breadcrumb-wrap .breadcrumb li:not(:last-child)::after,
.page-product .breadcrumb-wrap .breadcrumb li:not(:last-child)::after,
.page-categories .breadcrumb-wrap .breadcrumb li:not(:last-child)::after {
  color: #c1c1c8;
}
.page-products .breadcrumb-wrap .breadcrumb .active,
.page-product .breadcrumb-wrap .breadcrumb .active,
.page-categories .breadcrumb-wrap .breadcrumb .active {
  color: #f4f4f8;
}
.page-products .breadcrumb-filter-btn .btn,
.page-product .breadcrumb-filter-btn .btn,
.page-categories .breadcrumb-filter-btn .btn {
  border-color: #dc2626;
  color: #dc2626;
  background-color: transparent;
}
.page-products .breadcrumb-filter-btn .btn:hover, .page-products .breadcrumb-filter-btn .btn:focus,
.page-product .breadcrumb-filter-btn .btn:hover,
.page-product .breadcrumb-filter-btn .btn:focus,
.page-categories .breadcrumb-filter-btn .btn:hover,
.page-categories .breadcrumb-filter-btn .btn:focus {
  color: #ffffff;
  background-color: #dc2626;
  border-color: #dc2626;
  box-shadow: 0 0 0 0.2rem rgba(220, 38, 38, 0.2);
}
.page-products .top-order-wrap,
.page-product .top-order-wrap,
.page-categories .top-order-wrap {
  border-bottom-color: #52525b;
}
.page-products .top-order-wrap .left,
.page-product .top-order-wrap .left,
.page-categories .top-order-wrap .left {
  color: #d4d4d8;
}
.page-products .top-order-wrap .right .order-item,
.page-product .top-order-wrap .right .order-item,
.page-categories .top-order-wrap .right .order-item {
  border-right-color: #52525b;
}
.page-products .top-order-wrap .right .order-item span,
.page-product .top-order-wrap .right .order-item span,
.page-categories .top-order-wrap .right .order-item span {
  color: #d4d4d8;
}
.page-products .top-order-wrap .right .order-item .order-icon,
.page-product .top-order-wrap .right .order-item .order-icon,
.page-categories .top-order-wrap .right .order-item .order-icon {
  color: #f4f4f8;
}
.page-products .top-order-wrap .right .order-item .order-icon.active,
.page-product .top-order-wrap .right .order-item .order-icon.active,
.page-categories .top-order-wrap .right .order-item .order-icon.active {
  background-color: rgba(220, 38, 38, 0.1);
  color: #dc2626;
}
.page-products .top-order-wrap .form-select,
.page-product .top-order-wrap .form-select,
.page-categories .top-order-wrap .form-select {
  background-color: #3f3f46;
  border-color: #52525b;
  color: #f4f4f8;
}
.page-products .top-order-wrap .form-select:focus,
.page-product .top-order-wrap .form-select:focus,
.page-categories .top-order-wrap .form-select:focus {
  border-color: #dc2626;
  box-shadow: 0 0 0 2px rgba(220, 38, 38, 0.2);
}
.page-products .filter-sidebar,
.page-product .filter-sidebar,
.page-categories .filter-sidebar {
  background: #27272a;
}
@media (max-width: 767px) {
  .page-products .filter-sidebar,
  .page-product .filter-sidebar,
  .page-categories .filter-sidebar {
    background: #3f3f46;
  }
}
.page-products .filter-sidebar .filter-sidebar-item .title,
.page-product .filter-sidebar .filter-sidebar-item .title,
.page-categories .filter-sidebar .filter-sidebar-item .title {
  color: #ffffff;
  border-bottom: 1px solid #52525b;
  padding-bottom: 0.75rem;
  font-weight: 600;
}
.page-products .filter-sidebar .category-item,
.page-products .filter-sidebar .subcategory-item,
.page-products .filter-sidebar .subsubcategory-item,
.page-product .filter-sidebar .category-item,
.page-product .filter-sidebar .subcategory-item,
.page-product .filter-sidebar .subsubcategory-item,
.page-categories .filter-sidebar .category-item,
.page-categories .filter-sidebar .subcategory-item,
.page-categories .filter-sidebar .subsubcategory-item {
  border-bottom-color: #52525b;
}
.page-products .filter-sidebar .category-item:hover,
.page-products .filter-sidebar .subcategory-item:hover,
.page-products .filter-sidebar .subsubcategory-item:hover,
.page-product .filter-sidebar .category-item:hover,
.page-product .filter-sidebar .subcategory-item:hover,
.page-product .filter-sidebar .subsubcategory-item:hover,
.page-categories .filter-sidebar .category-item:hover,
.page-categories .filter-sidebar .subcategory-item:hover,
.page-categories .filter-sidebar .subsubcategory-item:hover {
  background-color: #3f3f46;
}
.page-products .filter-sidebar .category-item a, .page-products .filter-sidebar .category-item span, .page-products .filter-sidebar .category-item div,
.page-products .filter-sidebar .subcategory-item a,
.page-products .filter-sidebar .subcategory-item span,
.page-products .filter-sidebar .subcategory-item div,
.page-products .filter-sidebar .subsubcategory-item a,
.page-products .filter-sidebar .subsubcategory-item span,
.page-products .filter-sidebar .subsubcategory-item div,
.page-product .filter-sidebar .category-item a,
.page-product .filter-sidebar .category-item span,
.page-product .filter-sidebar .category-item div,
.page-product .filter-sidebar .subcategory-item a,
.page-product .filter-sidebar .subcategory-item span,
.page-product .filter-sidebar .subcategory-item div,
.page-product .filter-sidebar .subsubcategory-item a,
.page-product .filter-sidebar .subsubcategory-item span,
.page-product .filter-sidebar .subsubcategory-item div,
.page-categories .filter-sidebar .category-item a,
.page-categories .filter-sidebar .category-item span,
.page-categories .filter-sidebar .category-item div,
.page-categories .filter-sidebar .subcategory-item a,
.page-categories .filter-sidebar .subcategory-item span,
.page-categories .filter-sidebar .subcategory-item div,
.page-categories .filter-sidebar .subsubcategory-item a,
.page-categories .filter-sidebar .subsubcategory-item span,
.page-categories .filter-sidebar .subsubcategory-item div {
  color: #ffffff !important;
}
.page-products .filter-sidebar .category-link,
.page-products .filter-sidebar .subcategory-link,
.page-products .filter-sidebar .subsubcategory-link,
.page-product .filter-sidebar .category-link,
.page-product .filter-sidebar .subcategory-link,
.page-product .filter-sidebar .subsubcategory-link,
.page-categories .filter-sidebar .category-link,
.page-categories .filter-sidebar .subcategory-link,
.page-categories .filter-sidebar .subsubcategory-link {
  color: #ffffff !important;
  font-weight: 500;
  opacity: 1 !important;
}
.page-products .filter-sidebar .category-link:hover,
.page-products .filter-sidebar .subcategory-link:hover,
.page-products .filter-sidebar .subsubcategory-link:hover,
.page-product .filter-sidebar .category-link:hover,
.page-product .filter-sidebar .subcategory-link:hover,
.page-product .filter-sidebar .subsubcategory-link:hover,
.page-categories .filter-sidebar .category-link:hover,
.page-categories .filter-sidebar .subcategory-link:hover,
.page-categories .filter-sidebar .subsubcategory-link:hover {
  color: #dc2626 !important;
}
.page-products .filter-sidebar .category-link.active,
.page-products .filter-sidebar .subcategory-link.active,
.page-products .filter-sidebar .subsubcategory-link.active,
.page-product .filter-sidebar .category-link.active,
.page-product .filter-sidebar .subcategory-link.active,
.page-product .filter-sidebar .subsubcategory-link.active,
.page-categories .filter-sidebar .category-link.active,
.page-categories .filter-sidebar .subcategory-link.active,
.page-categories .filter-sidebar .subsubcategory-link.active {
  color: #dc2626 !important;
  background-color: rgba(220, 38, 38, 0.1);
}
.page-products .filter-sidebar .category-toggle,
.page-products .filter-sidebar .subcategory-toggle,
.page-product .filter-sidebar .category-toggle,
.page-product .filter-sidebar .subcategory-toggle,
.page-categories .filter-sidebar .category-toggle,
.page-categories .filter-sidebar .subcategory-toggle {
  color: #ffffff !important;
  font-weight: 500;
  opacity: 1 !important;
}
.page-products .filter-sidebar .category-toggle:hover,
.page-products .filter-sidebar .subcategory-toggle:hover,
.page-product .filter-sidebar .category-toggle:hover,
.page-product .filter-sidebar .subcategory-toggle:hover,
.page-categories .filter-sidebar .category-toggle:hover,
.page-categories .filter-sidebar .subcategory-toggle:hover {
  background-color: #52525b;
  color: #dc2626 !important;
}
.page-products .filter-sidebar #filter-category .accordion-item,
.page-product .filter-sidebar #filter-category .accordion-item,
.page-categories .filter-sidebar #filter-category .accordion-item {
  border-color: #52525b !important;
}
.page-products .filter-sidebar #filter-category .accordion-item a, .page-products .filter-sidebar #filter-category .accordion-item span, .page-products .filter-sidebar #filter-category .accordion-item button, .page-products .filter-sidebar #filter-category .accordion-item div,
.page-product .filter-sidebar #filter-category .accordion-item a,
.page-product .filter-sidebar #filter-category .accordion-item span,
.page-product .filter-sidebar #filter-category .accordion-item button,
.page-product .filter-sidebar #filter-category .accordion-item div,
.page-categories .filter-sidebar #filter-category .accordion-item a,
.page-categories .filter-sidebar #filter-category .accordion-item span,
.page-categories .filter-sidebar #filter-category .accordion-item button,
.page-categories .filter-sidebar #filter-category .accordion-item div {
  color: #ffffff !important;
}
.page-products .filter-sidebar #filter-category .accordion-item .accordion-title > a,
.page-product .filter-sidebar #filter-category .accordion-item .accordion-title > a,
.page-categories .filter-sidebar #filter-category .accordion-item .accordion-title > a {
  color: #ffffff !important;
  font-weight: 500;
}
.page-products .filter-sidebar #filter-category .accordion-item .accordion-title > a:hover,
.page-product .filter-sidebar #filter-category .accordion-item .accordion-title > a:hover,
.page-categories .filter-sidebar #filter-category .accordion-item .accordion-title > a:hover {
  color: #dc2626 !important;
}
.page-products .filter-sidebar #filter-category .accordion-item .accordion-title .accordion-button,
.page-product .filter-sidebar #filter-category .accordion-item .accordion-title .accordion-button,
.page-categories .filter-sidebar #filter-category .accordion-item .accordion-title .accordion-button {
  color: #ffffff !important;
  font-weight: 500;
  opacity: 1 !important;
}
.page-products .filter-sidebar #filter-category .accordion-item .accordion-title .accordion-button::after,
.page-product .filter-sidebar #filter-category .accordion-item .accordion-title .accordion-button::after,
.page-categories .filter-sidebar #filter-category .accordion-item .accordion-title .accordion-button::after {
  filter: brightness(0) invert(1);
}
.page-products .filter-sidebar #filter-category .accordion-item .accordion-collapse .accordion-body a, .page-products .filter-sidebar #filter-category .accordion-item .accordion-collapse .accordion-body span,
.page-product .filter-sidebar #filter-category .accordion-item .accordion-collapse .accordion-body a,
.page-product .filter-sidebar #filter-category .accordion-item .accordion-collapse .accordion-body span,
.page-categories .filter-sidebar #filter-category .accordion-item .accordion-collapse .accordion-body a,
.page-categories .filter-sidebar #filter-category .accordion-item .accordion-collapse .accordion-body span {
  color: #ffffff !important;
}
.page-products .filter-sidebar .card,
.page-product .filter-sidebar .card,
.page-categories .filter-sidebar .card {
  background-color: #3f3f46;
  border-color: #52525b;
}
.page-products .filter-sidebar .card .card-header,
.page-product .filter-sidebar .card .card-header,
.page-categories .filter-sidebar .card .card-header {
  background-color: #3f3f46;
  border-bottom-color: #52525b;
}
.page-products .filter-sidebar .card .card-header h6,
.page-product .filter-sidebar .card .card-header h6,
.page-categories .filter-sidebar .card .card-header h6 {
  color: #ffffff;
  font-weight: 600;
}
.page-products .filter-sidebar .card .card-body,
.page-product .filter-sidebar .card .card-body,
.page-categories .filter-sidebar .card .card-body {
  background-color: #3f3f46;
}
.page-products .filter-sidebar .price-range .price-slider .slider-track,
.page-product .filter-sidebar .price-range .price-slider .slider-track,
.page-categories .filter-sidebar .price-range .price-slider .slider-track {
  background: #71717a;
}
.page-products .filter-sidebar .price-range .price-inputs .price-input-group label,
.page-product .filter-sidebar .price-range .price-inputs .price-input-group label,
.page-categories .filter-sidebar .price-range .price-inputs .price-input-group label {
  color: #f4f4f8;
}
.page-products .filter-sidebar .price-range .price-inputs .price-input-group input,
.page-product .filter-sidebar .price-range .price-inputs .price-input-group input,
.page-categories .filter-sidebar .price-range .price-inputs .price-input-group input {
  background: #27272a;
  border-color: #52525b;
  color: #ffffff;
}
.page-products .filter-sidebar .price-range .price-inputs .price-input-group input:focus,
.page-product .filter-sidebar .price-range .price-inputs .price-input-group input:focus,
.page-categories .filter-sidebar .price-range .price-inputs .price-input-group input:focus {
  border-color: #dc2626;
  box-shadow: 0 0 0 2px rgba(220, 38, 38, 0.2);
}
.page-products .filter-sidebar .price-range .price-inputs .price-input-group input::-moz-placeholder, .page-product .filter-sidebar .price-range .price-inputs .price-input-group input::-moz-placeholder, .page-categories .filter-sidebar .price-range .price-inputs .price-input-group input::-moz-placeholder {
  color: #c1c1c8;
}
.page-products .filter-sidebar .price-range .price-inputs .price-input-group input::placeholder,
.page-product .filter-sidebar .price-range .price-inputs .price-input-group input::placeholder,
.page-categories .filter-sidebar .price-range .price-inputs .price-input-group input::placeholder {
  color: #c1c1c8;
}
.page-products .filter-sidebar .price-range .btn,
.page-product .filter-sidebar .price-range .btn,
.page-categories .filter-sidebar .price-range .btn {
  background-color: #dc2626;
  border-color: #dc2626;
}
.page-products .filter-sidebar .price-range .btn:hover,
.page-product .filter-sidebar .price-range .btn:hover,
.page-categories .filter-sidebar .price-range .btn:hover {
  background-color: #b91c1c;
  border-color: #b91c1c;
}
.page-products .filter-sidebar .dual-range-slider .slider-track,
.page-product .filter-sidebar .dual-range-slider .slider-track,
.page-categories .filter-sidebar .dual-range-slider .slider-track {
  background: #71717a;
}
.page-products .filter-sidebar .dual-range-slider .slider-range,
.page-product .filter-sidebar .dual-range-slider .slider-range,
.page-categories .filter-sidebar .dual-range-slider .slider-range {
  background: #dc2626;
}
.page-products .filter-sidebar .dual-range-slider .slider-thumb,
.page-product .filter-sidebar .dual-range-slider .slider-thumb,
.page-categories .filter-sidebar .dual-range-slider .slider-thumb {
  background: #dc2626;
  border-color: #ffffff;
  box-shadow: 0 2px 8px rgba(0, 0, 0, 0.25);
}
.page-products .filter-sidebar .form-check .form-check-input,
.page-product .filter-sidebar .form-check .form-check-input,
.page-categories .filter-sidebar .form-check .form-check-input {
  background-color: #27272a;
  border-color: #71717a;
}
.page-products .filter-sidebar .form-check .form-check-input:checked,
.page-product .filter-sidebar .form-check .form-check-input:checked,
.page-categories .filter-sidebar .form-check .form-check-input:checked {
  background-color: #dc2626;
  border-color: #dc2626;
}
.page-products .filter-sidebar .form-check .form-check-input:focus,
.page-product .filter-sidebar .form-check .form-check-input:focus,
.page-categories .filter-sidebar .form-check .form-check-input:focus {
  border-color: #dc2626;
  box-shadow: 0 0 0 0.25rem rgba(220, 38, 38, 0.2);
}
.page-products .filter-sidebar .form-check .form-check-label,
.page-product .filter-sidebar .form-check .form-check-label,
.page-categories .filter-sidebar .form-check .form-check-label {
  color: #ffffff;
}
.page-products .filter-sidebar .form-check .form-check-label:hover,
.page-product .filter-sidebar .form-check .form-check-label:hover,
.page-categories .filter-sidebar .form-check .form-check-label:hover {
  color: #dc2626;
}
.page-products .filter-sidebar .clear-filters-btn,
.page-product .filter-sidebar .clear-filters-btn,
.page-categories .filter-sidebar .clear-filters-btn {
  background-color: #52525b;
  border-color: #71717a;
  color: #f4f4f8;
}
.page-products .filter-sidebar .clear-filters-btn:hover,
.page-product .filter-sidebar .clear-filters-btn:hover,
.page-categories .filter-sidebar .clear-filters-btn:hover {
  background-color: #52525b;
  border-color: #71717a;
}
.page-products .filter-sidebar .clear-filters-btn:focus,
.page-product .filter-sidebar .clear-filters-btn:focus,
.page-categories .filter-sidebar .clear-filters-btn:focus {
  box-shadow: 0 0 0 0.2rem rgba(220, 38, 38, 0.2);
}
@media (max-width: 767.98px) {
  .page-products .filter-sidebar,
  .page-product .filter-sidebar,
  .page-categories .filter-sidebar {
    background: #3f3f46;
    box-shadow: -2px 0 15px rgba(0, 0, 0, 0.2);
  }
}
.page-products #overlay,
.page-product #overlay,
.page-categories #overlay {
  background: rgba(39, 39, 42, 0.6);
}
.page-products #toggleFilterSidebar,
.page-product #toggleFilterSidebar,
.page-categories #toggleFilterSidebar {
  background-color: #dc2626;
  border-color: #dc2626;
}
.page-products #toggleFilterSidebar:hover,
.page-product #toggleFilterSidebar:hover,
.page-categories #toggleFilterSidebar:hover {
  background-color: #b91c1c;
  border-color: #b91c1c;
}
.page-products #toggleFilterSidebar:focus,
.page-product #toggleFilterSidebar:focus,
.page-categories #toggleFilterSidebar:focus {
  box-shadow: 0 0 0 0.2rem rgba(220, 38, 38, 0.2);
}
.page-products .product-info .product-title,
.page-product .product-info .product-title,
.page-categories .product-info .product-title {
  color: #ffffff;
}
.page-products .product-info .product-price,
.page-product .product-info .product-price,
.page-categories .product-info .product-price {
  border-bottom-color: #52525b;
}
.page-products .product-info .product-price .price,
.page-product .product-info .product-price .price,
.page-categories .product-info .product-price .price {
  color: #dc2626;
}
.page-products .product-info .product-price .old-price,
.page-product .product-info .product-price .old-price,
.page-categories .product-info .product-price .old-price {
  color: #d4d4d8;
}
.page-products .product-info .stock-wrap > div.in-stock,
.page-product .product-info .stock-wrap > div.in-stock,
.page-categories .product-info .stock-wrap > div.in-stock {
  background-color: rgba(34, 197, 94, 0.15);
  color: #22c55e;
}
.page-products .product-info .stock-wrap > div.out-stock,
.page-product .product-info .stock-wrap > div.out-stock,
.page-categories .product-info .stock-wrap > div.out-stock {
  background-color: rgba(113, 113, 122, 0.2);
  color: #d4d4d8;
}
.page-products .product-info .sub-product-title,
.page-product .product-info .sub-product-title,
.page-categories .product-info .sub-product-title {
  color: #d4d4d8;
}
.page-products .product-info .product-param li,
.page-product .product-info .product-param li,
.page-categories .product-info .product-param li {
  color: #ffffff;
}
.page-products .product-info .product-param li span.title,
.page-product .product-info .product-param li span.title,
.page-categories .product-info .product-param li span.title {
  color: #f4f4f8;
  font-weight: 500;
}
.page-products .product-info .product-variant-box .product-variant .variant-title,
.page-product .product-info .product-variant-box .product-variant .variant-title,
.page-categories .product-info .product-variant-box .product-variant .variant-title {
  color: #ffffff;
  font-weight: 600;
}
.page-products .product-info .product-variant-box .product-variant .variant-values .variant-value-name,
.page-product .product-info .product-variant-box .product-variant .variant-values .variant-value-name,
.page-categories .product-info .product-variant-box .product-variant .variant-values .variant-value-name {
  border-color: #71717a;
  background: #3f3f46;
  color: #ffffff;
}
.page-products .product-info .product-variant-box .product-variant .variant-values .variant-value-name:hover,
.page-product .product-info .product-variant-box .product-variant .variant-values .variant-value-name:hover,
.page-categories .product-info .product-variant-box .product-variant .variant-values .variant-value-name:hover {
  border-color: #dc2626;
}
.page-products .product-info .product-variant-box .product-variant .variant-values .variant-value-name.active,
.page-product .product-info .product-variant-box .product-variant .variant-values .variant-value-name.active,
.page-categories .product-info .product-variant-box .product-variant .variant-values .variant-value-name.active {
  border-color: #dc2626;
  color: #dc2626;
  box-shadow: 0 2px 4px rgba(220, 38, 38, 0.2);
}
.page-products .product-info .product-variant-box .product-variant .variant-values .variant-value-name.disabled,
.page-product .product-info .product-variant-box .product-variant .variant-values .variant-value-name.disabled,
.page-categories .product-info .product-variant-box .product-variant .variant-values .variant-value-name.disabled {
  border-color: #71717a;
  color: #c1c1c8;
  opacity: 0.5;
}
.page-products .product-info .product-info-bottom .product-info-btns .btn.buy-now,
.page-product .product-info .product-info-bottom .product-info-btns .btn.buy-now,
.page-categories .product-info .product-info-bottom .product-info-btns .btn.buy-now {
  background-color: #52525b;
  color: #ffffff;
  border-color: #71717a;
}
.page-products .product-info .product-info-bottom .product-info-btns .btn.buy-now:hover,
.page-product .product-info .product-info-bottom .product-info-btns .btn.buy-now:hover,
.page-categories .product-info .product-info-bottom .product-info-btns .btn.buy-now:hover {
  background-color: #52525b;
}
.page-products .product-info .product-info-bottom .product-info-btns .btn.btn-primary,
.page-product .product-info .product-info-bottom .product-info-btns .btn.btn-primary,
.page-categories .product-info .product-info-bottom .product-info-btns .btn.btn-primary {
  background-color: #dc2626;
  border-color: #dc2626;
}
.page-products .product-info .product-info-bottom .product-info-btns .btn.btn-primary:hover,
.page-product .product-info .product-info-bottom .product-info-btns .btn.btn-primary:hover,
.page-categories .product-info .product-info-bottom .product-info-btns .btn.btn-primary:hover {
  background-color: #b91c1c;
}
.page-products .product-info .add-wishlist,
.page-product .product-info .add-wishlist,
.page-categories .product-info .add-wishlist {
  color: #d4d4d8;
}
.page-products .product-info .add-wishlist:hover,
.page-product .product-info .add-wishlist:hover,
.page-categories .product-info .add-wishlist:hover {
  color: #dc2626;
}
.page-products .product-options .options-title,
.page-product .product-options .options-title,
.page-categories .product-options .options-title {
  color: #ffffff;
}
.page-products .product-options .option-group,
.page-product .product-options .option-group,
.page-categories .product-options .option-group {
  background-color: #3f3f46;
  border-color: #52525b;
}
.page-products .product-options .option-group.has-error,
.page-product .product-options .option-group.has-error,
.page-categories .product-options .option-group.has-error {
  border-color: #dc2626 !important;
  background-color: rgba(220, 38, 38, 0.05) !important;
}
.page-products .product-options .option-group .option-label,
.page-product .product-options .option-group .option-label,
.page-categories .product-options .option-group .option-label {
  color: #ffffff;
  font-weight: 500;
}
.page-products .product-options .option-group .option-select,
.page-product .product-options .option-group .option-select,
.page-categories .product-options .option-group .option-select {
  background-color: #27272a;
  border-color: #52525b;
  color: #ffffff;
}
.page-products .product-options .option-group .option-radio-item,
.page-products .product-options .option-group .option-checkbox-item,
.page-product .product-options .option-group .option-radio-item,
.page-product .product-options .option-group .option-checkbox-item,
.page-categories .product-options .option-group .option-radio-item,
.page-categories .product-options .option-group .option-checkbox-item {
  background-color: #3f3f46;
  border-color: #71717a;
}
.page-products .product-options .option-group .option-radio-item:hover,
.page-products .product-options .option-group .option-checkbox-item:hover,
.page-product .product-options .option-group .option-radio-item:hover,
.page-product .product-options .option-group .option-checkbox-item:hover,
.page-categories .product-options .option-group .option-radio-item:hover,
.page-categories .product-options .option-group .option-checkbox-item:hover {
  border-color: #dc2626;
}
.page-products .product-options .option-group .option-radio-item:has(input:checked),
.page-products .product-options .option-group .option-checkbox-item:has(input:checked),
.page-product .product-options .option-group .option-radio-item:has(input:checked),
.page-product .product-options .option-group .option-checkbox-item:has(input:checked),
.page-categories .product-options .option-group .option-radio-item:has(input:checked),
.page-categories .product-options .option-group .option-checkbox-item:has(input:checked) {
  background-color: rgba(220, 38, 38, 0.1);
  border-color: #dc2626;
}
.page-products .product-options .option-group .option-radio-item label,
.page-products .product-options .option-group .option-checkbox-item label,
.page-product .product-options .option-group .option-radio-item label,
.page-product .product-options .option-group .option-checkbox-item label,
.page-categories .product-options .option-group .option-radio-item label,
.page-categories .product-options .option-group .option-checkbox-item label {
  color: #ffffff;
}
.page-products .product-description,
.page-product .product-description,
.page-categories .product-description {
  color: #f4f4f8;
}
.page-products .product-description h1, .page-products .product-description h2, .page-products .product-description h3, .page-products .product-description h4, .page-products .product-description h5, .page-products .product-description h6,
.page-product .product-description h1,
.page-product .product-description h2,
.page-product .product-description h3,
.page-product .product-description h4,
.page-product .product-description h5,
.page-product .product-description h6,
.page-categories .product-description h1,
.page-categories .product-description h2,
.page-categories .product-description h3,
.page-categories .product-description h4,
.page-categories .product-description h5,
.page-categories .product-description h6 {
  color: #ffffff;
}
.page-products .product-description table,
.page-product .product-description table,
.page-categories .product-description table {
  color: #f4f4f8;
  border-color: #52525b;
}
.page-products .sub-product-img .swiper .swiper-slide .thumbnail-item,
.page-product .sub-product-img .swiper .swiper-slide .thumbnail-item,
.page-categories .sub-product-img .swiper .swiper-slide .thumbnail-item {
  border-color: #52525b;
}
.page-products .sub-product-img .swiper .swiper-slide .thumbnail-item img,
.page-product .sub-product-img .swiper .swiper-slide .thumbnail-item img,
.page-categories .sub-product-img .swiper .swiper-slide .thumbnail-item img {
  border-color: #52525b;
}
.page-products .sub-product-img .swiper .swiper-slide .thumbnail-item:hover, .page-products .sub-product-img .swiper .swiper-slide .thumbnail-item.active,
.page-product .sub-product-img .swiper .swiper-slide .thumbnail-item:hover,
.page-product .sub-product-img .swiper .swiper-slide .thumbnail-item.active,
.page-categories .sub-product-img .swiper .swiper-slide .thumbnail-item:hover,
.page-categories .sub-product-img .swiper .swiper-slide .thumbnail-item.active {
  border-color: #dc2626;
}
.page-products .product-tab .nav-tabs,
.page-product .product-tab .nav-tabs,
.page-categories .product-tab .nav-tabs {
  border-bottom-color: #52525b;
}
.page-products .product-tab .nav-tabs .nav-link,
.page-product .product-tab .nav-tabs .nav-link,
.page-categories .product-tab .nav-tabs .nav-link {
  color: #f4f4f8;
  border-color: transparent;
}
.page-products .product-tab .nav-tabs .nav-link:hover,
.page-product .product-tab .nav-tabs .nav-link:hover,
.page-categories .product-tab .nav-tabs .nav-link:hover {
  color: #dc2626;
  border-color: transparent;
}
.page-products .product-tab .nav-tabs .nav-link.active,
.page-product .product-tab .nav-tabs .nav-link.active,
.page-categories .product-tab .nav-tabs .nav-link.active {
  color: #dc2626;
  background-color: transparent;
  border-color: #52525b #52525b #27272a;
}
.page-products .product-tab .tab-content,
.page-product .product-tab .tab-content,
.page-categories .product-tab .tab-content {
  color: #f4f4f8;
}

.product-grid-item {
  margin-bottom: 16px;
  background: #3f3f46;
  border: 1px solid #52525b;
  transition: all 0.2s ease;
}
@media (min-width: 992px) {
  .product-grid-item {
    margin-bottom: 30px;
    padding-bottom: 10px;
  }
  .product-grid-item:hover .product-bottom-btns {
    transform: translateY(0) !important;
  }
  .product-grid-item:hover .product-price {
    transform: translateY(100%);
  }
}
.product-grid-item:hover {
  border-color: #dc2626;
  box-shadow: 0 10px 30px rgba(0, 0, 0, 0.2);
}
.product-grid-item .image .cancel-favorite {
  background-color: #3f3f46;
  color: #dc2626;
  box-shadow: 2px 2px 12px rgba(0, 0, 0, 0.2);
}
.product-grid-item .image .cancel-favorite:hover {
  color: #ffffff;
  background-color: #dc2626;
}
.product-grid-item .product-item-info {
  text-align: center;
}
.product-grid-item .product-item-info .product-name {
  padding: 0 5px;
  font-size: 0.875rem;
  margin-top: 1rem;
  margin-bottom: 0.5rem;
  font-weight: bold;
  color: #ffffff;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}
.product-grid-item .product-item-info .product-name a {
  color: inherit;
}
.product-grid-item .product-item-info .product-name a:hover {
  color: #dc2626;
}
.product-grid-item .product-item-info .product-bottom-btns .btn-add-cart {
  font-weight: bold;
  font-size: 1rem;
  color: #dc2626;
}
.product-grid-item .product-item-info .product-bottom-btns .btn-add-cart:hover {
  text-decoration: underline;
}
.product-grid-item .product-item-info .product-price .price-new {
  font-size: 1rem;
  font-weight: bold;
  color: #dc2626;
}
.product-grid-item .product-item-info .product-price .price-old {
  font-size: 0.9rem;
  color: #d4d4d8;
  text-decoration: line-through;
  margin-left: 10px;
  margin-right: 10px;
}

.list {
  display: flex;
  flex-wrap: wrap;
  border-bottom-color: #52525b;
  padding-bottom: 1.4rem;
  margin-bottom: 1.4rem;
}
.list .product-item-info .sub-product-title {
  color: #d4d4d8;
}

.highlight-card {
  background: linear-gradient(135deg, #52525b 0%, #3f3f46 100%) !important;
  border-color: #71717a !important;
}

.highlight-text {
  color: #f4f4f8 !important;
}

.page-categories .filter-sidebar .category-item a,
.page-categories .filter-sidebar .category-item a.category-link,
.page-categories .filter-sidebar .category-item a.subcategory-link,
.page-categories .filter-sidebar .category-item a.subsubcategory-link,
.page-categories .filter-sidebar .category-item .category-link,
.page-categories .filter-sidebar .category-item .subcategory-link,
.page-categories .filter-sidebar .category-item .subsubcategory-link,
.page-categories .filter-sidebar .category-item span,
.page-categories .filter-sidebar .category-item div,
.page-categories .filter-sidebar .category-item p,
.page-categories .filter-sidebar .subcategory-item a,
.page-categories .filter-sidebar .subcategory-item a.category-link,
.page-categories .filter-sidebar .subcategory-item a.subcategory-link,
.page-categories .filter-sidebar .subcategory-item a.subsubcategory-link,
.page-categories .filter-sidebar .subcategory-item .category-link,
.page-categories .filter-sidebar .subcategory-item .subcategory-link,
.page-categories .filter-sidebar .subcategory-item .subsubcategory-link,
.page-categories .filter-sidebar .subcategory-item span,
.page-categories .filter-sidebar .subcategory-item div,
.page-categories .filter-sidebar .subcategory-item p,
.page-categories .filter-sidebar .subsubcategory-item a,
.page-categories .filter-sidebar .subsubcategory-item a.category-link,
.page-categories .filter-sidebar .subsubcategory-item a.subcategory-link,
.page-categories .filter-sidebar .subsubcategory-item a.subsubcategory-link,
.page-categories .filter-sidebar .subsubcategory-item .category-link,
.page-categories .filter-sidebar .subsubcategory-item .subcategory-link,
.page-categories .filter-sidebar .subsubcategory-item .subsubcategory-link,
.page-categories .filter-sidebar .subsubcategory-item span,
.page-categories .filter-sidebar .subsubcategory-item div,
.page-categories .filter-sidebar .subsubcategory-item p,
.page-categories .filter-sidebar .accordion-item a,
.page-categories .filter-sidebar .accordion-item a.category-link,
.page-categories .filter-sidebar .accordion-item a.subcategory-link,
.page-categories .filter-sidebar .accordion-item a.subsubcategory-link,
.page-categories .filter-sidebar .accordion-item .category-link,
.page-categories .filter-sidebar .accordion-item .subcategory-link,
.page-categories .filter-sidebar .accordion-item .subsubcategory-link,
.page-categories .filter-sidebar .accordion-item span,
.page-categories .filter-sidebar .accordion-item div,
.page-categories .filter-sidebar .accordion-item p,
.page-products .filter-sidebar .category-item a,
.page-products .filter-sidebar .category-item a.category-link,
.page-products .filter-sidebar .category-item a.subcategory-link,
.page-products .filter-sidebar .category-item a.subsubcategory-link,
.page-products .filter-sidebar .category-item .category-link,
.page-products .filter-sidebar .category-item .subcategory-link,
.page-products .filter-sidebar .category-item .subsubcategory-link,
.page-products .filter-sidebar .category-item span,
.page-products .filter-sidebar .category-item div,
.page-products .filter-sidebar .category-item p,
.page-products .filter-sidebar .subcategory-item a,
.page-products .filter-sidebar .subcategory-item a.category-link,
.page-products .filter-sidebar .subcategory-item a.subcategory-link,
.page-products .filter-sidebar .subcategory-item a.subsubcategory-link,
.page-products .filter-sidebar .subcategory-item .category-link,
.page-products .filter-sidebar .subcategory-item .subcategory-link,
.page-products .filter-sidebar .subcategory-item .subsubcategory-link,
.page-products .filter-sidebar .subcategory-item span,
.page-products .filter-sidebar .subcategory-item div,
.page-products .filter-sidebar .subcategory-item p,
.page-products .filter-sidebar .subsubcategory-item a,
.page-products .filter-sidebar .subsubcategory-item a.category-link,
.page-products .filter-sidebar .subsubcategory-item a.subcategory-link,
.page-products .filter-sidebar .subsubcategory-item a.subsubcategory-link,
.page-products .filter-sidebar .subsubcategory-item .category-link,
.page-products .filter-sidebar .subsubcategory-item .subcategory-link,
.page-products .filter-sidebar .subsubcategory-item .subsubcategory-link,
.page-products .filter-sidebar .subsubcategory-item span,
.page-products .filter-sidebar .subsubcategory-item div,
.page-products .filter-sidebar .subsubcategory-item p,
.page-products .filter-sidebar .accordion-item a,
.page-products .filter-sidebar .accordion-item a.category-link,
.page-products .filter-sidebar .accordion-item a.subcategory-link,
.page-products .filter-sidebar .accordion-item a.subsubcategory-link,
.page-products .filter-sidebar .accordion-item .category-link,
.page-products .filter-sidebar .accordion-item .subcategory-link,
.page-products .filter-sidebar .accordion-item .subsubcategory-link,
.page-products .filter-sidebar .accordion-item span,
.page-products .filter-sidebar .accordion-item div,
.page-products .filter-sidebar .accordion-item p {
  color: #ffffff !important;
  opacity: 1 !important;
}
.page-categories .filter-sidebar .category-item .accordion-button,
.page-categories .filter-sidebar .subcategory-item .accordion-button,
.page-categories .filter-sidebar .subsubcategory-item .accordion-button,
.page-categories .filter-sidebar .accordion-item .accordion-button,
.page-products .filter-sidebar .category-item .accordion-button,
.page-products .filter-sidebar .subcategory-item .accordion-button,
.page-products .filter-sidebar .subsubcategory-item .accordion-button,
.page-products .filter-sidebar .accordion-item .accordion-button {
  color: #ffffff !important;
  opacity: 1 !important;
}
.page-categories .filter-sidebar .category-item .accordion-button:not(.collapsed),
.page-categories .filter-sidebar .subcategory-item .accordion-button:not(.collapsed),
.page-categories .filter-sidebar .subsubcategory-item .accordion-button:not(.collapsed),
.page-categories .filter-sidebar .accordion-item .accordion-button:not(.collapsed),
.page-products .filter-sidebar .category-item .accordion-button:not(.collapsed),
.page-products .filter-sidebar .subcategory-item .accordion-button:not(.collapsed),
.page-products .filter-sidebar .subsubcategory-item .accordion-button:not(.collapsed),
.page-products .filter-sidebar .accordion-item .accordion-button:not(.collapsed) {
  color: #ffffff !important;
  background-color: transparent !important;
}
.page-categories .filter-sidebar .category-item .accordion-button::after,
.page-categories .filter-sidebar .subcategory-item .accordion-button::after,
.page-categories .filter-sidebar .subsubcategory-item .accordion-button::after,
.page-categories .filter-sidebar .accordion-item .accordion-button::after,
.page-products .filter-sidebar .category-item .accordion-button::after,
.page-products .filter-sidebar .subcategory-item .accordion-button::after,
.page-products .filter-sidebar .subsubcategory-item .accordion-button::after,
.page-products .filter-sidebar .accordion-item .accordion-button::after {
  filter: brightness(0) invert(1) !important;
}
.page-categories .filter-sidebar .category-item .category-toggle,
.page-categories .filter-sidebar .category-item .subcategory-toggle,
.page-categories .filter-sidebar .category-item .accordion-button::after,
.page-categories .filter-sidebar .category-item .category-toggle::after,
.page-categories .filter-sidebar .category-item .subcategory-toggle::after,
.page-categories .filter-sidebar .category-item i,
.page-categories .filter-sidebar .category-item svg,
.page-categories .filter-sidebar .subcategory-item .category-toggle,
.page-categories .filter-sidebar .subcategory-item .subcategory-toggle,
.page-categories .filter-sidebar .subcategory-item .accordion-button::after,
.page-categories .filter-sidebar .subcategory-item .category-toggle::after,
.page-categories .filter-sidebar .subcategory-item .subcategory-toggle::after,
.page-categories .filter-sidebar .subcategory-item i,
.page-categories .filter-sidebar .subcategory-item svg,
.page-categories .filter-sidebar .subsubcategory-item .category-toggle,
.page-categories .filter-sidebar .subsubcategory-item .subcategory-toggle,
.page-categories .filter-sidebar .subsubcategory-item .accordion-button::after,
.page-categories .filter-sidebar .subsubcategory-item .category-toggle::after,
.page-categories .filter-sidebar .subsubcategory-item .subcategory-toggle::after,
.page-categories .filter-sidebar .subsubcategory-item i,
.page-categories .filter-sidebar .subsubcategory-item svg,
.page-categories .filter-sidebar .accordion-item .category-toggle,
.page-categories .filter-sidebar .accordion-item .subcategory-toggle,
.page-categories .filter-sidebar .accordion-item .accordion-button::after,
.page-categories .filter-sidebar .accordion-item .category-toggle::after,
.page-categories .filter-sidebar .accordion-item .subcategory-toggle::after,
.page-categories .filter-sidebar .accordion-item i,
.page-categories .filter-sidebar .accordion-item svg,
.page-products .filter-sidebar .category-item .category-toggle,
.page-products .filter-sidebar .category-item .subcategory-toggle,
.page-products .filter-sidebar .category-item .accordion-button::after,
.page-products .filter-sidebar .category-item .category-toggle::after,
.page-products .filter-sidebar .category-item .subcategory-toggle::after,
.page-products .filter-sidebar .category-item i,
.page-products .filter-sidebar .category-item svg,
.page-products .filter-sidebar .subcategory-item .category-toggle,
.page-products .filter-sidebar .subcategory-item .subcategory-toggle,
.page-products .filter-sidebar .subcategory-item .accordion-button::after,
.page-products .filter-sidebar .subcategory-item .category-toggle::after,
.page-products .filter-sidebar .subcategory-item .subcategory-toggle::after,
.page-products .filter-sidebar .subcategory-item i,
.page-products .filter-sidebar .subcategory-item svg,
.page-products .filter-sidebar .subsubcategory-item .category-toggle,
.page-products .filter-sidebar .subsubcategory-item .subcategory-toggle,
.page-products .filter-sidebar .subsubcategory-item .accordion-button::after,
.page-products .filter-sidebar .subsubcategory-item .category-toggle::after,
.page-products .filter-sidebar .subsubcategory-item .subcategory-toggle::after,
.page-products .filter-sidebar .subsubcategory-item i,
.page-products .filter-sidebar .subsubcategory-item svg,
.page-products .filter-sidebar .accordion-item .category-toggle,
.page-products .filter-sidebar .accordion-item .subcategory-toggle,
.page-products .filter-sidebar .accordion-item .accordion-button::after,
.page-products .filter-sidebar .accordion-item .category-toggle::after,
.page-products .filter-sidebar .accordion-item .subcategory-toggle::after,
.page-products .filter-sidebar .accordion-item i,
.page-products .filter-sidebar .accordion-item svg {
  color: #ffffff !important;
  filter: brightness(0) invert(1) !important;
}
.page-categories .filter-sidebar .category-item:hover a,
.page-categories .filter-sidebar .category-item:hover span,
.page-categories .filter-sidebar .subcategory-item:hover a,
.page-categories .filter-sidebar .subcategory-item:hover span,
.page-categories .filter-sidebar .subsubcategory-item:hover a,
.page-categories .filter-sidebar .subsubcategory-item:hover span,
.page-categories .filter-sidebar .accordion-item:hover a,
.page-categories .filter-sidebar .accordion-item:hover span,
.page-products .filter-sidebar .category-item:hover a,
.page-products .filter-sidebar .category-item:hover span,
.page-products .filter-sidebar .subcategory-item:hover a,
.page-products .filter-sidebar .subcategory-item:hover span,
.page-products .filter-sidebar .subsubcategory-item:hover a,
.page-products .filter-sidebar .subsubcategory-item:hover span,
.page-products .filter-sidebar .accordion-item:hover a,
.page-products .filter-sidebar .accordion-item:hover span {
  color: #ffffff !important;
}
.page-categories .filter-sidebar button[data-bs-toggle],
.page-categories .filter-sidebar button[aria-expanded],
.page-products .filter-sidebar button[data-bs-toggle],
.page-products .filter-sidebar button[aria-expanded] {
  color: #ffffff !important;
  opacity: 1 !important;
}
.page-categories .filter-sidebar button[data-bs-toggle]::after,
.page-categories .filter-sidebar button[aria-expanded]::after,
.page-products .filter-sidebar button[data-bs-toggle]::after,
.page-products .filter-sidebar button[aria-expanded]::after {
  filter: brightness(0) invert(1) !important;
}

.fr-page-content {
  padding: 4rem 0;
  background-color: var(--fr-bg-dark);
  min-height: 50vh;
}
.fr-page-content .fr-content-wrapper {
  max-width: 800px;
  margin: 0 auto;
  color: var(--fr-text-body);
  font-size: 1.125rem;
  line-height: 1.8;
}
.fr-page-content .fr-content-wrapper h2 {
  color: var(--fr-text-light);
  margin-top: 3rem;
  margin-bottom: 1.5rem;
  font-size: 2rem;
  font-weight: 700;
}
.fr-page-content .fr-content-wrapper h3 {
  color: var(--fr-text-light);
  margin-top: 2rem;
  margin-bottom: 1rem;
  font-size: 1.5rem;
  font-weight: 600;
}
.fr-page-content .fr-content-wrapper p {
  margin-bottom: 1.5rem;
}
.fr-page-content .fr-content-wrapper ul, .fr-page-content .fr-content-wrapper ol {
  margin-bottom: 1.5rem;
  padding-left: 1.5rem;
}
.fr-page-content .fr-content-wrapper ul li, .fr-page-content .fr-content-wrapper ol li {
  margin-bottom: 0.5rem;
}
.fr-page-content .fr-content-wrapper a {
  color: var(--fr-primary);
  text-decoration: none;
  border-bottom: 1px solid transparent;
  transition: border-color 0.2s;
}
.fr-page-content .fr-content-wrapper a:hover {
  border-bottom-color: var(--fr-primary);
}
.fr-page-content .fr-content-wrapper blockquote {
  border-left: 4px solid var(--fr-primary);
  padding-left: 1.5rem;
  margin: 2rem 0;
  color: var(--fr-text-muted);
  font-style: italic;
}
.fr-page-content .fr-content-wrapper img {
  max-width: 100%;
  height: auto;
  border-radius: var(--fr-radius-md);
  margin: 2rem 0;
}

.fr-about-intro {
  padding: 5rem 0;
  background-color: var(--fr-bg-dark);
}
.fr-about-intro .fr-grid-2 {
  display: grid;
  grid-template-columns: 1fr;
  gap: 3rem;
  align-items: center;
}
@media (min-width: 992px) {
  .fr-about-intro .fr-grid-2 {
    grid-template-columns: 1fr 1fr;
  }
}
.fr-about-intro .fr-about-text h2 {
  color: var(--fr-text-light);
  margin-bottom: 1.5rem;
  font-size: 2.5rem;
}
.fr-about-intro .fr-about-text .lead {
  font-size: 1.25rem;
  color: var(--fr-primary);
  margin-bottom: 1.5rem;
}
.fr-about-intro .fr-about-text p {
  color: var(--fr-text-muted);
  margin-bottom: 2rem;
}
.fr-about-intro .fr-stats {
  display: flex;
  gap: 2rem;
  margin-top: 2rem;
  border-top: 1px solid var(--fr-border-light);
  padding-top: 2rem;
}
.fr-about-intro .fr-stats .fr-stat-item .fr-stat-number {
  display: block;
  font-size: 2.5rem;
  font-weight: 700;
  color: var(--fr-text-light);
  line-height: 1;
  margin-bottom: 0.5rem;
}
.fr-about-intro .fr-stats .fr-stat-item .fr-stat-label {
  font-size: 0.875rem;
  color: var(--fr-text-muted);
  text-transform: uppercase;
  letter-spacing: 0.05em;
}
.fr-about-intro .fr-about-image img {
  border-radius: var(--fr-radius-lg);
  box-shadow: 0 20px 40px rgba(0, 0, 0, 0.3);
}

.fr-about-values {
  padding: 5rem 0;
  background-color: var(--fr-bg-deep);
}
.fr-about-values .fr-values-grid {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(300px, 1fr));
  gap: 2rem;
}
.fr-about-values .fr-value-card {
  background: var(--fr-bg-card);
  padding: 2rem;
  border-radius: var(--fr-radius-md);
  border: 1px solid var(--fr-border-light);
  transition: transform 0.3s;
}
.fr-about-values .fr-value-card:hover {
  transform: translateY(-5px);
  border-color: var(--fr-primary);
}
.fr-about-values .fr-value-card h3 {
  color: var(--fr-text-light);
  margin-bottom: 1rem;
}
.fr-about-values .fr-value-card p {
  color: var(--fr-text-muted);
  margin: 0;
}

:root {
  --fr-primary-600: #dc2626;
  --fr-primary-700: #b91c1c;
  --fr-primary-500: #ef4444;
  --fr-bg-main: #27272a;
  --fr-bg-elevated: #18181b;
  --fr-bg-card: #18181b;
  --fr-text-primary: #ffffff;
  --fr-text-secondary: #f4f4f8;
  --fr-text-muted: #a1a1aa;
  --fr-border-default: #3f3f46;
  --fr-border-hover: #dc2626;
  --fr-overlay-hover: rgba(220, 38, 38, 0.2);
  --fr-overlay-backdrop: rgba(24, 24, 27, 0.95);
  --fr-space-4: 16px;
  --fr-space-6: 24px;
  --fr-space-8: 32px;
  --fr-radius-sm: 4px;
  --fr-radius-default: 8px;
  --fr-shadow-default: 0 1px 3px 0 rgba(0, 0, 0, 0.1), 0 1px 2px 0 rgba(0, 0, 0, 0.06);
  --fr-shadow-lg: 0 10px 15px -3px rgba(0, 0, 0, 0.1), 0 4px 6px -2px rgba(0, 0, 0, 0.05);
  --fr-transition-normal: 200ms ease;
  --fr-transition-slow: 300ms ease;
}

.fr-catdesign-wrap {
  background-color: var(--fr-bg-main);
  min-height: 100vh;
}

.fr-catdesign-filter {
  background-color: var(--fr-bg-elevated);
  border-bottom: 1px solid var(--fr-border-default);
}
.fr-catdesign-filter .fr-container {
  padding-top: var(--fr-space-6);
  padding-bottom: 1px;
}

.fr-catdesign-filterbar {
  display: flex;
  justify-content: space-between;
  align-items: center;
  gap: var(--fr-space-6);
  flex-wrap: wrap;
}

.fr-catdesign-controls {
  display: flex;
  align-items: center;
  gap: 12px;
  flex-wrap: wrap;
}

.fr-catdesign-btn, .fr-catdesign-select {
  height: 48px;
  border-radius: var(--fr-radius-sm);
  border: 1px solid var(--fr-border-default);
  background-color: var(--fr-bg-main);
  color: var(--fr-text-secondary);
  padding: 0 var(--fr-space-4);
  font-size: 14px;
  transition: all var(--fr-transition-normal);
}
.fr-catdesign-btn:hover, .fr-catdesign-select:hover {
  border-color: var(--fr-border-hover);
}
.fr-catdesign-btn:focus, .fr-catdesign-select:focus {
  outline: none;
  border-color: var(--fr-primary-600);
}

.fr-catdesign-btn {
  padding: 0 var(--fr-space-8);
  background-color: var(--fr-bg-elevated);
}
.fr-catdesign-btn:hover {
  color: var(--fr-text-primary);
}

.fr-catdesign-select {
  min-width: 220px;
}

.fr-catdesign-meta {
  color: var(--fr-text-muted);
  font-size: 14px;
  letter-spacing: 0.05em;
  text-transform: uppercase;
}

.fr-catdesign-hero {
  background: linear-gradient(180deg, var(--fr-bg-elevated) 0%, var(--fr-bg-main) 100%);
  padding: 64px 0 0;
}
.fr-catdesign-hero h1 {
  font-family: Inter, system-ui, sans-serif;
  font-weight: 700;
  font-size: 60px;
  line-height: 1;
  color: var(--fr-text-primary);
  margin: 0;
}
.fr-catdesign-hero p {
  font-family: Inter, system-ui, sans-serif;
  font-weight: 400;
  font-size: 20px;
  line-height: 1.4;
  color: var(--fr-text-secondary);
  margin: 24px auto 0;
  max-width: 658px;
}
.fr-catdesign-hero .fr-hero-cta {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  height: 48px;
  padding: 0 var(--fr-space-8);
  border-radius: var(--fr-radius-default);
  background-color: var(--fr-primary-600);
  color: var(--fr-text-primary);
  text-decoration: none;
  font-weight: 600;
  font-size: 16px;
  margin-top: 32px;
  transition: background-color var(--fr-transition-normal);
}
.fr-catdesign-hero .fr-hero-cta:hover {
  background-color: var(--fr-primary-700);
}
.fr-catdesign-hero .fr-hero-cta:hover span {
  transform: translateX(5px);
}
.fr-catdesign-hero .fr-hero-cta span {
  transition: transform var(--fr-transition-normal);
}

.fr-catdesign-grid {
  padding: 48px 0 96px;
}

.fr-catdesign-gridinner {
  display: grid;
  grid-template-columns: repeat(1, 1fr);
  gap: var(--fr-space-6);
}
@media (min-width: 576px) {
  .fr-catdesign-gridinner {
    grid-template-columns: repeat(2, 1fr);
  }
}
@media (min-width: 992px) {
  .fr-catdesign-gridinner {
    grid-template-columns: repeat(3, 1fr);
  }
}
@media (min-width: 1400px) {
  .fr-catdesign-gridinner {
    grid-template-columns: repeat(4, 1fr);
  }
}

.fr-catdesign-card {
  position: relative;
  border: 1px solid var(--fr-border-default);
  border-radius: var(--fr-radius-default);
  background-color: var(--fr-bg-card);
  overflow: hidden;
  transition: all var(--fr-transition-slow);
}
.fr-catdesign-card:hover {
  transform: translateY(-5px);
  border-color: var(--fr-border-hover);
  border-width: 1px;
  box-shadow: var(--fr-shadow-lg);
}
.fr-catdesign-card:hover .fr-catdesign-cardimg img {
  transform: scale(1.1);
}
.fr-catdesign-card:hover .fr-catdesign-cardimg::after {
  opacity: 1;
}
.fr-catdesign-card:hover .fr-catdesign-specs-overlay {
  opacity: 1;
  visibility: visible;
  transform: translateY(0);
}

.fr-catdesign-cardimg {
  aspect-ratio: 1/1;
  background-color: var(--fr-bg-main);
  position: relative;
  overflow: hidden;
}
.fr-catdesign-cardimg img {
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
  display: block;
  transition: transform var(--fr-transition-slow);
}
.fr-catdesign-cardimg::after {
  content: "";
  position: absolute;
  inset: 0;
  background-color: var(--fr-overlay-hover);
  opacity: 0;
  transition: opacity var(--fr-transition-slow);
  pointer-events: none;
  z-index: 1;
}

.fr-catdesign-specs-overlay {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background-color: var(--fr-overlay-backdrop);
  -webkit-backdrop-filter: blur(4px);
          backdrop-filter: blur(4px);
  padding: var(--fr-space-6);
  opacity: 0;
  visibility: hidden;
  transform: translateY(10px);
  transition: all var(--fr-transition-slow);
  z-index: 10;
  display: flex;
  flex-direction: column;
  justify-content: center;
  align-items: center;
  text-align: center;
}
.fr-catdesign-specs-overlay .specs-title {
  color: var(--fr-primary-600);
  font-size: 14px;
  font-weight: 600;
  text-transform: uppercase;
  letter-spacing: 0.05em;
  margin-bottom: 16px;
}
.fr-catdesign-specs-overlay .specs-list {
  width: 100%;
  margin-bottom: 24px;
}
.fr-catdesign-specs-overlay .spec-item {
  display: flex;
  justify-content: space-between;
  font-size: 13px;
  padding: 6px 0;
  border-bottom: 1px solid rgba(255, 255, 255, 0.1);
}
.fr-catdesign-specs-overlay .spec-item:last-child {
  border-bottom: none;
}
.fr-catdesign-specs-overlay .spec-item .label {
  color: var(--fr-text-muted);
}
.fr-catdesign-specs-overlay .spec-item .value {
  color: var(--fr-text-primary);
  font-weight: 500;
}
.fr-catdesign-specs-overlay .specs-cta {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  color: var(--fr-primary-600);
  font-weight: 600;
  font-size: 14px;
  text-transform: uppercase;
  text-decoration: none;
  transition: color var(--fr-transition-normal);
}
.fr-catdesign-specs-overlay .specs-cta i {
  transition: transform var(--fr-transition-normal);
}
.fr-catdesign-specs-overlay .specs-cta:hover {
  color: var(--fr-primary-500);
}
.fr-catdesign-specs-overlay .specs-cta:hover i {
  transform: translateX(4px);
}

.fr-catdesign-cardbody {
  padding: var(--fr-space-6);
  position: relative;
  z-index: 2;
  background-color: var(--fr-bg-card);
}

.fr-catdesign-subtitle {
  font-family: Inter, system-ui, sans-serif;
  font-weight: 400;
  font-size: 14px;
  line-height: 1.4286;
  letter-spacing: 0.05em;
  text-transform: uppercase;
  color: var(--fr-text-muted);
  margin: 0 0 8px;
}

.fr-catdesign-title {
  font-family: Inter, system-ui, sans-serif;
  font-weight: 500;
  font-size: 18px;
  line-height: 1.5556;
  color: var(--fr-text-primary);
  margin: 0 0 12px;
}
.fr-catdesign-title a {
  color: inherit;
  text-decoration: none;
  transition: color var(--fr-transition-normal);
}
.fr-catdesign-title a:hover {
  color: var(--fr-primary-600);
}

.fr-catdesign-bottom {
  display: flex;
  justify-content: space-between;
  align-items: center;
  gap: 12px;
}

.fr-catdesign-price {
  font-family: Inter, system-ui, sans-serif;
  font-weight: 600;
  font-size: 20px;
  line-height: 1.4;
  color: var(--fr-primary-600);
}

.fr-catdesign-view {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  font-family: Inter, system-ui, sans-serif;
  font-weight: 500;
  font-size: 14px;
  letter-spacing: 0.05em;
  text-transform: uppercase;
  color: var(--fr-primary-600);
  text-decoration: none;
  transition: color var(--fr-transition-normal);
}
.fr-catdesign-view:hover {
  color: var(--fr-primary-500);
}

.product-detail-page {
  background-color: var(--color-bg-main);
  color: var(--color-text-main);
  font-family: var(--font-primary);
  padding-top: var(--header-height, 80px);
}
.product-detail-page .product-breadcrumb {
  background-color: var(--color-bg-card);
  border-bottom: 1px solid var(--color-border);
  padding: 16px 0;
}
.product-detail-page .product-breadcrumb .breadcrumb {
  margin: 0;
  padding: 0;
  background: transparent;
  font-size: 14px;
  font-weight: 500;
}
.product-detail-page .product-breadcrumb .breadcrumb .breadcrumb-item a {
  color: var(--color-text-muted);
  text-decoration: none;
  text-transform: uppercase;
  transition: color 0.3s ease;
}
.product-detail-page .product-breadcrumb .breadcrumb .breadcrumb-item a:hover {
  color: var(--color-primary);
}
.product-detail-page .product-breadcrumb .breadcrumb .breadcrumb-item.active {
  color: var(--color-text-main);
}
.product-detail-page .product-breadcrumb .breadcrumb .breadcrumb-item::before {
  color: var(--color-text-muted);
}
.product-detail-page .product-hero {
  background-color: var(--color-bg-main);
  padding: 64px 0;
}
.product-detail-page .product-hero .product-title {
  font-size: 48px;
  font-weight: 700;
  color: var(--color-text-main);
  margin-bottom: 24px;
  line-height: 1;
}
.product-detail-page .product-hero .product-desc {
  font-size: 16px;
  font-weight: 400;
  color: var(--color-text-muted);
  line-height: 1.625;
  max-width: 576px;
}
.product-detail-page .product-hero .product-desc p {
  margin-bottom: 1rem;
}
.product-detail-page .product-hero .product-image-container {
  position: relative;
  background-color: transparent;
  border-radius: 10px;
  box-shadow: 0px 25px 50px -12px rgba(220, 38, 38, 0.1);
  padding: 10px;
  display: inline-block;
}
.product-detail-page .product-hero .product-image-container .product-image {
  border-radius: 10px;
  width: 100%;
  max-width: 448px;
  -o-object-fit: cover;
     object-fit: cover;
}
.product-detail-page .product-hero .product-image-container .slider-dots .dot {
  width: 12px;
  height: 12px;
  background-color: var(--color-text-muted);
  border-radius: 50%;
  margin: 0 4px;
  cursor: pointer;
  transition: background-color 0.3s ease;
}
.product-detail-page .product-hero .product-image-container .slider-dots .dot.active {
  background-color: var(--color-primary);
}
.product-detail-page .product-applications {
  background-color: var(--color-bg-main);
  border-top: 1px solid var(--color-border);
  padding: 65px 0 40px;
}
.product-detail-page .product-applications .applications-card {
  background-color: var(--color-bg-main);
}
.product-detail-page .product-applications .applications-card .section-title {
  font-size: 30px;
  font-weight: 700;
  color: var(--color-text-main);
  margin-bottom: 32px;
  line-height: 1.2;
}
.product-detail-page .product-applications .applications-card .applications-list {
  display: flex;
  flex-direction: column;
  gap: 16px;
}
.product-detail-page .product-applications .applications-card .applications-list li {
  font-size: 16px;
  color: rgba(244, 244, 248, 0.7);
  line-height: 1.625;
  margin-bottom: 0;
  display: flex;
  align-items: flex-start;
}
.product-detail-page .product-applications .applications-card .applications-list li .dot {
  width: 8px;
  height: 8px;
  background-color: #DC2626;
  border-radius: 50%;
  margin-right: 16px;
  margin-top: 9px;
  flex-shrink: 0;
}
.product-detail-page .product-applications .applications-card .applications-actions {
  display: flex;
  flex-direction: column;
  gap: 16px;
  margin-top: 32px;
}
.product-detail-page .product-applications .applications-card .btn-link-red {
  color: #DC2626;
  font-size: 16px;
  font-weight: 500;
  text-decoration: none;
  display: inline-flex;
  align-items: center;
  gap: 8px;
  padding: 8px 0;
  transition: opacity 0.3s ease;
}
.product-detail-page .product-applications .applications-card .btn-link-red:hover {
  opacity: 0.8;
}
.product-detail-page .product-applications .applications-card .btn-link-red img {
  width: 20px;
  height: 20px;
}
.product-detail-page .product-applications .applications-card .btn-outline-red {
  color: #DC2626;
  border: 2px solid #DC2626;
  border-radius: 4px;
  padding: 12px 24px;
  display: inline-flex;
  align-items: center;
  gap: 8px;
  font-size: 16px;
  font-weight: 500;
  text-decoration: none;
  transition: all 0.3s ease;
  width: -moz-fit-content;
  width: fit-content;
}
.product-detail-page .product-applications .applications-card .btn-outline-red:hover {
  background-color: #DC2626;
  color: #ffffff;
}
.product-detail-page .product-applications .applications-card .btn-outline-red:hover img {
  filter: brightness(0) invert(1);
}
.product-detail-page .product-applications .applications-card .btn-outline-red img {
  width: 20px;
  height: 20px;
  transition: filter 0.3s ease;
}
.product-detail-page .product-showcase {
  background-color: var(--color-bg-card);
  border-top: 1px solid var(--color-border);
  padding: 113px 0 80px;
}
.product-detail-page .product-showcase .section-title {
  font-size: 48px;
  font-weight: 700;
  color: var(--color-text-main);
  margin-bottom: 0;
  line-height: 1;
}
.product-detail-page .product-showcase .title-underline {
  width: 96px;
  height: 4px;
  background-color: var(--color-primary);
  margin-top: 16px;
}
.product-detail-page .product-showcase .section-subtitle {
  font-size: 18px;
  color: rgba(244, 244, 248, 0.7);
}
.product-detail-page .product-showcase .feature-card {
  background-color: #27272A;
  border: 1px solid #52525B;
  border-radius: 10px;
  padding: 0;
  height: 100%;
  display: flex;
  flex-direction: column;
  overflow: hidden;
  transition: transform 0.3s ease, box-shadow 0.3s ease, border-color 0.3s ease;
}
.product-detail-page .product-showcase .feature-card:hover {
  transform: translateY(-5px);
  box-shadow: 0 10px 20px rgba(0, 0, 0, 0.2);
  border-color: var(--color-primary);
}
.product-detail-page .product-showcase .feature-card .feature-image {
  height: 192px;
  position: relative;
}
.product-detail-page .product-showcase .feature-card .feature-image img {
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
}
.product-detail-page .product-showcase .feature-card .feature-image .overlay-gradient {
  position: absolute;
  bottom: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background: linear-gradient(0deg, rgb(39, 39, 42) 0%, rgba(30, 30, 32, 0.86) 7%, rgba(21, 21, 23, 0.71) 14%, rgba(12, 12, 14, 0.57) 21%, rgba(5, 5, 6, 0.43) 29%, rgba(2, 2, 2, 0.29) 36%, rgba(0, 0, 0, 0.14) 43%, rgba(0, 0, 0, 0) 50%, rgba(0, 0, 0, 0) 100%);
  pointer-events: none;
}
.product-detail-page .product-showcase .feature-card .feature-content {
  padding: 24px 24px 0;
  display: flex;
  flex-direction: column;
  gap: 12px;
  padding-bottom: 24px;
}
.product-detail-page .product-showcase .feature-card .feature-header {
  display: flex;
  align-items: center;
  gap: 12px;
}
.product-detail-page .product-showcase .feature-card .feature-icon {
  width: 40px;
  height: 40px;
  background-color: rgba(220, 38, 38, 0.2);
  border: 1px solid #DC2626;
  border-radius: 10px;
  margin-bottom: 0;
  display: flex;
  align-items: center;
  justify-content: center;
  flex-shrink: 0;
}
.product-detail-page .product-showcase .feature-card .feature-icon img {
  max-width: 20px;
  max-height: 20px;
  -o-object-fit: contain;
     object-fit: contain;
}
.product-detail-page .product-showcase .feature-card .feature-title {
  font-size: 20px;
  font-weight: 600;
  color: var(--color-text-main);
  margin-bottom: 0;
  line-height: 1.4;
}
.product-detail-page .product-showcase .feature-card .feature-desc {
  font-family: "Inter", sans-serif;
  font-weight: 400;
  font-size: 14px;
  line-height: 1.625;
  color: rgba(244, 244, 248, 0.7);
  margin-bottom: 0;
}
.product-detail-page .product-showcase .btn-solid-red {
  background-color: #dc2626;
  color: #ffffff;
  border-radius: 4px;
  padding: 16px 32px;
  font-size: 16px;
  font-weight: 600;
  text-decoration: none;
  display: inline-flex;
  align-items: center;
  gap: 8px;
  border: 2px solid #dc2626;
  box-shadow: 0 4px 12px rgba(220, 38, 38, 0.3);
  transition: all 0.3s ease;
}
.product-detail-page .product-showcase .btn-solid-red:hover {
  background-color: #b91c1c;
  border-color: #b91c1c;
  box-shadow: 0 6px 20px rgba(220, 38, 38, 0.4);
  transform: translateY(-2px);
}
.product-detail-page .product-showcase .btn-solid-red:active {
  transform: translateY(0);
}
.product-detail-page .product-contact {
  background-color: var(--color-bg-card);
  border-top: 1px solid var(--color-border);
  padding: 80px 0;
  text-align: center;
}
.product-detail-page .product-contact .contact-card {
  max-width: 832px;
  margin: 0 auto;
}
.product-detail-page .product-contact .section-title {
  font-size: 36px;
  font-weight: 700;
  color: var(--color-text-main);
  margin-bottom: 16px;
  line-height: 1.1;
}
.product-detail-page .product-contact .section-desc {
  font-size: 18px;
  color: rgba(244, 244, 248, 0.8);
  line-height: 1.6;
  margin-bottom: 32px;
  max-width: 672px;
  margin-left: auto;
  margin-right: auto;
}
.product-detail-page .product-contact .contact-actions {
  display: flex;
  justify-content: center;
  align-items: center;
  gap: 24px;
}
.product-detail-page .product-contact .contact-actions .btn-solid-red {
  background-color: #dc2626;
  color: #ffffff;
  border-radius: 4px;
  padding: 12px 32px;
  font-size: 16px;
  font-weight: 600;
  text-decoration: none;
  display: inline-flex;
  align-items: center;
  gap: 8px;
  border: 2px solid #dc2626;
  box-shadow: 0 4px 12px rgba(220, 38, 38, 0.3);
  transition: all 0.3s ease;
}
.product-detail-page .product-contact .contact-actions .btn-solid-red:hover {
  background-color: #b91c1c;
  border-color: #b91c1c;
  box-shadow: 0 6px 20px rgba(220, 38, 38, 0.4);
  transform: translateY(-2px);
}
.product-detail-page .product-contact .contact-actions .btn-solid-red:active {
  transform: translateY(0);
}
.product-detail-page .product-contact .contact-actions .contact-link {
  display: flex;
  align-items: center;
  color: var(--color-primary);
  font-size: 16px;
  font-weight: 500;
  text-decoration: none;
  transition: opacity 0.3s ease;
}
.product-detail-page .product-contact .contact-actions .contact-link:hover {
  opacity: 0.8;
}
.product-detail-page .product-contact .contact-actions .contact-link .icon {
  width: 20px;
  height: 20px;
}

.fr-page-header {
  position: relative;
  height: 300px;
  display: flex;
  align-items: center;
  justify-content: center;
  overflow: hidden;
  margin-top: calc(-1 * var(--fr-header-height));
  padding-top: var(--fr-header-height);
  background-color: var(--fr-bg-deep);
}
@media (min-width: 768px) {
  .fr-page-header {
    height: 400px;
  }
}
.fr-page-header-bg {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  z-index: 0;
}
.fr-page-header-bg img {
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
}
.fr-page-header-bg .fr-page-header-pattern {
  width: 100%;
  height: 100%;
  background-image: linear-gradient(45deg, var(--fr-bg-dark) 25%, transparent 25%), linear-gradient(-45deg, var(--fr-bg-dark) 25%, transparent 25%), linear-gradient(45deg, transparent 75%, var(--fr-bg-dark) 75%), linear-gradient(-45deg, transparent 75%, var(--fr-bg-dark) 75%);
  background-size: 20px 20px;
  background-position: 0 0, 0 10px, 10px -10px, -10px 0px;
  opacity: 0.1;
}
.fr-page-header-overlay {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background: linear-gradient(to bottom, rgba(24, 24, 27, 0.3), var(--fr-bg-dark));
  z-index: 1;
}
.fr-page-header-content {
  position: relative;
  z-index: 2;
  text-align: center;
}

.fr-page-title {
  font-size: 2.5rem;
  font-weight: 700;
  color: var(--fr-text-light);
  margin-bottom: 1rem;
  letter-spacing: -0.02em;
  text-transform: uppercase;
}
@media (min-width: 768px) {
  .fr-page-title {
    font-size: 3.5rem;
  }
}

.fr-breadcrumbs {
  display: flex;
  justify-content: center;
}
.fr-breadcrumbs ol {
  display: flex;
  list-style: none;
  padding: 0;
  margin: 0;
  gap: 0.5rem;
  align-items: center;
}
.fr-breadcrumbs li {
  color: var(--fr-text-muted);
  font-size: 0.875rem;
  display: flex;
  align-items: center;
}
.fr-breadcrumbs li:not(:last-child)::after {
  content: "/";
  margin-left: 0.5rem;
  color: var(--fr-text-subtle);
}
.fr-breadcrumbs li a {
  color: var(--fr-text-muted);
  text-decoration: none;
  transition: color 0.2s;
}
.fr-breadcrumbs li a:hover {
  color: var(--fr-primary);
}
.fr-breadcrumbs li.active {
  color: var(--fr-text-light);
  font-weight: 500;
}

.module-swiper .swiper-slide img {
  width: 100%;
}
.module-swiper .swiper-pagination .swiper-pagination-bullet {
  width: 30px;
}
.module-swiper .swiper-pagination .swiper-pagination-bullet-active {
  background: #dc2626 !important;
}

.product-grid-item {
  margin-bottom: 16px;
}
@media (min-width: 992px) {
  .product-grid-item {
    margin-bottom: 30px;
    padding-bottom: 10px;
  }
  .product-grid-item:hover .product-bottom-btns {
    transform: translateY(0) !important;
  }
  .product-grid-item:hover .product-price {
    transform: translateY(100%);
  }
}
.product-grid-item:hover {
  box-shadow: 0 10px 25px rgba(0, 0, 0, 0.15);
}
.product-grid-item .image {
  position: relative;
  overflow: hidden;
  border-radius: 6px;
}
.product-grid-item .image .product-main-image {
  width: 100%;
  height: auto;
  -o-object-fit: cover;
     object-fit: cover;
  transition: box-shadow 0.3s ease-in-out, opacity 0.4s ease-in-out, transform 0.4s ease-in-out;
  display: block;
}
.product-grid-item .image .product-hover-image {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
  opacity: 0;
  transform: scale(1.05);
  transition: opacity 0.4s ease-in-out, transform 0.4s ease-in-out;
  z-index: 2;
}
.product-grid-item .image:has(.product-hover-image):hover .product-main-image {
  opacity: 0.9;
  transform: scale(0.95);
}
.product-grid-item .image:has(.product-hover-image):hover .product-hover-image {
  opacity: 1;
  transform: scale(1);
}
.product-grid-item .image .cancel-favorite {
  position: absolute;
  top: 5px;
  right: 5px;
  width: 36px;
  height: 36px;
  border-radius: 50%;
  background-color: #fff;
  display: flex;
  justify-content: center;
  align-items: center;
  font-size: 15px;
  color: #b00101;
  box-shadow: 2px 2px 10px rgba(0, 0, 0, 0.1);
  cursor: pointer;
  z-index: 3;
}
.product-grid-item .image .cancel-favorite:hover {
  color: #fff;
  background-color: #b00101;
}
.product-grid-item .product-item-info {
  text-align: center;
}
.product-grid-item .product-item-info .product-name {
  padding: 0 5px;
  font-size: 0.875rem;
  margin-top: 1rem;
  margin-bottom: 0.5rem;
  font-weight: bold;
  color: #222;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}
.product-grid-item .product-item-info .product-name a {
  color: inherit;
}
.product-grid-item .product-item-info .product-name a:hover {
  text-decoration: underline;
  color: #dc2626;
}
.product-grid-item .product-item-info .product-bottom {
  position: relative;
  overflow: hidden;
}
.product-grid-item .product-item-info .product-bottom-btns {
  transform: translateY(-100%);
  transition: transform 0.3s;
}
.product-grid-item .product-item-info .product-bottom-btns .btn-add-cart {
  font-weight: bold;
  font-size: 16px;
  text-decoration: underline;
  color: #dc2626;
}
.product-grid-item .product-item-info .product-price {
  display: flex;
  justify-content: center;
  align-items: center;
  position: absolute;
  top: 0;
  width: 100%;
  transition: transform 0.3s;
}
.product-grid-item .product-item-info .product-price .price-new {
  font-size: 1rem;
  font-weight: bold;
  color: #dc2626;
}
.product-grid-item .product-item-info .product-price .price-old {
  font-size: 0.9rem;
  color: #768088;
  text-decoration: line-through;
  margin-left: 10px;
  margin-right: 10px;
}

.list {
  display: flex;
  flex-wrap: wrap;
  border-bottom: 1px solid #eee;
  padding-bottom: 1.4rem;
  margin-bottom: 1.4rem;
}
.list .image {
  flex: 0 0 200px;
  margin-bottom: 0;
  transition: all 0.3s ease-in-out;
}
.list .product-item-info {
  flex: 0.2;
  padding-left: 20px;
  padding-top: 10px;
  text-align: left;
}
.list .product-item-info .sub-product-title {
  margin-top: 10px;
  margin-bottom: 20px;
}
.list .product-item-info .product-bottom {
  margin-top: 10px;
  margin-bottom: 20px;
}
.list .product-item-info .product-price {
  text-align: left;
  justify-content: flex-start;
}
.list .product-item-info .product-price .price-old {
  margin-left: 0;
}
.list .product-item-info .add-wishlist {
  margin-top: 10px;
  margin-bottom: 20px;
  max-width: 100px;
}

.module-product-tab .nav-tabs {
  display: flex;
  justify-content: center;
  border: none;
  margin-bottom: 20px;
  margin-top: -6px;
}
@media (min-width: 992px) {
  .module-product-tab .nav-tabs {
    margin-bottom: 40px;
  }
}
.module-product-tab .nav-tabs .nav-link {
  border: none !important;
  color: #7E7E7E;
  border-radius: 50px;
  margin: 0;
  font-size: 12px;
  font-weight: bold;
}
@media (min-width: 992px) {
  .module-product-tab .nav-tabs .nav-link {
    margin: 0 10px;
    font-size: 14px;
  }
}
.module-product-tab .nav-tabs .nav-link:hover {
  background-color: #FFEBF2;
}
.module-product-tab .nav-tabs .nav-link.active {
  background-color: #FFEBF2;
  color: #dc2626;
}

.blog-item {
  margin-bottom: 10px;
}
@media (min-width: 768px) {
  .blog-item {
    margin-bottom: 30px;
  }
}
.blog-item .image {
  position: relative;
  overflow: hidden;
  border-radius: 6px;
  margin-bottom: 12px;
  transition: box-shadow 0.3s ease-in-out;
}
.blog-item .image:hover {
  box-shadow: 0 10px 25px rgba(0, 0, 0, 0.15);
}
.blog-item .image img {
  width: 100%;
  height: auto;
  border-radius: 6px;
  display: block;
  transition: transform 0.3s ease-in-out;
}
.blog-item .image:hover img {
  transform: scale(1.02);
}
.blog-item .blog-item-info .blog-catalog {
  font-weight: bold;
  color: #dc2626;
  margin-bottom: 4px;
}
.blog-item .blog-item-info .blog-title {
  font-size: 14px;
  font-weight: bold;
  margin-bottom: 10px;
}
@media (min-width: 768px) {
  .blog-item .blog-item-info .blog-title {
    font-size: 18px;
  }
}
.blog-item .blog-item-info .blog-title a {
  color: #333;
  text-decoration: none;
  transition: color 0.3s ease;
}
.blog-item .blog-item-info .blog-title a:hover {
  color: #dc2626;
}
.blog-item .blog-item-info .author-wrap {
  display: flex;
  align-items: center;
  color: #777;
}
.blog-item .blog-item-info .author-wrap .blog-author {
  margin-right: 20px;
}

body.page-login {
  margin-bottom: 0 !important;
}

.login-register-box {
  max-width: 540px;
  background-color: #F3F3F3;
  margin: 30px auto;
  padding: 16px;
}
@media (min-width: 992px) {
  .login-register-box {
    padding: 36px;
    margin: 70px auto;
  }
}
.login-register-box.iframe {
  margin: 10px 0 0;
}
.login-register-box .login-title {
  text-align: center;
  font-size: 24px;
  margin-bottom: 20px;
}
.login-register-box .login-sub-title {
  text-align: center;
  font-size: 16px;
  color: #666666;
  margin-bottom: 30px;
}
.login-register-box .form-group input {
  border: none;
  height: 44px;
  font-size: 15px;
  border-radius: 0;
}
.login-register-box .btn-submit {
  margin-top: 30px;
}
@media (min-width: 400px) {
  .login-register-box .btn-submit {
    display: flex;
    justify-content: space-between;
    align-items: center;
  }
}
.login-register-box .btn-submit .form-submit {
  width: 50%;
  display: block;
}
.login-register-box .btn-submit a {
  color: #222;
  display: block;
  font-weight: bold;
}
.login-register-box .auth-method-switch .btn-outline-primary.active {
  background-color: #dc2626;
  border-color: #dc2626;
  color: #fff !important;
}
.login-register-box .auth-method-switch .btn-outline-primary:not(.active) {
  color: #dc2626;
  background-color: #fff;
}
.login-register-box .auth-method-switch .btn-outline-primary:not(.active):hover {
  background-color: #fff;
  color: #dc2626;
}

.breadcrumb-wrap {
  background-image: url("/images/icons/breadcrumb-bg.jpg");
  background-size: cover;
  background-position: center;
  background-repeat: no-repeat;
  margin-bottom: 14px;
}
@media (min-width: 768px) {
  .breadcrumb-wrap {
    padding: 20px 0;
    margin-bottom: 30px;
  }
}
.breadcrumb-wrap .breadcrumb {
  display: flex;
  justify-content: flex-start;
  align-items: center;
  margin-bottom: 0;
}
.breadcrumb-wrap .breadcrumb li {
  font-size: 14px;
  text-transform: uppercase;
  display: flex;
  align-items: center;
  line-height: 1;
}
.breadcrumb-wrap .breadcrumb li a {
  text-decoration: none;
  color: #333;
}
.breadcrumb-wrap .breadcrumb li .home-icon {
  margin-right: 4px;
}
.breadcrumb-wrap .breadcrumb li:not(:last-child) {
  margin-right: 10px;
}
.breadcrumb-wrap .breadcrumb li:not(:last-child)::after {
  content: ">";
  margin: 0 10px;
}

.account-card-box {
  border: 1px solid #ECF0F4;
  padding: 16px;
}
@media (min-width: 992px) {
  .account-card-box {
    min-height: 621px;
  }
}
@media (min-width: 768px) {
  .account-card-box {
    padding: 30px;
  }
}
.account-card-box .account-card-title {
  margin-bottom: 30px;
}
.account-card-box .account-card-title span {
  font-size: 16px;
  font-weight: bold;
}
@media (min-width: 768px) {
  .account-card-box .account-card-title span {
    font-size: 20px;
  }
}
.account-card-box .account-card-sub-title {
  margin-bottom: 16px;
}
.account-card-box .account-card-sub-title span {
  font-size: 16px;
  font-weight: bold;
}

body.page-account .account-info .account-data {
  border-bottom: 1px solid #ECF0F4;
  margin-bottom: 50px;
  padding-bottom: 50px;
  margin-top: 50px;
}
body.page-account .account-info .account-data .account-item-data {
  text-align: center;
}
body.page-account .account-info .account-data .account-item-data .value {
  font-size: 2rem;
  font-weight: bold;
}
body.page-account .account-info .no-order {
  background-color: #f6f6f6;
  font-size: 1rem;
}
body.page-account .account-info .no-order a {
  color: #457C46;
}

.account-sidebar {
  border: 1px solid #e8eef3;
  margin-bottom: 20px;
}
.account-sidebar .account-user {
  display: flex;
  align-items: center;
  border-bottom: 1px solid #e8eef3;
  margin: 16px;
  padding-bottom: 20px;
}
@media (min-width: 768px) {
  .account-sidebar .account-user {
    margin: 30px;
    padding-bottom: 30px;
  }
}
.account-sidebar .account-user .profile {
  width: 60px;
  height: 60px;
  flex: 0 0 60px;
  display: flex;
  align-items: center;
  justify-content: center;
  border: 1px solid #e8eef3;
  border-radius: 50%;
  overflow: hidden;
  margin-right: 14px;
}
.account-sidebar .account-user .account-name .name {
  font-size: 0.9rem;
}
.account-sidebar .account-links {
  list-style: none;
  padding-left: 0;
}
.account-sidebar .account-links li.active a {
  color: #222;
  border-left: 2px solid #dc2626;
}
.account-sidebar .account-links li a {
  color: #7C818B;
  padding: 6px 10px 6px 18px;
  margin: 20px 0;
  border-left: 2px solid transparent;
  display: flex;
  font-weight: bold;
  align-items: center;
  font-size: 1rem;
  line-height: 1;
}
@media (min-width: 768px) {
  .account-sidebar .account-links li a {
    padding: 6px 10px 6px 30px;
    margin: 26px 0;
  }
}
.account-sidebar .account-links li a:hover {
  color: #222;
}
.account-sidebar .account-links li a i {
  color: #222;
  font-size: 20px;
  margin-right: 20px;
}

.account-table-box th, .account-table-box td {
  padding: 10px 0;
}
.account-table-box th {
  border-bottom: none;
  font-size: 14px;
}
.account-table-box tr:last-child td {
  border-bottom: none;
}

body.page-categories .top-order-wrap {
  display: flex;
  justify-content: space-between;
  align-items: center;
  border-bottom: 1px solid #eee;
  padding-bottom: 10px;
  margin-bottom: 26px;
}
body.page-categories .top-order-wrap .right {
  display: flex;
  align-items: center;
}
@media (max-width: 768px) {
  body.page-categories .top-order-wrap .right {
    justify-content: space-between;
    width: 100%;
  }
}
body.page-categories .top-order-wrap .right .order-item {
  display: flex;
  align-items: center;
  border-right: 1px solid #eee;
  padding-right: 10px;
  margin-right: 10px;
}
body.page-categories .top-order-wrap .right .order-item span {
  color: #777;
  margin-right: 8px;
  white-space: nowrap;
}
body.page-categories .top-order-wrap .right .order-item:last-child {
  border-right: none;
  padding-right: 0;
  margin-right: 0;
}
body.page-categories .top-order-wrap .right .order-item .form-select {
  border: none;
  padding-top: 0;
  padding-bottom: 0;
}
body.page-categories .top-order-wrap .right .order-item .order-icon {
  color: #333;
  font-size: 20px;
  margin-left: 10px;
  padding: 0 6px;
}
body.page-categories .top-order-wrap .right .order-item .order-icon.active {
  background-color: #eee;
}

.product-grid-item .wishlist-container {
  position: absolute;
  top: 10px;
  left: 10px;
  z-index: 2;
  display: none;
}
.product-grid-item .image:hover .wishlist-container {
  display: block;
}
.product-grid-item .add-wishlist {
  background-color: rgba(0, 0, 0, 0.5);
  color: white;
  padding: 5px 10px;
  border-radius: 5px;
  cursor: pointer;
}
.product-grid-item .add-wishlist i {
  margin-right: 5px;
}

.filter-sidebar .filter-sidebar-item {
  margin-bottom: 20px;
}
@media (min-width: 768px) {
  .filter-sidebar .filter-sidebar-item {
    margin-bottom: 40px;
  }
}
.filter-sidebar .filter-sidebar-item .title {
  font-weight: bold;
  font-size: 20px;
  margin-bottom: 14px;
}
.filter-sidebar .filter-sidebar-item .price-range .price-slider {
  position: relative;
  height: 40px;
  margin-bottom: 15px;
}
.filter-sidebar .filter-sidebar-item .price-range .price-slider .slider-track {
  position: absolute;
  top: 50%;
  left: 0;
  right: 0;
  height: 6px;
  background: #ff6b35;
  border-radius: 3px;
  transform: translateY(-50%);
}
.filter-sidebar .filter-sidebar-item .price-range .price-slider input[type=range] {
  position: absolute;
  top: 50%;
  left: 0;
  right: 0;
  width: 100%;
  height: 6px;
  background: transparent;
  pointer-events: none;
  -webkit-appearance: none;
     -moz-appearance: none;
          appearance: none;
  transform: translateY(-50%);
}
.filter-sidebar .filter-sidebar-item .price-range .price-slider input[type=range]::-webkit-slider-thumb {
  -webkit-appearance: none;
          appearance: none;
  width: 20px;
  height: 20px;
  background: #ff6b35;
  border-radius: 50%;
  cursor: pointer;
  pointer-events: auto;
  border: 3px solid #fff;
  box-shadow: 0 2px 6px rgba(0, 0, 0, 0.3);
}
.filter-sidebar .filter-sidebar-item .price-range .price-slider input[type=range]::-moz-range-thumb {
  width: 20px;
  height: 20px;
  background: #ff6b35;
  border-radius: 50%;
  cursor: pointer;
  pointer-events: auto;
  border: 3px solid #fff;
  box-shadow: 0 2px 6px rgba(0, 0, 0, 0.3);
}
.filter-sidebar .filter-sidebar-item .price-range .price-slider input[type=range].slider-min {
  z-index: 2;
}
.filter-sidebar .filter-sidebar-item .price-range .price-slider input[type=range].slider-max {
  z-index: 1;
}
.filter-sidebar .filter-sidebar-item .price-range .price-inputs {
  display: flex;
  gap: 15px;
  margin-bottom: 15px;
}
.filter-sidebar .filter-sidebar-item .price-range .price-inputs .price-input-group {
  flex: 1;
}
.filter-sidebar .filter-sidebar-item .price-range .price-inputs .price-input-group label {
  display: block;
  font-size: 13px;
  color: #6c757d;
  margin-bottom: 6px;
  font-weight: normal;
}
.filter-sidebar .filter-sidebar-item .price-range .price-inputs .price-input-group input {
  width: 100%;
  padding: 8px 10px;
  border: 1px solid #ced4da;
  border-radius: 4px;
  font-size: 14px;
  background: #fff;
}
.filter-sidebar .filter-sidebar-item .price-range .price-inputs .price-input-group input:focus {
  outline: none;
  border-color: #ff6b35;
  box-shadow: 0 0 0 2px rgba(255, 107, 53, 0.25);
}
.filter-sidebar .filter-sidebar-item .price-range .price-inputs .price-input-group input::-moz-placeholder {
  color: #adb5bd;
}
.filter-sidebar .filter-sidebar-item .price-range .price-inputs .price-input-group input::placeholder {
  color: #adb5bd;
}
.filter-sidebar .filter-sidebar-item .price-range .btn {
  width: 100%;
  background-color: #ff6b35;
  border-color: #ff6b35;
  font-size: 14px;
  padding: 10px 16px;
  font-weight: 500;
}
.filter-sidebar .filter-sidebar-item .price-range .btn:hover {
  background-color: #e55a2b;
  border-color: #e55a2b;
}
.filter-sidebar .filter-sidebar-item .price-range .btn:focus {
  box-shadow: 0 0 0 2px rgba(255, 107, 53, 0.25);
}
.filter-sidebar .filter-sidebar-item #filter-category > .accordion-item > .accordion-title {
  padding: 4px 0;
}
.filter-sidebar .filter-sidebar-item #filter-category .accordion-item {
  border: none;
}
.filter-sidebar .filter-sidebar-item #filter-category .accordion-item .accordion-title {
  display: flex;
  justify-content: space-between;
  align-items: center;
  min-height: 30px;
}
.filter-sidebar .filter-sidebar-item #filter-category .accordion-item .accordion-title > a {
  color: #222;
}
.filter-sidebar .filter-sidebar-item #filter-category .accordion-item .accordion-title .accordion-button {
  width: 30px;
  height: 30px;
  box-shadow: none;
  background-color: transparent !important;
}
.filter-sidebar .filter-sidebar-item #filter-category .accordion-item .accordion-title .accordion-button::after {
  --bs-accordion-btn-icon-width: .8rem;
  opacity: 0.7;
}
.filter-sidebar .filter-sidebar-item #filter-category .accordion-item .accordion-body {
  padding: 0;
  padding-left: 14px;
}
@media (max-width: 768px) {
  .filter-sidebar {
    position: fixed;
    top: 0;
    right: 0;
    width: 50%;
    height: 100%;
    background: white;
    transform: translateX(100%);
    transition: transform 0.3s ease;
    z-index: 1050;
    padding-left: 20px;
    padding-top: 20px;
  }
}

@media (max-width: 992px) {
  body.page-product .breadcrumb-wrap {
    display: none;
  }
}
body.page-product .page-product-top {
  margin-bottom: 20px;
}
@media (min-width: 992px) {
  body.page-product .page-product-top {
    margin-bottom: 40px;
  }
}
@media (max-width: 992px) {
  body.page-product .page-product-top .product-left-col {
    padding: 0;
  }
}
body.page-product .page-product-top .product-images {
  display: flex;
}
@media (min-width: 992px) {
  body.page-product .page-product-top .product-images {
    position: sticky;
    top: 20px;
    align-self: flex-start;
  }
}
@media (max-width: 991px) {
  body.page-product .page-product-top .product-images {
    margin-bottom: 10px;
    flex-direction: column;
  }
}
body.page-product .page-product-top .product-images .sub-product-img {
  width: 100%;
  position: relative;
}
@media (min-width: 992px) {
  body.page-product .page-product-top .product-images .sub-product-img {
    width: 100px;
    height: 560px;
    flex: 0 0 100px;
    margin-right: 20px;
  }
  body.page-product .page-product-top .product-images .sub-product-img:hover .swiper .sub-product-btn {
    display: block;
  }
  body.page-product .page-product-top .product-images .sub-product-img::before, body.page-product .page-product-top .product-images .sub-product-img::after {
    content: "";
    position: absolute;
    left: 0;
    right: 0;
    height: 30px;
    background: linear-gradient(to bottom, rgba(0, 0, 0, 0.1), transparent);
    pointer-events: none;
    opacity: 0;
    transition: opacity 0.3s ease;
    z-index: 10;
  }
  body.page-product .page-product-top .product-images .sub-product-img::before {
    top: 0;
    background: linear-gradient(to bottom, rgba(0, 0, 0, 0.1), transparent);
  }
  body.page-product .page-product-top .product-images .sub-product-img::after {
    bottom: 0;
    background: linear-gradient(to top, rgba(0, 0, 0, 0.1), transparent);
  }
  body.page-product .page-product-top .product-images .sub-product-img:hover::before, body.page-product .page-product-top .product-images .sub-product-img:hover::after {
    opacity: 1;
  }
}
@media (min-width: 992px) {
  body.page-product .page-product-top .product-images .sub-product-img .swiper {
    height: 100%;
  }
}
body.page-product .page-product-top .product-images .sub-product-img .swiper .swiper-slide {
  display: flex;
  justify-content: center;
}
body.page-product .page-product-top .product-images .sub-product-img .swiper .swiper-slide .thumbnail-item {
  width: 100%;
  height: 100%;
  display: flex;
  align-items: center;
  justify-content: center;
  border: 2px solid transparent;
  border-radius: 4px;
  transition: all 0.3s ease;
  cursor: pointer;
}
body.page-product .page-product-top .product-images .sub-product-img .swiper .swiper-slide .thumbnail-item img {
  border: 1px solid #eee;
  border-radius: 2px;
  transition: border-color 0.3s ease;
}
@media (min-width: 992px) {
  body.page-product .page-product-top .product-images .sub-product-img .swiper .swiper-slide {
    width: 100px;
    height: 100px;
  }
  body.page-product .page-product-top .product-images .sub-product-img .swiper .swiper-slide .thumbnail-item:hover {
    border-color: #dc2626;
  }
  body.page-product .page-product-top .product-images .sub-product-img .swiper .swiper-slide .thumbnail-item.active {
    border-color: #dc2626;
    background-color: rgba(220, 38, 38, 0.1);
  }
}
body.page-product .page-product-top .product-images .sub-product-img .swiper .sub-product-btn {
  display: none;
}
body.page-product .page-product-top .product-images .sub-product-img .swiper .sub-product-btn > div {
  position: absolute;
  left: 0;
  width: 100%;
  height: 30px;
  background-color: rgba(0, 0, 0, 0.3);
  color: #fff;
  display: flex;
  justify-content: center;
  align-items: center;
  cursor: pointer;
  z-index: 9;
  font-size: 20px;
}
body.page-product .page-product-top .product-images .sub-product-img .swiper .sub-product-btn > div:hover {
  background-color: rgba(0, 0, 0, 0.5);
}
body.page-product .page-product-top .product-images .sub-product-img .swiper .sub-product-btn > div.sub-product-prev {
  top: 0;
}
body.page-product .page-product-top .product-images .sub-product-img .swiper .sub-product-btn > div.sub-product-next {
  bottom: 0;
}
@media (min-width: 992px) {
  body.page-product .page-product-top .product-images .sub-product-img .swiper .sub-product-pagination {
    display: none;
  }
}
body.page-product .page-product-top .product-images .main-product-img {
  cursor: pointer;
}
@media (max-width: 991px) {
  body.page-product .page-product-top .product-images .main-product-img {
    margin-top: 15px;
  }
}
body.page-product .page-product-top .product-images .mobile-product-slideshow .swiper .swiper-slide {
  display: flex;
  align-items: center;
  justify-content: center;
}
body.page-product .page-product-top .product-images .mobile-product-slideshow .swiper .swiper-slide .video-play-overlay {
  cursor: pointer;
  transition: transform 0.3s ease;
}
body.page-product .page-product-top .product-images .mobile-product-slideshow .swiper .swiper-slide .video-play-overlay:hover {
  transform: scale(1.1);
}
body.page-product .page-product-top .product-images .mobile-product-slideshow .mobile-product-pagination {
  position: absolute;
  bottom: 15px;
  left: 50%;
  transform: translateX(-50%);
  z-index: 1001;
  display: flex;
  justify-content: center;
  align-items: center;
}
body.page-product .page-product-top .product-images .mobile-product-slideshow .mobile-product-pagination .swiper-pagination-bullet {
  width: 8px;
  height: 8px;
  border-radius: 50%;
  background-color: rgba(255, 255, 255, 0.6);
  opacity: 1;
  margin: 0 4px;
  cursor: pointer;
  transition: all 0.3s ease;
}
body.page-product .page-product-top .product-images .mobile-product-slideshow .mobile-product-pagination .swiper-pagination-bullet.swiper-pagination-bullet-active {
  background-color: #dc2626;
  transform: scale(1.2);
}
@media (min-width: 992px) {
  body.page-product .page-product-top .product-info {
    padding-left: 20px;
  }
}
body.page-product .page-product-top .product-info .product-title {
  font-size: 18px;
  font-weight: bold;
  margin-bottom: 10px;
}
@media (min-width: 992px) {
  body.page-product .page-product-top .product-info .product-title {
    font-size: 24px;
  }
}
body.page-product .page-product-top .product-info .product-price {
  border-bottom: 1px solid #e6e6e6;
  margin-bottom: 10px;
  padding-bottom: 10px;
}
@media (min-width: 992px) {
  body.page-product .page-product-top .product-info .product-price {
    margin-bottom: 20px;
    padding-bottom: 20px;
  }
}
body.page-product .page-product-top .product-info .product-price .price {
  font-size: 20px;
  font-weight: bold;
  color: #dc2626;
}
@media (min-width: 992px) {
  body.page-product .page-product-top .product-info .product-price .price {
    font-size: 26px;
  }
}
body.page-product .page-product-top .product-info .product-price .old-price {
  font-size: 16px;
  color: #777;
  text-decoration: line-through;
}
body.page-product .page-product-top .product-info .stock-wrap > div {
  font-weight: bold;
  font-size: 14px;
}
body.page-product .page-product-top .product-info .stock-wrap > div.in-stock {
  color: #3FC158;
  background-color: #EEF8EE;
}
body.page-product .page-product-top .product-info .stock-wrap > div.out-stock {
  color: #777;
  background-color: #e3e3e3;
}
body.page-product .page-product-top .product-info .sub-product-title {
  color: #666;
  line-height: 1.8;
  font-size: 14px;
  margin-top: 10px;
}
body.page-product .page-product-top .product-info .product-param {
  list-style: none;
  padding: 0;
  margin: 10px 0;
  font-size: 14px;
}
@media (min-width: 992px) {
  body.page-product .page-product-top .product-info .product-param {
    margin: 20px 0;
  }
}
body.page-product .page-product-top .product-info .product-param li {
  color: #333;
  line-height: 1.8;
  padding: 2px 0;
}
body.page-product .page-product-top .product-info .product-param li span.title {
  color: #888;
}
body.page-product .page-product-top .product-info .product-variant-box {
  margin-bottom: 20px;
}
body.page-product .page-product-top .product-info .product-variant-box .product-variant {
  margin-bottom: 6px;
}
body.page-product .page-product-top .product-info .product-variant-box .product-variant .variant-title {
  font-size: 14px;
  font-weight: bold;
  margin-bottom: 6px;
}
body.page-product .page-product-top .product-info .product-variant-box .product-variant .variant-values .variant-value-name {
  display: inline-flex;
  align-items: center;
  margin-right: 10px;
  margin-bottom: 10px;
  cursor: pointer;
  border: 1px solid #ddd;
  padding: 5px 14px;
  border-radius: 2px;
  gap: 8px;
  min-height: 40px;
}
body.page-product .page-product-top .product-info .product-variant-box .product-variant .variant-values .variant-value-name .variant-image-container {
  width: 30px;
  height: 30px;
  border-radius: 2px;
  overflow: hidden;
  flex-shrink: 0;
}
body.page-product .page-product-top .product-info .product-variant-box .product-variant .variant-values .variant-value-name .variant-image-container .variant-value-image {
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
}
body.page-product .page-product-top .product-info .product-variant-box .product-variant .variant-values .variant-value-name .variant-text {
  font-size: 14px;
  line-height: 1.2;
}
body.page-product .page-product-top .product-info .product-variant-box .product-variant .variant-values .variant-value-name.disabled {
  color: #999;
  border-color: #ddd;
  border-style: dashed;
  text-decoration: line-through;
}
body.page-product .page-product-top .product-info .product-variant-box .product-variant .variant-values .variant-value-name.disabled .variant-image-container {
  opacity: 0.5;
}
body.page-product .page-product-top .product-info .product-variant-box .product-variant .variant-values .variant-value-name.active {
  border-color: #dc2626;
  color: #dc2626;
  border-style: solid;
  box-shadow: 0 2px 4px #dc2626;
}
body.page-product .page-product-top .product-info .product-variant-box .product-variant .variant-values .variant-value-name:hover {
  border-color: #dc2626;
  box-shadow: 0 2px 4px #dc2626;
}
body.page-product .page-product-top .product-info .product-info-bottom {
  margin-bottom: 20px;
}
@media (min-width: 992px) {
  body.page-product .page-product-top .product-info .product-info-bottom {
    height: 50px;
    display: flex;
    align-items: center;
  }
}
@media (max-width: 992px) {
  body.page-product .page-product-top .product-info .product-info-bottom .quantity-wrap {
    height: 40px;
    margin-bottom: 10px;
  }
}
body.page-product .page-product-top .product-info .product-info-bottom .product-info-btns {
  height: inherit;
}
@media (min-width: 992px) {
  body.page-product .page-product-top .product-info .product-info-bottom .product-info-btns {
    margin-left: 20px;
  }
}
@media (max-width: 992px) {
  body.page-product .page-product-top .product-info .product-info-bottom .product-info-btns {
    height: 40px;
    display: flex;
  }
}
body.page-product .page-product-top .product-info .product-info-bottom .product-info-btns .btn {
  height: inherit;
  padding: 0 20px;
  font-size: 16px;
  font-weight: bold;
  border-radius: 0;
}
@media (max-width: 992px) {
  body.page-product .page-product-top .product-info .product-info-bottom .product-info-btns .btn {
    width: 50%;
  }
}
body.page-product .page-product-top .product-info .product-info-bottom .product-info-btns .btn.buy-now {
  background-color: #E6E8EB;
  color: #333;
}
body.page-product .page-product-top .product-info .product-info-bottom .product-info-btns .btn.buy-now:hover {
  background-color: #D9DCE1;
}
body.page-product .page-product-top .product-info .add-wishlist {
  font-weight: bold;
  cursor: pointer;
}
body.page-product .page-product-top .product-info .add-wishlist:hover {
  text-decoration: underline;
}
body.page-product .product-description {
  margin-bottom: 40px;
}
body.page-product .bundle-items-display {
  background-color: #f8f9fa;
  border: 1px solid #e9ecef;
  border-radius: 8px;
  padding: 15px;
  margin: 15px 0;
}
body.page-product .bundle-title {
  color: #495057;
  font-weight: 600;
  margin-bottom: 10px;
}
body.page-product .bundle-products {
  gap: 10px;
}
body.page-product .bundle-product-item {
  background-color: white;
  border: 1px solid #dee2e6;
  border-radius: 6px;
  padding: 8px;
  margin: 2px 0;
}
body.page-product .bundle-product-name {
  font-size: 14px;
  font-weight: 500;
  color: #212529;
  line-height: 1.2;
}
body.page-product .bundle-separator {
  font-weight: bold;
  color: #6c757d;
  font-size: 18px;
}
body.page-product .bundle-total-price {
  color: #dc3545;
  font-size: 16px;
  border-top: 1px solid #dee2e6;
  padding-top: 10px;
}
body.page-product .product-options {
  margin-bottom: 20px;
}
body.page-product .product-options .options-title {
  font-weight: 600;
  margin-bottom: 15px;
  color: #333;
}
body.page-product .product-options .option-group {
  border: 1px solid #e9ecef;
  border-radius: 8px;
  padding: 15px;
  background-color: #f8f9fa;
  margin-bottom: 15px;
}
body.page-product .product-options .option-group.has-error {
  border-color: #dc2626 !important;
  background-color: #fff5f5 !important;
  box-shadow: 0 0 0 0.2rem rgba(229, 62, 62, 0.25) !important;
}
body.page-product .product-options .option-group.has-error .option-label {
  color: #dc2626 !important;
}
body.page-product .product-options .option-group.has-error .option-select {
  border-color: #dc2626 !important;
}
body.page-product .product-options .option-group.has-error .option-radio-item,
body.page-product .product-options .option-group.has-error .option-checkbox-item {
  background-color: #fff !important;
}
body.page-product .product-options .option-group.has-success {
  border-color: #28a745 !important;
  background-color: #f8fff9 !important;
}
body.page-product .product-options .option-group.has-success .option-label::after {
  content: " ✓";
  color: #28a745;
  font-weight: bold;
  margin-left: 5px;
}
body.page-product .product-options .option-label {
  font-weight: 500;
  color: #495057;
  margin-bottom: 10px;
  display: block;
}
body.page-product .product-options .option-select {
  width: 100%;
}
body.page-product .product-options .option-select option:disabled {
  color: #6c757d;
  background-color: #f8f9fa;
}
body.page-product .product-options .radio-group {
  display: flex;
  flex-wrap: wrap;
  gap: 15px;
}
@media (max-width: 576px) {
  body.page-product .product-options .radio-group {
    gap: 6px;
  }
}
body.page-product .product-options .option-radio-item {
  border: 2px solid #dee2e6;
  border-radius: 6px;
  cursor: pointer;
  transition: all 0.3s ease;
  background-color: white;
  min-width: 120px;
  text-align: center;
}
@media (max-width: 576px) {
  body.page-product .product-options .option-radio-item {
    min-width: calc(33.333% - 4px);
    padding: 6px;
    font-size: 11px;
  }
}
body.page-product .product-options .option-radio-item:hover {
  border-color: #dc2626;
  box-shadow: 0 2px 4px rgba(233, 30, 99, 0.1);
}
body.page-product .product-options .option-radio-item:has(input:checked) {
  background-color: #e7f3ff;
  border-color: #dc2626;
}
body.page-product .product-options .option-radio-item.selected label {
  color: #dc2626;
}
body.page-product .product-options .option-radio-item.out-of-stock {
  background-color: #f8f9fa !important;
  border-color: #dee2e6 !important;
  cursor: not-allowed !important;
  opacity: 0.6;
}
body.page-product .product-options .option-radio-item.out-of-stock:hover {
  border-color: #dee2e6 !important;
  box-shadow: none !important;
}
body.page-product .product-options .option-radio-item.out-of-stock label {
  cursor: not-allowed;
  color: #6c757d;
}
body.page-product .product-options .option-radio-item.out-of-stock .out-of-stock-text {
  color: #dc2626;
  font-weight: 500;
}
body.page-product .product-options .option-radio-item label {
  cursor: pointer;
  -webkit-user-select: none;
     -moz-user-select: none;
          user-select: none;
  display: block;
  width: 100%;
  margin: 0;
  padding: 8px 12px;
  border-radius: 4px;
  transition: all 0.2s ease;
}
body.page-product .product-options .option-radio-item .form-check-input {
  display: none;
}
body.page-product .product-options .checkbox-group {
  display: flex;
  flex-wrap: wrap;
  gap: 15px;
}
@media (max-width: 576px) {
  body.page-product .product-options .checkbox-group {
    gap: 6px;
  }
}
body.page-product .product-options .option-checkbox-item {
  border: 2px solid #dee2e6;
  border-radius: 6px;
  padding: 10px;
  cursor: pointer;
  transition: all 0.3s ease;
  background-color: white;
  min-width: 120px;
  text-align: center;
}
@media (max-width: 576px) {
  body.page-product .product-options .option-checkbox-item {
    min-width: calc(33.333% - 4px);
    padding: 6px;
    font-size: 11px;
  }
}
body.page-product .product-options .option-checkbox-item:hover {
  border-color: #28a745;
  box-shadow: 0 2px 4px rgba(40, 167, 69, 0.1);
}
body.page-product .product-options .option-checkbox-item:has(input:checked) {
  background-color: #d4edda;
  border-color: #28a745;
}
body.page-product .product-options .option-checkbox-item.selected label {
  color: #1976d2;
}
body.page-product .product-options .option-checkbox-item.out-of-stock {
  background-color: #f8f9fa !important;
  border-color: #dee2e6 !important;
  cursor: not-allowed !important;
  opacity: 0.6;
}
body.page-product .product-options .option-checkbox-item.out-of-stock:hover {
  border-color: #dee2e6 !important;
  box-shadow: none !important;
}
body.page-product .product-options .option-checkbox-item.out-of-stock label {
  cursor: not-allowed;
  color: #6c757d;
}
body.page-product .product-options .option-checkbox-item.out-of-stock .out-of-stock-text {
  color: #dc2626;
  font-weight: 500;
}
body.page-product .product-options .option-checkbox-item label {
  cursor: pointer;
  -webkit-user-select: none;
     -moz-user-select: none;
          user-select: none;
  display: block;
  width: 100%;
  margin: 0;
  padding: 8px 12px;
  border-radius: 4px;
  transition: all 0.2s ease;
}
body.page-product .product-options .option-checkbox-item .form-check-input {
  display: none;
}
body.page-product .product-options .option-image img {
  width: 120px;
  height: 120px;
  -o-object-fit: cover;
     object-fit: cover;
  border-radius: 4px;
}
body.page-product .product-options .current-selection-summary {
  background: linear-gradient(135deg, #f8f9fa 0%, #e9ecef 100%);
  border-radius: 12px;
  box-shadow: 0 2px 10px rgba(0, 0, 0, 0.1);
  transition: all 0.3s ease;
}
body.page-product .product-options .current-selection-summary .card {
  border: none;
  background: transparent;
}
body.page-product .product-options .current-selection-summary .card-title {
  color: #495057;
  font-weight: 600;
  margin-bottom: 15px;
}
body.page-product .product-options .selected-option-item {
  display: flex;
  align-items: center;
  padding: 8px 12px;
  background: white;
  border-radius: 8px;
  margin-bottom: 8px;
  box-shadow: 0 1px 3px rgba(0, 0, 0, 0.1);
  transition: transform 0.2s ease;
}
body.page-product .product-options .selected-option-item:hover {
  transform: translateY(-1px);
  box-shadow: 0 2px 6px rgba(0, 0, 0, 0.15);
}
body.page-product .product-options .selected-option-item .badge {
  font-size: 0.75em;
  padding: 4px 8px;
  border-radius: 6px;
  background-color: #6c757d !important;
  color: white !important;
}
body.page-product .product-options .selected-option-item .option-value {
  color: #495057;
  font-weight: 500;
}
body.page-product .product-options .total-price-display {
  background: white;
  padding: 12px;
  border-radius: 8px;
  border-left: 4px solid #dc2626;
}
body.page-product .product-options .current-total-price {
  font-size: 1.1em !important;
  font-weight: 600 !important;
  padding: 8px 16px !important;
}
body.page-product .product-options .option-description {
  padding: 10px;
  background-color: #f8f9fa;
  border-radius: 4px;
  border-left: 3px solid #dc2626;
}
body.page-product .product-options .option-description small {
  color: #6c757d;
  font-style: italic;
}
body.page-product .product-options .price-adjustment {
  font-size: 0.9em;
  color: #28a745;
  font-weight: 500;
}
body.page-product .product-options .out-of-stock-text {
  color: #dc2626;
  font-size: 0.8em;
  font-weight: 500;
  margin-left: 5px;
}
body.page-product .product-options .option-error-message {
  color: #dc2626;
  font-size: 0.875em;
  margin-top: 8px;
  display: flex;
  align-items: center;
  animation: fadeIn 0.3s ease-in;
}
body.page-product .product-options .option-error-message i {
  margin-right: 6px;
  font-size: 1em;
}
@keyframes fadeIn {
  from {
    opacity: 0;
    transform: translateY(-5px);
  }
  to {
    opacity: 1;
    transform: translateY(0);
  }
}

body.page-cart .products-table .product-item {
  display: flex;
  align-items: flex-start;
}
body.page-cart .products-table .product-name {
  color: #222;
}
body.page-cart .products-table .product-name a {
  color: inherit;
}
body.page-cart .products-table .product-name a:hover {
  text-decoration: underline;
  color: #dc2626;
}
body.page-cart .products-table .td-image {
  width: 100px;
  padding: 0;
}
@media (min-width: 768px) {
  body.page-cart .products-table .td-image {
    width: 70px;
  }
}
body.page-cart .products-table .product-image {
  width: 90px;
  height: 90px;
}
@media (min-width: 768px) {
  body.page-cart .products-table .product-image {
    margin-right: 10px;
    width: 50px;
    height: 50px;
  }
}
body.page-cart .products-table .product-image img {
  max-height: 100%;
}
body.page-cart .products-table .quantity-wrap {
  height: 27px;
  width: 90px;
}
body.page-cart .products-table .quantity-wrap > div {
  font-size: 14px;
}
@media (min-width: 768px) {
  body.page-cart .products-table .quantity-wrap {
    height: 40px;
    width: 120px;
  }
  body.page-cart .products-table .quantity-wrap > div {
    font-size: 18px;
  }
}
body.page-cart .products-table .quantity-wrap input {
  font-size: 14px;
}
@media (max-width: 768px) {
  body.page-cart .products-table tr {
    position: relative;
  }
  body.page-cart .products-table thead, body.page-cart .products-table .td-price, body.page-cart .products-table .td-subtotal {
    display: none;
  }
  body.page-cart .products-table .td-product-check {
    padding-left: 0;
  }
  body.page-cart .products-table .td-product-info {
    width: 100%;
    padding: 20px 0 20px 10px;
  }
  body.page-cart .products-table .td-delete {
    padding-right: 0;
  }
}
@media (min-width: 768px) {
  body.page-cart .products-table .mb-price {
    display: none;
  }
}
body.page-cart .cart-data {
  background-color: #F8F9FA;
  padding: 26px;
}
body.page-cart .cart-data .title {
  font-size: 20px;
  font-weight: bold;
  margin-bottom: 20px;
}
body.page-cart .cart-data .cart-data-list {
  list-style: none;
  padding: 0;
}
body.page-cart .cart-data .cart-data-list > li {
  border-bottom: 1px solid #eee;
  padding: 16px 0;
  display: flex;
  justify-content: space-between;
  align-items: center;
  font-size: 15px;
}
body.page-cart .cart-data .cart-data-list > li:last-child {
  border-bottom: none;
}
body.page-cart .cart-data .cart-data-list > li:last-child > span:last-child {
  font-weight: bold;
  color: #dc2626;
  font-size: 24px;
}

body.page-checkout .layer-login {
  color: red;
}
body.page-checkout .breadcrumb-wrap {
  margin-bottom: 0;
}
body.page-checkout footer {
  margin-top: 0;
}
@media (min-width: 768px) {
  body.page-checkout .checkout-container {
    padding: 0;
    max-width: 100%;
  }
  body.page-checkout .checkout-container > .row {
    margin: 0;
  }
  body.page-checkout .checkout-container > .row > .col-md-5, body.page-checkout .checkout-container > .row .col-md-7 {
    padding: 0;
  }
}
body.page-checkout .title-wrap {
  margin-bottom: 14px;
  display: flex;
  align-items: center;
  justify-content: space-between;
}
body.page-checkout .title-wrap > .title {
  font-size: 15px;
  font-weight: bold;
}
@media (min-width: 768px) {
  body.page-checkout .title-wrap > .title {
    font-size: 18px;
  }
}
body.page-checkout .checkout-info {
  padding-top: 20px;
}
@media (min-width: 768px) {
  body.page-checkout .checkout-info {
    max-width: 720px;
    margin-left: auto;
    padding: 40px;
  }
}
body.page-checkout .checkout-info .checkout-item {
  margin-bottom: 20px;
}
@media (min-width: 768px) {
  body.page-checkout .checkout-info .checkout-item {
    margin-bottom: 40px;
  }
}
body.page-checkout .checkout-info .checkout-select-wrap .select-item {
  border: 1px solid #e3e3e3;
  display: flex;
  align-items: center;
  justify-content: space-between;
  padding: 10px 20px;
  margin-top: -1px;
  cursor: pointer;
  position: relative;
}
body.page-checkout .checkout-info .checkout-select-wrap .select-item:first-child {
  border-top-left-radius: 6px;
  border-top-right-radius: 6px;
}
body.page-checkout .checkout-info .checkout-select-wrap .select-item:first-child::before {
  border-top-left-radius: 6px;
  border-top-right-radius: 6px;
}
body.page-checkout .checkout-info .checkout-select-wrap .select-item:last-child {
  border-bottom-left-radius: 6px;
  border-bottom-right-radius: 6px;
}
body.page-checkout .checkout-info .checkout-select-wrap .select-item:last-child::before {
  border-bottom-left-radius: 6px;
  border-bottom-right-radius: 6px;
}
body.page-checkout .checkout-info .checkout-select-wrap .select-item::before {
  content: "";
  position: absolute;
  z-index: 1;
  pointer-events: none;
  border: 1px solid #dc2626;
  inset-block-start: -1px;
  bottom: -1px;
  left: -1px;
  right: -1px;
  top: -1px;
  inset: -1px;
  display: none;
}
body.page-checkout .checkout-info .checkout-select-wrap .select-item.active {
  background-color: #fbefff;
}
body.page-checkout .checkout-info .checkout-select-wrap .select-item.active:before {
  display: block;
}
body.page-checkout .checkout-info .checkout-select-wrap .select-item.active .left i {
  color: #dc2626;
}
body.page-checkout .checkout-info .checkout-select-wrap .select-item.active .left i::before {
  content: "\f517";
}
body.page-checkout .checkout-info .checkout-select-wrap .select-item .left {
  display: flex;
  align-items: center;
}
body.page-checkout .checkout-info .checkout-select-wrap .select-item .left i {
  font-size: 18px;
  color: #888;
}
body.page-checkout .checkout-info .checkout-select-wrap .select-item .left .select-title {
  font-size: 14px;
  margin-left: 14px;
}
body.page-checkout .checkout-info .checkout-select-wrap .select-item .icon {
  max-width: 200px;
  height: 34px;
}
body.page-checkout .checkout-info .checkout-select-wrap .select-item .icon img {
  max-height: 100%;
}
@media (min-width: 768px) {
  body.page-checkout .checkout-data {
    background-color: #F8F9FA;
    padding: 0 40px;
    border-left: 1px solid #e9edf1;
    height: 100%;
  }
}
@media (max-width: 768px) {
  body.page-checkout .checkout-data {
    margin-bottom: 40px;
  }
}
@media (min-width: 768px) {
  body.page-checkout .checkout-data .checkout-data-content {
    padding: 40px 0;
    max-width: 430px;
  }
}
body.page-checkout .checkout-data .checkout-data-content .products-table-title {
  display: flex;
  justify-content: space-between;
  align-items: center;
  border-bottom: 1px solid #e3e3e3;
  font-weight: bold;
  font-size: 14px;
  padding-bottom: 10px;
}
body.page-checkout .checkout-data .checkout-data-content .products-table-wrap {
  margin-top: 20px;
  margin-bottom: 20px;
}
body.page-checkout .checkout-data .checkout-data-content .products-table-wrap .products-table-list {
  display: flex;
  justify-content: space-between;
  margin-bottom: 12px;
}
body.page-checkout .checkout-data .checkout-data-content .products-table td {
  padding-left: 0;
  padding-right: 0;
}
body.page-checkout .checkout-data .checkout-data-content .products-table .product-item {
  display: flex;
  align-items: flex-start;
}
body.page-checkout .checkout-data .checkout-data-content .products-table .product-item .product-image {
  width: 50px;
  height: 50px;
  margin-right: 14px;
  border: 1px solid #e3e3e3;
  border-radius: 4px;
  position: relative;
}
body.page-checkout .checkout-data .checkout-data-content .products-table .product-item .product-image .icon-quantity {
  position: absolute;
  top: -5px;
  right: -10px;
  background-color: #dc2626;
  color: #fff;
  font-size: 9px;
  border-radius: 50%;
  width: 18px;
  height: 18px;
  display: flex;
  align-items: center;
  justify-content: center;
}
body.page-checkout .checkout-data .checkout-data-content .products-table .product-item .product-image img {
  max-height: 100%;
}
body.page-checkout .checkout-data .cart-data-list {
  list-style: none;
  padding: 0;
  border-top: 1px solid #eee;
}
body.page-checkout .checkout-data .cart-data-list > li {
  border-bottom: 1px solid #eee;
  padding: 16px 0;
  display: flex;
  justify-content: space-between;
  align-items: center;
  font-size: 15px;
}
body.page-checkout .checkout-data .cart-data-list > li:last-child {
  border-bottom: none;
}
body.page-checkout .checkout-data .cart-data-list > li:last-child > span:last-child {
  font-weight: bold;
  color: #dc2626;
  font-size: 24px;
}

body.page-order .account-card-title {
  margin-bottom: 16px;
}
body.page-order .tabs-plus {
  margin-bottom: 16px;
}
body.page-order .order_return {
  padding-left: 20px !important;
}
body.page-order .table-responsive {
  margin-top: 50px;
}

body.page-order-info .products-table td, body.page-order-info .products-table th {
  padding-left: 0;
  padding-right: 0;
}
body.page-order-info .products-table .product-item {
  display: flex;
  align-items: center;
}
body.page-order-info .products-table .product-item .product-image {
  width: 50px;
  height: 50px;
  margin-right: 14px;
  border: 1px solid #e3e3e3;
  border-radius: 4px;
  position: relative;
}
body.page-order-info .products-table .product-item .product-image .icon-quantity {
  position: absolute;
  top: -5px;
  right: -10px;
  background-color: #dc2626;
  color: #fff;
  font-size: 9px;
  border-radius: 50%;
  width: 18px;
  height: 18px;
  display: flex;
  align-items: center;
  justify-content: center;
}
body.page-order-info .products-table .product-item .product-image img {
  max-height: 100%;
}

body.page-addresses .address-card {
  border: 1px solid #e9ecef;
  border-radius: 4px;
  margin-bottom: 20px;
}
body.page-addresses .address-card .address-card-header {
  display: flex;
  justify-content: space-between;
  align-items: center;
  padding: 10px 15px;
  border-bottom: 1px solid #e9ecef;
}
body.page-addresses .address-card .address-card-header .address-card-title {
  margin: 0;
}
body.page-addresses .address-card .address-card-header .address-card-actions {
  display: flex;
  align-items: center;
}
body.page-addresses .address-card .address-card-header .address-card-actions a {
  margin-left: 10px;
}
body.page-addresses .address-card .address-card-body {
  padding: 15px;
  word-break: break-all;
}
body.page-addresses .address-card .address-card-body p {
  margin: 0;
}

body.page-brands .brand-group {
  width: 100%;
}
body.page-brands .brand-group .btn {
  border: 1px solid #e8e8e8;
}
body.page-brands .brand-group .btn:hover {
  background-color: #f4f4f4;
}
body.page-brands .brands-wrap {
  margin-top: 30px;
}
body.page-brands .brands-wrap .item ul {
  padding-left: 0;
  list-style: none;
  display: flex;
  flex-wrap: wrap;
  margin: 0 -10px;
}
body.page-brands .brands-wrap .item ul li {
  padding: 0 10px;
  margin-bottom: 20px;
}
body.page-brands .brands-wrap .item ul li a {
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
}
body.page-brands .brands-wrap .item ul li a .img {
  width: 99px;
  border: 1px solid #e8e8e8;
  margin-bottom: 10px;
}

body.page-checkout-success .checkout-success-box {
  border: 1px solid #ECF0F4;
  padding: 20px 10px;
  max-width: 730px;
  margin: 0 auto;
}
@media (min-width: 768px) {
  body.page-checkout-success .checkout-success-box {
    padding: 30px;
  }
}
body.page-checkout-success .checkout-success-box .order-success-icon {
  display: flex;
  justify-content: center;
  margin-bottom: 20px;
}
body.page-checkout-success .checkout-success-box .order-success-icon img {
  max-width: 170px;
}
@media (min-width: 768px) {
  body.page-checkout-success .checkout-success-box .order-success-icon img {
    max-width: 200px;
  }
}
body.page-checkout-success .checkout-success-box .checkout-success-table th, body.page-checkout-success .checkout-success-box .checkout-success-table td {
  padding: 10px 0;
}
body.page-checkout-success .checkout-success-box .checkout-success-title {
  margin-bottom: 20px;
  text-align: center;
}
@media (min-width: 768px) {
  body.page-checkout-success .checkout-success-box .checkout-success-title {
    margin-bottom: 30px;
  }
}
body.page-checkout-success .checkout-success-box .checkout-success-title span {
  font-size: 18px;
  font-weight: bold;
}
@media (min-width: 768px) {
  body.page-checkout-success .checkout-success-box .checkout-success-title span {
    font-size: 30px;
  }
}

.rate {
  border-bottom-right-radius: 12px;
  border-bottom-left-radius: 12px;
}

.rating {
  display: flex;
  flex-direction: row-reverse;
}

.rating > input {
  display: none;
}

.rating > label {
  position: relative;
  width: 1em;
  font-size: 30px;
  font-weight: 300;
  color: #e31052;
  cursor: pointer;
}

.rating > label::before {
  content: "★";
  position: absolute;
  opacity: 0;
}

.rating > label:hover:before,
.rating > label:hover ~ label:before {
  opacity: 1 !important;
}

.rating > input:checked ~ label:before {
  opacity: 1;
}

.rating:hover > input:checked ~ label:before {
  opacity: 0.4;
}

.buttons {
  top: 36px;
  position: relative;
}

.rating-submit {
  border-radius: 8px;
  color: #fff;
  height: auto;
}

.rating-submit:hover {
  color: #fff;
}

.page-wallet .transaction-card-box,
.page-wallet .withdrawal-card-box,
.page-wallet .wallet-card-box {
  background: #fff;
  border: 1px solid #e8eef3;
  border-radius: 8px;
  padding: 20px;
  margin-bottom: 20px;
}
.page-wallet .transaction-card-title,
.page-wallet .withdrawal-card-title,
.page-wallet .wallet-card-title {
  margin-bottom: 15px;
  padding-bottom: 10px;
  border-bottom: 1px solid #e8eef3;
  padding-top: 5px;
  padding-bottom: 15px;
  min-height: 52px;
}
.page-wallet .transaction-card-title .fw-bold,
.page-wallet .withdrawal-card-title .fw-bold,
.page-wallet .wallet-card-title .fw-bold {
  font-size: 1.1rem;
  font-weight: 600;
}
.page-wallet .transaction-table-box,
.page-wallet .withdrawal-table-box,
.page-wallet .wallet-table-box {
  margin-top: 15px;
}
.page-wallet .transaction-table-box th,
.page-wallet .transaction-table-box td,
.page-wallet .withdrawal-table-box th,
.page-wallet .withdrawal-table-box td,
.page-wallet .wallet-table-box th,
.page-wallet .wallet-table-box td {
  padding: 12px 8px;
  font-size: 0.9rem;
}
.page-wallet .transaction-table-box th,
.page-wallet .withdrawal-table-box th,
.page-wallet .wallet-table-box th {
  background-color: #f8f9fa;
  font-weight: 600;
}
.page-wallet .wallet-balance-item,
.page-wallet .wallet-stats-item {
  text-align: center;
  padding: 15px;
}
.page-wallet .wallet-balance-item .value,
.page-wallet .wallet-stats-item .value {
  font-size: 1.5rem;
  font-weight: bold;
  margin-bottom: 5px;
}
.page-wallet .wallet-balance-item .title,
.page-wallet .wallet-stats-item .title {
  font-size: 0.9rem;
}
.page-wallet .wallet-actions .btn.disabled {
  pointer-events: none;
}
.page-wallet .withdrawal-create-box {
  background: #fff;
  border: 1px solid #e8eef3;
  border-radius: 8px;
  padding: 20px;
  margin-bottom: 20px;
}
.page-wallet .wallet-balance-overview {
  background: linear-gradient(135deg, #667eea 0%, #764ba2 100%);
  border-radius: 12px;
  padding: 0;
  margin-bottom: 30px;
  color: white;
  box-shadow: 0 4px 15px rgba(102, 126, 234, 0.2);
  overflow: hidden;
}
.page-wallet .wallet-balance-overview .balance-header {
  background: rgba(255, 255, 255, 0.1);
  padding: 16px 20px;
  display: flex;
  align-items: center;
  border-bottom: 1px solid rgba(255, 255, 255, 0.1);
}
.page-wallet .wallet-balance-overview .balance-header i {
  font-size: 1.2rem;
  margin-right: 10px;
  opacity: 0.9;
}
.page-wallet .wallet-balance-overview .balance-header span {
  font-weight: 600;
  font-size: 1rem;
}
.page-wallet .wallet-balance-overview .balance-content {
  padding: 24px 20px 20px;
}
.page-wallet .wallet-balance-overview .balance-content .balance-main {
  text-align: center;
  margin-bottom: 16px;
}
.page-wallet .wallet-balance-overview .balance-content .balance-main .available-balance .amount {
  font-size: 2.5rem;
  font-weight: 700;
  margin-bottom: 8px;
  text-shadow: 0 2px 4px rgba(0, 0, 0, 0.1);
}
.page-wallet .wallet-balance-overview .balance-content .balance-main .available-balance .label {
  font-size: 0.95rem;
  opacity: 0.9;
  font-weight: 500;
}
.page-wallet .wallet-balance-overview .balance-content .balance-note {
  display: flex;
  align-items: center;
  justify-content: center;
  background: rgba(255, 255, 255, 0.1);
  border-radius: 8px;
  padding: 12px 16px;
  font-size: 0.85rem;
  opacity: 0.9;
}
.page-wallet .wallet-balance-overview .balance-content .balance-note i {
  margin-right: 8px;
  font-size: 0.9rem;
}
.page-wallet .balance-info-box {
  background: #f8f9fa;
  border: 1px solid #e9ecef;
  border-radius: 6px;
  padding: 15px;
}
.page-wallet .balance-item {
  text-align: center;
}
.page-wallet .balance-item .value {
  font-size: 1.5rem;
  font-weight: bold;
  margin-bottom: 5px;
}
.page-wallet .balance-item .label {
  font-size: 0.9rem;
  color: #6c757d;
}
.page-wallet .withdrawal-form .required::after {
  content: " *";
  color: #dc3545;
}
.page-wallet .form-actions {
  padding-top: 20px;
  border-top: 1px solid #e8eef3;
  margin-top: 20px;
}
@media (max-width: 768px) {
  .page-wallet .transaction-card-box,
  .page-wallet .withdrawal-card-box,
  .page-wallet .wallet-card-box {
    padding: 15px;
  }
  .page-wallet .transaction-table-box th,
  .page-wallet .transaction-table-box td,
  .page-wallet .withdrawal-table-box th,
  .page-wallet .withdrawal-table-box td,
  .page-wallet .wallet-table-box th,
  .page-wallet .wallet-table-box td {
    padding: 8px 5px;
    font-size: 0.8rem;
  }
  .page-wallet .wallet-balance-item,
  .page-wallet .wallet-stats-item {
    padding: 10px 5px;
  }
  .page-wallet .wallet-balance-item .value,
  .page-wallet .wallet-stats-item .value {
    font-size: 1.2rem;
  }
  .page-wallet .withdrawal-create-box {
    padding: 15px;
  }
  .page-wallet .balance-item .value {
    font-size: 1.2rem;
  }
  .page-wallet .wallet-balance-overview {
    margin-bottom: 20px;
  }
  .page-wallet .wallet-balance-overview .balance-header {
    padding: 12px 16px;
  }
  .page-wallet .wallet-balance-overview .balance-header i {
    font-size: 1.1rem;
  }
  .page-wallet .wallet-balance-overview .balance-header span {
    font-size: 0.9rem;
  }
  .page-wallet .wallet-balance-overview .balance-content {
    padding: 20px 16px 16px;
  }
  .page-wallet .wallet-balance-overview .balance-content .balance-main {
    margin-bottom: 12px;
  }
  .page-wallet .wallet-balance-overview .balance-content .balance-main .available-balance .amount {
    font-size: 2rem;
  }
  .page-wallet .wallet-balance-overview .balance-content .balance-main .available-balance .label {
    font-size: 0.9rem;
  }
  .page-wallet .wallet-balance-overview .balance-content .balance-note {
    padding: 10px 12px;
    font-size: 0.8rem;
  }
  .page-wallet .wallet-balance-overview .balance-content .balance-note i {
    font-size: 0.85rem;
  }
}

.transaction-card-box {
  border: 1px solid #ECF0F4;
  padding: 16px;
}
@media (min-width: 992px) {
  .transaction-card-box {
    min-height: 621px;
  }
}
@media (min-width: 768px) {
  .transaction-card-box {
    padding: 30px;
  }
}
.transaction-card-box .transaction-card-title {
  margin-bottom: 30px;
}
.transaction-card-box .transaction-card-title span {
  font-size: 16px;
  font-weight: bold;
}
@media (min-width: 768px) {
  .transaction-card-box .transaction-card-title span {
    font-size: 20px;
  }
}
.transaction-card-box .transaction-card-sub-title {
  margin-bottom: 16px;
}
.transaction-card-box .transaction-card-sub-title span {
  font-size: 16px;
  font-weight: bold;
}

body.page-transaction .transaction-info .transaction-data {
  border-bottom: 1px solid #ECF0F4;
  margin-bottom: 50px;
  padding-bottom: 50px;
  margin-top: 50px;
}
body.page-transaction .transaction-info .transaction-data .transaction-item-data {
  text-align: center;
}
body.page-transaction .transaction-info .transaction-data .transaction-item-data .value {
  font-size: 2rem;
  font-weight: bold;
}
body.page-transaction .transaction-info .no-order {
  background-color: #f6f6f6;
  font-size: 1rem;
}
body.page-transaction .transaction-info .no-order a {
  color: #457C46;
}

.transaction-sidebar {
  border: 1px solid #e8eef3;
  margin-bottom: 20px;
}
.transaction-sidebar .transaction-user {
  display: flex;
  align-items: center;
  border-bottom: 1px solid #e8eef3;
  margin: 16px;
  padding-bottom: 20px;
}
@media (min-width: 768px) {
  .transaction-sidebar .transaction-user {
    margin: 30px;
    padding-bottom: 30px;
  }
}
.transaction-sidebar .transaction-user .profile {
  width: 60px;
  height: 60px;
  flex: 0 0 60px;
  display: flex;
  align-items: center;
  justify-content: center;
  border: 1px solid #e8eef3;
  border-radius: 50%;
  overflow: hidden;
  margin-right: 14px;
}
.transaction-sidebar .transaction-user .transaction-name .name {
  font-size: 0.9rem;
}
.transaction-sidebar .transaction-links {
  list-style: none;
  padding-left: 0;
}
.transaction-sidebar .transaction-links li.active a {
  color: #222;
  border-left: 2px solid #dc2626;
}
.transaction-sidebar .transaction-links li a {
  color: #7C818B;
  padding: 6px 10px 6px 18px;
  margin: 20px 0;
  border-left: 2px solid transparent;
  display: flex;
  font-weight: bold;
  align-items: center;
  font-size: 1rem;
  line-height: 1;
}
@media (min-width: 768px) {
  .transaction-sidebar .transaction-links li a {
    padding: 6px 10px 6px 30px;
    margin: 26px 0;
  }
}
.transaction-sidebar .transaction-links li a:hover {
  color: #222;
}
.transaction-sidebar .transaction-links li a i {
  color: #222;
  font-size: 20px;
  margin-right: 20px;
}

.transaction-table-box th, .transaction-table-box td {
  padding: 10px 0;
}
.transaction-table-box th {
  border-bottom: none;
  font-size: 14px;
}
.transaction-table-box tr:last-child td {
  border-bottom: none;
}

.line {
  width: 50%;
  height: 1px;
  background: #c3c1c1;
}

.word {
  color: #c3c1c1;
}

.social-button {
  width: 50px;
  height: 50px;
  border-radius: 50%;
  background-color: #dc2626;
  display: flex;
  align-items: center;
  justify-content: center;
  text-decoration: none;
  color: white;
  font-size: 1.5rem;
  border: none;
}

/**
 * 面包屑内筛选按钮样式
 * 统一产品、分类、品牌页面的手机版筛选按钮样式
 */
.breadcrumb-filter-btn .btn {
  padding: 0.375rem 0.75rem;
  border: 1px solid #007bff;
  font-size: 0.875rem;
  font-weight: 500;
  color: #007bff;
  background-color: transparent;
  border-radius: 0.375rem;
  transition: all 0.15s ease-in-out;
  white-space: nowrap;
}
.breadcrumb-filter-btn .btn:hover, .breadcrumb-filter-btn .btn:focus {
  color: #fff;
  background-color: #007bff;
  border-color: #007bff;
  box-shadow: 0 0 0 0.2rem rgba(0, 123, 255, 0.25);
}
.breadcrumb-filter-btn .btn:active {
  color: #fff;
  background-color: #0056b3;
  border-color: #004085;
}
.breadcrumb-filter-btn .btn i {
  font-size: 0.875rem;
}
.breadcrumb-filter-btn .btn .filter-text {
  font-size: 0.875rem;
}
@media (max-width: 575.98px) {
  .breadcrumb-filter-btn .btn {
    padding: 0.25rem 0.5rem;
    font-size: 0.8125rem;
  }
  .breadcrumb-filter-btn .btn i {
    font-size: 0.8125rem;
  }
  .breadcrumb-filter-btn .btn .filter-text {
    font-size: 0.8125rem;
  }
}

.breadcrumb-wrap .container {
  padding-top: 1rem;
  padding-bottom: 1rem;
}
.breadcrumb-wrap .container.d-flex {
  justify-content: space-between;
  flex-wrap: wrap;
  gap: 0.75rem;
  align-items: center;
}
@media (max-width: 767.98px) {
  .breadcrumb-wrap .container.d-flex {
    gap: 0.5rem;
    flex-wrap: wrap;
    justify-content: space-between;
  }
}
.breadcrumb-wrap .container .breadcrumb {
  flex-wrap: wrap;
  margin-bottom: 0;
  flex: 1;
}
@media (max-width: 767.98px) {
  .breadcrumb-wrap .container .breadcrumb {
    margin-right: 0;
    flex: 1;
    min-width: 0;
  }
}
.breadcrumb-wrap .container .breadcrumb li a, .breadcrumb-wrap .container .breadcrumb li span {
  word-break: break-word;
  -webkit-hyphens: auto;
          hyphens: auto;
}
@media (max-width: 575.98px) {
  .breadcrumb-wrap .container .breadcrumb li:not(:last-child)::after {
    margin: 0 5px;
  }
}

/* 筛选侧边栏样式 */
.filter-sidebar {
  /* 分类菜单优化样式 */
  /* 手风琴项目边框移除 */
  /* 双滑块价格区间样式 */
  /* 价格输入区域样式 */
  /* 筛选项样式 */
  /* 卡片样式优化 */
  /* 清除筛选按钮样式 */
  /* 响应式样式 */
}
.filter-sidebar .category-item {
  transition: background-color 0.2s ease;
  border-bottom: 1px solid #f8f9fa;
}
.filter-sidebar .category-item:hover {
  background-color: #f8f9fa;
}
.filter-sidebar .category-link {
  font-size: 14px;
  transition: color 0.2s ease;
}
.filter-sidebar .category-link:hover {
  color: #dc2626 !important;
}
.filter-sidebar .category-link.active {
  color: #dc2626 !important;
  font-weight: 600;
  border-radius: 4px;
}
.filter-sidebar .category-link i {
  font-size: 12px;
}
.filter-sidebar .category-toggle {
  border: none;
  background: none;
  color: #6c757d;
  padding: 4px 8px;
  transition: all 0.2s ease;
}
.filter-sidebar .category-toggle:hover {
  background-color: #e9ecef;
  color: #dc2626;
}
.filter-sidebar .category-toggle i {
  font-size: 12px;
  transition: transform 0.2s ease;
}
.filter-sidebar .category-toggle:not(.collapsed) i {
  transform: rotate(180deg);
}
.filter-sidebar .subcategory-item {
  transition: background-color 0.2s ease;
  border-bottom: 1px solid #f8f9fa;
}
.filter-sidebar .subcategory-item:hover {
  background-color: #f8f9fa;
}
.filter-sidebar .subcategory-link {
  font-size: 13px;
  transition: color 0.2s ease;
}
.filter-sidebar .subcategory-link:hover {
  color: #dc2626 !important;
}
.filter-sidebar .subcategory-link.active {
  color: #dc2626 !important;
  font-weight: 600;
  border-radius: 4px;
}
.filter-sidebar .subcategory-link i {
  font-size: 10px;
}
.filter-sidebar .subcategory-toggle {
  border: none;
  background: none;
  color: #6c757d;
  padding: 2px 6px;
  transition: all 0.2s ease;
}
.filter-sidebar .subcategory-toggle:hover {
  background-color: #e9ecef;
  color: #dc2626;
}
.filter-sidebar .subcategory-toggle i {
  font-size: 10px;
  transition: transform 0.2s ease;
}
.filter-sidebar .subcategory-toggle:not(.collapsed) i {
  transform: rotate(180deg);
}
.filter-sidebar .subsubcategory-item {
  transition: background-color 0.2s ease;
}
.filter-sidebar .subsubcategory-item:hover {
  background-color: #f8f9fa;
}
.filter-sidebar .subsubcategory-link {
  font-size: 12px;
  transition: color 0.2s ease;
}
.filter-sidebar .subsubcategory-link:hover {
  color: #dc2626 !important;
}
.filter-sidebar .subsubcategory-link.active {
  color: #dc2626 !important;
  font-weight: 600;
  background-color: rgba(220, 38, 38, 0.1);
  border-radius: 4px;
}
.filter-sidebar .subsubcategory-link i {
  font-size: 8px;
}
.filter-sidebar .accordion-item {
  border: none !important;
}
.filter-sidebar .accordion-item:last-child {
  border-bottom: none !important;
}
.filter-sidebar .dual-range-slider {
  position: relative;
  height: 40px;
  margin: 20px 0;
}
.filter-sidebar .dual-range-slider .slider-track {
  position: absolute;
  top: 50%;
  left: 0;
  right: 0;
  height: 6px;
  background: #e9ecef;
  border-radius: 3px;
  transform: translateY(-50%);
}
.filter-sidebar .dual-range-slider .slider-range {
  position: absolute;
  top: 50%;
  height: 6px;
  background: #dc2626;
  border-radius: 3px;
  transform: translateY(-50%);
  left: 0%;
  right: 0%;
}
.filter-sidebar .dual-range-slider .slider-thumb {
  position: absolute;
  top: 50%;
  width: 20px;
  height: 20px;
  background: #dc2626;
  border: 3px solid #fff;
  border-radius: 50%;
  cursor: pointer;
  transform: translate(-50%, -50%);
  box-shadow: 0 2px 6px rgba(0, 0, 0, 0.15);
  transition: all 0.2s ease;
  z-index: 2;
}
.filter-sidebar .dual-range-slider .slider-thumb:hover {
  transform: translate(-50%, -50%) scale(1.1);
  box-shadow: 0 4px 12px rgba(0, 0, 0, 0.25);
}
.filter-sidebar .dual-range-slider .slider-thumb:active {
  transform: translate(-50%, -50%) scale(1.2);
}
.filter-sidebar .dual-range-slider .slider-thumb.slider-thumb-min {
  left: 0%;
}
.filter-sidebar .dual-range-slider .slider-thumb.slider-thumb-max {
  left: 100%;
}
.filter-sidebar .price-inputs-container {
  order: -1; /* 将价格输入区域移到滑块上方 */
}
.filter-sidebar .form-check {
  margin-bottom: 0.5rem;
}
.filter-sidebar .form-check .form-check-input:checked {
  background-color: #dc2626;
  border-color: #dc2626;
}
.filter-sidebar .form-check .form-check-input:focus {
  border-color: rgba(220, 38, 38, 0.5);
  outline: 0;
  box-shadow: 0 0 0 0.25rem rgba(220, 38, 38, 0.25);
}
.filter-sidebar .form-check .form-check-label {
  font-size: 14px;
  color: #495057;
  cursor: pointer;
}
.filter-sidebar .form-check .form-check-label:hover {
  color: #dc2626;
}
.filter-sidebar .card {
  border-radius: 8px;
  overflow: hidden;
}
.filter-sidebar .card .card-header {
  border-bottom: 1px solid #e9ecef;
  padding: 1rem;
}
.filter-sidebar .card .card-header h6 {
  font-size: 16px;
  margin-bottom: 0;
}
.filter-sidebar .card .card-body {
  padding: 1rem;
}
.filter-sidebar .clear-filters-btn {
  background-color: #6c757d;
  border-color: #6c757d;
  color: #fff;
  font-size: 14px;
  padding: 0.5rem 1rem;
  border-radius: 4px;
  transition: all 0.2s ease;
}
.filter-sidebar .clear-filters-btn:hover {
  background-color: #5a6268;
  border-color: #545b62;
}
.filter-sidebar .clear-filters-btn:focus {
  box-shadow: 0 0 0 0.2rem rgba(108, 117, 125, 0.5);
}
@media (max-width: 767.98px) {
  .filter-sidebar {
    position: fixed;
    top: 0;
    right: 0;
    width: 300px;
    height: 100vh;
    background: #fff;
    z-index: 1050;
    transform: translateX(100%);
    transition: transform 0.3s ease;
    overflow-y: auto;
    box-shadow: -2px 0 10px rgba(0, 0, 0, 0.1);
    padding: 1rem;
  }
  .filter-sidebar.show {
    transform: translateX(0);
  }
}

/* 遮罩层样式 */
#overlay {
  position: fixed;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background: rgba(0, 0, 0, 0.5);
  z-index: 1040;
  display: none;
}

/* 筛选切换按钮样式 */
#toggleFilterSidebar {
  background-color: #dc2626;
  border-color: #dc2626;
  color: #fff;
  padding: 0.5rem 1rem;
  border-radius: 4px;
  font-size: 14px;
  transition: all 0.2s ease;
}
#toggleFilterSidebar:hover {
  background-color: rgb(178.25, 28.75, 28.75);
  border-color: rgb(156.2916666667, 25.2083333333, 25.2083333333);
}
#toggleFilterSidebar:focus {
  box-shadow: 0 0 0 0.2rem rgba(220, 38, 38, 0.5);
}
#toggleFilterSidebar i {
  margin-right: 0.5rem;
}
@media (min-width: 768px) {
  #toggleFilterSidebar {
    display: none;
  }
}

@media (min-width: 992px) {
  body.page-news .newest-box {
    padding-right: 50px;
  }
}
body.page-news .newest-box .newest-item {
  background-color: #fff;
  margin-bottom: 20px;
  display: flex;
  border-bottom: 1px solid #eee;
  padding-bottom: 20px;
}
body.page-news .newest-box .newest-item .item-img {
  width: 150px;
  flex: 0 0 150px;
  margin-right: 20px;
}
@media (max-width: 768px) {
  body.page-news .newest-box .newest-item .item-img {
    width: 90px;
    flex: 0 0 90px;
    margin-right: 10px;
  }
}
body.page-news .newest-box .newest-item .item-title {
  font-size: 20px;
  font-weight: 700;
  margin-bottom: 10px;
}
body.page-news .newest-box .newest-item .item-title a {
  color: #222;
}
body.page-news .newest-box .newest-item .item-title a:hover {
  color: #dc2626;
}
@media (max-width: 768px) {
  body.page-news .newest-box .newest-item .item-title {
    font-size: 16px;
    margin-bottom: 6px;
  }
}
body.page-news .newest-box .newest-item .item-summary {
  color: #666;
  line-height: 1.7;
  margin-bottom: 10px;
}
@media (min-width: 768px) {
  body.page-news .newest-box .newest-item .item-summary {
    font-size: 15px;
  }
}

.newes-tags {
  display: flex;
  align-items: flex-start;
  margin-bottom: 10px;
}
@media (max-width: 768px) {
  .newes-tags {
    align-items: flex-start;
  }
}
.newes-tags i {
  color: #666;
  margin-top: 2px;
  flex-shrink: 0;
}
.newes-tags > div {
  gap: 6px;
  flex-wrap: wrap;
}
@media (max-width: 768px) {
  .newes-tags > div {
    gap: 4px;
  }
}
.newes-tags a {
  color: #444;
  margin-right: 10px;
  margin-bottom: 6px;
  display: inline-block;
  padding: 1px 4px;
  border: 1px solid #cad8ff;
  border-radius: 4px;
  font-size: 12px;
  transition: all 0.3s;
  background-color: #e5f0fe;
}
@media (max-width: 768px) {
  .newes-tags a {
    margin-right: 6px;
    margin-bottom: 4px;
    font-size: 11px;
    padding: 2px 6px;
  }
}
.newes-tags a:hover {
  color: #fff;
  background-color: #dc2626;
  border-color: #dc2626;
}

.newes-sidebar .search-box {
  margin-bottom: 40px;
}
.newes-sidebar .sidebar-item {
  margin-bottom: 30px;
}
.newes-sidebar .sidebar-item:last-child {
  margin-bottom: 0;
}
.newes-sidebar .sidebar-title {
  font-size: 18px;
  font-weight: 700;
  margin-bottom: 6px;
}
.newes-sidebar .sidebar-list ul {
  padding-left: 0;
  list-style: none;
}
.newes-sidebar .sidebar-list ul a {
  color: #333;
  font-size: 16px;
  display: block;
  padding: 10px 0;
  border-bottom: 1px solid #eee;
  transition: all 0.3s;
}
.newes-sidebar .sidebar-list ul a:hover {
  color: #f00;
}

body.page-news-details .newest-box {
  border: 1px solid #eee;
  padding: 20px;
  border-radius: 6px;
}
@media (min-width: 992px) {
  body.page-news-details .newest-box {
    min-height: 500px;
  }
}
@media (max-width: 768px) {
  body.page-news-details .newest-box {
    padding: 10px;
    margin-bottom: 20px;
  }
}
body.page-news-details .newest-box .newes-title {
  font-size: 24px;
  font-weight: 700;
  margin-bottom: 20px;
}
@media (max-width: 768px) {
  body.page-news-details .newest-box .newes-title {
    font-size: 20px;
    margin-bottom: 10px;
  }
}
body.page-news-details .newest-box .newes-top {
  display: flex;
  color: #666;
  margin-bottom: 30px;
}
body.page-news-details .newest-box .newes-top > div {
  margin-right: 10px;
}
@media (min-width: 992px) {
  body.page-news-details .newest-box .newes-top > div {
    margin-right: 40px;
  }
}
body.page-news-details .newest-box .newes-top > div i {
  margin-right: 4px;
  color: #dc2626;
}

.product-options-box {
  margin: 20px 0;
}
.product-options-box .options-title {
  font-size: 16px;
  font-weight: 600;
  margin-bottom: 15px;
  color: #333;
}
.product-options-box .product-option-group {
  margin-bottom: 20px;
}
.product-options-box .product-option-group.error .option-group-title {
  color: #dc3545;
}
.product-options-box .product-option-group.error .option-values {
  border: 1px solid #dc3545;
  border-radius: 4px;
  padding: 10px;
}
.product-options-box .product-option-group .option-group-title {
  font-size: 14px;
  font-weight: 500;
  margin-bottom: 10px;
  color: #555;
}
.product-options-box .product-option-group .option-group-title .text-danger {
  margin-left: 2px;
}
.product-options-box .product-option-group .option-values {
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
}
.product-options-box .product-option-group .option-value-item {
  display: flex;
  align-items: center;
  padding: 8px 12px;
  border: 1px solid #dee2e6;
  border-radius: 6px;
  background: #fff;
  cursor: pointer;
  transition: all 0.2s ease;
  min-height: 40px;
  position: relative;
}
.product-options-box .product-option-group .option-value-item:hover {
  border-color: #0d6efd;
  box-shadow: 0 2px 4px rgba(13, 110, 253, 0.15);
}
.product-options-box .product-option-group .option-value-item.selected {
  border-color: #0d6efd;
  background: #e7f1ff;
  color: #0d6efd;
}
.product-options-box .product-option-group .option-value-item.selected .option-checkbox {
  opacity: 1;
}
.product-options-box .product-option-group .option-value-item .option-image-container {
  width: 30px;
  height: 30px;
  border-radius: 4px;
  overflow: hidden;
  margin-right: 8px;
  flex-shrink: 0;
}
.product-options-box .product-option-group .option-value-item .option-image-container .option-value-image {
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
}
.product-options-box .product-option-group .option-value-item .option-content {
  flex: 1;
  display: flex;
  flex-direction: column;
}
.product-options-box .product-option-group .option-value-item .option-content .option-text {
  font-size: 14px;
  line-height: 1.2;
  margin-bottom: 2px;
}
.product-options-box .product-option-group .option-value-item .option-content .option-price-adjustment {
  font-size: 12px;
  color: #28a745;
  font-weight: 500;
}
.product-options-box .product-option-group .option-value-item .option-content .option-price-adjustment:before {
  content: "(";
}
.product-options-box .product-option-group .option-value-item .option-content .option-price-adjustment:after {
  content: ")";
}
.product-options-box .product-option-group .option-value-item .option-checkbox {
  position: absolute;
  top: 4px;
  right: 4px;
  width: 16px;
  height: 16px;
  opacity: 0;
  transition: opacity 0.2s ease;
  pointer-events: none;
}

@media (max-width: 768px) {
  .product-options-box .option-values {
    gap: 8px;
  }
  .product-options-box .option-value-item {
    padding: 6px 10px;
    min-height: 36px;
  }
  .product-options-box .option-value-item .option-content .option-text {
    font-size: 13px;
  }
  .product-options-box .option-value-item .option-content .option-price-adjustment {
    font-size: 11px;
  }
  .product-options-box .option-value-item .option-image-container {
    width: 24px;
    height: 24px;
    margin-right: 6px;
  }
}
@media (prefers-color-scheme: dark) {
  .product-options-box .options-title {
    color: #f8f9fa;
  }
  .product-options-box .option-group-title {
    color: #dee2e6;
  }
  .product-options-box .option-value-item {
    background: #343a40;
    border-color: #495057;
    color: #f8f9fa;
  }
  .product-options-box .option-value-item:hover {
    border-color: #0d6efd;
    background: #495057;
  }
  .product-options-box .option-value-item.selected {
    background: #1e3a5f;
    border-color: #0d6efd;
    color: #79c0ff;
  }
}
@font-face {
  font-family: "Jost";
  src: url("/vendor/font/jost/Jost-Regular.ttf") format("truetype");
  font-style: normal;
  font-weight: 500;
  font-weight: normal;
  font-display: swap;
}
@font-face {
  font-family: "Jost";
  src: url("/vendor/font/jost/Jost-Medium.ttf") format("truetype");
  font-style: normal;
  font-display: swap;
  font-weight: 700;
}
@font-face {
  font-family: "iconfont";
  src: url("/vendor/iconfont/iconfont.woff?t=da7sdjkashd789das") format("woff"), url("/vendor/iconfont/iconfont.ttf?t=da7sdjkashd789das") format("truetype"), url("/vendor/iconfont/iconfont.svg#iconfont") format("svg");
}
.iconfont {
  font-family: "iconfont";
  font-size: 1rem;
  font-style: normal;
  -webkit-font-smoothing: antialiased;
  -webkit-text-stroke-width: 0.2px;
  -moz-osx-font-smoothing: grayscale;
}
