/*
 * Custom code goes here.
 * A template should always ship with an empty custom.css
 */

/* Desktop / laptop */
#desktop_logo img,
#mobile-logo img,
.col-mobile-logo img {
  height: auto;
  display: block;
}

/* Laptop et desktop */
@media (min-width: 992px) {
  #desktop_logo img,
  #mobile-logo img,
  .col-mobile-logo img {
    width: 241px;
    max-width: 100%;
  }
}

/* Tablette */
@media (max-width: 991.98px) {
  #desktop_logo img,
  #mobile-logo img,
  .col-mobile-logo img {
    width: 180px;
    max-width: 100%;
  }
}

/* Mobile */
@media (max-width: 575.98px) {
  #desktop_logo img,
  #mobile-logo img,
  .col-mobile-logo img {
    width: 140px;
    max-width: 100%;
  }
}

/* Taille des titre des tabs */
.tabs.elementor-products-tabs li.nav-item a {
    font-size: 36px;
}

/* Base */
.tabs.elementor-products-tabs .nav-tabs .nav-link {
    position: relative;
    border-bottom: none !important;
}

/* Couleur active */
.tabs.elementor-products-tabs .nav-tabs .nav-link.active,
.tabs.elementor-products-tabs .nav-tabs .nav-link:hover,
.tabs.elementor-products-tabs .nav-tabs .nav-link:focus {
    color: #000000;
    border-bottom: none !important;
	margin-bottom: 10px;
}

/* Ligne sous "Populaire" */
.tabs.elementor-products-tabs .nav-tabs .nav-link.active::after {
    content: "";
    position: absolute;
    left: 50%;
    transform: translateX(-50%);
    bottom: -6px;

    width: 50%;          /* ajuste ici */
    height: 4px;         /* = Elementor divider */
    background: #000000;
}

@media (max-width: 1024px) {
    .tabs.elementor-products-tabs .nav-tabs .nav-link.active::after {
        width: 42%;
        bottom: -5px;
    }
}

@media (max-width: 767px) {
    .tabs.elementor-products-tabs .nav-tabs .nav-link.active::after {
        width: 36%;
        bottom: -4px;
    }
}

.tagat-home-product-tab .nav-tabs {
    border-bottom: none 
}

.tabs.elementor-products-tabs .nav-tabs {
    margin-bottom: 10px;
}

.elementor-divider-separator {
    margin-bottom: 10px;
}


.simpleblog__post.blog-mb.cardblog img.img-fluid.mb-4 {
    width: 100%;
    max-width: 100%;
    height: auto;
    display: block;
}

.simpleblog-category-image {
    width: 100%;
}

.simpleblog-category-image img.img-fluid {
     /* width: 100% !important;
    max-width: 100% !important; */
    height: auto !important;
    display: block;
	margin: 0 auto;
}

.img-fluid, .img-thumbnail, .rte-content img {
    max-width: 100%;
    height: auto;
    margin: 0 auto;
    display: block;
}


.hp-box {
    min-height: 260px;
    padding: 38px 34px;
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: flex-start;
    box-sizing: border-box;
}

.hp-box i {
    font-size: 52px;
    margin-bottom: 22px;
    line-height: 1;
}

.hp-box h2 {
    margin: 0;
    font-size: 28px;
    line-height: 1.25;
    font-weight: 500;
    text-transform: uppercase;
}

/* Bloc blanc */
.hp-box--light {
    background: rgba(255, 255, 255, 0.82);
    color: #111;
}

.hp-box--light i {
    color: #ff6200;
}

/* Bloc orange */
.hp-box--orange {
    background: rgba(255, 98, 0, 0.88);
    color: #fff;
}

.hp-box--orange i {
    color: #fff;
}

/* Bloc foncé */
.hp-box--dark {
    background: rgba(22, 44, 74, 0.82);
    color: #fff;
}

.hp-box--dark i {
    color: #fff;
}

/* Conatiner full-width */
/* ==========================================
   Largeur globale desktop - Warehouse / PS
   ========================================== */
@media (min-width: 1200px) {

    /* Conteneur principal de presque toutes les pages */
    #wrapper > .container {
        max-width: 90% !important;
        width: 90% !important;
        margin-left: auto;
        margin-right: auto;
    }

    /* Inner wrapper Warehouse quand présent */
     /* #inner-wrapper.container {
        max-width: 100% !important;
        width: 100% !important;
    } */

    /* Homepage IQIT / Elementor-like */
    .page-index .elementor-section > .elementor-container {
        max-width: 90% !important;
        width: 90% !important;
        margin-left: auto;
        margin-right: auto;
    }
	
	div#footer-container-main .container {
    max-width: 90% !important;
    width: 90% !important;
    margin-left: auto;
    margin-right: auto;
	}
}



