:root{
    --bs-blue: #1eb5e2;
    --bs-white: #ffffff;
    --bs-gray: #6c757d;
    --bs-gray-dark: #343a40;
    --bs-gray-100: #f8f9fa;
    --bs-gray-200: #e9ecef;
    --bs-gray-300: #dee2e6;
    --bs-gray-400: #ced4da;
    --bs-gray-500: #adb5bd;
    --bs-gray-600: #6c757d;
    --bs-gray-700: #495057;
    --bs-gray-800: #343a40;
    --bs-gray-900: #212529;
    --bs-black: #413e3e;
    --bs-primary: #1eb5e2;
    --bs-secondary: #413e3e;
    --bs-link-color-rgb: #1eb5e2;
    --bs-link-hover-color-rgb: 30, 181, 226;
}

/****** GLOBAL ******/
.btn {
    padding: 15px 25px;
}
.btn-primary {
    --bs-btn-bg: #1eb5e2;
    --bs-btn-border-color: #1eb5e2;
    --bs-btn-hover-bg: #40d5ea;
    --bs-btn-hover-border-color: #40d5ea;
    --bs-btn-active-bg: #40d5ea;
    --bs-btn-active-border-color: #40d5ea;
    --bs-btn-disabled-bg: #1eb5e2;
    --bs-btn-disabled-border-color: #1eb5e2;
}
.btn-outline-primary {
    --bs-btn-color: #1eb5e2;
    --bs-btn-border-color: #1eb5e2;
    --bs-btn-hover-bg: #1eb5e2;
    --bs-btn-hover-border-color: #1eb5e2;
    --bs-btn-active-bg: #1eb5e2;
    --bs-btn-active-border-color: #1eb5e2;
    --bs-btn-disabled-color: #1eb5e2;
    --bs-btn-disabled-border-color: #1eb5e2;
}
.text-primary {
    color: var(--bs-blue)!important;
}
.btn-link {
    --bs-btn-color: var(--bs-blue);
    --bs-btn-hover-color: var(--bs-blue);
}
.green {
    color: #198754;
}

/****** HEADER ******/
.header {
    position: relative;
}
.header-top {
    background-color:var(--bs-black);
    color: var(--bs-white);
}
.header-top .header-top-desktop {
    padding: 0;
}
.header-top a, .header-top span {
    color: var(--bs-white)!important;
}
.header-top .dropdown-menu a, .header-top .dropdown-menu span {
    color: var(--bs-black)!important;
}
.header-top .dropdown-menu .dropdown-item:focus, .header-top .dropdown-menu .dropdown-item:hover {
    color: var(--bs-blue)!important;
}
.header-top .header-block__badge {
    background-color: var(--bs-blue);
    color: var(--bs-white)!important;
}
body#index .header-top h1 {
    font-size: 1rem;
    margin: 0;
}

.header-bottom {
    padding: 0.625rem 0;
}
.header-bottom #search_widget form input {
    background-color: var(--bs-white);
    border-radius: 0;
    border-bottom: 1px solid var(--bs-black);
}
/****** MENU ******/
.header .main-menu {
    border-bottom: 1px solid var(--bs-gray-200);
    box-shadow: 0px 2px 6px 0px rgba(0, 0, 18, 0.16);
}
.header .main-menu .d-xl-block {
    margin: 0 auto;
}
.header .main-menu .js-menu-item-lvl-0 > a {
    text-transform: uppercase;
    font-weight: 600;
    font-size: 1rem;
    padding: 1rem 1rem;
}

/****** FOOTER ******/
.footer .block-social a {
    color: var(--bs-white);
}
#content-wrapper .page-footer {
    margin: 0;
}

.contact-fixed-bubble {
    position: fixed;
    bottom: 20px;
    right: 20px;
    z-index: 9999;
  }

  .contact-bubble-link {
    display: flex;
    align-items: center;
    background-color: #333;
    color: white;
    padding: 10px 15px;
    border-radius: 25px;
    text-decoration: none;
    box-shadow: 0 2px 10px rgba(0, 0, 0, 0.2);
    transition: all 0.3s ease;
  }

  .contact-bubble-link:hover {
    background-color: #555;
    transform: scale(1.05);
  }

  .contact-bubble-icon {
    margin-right: 8px;
    font-size: 18px;
    display: flex;
    align-items: center;
  }

  .contact-bubble-text {
    font-size: 14px;
    font-weight: 500;
  }

