/* =========================== */
/* CUSTOM THEME VARIABLES */
/* =========================== */
:root {
  --color-dark: #403D3B;
  --color-light: #EFEBE4;
  --color-white: #FFFFFF;
  --color-primary: #FF914D;
  --color-primary-hover: #ff7a26;
  --color-secondary: #8B8B8B;
  --color-success: #28a745;
  --color-danger: #dc3545;
  --color-light-gray: #C3BEB8;
  --color-lighter: #F4F1EC;
  --color-border: #DAD5CF;
  
  --border-radius: 4px;
  --border-radius-rounded: 8px;
  --border-radius-pill: 25px;
  
  --box-shadow: 0 2px 8px rgba(0, 0, 0, 0.05);
  --transition: all 0.3s ease;
}

/* =========================== */
/* GENERAL TEXT STYLING */
/* =========================== */
body, p, label, .h1, .h2, .h3, .h4, .h5, .h6, h1, h2, h3, h4, h5, h6,
.card-title, .product-title {
  color: var(--color-dark) !important;
}

/* =========================== */
/* LINKS & BUTTONS */
/* =========================== */
.btn-link, .page-link, .forgot-password a, .no-account a {
  color: var(--color-primary) !important;
}

.btn-link:hover, .page-link:hover, .forgot-password a:hover, .no-account a:hover {
  color: var(--color-primary-hover) !important;
}

/* Primary buttons */
.btn-primary, .btn-default, #submit-login.btn.btn-primary, 
.btn-primary.add-to-cart, .block_newsletter .btn {
  background-color: var(--color-primary) !important;
  color: var(--color-white) !important;
  border: none !important;
  border-radius: var(--border-radius-pill) !important;
  padding: 0.75rem 2rem !important;
  text-transform: none !important;
  font-weight: 500 !important;
}

.btn-primary:hover, .btn-default:hover, #submit-login.btn.btn-primary:hover,
.btn-primary.add-to-cart:hover, .block_newsletter .btn:hover {
  background-color: var(--color-primary-hover) !important;
  border-color: var(--color-primary-hover) !important;
}

/* Secondary buttons */
.btn-secondary, .btn-tertiary {
  background-color: var(--color-secondary) !important;
  color: var(--color-white) !important;
  border-radius: var(--border-radius-pill) !important;
}

/* =========================== */
/* HEADER STYLING */
/* =========================== */
#header .header-nav {
  background-color: var(--color-dark) !important;
  margin-bottom: 0 !important;
  border: none !important;
}

#header .header-top {
  background-color: var(--color-dark) !important;
  padding-top: 0 !important;
  margin-top: 0 !important;
  border-top: none !important;
}

#header .header-top > .container {
  display: flex !important;
  align-items: center !important;
  justify-content: space-between !important;
}

/* Language, Currency, Login UI */
.language-selector, .currency-selector,
#_desktop_language_selector, #_desktop_currency_selector,
.dropdown-menu {
  background-color: var(--color-dark) !important;
}

.language-selector span, .currency-selector span,
.dropdown-menu a, .dropdown-menu button,
.language-selector-wrapper span {
  color: var(--color-primary) !important;
  background-color: var(--color-dark) !important;
}

.language-selector span, .currency-selector span,
.dropdown-menu a, .dropdown-menu button,
.language-selector-wrapper span {
  color: var(--color-primary) !important;
  background-color: var(--color-dark) !important;
}

#content-wrapper .dropdown-menu a,#content-wrapper .dropdown-menu button{
  color: var(--color-dark) !important;
  background-color: var(--color-light) !important;
}

/* Dark background elements (header) */
.header-top, .header-top a, .header-top span,
#header .header-nav .links a, #header .header-nav .links span {
  color: var(--color-light) !important;
  background-color: var(--color-dark) !important;
}

.header-top a:hover, #header .header-nav .links a:hover {
  color: var(--color-primary-hover) !important;
}

/* Contact link styling */
#contact-link a, #contact-link {
  color: var(--color-primary) !important;
}

#contact-link a:hover {
  color: var(--color-primary-hover) !important;
}

/* =========================== */
/* CART STYLING */
/* =========================== */
.cart-preview, .blockcart {
  background-color: transparent !important;
}

.blockcart a, .blockcart .cart-products-count {
  color: var(--color-primary) !important;
}

.blockcart:hover, .blockcart:hover a {
  color: var(--color-primary-hover) !important;
}

.blockcart .material-icons {
  font-size: 20px;
  vertical-align: middle;
}

/* =========================== */
/* NAVIGATION/MENU STYLING */
/* =========================== */
#_desktop_top_menu, #_desktop_top_menu .navbar,
#_desktop_top_menu .navbar-expand-md, .menu,
#top-menu, .top-menu, .sub-menu {
  background-color: var(--color-dark) !important;
}

