@import url('https://cdn.jsdelivr.net/npm/bootstrap-icons@1.11.3/font/bootstrap-icons.css');
body {
  font-family: "Lexend", sans-serif;
  font-weight: 400;
  color: #666;
  font-size: 14px;
  line-height: 20px;
  width: 100%;
  overflow-x: hidden;
  transition: all .5s ease 0s;
}
h1, h2, h3, h4, h5, h6 {
  color: #444;
}
/* Override the bootstrap defaults */
h1 {
  font-size: 33px;
    font-weight: 600;
}
h2 {
  font-size: 27px;
    font-weight: 600;
}
h3 {
    font-size: 23px;
    font-weight: 600;
    color: #323232;
    margin-top: 20px;
}
h4 {
  font-size: 15px;
    font-weight: 600;
}
footer h5 {
  font-size: 12px;
    font-weight: 600;
}
h6 {
  font-size: 10.2px;
    font-weight: 600;
}
a {
    color: #4788e9;
  text-decoration: none;
}
a:hover {
  text-decoration: none;
}
/* Chrome border line */
button:focus {
  outline: none !important;
}
legend {
  font-size: 18px;
  padding: 7px 0;
  margin-bottom: 20px;
  border-bottom: 1px solid #e5e5e5;
}
label {
  font-size: 12px;
  font-weight: normal;
}
.list-unstyled a {
  text-decoration: none;
}
.nav-tabs {
  margin-bottom: 15px;
}
div.required .col-form-label:before, div.required .form-label:before {
  content: "* ";
  color: #F00;
  font-weight: bold;
}
.form-switch-lg {
  font-size: 20px;
  min-height: 30px;
  /*line-height: 30px;*/
}
@media (min-width: 768px) {
  .col-form-label {
    text-align: right;
  }

  #CiCartModal.modal {
      --bs-modal-width: 550px;
  }
}
#alert {
  z-index: 9999;
  pointer-events: all;
}
#alert .alert {
  min-width: 400px;
  position: relative;
  margin-bottom: 0px;
}

html body #alert.position-fixed {
  padding: 0px !important;
  top: 15px !important;
  right: 15px !important;
}

@media (min-width: 1300px) {
  #alert .alert {
    right: 0;
  }
}
@media (min-width: 1400px) {
  #alert .alert {
    right: 0;
  }
}
@media (min-width: 1600px) {
  #alert .alert {
    right: 0;
  }
}
@media (min-width: 1800px) {
  #alert .alert {
    right: 0;
  }
}
@media (min-width: 2000px) {
  #alert .alert {
    right: 0;
  }
}
@media (min-width: 2200px) {
  #alert .alert {
    right: 0;
  }
}
@media (min-width: 2400px) {
  #alert .alert {
    right: 0;
  }
}
@media (min-width: 2600px) {
  #alert .alert {
    right: 0;
  }
}
@media (min-width: 2800px) {
  #alert .alert {
    right: 0;
  }
}
@media (min-width: 3000px) {
  #alert .alert {
    right: 0;
  }
}
@media (min-width: 3200px) {
  #alert .alert {
    right: 0;
  }
}
@media (min-width: 3400px) {
  #alert .alert {
    right: 0;
  }
}
@media (min-width: 3600px) {
  #alert .alert {
    right: 0;
  }
}
@media (min-width: 3800px) {
  #alert .alert {
    right: 0;
  }
}
@media (min-width: 4000px) {
  #alert .alert {
    right: 0;
  }
}
/* top */
#top {
  background-color: #EEEEEE;
  border-bottom: 1px solid #e2e2e2;
  padding: 10px 0;
  margin: 0 0 20px 0;
  min-height: 44px;
  position: relative;
}
#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: #888;
  /*text-shadow: 0 1px 0 #FFF;*/
}
#top .btn-link {
  color: #888;
  /*text-shadow: 0 1px 0 #FFF;*/
  text-decoration: none;
}
#top .btn-link:hover {
  color: #444;
}
#top a {
  font-size: 1.1em;
  text-decoration: none;
}
footer a {
  font-size: 1.1em;
  text-decoration: none;
}
/* logo */
#logo {
  margin: 0 0 0px 0;
}
#logo img {
  max-width: 200px;
}
#logo img, .fLogo {
    max-width: max-content;
    max-width: 200px;
}
/* search */
#search {
  margin-bottom: 0px !important;
}
#search .form-control-lg {
  height: 40px;
  font-size: 14px;
  line-height: 20px;
  padding: 0 10px;
}
#search .btn-lg {
  font-size: 15px;
  line-height: 18px;
  padding: 0.57rem 35px;
  /*text-shadow: 0 1px 0 #FFF;*/
}
/* cart */
#cart {
  margin-bottom: 0px;
}
#cart, .wish_acc {

  margin-left: 10px;
}
.modal-body#cart {
  margin-left: 0px;
}
#cart .btn-lg {
  color: #FFF;
  height: 40px;
  padding: 0 0rem;
}
#cart .btn:hover {
  color: #212121;
}
#cart.open > .btn {
  background-image: none;
  background-color: #FFFFFF;
  border: 1px solid #E6E6E6;
  color: #666;
  box-shadow: none;
  /*text-shadow: none;*/
}
#cart.open > .btn:hover {
  color: #444;
}
#cart .dropdown-menu {
  background: #eee;
  z-index: 1001;
  min-width: 100%;
}
#cart .dropdown-menu table {
  margin-bottom: 10px;
}
#cart .dropdown-menu li {
  min-width: 427px;
  padding: 0 10px;
}
#cart .dropdown-menu li p {
  margin: 20px 0;
}
@media (max-width: 478px) {
  #cart .dropdown-menu {
    width: 100%;
  }
  #cart .dropdown-menu li > div {
    min-width: 100%;
  }
}
#cart .table-striped > tbody > tr:nth-of-type(odd) {
  background-color: #f9f9f9;
}
/* content */
#content {
  min-height: 600px;
}
/* footer */
footer {
  margin-top: 30px;
  padding-top: 30px;
  padding-bottom: 1px;
  background-color: #303030;
  border-top: 1px solid #ddd;
  color: #e2e2e2;
}
footer hr {
  border-top: none;
  border-bottom: 1px solid #666;
}
footer a {
  color: #ccc;
}
footer a:hover {
  color: #fff;
}
footer h5 {
  font-size: 13px;
  font-weight: bold;
  color: #fff;
  margin-top: 10px;
  margin-bottom: 10px;
}
/* breadcrumb */
.breadcrumb {
  margin: 0 0 20px 0;
  padding: 8px 0;
  border: 1px solid #ddd;
  background-color: #f5f5f5;
  margin-top: 20px;
  
  /* ADDED: Swipe/Scroll Logic */
  display: flex !important;
  flex-wrap: nowrap !important;
  overflow-x: auto !important;
  overflow-y: hidden;
  scrollbar-width: none; /* Hide scrollbar Firefox */
  -ms-overflow-style: none; /* Hide scrollbar IE/Edge */
}
/* ADDED: Hide Scrollbar Chrome/Safari */
.breadcrumb::-webkit-scrollbar {
  display: none;
}
.breadcrumb i {
  font-size: 15px;
}
.breadcrumb > li.breadcrumb-item {
  /*text-shadow: 0 1px 0 #FFF;*/
  padding: 0 20px;
  position: relative;
  white-space: nowrap;
  
  /* ADDED: Prevent squashing */
  flex-shrink: 0;
}
.breadcrumb > li.breadcrumb-item > a {
  text-decoration: none;
}
.breadcrumb > li.breadcrumb-item:after {
  content: "";
  display: block;
  position: absolute;
  top: -3px;
  right: -5px;
  width: 26px;
  height: 26px;
  border-right: 1px solid #DDD;
  border-bottom: 1px solid #DDD;
  -webkit-transform: rotate(-45deg);
  -moz-transform: rotate(-45deg);
  -o-transform: rotate(-45deg);
  transform: rotate(-45deg);
}
.breadcrumb > li.breadcrumb-item + li:before {
  content: "";
  padding: 0;
}
.pagination {
  margin: 0;
}
/* buttons */
.btn-light {
  color: #777;
  /*text-shadow: 0 1px 0 rgba(255, 255, 255, 0.5);*/
  background-image: linear-gradient(to bottom, #eeeeee, #dddddd);
  background-repeat: repeat-x;
  border-color: #dddddd #dddddd #b3b3b3 #b7b7b7;
}
.btn-light:hover, .btn-light:focus, .btn-light:active, .btn-light.active, .btn-light.disabled, .btn-light[disabled] {
  color: #333;
  background-color: #e6e6e6;
  border-color: #adadad;
  background-position: 0;
}
.btn-primary {
  color: #ffffff;
  /*text-shadow: 0 -1px 0 rgba(0, 0, 0, 0.25);*/
  background-image: linear-gradient(to bottom, #23a1d1, #1f90bb);
  background-repeat: repeat-x;
  border-color: #1f90bb #1f90bb #145e7a;
}
.btn-primary:hover, .btn-primary:focus, .btn-primary:active, .btn-primary.active, .btn-primary.disabled, .btn-primary[disabled] {
  background-position: 0;
}
.btn-warning {
  color: #ffffff;
  /*text-shadow: 0 -1px 0 rgba(0, 0, 0, 0.25);*/
  background-image: linear-gradient(to bottom, #fbb450, #f89406);
  background-repeat: repeat-x;
  border-color: #f89406 #f89406 #ad6704;
}
.btn-warning:hover, .btn-warning:focus, .btn-warning:active, .btn-warning.active, .btn-warning.disabled, .btn-warning[disabled] {
  box-shadow: inset 0 1000px 0 rgba(0, 0, 0, 0.1);
}
.btn-danger {
  color: #ffffff;
  /*text-shadow: 0 -1px 0 rgba(0, 0, 0, 0.25);*/
  background-image: linear-gradient(to bottom, #ee5f5b, #bd362f);
  background-repeat: repeat-x;
  border-color: #bd362f #bd362f #802420;
}
.btn-danger:hover, .btn-danger:focus, .btn-danger:active, .btn-danger.active, .btn-danger.disabled, .btn-danger[disabled] {
  box-shadow: inset 0 1000px 0 rgba(0, 0, 0, 0.1);
}
.btn-success {
  color: #ffffff;
  /*text-shadow: 0 -1px 0 rgba(0, 0, 0, 0.25);*/
  background-image: linear-gradient(to bottom, #62c462, #51a351);
  background-repeat: repeat-x;
  border-color: #51a351 #51a351 #387038;
}
.btn-success:hover, .btn-success:focus, .btn-success:active, .btn-success.active, .btn-success.disabled, .btn-success[disabled] {
  box-shadow: inset 0 1000px 0 rgba(0, 0, 0, 0.1);
}
.btn-info {
  color: #ffffff;
  /*text-shadow: 0 -1px 0 rgba(0, 0, 0, 0.25);*/
  background-image: linear-gradient(to bottom, #e06342, #dc512c);
  background-repeat: repeat-x;
  border-color: #dc512c #dc512c #a2371a;
}
.btn-info:hover, .btn-info:focus, .btn-info:active, .btn-info.active, .btn-info.disabled, .btn-info[disabled] {
  background-image: none;
  background-color: #df5c39;
}
.btn-link {
  border-color: rgba(0, 0, 0, 0);
  cursor: pointer;
  color: #23A1D1;
  border-radius: 0;
}
.btn-link, .btn-link:active, .btn-link[disabled] {
  background-color: rgba(0, 0, 0, 0);
  background-image: none;
  box-shadow: none;
}
.btn-inverse {
  color: #ffffff;
  /*text-shadow: 0 -1px 0 rgba(0, 0, 0, 0.25);*/
  background-color: #363636;
  background-image: linear-gradient(to bottom, #444444, #222222);
  background-repeat: repeat-x;
  border-color: #222222 #222222 #000000;
}
.btn-inverse:hover, .btn-inverse:focus, .btn-inverse:active, .btn-inverse.active, .btn-inverse.disabled, .btn-inverse[disabled] {
  background-color: #222222;
  background-image: linear-gradient(to bottom, #333333, #111111);
}
.product-thumb {
  border: 0px solid #ddd;
  margin-bottom: 15px;
}
.product-thumb h4 {
  font-weight: bold;
}
.product-thumb .image {
  text-align: center;
  margin-bottom: 0px;
}
.product-thumb .image a:hover {
  opacity: 0.8;
}
.product-thumb .description {
  padding: 15px;
}
.product-thumb .button-group {
  display: flex;
  border-top: 0px solid #ddd;
  background-color: #eee;
}
.product-thumb .button-group button {
  border-radius: 0;
  display: inline-block;
  border: none;
  background-color: #eee;
  color: #888;
  line-height: 38px;
  font-weight: bold;
  text-align: center;
  text-transform: uppercase;
}
.product-thumb .button-group button:hover {
  color: #444;
  background-color: #ddd;
  text-decoration: none;
  cursor: pointer;
}
.product-thumb .button-group button + button {
  border-left: 0px solid #ddd;
}

.xzoom {
  width: 100% !important;
}

@media (min-width: 960px) {
  .product-list .product-thumb {
    display: flex;
  }
  .product-list .product-thumb .image {
    flex-direction: column;
    margin-bottom: 0px;
  }
  .product-list .product-thumb .content {
    flex-direction: column;
    flex: 75%;
    position: relative;
  }
  .product-list .product-thumb .button-group {
    position: absolute;
    bottom: 0px;
    width: 100%;
    border-left: 1px solid #ddd;
  }
}
.rating {
  padding-bottom: 10px;
}
.rating .fa-stack {
  width: 20px;
}
.rating.fa-star {
  color: #999;
  font-size: 15px;
}
.rating .fa-star {
  color: #FC0;
  font-size: 15px;
}
.rating .fa-star + .fa-star {
  color: #E69500;
}
/* product list */
.price {
  color: #444;
}
.price-new {
  font-weight: 600;
}
.price-old {
  color: #dc512c;
  text-decoration: line-through;
}
.price-tax {
  color: #999;
  font-size: 12px;
  display: block;
}
/* BS4 Changes */
.form-check .form-check-input {
  margin-top: 0.25rem;
}
/* Theme Custom CSS */
#display-control #compare-total.a {
  margin-top: -2px;
  padding: 0.35rem 0.565rem;
}
#product-product h1 {
  margin-top: 20px;
  margin-bottom: 10px;
}
#information-contact .card {
  margin-bottom: 20px;
}
#cookie {
  position: fixed;
  bottom: 0;
  left: 0;
  width: 100%;
  height: 150px;
  z-index: 9999;
  opacity: 0.95;
  color: #ecf0f1;
  background: #343a40;
}
#cookie div {
  font-size: 16px;
  color: #FFFFFF;
}
#top {
    background-color: #f8f8f8;
    border-bottom: 1px solid #f5f5f5;
    margin-bottom: 10px;
    position: relative;
    padding-bottom: 0px;
}
#top ul {
  margin-bottom: 0px;
}
#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: #212121;
  font-size: 13px;
}
#parent-cart .btn-inverse {
  background: transparent;
  border: 0px;
  /*text-shadow: none;*/
  color: #61616c;
  font-size: 13px;
  padding-right: 0px !important;
  padding: 0px !important;
  margin-left: 10px !important;
  position: relative !important;
}
#parent-cart .btn-inverse:hover, #parent-cart .btn-inverse:focus {
  color: #000;
}
#search .form-control-lg, #search .btn-lg {
  border: 0px;
  background: transparent;
}
#search .form-control-lg {
  padding-left: 15px;
}
#search .btn-lg {
    padding: 10px 13px;
    color: #fff;
    background: linear-gradient(to right,#8549e3 0,#6935b8 100%);
    /*text-shadow: none;*/
        border-radius: 0px;
}
#search {
      border: 1px solid #e6e6e6;
    border-radius: 6px;
    overflow: hidden;
    background: #ffffff;
    border: 2px solid #8647e9a6;
    border-radius: 0px;
}