/* Section contenant les 3 blocs */
.elementor-element-9a6h3j3 .elementor-element-c3ctvxx {
    max-width: 100%;
    margin-left: auto;
    margin-right: auto;
}

.elementor-element-9a6h3j3 .elementor-element-c3ctvxx > .elementor-container {
    max-width: 100% !important;
    width: 100% !important;
}

.elementor-element-9a6h3j3 .elementor-element-c3ctvxx .elementor-inner-column {
    padding-left: 15px;
    padding-right: 15px;
}

.elementor-element-9a6h3j3 .hp-box {
    width: 100%;
    height: 100%;
    box-sizing: border-box;
}

/* offre club hompage fr */
.page-index .elementor-element-glczr3y > .elementor-container {
    max-width: 100% !important;
    width: 100% !important;
}

@media (max-width: 767px) {
    .elementor-element-9a6h3j3 .hp-box {
        padding: 30px 20px !important;
    }

    .elementor-element-9a6h3j3 .hp-box i {
        font-size: 40px !important;
    }

    .elementor-element-9a6h3j3 .hp-box h2 {
        font-size: 22px !important;
    }
}


@media (min-width: 992px) {
  #cbp-hrmenu .cbp-hropen .cbp-hrsub {
    transform: translateY(20px) !important;
  }

  #cbp-hrmenu .cbp-hrsub {
    position: absolute;
  }

  #cbp-hrmenu .cbp-hrsub::before {
    content: "";
    position: absolute;
    top: -20px;
    left: 0;
    right: 0;
    height: 20px;
    background: transparent;
  }

  #cbp-hrmenu .cbp-hrsub-inner {
    background: #162c4a !important;
    border: none;
    box-shadow: 0 4px 25px rgba(74, 63, 63, 0.15);
  }
}

.cbp-hrmenu .cbp-categories-row {
    margin-top: -10px;
    justify-content: center;
    text-align: center;
}


a#cart-toogle span.title, i.fa.fa-shopping-bag.fa-fw.icon {
    color: #FF6600;
}

.header-nav .row.justify-content-between {
    align-items: center;
}


.swiper-button-next,
.swiper-button-prev {
    width: 44px !important;
    height: 44px !important;
    padding: 0 !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    background: #333 !important;
    color: #fff !important;
    border-radius: 0 !important;
    margin-top: -22px !important;
}

.swiper-button-next::after,
.swiper-button-prev::after {
    font-size: 18px !important;
    line-height: 1 !important;
}

.header-nav .row.justify-content-between {
  align-items: center;
}

.header-nav .right-nav {
  display: flex;
  align-items: center;
  justify-content: flex-end;
  gap: 16px;
}

.header-nav .right-nav > .d-inline-block,
.header-nav .right-nav .language-selector,
.header-nav .right-nav .language-selector-wrapper,
.header-nav .right-nav .language-selector.dropdown,
.header-nav .right-nav .expand-more {
  display: flex;
  align-items: center;
}

.header-nav .right-nav .expand-more {
  gap: 6px;
  line-height: 1;
}

.header-nav .right-nav .lang-flag {
  display: block;
  width: 16px;
  height: auto;
}

.header-nav .right-nav .expand-more {
  font-size: 0;
}

.header-nav .right-nav .expand-more .lang-flag,
.header-nav .right-nav .expand-more .fa-angle-down {
  font-size: 14px;
}

.header-nav .right-nav .expand-more i {
  margin: 0;
}

.header-nav .right-nav .dropdown-menu {
  text-align: left;
}

.header-banner {
    color: #fff;
    font-size: 14px;
}

.header-banner a {
    color: #fff;
    font-size: 14px;
    text-decoration: none;
}

.header-banner a:hover {
    color: #ddd;
}


.payment-logos {
  display: grid;
  grid-template-columns: repeat(5, 1fr); /* 5 colonnes fixes */
  gap: 12px;
  align-items: center;
}

.payment-logo {
  display: flex;
  align-items: center;
  justify-content: center;
  height: 50px; /* un peu plus que 40 pour respirer */
}

.payment-logo img {
  max-height: 40px; /* taille demandée */
  max-width: 100%;
  width: auto;
  height: auto;
  border-radius: 10px;
}


.elementor-element.elementor-element-vitesju .elementor-iqit-banner .elementor-iqit-banner-description {
    display: block;
    text-shadow: 1px 1px #000;
    color: white;
    font-size: 50px;
}

.elementor-iqit-banner .elementor-iqit-banner-title {
    color: #ff5b23;
    font-size: 50px;
    text-shadow: 1px 1px #000;
}




/* carousel homepage */

