/* ColorFlex defaults and Bootstrap bridge */
:root {
  --cf-primary: #a1045a;
  --cf-primary-rgb: 161, 4, 90;
  --cf-primary-hover: #820348;
  --cf-primary-soft: #f3e6ed;
  --cf-on-primary: #ffffff;

  --cf-secondary: #222222;
  --cf-secondary-rgb: 34, 34, 34;
  --cf-secondary-hover: #303030;
  --cf-on-secondary: #ffffff;

  --cf-accent: #f45511;
  --cf-accent-rgb: 244, 85, 17;
  --cf-on-accent: #ffffff;

  --cf-focus-ring: rgba(var(--cf-primary-rgb), .28);

  --bs-primary: var(--cf-primary);
  --bs-primary-rgb: var(--cf-primary-rgb);
  --bs-secondary: var(--cf-secondary);
  --bs-secondary-rgb: var(--cf-secondary-rgb);
  --bs-link-color: var(--cf-primary);
  --bs-link-hover-color: var(--cf-primary-hover);
  --bs-focus-ring-color: var(--cf-focus-ring);
}

/* Header Background */
#header {
    background-color: var(--cf-primary);
}

/* Top Menu */
#menu {
    background-color: var(--cf-secondary);
}

/* Footer Styling */
#footer {
    background-color: var(--cf-secondary);
    color: #fff;
}
#footer a {
    color: #e0f7ea;
}

/* Price and Sale */
.price, .price-new {
    color: var(--cf-accent);
    font-weight: bold;
}

/* Link Colors */
a {
    color: var(--cf-primary);
}
a:hover {
    color: var(--cf-secondary);
}

/* Background Sections */
.section-bg {
    background-color: var(--cf-primary-soft);
    padding: 20px;
}

/* Custom Badges */
.badge-green {
    background-color: var(--cf-accent);
    color: #fff;
    padding: 5px 10px;
    border-radius: 4px;
}

body {
    color: var(--cf-secondary);
    font-size: 14px;
    /*font-family: 'Quicksand', sans-serif;*/
}
a {
  color: var(--cf-primary);
}
hr {
    color: var(--cf-primary);
}
input:focus {
    color: var(--cf-secondary);
}
.alert-info {
    background-color: var(--cf-primary);
    border-color: var(--cf-secondary);
    color: #fff;
}
.btn-light {
  color: #fff;
  text-shadow: 0 1px 0 rgba(255, 255, 255, 0.5);
  /*--bs-btn-bg: var(--pb-btn-bg);*/
  background-image: linear-gradient(to bottom, var(--cf-primary), var(--cf-primary));
  background-repeat: repeat-x;
  border-color: #dddddd #dddddd #b3b3b3 #b7b7b7;
  border-radius: 10px;
}
#checkout-cart .btn-light {
	color: #fff;
}
.btn-light:hover, .btn-light:focus, .btn-light:active, .btn-light.active, .btn-light.disabled, .btn-light[disabled] {
  color: #fff;
  background-color: var(--cf-secondary);
  background-image: linear-gradient(to bottom, var(--cf-secondary), var(--cf-secondary));
  border-color: #adadad;
  background-position: 0;
  border-radius: 10px;
}
.btn-primary {
    color: #ffffff;
    text-shadow: 0 -1px 0 rgba(0, 0, 0, 0.25);
    background-image: linear-gradient(to bottom, var(--cf-secondary), #333);
    background-repeat: repeat-x;
    border-color: var(--cf-primary) var(--cf-primary) var(--cf-primary);
    border-radius: 10px;
}
.btn-primary:hover {
    color: #ffffff;
    text-shadow: 0 -1px 0 rgba(0, 0, 0, 0.25);
    background-image: linear-gradient(to bottom, var(--cf-primary), var(--cf-primary));
    background-repeat: repeat-x;
    border-color: var(--cf-primary) var(--cf-primary) var(--cf-primary);
}
#content h3 {
	color: #fff;
    border-radius: 10px;
    margin: 0 0 15px 0;
    padding: 10px 10px;
    border-bottom: 1px solid #ddd;
	box-shadow: 0 0 1px rgba(0, 0, 0, 0.2);
    background-color: var(--cf-secondary);
}
.img-thumbnail {
    border-radius: 10px;
}
.carousel {
    border-radius: 10px;
}
h1 {
    font-size: 28px;
}
legend {
    font-size: 18px;
    margin-bottom: 20px;
    border-bottom: 1px solid #e5e5e5;
    background: var(--cf-primary);
    border-radius: 10px;
    padding: 7px 10px 7px 20px;
    color: #fff;
}
   
#top {
    background-color: transparent;
    border-bottom: 0;
    padding: 10px 0 5px;
    margin: 5px 0;
    min-height: 43px;
    position: relative;
}
#top ul.list-inline {
	margin-bottom: 10px;
}
#top .nav > .list-inline > .list-inline-item, #top .nav > .list-inline .list-inline-item > a, #top .nav > .list-inline .list-inline-item .dropdown > a {
    color: var(--cf-secondary);
    /*text-shadow: 0 1px 0 #FFF;*/
    font-size: 14px;
}
#top .nav > .list-inline .list-inline-item > a:hover, #top .nav > .list-inline .list-inline-item .dropdown > a:hover {
    color: var(--cf-primary);
}
#top .nav > .list-inline > .list-inline-item:not(:first-child) {
    border-left: 1px dashed var(--cf-primary);
    padding-left: 0.5rem;
}
#top .fa-headphones:before, #top .fa-user:before, #top .fa-heart:before, #top .fa-shopping-cart:before, #top .fa-share:before {
    color: var(--cf-primary);
}
#top .fa-headphones:before:hover, #top .fa-user:before:hover, #top .fa-heart:hover, #top .fa-shopping-cart:hover, #top .fa-share:hover {
    color: var(--cf-primary);
}
#top ul.dropdown-menu.show {
	background-color: #000000;
	border-radius: 10px;
	padding-left: 10px;
	padding-right: 10px;
}
#top .dropdown-menu li:nth-last-child(1) .dropdown-item {
    color: #fff;
    border: none;
}
#top .dropdown-menu li .dropdown-item {
    color: #fff;
    border-bottom: 1px dashed #fff;
}
#top .dropdown-menu li .dropdown-item:hover {
    color: #fff;
    background-color: var(--cf-primary);
}
/*.fa-headphones:before, .fa-user:before, .fa-heart:before, .fa-shopping-cart:before, .fa-share:before {
    min-width: 25px;
    min-height: 25px;
    padding: 5px;
    border: 1px solid var(--cf-secondary);
    border-radius: 50%;
}*/
@media (min-width: 768px) {
    #logo {
        text-align: left;
		margin: 7px 0 7px 15px;
    }
}
#menu .dropdown-menu {
    background-color: var(--cf-primary);
    border-radius:10px;
    box-shadow: 0 0 10px rgba(0, 0, 0, 0.7);
}
#menu .dropdown-item {
    color: #fff;
    border: none;
}
#menu .dropdown-item:hover, #menu .dropdown-item:focus, #menu .dropdown-item:visited, #menu .dropdown-item:active{
    color: #fff;
    background-color: var(--cf-secondary);
}
#menu .dropdown-menu li:nth-last-child(1) .dropdown-item {
    color: #fff;
    border: none;
}