/****** HOME ******/
body#index .content-wrapper {
    margin-bottom: 0;
}
body#index #content-wrapper {
    padding-bottom: 0;
}
/****** SLIDER ******/
.ratio-homeSlider {
    --bs-aspect-ratio: auto!important;
    min-height: auto;
}
body#index .carousel {
    height: auto;
    max-height: none;
    position: relative;
}
body#index .carousel-inner {
    height: auto;
}
body#index .carousel-item {
    height: auto;
}
body#index .carousel .carousel-item img {
    height: auto;
    max-height: none !important;
    object-fit: contain;
    max-width: 1440px;
    position: relative;
    margin: 0 auto;
    display: flex;
}

/****** CATEGORY ******/
body#index .ps_categorytree {
    max-width: 1320px;
    margin: 0 auto;
    padding: 6.25rem 0 3.125rem 0;
}
body#index .ps_categorytree .left-block__title {
    display: none;
}
body#index .ps_categorytree .accordion-collapse#category-tree-12 {
    display: block;
}

body#index .accordion--category > .category-tree__child > .category-tree__list {
    display: flex;
    flex-direction: row;
    gap: 20px;
    flex-wrap: nowrap;
}
body#index .accordion--category > .category-tree__child > .category-tree__list > .category-tree__item {
    min-width: 280px;
    height: max-content;
    border: thin solid var(--bs-gray-200);
    border-radius: 8px;
    background-color: var(--bs-white);
    -webkit-transition: all ease-in-out 0.2s;
    -o-transition: all ease-in-out 0.2s;
    transition: all ease-in-out 0.2s;
    -webkit-box-align: stretch;
    -ms-flex-align: stretch;
    align-items: stretch;
}
body#index .accordion--category > .category-tree__child > .category-tree__list > .category-tree__item:hover {
    -webkit-box-shadow: 0 6px 12px 3px rgba(6, 6, 95, 0.12);
    box-shadow: 0 6px 12px 3px rgba(6, 6, 95, 0.12);
}
body#index .accordion--category > .category-tree__child > .category-tree__list > .category-tree__item > .category-tree__item__header {
    height: 88px;
    padding: 20px;
    border-bottom: thin solid var(--bs-gray-200);
    align-items: center;
}
body#index .accordion--category > .category-tree__child > .category-tree__list > .category-tree__item > .category-tree__item__header {
    height: 88px;
    padding: 20px;
    border-bottom: thin solid var(--bs-gray-200);
    align-items: center;
}
body#index .accordion--category > .category-tree__child > .category-tree__list > .category-tree__item > .category-tree__item__header  .category-tree__item__link {
    color: var(--bs-black);
    font-weight: 600;
}
body#index .accordion--category > .category-tree__child > .category-tree__list > .category-tree__item > .category-tree__item__header .category-tree__item__link:hover {
    text-decoration: underline;
}
body#index .accordion--category > .category-tree__child > .category-tree__list > .category-tree__item > .category-tree__item__header .accordion-button {
    width: 40px;
    height: 40px;
    border: 1px solid #000;
    display: flex;
    justify-content: center;
    border-radius: 50%;
}
body#index .accordion--category > .category-tree__child > .category-tree__list > .category-tree__item > .category-tree__item__header .accordion-button:hover {
    opacity: .5;
}
body#index .accordion--category > .category-tree__child > .category-tree__list > .category-tree__item > .category-tree__item__header .accordion-button::after {
    margin: 0;
}
body#index .accordion--category > .category-tree__child > .category-tree__list > .category-tree__item > .accordion-collapse > .accordion-body {
    padding: 25px 15px;
}
body#index .accordion--category > .category-tree__child > .category-tree__list > .category-tree__item > .accordion-collapse > .accordion-body .category-tree__item {
    padding-bottom: 5px;
    font-weight: 600;
    text-decoration: underline;
}
body#index .accordion--category > .category-tree__child > .category-tree__list > .category-tree__item > .accordion-collapse > .accordion-body .category-tree__item .category-tree__item__link {
    word-break: break-word;
    white-space: normal;
}