.slide.carousel {
    border: 0px solid #fff;
    border-radius: 0px;
    box-shadow: none;
    margin-bottom: 0px;
    overflow: hidden;
}
.slide.carousel a{
  overflow: hidden;
  display: inline-block;
  display: block;
}
.slide.carousel a img{

    transition: all 1s ease 0s;
}

header{  
  background: transparent !important;
  padding: 15px 0px;
  margin-bottom: 10px ;
}
.flex_control {
  justify-content: flex-end;
}
.fa-basket-shopping, header .iBreak {
    height: 40px;
    width: 40px;
    text-align: center;
    line-height: 40px;
    background: #000;
    background: #212121;
    border-radius: 34px;
    color: #fff;
    font-size: 16px;
}
.iBreak {
  display: block;
  padding-bottom: 3px;

}
.wish_acc {
  color: #61616c !important;
  padding: 0px 0px;
}
.wish_acc a {
  color: #212121 !important;
}
.product-thumb .description {
  text-align: center;
}
.product-thumb .description h4 a {
  font-weight: 500;
  color: #000;
}

.product-thumb .image a:hover {
    opacity: 1;
}
.product-thumb .content {
  position: relative;
}
.product-thumb .content .button-group {
    position: absolute;
    width: 100%;
    border: 0px solid #000;
    background: transparent;
    margin: 0px;
    bottom: -40px;
    opacity: 0;
    transition: all 0.5s ease 0s;
    width: 95%;
    margin: auto;
    left: 0px;
    right: 0px;
    height: 41px;
    justify-content: center;
}
.product-thumb:hover .content .button-group {
    opacity: 1;
    bottom: 20px;
}
.product-thumb .content .button-group button, .product-thumb .content .button-group button:hover, .product-thumb .content .button-group button:focus {
  background-color: transparent;
  color: #000;
}
#common-home #content .row {
  margin-bottom: 25px;
}

.slide.carousel a:hover img {
  transform: scale(1.04);
}
footer {
    margin-top: 25px;
    padding-top: 30px;
    padding-bottom: 1px;
    background-color: #f7f7f7;
    border-top: 0px solid #ddd;
    color: #373434;
}
footer li {
    margin-bottom: 14px;
}
footer a {
    color: #fff;
    font-weight: 300;
    font-size: 14px;
}
footer a:hover {
    color: #c5c4c4;
}
footer h5 {
    font-size: 18px;
    font-weight: 500;
    color: #ffffff;
    margin-top: 10px;
    margin-bottom: 10px;
}
.dropdown-menu{
  border: 1px solid #ddd;
  border-radius: 0px;
  box-shadow: 0 1px 4px #00000026;
}
.nav-item.dropdown-menu {
    left: auto;
    right: 0px;
}
.navbar-collapse{
    transition: all 0.5s ease 0s;
}
.list-group-item.active {
  background: #212121;
  border: 0px;
  z-index: 1;
}
.list-group-item.active~.active, .active > .page-link {
    background: #d7d7d7;
    border-color: #cecece;
    color: #000;
}
.btn-primary, .page-link.active{
  background: #212121;
  border: 0px !important;
  color: #fff;
    transition: all 0.5s ease 0s;
    font-weight: 500;
}
.page-link {
  color: #323232;
}
.btn-primary:hover, .btn-primary:focus{
  background: #f5ce1c;
  color: #212121;
}
#product-category .product-thumb{
  padding-bottom: 10px;
  border-bottom: 1px solid #f9f9f9;
}
.product-list .product-thumb .description {
  text-align: left;
}
.product-grid .product-thumb .description {
  text-align: center;
}
.product-list .product-thumb .content .button-group{
  position: relative;
  top: auto;
  opacity: 1;
  bottom: 0px !important;
  justify-content: start !important;
  width: 100%;
    padding: 15px;
    height: auto !important;
}
.product-list .product-thumb .description {
    padding-bottom: 15px !important;
}
.product-list .product-thumb .button-group {
    padding: 0px 10px !important;
    padding-bottom: 15px !important;
}
.breadcrumb {
    border: 0px;
    background: transparent;
    padding: 0px 0;
}
.breadcrumb > li.breadcrumb-item {
    padding: 0 11px;
}
.breadcrumb > li.breadcrumb-item a {
  color: #999;
}  
.breadcrumb > li.breadcrumb-item:after {
    top: 6px;
    right: 0px;
    width: 6px;
    height: 6px;
}
.breadcrumb > li.breadcrumb-item:last-child:after {
  display: none;
}
.nav-tabs{
  border-color: #f9f9f9;
}
.nav-tabs .nav-link {
  margin-bottom: 0px;
  color: #323232;
  font-weight:400;
  font-size: 16px;
  border: 0px;
  border-radius: 6px;
  margin-right: 5px;
  margin-bottom: 2px;
  margin-top: 2px;
}
.nav-tabs .nav-link.active, .nav-tabs .nav-link:hover, .nav-tabs .nav-link:focus {
    background: #212121;
    color: #ffffff;
}
/* Styling for xzoom and placement */

.xzoom-source img,
.xzoom-preview img,
.xzoom-lens img {
  display: block;
  max-width: none;
  max-height: none;
}

/* --------------- */

/* xZoom Styles below */

.xzoom-container {
  display: flex;
  flex-direction: column;
  justify-content: center;
  align-items: center;
}

.xzoom-thumbs {
  text-align: center;
  margin-bottom: 0px;
}

.xzoom,
.xzoom2,
.xzoom3,
.xzoom4,
.xzoom5 {
  box-shadow: none;
  margin-bottom: 15px;
}

/* Thumbs */

.xzoom-gallery,
.xzoom-gallery2,
.xzoom-gallery3,
.xzoom-gallery4,
.xzoom-gallery5 {
  border: 1px solid #f2f2f2;
  margin-left: 5px;
  margin-bottom: 0px;
}

.xzoom-source {
  display: block;
  position: static;
  float: none;
  clear: both;
}