/*.alert-success { 
    background-color: #555;
    color: #fff;
}
.alert-success a {
    color: var(--cf-primary);
}
.alert-success a:hover {
    color: #fff;
    text-decoration: underline;
}
.alert-success .btn-close {
    background-color: #fff;
}*/
#header-box {
    background-color: var(--cf-primary);
    padding-top: 30px;
    padding-bottom: 10px;
    margin-left: 0px;
    margin-right: 0px;
    border-radius: 10px 10px 0 0;
	width: 100%;
}
@media screen and (max-width: 768px) {
    #logo {
        text-align: center;
    }
}
#search .form-control-lg {
    border: 0;
    border-radius: 50px 0 0 50px;
    font-size: 14px;
    line-height: 22px;
    background: #fff;
    color: var(--cf-secondary);
}
#search .form-control-lg:focus {
    box-shadow: 0 0 0 0px #fff, 0 0 0 0.25rem var(--cf-focus-ring);
}
#search .btn-lg {
    border: 0;
    background: #fff;
    font-size: 15px;
    /* color: var(--cf-secondary) !important; */
    line-height: 18px;
    padding: 0.57rem 20px;
    border-radius: 0 50px 50px 0;
}
#search .btn-lg:hover {
    color: #fff;
    background: var(--cf-secondary);
}
#header-cart .fa-cart-shopping {
    border: 2px solid #fff;
    border-radius: 50%;
    padding: 10px 9px;
}
#header-cart .btn-inverse {
    background-color: transparent;
    background-image: none;
    border: none;
}
#header-cart .btn-lg {
    color: #FFF;
    min-height: 40px;
	height: auto;
    padding: 0.2rem 0.5rem;
}
#header-cart .btn-lg:hover {
	background: #000;
}
@media screen and (max-width: 480px){
    #header-cart .dropdown-menu {
        background: #eee;
        width: 100%;
    }
}
#header-cart .dropdown-menu {
    font-size: 15px;
}
/*Categories menu style*/
#menu {
  background-color: var(--cf-secondary);
  background-image: none;
  background-image: linear-gradient(to bottom, var(--cf-secondary), var(--cf-secondary));
  background-repeat: repeat-x;
  border: 0;
  /*border: 10px solid var(--cf-accent);
  border-color: var(--cf-accent);*/
  min-height: 50px;
  border-radius: 0 0 10px 10px;
}
#menu.navbar {
    padding: 0 1rem;
    margin-bottom: 10px;
}
#menu li a {
    font-size: 14px;
}

#menu .navbar-nav > li:hover {
    /*background-color: rgba(0, 0, 0, 0.1);
    /* border: 1px solid var(--cf-primary); */
    border-bottom: 0; 
    border-radius: 10px;
    background-color: var(--cf-primary);
    box-shadow: 0 0 10px rgba(0, 0, 0, 0.3);
}
#menu .navbar-nav > li > a:hover {
  background-color: rgba(0, 0, 0, 0);
}
@media (min-width: 992px) {
    .navbar-expand-lg .navbar-nav .dropdown-menu {
        position: absolute;
        /*min-width: 12rem;*/
    }
}
#menu .dropdown-menu {
    border: 0;
}
/*#menu .dropdown-inner {
    display: table;
    min-width: 12rem;
    
}*/
#menu .dropdown-inner a {
    min-width: 160px;
    display: block;
    padding: 5px 20px;
    border-bottom: 1px dashed var(--cf-primary);
    clear: both;
    line-height: 20px;
    color: #ffffff;
    font-size: 14px;
    margin-right: 5px;
	margin-left: 5px;
}
#menu .dropdown-inner ul li a:hover {
    color: #ffffff;
    background-image: linear-gradient(to bottom, var(--cf-secondary), var(--cf-secondary));
    background-color: var(--cf-secondary);
}
/*#menu .dropdown-inner a {
    font-size: 13px;
}*/
/*#menu .dropdown-inner ul li a:hover {
    color: #ffffff;
    background-image: linear-gradient(to bottom, var(--cf-primary), var(--cf-primary));
    border-radius: 0;
}*/

#menu .see-all {
    color: #efefef;
    display: block;
    margin-top: 0.5em;
    border-top: 1px solid var(--cf-secondary);
    padding: 8px 20px;
    -webkit-border-radius: 0 0 4px 4px;
    -moz-border-radius: 0 0 4px 4px;
    border-radius: 0 0 3px 3px;
    font-size: 13px;
}
#menu .see-all:hover, #menu .see-all:focus {
    text-decoration: none;
    color: #ffffff;
    background-color: #000000;
    background-image: linear-gradient(to bottom, #000000, #000000);
    background-repeat: repeat-x;
}
.navbar-light .navbar-toggler {
    font-size: 15px;
    font-stretch: expanded;
    color: #FFF;
    padding: 6px 12px;
    background-color: var(--cf-primary);
    background-image: none;
    /*background-repeat: repeat-x;*/
    border-color: var(--cf-secondary);
}
.navbar-nav > li > .dropdown-menu {
    display: block; /* Override the bootstrap display: none */
    height: 0;
    opacity: 0;
    overflow: hidden;
    transition: all 0.5s ease;
    -webkit-transition: all 0.5s ease;
    visibility: hidden;
    top: 200%;
    border: 0;
}
#menu .dropdown:hover .dropdown-menu {
    height: auto;
    opacity: 1;
    visibility: visible;
    top: 104%;
}