/* scroll */
body#index .accordion--category {
  overflow-x: auto;
  overflow-y: hidden;
  white-space: nowrap;
}
body#index .accordion--category {
  scrollbar-width: none; /* Firefox */
}
body#index .accordion--category::-webkit-scrollbar {
  display: none; /* Chrome/Safari */
}
body#index .fake-scrollbar {
  position: relative;
  height: 2px;
  background: var(--bs-gray-100);
  margin-top: 30px;
  width: 100%;
  height: 4px;
  border-radius: 4px;
  position: relative;
  cursor: pointer;
}
body#index .fake-thumb {
  position: absolute;
  height: 100%;
  background: var(--bs-black);
  border-radius: 4px;
  left: 0;
  top: 0;
  cursor: grab;
}
.fake-thumb:active {
  cursor: grabbing;
}

/****** PRODUCT GRID ******/
body#index .featured-products {
    padding: 1.875rem 0 3.125rem 0;
    background-color: var(--bs-gray-100);
}
body#index h2 {
    font-size: 2rem;
    text-transform: uppercase;
    margin-bottom: 1.5rem;
}

body#index .sale-products {
    padding: 1.875rem 0 3.75rem 0;
}

body#index .viewed-products {
    padding: 1.875rem 0 3.75rem 0;
    background-color: var(--bs-gray-100);
}

/****** MINIATURE ******/
.product-miniature .card {
    box-shadow: 0 0 4px rgba(0, 0, 0, .2);
}
.product-miniature .card .product-miniature__infos__top {
    padding-left: 1rem;
    padding-right: 1rem;
}
.product-miniature .card .product-miniature__title {
    font-weight: 600;
    text-transform: uppercase;
}
.product-miniature .card .product-miniature__infos__bottom {
    padding-left: 1rem;
    padding-right: 1rem;
}
.product-miniature .card .product-miniature__prices {
    display: flex;
    align-items: center;
    flex-wrap: wrap;
}
.product-miniature .card .product-miniature__prices .product-miniature__price {
    font-weight: 600;
    font-size: 1.25rem;
    color: var(--bs-blue);
}
.product-miniature .card .product-miniature__prices .product-miniature__regular-price {
    color: var(--bs-gray-500);
}
.product-miniature .card .product-miniature__infos__bottom form .btn-primary {
    width: 100%;
    padding: 0.5rem;
}

/****** Breadcrumb ******/
.breadcrumb__wrapper .breadcrumb a:hover {
    text-decoration: underline;
}

/****** CATEGORY PAGE ******/
body#category #wrapper, body#prices-drop #wrapper, body#best-sales #wrapper, body#new-products #wrapper, body#search #wrapper  {
    background-color: var(--bs-gray-100);
}

body#category #left-column, body#prices-drop #left-column, body#best-sales #left-column, body#new-products #left-column {
    padding-right: 2rem;
}
body#category #left-column #search_filters_wrapper, body#prices-drop #left-column #search_filters_wrapper, body#best-sales #left-column #search_filters_wrapper, body#new-products #left-column #search_filters_wrapper {
    background-color: var(--bs-white);
    padding: 1.875rem;
    border-radius: 10px;
    border-bottom: 0;
}
body#category #left-column #search_filters_wrapper .search-filters-title, body#prices-drop #left-column #search_filters_wrapper .search-filters-title, body#best-sales #left-column #search_filters_wrapper .search-filters-title, body#new-products #left-column #search_filters_wrapper .search-filters-title {
    font-size: 1.4rem;
}
body#category #left-column #search-filters .accordion-button, body#prices-drop #left-column #search-filters .accordion-button, body#category #left-column #search-filters .accordion-button, body#new-products #left-column #search-filters .accordion-button {
    padding: 1.375rem 0;
}

/* Subcategories */
#subcategories {
    position: relative;
    gap: 0 1.25rem;
    margin-bottom: 1.875rem;
}