.xzoom-hidden {
  display: block;
  position: static;
  float: none;
  clear: both;
  overflow: hidden;
}

/* Everything out of border is hidden */

/* Preview */

.xzoom-preview {
  border: 1px solid #888;
  background: #2f4f4f;
  box-shadow: 0px 0px 10px rgba(0, 0, 0, 0.5);
}

/* Lens */

.xzoom-lens {
  border: 1px solid #555;
  box-shadow: 0px 0px 10px rgba(0, 0, 0, 0.5);
  cursor: zoom-in;
}

/* Loading */

.xzoom-loading {
  background-position: center center;
  background-repeat: no-repeat;
  border-radius: 100%;
  opacity: 0.7;
  width: 48px;
  height: 48px;
  transform: translate(-50%, -50%);
}

/* Additional class that applied to thumb when it is active */

.xactive {
  box-shadow: 0px 0px 3px 0px rgba(74, 169, 210, 1);
  border: 1px solid #4aaad2;
}
.xactive {
    box-shadow: 0px 0px 3px 0px rgb(58 122 245 / 32%);
    border: 1px solid #3a7af5;
}
/* Caption */

.xzoom-caption {
  position: absolute;
  bottom: 0;
  left: 0;
  background: #000;
  width: 100%;
  text-align: left;

}
  .xzoom-caption span {
    color: #fff;
    display: block;
    font-size: 0.75em;
    font-weight: bold;
    padding: 10px;
  }

@media (max-width: 500px) {
  img.xzoom {
    max-width: 80vw;
    margin-left: auto;
    margin-right: auto;
  }
  .xzoom-thumbs .xzoom-gallery {
    width: 20%;
    max-width: 50px;
  }
}

.btn-light {
  border-color: #dddddd #dddddd #b3b3b3 #b7b7b7;
      background-image: linear-gradient(to bottom, #ffffff, #ebebeb);
}
#cart .dropdown-menu {
    background: #fff;
    border-radius: 20px 15px;
    border: 0px;
    position: fixed !important;
    min-width: auto !important;
    width: 750px;
    width: 660px;
    transform: inherit !important;
    inset: inherit !important;
    right: 0px !important;
    height: 100%;
    top: 0px !important;
    padding: 45px 20px !important;
    height: 570px;
    left: 0px !important;
    margin: auto !important;
    bottom: 0px !important;
}
.shadowPopup {
  position: fixed;
  height: 100%;
  width: 100%;
  background:#10101026;
  left: 0px;
  right: 0px;
  top: 0px;
  z-index: 2;
  display: none;
}
.show~.shadowPopup{
  display: block;
}

.shadowPopup~.dropdown-menu {
  z-index: 3;
}
.closeTogggle {
    position: absolute;
    right: 5px;
    font-size: 25px;
    top: -10px;
    background: #fff;
    border-radius: 35px;
    cursor: pointer;
    color: #212121;
}
.cartSnProdiuct.evenodd {
    border-radius: 8px;
    background: #f7f7f7;
    border: 1px solid #e2e2e2;

}
.cartSnProdiuct.evenodd {
    border-radius: 8px;
    background: #f7f7f7;
    border: 1px solid #efefef;
    min-height: 75px;
}
.cartSnProdiuct {
  gap: 10px;
  margin-bottom: 8px;
  padding: 5px;
}
.dImg {
  width: 15%;
}
.dText {
    width: 50%;
}

.dText  a, .dTotal{
  color: #000;
  font-weight: 600;
}
.dQty {
  width: 20%;
}
.dTotal{
}
.dBtn {
  width: 10%;
}

.dBtn .btn{
  border-radius: 250px;
  padding: 0px;
  line-height: 25px;
    height: 25px;
    width: 25px;
    background: transparent;
    border: 0px;
}
.dBtn .btn.btn-danger {

    background: transparent;
    border: 0px;
    color: #bd362f;
    font-size: 20px;
}

.dBtn .btn i {
  display: block;
}
.quantitygrp .input-group-btn {
      border: 1px solid #ced4da;
}
.quantitygrp .input-group-btn{
  border: 0px !important;
} 

.quantitygrp input {
  padding: 10px;
}
.quantitygrp.input-group .btn {
  padding: 8px 20px;
}
.quantitygrp {
    width: 100%;
    border-radius: 20px;
    overflow: hidden;
    border: 1px solid #eaeaea;
}
.cartSnProdiuctPage {
  border: 1px solid #ddd;
}
.mobShow {
  display: none !important;
}
#accordion{
  margin-bottom: 10px;
}
.qval {
    font-family: 'Jost', sans-serif;
    position: absolute;
    font-weight: 400;
    height: 18px;
    width: 18px;
    background: #fada4a;
    border-radius: 15px;
    top: -5px;
    left: 24px;
    padding: 0;
    line-height: 19px;
    font-size: 14px;
    color: #212121;
}
header .fa-heart {
  position: relative;
}
header .fa-heart .qval {
    left: 23px;
    right: 0px;
    margin: auto;
}
.xzoom-preview{
  z-index: 3;
}
.border_product {
    border: 1px solid #f2f2f2;
    margin-bottom: 30px;
    padding: 15px;
    border-radius: 20px;
}
.Verticial_img img{
  margin-bottom: 10px;
}
.carousel .carousel-control-prev, .carousel .carousel-control-next {
  margin-bottom: 25px;
}
.navbar-nav.dropdown:last-child .dropdown-menu {
  right: 0px;
}
.header .dropdown-item.active, .dropdown-item:active {
  background: #f9f9f9 !important;
}
.carousel-item a {
  position: relative;
}
.carousel-item a:before {
    position: absolute;
    top: 0;
    left: -100%;
    z-index: 2;
    display: block;
    content: '';
    width: 50%;
    height: 100%;
    background: -webkit-linear-gradient(left, rgba(255,255,255,0) 0%, rgba(255,255,255,.3) 100%);
    background: linear-gradient(to right, rgba(255,255,255,0) 0%, rgba(255,255,255,.3) 100%);
    -webkit-transform: skewX(-25deg);
    transform: skewX(-25deg);
}
.carousel-item a:hover:before {
    -webkit-animation: shine .75s;
    animation: shine .75s;
}

@-webkit-keyframes shine {
  100% {
    left: 125%;
  }
}
@keyframes shine {
  100% {
    left: 125%;
  }
}
@media (min-width: 767px) {
  .searchCol {
    order: 2;
  }
  .iconCol {
    order: 3;
  }
}

@media (max-width: 767px) {
  .container, .container-sm {
      max-width: 100%;
  }
  #output-cart .table-bordered > :not(caption) > * > * {
    padding: 6px !important;
  }
  .product-thumb .button button, .product-thumb .button-group button {
      margin: 0px 2px !important;
  }
  .category-layout h4 {
    font-size: 13px !important;
  }

  .specialProductLayout.row .col {
    width: 100%;
    flex: 1 0 100%;
  }
}
@media (max-width: 576px) {

  ul.pagination {
    margin-bottom: 10px;
    justify-content: center;
  }
  #product-list~div.row .col-sm-6 {
    text-align: center !important;
  }
  footer .row>div{
    width: 100%;
  }
  footer .row>div:last-child {
    border-bottom: 0px;
  }
  .product-thumb .button button, .product-thumb .button-group button {
    width: 36px !important;
    height: 36px !important;
    line-height: 34px !important;
    border-radius: 10px !important;
  }

  #shopping-cart #output-cart .form-control {
    width: 45px;
    padding: 4px 0px;
    padding-left: 10px;
    display: block;
    border-radius: 6px;
    margin-bottom: 5px;
  }
  #shopping-cart #output-cart .btn {
    border-radius: 6px;
    margin-bottom: 5px;
    margin-right: 5px;
    padding: 3px 8px;
  }
}
.xzoom-container .owl-carousel .owl-item img {
  width: auto !important;
  max-width: 100%;
}
.xzoom-container .owl-nav button {
  position: absolute;
  margin-top: 0px !important;
  top: 0px;
  bottom: 0px;
  height: 25px;
  margin: auto !important;
  background: #3a7af5 !important;
  opacity: 1 !important;
  color: #fff !important;
  height: 23px;
  width: 23px;
}
.xzoom-container .owl-nav {
  margin: 0px !important;
}
.xzoom-container .owl-nav button span {
  font-size: 25px;
  display: block;
  top: -1px;
  position: relative;
}
.xzoom-container .owl-nav button.owl-prev {
  left: 0px;
}
.xzoom-container .owl-nav button.owl-next {
  right: 0px;
}
.xzoom-container .owl-dots {
  position: absolute;
  display: none;
}
.btn-light, .quantitygrp .input-group-btn {
    border-color: #dee2e6;
    background: #ededed;
    border-width: 1px;
    color: #264962;
}
.quantitygrp input {
  text-align: center;
  font-weight: 600;
  border: 0px;
}
.btn-light:hover, .btn-light:focus, .btn-light:active, .btn-light.active, .btn-light.disabled, .btn-light[disabled] {
  border-color: #212121;
    background: #212121;
    border-width: 1px;
    color: #ffffff;
}
.searchCol .btn:hover, .searchCol .btn:hover {
    color: #212121;
    border-color: #dee2e6 !important;
}
.input-group .btn {
  z-index: 1;
}

#checkout-cart #content {
  min-height: auto;
}



.footer-newsletter>.row {
    align-items:center;
}
.product-thumb {
      background: #f9f9f9 !important;
    overflow: hidden;
    border-radius: 14px;
    border: 1px solid #efefef;
    padding: 5px;
}
.product-thumb .image {
    background: #ffffff;
}
.main_newsletter .input-group .btn {
    border-radius:2px;
}
.main_newsletter .input-group input {
    border:0px;
}
.navbar-collapse {
    justify-content: center;
}
header .iBreak.fa-user {
    background: #e7e7e7;
    color: #484848;
}
.searchCol input{

  border-radius: 40px;
  border-right: 0px !important;
}
.searchCol .btn {
  border-radius: 40px;
  border-left: 0px !important;
  background: transparent;
}
.product-thumb .image {
    text-align: center;
    background: #ffffff;
    border-radius: 14px;
    border-radius: 14px;
    overflow: hidden;
}
.product-thumb:hover {
    background: #f7f5f6;
}
.product-thumb .description {
    padding: 15px;
    margin-bottom: 0px;
    text-align: center;
    padding-bottom: 35px;
}
.product-thumb .description h4 {
    font-size: 16px;
    font-weight: 600;
}
.product-thumb .description h4 a {
    color: rgb(33 37 41);
}
.product-thumb .description p {
    font-size: 12px;
    line-height: 18px;
}
.product-thumb .button button, .product-thumb .button-group button {
    width: 50px;
    height: 50px;
    border: none;
    border: 0px solid var(--bs-border-color) !important;
    background-color: #f8f8f8;
    color: #696969;
    line-height: 38px;
    text-align: center;
    border-radius: 30px;
    margin: 0px 5px;
}
.product-list .product-thumb .button-group {
    padding: 0px 0px !important;
}
.product-thumb .button button, .product-thumb .button-group button {
    background: #ffffff !important;
    border: 1px solid #efefef !important;
    padding: 0px;
}
html body .product-thumb button:hover {
    background: #fada4a !important;
    color: #312f2f;
    border-color: #fada4a !important;
}
#cart .table-bordered > :not(caption) > * > *, #output-cart .table-bordered > :not(caption) > * > * {
    border-width: inherit;
}
#cart .table-bordered tbody tr:first-child td, #cart .table-bordered tbody tr:first-child, #output-cart .table-bordered  tr:first-child {
  border-top:0px !important ;
}
#cart .table-bordered > :not(caption) > * > *, #output-cart .table-bordered > :not(caption) > * > * {
    padding: 13px;
}
#button-cart {
  width: 100%;
  background: #212121;
  color: #fff;
  padding: 10px;
  border: 1px solid #212121 !important;
  border-radius: 50px;
}
#cart .dropdown-menu .bottomCartbtn .btn {
  border: 1px solid #212121 !important;
}