/*Breadcrumb style*/
.breadcrumb {
    border-radius: 10px;
    margin: 0 0 10px 0;
    padding: 8px 0;
    border: 1px solid #ddd;
    background-color: var(--cf-primary);
}
.breadcrumb > li.breadcrumb-item {
    text-shadow: none;
}
.breadcrumb > li.breadcrumb-item > a {
    text-decoration: none;
    color: #ffffff;
}
.breadcrumb > li.breadcrumb-item:after {
    border-right: 1px solid #fff;
    border-bottom: 1px solid #fff;
}

/* Category list (Left sidebar) style */
.list-group {
    border-radius: 10px;
}
.list-group-item {
    background: var(--cf-secondary);
    color: #fff;
    font-size: 14px;
    border: 1px dashed var(--cf-primary);
}
.list-group-item.active {
    z-index: 2;
    color: #fff;
    background-color: var(--cf-primary);
    border-color: var(--cf-primary);
}
.list-group-item:hover{
    z-index: 2;
    color: #fff;
    background-color: var(--cf-primary);
    border-color: var(--cf-primary);
}

/*Featured products list css*/
.product-thumb {
    border: 1px solid var(--cf-primary);
    margin-bottom: 15px;
}

.product-thumb .content .description h4 a {
    color: var(--cf-primary);
    border-bottom: 1px solid var(--cf-primary);
    display: block;
    padding-bottom: 5px;
}
.product-thumb .content .description{
    min-height: 200px;
}
.product-thumb .description p{
	color: var(--cf-secondary);
}

.product-thumb .price .price-new{
	color: var(--cf-primary);
}

.product-thumb .price .price-old {
	color: var(--cf-secondary);
}

.product-thumb .button-group {
    display: flex;
    border-top: 1px solid var(--cf-primary);
    background-color: transparent;
}
.product-thumb .button button {
    flex: 33%;
    border-radius: 0;
    display: inline-block;
    border: none;
    background-color: var(--cf-secondary);
    color: var(--cf-primary);
    line-height: 38px;
    font-weight: bold;
    text-align: center;
    text-transform: uppercase;
}
.product-thumb {
    border: 1px solid var(--cf-primary);
    margin-bottom: 15px;
    border-top: 5px solid var(--cf-primary);
    border-bottom: 5px solid var(--cf-primary);
    border-radius: 10px;
}

.product-thumb .button button:hover {
    background-color: var(--cf-primary);
    color: #fff;
}

.product-thumb .button button:hover 
{
    color: #fff;
	background-color: var(--cf-primary);
  	text-decoration: none;
	cursor: pointer;
}
/* Pagination styles*/
.pagination .page-item a {
    background-color: var(--cf-secondary);
    color: #ffffff;
    border: 1px solid var(--cf-primary);
}
.pagination .page-item a:hover {
    background-color: var(--cf-primary);
    color: #ffffff;
    border: 1px solid var(--cf-primary);
}
.pagination .page-item.active .page-link {
    background-color: var(--cf-primary);
    border: 1px solid var(--cf-primary);
}

/* Product Category Page Style */
#cat-desc .img-thumbnail {
    border-color: var(--cf-primary);
}
#product-category #content h2 {
    background-color: var(--cf-secondary);
    border-radius: 10px;
    color: #fff;
    padding: 3px 10px 3px 20px;
}
#product-category .btn-primary {
  color: #ffffff;
  text-shadow: none;
  background-image: linear-gradient(to bottom, var(--cf-primary), var(--cf-primary));
  background-repeat: repeat-x;
  /*order-color: var(--cf-primary);*/
  border: 0;
  border-radius: 10px;
  font-size: 14px;
}
#product-category .btn-primary:hover {
  color: #ffffff;
  background-image: linear-gradient(to bottom, var(--cf-secondary), var(--cf-secondary));
  background-repeat: repeat-x;
}
#product-category .btn-light {
  color: #fff;
  text-shadow: 0 1px 0 rgba(255, 255, 255, 0.5);
  background-image: linear-gradient(to bottom, var(--cf-primary), var(--cf-primary));
  background-repeat: repeat-x;
  border-color: #dddddd #dddddd #b3b3b3 #b7b7b7;
  border-radius: 10px 0 0 10px;
}
#product-category .btn-group > :not(.btn-check:first-child) + .btn, .btn-group > .btn-group:not(:first-child) {
    border-radius: 0 10px 10px 0;
}
#product-category .btn-group > .btn:not(:last-child):not(.dropdown-toggle), .btn-group > .btn.dropdown-toggle-split:first-child, .btn-group > .btn-group:not(:last-child) > .btn {
    border-radius: 10px 0 0 10px;
}
#product-category .input-group:not(.has-validation) > :not(:last-child):not(.dropdown-toggle):not(.dropdown-menu):not(.form-floating), .input-group:not(.has-validation) > .dropdown-toggle:nth-last-child(n + 3), .input-group:not(.has-validation) > .form-floating:not(:last-child) > .form-control, .input-group:not(.has-validation) > .form-floating:not(:last-child) > .form-select {
    border-radius: 10px 0 0 10px;
    background: var(--cf-primary);
    color: #fff;
    border: 1px solid var(--cf-primary);
}
#product-category .btn-light:hover,#product-category .btn-light:focus,#product-category .btn-light:active,#product-category .btn-light.active,#product-category .btn-light.disabled,#product-category .btn-light[disabled] {
  color: #fff;
  background-color: var(--cf-secondary);
  background-image: linear-gradient(to bottom, var(--cf-secondary), var(--cf-secondary));
  border-color: #adadad;
  background-position: 0;
  border-radius: 0 10px 10px 0;
}
#product-category .form-select {
    border-radius: 0 10px 10px 0;
    border: 1px solid var(--cf-primary);
}

