/* 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;
  }
}


/* ПОПРАВКА ЗА OPENCART 3 (Bootstrap 3)
   Оригиналът е за Bootstrap 5, където .dropdown-menu се показва само
   когато е отворено. Тук правилото го оставяше винаги видимо и менюто
   излизаше извън страницата. Показва се при посочване и при .open. */
.navbar-nav > li > .dropdown-menu { display: none; }
.navbar-nav > li.open > .dropdown-menu,
.navbar-nav > li:hover > .dropdown-menu { display: block; }


/* ПОПРАВКА 100VW ЗА OPENCART 3
   Стилът задава на футера width:100vw. Тази мярка включва и лентата за
   скролване, затова страницата ставаше с няколко пиксела по-широка от
   прозореца и се появяваше хоризонтален плъзгач. */
body.colorflex-theme footer,
body.colorflex-theme #footer { width: 100% !important; max-width: 100% !important; }