#cart .dropdown-menu .bottomCartbtn .btn:hover, #button-cart:hover  {
  background: #454545;
}
#cart .dropdown-menu .bottomCartbtn .btn strong{
  font-weight: 400 !important;
}
.btncheckout {
  background: transparent !important;
  border: 1px solid #212121 !important;
  color: #212121 !important;
}
.posbtm {
    position: absolute;
    bottom: 0px;
    left: 0px;
    width: 95%;
    right: 0px;
    margin: auto;
}
#cart .dropdown-menu ul {
  padding: 0px;
  margin: 0px;
  list-style: none;
}
.relative {
  position: relative;
}
.emptyCart {
    position: absolute;
    top: 0px;
    bottom: 0px;
    margin: auto;
    height: 289px;
    width: 100%;
}
.emptyCart i {
    font-size: 30px;
    background: #f0f0f0c7;
    color: #818181;
    width: 200px;
    height: 200px;
    line-height: 200px;
    font-size: 70px;
}
.cartSnProdiuct.evenodd .dot {
    width: 3px;
    height: 3px;
    display: inline-block;
    background: #a4a4a4;
    border-radius: 40px;
    margin-left: 10px;
    position: relative;
}
.cartSnProdiuct.evenodd .dotHere {
  display: flex;
  align-items: center;
  gap: 5px;
}
.scrollCart {
    max-height: 270px;
    overflow: hidden;
    overflow-y: auto;
}
.circleCart, .circleCartVal, #checkout-confirm {
  background: #fff;
  border-radius: 10px;
  padding: 10px;
  margin-top: 15px;
}
#checkout-confirm {
  background: #f9f9f9;
  border: 1px solid #ddd;
}
.circleCartcontent {
  padding: 25px;
}
.circleCart .table > :not(caption) > * > *, #checkout-confirm .table > :not(caption) > * > * {
  background: transparent;
  color: #5b5b5b;
}
.circleCart .table tr:last-child, .circleCart .table tr:last-child td, #checkout-confirm .table > :not(caption) > * > *{
  border: 0px;
}
#checkout-cart .breadcrumb {
  margin-top: 0px !important;
  padding-top: 20px;
}
#checkout-cart {
  padding-bottom: 25px;
}
.circleCartVal .table > :not(caption) > * > * {
  border: 0px;
  color: #5b5b5b;
}
.circleCartVal .table tr:first-child, .circleCartVal .table tr:first-child td, .circleCartVal .table tr:last-child, .circleCartVal .table tr:last-child td, #checkout-confirm .table thead tr:first-child{
  border: 0px;
}
.circleCartVal .table tr td {
  padding: 15px 5px;
}

.accordion-item {
  border-radius: 10px !important;
  border: 0px;
  margin-bottom: 10px;
  overflow: hidden;
}
.accordion-button, .accordion-body {
  background: #f9f9f9;
}
.searchCol form {
  margin-bottom: 0px !important;
}
.carousel-control-prev, .carousel-control-next {
    font-size: 20px !important;
}
#common-home{
  padding-bottom: 25px;
}
.nav.nav-tabs{
  background: #f3f3f3;
  padding: 10px;
  border-radius: 10px;
}

#product #form-product .mb-3, #form-register, .card, #account-login .rounded {
    background: #fafafa;
    padding: 10px;
    border-radius: 10px;
    border: 1px solid #ebebeb;
}
.productTitle+div .price-new {
    background: #3a7af5;
    padding: 7px 14px;
    display: inline-block;
    border-radius: 7PX 16px;
    color: #ffffff;
    font-size: 26px;
    font-weight: 500;
}
.productTitle {
  color: #1b1b1b;
  font-weight: 500;
}

/* ============================================================
   FIX: FOOTER LAYOUT & RESPONSIVENESS
   ============================================================ */
   
.ciFooter {
    margin-top: 0px;
    padding: 30px;
    background: #fff;
}
.ciFooter .container{
    background: #1b1b1b;
    max-width: 100%;
    padding: 70px 60px;
    padding-bottom: 20px;
    border-radius: 30px;
}

/* Mobile & Tablet Optimization (< 992px) */
@media (max-width: 991px) {
    
    /* 1. Fix the massive padding that squashes everything */
    .ciFooter .container {
        padding: 40px 20px !important; /* Reduced from 70px 60px */
        height: auto !important;
    }

    /* 2. Stack the Main Columns (Logo on top, Links below) */
    .ciFooter .row {
        display: flex;
        flex-direction: column;
    }

    /* Force the Logo Column and Links Column to be full width */
    .ciFooter > .container > .row > .col-sm-3, 
    .ciFooter > .container > .row > .col-sm-9 {
        width: 100% !important;
        max-width: 100% !important;
        flex: 0 0 100% !important;
    }

    /* 3. Style the Logo Area */
    .cusFirFooter {
        text-align: center; /* Center the logo */
        margin-bottom: 40px; /* Add space so text doesn't overlap logo */
        border-bottom: 1px solid #333; /* Optional: Divider line */
        padding-bottom: 30px;
    }
    
    .fLogo {
        max-width: 150px; /* Ensure logo isn't huge */
    }

    /* 4. Handle the Link Columns (Informatie, Klantenservice, etc.) */
    /* Reset the inner row to standard flex behavior */
    .ciFooter .col-sm-9 .row {
        display: flex;
        flex-direction: row; /* Keep horizontal direction to allow wrapping */
        flex-wrap: wrap; /* Allow items to wrap to next line */
    }

    /* Make each link list take up 50% width (2 columns side-by-side) */
    .ciFooter .col-sm-9 .col-sm-3 {
        width: 50% !important; 
        flex: 0 0 50% !important;
        margin-bottom: 30px;
        padding-right: 10px; /* Add breathing room */
    }
}

/* 5. Extra Small Screens (Phone < 576px) */
/* Stack link lists vertically for better readability */
@media (max-width: 575px) {
    .ciFooter .col-sm-9 .col-sm-3 {
        width: 100% !important;
        flex: 0 0 100% !important;
        text-align: center; /* Center text on phones */
    }
}

.socials_link {
  margin-top: 15px;
}
.socials_link a {
    opacity: 1;
    color: #fff;
    background-color: #9494941a;
    border-radius: 10px;
    width: 50px;
    height: 50px;
    overflow: hidden;
    display: inline-block;
    text-align: center;
    font-size: 25px;
    line-height: 50px;
    margin-top: 05px;
    margin-right: 5px;
}
.socials_link a:hover{
  background: #ffff;
  color: #212121;
}
.fcopy p {
  color: #fff;
}
.note p {
  opacity: 0.5;
  font-weight: 300;
}
.form-control:focus {
  box-shadow: none;
  border-color: #dee2e6;
}

#common-home #content {
  min-height: auto;
}
#CiCartModal .modal-body {
  min-height: 550px;
}
#CiCartModal  .modal-content{
  border-radius: 20px;
}
#CiCartModal .popclose {
    background: transparent;
    color: #212121;
    opacity: 1;
    font-size: 23px;
    position: absolute;
    top: -7px;
    right: -4px;
    background: #fff;
    border-radius: 30px;
    padding: 0px;
}
.alert-success {
  background: #403f3ce8;
    color: #fff;
    border-color: #403f3c;
}
.alert-success .btn-close {
    background-color: #fff;
    padding: 7px;
    border-radius: 5px;
    opacity: 1;
    width: 7px;
    height: 7px;
    background-size: 43%;
    top: 15px;
    right: 10px;
}
.alert-success a {
  color: #fada4a;
}
.modalmy {
  position: fixed;
  width: 0100%;
  height: 100%;
  top: 0px;
  left: 0px;
}
#CiCartModal {
  display: none;
  opacity: 1;
}
#alert.position-fixed  .alert {
    width: 98%;
    min-width: auto;
}
html body #alert.position-fixed {
    width: 98%;
    margin: auto;
    right: 0px !important;
    left: 0px;
}


.ciproduct_carousel .tabs_here {
    width: 100%;
}
.ciproduct_carousel .nav-tabs {
    background: transparent !important;
}

.ProductthemeCss.product-thumb {
    border: 0px !important;
    border-right: 1px solid #efefef !important;
    background: transparent !important;
    border-radius: 0px !important;
}
.ProductthemeCss .ProductthemeImage {
  width: 100px;
}
.ProductthemeCss.product-thumb .content .button-group {
    margin-top: 10px;
    position: relative;
    bottom: 0px;
    opacity: 1;
    width: 100%;
    left: 0px;
    right: auto;
    height: auto;
    justify-content: center;
}
.ProductthemeCss.product-thumb .button button, .product-thumb .button-group button {
    width: 35px;
    height: 35px;
    border: none;
    border: 1px solid var(--bs-border-color) !important;
    background-color: #f8f8f8;
    color: #696969;
    line-height: 0px;
    text-align: center;
    border-radius: 8px;
    margin: 0px 5px;
    font-size: 13px;
}
.ciproduct_carousel .product-thumb {

    background: transparent !important;
}
.ciproduct_carousel .product-thumb .caption h4 a {
    background: transparent !important;
    padding: 7px 13px !important;
}
.ciproduct_carousel .product-thumb .caption h4 {
  padding-bottom: 0px !important;
}

/* ============================================================
   HET DEFINITIEVE MEGA MENU
   ============================================================ */

/* 1. BASIS (ALTIJD NODIG) */
/* We zetten de kleur op de 'container' van het menu zodat de balk doorloopt */
#menu { 
    background: #3a7af5 !important; 
    border: 0; 
    min-height: 45px; 
    padding: 0; 
    position: relative;
    z-index: 10;
}

/* Witte tekst in de blauwe balk */
#menu .nav-link {
    color: #ffffff !important;
    font-weight: 500;
}

/* DE VEILIGE BREEDTE FIX: Verbreed de achtergrond zonder de knoppen te storen */
@media (min-width: 992px) {
    #menu::before {
        content: "";
        position: absolute;
        top: 0;
        bottom: 0;
        left: -5000px;
        right: -5000px;
        background: #3a7af5;
        z-index: -1; /* Achter de knoppen, zodat klikken werkt */
    }
}