/* Product info (detail) page */
#product-info .img-thumbnail {
    border-color: var(--cf-primary);
    border-radius: 10px;
    border-top: 5px solid var(--cf-primary);
    border-bottom: 5px solid var(--cf-primary);
}
.btn:hover {
    color: #fff;
    background-color: var(--cf-primary);
    border-color: var(--cf-primary);
}
#product-info #input-quantity {
    max-width: 70px;
    text-align: center;
}
#product-info .btn-light {
    color: var(--cf-primary, #0d6efd);
}
#product-info h1 {
    color: var(--cf-primary);
}

#product-info span.price-new {
    color: var(--cf-primary);
}
span.txtpval {
    font-weight: normal;
}
#product-info .nav-tabs {
    margin-bottom: 0px;
    border-bottom: 0px solid var(--cf-primary);
    padding-left: 10px;
}
#product-info .nav-tabs .nav-link.active, .nav-tabs .nav-item.show .nav-link {
    background-color: var(--cf-primary);
    border: 1px solid var(--cf-primary);
    border-radius: 10px 10px 0 0;
    color: #fff;
}
#product-info .nav-link {
    display: block;
    color: var(--cf-secondary);
    border-top-left-radius: 10px;
    border-top-right-radius: 10px;
}

#product-info .nav-link:hover {
    color: #fff !important;
    background-color: var(--cf-primary);
    border-radius: 10px 10px 0 0;
    border-bottom: var(--cf-primary);
}
	
.tab-content {
    padding: 15px;
    border-left: 1px solid var(--cf-primary);
    border-right: 1px solid var(--cf-primary);
    border-bottom: 5px solid var(--cf-primary);
    border-top: 5px solid var(--cf-primary);
    border-radius: 10px 10px 10px 10px;
}

#product-list .product-thumb .image img {
    border-radius: 10px;
}

/*Product Compare page*/
#product-compare h1 {
    background-color: var(--cf-secondary);
    border-radius: 10px;
    color: #fff;
    padding: 2px 10px 2px 20px;  
}
/*Information pages*/
#information-information h1, #information-contact h1 {
    background-color: var(--cf-secondary);
    border-radius: 10px;
    color: #fff;
    padding: 5px 10px 5px 20px;
}
.txtpmanufacturer, .txtpmodel, .txtpreward, .txtpstock {
    color: var(--cf-secondary);
    font-weight: bold;
}

/* Account Page */
#account-account #content h1, #account-register #content h1, #account-forgotten #content h1, #account-edit #content h1, #account-password #content h1, #account-address #content h1, #account-wishlist #content h1, #account-order #content h1, #account-download #content h1, #account-download #content h1, #account-subscription #content h1, #account-reward #content h1, #account-return #content h1, #account-transaction #content h1, #account-newsletter #content h1, #common-success #content h1, #product-search #content h1  {
    background-color: var(--cf-secondary);
    border-radius: 10px;
    color: #fff;
    padding: 3px 10px 3px 20px;
}

/* Form elements */

.form-control {
    border: 1px solid var(--cf-secondary);
    border-radius: 10px;
}
.form-control:focus {
    border-color: var(--cf-primary);
    box-shadow: 0 0 0 0.25rem var(--cf-focus-ring);
  /*box-shadow: 0 0 0 0.25rem var(--cf-focus-ring);*/
}
.form-select:focus {
  border-color: var(--cf-primary);
  outline: 0;
  box-shadow: 0 0 0 0.25rem var(--cf-focus-ring);
}
.form-check-input:focus {
  border-color: var(--cf-primary);
  outline: 0;
  box-shadow: 0 0 0 0.25rem var(--cf-focus-ring);
}
.form-check-input:checked {
    background-color: var(--cf-primary);
    border-color: var(--cf-primary);
}
.form-check-input {
    cursor: pointer;
}
.form-range:focus::-webkit-slider-thumb {
  box-shadow: 0 0 0 1px #fff, 0 0 0 0.25rem var(--cf-focus-ring);
}
.form-range:focus::-moz-range-thumb {
  box-shadow: 0 0 0 1px #fff, 0 0 0 0.25rem var(--cf-focus-ring);
}
.form-range::-moz-focus-outer {
  border: 0;
}
.form-range::-webkit-slider-thumb {
  width: 1rem;
  height: 1rem;
  margin-top: -0.25rem;
  appearance: none;
  background-color: var(--cf-primary);
  border: 0;
  border-radius: 1rem;
  transition: background-color 0.15s ease-in-out, border-color 0.15s ease-in-out, box-shadow 0.15s ease-in-out;
}
@media (prefers-reduced-motion: reduce) {
  .form-range::-webkit-slider-thumb {
    transition: none;
  }
}
.form-range::-webkit-slider-thumb:active {
  background-color: var(--cf-primary-soft);
}
.form-range::-webkit-slider-runnable-track {
  width: 100%;
  height: 0.5rem;
  color: transparent;
  cursor: pointer;
  background-color: var(--bs-secondary-bg);
  border-color: transparent;
  border-radius: 1rem;
}
.form-range::-moz-range-thumb {
  width: 1rem;
  height: 1rem;
  appearance: none;
  background-color: var(--cf-primary);
  border: 0;
  border-radius: 1rem;
  transition: background-color 0.15s ease-in-out, border-color 0.15s ease-in-out, box-shadow 0.15s ease-in-out;
}
@media (prefers-reduced-motion: reduce) {
  .form-range::-moz-range-thumb {
    transition: none;
  }
}
.form-range::-moz-range-thumb:active {
  background-color: var(--cf-primary-soft);
}
.form-range::-moz-range-track {
  width: 100%;
  height: 0.5rem;
  color: transparent;
  cursor: pointer;
  background-color: var(--bs-secondary-bg);
  border-color: transparent;
  border-radius: 1rem;
}
.form-range:disabled {
  pointer-events: none;
}
.form-range:disabled::-webkit-slider-thumb {
  background-color: var(--bs-secondary-color);
}
.form-range:disabled::-moz-range-thumb {
  background-color: var(--bs-secondary-color);
}
.form-floating {
  position: relative;
}
.form-floating > .form-control, .form-floating > .form-control-plaintext, .form-floating > .form-select {
  height: calc(3.5rem + calc(var(--bs-border-width) * 2));
  min-height: calc(3.5rem + calc(var(--bs-border-width) * 2));
  line-height: 1.25;
}
label {
    font-size: 14px;
    font-weight: normal;
}