/* carousel homepage */

.elementor-element.elementor-element-vitesju .elementor-iqit-banner .elementor-iqit-banner-description {
    display: block;
    text-shadow: 1px 1px #000;
    color: white;
    font-size: 50px;
}

.elementor-iqit-banner .elementor-iqit-banner-title {
    color: #ff5b23;
    font-size: 50px;
    text-shadow: 1px 1px #000;
}

.elementor-image-carousel .swiper-slide {
    padding: 0 10px;
    box-sizing: border-box;
}

.elementor-image-carousel .swiper-slide-inner {
    position: relative;
    overflow: hidden;
    display: flex;
    justify-content: center;
    align-items: center;
}

.elementor-image-carousel .swiper-slide a {
    display: flex;
    justify-content: center;
    width: 100%;
}

.elementor-image-carousel .swiper-slide-image {
    display: block;
    margin: 0 auto;
}

.elementor-image-carousel .swiper-slide-inner .slide-title {
    position: absolute;
    bottom: 15px;              /* 🔥 au lieu de top */
    left: 50%;
    transform: translateX(-50%);
    z-index: 20;

    width: max-content;
    max-width: calc(100% - 30px);
    text-align: center;

    color: #fff;
    font-size: 26px;
    font-weight: 800;
    line-height: 1.05;
    text-transform: uppercase;
    letter-spacing: 1px;

    text-shadow:
        2px 2px 4px rgba(0,0,0,0.8);

    

    pointer-events: none;
    white-space: normal;
    word-break: break-word;
}

@media (max-width: 1024px) {
    .elementor-image-carousel .swiper-slide-inner .slide-title {
        bottom: 12px;
        max-width: calc(100% - 28px);
        font-size: 20px;
    }

    .elementor-image-carousel .swiper-slide {
        padding: 0 8px;
    }
}

@media (max-width: 767px) {
    .elementor-image-carousel .swiper-slide-inner .slide-title {
        bottom: 10px;
        max-width: calc(100% - 20px);
        font-size: 16px;
    }

    .elementor-image-carousel .swiper-slide {
        padding: 0 6px;
    }
}

.tagat-partenaires-home-slider span.slide-title {
    display: none;
}

/* end home carousels */

/* ==========================================
   Echelle typo complète
   Adaptée à Warehouse + IQIT + base editor
   Base editor :
   - Font: Karla, sans-serif
   - Base size: 17px
   - Line-height: 1.7
   - Mobile base: 15px
   ========================================== */

/* Base */
html {
    font-size: 17px;
}

body {
    font-family: 'Karla', sans-serif;
    font-size: 0.9rem;
    line-height: 1.7;
    font-weight: 400;
}

/* Paragraphes et texte courant */
p,
.text-muted,
.page-content,
.rte,
.product-description,
.category-description,
.block-category,
label,
input,
select,
textarea,
button {
    font-size: 0.9rem;
    line-height: 1.7;
}

/* Liens menu / navigation */
#header .menu a,
.header-nav a,
.breadcrumb,
.breadcrumb a,
.cbp-horizontal .cbp-tab-title {
    font-size: 0.9rem;
}

/* Titres */
h1,
.h1 {
    font-size: 2.2rem;
    line-height: 1.2;
    font-weight: 700;
}

h2,
.h2 {
    font-size: 1.7rem;
    line-height: 1.25;
    font-weight: 700;
}

h3,
.h3 {
    font-size: 1.35rem;
    line-height: 1.3;
    font-weight: 600;
}

h4,
.h4 {
    font-size: 1.15rem;
    line-height: 1.35;
    font-weight: 600;
}

h5,
.h5 {
    font-size: 0.9rem;
    line-height: 1.4;
    font-weight: 600;
}

h6,
.h6 {
    font-size: 0.9rem;
    line-height: 1.4;
    font-weight: 600;
}

/* Produit */
.product-title,
h1.product-title {
    font-size: 2rem;
    line-height: 1.2;
    font-weight: 700;
}

.product-price,
.current-price,
.current-price span {
    font-size: 1.75rem;
    line-height: 1.2;
    font-weight: 700;
}

.regular-price,
.old-price {
    font-size: 0.9rem;
}

.product-description-short,
.product-reference,
.product-availability {
    font-size: 0.9rem;
    line-height: 1.5;
}

/* Description produit longue */
.product-description,
.product-description p,
.product-description span,
.product-description div,
.product-description li {
    line-height: 1.7;
}

/* Cartes produits */
.product-miniature .product-title,
.product-miniature h2,
.product-miniature h3 {
    font-size: 0.9rem;
    line-height: 1.35;
    font-weight: 500;
}

.product-miniature .price {
    font-size: 1.05rem;
    font-weight: 700;
}