#subcategories .subcategory__wrapper {
    height: 4.375rem;
    width: 15.625rem;
    background-color: var(--bs-white);
    border-radius: 8px;
    border: 1px solid var(--bs-white);
    transition: .2s;
    padding: 0;
    display: flex;
    flex-grow: 1;
    max-width: 314px;
}
#subcategories .subcategory__wrapper:hover {
    border: 1px solid var(--bs-black);
    transition: .2s;
}
#subcategories .subcategory__wrapper .subcategory {
    border: 0;
    display: flex;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
    -webkit-box-orient: horizontal;
    -webkit-box-direction: normal;
    -ms-flex-direction: row;
    flex-direction: row;
}
#subcategories .subcategory__wrapper .subcategory .subcategory__image {
    width: auto;
}
#subcategories .subcategory__wrapper .subcategory .subcategory__image .img-fluid {
    max-width: 3.125rem;
}
#subcategories .subcategory__wrapper .subcategory .subcategory__name {
    text-align: left;
    font-weight: 600;
    font-size: 0.875rem;
    text-transform: uppercase;
}

.block-category .category-cover {
    display: none;
}

/* Products grid */
#products #js-product-list-top .products-sort-order .select-title {
    background-color: var(--bs-white);
}

#js-active-search-filters .btn {
    border: 1px solid var(--bs-black);
    padding: 5px 25px;
}
#js-active-search-filters .btn:hover {
    background-color: var(--bs-black)!important;
    color: var(--bs-white);
}

.pagination {
    gap: 10px;
}
.pagination li a {
    padding: 11px 15px;
    background-color: transparent;
    border: 1px solid var(--bs-black);
    border-radius: 50%;
    color: var(--bs-black);
}
.pagination li a:hover {
    background-color: var(--bs-blue);
    color: var(--bs-white);
}
.pagination li.active a {
    background-color: var(--bs-blue);
    color: var(--bs-white);
}
.pagination li:first-of-type a, .pagination li:last-of-type a {
    background-color: transparent;
    border: 0;
    border-radius: 0;
}
.pagination li:first-of-type a:hover, .pagination li:last-of-type a:hover {
    background-color: transparent;
    color: var(--bs-blue);
}
.pagination li:first-of-type a.disabled, .pagination li:last-of-type a.disabled {
    color: var(--bs-gray-500);
}
.pagination li.disabled .page-link {
    background-color: transparent;
    border: 0;
}

/****** Products page ******/
body#product #wrapper {
    background-color: var(--bs-gray-100);
}
body#product .product__left {
    margin-top: 2rem;
}
body#product .product__col {
    margin-top: 2rem;
}
body#product .product__left .product__images .carousel-item {
    background-color: var(--bs-white);
}
body#product .thumbnails__container .thumbnail img {
     border: 1px solid var(--bs-white);
     background-color: var(--bs-white);
}
body#product .thumbnails__container .thumbnail.active img {
     border: 1px solid var(--bs-blue);
}

body#product .product__col .product__name {
    text-transform: uppercase;
}
body#product .product__col .product__current-price {
    color: var(--bs-blue);
    font-weight: 600;
}
body#product .product__col  .quantity-button input {
    height: 3.563rem;
}
body#product .product__col .wishlist-button-add {
    margin-top: 1rem;
}

.blockreassurance_product {
    gap: 1.563rem;
    display: flex;
    flex-direction: column;
}
.blockreassurance_product .item-product {
    height: 3.75rem;
    width: 3.75rem;
    margin-right: 25px;
}
.blockreassurance_product .item-product svg {
    height: 3.75rem;
    width: 3.75rem;
}
.blockreassurance_product .block-title {
    font-weight: 600;
    font-size: 1.125rem;
}

body#product .product__infos > .accordion-item {
    padding: 30px;
}
body#product .product__infos .accordion-item .accordion-header .accordion-button::after {
    width: 2.5rem;
    height: 2.5rem;
    border: 1px solid #000;
    display: flex;
    justify-content: center;
    border-radius: 50%;
    background-position: center;
}
body#product .product__infos .accordion-item .accordion-header .accordion-button:hover::after {
    opacity: .5;
}
body#product .product__infos #description {
    border-bottom: 1px solid var(--gray-200);
}
body#product .product__infos #description {
    border-bottom: 1px solid var(--gray-200);
}