/* Footer Pages style */
footer {
    background-color: var(--cf-primary);
	position: absolute;
}
footer h5 {
    font-family: 'Quicksand', sans-serif;
    font-size: 14px;
    background-color: var(--cf-secondary);
    border-radius: 10px;
    padding: 10px;
}
footer a {
    color: #eee;
}
.footer-top {
    margin-bottom: 20px;
}
.footer-top .list-unstyled {
    padding-left: 10px;
    list-style: none;
}
.footer-bottom {
    background-color: var(--cf-secondary);
    padding-top: 20px;
    text-align: center;
}

/* ColorFlex interaction and accessibility layer */
a,
button,
.btn,
.form-control,
.form-select,
.dropdown-item,
.product-thumb {
  transition: color .2s ease, background-color .2s ease, border-color .2s ease,
              box-shadow .2s ease, transform .2s ease;
}

:focus-visible {
  outline: 3px solid var(--cf-focus-ring);
  outline-offset: 2px;
}

.btn-primary {
  background-color: var(--cf-secondary);
  border-color: var(--cf-secondary);
  color: var(--cf-on-secondary);
}

.btn-primary:hover,
.btn-primary:focus {
  background-color: var(--cf-primary);
  border-color: var(--cf-primary);
  color: var(--cf-on-primary);
}

.btn-outline-primary {
  color: var(--cf-primary);
  border-color: var(--cf-primary);
}

.btn-outline-primary:hover {
  background-color: var(--cf-primary);
  border-color: var(--cf-primary);
  color: var(--cf-on-primary);
}

.theme-divider {
  color: var(--cf-primary);
  opacity: 1;
}

.badge-sale,
.badge-promo {
  background-color: var(--cf-accent);
  color: var(--cf-on-accent);
}

@media (hover: hover) {
  .product-thumb:hover {
    transform: translateY(-2px);
  }
}


/* ================================================================
   ColorFlex 1.0.5 — Bootstrap and OpenCart integration
   ================================================================ */

/* Bootstrap background utilities are generated with !important. */
.bg-primary {
  --bs-bg-opacity: 1;
  background-color: rgba(var(--cf-primary-rgb), var(--bs-bg-opacity)) !important;
}

.bg-secondary {
  --bs-bg-opacity: 1;
  background-color: rgba(var(--cf-secondary-rgb), var(--bs-bg-opacity)) !important;
}

.text-primary {
  --bs-text-opacity: 1;
  color: rgba(var(--cf-primary-rgb), var(--bs-text-opacity)) !important;
}

.text-secondary {
  --bs-text-opacity: 1;
  color: rgba(var(--cf-secondary-rgb), var(--bs-text-opacity)) !important;
}

/* Main navigation: controlled by the secondary palette color. */
#menu,
#menu.navbar {
  --bs-navbar-color: var(--cf-on-secondary);
  --bs-navbar-hover-color: var(--cf-on-secondary);
  --bs-navbar-disabled-color: rgba(var(--cf-secondary-rgb), .45);
  --bs-navbar-active-color: var(--cf-on-secondary);
  --bs-navbar-brand-color: var(--cf-on-secondary);
  --bs-navbar-brand-hover-color: var(--cf-on-secondary);
  --bs-navbar-toggler-border-color: rgba(255, 255, 255, .3);

  background: var(--cf-secondary) !important;
  background-color: var(--cf-secondary) !important;
  background-image: none !important;
  border-color: var(--cf-secondary-hover) !important;
  color: var(--cf-on-secondary);
}

#menu #category,
#menu .navbar-toggler,
#menu .navbar-nav > .nav-item > .nav-link,
#menu .navbar-nav > .nav-item > .dropdown-item {
  color: var(--cf-on-secondary) !important;
}

#menu .navbar-toggler {
  background-color: rgba(255, 255, 255, .08);
  border-color: rgba(255, 255, 255, .24);
}

#menu .navbar-toggler:hover,
#menu .navbar-toggler:focus {
  background-color: var(--cf-primary);
  border-color: var(--cf-primary);
  color: var(--cf-on-primary) !important;
}

#menu .navbar-nav > .nav-item:hover,
#menu .navbar-nav > .nav-item:focus-within,
#menu .navbar-nav > .nav-item.active_link {
  background-color: var(--cf-primary);
}

#menu .dropdown-menu {
  --bs-dropdown-link-active-bg: var(--cf-secondary);
  --bs-dropdown-link-hover-bg: var(--cf-secondary);
  --bs-dropdown-link-hover-color: var(--cf-on-secondary);
  --bs-dropdown-link-active-color: var(--cf-on-secondary);
  background-color: var(--cf-primary);
  border-color: var(--cf-primary-hover);
}

#menu .dropdown-menu .dropdown-item {
  color: var(--cf-on-primary);
}