#menu .nav.navbar-nav { display: flex; align-items: center; }
.mega-dropdown { position: static !important; }

.mega-menu-container {
    width: 100% !important; 
    max-width: 1140px; 
    left: 0 !important; 
    right: 0 !important;
    margin: 0 auto !important; 
    padding: 0 !important; 
    border: 1px solid #ddd !important;
    background: #fff; 
    box-shadow: 0 15px 35px rgba(0,0,0,0.2);
}
.mega-menu-wrapper { display: flex; min-height: 500px; }
.mega-menu-sidebar { width: 250px; background: #f4f4f4; border-right: 1px solid #eee; flex-shrink: 0; }
.sidebar-link { display: block; padding: 12px 20px; color: #333; font-size: 14px; border-bottom: 1px solid #eee; text-decoration: none; cursor: pointer; }
/* --- SCROLLBAR VOOR LANGE LIJST --- */

/* 1. Container settings: Scrollbar + Verwijder cirkels */
.mega-menu-sidebar .nav-tabs-vertical {
    max-height: 500px;       /* Maximale hoogte */
    overflow-y: auto;        /* Scrollbar aan */
    overflow-x: hidden;      
    padding-right: 5px;
    
    /* HIER VERWIJDEREN WE DE CIRKELS: */
    list-style: none !important; 
    padding: 0 !important;       
    margin: 0 !important;
}

/* 2. Maak van de link een "Flexbox" (Lost het pijl-probleem op) */
.sidebar-link {
    display: flex !important;           /* Activeer flexbox */
    justify-content: space-between !important; /* Tekst links, pijl rechts */
    align-items: center !important;     /* Netjes verticaal gecentreerd */
    gap: 10px;                          /* Ruimte tussen tekst en pijl */
    
    /* Zorg dat lange tekst netjes wikkelt */
    white-space: normal !important; 
    line-height: 1.4;    
    
    /* Bestaande styles */
    padding: 12px 20px; 
    color: #333; 
    font-size: 14px; 
    border-bottom: 1px solid #eee; 
    text-decoration: none; 
    cursor: pointer;
}

/* 3. Make the sidebar link turn white and seamless when hovered */
.sidebar-item:hover .sidebar-link {
    background: #ffffff;      /* Match the content background */
    color: #3a7af5;           /* Change text to blue */
    font-weight: 700;         /* Make text bold */
    border-right: 1px solid #fff; /* Hide the border between sidebar and content */
    margin-right: -1px;       /* Pull it slightly over the border */
    position: relative;       /* Ensure it sits on top */
    z-index: 2;
}

/* 4. Zorg dat de PIJL ook wit wordt bij hover */
.sidebar-item:hover .sidebar-link i {
    color: #ffffff !important;
}



/* --- UNIVERSAL SCROLLBAR BRANDING (AUTO-HIDE VERSION) --- */

/* 1. Standard Properties (Chrome, Edge, Firefox) */
.mega-menu-sidebar .nav-tabs-vertical,
.mega-menu-content {
    scroll-behavior: smooth;
    overscroll-behavior: contain;
    /* Default: Transparent thumb, light track */
    scrollbar-width: thin; 
    scrollbar-color: transparent transparent; 
    transition: scrollbar-color 0.3s ease;
}

/* Show scrollbar on hover for Standard browsers */
.mega-menu-sidebar .nav-tabs-vertical:hover,
.mega-menu-content:hover {
    scrollbar-color: #3a7af5 #f1f1f1; 
}

/* 2. Webkit Refinements (Chrome/Safari/Edge) */
.mega-menu-sidebar .nav-tabs-vertical::-webkit-scrollbar,
.mega-menu-content::-webkit-scrollbar {
    width: 6px;
}

.mega-menu-sidebar .nav-tabs-vertical::-webkit-scrollbar-track,
.mega-menu-content::-webkit-scrollbar-track {
    background: transparent; /* Track is hidden until hover */
}

.mega-menu-sidebar .nav-tabs-vertical::-webkit-scrollbar-thumb,
.mega-menu-content::-webkit-scrollbar-thumb {
    background: transparent; /* Thumb is hidden by default */
    border-radius: 10px;
    transition: background 0.3s ease-in-out;
}

/* Show on Hover: Sidebar and Content */
.mega-menu-sidebar .nav-tabs-vertical:hover::-webkit-scrollbar-thumb,
.mega-menu-content:hover::-webkit-scrollbar-thumb {
    background: #3a7af5; 
    border: 1px solid #f1f1f1;
}

/* Keep track visible on hover for better orientation */
.mega-menu-sidebar .nav-tabs-vertical:hover::-webkit-scrollbar-track,
.mega-menu-content:hover::-webkit-scrollbar-track {
    background: #f1f1f1;
}

/* RECHTS: CONTENT (DESKTOP BASIS) */
.mega-menu-content {
    display: none; position: absolute; top: 0; left: 250px; right: 0; bottom: 0;
    background: #fff; padding: 25px; overflow-y: auto;
}
.mega-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 25px; }

.lvl-2-header { 
  display: block; 
  color: #3a7af5; /* Helderblauw aangepast */
  font-weight: 800; 
  text-transform: uppercase; 
  border-bottom: 2px solid #3a7af5; /* Helderblauw aangepast */
  margin-bottom: 10px; 
  padding-bottom: 5px; 
}
.grandchildren li a { display: block !important; color: #555 !important; font-size: 13px !important; padding: 4px 0 !important; }

/* 2. DESKTOP SPECIFIEK (Samengetrokken tot één blok) */
@media (min-width: 992px) {
    .sidebar-item:hover .mega-menu-content { display: block !important; }
    .mega-menu-sidebar .sidebar-item:first-child .mega-menu-content { display: block !important; }
    .mobmenu { display: none !important; }
    .mega-menu-wrapper { display: flex !important; }
    .mega-menu-sidebar { width: 250px !important; flex-shrink: 0; }
	
	/* Lock the active category style */
.sidebar-link.active-shield {
    background: #ffffff !important;
    color: #3a7af5 !important;
    font-weight: 700 !important;
    border-right: 3px solid #fff !important; /* Thick white border to overlap scrollbar */
    margin-right: -3px;
    position: relative;
    z-index: 100 !important;
}

/* Force hide the arrow to stop the 'reappearing' bug */
.sidebar-link.active-shield i {
    display: none !important;
    visibility: hidden !important;
}

/* The 'Safety Bridge' - Adds an invisible layer over the scrollbar */
.mega-menu-sidebar::after {
    content: "";
    position: absolute;
    top: 0;
    right: -20px; 
    width: 25px; /* This covers the scrollbar gutter completely */
    height: 100%;
    background: transparent;
    z-index: 1;
    pointer-events: none; /* Allows scrolling but stays 'inside' the menu */
}
}

/* 3. MOBIELE VERSIE (Tot 991px) */
@media (max-width: 991px) {
    /* 1. HERSTEL BOVENSTE BALK & ACCOUNT (Zorg dat kleine iconen bovenin blijven) */
    #top .nav, #top .list-inline { display: block !important; }
    #top .d-md-inline { display: none !important; } 

    /* 2. HEADER ICONS (Favorieten & Account naast het logo) */
    header .row { display: flex !important; flex-wrap: wrap !important; align-items: center !important; }
    header .col-6:first-child { width: 50% !important; order: 1 !important; }
    header .iconCol { 
        width: 50% !important; order: 2 !important; 
        display: flex !important; justify-content: flex-end !important; align-items: center !important;
        gap: 10px; 
    }
    header .searchCol { width: 100% !important; order: 3 !important; flex: 0 0 100% !important; margin-top: 15px !important; }

    .wish_acc, .mobmenu { display: inline-block !important; position: relative !important; }
    .mobHide { display: none !important; }
	
	/* Expand the Mobile Menu Hitbox */
	.mobmenu.mobShow {
		display: flex !important;
		align-items: center;
		justify-content: center;
		width: 45px !important;  /* Standard comfortable touch size */
		height: 45px !important; 
		cursor: pointer;
		margin-right: 5px;
		/* Increase the 'invisible' tap area */
		padding: 10px; 
		background: #f8f9fa; /* Light grey circle so users see where to tap */
		border-radius: 50%;
		transition: background 0.2s;
	}

	.mobmenu.mobShow:active {
		background: #e9ecef; /* Visual feedback when tapped */
	}

	.mobmenu.mobShow i {
		font-size: 20px !important; /* Slightly larger icon */
		color: #333 !important;
	}

    /* 3. VERBERG DE BLAUWE MENU BALK (Bootstrap Reset) */
    #menu.bg-primary { 
        background: transparent !important; 
        border: none !important; 
        min-height: 0 !important; 
        height: 0 !important; 
        margin: 0 !important;
        padding: 0 !important;
        box-shadow: none !important;
    }
    #menu .container { padding: 0 !important; }

    /* 4. MOBIELE OVERLAY (Het menu zelf) */
    #narbar-menu {
        display: none; position: fixed !important; top: 0 !important; left: 0 !important;
        width: 100vw !important; height: 100vh !important; background: #ffffff !important;
        z-index: 999999999 !important; overflow-y: auto !important; padding: 0 !important;
    }
    body.menu-open #narbar-menu { display: block !important; }
    body.menu-open { overflow: hidden; }

    .mobile-link {
        display: flex !important; justify-content: space-between !important; align-items: center !important;
        padding: 15px 20px !important; border-bottom: 1px solid #eee !important;
        text-align: left !important; color: #333 !important; font-weight: 500 !important;
        text-decoration: none !important; background: #fff !important; width: 100% !important;
    }

    /* 5. LEVEL 3 (Sub-items) ONDER ELKAAR */
    .mobile-sub-content { background: #f9f9f9; }
    .mobile-sub-content a {
        display: block !important; padding: 12px 20px 12px 45px !important; 
        color: #666 !important; text-decoration: none !important; border-bottom: 1px solid #eee !important;
        text-align: left !important;
    }
}

/* --- FINAL FIX FOR SMALL SCREENS (< 382px) --- */
@media (max-width: 382px) {
    /* 1. Anchor Wishlist (ID: wishlist-total) to the top bar */
    #wishlist-total {
        position: absolute !important; /* Changed from fixed to stop scrolling down */
        top: 12px !important;      /* Aligned vertically with Person icon */
        right: 60px !important;    /* Spacing next to Person icon */
        z-index: 9000 !important;
        
        /* Strip all button styling */
        background: transparent !important;
        border: none !important;
        box-shadow: none !important;
        padding: 0 !important;
        margin: 0 !important;
        width: auto !important;
        height: auto !important;
        min-height: 0 !important;
    }

    /* 2. Style the Heart Icon (Black & Correct Size) */
    #wishlist-total i {
        color: #212121 !important; 
        font-size: 15px !important; 
        line-height: 1 !important;
        background: transparent !important;
        width: auto !important;
        height: auto !important;
    }

    /* Hide the yellow '0' badge */
    #wishlist-total .qval {
        display: none !important;
    }

    /* 3. Hide icon when menu is open */
    body.menu-open #wishlist-total {
        display: none !important;
    }

    /* 4. Layout Adjustments to ensure the top bar has space */
    header .col-6:first-child {
        width: 75% !important; 
    }

    header .iconCol {
        width: 25% !important;
        display: flex !important;
        justify-content: flex-end !important;
        align-items: center !important;
    }
}