.top-menu[data-depth="0"] > li > a, #top-menu > li > a {
  color: var(--color-light) !important;
  font-weight: 500;
}

.top-menu[data-depth="0"] > li > a:hover, #top-menu > li > a:hover {
  color: var(--color-primary-hover) !important;
}

/* =========================== */
/* SEARCH & FORM INPUTS */
/* =========================== */
#search_widget form input[type="text"], .form-control,
.custom-select, .input-group .input-group-addon {
  background-color: var(--color-white) !important;
  border: 1px solid var(--color-border) !important;
  color: var(--color-dark) !important;
  border-radius: var(--border-radius) !important;
}

#search_widget form button[type="submit"] i {
  color: var(--color-primary) !important;
}

#search_widget form input::placeholder {
  color: var(--color-light-gray) !important;
  font-style: italic !important;
}

/* =========================== */
/* WRAPPER & CONTENT STYLING */
/* =========================== */
#wrapper {
  background-color: var(--color-light) !important;
  padding: 1rem !important;
}

/* Content cards/sections */
.page-content.card, .block-categories {
  background-color: var(--color-lighter) !important;
  border: none !important;
  border-radius: var(--border-radius-rounded) !important;
  box-shadow: var(--box-shadow) !important;
  padding: 2rem !important;
  margin-bottom: 2rem !important;
}

/* Main content sections - remove duplicated styling */
.page-content.card, .login-form,
.register-form, .forgot-password-form, #content-wrapper .page-content,
#content-wrapper .left-column, #main .page-content, .cms-content,
.contact-form, .products-section-title, .product-container,
.featured-products, .new-products, .popular-products,
.product-accessories,
#content-wrapper .js-content-wrapper,
.block-category.card.card-block,
.card .card-block,
#subcategories {
  background-color: var(--color-lighter) !important;
  border: none !important;
  border-radius: none !important;
  box-shadow: none !important;
  padding: none !important;
  margin-bottom: nonte !important;
}

#content-wrapper {
  background-color: var(--color-lighter) !important;
  border: none !important;
  border-radius: var(--border-radius-rounded) !important;
  box-shadow: var(--box-shadow) !important;
  padding: 2rem !important;
  margin-bottom: 2rem !important;
}

/* =========================== */
/* BREADCRUMB STYLING */
/* =========================== */
.breadcrumb {
  background-color: transparent !important;
  color: var(--color-dark) !important;
  font-size: 0.95em;
}

.breadcrumb a {
  color: var(--color-primary) !important;
}

/* =========================== */
/* ICONS STYLING */
/* =========================== */
.material-icons, [class*="icon-"] {
  color: var(--color-primary) !important;
}

/* Cart and account icon overrides */
#_desktop_user_info a, #_desktop_cart a {
  color: var(--color-primary) !important;
}

/* Add to cart button icon */
.btn-primary.add-to-cart {
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  gap: 0.5rem !important;
}

.btn-primary.add-to-cart .material-icons {
  font-size: 20px !important;
  color: var(--color-light) !important;
}

/* =========================== */
/* NEWSLETTER STYLING */
/* =========================== */
.block_newsletter {
  background-color: var(--color-dark) !important;
  color: var(--color-light) !important;
  padding: 2rem !important;
  border-radius: var(--border-radius-rounded) !important;
  margin-top: 2rem !important;
}

.block_newsletter h3, .block_newsletter p,
.block_newsletter label, .block_newsletter span {
  color: var(--color-light) !important;
}

.block_newsletter input[type="email"] {
  background-color: var(--color-white) !important;
  color: var(--color-dark) !important;
  border: none !important;
  border-radius: var(--border-radius) !important;
}

.block_newsletter input[type="email"]::placeholder {
  color: var(--color-secondary) !important;
  font-style: italic !important;
}

.block_newsletter .btn.ok {
  border-radius: var(--border-radius) !important;
  padding: 0.5rem 1rem !important;
}

/* =========================== */
/* TABLE STYLING */
/* =========================== */
.table {
  background-color: var(--color-white) !important;
}

.table th {
  background-color: var(--color-lighter) !important;
  color: var(--color-dark) !important;
}

/* =========================== */
/* ALERT STYLING */
/* =========================== */
.alert {
  border-radius: var(--border-radius-rounded) !important;
}

.alert-info, .alert-warning {
  background-color: var(--color-primary) !important;
  color: var(--color-white) !important;
  border: none !important;
}

.alert-success {
  background-color: var(--color-success) !important;
  color: var(--color-white) !important;
  border: none !important;
}

.alert-danger {
  background-color: var(--color-danger) !important;
  color: var(--color-white) !important;
  border: none !important;
}