body#product .container #content-wrapper > div {
    padding-bottom: 3.75rem;
}
body#product .container #content-wrapper > section {
    padding-bottom: 1.25rem;
}
body#product .container #content-wrapper > section:last-child {
    padding-bottom: 0px;
}
body#product .container #content-wrapper > section h2 {
    text-transform: uppercase;
    margin-bottom: 1.5rem;
    font-size: 1.75rem;
}

/****** CMS ******/
body#cms h1, body#sitemap h1 {
    text-transform: uppercase;
}
body#cms h2, body#sitemap h2  {
    font-size: 1.125rem;
}
body#sitemap #wrapper a:hover {
    text-decoration: underline;
}

.info_blog {
    font-style: italic;
    color: var(--bs-gray-600);
    font-size: 0.875rem;
}

.wishlist-container {
    position: relative;
    z-index: 1000;
}

.wishlist-products-list .wishlist-products-item .wishlist-product {
    box-shadow: 0 0 4px rgba(0, 0, 0, .2);
}
.wishlist-products-list .wishlist-products-item .wishlist-product .wishlist-product-right {
    padding: 0 20px;
}
.wishlist-products-list .wishlist-products-item .wishlist-product .wishlist-product-price {
    color: var(--bs-blue);
}
.wishlist-products-list .wishlist-products-item .wishlist-product .wishlist-product-addtocart {
    background-color: var(--bs-blue);
    color: var(--bs-white);
}
.wishlist-products-list .wishlist-products-item .wishlist-product .wishlist-product-addtocart:hover {
    background-color: #40d5ea;
}

/****** Cart ******/
body#cart #wrapper {
    background-color: var(--bs-gray-100);
}
body#cart .cart__item .product-line {
    background-color: var(--bs-white);
    padding-top: 20px;
    padding-bottom: 20px;
}

/****** Checkout ******/
body#checkout #wrapper {
    background-color: var(--bs-gray-100);
}
body#checkout #checkout-personal-information-step .nav-item .nav-link.active {
    text-decoration: underline;
    color: var(--bs-blue);
}
body#checkout #checkout-personal-information-step .nav-item .nav-separator {
    display: none;
}
.step .address.selected {
    border: 2px solid var(--bs-blue);
}
.form-check-input:checked {
        background-color: var(--bs-blue);;
    border-color: var(--bs-blue);;
}

.cart-summary__line.cart-total span {
    font-size: 1.25rem;
}


/****** CONTACT ******/
body#contact .wrapper__content {
    background-color: var(--bs-gray-100);
    padding: 40px 40px 40px 40px;
    margin-bottom: 40px;
}
body#contact .wrapper__content .contact-form .form-control, body#contact .wrapper__content .contact-form .form-select {
    background-color: var(--bs-white);
    border: 0;
    border-bottom: 1px solid var(--bs-primary);
    height: 40px;
    color: var(--bs-gray-900);
    border-radius: 0;
}
body#contact .stgr_contact {
    flex-direction: column;
}

/****** CMS FORM ******/
#pfg-form-1 {
    padding: 0 40px 40px 40px;
    background-color: var(--bs-gray-100);
}
#pfg-form-1 h3 {
    display: none;
}
.pfg-forms .clearfix {
    display: flex;
    flex-wrap: wrap;
    gap: 20px;
}
.pfg-forms .clearfix .row {
    flex: 1 0 auto;
}
.pfg-forms .clearfix .row:not(.col-md-6) {
    width: 100%;
    margin: 0;
}
.pfg-forms .clearfix .row:not(.col-md-6) .col-md-9 {
    margin: 0;
    padding: 0;
}
.pfg-forms .clearfix .row:not(.col-md-6) .form-control-label {
    padding: 0;
}
.pfg-forms .clearfix .form-control-label {
    font-weight: 600;
    text-align: left;
    width: max-content;
    margin-bottom: 5px;
}
.pfg-forms .clearfix .col-md-9 {
    width: 100%;
}
.pfg-forms .form-group input, .pfg-forms .form-group textarea, .pfg-forms .form-group select {
    background-color: var(--bs-white);
    border-bottom: 1px solid var(--bs-primary);
    height: 40px;
    color: var(--bs-gray-900);
}
.pfg-forms .form-group input:focus, .pfg-forms .form-group textarea:focus, .pfg-forms .form-group select:focus {
    color: var(--bs-gray-900);
}
.pfg-forms .submit {
    display: flex;
    justify-content: center;
}
.pfg-forms .btn {
    width: max-content;
}