/* --- ULTRA SMALL SCREENS (< 350px) --- */
/* Only shrink the logo if the screen is super tiny */
@media (max-width: 350px) {
    #logo img {
        max-width: 150px !important; /* Force logo smaller so it fits */
    }
}
@media (max-width: 300px) {
    #logo img {
        max-width: 100px !important; /* Force logo smaller so it fits */
    }
}

/* --- Refinded Search on category --- */

.refine-title {
    font-size: 1.25rem;
    font-weight: 600;
    color: #333;
    border-bottom: 2px solid #3a7af5;
    display: inline-block;
    padding-bottom: 5px;
}
.refine-card {
    background: #fff;
    border: 1px solid #eee;
    border-radius: 4px;
    transition: all 0.2s ease-in-out;
}
.refine-card:hover {
    border-color: #3a7af5;
    box-shadow: 0 4px 12px rgba(58, 122, 245, 0.1);
}
.refine-link { text-decoration: none; color: #333; }
.refine-parent { color: #3a7af5; }
/* Multi-column list for many sub-categories */
.grandchildren-list {
    column-count: 2;
    column-gap: 15px;
    border-left: 2px solid #e9ecef !important;
}

@media (max-width: 767px) {
    .grandchildren-list {
        column-count: 1; /* Stack them on mobile for better readability */
    }
}
/* --- End Refinded Search on category --- */

/* --- Back to top button --- */
#back-to-top {
    position: fixed;
    bottom: 95px; 
    right: 23px; 
    z-index: 9999;
    border: none;
    outline: none;
    background-color: #3a7af5;
    color: white;
    cursor: pointer;
    width: 50px;
    height: 50px;
    border-radius: 50%;
    font-size: 20px;
    box-shadow: 0 4px 15px rgba(0, 0, 0, 0.2);
    
    /* Smooth Transitions */
    opacity: 0;
    visibility: hidden;
    transition: opacity 0.4s ease, visibility 0.4s ease, transform 0.2s ease, background-color 0.2s;
    
    /* Center the icon perfectly */
    display: flex;
    align-items: center;
    justify-content: center;
}

#back-to-top.show {
    opacity: 1;
    visibility: visible;
}

#back-to-top:hover {
    background-color: #285ec7;
    transform: translateY(-5px);
}

/* Mobile Alignment */
@media (max-width: 767px) {
    #back-to-top {
        bottom: 90px;
        right: 18px;
        width: 45px;
        height: 45px;
    }
}
/* --- End Back to top button --- */

/* Product Comparison Modernization */
#product-compare h1 {
    font-size: 24px;
    font-weight: 700;
    margin-bottom: 20px;
    color: #333;
}

#product-compare .table-bordered {
    border: 1px solid #eee;
    border-radius: 8px;
    overflow: hidden;
    border-collapse: separate;
}

/* Header Row Styling */
#product-compare thead td, 
#product-compare .table-bordered td:first-child {
    background-color: #f8fafd; /* Light blue tint */
    font-weight: 600;
    color: #333;
    width: 20%;
}

/* Specific Blue Accents for Category Headers */
#product-compare .table-bordered thead tr td,
#product-compare .table-bordered tbody tr:first-child td {
    border-top: 3px solid #3a7af5; /* Brand Blue */
}

/* Styling Product Names */
#product-compare a strong {
    color: #3a7af5;
    font-size: 16px;
    transition: color 0.2s;
}

#product-compare a strong:hover {
    color: #285ec7;
}

/* Center and Style Comparison Buttons */
#product-compare .btn-primary {
    background-color: #3a7af5;
    border-color: #3a7af5;
    padding: 8px 15px;
    font-size: 13px;
    border-radius: 4px;
}

#product-compare .btn-danger {
    padding: 8px 15px;
    font-size: 13px;
    border-radius: 4px;
}

#product-compare td:last-child {
    text-align: center;
    vertical-align: middle;
}

/* Interactive Zoom for Comparison Images */
#product-compare .img-thumbnail {
    transition: transform 0.3s cubic-bezier(0.175, 0.885, 0.32, 1.275);
    border: none !important;
}

#product-compare .img-thumbnail:hover {
    transform: scale(1.15); /* Subtle but premium pop-out */
    z-index: 5;
}
/* End Product Comparison Modernization */

/* Branded Scrollbar for Search Results */
#live-search-results {
    scrollbar-width: thin;
    scrollbar-color: #3a7af5 #f1f1f1;
	display: none;
    position: absolute;
    top: 100%;
    left: 0;
    right: 0;
    z-index: 99999999 !important;
    background: #ffffff;
    border: 1px solid #ddd;
    border-radius: 0 0 10px 10px;
    box-shadow: 0 15px 35px rgba(0,0,0,0.2);
    max-height: 450px;
    overflow-y: auto;
}

#live-search-results::-webkit-scrollbar {
    width: 6px;
}

#live-search-results::-webkit-scrollbar-thumb {
    background: #3a7af5;
    border-radius: 10px;
}

/* Styling for the Live Search Compare Button */
.live-search-compare-btn {
    width: 35px;
    height: 35px;
    display: flex;
    align-items: center;
    justify-content: center;
    border-radius: 8px;
    color: #666;
    background: #fff;
    border: 1px solid #ddd;
    transition: all 0.2s ease-in-out;
    padding: 0;
}

.live-search-compare-btn:hover {
    background: #3a7af5;
    color: #ffffff;
    border-color: #3a7af5;
    transform: translateY(-2px);
    box-shadow: 0 4px 10px rgba(58, 122, 245, 0.2);
}

/* Style the "View All" link at the bottom as a button */
.view-all-link {
    display: block;
    padding: 10px;
    background: #f8fafd;
    color: #3a7af5 !important;
    text-decoration: none;
    font-weight: 700;
    border-top: 1px solid #eee;
    transition: background 0.2s;
}

.view-all-link:hover {
    background: #3a7af5;
    color: #ffffff !important;
}

#live-search-list li {
    border-bottom: 1px solid #f1f1f1;
}

#live-search-list li:last-child {
    border-bottom: none;
}

.live-search-item {
    display: flex;
    align-items: center;
    padding: 12px 15px;
    text-decoration: none;
    color: #333;
    transition: background 0.2s;
}

.live-search-item:hover {
    background: #f8fafd;
    text-decoration: none;
}

.live-search-image {
    width: 50px;
    height: 50px;
    object-fit: contain;
    margin-right: 15px;
    background: #fff;
    padding: 3px;
    border: 1px solid #eee;
    border-radius: 4px;
}

.live-search-info {
    flex-grow: 1;
    overflow: hidden;
}

.live-search-name {
    display: block;
    font-size: 14px;
    font-weight: 500;
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
}

.live-search-price {
    display: block;
    font-weight: 700;
    color: #3a7af5;
    font-size: 13px;
}

/* Position the X comfortably inside the white bar */
#search-clear {
    position: absolute;
    right: 45px; /* Perfect spot next to the magnifying glass */
    top: 50%;
    transform: translateY(-50%);
    z-index: 999999999 !important; /* Must be higher than browser dropdown */
    cursor: pointer;
    color: #bbb;
    font-size: 18px;
    display: none;
    padding: 8px;
}

#search-clear:hover {
    color: #3a7af5;
}

/* IMPORTANT: Increase padding so text doesn't run into the X */
#search input[name='search'] {
    padding-right: 80px !important;
}

/* Force Live Search to stay ON TOP of browser history */
#live-search-results {
    z-index: 999999999 !important;
}

/* Zoom on product fix */
#product-product .product-thumb,
#product-product .product-thumb .image {
    overflow: visible !important;
    z-index: auto !important;
}

.xzoom-preview {
    z-index: 10000 !important;
}

/* ============================================================
   COMPLETE PRODUCT PAGE REDESIGN (Smart Layout)
   ============================================================ */

/* 1. MODERN TABS (Responsive: Line on Desktop, Box on Mobile/Tablet) */
.product-tabs-container {
    margin-top: 40px;
    border-top: 1px solid #eee;
    padding-top: 20px;
}

/* --- DESKTOP DEFAULT (> 992px) --- */
/* Single line with blue underline */
.product-tabs-container .nav-tabs {
    border-bottom: 2px solid #f0f0f0;
    margin-bottom: 15px;
    background: transparent !important;
    padding: 0;
    gap: 20px; /* Space between tabs */
    display: flex;
    flex-wrap: wrap; /* Safe wrapping for desktop too */
}

.product-tabs-container .nav-link {
    border: none !important;
    background: transparent !important;
    color: #555 !important;
    font-size: 16px;
    font-weight: 600;
    padding: 15px 5px !important; /* Less side padding, let Gap handle space */
    margin: 0;
    border-radius: 0;
    position: relative;
    opacity: 0.6;
    transition: all 0.2s ease;
}

.product-tabs-container .nav-link:hover {
    color: #000 !important;
    opacity: 1;
}

.product-tabs-container .nav-link.active {
    color: #212121 !important;
    opacity: 1;
    font-weight: 700;
}

/* Blue Underline (Desktop) */
.product-tabs-container .nav-link.active::after {
    content: "";
    position: absolute;
    bottom: -2px;
    left: 0;
    right: 0;
    height: 3px;
    background-color: #3a7af5;
    border-radius: 3px 3px 0 0;
}


/* --- TABLET & MOBILE FIX (< 992px) --- */
/* Switch to a "Boxed" look so wrapping looks correct */
@media (max-width: 991px) {
    .product-tabs-container .nav-tabs {
        border-bottom: none; /* Remove the bottom line */
        border: 1px solid #e5e5e5; /* "Wrap around the whole thing" */
        border-radius: 8px; /* Rounded corners for the box */
        padding: 10px; /* Internal spacing */
        background-color: #fcfcfc !important;
        
        /* Layout Logic */
        gap: 10px; /* Vertical & Horizontal gap */
        justify-content: center; /* Center them */
    }

    .product-tabs-container .nav-link {
        padding: 8px 15px !important;
        border-radius: 6px; /* Buttons look like pills inside the box */
        background: #fff !important; /* White background for tabs */
        border: 1px solid #eee !important;
        text-align: center;
        flex-grow: 1; /* Make them fill the width evenly */
    }

    /* Active State (Mobile Box Style) */
    .product-tabs-container .nav-link.active {
        background-color: #3a7af5 !important; /* Blue background */
        color: #fff !important; /* White text */
        border-color: #3a7af5 !important;
        opacity: 1;
    }

    /* Remove the desktop underline on mobile since we use blue background */
    .product-tabs-container .nav-link.active::after {
        display: none;
    }
}