/* =========================== */
/* PRODUCT STYLING */
/* =========================== */
#custom-text {
  background-color: var(--color-primary) !important;
  color: var(--color-white) !important;
  font-weight: 500 !important;
  border: none !important;
  border-radius: var(--border-radius) !important;
  box-shadow: var(--box-shadow) !important;
  padding: 2rem !important;
  margin-bottom: 2rem !important;
}

#custom-text p, #custom-text h1, #custom-text h2, 
#custom-text h3, #custom-text h4, #custom-text h5, 
#custom-text h6, #custom-text span {
  background-color: var(--color-primary) !important;
  color: var(--color-white) !important;
}

.discount-percentage, .product-flag.discount {
  background-color: var(--color-primary) !important;
  color: var(--color-dark) !important;
}

/* =========================== */
/* FORM FOOTER STYLING */
/* =========================== */
.form-footer.clearfix, footer.form-footer.text-sm-center.clearfix {
  background-color: transparent !important;
  text-align: center !important;
}

.form-footer .continue.btn.btn-primary {
  float: none !important;
  display: inline-block !important;
  margin: 0 auto !important;
}

/* =========================== */
/* LOGO STYLING */
/* =========================== */
#_desktop_logo {
  padding: 1rem !important;
  position: relative !important;
  display: flex !important;
  justify-content: center !important;
  align-items: center !important;
}

#_desktop_logo img {
  border-radius: 50% !important;
  max-width: 100px !important;
  height: auto !important;
  transition: var(--transition) !important;
  box-shadow: 0 0 15px rgba(64, 61, 59, 0.1), 0 0 20px rgba(255, 77, 77, 0.15) !important;
  background: var(--color-white) !important;
  position: relative !important;
}

#_desktop_logo img:hover {
  box-shadow: 0 0 20px rgba(64, 61, 59, 0.1), 0 0 25px rgba(255, 145, 77, 0.62) !important;
  transform: scale(1.05) !important;
}

/* =========================== */
/* MOBILE VIEW STYLING */
/* =========================== */
#mobile_top_menu_wrapper, #mobile_top_menu_wrapper .top-menu,
#mobile_top_menu_wrapper .js-sub-menu, #mobile_top_menu_wrapper .js-top-menu-bottom,
#mobile_top_menu_wrapper .js-top-menu-bottom .language-selector-wrapper,
#mobile_top_menu_wrapper .js-top-menu-bottom .currency-selector {
  background-color: var(--color-dark) !important;
}

#mobile_top_menu_wrapper {
  margin: 0 !important;
  padding: 1rem !important;
  width: 100% !important;
}

#mobile_top_menu_wrapper .top-menu {
  color: var(--color-light) !important;
}

#mobile_top_menu_wrapper .top-menu a {
  color: var(--color-light) !important;
}

#mobile_top_menu_wrapper .top-menu a:hover {
  color: var(--color-primary) !important;
}

#mobile_top_menu_wrapper .js-top-menu-bottom {
  padding: 1rem !important;
}

#mobile_top_menu_wrapper .js-top-menu-bottom select,
#mobile_top_menu_wrapper .js-top-menu-bottom button {
  background-color: var(--color-dark) !important;
  color: var(--color-light) !important;
  border: 1px solid var(--color-light) !important;
}

.mobile {
  background-color: var(--color-dark) !important;
}

#menu-icon .material-icons, .mobile #_mobile_cart .material-icons,
.mobile #_mobile_user_info .material-icons {
  color: var(--color-primary) !important;
}

.mobile #_mobile_cart, .mobile #_mobile_user_info {
  background-color: transparent !important;
}

.mobile .top-logo {
  padding: 0.5rem !important;
  background-color: var(--color-dark) !important;
}

.mobile .top-logo img {
  border-radius: 50% !important;
  max-width: 200px !important;
  height: auto !important;
  transition: var(--transition) !important;
  box-shadow: 0 0 15px rgba(64, 61, 59, 0.1), 0 0 20px rgba(255, 77, 77, 0.15) !important;
  background: var(--color-white) !important;
  position: relative !important;
}

.mobile .top-logo img:hover {
  box-shadow: 0 0 20px rgba(64, 61, 59, 0.1), 0 0 25px rgba(255, 145, 77, 0.62) !important;
  transform: scale(1.05) !important;
}

.mobile .dropdown-menu {
  background-color: var(--color-dark) !important;
}

.mobile .dropdown-menu a {
  color: var(--color-light) !important;
}

.mobile #search_widget {
  background-color: var(--color-light) !important;
  padding: 0.5rem !important;
}

.mobile .collapse-icons .material-icons {
  color: var(--color-light) !important;
}

/* =========================== */
/* SUBCATEGORY STYLING */
/* =========================== */
.subcategory-name, h5 a.subcategory-name {
  color: var(--color-primary) !important;
  text-decoration: none !important;
}