/* Bootstrap buttons use local component variables. */
.btn-primary {
  --bs-btn-color: var(--cf-on-primary);
  --bs-btn-bg: var(--cf-primary);
  --bs-btn-border-color: var(--cf-primary);
  --bs-btn-hover-color: var(--cf-on-primary);
  --bs-btn-hover-bg: var(--cf-primary-hover);
  --bs-btn-hover-border-color: var(--cf-primary-hover);
  --bs-btn-focus-shadow-rgb: var(--cf-primary-rgb);
  --bs-btn-active-color: var(--cf-on-primary);
  --bs-btn-active-bg: var(--cf-primary-hover);
  --bs-btn-active-border-color: var(--cf-primary-hover);
  --bs-btn-disabled-color: var(--cf-on-primary);
  --bs-btn-disabled-bg: var(--cf-primary);
  --bs-btn-disabled-border-color: var(--cf-primary);

  color: var(--cf-on-primary);
  background-color: var(--cf-primary);
  background-image: none;
  border-color: var(--cf-primary);
  text-shadow: none;
}

.btn-secondary {
  --bs-btn-color: var(--cf-on-secondary);
  --bs-btn-bg: var(--cf-secondary);
  --bs-btn-border-color: var(--cf-secondary);
  --bs-btn-hover-color: var(--cf-on-secondary);
  --bs-btn-hover-bg: var(--cf-secondary-hover);
  --bs-btn-hover-border-color: var(--cf-secondary-hover);
  --bs-btn-focus-shadow-rgb: var(--cf-secondary-rgb);
  --bs-btn-active-color: var(--cf-on-secondary);
  --bs-btn-active-bg: var(--cf-secondary-hover);
  --bs-btn-active-border-color: var(--cf-secondary-hover);
}

.btn-outline-primary {
  --bs-btn-color: var(--cf-primary);
  --bs-btn-border-color: var(--cf-primary);
  --bs-btn-hover-color: var(--cf-on-primary);
  --bs-btn-hover-bg: var(--cf-primary);
  --bs-btn-hover-border-color: var(--cf-primary);
  --bs-btn-focus-shadow-rgb: var(--cf-primary-rgb);
  --bs-btn-active-color: var(--cf-on-primary);
  --bs-btn-active-bg: var(--cf-primary);
  --bs-btn-active-border-color: var(--cf-primary);
}

/* btn-light remains genuinely light instead of acting as another primary button. */
.btn-light {
  --bs-btn-color: var(--cf-primary);
  --bs-btn-bg: #ffffff;
  --bs-btn-border-color: #d9dee5;
  --bs-btn-hover-color: var(--cf-on-primary);
  --bs-btn-hover-bg: var(--cf-primary);
  --bs-btn-hover-border-color: var(--cf-primary);
  --bs-btn-focus-shadow-rgb: var(--cf-primary-rgb);
  --bs-btn-active-color: var(--cf-on-primary);
  --bs-btn-active-bg: var(--cf-primary-hover);
  --bs-btn-active-border-color: var(--cf-primary-hover);

  color: var(--cf-primary);
  background-color: #ffffff;
  background-image: none;
  border-color: #d9dee5;
  text-shadow: none;
}

.btn-light:hover,
.btn-light:focus,
.btn-light:active,
.btn-light.active {
  color: var(--cf-on-primary);
  background-color: var(--cf-primary);
  background-image: none;
  border-color: var(--cf-primary);
}

/* Links and form focus states. */
a {
  color: var(--cf-primary);
}

a:hover,
a:focus {
  color: var(--cf-primary-hover);
}

.form-control:focus,
.form-select:focus,
.form-check-input:focus {
  border-color: var(--cf-primary);
  box-shadow: 0 0 0 .25rem var(--cf-focus-ring);
}

.form-check-input:checked {
  background-color: var(--cf-primary);
  border-color: var(--cf-primary);
}

/* Informational content follows the palette without changing semantic
   success, warning and danger colors. */
.alert-info {
  color: var(--cf-secondary);
  background-color: var(--cf-primary-soft);
  border-color: var(--cf-primary);
}

/* Accent role. */
.badge-sale,
.badge-promo,
.badge-green {
  color: var(--cf-on-accent);
  background-color: var(--cf-accent);
}

/* Respect reduced-motion preferences. */
@media (prefers-reduced-motion: reduce) {
  *,
  *::before,
  *::after {
    scroll-behavior: auto !important;
    transition-duration: .01ms !important;
    animation-duration: .01ms !important;
    animation-iteration-count: 1 !important;
  }
}

/* ColorFlex 1.0.8 diagnostic marker */
html {
  --colorflex-static-css: 1;
}

/* Stable dropdowns: no animated gap, so subcategories stay selectable. */
@media (min-width: 992px) {
  #menu .navbar-nav > li.dropdown {
    position: relative;
  }

  #menu .navbar-nav > li.dropdown > .dropdown-menu {
    display: block !important;
    top: 100% !important;
    margin-top: 0 !important;
    height: auto !important;
    min-width: 220px;
    opacity: 0 !important;
    overflow: visible !important;
    pointer-events: none !important;
    visibility: hidden !important;
    transform: none !important;
    transition: none !important;
    z-index: 1200 !important;
  }

  #menu .navbar-nav > li.dropdown:hover > .dropdown-menu,
  #menu .navbar-nav > li.dropdown:focus-within > .dropdown-menu,
  #menu .navbar-nav > li.dropdown.show > .dropdown-menu,
  #menu .navbar-nav > li.dropdown.cf-dropdown-open > .dropdown-menu {
    display: block !important;
    top: 100% !important;
    opacity: 1 !important;
    pointer-events: auto !important;
    visibility: visible !important;
  }

  #menu .dropdown-inner {
    display: flex;
    gap: 0;
  }
}

/* Product action buttons and quantity stepper. */
#product-info .cf-product-actions-form {
  margin: 14px 0 16px;
}

#product-info .cf-product-actions {
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
}

#product-info .cf-product-action {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 8px;
  min-height: 44px;
  padding: 0 16px;
  color: var(--cf-secondary, #1b2433) !important;
  background: #ffffff !important;
  border: 1px solid #d9dee5 !important;
  box-shadow: none;
  text-shadow: none;
}

#product-info .cf-product-action i {
  min-width: 1em;
  color: var(--cf-primary, #0d6efd) !important;
  font-size: 16px;
  line-height: 1;
}