/* 2. MODERN BUY BOX (Smart Wrapping) */
.buy-box-area {
    background: #f8f9fa;
    padding: 20px;
    border-radius: 12px;
    margin-top: 20px;
    border: 1px solid #eee;
}

.buy-group {
    display: flex;
    flex-wrap: wrap; /* ALLOWS WRAPPING AUTOMATICALLY */
    gap: 10px;
    margin-bottom: 15px;
}

/* 3. QUANTITY CAPSULE (Fixed Size) */
.quantity-wrapper {
    background: #fff;
    border: 1px solid #ddd;
    border-radius: 8px;
    display: flex;
    align-items: center;
    /* Fixed width: Won't grow, won't shrink */
    flex: 0 0 130px; 
    width: 130px;
    height: 50px;
    overflow: hidden;
}

.quantity-wrapper input {
    height: 100%;
    border: none;
    font-size: 18px;
    font-weight: bold;
    width: 50px;
    text-align: center;
    color: #333;
    background: #fff;
    padding: 0;
}

.quantity-wrapper .btn-qty {
    width: 40px;
    height: 100%;
    background: #f9f9f9;
    border: none;
    color: #333;
    font-size: 14px;
    cursor: pointer;
    display: flex;
    align-items: center;
    justify-content: center;
    transition: background 0.2s;
}

.quantity-wrapper .btn-qty:hover {
    background: #eee;
}

/* 4. CART BUTTON (Smart Sizing) */
#button-cart {
    height: 50px;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: 0.5px;
    border-radius: 8px;
    box-shadow: 0 4px 10px rgba(58, 122, 245, 0.3);
    
    /* SMART FLEX: Grow to fill space, but Wrap if space < 200px */
    flex: 1 1 200px; 
    
    background-color: #3a7af5;
    border-color: #3a7af5;
    color: #fff;
    margin: 0 !important;
    
    /* Fluid Text Sizing */
    font-size: clamp(12px, 1.5vw, 16px); 
    white-space: nowrap;
    padding: 0 10px;
}

#button-cart:hover {
    transform: translateY(-2px);
    box-shadow: 0 6px 15px rgba(58, 122, 245, 0.4);
    background-color: #285ec7;
}

/* 5. WISHLIST / COMPARE LINKS */
.secondary-actions {
    display: flex;
    justify-content: center;
    align-items: center;
    gap: 15px;
    margin-top: 15px;
    padding-top: 15px;
    border-top: 1px solid #e9ecef;
}

.btn-text-action {
    background: none;
    border: none;
    color: #666;
    font-size: 13px;
    display: flex;
    align-items: center;
    gap: 6px;
    cursor: pointer;
    transition: color 0.2s;
    padding: 5px;
}

.btn-text-action:hover {
    color: #3a7af5;
}

.btn-text-action i {
    font-size: 16px;
}

/* 6. MODERN STARS */
.rating .fa-stack {
    width: 1em;
    height: 1em;
    line-height: 1em;
}

.rating .fa-star {
    font-size: 16px;
    color: #ddd; 
}

.rating .fa-star + .fa-star {
    color: #FFB800; 
}

.stars-container {
    letter-spacing: 2px;
}

.stars-container .fa-star {
    display: inline-block !important;
    width: auto !important;
    height: auto !important;
}

/* 7. BUY BOX RATING LINKS */
.rating-box {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 10px;
}

.rating-box a {
    font-size: 13px;
    color: #999;
    transition: color 0.2s;
}

.rating-box a:hover {
    color: #3a7af5;
}

/* 8. REMOVE GAP IN TAB CONTENT */
.tab-content p {
    margin-top: 0 !important; 
    padding-top: 0 !important;
}
#form-review h2 {
    margin-top: 0 !important;
}

/* ============================================================
   MODERN SPECIFICATIONS TABLE
   ============================================================ */

/* 1. Layout & Reset */
.specification-table {
    border-collapse: collapse;
    width: 100%;
    margin-bottom: 0;
    font-size: 14px;
}

/* 2. Section Headers (e.g. "Audio", "Display") */
.specification-table thead td {
    background-color: #fff !important;
    color: #212121;
    font-size: 18px;
    font-weight: 800; /* Extra bold */
    text-transform: uppercase;
    letter-spacing: 0.5px;
    padding: 25px 10px 10px 0 !important; /* Space above each section */
    border: none !important;
    border-bottom: 2px solid #3a7af5 !important; /* Brand Blue Line */
}

/* Remove top padding for the very first header */
.specification-table thead:first-child td {
    padding-top: 0 !important;
}

/* 3. Data Rows (Zebra Striping) */
.specification-table tbody tr {
    transition: background 0.2s;
}

/* Odd rows: Light Grey */
.specification-table tbody tr:nth-of-type(odd) {
    background-color: #f8f9fa;
}

/* Even rows: White */
.specification-table tbody tr:nth-of-type(even) {
    background-color: #ffffff;
}

/* Hover Effect */
.specification-table tbody tr:hover {
    background-color: #eef5ff; /* Very light blue on hover */
}

/* 4. Cell Styling */
.specification-table tbody td {
    border: none !important;
    padding: 12px 15px !important;
    vertical-align: middle;
}

/* Left Column (Attribute Name) */
.specification-table tbody td:first-child {
    width: 35%; /* Fixed width for perfect alignment */
    font-weight: 600;
    color: #555;
    border-right: 1px solid #eaeaea !important; /* Subtle separator line */
}

/* Right Column (Value) */
.specification-table tbody td:last-child {
    color: #000;
    font-weight: 400;
}

/* Rounded container for the whole table */
#tab-specification .table-responsive {
    border-radius: 8px;
    overflow: hidden; /* Ensures stripes don't spill out */
}

/* ============================================================
   8. ACCOUNT, DASHBOARD & ORDERS (FINAL COMPLETE - REVISED)
   ============================================================ */

/* --- 1. CARDS & DASHBOARD GRID --- */
.login-card {
    background: #fff; border: 1px solid #eee; border-radius: 12px;
    padding: 40px; box-shadow: 0 5px 20px rgba(0,0,0,0.03);
    height: 100%; display: flex; flex-direction: column;
}
.login-card h2 {
    font-size: 22px; font-weight: 700; color: #212121;
    margin-bottom: 20px; padding-bottom: 15px; border-bottom: 2px solid #f5f5f5;
}
#form-login { display: flex; flex-direction: column; flex-grow: 1; }
.login-card .d-flex { gap: 15px; flex-wrap: wrap; }

/* Dashboard Grid */
.dashboard-section-title {
    font-size: 18px; font-weight: 700; margin: 30px 0 20px; color: #212121;
    border-left: 4px solid #3a7af5; padding-left: 15px;
}
.dashboard-grid {
    display: grid; grid-template-columns: repeat(auto-fill, minmax(220px, 1fr));
    gap: 20px; margin-bottom: 20px;
}
.dashboard-item {
    background: #fff; border: 1px solid #f0f0f0; border-radius: 12px;
    padding: 30px 20px; text-align: center; text-decoration: none;
    transition: all 0.3s ease; display: flex; flex-direction: column;
    align-items: center; justify-content: center; min-height: 160px;
    box-shadow: 0 4px 10px rgba(0,0,0,0.02);
}
.dashboard-item:hover {
    transform: translateY(-5px); border-color: #3a7af5;
    box-shadow: 0 10px 25px rgba(58, 122, 245, 0.15);
}
.dashboard-item i { font-size: 36px; color: #3a7af5; margin-bottom: 15px; transition: transform 0.3s; }
.dashboard-item:hover i { transform: scale(1.1); }
.dashboard-item span { font-weight: 600; color: #555; font-size: 15px; }
.dashboard-item:hover span { color: #212121; }

/* --- 2. BUTTONS (GLOBAL & OVERRIDES) --- */
/* Standard Button Base (Default Dark) */
.login-card .btn-primary {
    width: auto !important; min-width: 80px; margin-top: auto;
    padding: 12px 20px; font-weight: 600; border-radius: 8px;
    background-color: #212121 !important; border-color: #212121 !important;
    color: #fff !important; transition: all 0.2s ease; align-self: flex-start;
}
.login-card .btn-primary:hover {
    background-color: #454545 !important; transform: translateY(-2px);
    box-shadow: 0 4px 12px rgba(0,0,0,0.15);
}
.login-card .btn-light {
    border: 1px solid #ddd !important; background: #fff !important; color: #666 !important;
    min-width: 100px; padding: 12px 20px; border-radius: 8px; transition: all 0.2s;
}
.login-card .btn-light:hover { background: #f2f2f2 !important; border-color: #ccc !important; color: #333 !important; }

/* Helper for Security Code Input */
.letter-spacing-2 { letter-spacing: 2px; font-weight: 700; }

/* Primary Blue Overrides (Standardize ALL main pages to Blue) */
#form-login .btn-primary, #form-register .btn-primary,
#form-customer .btn-primary, #form-password .btn-primary,
#account-address .btn-primary, #form-address .btn-primary,
#address .btn-primary, #address .btn-info,
#account-order .btn-primary, #account-order .btn-info,
#account-wishlist .btn-primary,
#checkout-cart .btn-primary,
#account-download .btn-primary,
#account-return .btn-primary, #account-return .btn-info,
#account-payment-method .btn-primary,
#account-edit .btn-primary,
#account-affiliate .btn-primary,
#account-tracking .btn-primary,
#account-forgotten .btn-primary,
#account-reset .btn-primary,
#account-newsletter .btn-primary,
#account-authorize .btn-primary,
#account-authorize-unlock .btn-primary,
#account-reward .btn-primary,
#account-subscription .btn-primary,
#account-transaction .btn-primary {
    background-color: #3a7af5 !important; border-color: #3a7af5 !important;
    background-image: none !important; color: #fff !important;
}

/* HOVER STATES - (Make sure all IDs above are also listed here!) */
#form-login .btn-primary:hover, #form-register .btn-primary:hover,
#form-customer .btn-primary:hover, #form-password .btn-primary:hover,
#account-address .btn-primary:hover, #form-address .btn-primary:hover,
#address .btn-primary:hover, #address .btn-info:hover,
#account-order .btn-primary:hover, #account-order .btn-info:hover,
#account-wishlist .btn-primary:hover,
#checkout-cart .btn-primary:hover,
#account-download .btn-primary:hover,
#account-return .btn-primary:hover, #account-return .btn-info:hover,
#account-payment-method .btn-primary:hover,
#account-edit .btn-primary:hover,
#account-affiliate .btn-primary:hover,
#account-tracking .btn-primary:hover,
#account-forgotten .btn-primary:hover,
#account-reset .btn-primary:hover,
#account-newsletter .btn-primary:hover,
#account-authorize .btn-primary:hover,
#account-authorize-unlock .btn-primary:hover,
#account-reward .btn-primary:hover,
#account-subscription .btn-primary:hover,
#account-transaction .btn-primary:hover {
    background-color: #285ec7 !important;
    box-shadow: 0 4px 12px rgba(58, 122, 245, 0.3) !important;
}

/* Red Button Overrides */
#address .btn-danger, 
#account-order .table .btn-danger, 
#account-payment-method .btn-danger,
#account-wishlist .table .btn-danger,
#checkout-cart .table .btn-danger,
#account-return .table .btn-danger {
    background-color: #dc3545 !important; border-color: #dc3545 !important;
    color: #fff !important; background-image: none !important;
}
#address .btn-danger:hover, 
#account-order .table .btn-danger:hover, 
#account-payment-method .btn-danger:hover,
#account-wishlist .table .btn-danger:hover,
#checkout-cart .table .btn-danger:hover,
#account-return .table .btn-danger:hover {
    background-color: #bd2130 !important;
}