/****** Responsive Mobile  ******/
@media (min-width: 992px) {
    .modal-lg, .modal-xl {
        --bs-modal-width: 700px;
    }
}
@media (max-width: 992px) {
    #subcategories {
        overflow-x: auto;
        scroll-behavior: smooth;
        -ms-scroll-snap-type: x mandatory;
        scroll-snap-type: x mandatory;
        -webkit-box-align: start;
        -ms-flex-align: start;
        align-items: flex-start;
        -ms-flex-wrap: nowrap;
        flex-wrap: nowrap;
        position: relative;
        -webkit-transition: scroll-position 0.2s;
        -o-transition: scroll-position 0.2s;
        transition: scroll-position 0.2s;
        will-change: scroll-position;
        gap: 1.25rem;
        margin-bottom: 1.875rem;
    }
    #subcategories::-webkit-scrollbar {
        height: 2px;
        width: 90%;
    }
    #subcategories::-webkit-scrollbar-thumb {
        background: #000000; 
        border-radius: 4px; 
    }
    #subcategories::-webkit-scrollbar-track {
        background: #ffffff;
        border-radius: 4px; 
    }
}
@media screen and (max-width: 767px){
    .header .header-bottom .logo {
        max-width: 200px;
    }
    .header .main-menu {
        padding-left: 7px;
    }
    body#index .featured-products {
        padding: 1px 0 0 0;
    }
    body#index h2 {
        font-size: 1.375rem;
        text-align: center;
    }
    body#index .ps_categorytree {
        padding: 1.875rem 1rem;
    }
    body#index .sale-products {
        padding: 0 0 1.875rem 0;
    }
    .product-miniature .card .product-miniature__prices .product-miniature__price {
        font-size: 1rem;
    }
    body#index .viewed-products {
        padding: 1px 0 1.875rem 0;
    }
    body#index .accordion--category > .category-tree__child > .category-tree__list > .category-tree__item > .accordion-collapse > .accordion-body > .category-tree__list > .category-tree__item {
        min-width: 190px;
    }
    body#index .accordion--category > .category-tree__child > .category-tree__list > .category-tree__item > .accordion-collapse > .accordion-body > .category-tree__list > .category-tree__item > .category-tree__item__header {
        height: 70px;
    }

    #subcategories .subcategory__wrapper {
        min-height: 4rem;
        height: 4rem;
        width: auto;
        max-width: auto;
    }
    #subcategories .subcategory__wrapper .subcategory .subcategory__name {
        margin-left: 1rem;
        font-size: 0.875rem;
        width: 11.875rem;
        min-width: 11.875rem;
    }
    #subcategories .subcategory__wrapper .subcategory .subcategory__image {
        margin-bottom: 0;
    }
    #subcategories .subcategory__wrapper .subcategory .subcategory__image .img-fluid {
        max-width: 35px;
    }

    #products #js-product-list-top #search_filter_toggler {
        padding-top: 0.625rem;
        padding-bottom: 0.625rem;
    }   

    .product-miniature .card .product-miniature__infos__bottom form .btn-primary {
        line-height: 1;
    }
    .product-miniature .card .product-miniature__infos__bottom form .btn-primary .material-icons {
        display: none;
    }
    .pagination li a {
        border-radius: 50%!important;
        padding: 5px;
    }

    body#product .product__col .product__name {
        font-size: 1rem;
        margin-bottom: 1rem;
    }
    .blockreassurance_product {
        padding: 0 10px;
    }
    .blockreassurance_product .item-product {
        margin-right: 10px;
    }
    
    body#product h2 {
        font-size: 1.5rem;
    }
    body#product .container #content-wrapper > div {
        padding-bottom: 1.875rem;
    }
    body#product .container #content-wrapper > section h2 {
        margin-bottom: 1rem;
        font-size: 1.25rem;
    }

    #pfg-form-1 {
        padding: 0 20px 20px 20px;
    }
}