#product-info .cf-product-action:hover,
#product-info .cf-product-action:focus,
#product-info .cf-product-action:active {
  color: var(--cf-on-primary, #ffffff) !important;
  background: var(--cf-primary, #0d6efd) !important;
  border-color: var(--cf-primary, #0d6efd) !important;
}

#product-info .cf-product-action:hover i,
#product-info .cf-product-action:focus i,
#product-info .cf-product-action:active i {
  color: var(--cf-on-primary, #ffffff) !important;
}

#product-info .cf-product-qty {
  max-width: 540px;
  flex-wrap: nowrap;
  align-items: stretch;
}

#product-info .cf-product-qty .input-group-text {
  min-width: 72px;
  justify-content: center;
  color: var(--cf-secondary, #1b2433);
  background: #f7f9fc;
}

#product-info .cf-product-qty .cf-qty-input {
  flex: 0 0 66px;
  min-width: 66px;
  max-width: 66px;
  text-align: center;
}

#product-info .cf-qty-btn {
  flex: 0 0 46px;
  width: 46px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  color: var(--cf-secondary, #1b2433) !important;
  background: #ffffff !important;
  border-color: #d9dee5 !important;
  box-shadow: none;
  text-shadow: none;
}

#product-info .cf-qty-btn i {
  color: var(--cf-primary, #0d6efd) !important;
  pointer-events: none;
}

#product-info .cf-qty-btn:hover,
#product-info .cf-qty-btn:focus,
#product-info .cf-qty-btn:active {
  color: var(--cf-on-primary, #ffffff) !important;
  background: var(--cf-primary, #0d6efd) !important;
  border-color: var(--cf-primary, #0d6efd) !important;
}

#product-info .cf-qty-btn:hover i,
#product-info .cf-qty-btn:focus i,
#product-info .cf-qty-btn:active i {
  color: var(--cf-on-primary, #ffffff) !important;
}

#product-info .cf-product-qty #button-cart {
  min-width: 130px;
}

@media (max-width: 575.98px) {
  #product-info .cf-product-qty {
    max-width: 100%;
    flex-wrap: wrap;
  }

  #product-info .cf-product-qty .input-group-text {
    flex: 1 0 100%;
    width: 100%;
    border-radius: 4px 4px 0 0;
  }

  #product-info .cf-product-qty .cf-qty-input {
    flex: 1 1 auto;
    min-width: 80px;
    max-width: none;
  }

  #product-info .cf-product-qty #button-cart {
    flex: 1 0 100%;
    width: 100%;
    margin-top: 8px;
    border-radius: 4px;
  }
}


/* BulHost ABV dynamic ColorFlex variables */
:root {
  --cf-primary: #4b5563;
  --cf-primary-rgb: 75, 85, 99;
  --cf-primary-hover: #414955;
  --cf-primary-soft: #e9ebec;
  --cf-on-primary: #ffffff;
  --cf-secondary: #111827;
  --cf-secondary-rgb: 17, 24, 39;
  --cf-secondary-hover: #131a2b;
  --cf-on-secondary: #ffffff;
  --cf-accent: #f59e0b;
  --cf-accent-rgb: 245, 158, 11;
  --cf-on-accent: #ffffff;
  --cf-focus-ring: rgba(75, 85, 99, .28);
  --bs-primary: var(--cf-primary);
  --bs-primary-rgb: var(--cf-primary-rgb);
  --bs-secondary: var(--cf-secondary);
  --bs-secondary-rgb: var(--cf-secondary-rgb);
  --bs-link-color: var(--cf-primary);
  --bs-link-hover-color: var(--cf-primary-hover);
  --bs-focus-ring-color: var(--cf-focus-ring);
}
body.colorflex-theme { --colorflex-version: '1.0.8'; }