/* Boutons */
.btn,
button,
input[type="submit"] {
    font-size: 0.9rem;
    font-weight: 600;
    line-height: 1.2;
}

/* Tabs */
.nav-tabs .nav-link,
.tabs .nav-link {
    font-size: 0.9rem;
    font-weight: 600;
}

/* Footer */
#footer,
.footer-container,
#footer p,
#footer a {
    font-size: 0.9rem;
    line-height: 1.6;
}

/* ==========================================
   Responsive tablette
   ========================================== */
@media (max-width: 1024px) {
    html {
        font-size: 16px;
    }

    body,
    p,
    .page-content,
    .rte,
    .product-description,
    .category-description {
        line-height: 1.65;
    }

    h1,
    .h1,
    .product-title,
    h1.product-title {
        font-size: 1.95rem;
    }

    h2,
    .h2 {
        font-size: 1.55rem;
    }

    h3,
    .h3 {
        font-size: 1.25rem;
    }

    .product-price,
    .current-price,
    .current-price span {
        font-size: 1.5rem;
    }

    .nav-tabs .nav-link,
    .tabs .nav-link {
        font-size: 0.9rem;
    }
}

/* ==========================================
   Responsive mobile
   Base editor mobile = 15px
   ========================================== */
@media (max-width: 767px) {
    html {
        font-size: 15px;
    }

    body,
    p,
    .page-content,
    .rte,
    .product-description,
    .category-description,
    label,
    input,
    select,
    textarea,
    button {
        font-size: 0.9rem;
        line-height: 1.6;
    }

    h1,
    .h1,
    .product-title,
    h1.product-title {
        font-size: 1.7rem;
        line-height: 1.2;
    }

    h2,
    .h2 {
        font-size: 1.4rem;
    }

    h3,
    .h3 {
        font-size: 1.15rem;
    }

    h4,
    .h4 {
        font-size: 1.05rem;
    }

    .product-price,
    .current-price,
    .current-price span {
        font-size: 1.3rem;
    }

    .product-miniature .product-title,
    .product-miniature h2,
    .product-miniature h3 {
        font-size: 0.9rem;
    }

    .btn,
    button,
    input[type="submit"] {
        font-size: 0.9rem;
    }

    .nav-tabs .nav-link,
    .tabs .nav-link {
        font-size: 0.9rem;
    }

    #header .menu a,
    .header-nav a,
    .breadcrumb,
    .breadcrumb a,
    .cbp-horizontal .cbp-tab-title {
        font-size: 0.9rem;
    }
}

/* ==========================================
   Menu header sur une seule ligne
   ========================================== */
@media (max-width: 1700px) and (min-width: 1024px) {
    .cbp-horizontal .cbp-tab-title {
        font-size: 1rem;
    }
}

/* ==========================================
   Desktop large > 1700px
   ========================================== */
@media (min-width: 1700px) {

    body {
        font-size: 1rem;
    }

    p,
    .text-muted,
    .page-content,
    .rte,
    .product-description,
    .category-description,
    .block-category,
    label,
    input,
    select,
    textarea,
    button {
        font-size: 1rem;
    }

    #header .menu a,
    .header-nav a,
    .breadcrumb,
    .breadcrumb a {
        font-size: 1rem;
    }

    /* Tabs / IQIT */
    .cbp-horizontal .cbp-tab-title {
        font-size: 1.1rem; /* correction du 1.1.rem */
    }

    /* Cartes produits */
    .product-miniature .product-title,
    .product-miniature h2,
    .product-miniature h3 {
        font-size: 1rem;
    }

    /* Boutons */
    .btn,
    button,
    input[type="submit"] {
        font-size: 1rem;
    }

    /* Tabs */
    .nav-tabs .nav-link,
    .tabs .nav-link {
        font-size: 1rem;
    }

    /* Footer */
    #footer,
    .footer-container,
    #footer p,
    #footer a {
        font-size: 1rem;
    }

    /* Prix secondaire */
    .regular-price,
    .old-price {
        font-size: 1rem;
    }
}


/* fin echelle typo complete */



/* prest B2B */
.presta-b2b-toggle {
    display: flex;
    border-radius: 999px;
    overflow: hidden;
    border: 1px solid #d9dee5;
    background: #f5f7fa;
    max-width: 900px;
    margin-bottom: 18px;
}

.presta-b2b-toggle input[type="radio"] {
    display: none;
}

.presta-b2b-toggle label {
    flex: 1;
    margin: 0;
    padding: 14px 22px;
    text-align: center;
    cursor: pointer;
    font-size: 15px;
    font-weight: 600;
    color: #30435a;
    background: transparent;
    transition: all 0.25s ease;
}