.subcategory-name:hover, h5 a.subcategory-name:hover {
  color: var(--color-primary-hover) !important;
}

.cat_desc, .cat_desc strong, #subcategories ul li {
  color: var(--color-dark) !important;
}

#subcategories ul li a {
  color: var(--color-primary) !important;
}

#subcategories ul li a:hover {
  color: var(--color-primary-hover) !important;
}

/* =========================== */
/* FOOTER STYLING */
/* =========================== */
footer, .footer-container, .block-contact {
  background-color: var(--color-dark) !important;
  color: var(--color-light) !important;
}

/* Override for page-footer class - usually used on checkout/account pages */
footer.page-footer {
  background-color: var(--color-lighter) !important;
}

footer.page-footer a {
  color: var(--color-primary) !important;
}

footer.page-footer a:hover {
  color: var(--color-primary-hover) !important;
}

.footer-container {
  padding: 2.5rem 0 !important;
}

footer .h3, footer span.h3, footer p.h3, 
#block_myaccount_infos .myaccount-title, #block_myaccount_infos .h3,
.footer-container .h3, .footer-container .h4, 
.footer-container .block-contact-title, .block-contact .h4, 
.block-contact .h3, .block-contact-title {
  color: var(--color-light) !important;
}

footer a, .footer-container li a, .footer-container .cms-page-link, 
.footer-container a, .block-contact a {
  color: var(--color-primary) !important;
}

footer a:hover, .footer-container li a:hover, 
.footer-container .cms-page-link:hover, .footer-container a:hover, 
.block-contact a:hover {
  color: var(--color-light) !important;
}

#block_myaccount_infos .myaccount-title a, #block_myaccount_infos .h3 a {
  color: var(--color-light) !important;
}

#block_myaccount_infos .myaccount-title a:hover, #block_myaccount_infos .h3 a:hover {
  color: var(--color-primary-hover) !important;
}

footer .navbar-toggler .material-icons, .block-contact .navbar-toggler .material-icons {
  color: var(--color-light) !important;
}

.block-contact .navbar-toggler .material-icons {
  font-size: 20px !important;
}

.block-contact .title {
  border-bottom: 1px solid rgba(239, 235, 228, 0.1) !important;
  padding-bottom: 1rem !important;
  margin-bottom: 1rem !important;
}

#contact-infos {
  line-height: 1.8 !important;
}

@media (max-width: 575px) {
  .block-contact .title {
    cursor: pointer !important;
  }
  
  .block-contact .collapse-icons {
    padding: 0.5rem !important;
  }
}

/* =========================== */
/* CAROUSEL VIDEO STYLING */
/* =========================== */
.carousel-video-wrapper {
  position: relative !important;
  width: 100% !important;
  height: 100% !important;
  overflow: hidden !important;
}

.carousel-video-wrapper video {
  width: 100% !important;
  height: auto !important;
  object-fit: cover !important;
  display: block !important;
}

/* =========================== */
/* PRODUCT THUMBNAILS STYLING */
/* =========================== */
.product-images .thumb-container {
  border-color: var(--color-primary) !important;
}

.product-images .thumb-container .js-thumb {
  border-color: var(--color-primary) !important;
}

.product-images .thumb-container .js-thumb.selected {
  border-color: var(--color-primary) !important;
  outline-color: var(--color-primary) !important;
}

.product-images .thumb-container .js-thumb:hover,
.subcategory-image a.img:hover {
  border-color: var(--color-primary-hover) !important;
}

#subcategories ul li:hover .subcategory-image a {
  border-color: var(--color-primary-hover) !important;
}

/* =========================== */
/* PRODUCT TABS STYLING */
/* =========================== */
.tabs {
  background-color: var(--color-lighter) !important;
}

.tabs .nav-tabs .nav-item .nav-link {
  color: var(--color-primary) !important;
  font-weight: 500 !important;
  background-color: transparent !important;
}

.tabs .nav-tabs .nav-item .nav-link.active {
  color: var(--color-primary) !important;
  border-bottom-color: var(--color-primary) !important;
}

.tabs .nav-tabs .nav-item .nav-link:hover {
  color: var(--color-primary-hover) !important;
  border-bottom-color: var(--color-primary-hover) !important;
}

.custom-radio input[type="radio"]:checked+span {
  background-color: var(--color-primary) !important;
}

.form-control:focus {
  outline: 0.1875rem solid var(--color-primary) !important;
}

.input-group.focus {
  outline: 0.1875rem solid var(--color-primary) !important;
}

.cart-grid-body, .col-xs-12.col-lg-8{
  background-color: var(--color-lighter) !important;
}

.cart-grid-body .cart-grid-body-item {
  background-color: var(--color-lighter) !important;
}

.product-miniature .highlighted-informations .quick-view:hover {
  color: var(--color-primary-hover) !important;
}