/* OpenCart 2/3 ColorFlex bridge generated from ABV. */
body.colorflex-theme {
    background: #f6f7f9;
    color: var(--cf-secondary);
}
body.colorflex-theme a { color: var(--cf-primary); }
body.colorflex-theme a:hover,
body.colorflex-theme a:focus { color: var(--cf-secondary); }
body.colorflex-theme #top {
    background: transparent;
    border: 0;
    margin: 5px 0;
    min-height: 43px;
    padding: 10px 0 5px;
}
body.colorflex-theme #top .btn-link,
body.colorflex-theme #top-links li,
body.colorflex-theme #top-links a {
    color: var(--cf-secondary);
    text-shadow: none;
}
body.colorflex-theme #top-links .list-inline { margin-bottom: 0; }
body.colorflex-theme #top-links .list-inline > li:not(:first-child) {
    border-left: 1px dashed var(--cf-primary);
    padding-left: 10px;
}
body.colorflex-theme #top .fa { color: var(--cf-accent); }
body.colorflex-theme #top .dropdown-menu {
    background: var(--cf-secondary);
    border: 0;
    border-radius: 10px;
}
body.colorflex-theme #top .dropdown-menu a { color: #fff; }
body.colorflex-theme #top .dropdown-menu a:hover,
body.colorflex-theme #top .dropdown-menu a:focus { background: var(--cf-primary); }
body.colorflex-theme header { margin: 0; }
body.colorflex-theme #header-box {
    background: var(--cf-primary);
    border-radius: 10px 10px 0 0;
    margin-left: 0;
    margin-right: 0;
    padding: 30px 15px 10px;
    width: 100%;
}
body.colorflex-theme #logo { margin: 7px 0 7px 15px; }
body.colorflex-theme #logo img { max-height: 70px; }
body.colorflex-theme #search { margin: 0 0 10px; }
body.colorflex-theme #search .form-control {
    background: #fff;
    border: 0;
    border-radius: 50px 0 0 50px;
    box-shadow: none;
    color: var(--cf-secondary);
    height: 43px;
    padding-left: 16px;
}
body.colorflex-theme #search .form-control:focus { box-shadow: inset 0 0 0 2px var(--cf-focus-ring); }
body.colorflex-theme #search .input-group-btn > .btn {
    background: #fff;
    border: 0;
    border-radius: 0 50px 50px 0;
    color: var(--cf-secondary);
    height: 43px;
    padding-left: 20px;
    padding-right: 20px;
    text-shadow: none;
}
body.colorflex-theme #search .input-group-btn > .btn:hover,
body.colorflex-theme #search .input-group-btn > .btn:focus {
    background: var(--cf-secondary);
    color: #fff;
}
body.colorflex-theme #cart { margin-bottom: 10px; }
body.colorflex-theme #cart > .btn {
    background: transparent;
    border: 0;
    box-shadow: none;
    color: #fff;
    min-height: 43px;
    text-shadow: none;
}
body.colorflex-theme #cart > .btn:hover,
body.colorflex-theme #cart.open > .btn {
    background: var(--cf-secondary);
    color: #fff;
}
body.colorflex-theme #cart .fa-shopping-cart {
    border: 2px solid #fff;
    border-radius: 50%;
    padding: 9px;
}
body.colorflex-theme #cart .dropdown-menu { border-radius: 10px; }
body.colorflex-theme #menu {
    background: var(--cf-secondary);
    border: 0;
    border-radius: 0 0 10px 10px;
    box-shadow: none;
    margin-bottom: 10px;
    min-height: 50px;
}
body.colorflex-theme #menu .nav > li > a {
    background: transparent;
    color: #fff;
    font-size: 14px;
    padding-left: 12px;
    padding-right: 12px;
    text-shadow: none;
}
body.colorflex-theme #menu .nav > li > a:hover,
body.colorflex-theme #menu .nav > li.open > a,
body.colorflex-theme #menu .nav > li.open > a:hover,
body.colorflex-theme #menu .nav > li.open > a:focus,
body.colorflex-theme #menu .cf-dropdown-open > a {
    background: var(--cf-primary);
    border-radius: 8px;
    color: #fff;
}
body.colorflex-theme #menu .dropdown-menu {
    background: var(--cf-primary);
    border: 0;
    border-radius: 10px;
    box-shadow: 0 4px 12px rgba(0,0,0,.3);
}
body.colorflex-theme #menu .dropdown-inner a,
body.colorflex-theme #menu .see-all { color: #fff; }
body.colorflex-theme #menu .dropdown-inner a:hover,
body.colorflex-theme #menu .see-all:hover,
body.colorflex-theme #menu .see-all:focus {
    background: var(--cf-secondary);
    color: #fff;
    text-decoration: none;
}
body.colorflex-theme .breadcrumb {
    background: var(--cf-primary);
    border: 0;
    border-radius: 10px;
}
body.colorflex-theme .breadcrumb > li,
body.colorflex-theme .breadcrumb > li > a {
    color: #fff;
    text-shadow: none;
}
body.colorflex-theme #content h3,
body.colorflex-theme #content > h2:first-child {
    background: var(--cf-secondary);
    border-radius: 10px;
    color: #fff;
    margin-bottom: 15px;
    padding: 10px;
}
body.colorflex-theme .swiper-viewport,
body.colorflex-theme .owl-wrapper-outer,
body.colorflex-theme .carousel,
body.colorflex-theme .panel,
body.colorflex-theme .well,
body.colorflex-theme .product-thumb,
body.colorflex-theme .img-thumbnail {
    border-radius: 10px;
}
body.colorflex-theme .product-thumb,
body.colorflex-theme .panel,
body.colorflex-theme .well {
    background: #fff;
    box-shadow: 0 4px 16px rgba(17,24,39,.08);
}
body.colorflex-theme .price,
body.colorflex-theme .price-new {
    color: var(--cf-accent);
    font-weight: 700;
}
body.colorflex-theme .btn-primary {
    background-image: linear-gradient(to bottom, var(--cf-secondary), var(--cf-secondary-hover));
    border-color: var(--cf-primary);
    border-radius: 10px;
    color: #fff;
    text-shadow: none;
}
body.colorflex-theme .btn-primary:hover,
body.colorflex-theme .btn-primary:focus {
    background-image: linear-gradient(to bottom, var(--cf-primary), var(--cf-primary-hover));
    border-color: var(--cf-primary);
    color: #fff;
}
body.colorflex-theme footer,
body.colorflex-theme #footer {
    background: var(--cf-secondary);
    color: #fff;
    margin-top: 30px;
}
body.colorflex-theme footer a,
body.colorflex-theme #footer a { color: #e9ebec; }
body.colorflex-theme footer a:hover,
body.colorflex-theme #footer a:hover { color: #fff; }
@media (max-width: 767px) {
    body.colorflex-theme #top { padding: 8px 0 0; }
    body.colorflex-theme #header-box {
        border-radius: 0;
        padding: 16px 12px 8px;
    }
    body.colorflex-theme #logo {
        margin: 0 0 12px;
        text-align: center;
    }
    body.colorflex-theme #menu {
        border-radius: 0;
        margin-left: -15px;
        margin-right: -15px;
    }
    body.colorflex-theme #menu #category { color: #fff; }
}

/* Align legacy OC2/OC3 footer with ABV ColorFlex. */
body.colorflex-theme footer,
body.colorflex-theme #footer {
    background: var(--cf-primary);
    color: #fff;
    display: block;
    margin-left: 0;
    margin-right: 0;
    max-width: none;
    width: 100vw;
}
body.colorflex-theme footer > .container,
body.colorflex-theme #footer > .container {
    float: none;
    margin-left: auto;
    margin-right: auto;
    max-width: 1320px;
    width: min(1320px, 100% - 24px);
}
body.colorflex-theme footer p,
body.colorflex-theme #footer p {
    text-align: center;
}
body.colorflex-theme footer .row,
body.colorflex-theme #footer .row {
    display: flex;
    flex-wrap: wrap;
}
body.colorflex-theme footer .col-sm-3,
body.colorflex-theme #footer .col-sm-3 {
    float: none;
}
@media (max-width: 767px) {
    body.colorflex-theme footer > .container,
    body.colorflex-theme #footer > .container {
        width: calc(100% - 24px);
    }
    body.colorflex-theme footer .row,
    body.colorflex-theme #footer .row {
        display: block;
    }
}