/* Fix Icon Alignment for Cart/Table buttons */
#checkout-cart .btn i, .table .btn i {
    margin: 0 !important; padding: 0 !important; line-height: 1 !important;
    display: inline-block !important; vertical-align: middle !important;
}

#checkout-cart .input-group .btn, .table .btn {
    display: inline-flex !important; align-items: center !important; justify-content: center !important;
}

/* Square Icon Buttons (Table Actions Only) */
#address .btn, 
#account-order .table .btn-info, 
#account-order .table .btn-primary, 
#account-order .table .btn-danger,
#account-payment-method .btn-danger,
#account-wishlist .table .btn,
#checkout-cart .table .btn,
#account-download .table .btn,
#account-return .table .btn {
    min-width: 0 !important; width: 40px !important; height: 40px !important;
    padding: 0 !important; display: inline-flex !important;
    align-items: center; justify-content: center; border-radius: 8px !important;
    margin: 0 2px !important; border: 1px solid transparent !important;
    box-shadow: none !important;
}

/* --- 3. TABLES --- */
#address .table-responsive, 
#account-order .table-responsive, 
#account-payment-method .table-responsive,
#account-wishlist .table-responsive, 
#checkout-cart .table-responsive, 
#account-download .table-responsive, 
#account-return .table-responsive,
#account-reward .table-responsive {
    border: 1px solid #eee; 
    border-radius: 8px; 
    overflow-x: auto; /* FIX: Changed from hidden to auto so tables can scroll horizontally! */
    -webkit-overflow-scrolling: touch;
    margin-bottom: 20px;
}

#address .table, #account-order .table, #account-wishlist .table, #checkout-cart .table { margin-bottom: 0; }

#address .table td, 
#account-order .table td, 
#account-payment-method .table td,
#account-wishlist .table td,
#checkout-cart .table td,
#account-download .table td,
#account-return .table td {
    vertical-align: middle; padding: 15px; border-bottom: 1px solid #f5f5f5;
}

/* Header Tweaks */
.table th {
    background: #fff; border-bottom: 2px solid #eee; font-weight: 700; color: #555;
}

/* FIX: Removed "white-space: nowrap !important" because it breaks the history table text */
#account-order .table th, #account-order .table td {
    padding: 12px 10px !important; font-size: 14px;
}

/* Alignment Fixes */
#account-order .table th:last-child, #account-order .table td:last-child {
    text-align: right; width: auto;
}

/* FIX: Only apply the 20% width constraint on Desktop screens so mobile can breathe! */
@media (min-width: 992px) {
    #history .table th:last-child, #history .table td:last-child {
        text-align: left !important; width: 20% !important;
    }
}

/* ============================================================
   MOBILE STACKED TABLES (Absolute Position Fix)
   ============================================================ */
@media (max-width: 991px) {
    .mobile-stacked-table,
    .mobile-stacked-table tbody,
    .mobile-stacked-table tr,
    .mobile-stacked-table td {
        display: block !important;
        width: 100% !important;
    }
    
    .mobile-stacked-table thead {
        display: none !important;
    }
    
    .mobile-stacked-table tr {
        margin-bottom: 15px;
        background: #fff;
        border: 1px solid #eee;
        border-radius: 8px;
        padding: 5px 0;
        box-shadow: 0 2px 5px rgba(0,0,0,0.02);
    }
    
    .mobile-stacked-table td {
        position: relative !important;
        padding-top: 12px !important;
        padding-right: 15px !important;
        padding-bottom: 12px !important;
        padding-left: 45% !important; /* Forces the safe zone */
        text-align: right !important; /* Forces content to the right */
        border: none !important;
        border-bottom: 1px solid #f9f9f9 !important;
        min-height: 45px; 
    }
    
    .mobile-stacked-table td:last-child {
        border-bottom: none !important;
    }
    
    /* Anchor the label absolutely to the left safe zone */
    .mobile-stacked-table td::before {
        content: attr(data-label);
        position: absolute;
        left: 15px;
        top: 14px; /* Locks it to the top so it aligns with the first line of text */
        width: 35%;
        font-weight: 700;
        text-transform: uppercase;
        font-size: 12px;
        color: #888;
        text-align: left;
        line-height: 1.4;
    }
    
    /* Product Name cell fix */
    .mobile-stacked-table td.product-cell {
        padding: 15px !important;
        text-align: left !important;
        background: #f8f9fa;
    }
    .mobile-stacked-table td.product-cell::before {
        position: static;
        display: block;
        width: auto;
        margin-bottom: 10px;
    }

    /* Hide empty cells in the Totals section */
    .mobile-stacked-table .total-row td:empty,
    .mobile-stacked-table .total-row td.hide-mobile {
        display: none !important;
    }
	
	/* 1. Remove the outer double border on mobile */
    #account-order .table-responsive {
        border: none !important;
        background: transparent !important;
    }
    
    /* 2. Group the Totals lines together into a single cohesive card */
    .mobile-stacked-table tr.total-row {
        margin-bottom: 0; /* Remove gaps between totals */
        border-radius: 0;
        border-bottom: 1px solid #eee;
        box-shadow: none;
    }
    .mobile-stacked-table tr.total-row:first-of-type {
        border-top-left-radius: 8px;
        border-top-right-radius: 8px;
    }
    .mobile-stacked-table tr.total-row:last-child {
        margin-bottom: 15px; /* Add margin only after the final Total */
        border-bottom-left-radius: 8px;
        border-bottom-right-radius: 8px;
        box-shadow: 0 2px 5px rgba(0,0,0,0.02);
    }
}

/* --- 4. RESPONSIVE --- */
@media (max-width: 767px) {
    .login-card { padding: 25px; }
    .dashboard-grid { grid-template-columns: 1fr 1fr; gap: 10px; }
    .dashboard-item { min-height: 130px; padding: 20px; }
    .dashboard-item i { font-size: 28px; }
    .dashboard-item span { font-size: 13px; }
    .login-card .btn-primary { width: 100% !important; }
}

/* ============================================================
   SIDEBAR & ACCOUNT MENU STYLING
   ============================================================ */

/* 1. Make the sidebar "Sticky" so it follows you down the page (We leave this global so it works on Categories too!) */
#column-left, #column-right {
    position: -webkit-sticky;
    position: sticky;
    top: 20px; 
    align-self: flex-start; 
    padding-bottom: 20px;
    z-index: 5;
}

/* FIX: Added [id^="account-"] so these specific styles ONLY affect the Account pages! */

/* 2. Style the menu to look like our modern login cards */
[id^="account-"] #column-left .list-group,
[id^="account-"] #column-right .list-group {
    background: #fff;
    border-radius: 12px;
    box-shadow: 0 5px 20px rgba(0,0,0,0.03);
    border: 1px solid #eee;
    overflow: hidden;
    margin-bottom: 20px;
}

/* 3. Style the individual links */
[id^="account-"] #column-left .list-group-item,
[id^="account-"] #column-right .list-group-item {
    border: none;
    border-bottom: 1px solid #f5f5f5;
    padding: 12px 20px;
    color: #555;
    font-size: 14px;
    font-weight: 500;
    transition: all 0.2s ease;
    background-color: transparent;
}

/* Remove border from the last item to keep it clean */
[id^="account-"] #column-left .list-group-item:last-child,
[id^="account-"] #column-right .list-group-item:last-child {
    border-bottom: none;
}

/* 4. Hover Animation (Slight indent and blue text) */
[id^="account-"] #column-left .list-group-item:not(.active):hover,
[id^="account-"] #column-right .list-group-item:not(.active):hover {
    background-color: #f8fafd;
    color: #3a7af5;
    padding-left: 25px; /* Creates a cool, smooth sliding effect */
}

/* 5. Active Link Styling (Matches your new blue branding) */
[id^="account-"] #column-left .list-group-item.active,
[id^="account-"] #column-right .list-group-item.active {
    background-color: #3a7af5 !important;
    color: #fff !important;
    border-left: 4px solid #285ec7 !important; /* Darker blue accent border */
    padding-left: 16px !important; /* Adjust padding to account for the border */
    font-weight: 600;
}

/* ============================================================
   CART PAGE FIXES (Accordion & Buttons)
   ============================================================ */

/* Z-index fix for input group */
#checkout-cart .input-group .btn {
    z-index: 0;
}
/* Strip double borders */
#checkout-cart .table-responsive.border { border: 1px solid #eee !important; }

/* FIX 1: ACCORDION GAPS */
.custom-cart-accordion {
    border: 1px solid #eee;
    border-radius: 8px;
    overflow: hidden;
}

/* Removes the default H2 margin inside the cart accordion */
.custom-cart-accordion .accordion-header {
    margin: 0 !important;
    padding: 0 !important;
}

.custom-cart-accordion .accordion-item {
    border: none !important;
    border-bottom: 1px solid #eee !important;
    background: transparent;
    margin-bottom: 0 !important; 
    border-radius: 0 !important;
}
.custom-cart-accordion .accordion-item:last-child {
    border-bottom: none !important;
}
.custom-cart-accordion .accordion-button {
    background-color: transparent !important;
    color: #333 !important;
    font-weight: 600;
    box-shadow: none !important;
    padding: 15px 20px;
}
.custom-cart-accordion .accordion-button:not(.collapsed) {
    color: #3a7af5 !important;
    background-color: #f8fafd !important; 
}
.custom-cart-accordion .accordion-body {
    padding: 20px;
    background: #fff;
}

/* FIX 2: VERWIJDEREN BUTTON STYLING */
.custom-cart-accordion .btn-danger {
    background-color: #dc3545 !important; 
    border-color: #dc3545 !important;
    background-image: none !important; 
    color: #fff !important;
    padding: 10px 20px;
    font-weight: 600;
    border-radius: 8px;
    transition: all 0.2s ease;
}
.custom-cart-accordion .btn-danger:hover {
    background-color: #bd2130 !important;
    transform: translateY(-2px);
    box-shadow: 0 4px 10px rgba(220, 53, 69, 0.2);
}

.custom-cart-accordion .btn-primary {
    padding: 10px 20px;
    font-weight: 600;
    border-radius: 8px;
}