/* ══════════════════════════════════════════════════════════════════════════
   TLS-STYLE · Toute la signalétique 
   ════════════════════════════════════════════════════════════════════════ */

@import url("https://fonts.googleapis.com/css2?family=Roboto+Condensed:wght@500;600;700;800;900&display=swap");

/* ──────────────────────────────────────────────────────────────────────────
   1 · VARIABLES, GABARIT & BASES COMMUNES
   ────────────────────────────────────────────────────────────────────────── */

:root {
  --tls-blue: #01A0E1;
  --tls-orange: #FF9719;
  --tls-avis: #0073FF;
  --tls-red: #DF2334;
  --tls-navy: #29255B;
  --tls-green: #97BF32;
  --tls-grey: #666666;
  --tls-dark: #111111;
  --tls-line: #E0E0E0;
  --tls-field: #EFEFEF;
  --tls-font: "Roboto Condensed", Roboto, sans-serif;
  --tls-futura: "Futura PT", "Roboto Condensed", sans-serif;
}

/* GABARIT DE PAGE (wrappers du thème PrestaShop) */

.tls-header,
.tls-hero,
.tls-topbar,
.tls-cats,
.tls-best,
.tls-push,
.tls-title,
.tls-needs,
.tls-estab,
.tls-band,
.tls-heroa,
.tls-news,
.tls-nlt,
.tls-bc,
.tls-prod,
.tls-cat,
.tls-footer {
  max-width: 100%;
  min-width: 0;
}

#wrapper>.breadcrumb__wrapper>.container,
#wrapper>#notifications>.container,
#wrapper>.columns-container.container {
  width: 100%;
  max-width: 1568px;
  margin: 0 auto !important;
  padding: 0 20px;
}

#wrapper .center-column,
#wrapper #content,
#wrapper #content>.elementor {
  width: 100%;
  max-width: none;
  margin: 0;
  padding: 0;
}

/* BASES COMMUNES (tous les modules) */

.tls-cat-full-desc .elementor-element-populated,
.tls-header .elementor-element-populated,
.tls-hero .elementor-element-populated,
.tls-topbar .elementor-element-populated,
.tls-cats .elementor-element-populated,
.tls-best .elementor-element-populated,
.tls-push .elementor-element-populated,
.tls-title .elementor-element-populated,
.tls-needs .elementor-element-populated,
.tls-estab .elementor-element-populated,
.tls-band .elementor-element-populated,
.tls-heroa .elementor-element-populated,
.tls-news .elementor-element-populated,
.tls-nlt .elementor-element-populated,
.tls-prod .elementor-element-populated,
.tls-prod .elementor-column-wrap,
.tls-footer .elementor-element-populated {
  padding: 0 !important;
}

.tls-header .elementor-widget,
.tls-hero .elementor-widget,
.tls-topbar .elementor-widget,
.tls-cats .elementor-widget,
.tls-best .elementor-widget,
.tls-needs .elementor-widget,
.tls-estab .elementor-widget {
  margin: 0;
  width: auto !important;
}

.tls-header .elementor-inner-section,
.tls-topbar .elementor-inner-section,
.tls-best .elementor-inner-section,
.tls-news .elementor-inner-section {
  width: auto !important;
}

.tls-header .elementor-widget-container,
.tls-header .tls-nav-menu nav.elementor-nav--main,
.tls-hero .elementor-widget-container,
.tls-hero .tls-hero-track,
.tls-topbar .elementor-widget-container,
.tls-cats .elementor-widget-container,
.tls-cats .tls-cats-grid,
.tls-best .elementor-widget-container,
.tls-push .elementor-widget-container,
.tls-title .elementor-widget-container,
.tls-needs .elementor-widget-container,
.tls-needs .tls-needs-grid,
.tls-estab .elementor-widget-container,
.tls-estab .tls-estab-grid,
.tls-band .elementor-widget-container,
.tls-band .tls-band-in>.elementor-column-wrap,
.tls-band .tls-band-in>.elementor-widget-wrap,
.tls-band .tls-band-in>.elementor-column-wrap>.elementor-widget-wrap,
.tls-news .elementor-widget-container,
.tls-nlt .elementor-widget-container,
.tls-gal-main,
.tls-footer .elementor-widget-container {
  width: 100% !important;
}

.tls-header p,
.tls-hero p,
.tls-topbar p,
.tls-cats p,
.tls-best p,
.tls-push p,
.tls-title p,
.tls-needs p,
.tls-estab p,
.tls-band p,
.tls-heroa p,
.tls-news p,
.tls-nlt p,
.tls-prod p,
.tls-prod .product-description p,
.tls-prod .product-description div,
.tls-prod .short-description p,
.tls-prod .short-description div,
.tls-footer p,
#emailsubscription_anchor_displayCEWidget .form-control,
#emailsubscription_anchor_displayCEWidget .btn {
  margin: 0;
}

.tls-header ul,
.tls-hero ul,
.tls-prod ul,
.tls-prod ol,
.tls-footer ul {
  list-style: none;
  margin: 0;
  padding: 0 !important;
}

.tls-header .elementor-heading-title,
.tls-hero .elementor-heading-title,
.tls-topbar .elementor-heading-title,
.tls-cats .elementor-heading-title,
.tls-best .elementor-heading-title,
.tls-push .elementor-heading-title,
.tls-title .elementor-heading-title,
.tls-band .elementor-heading-title,
.tls-news .elementor-heading-title,
.tls-nlt .elementor-heading-title {
  margin: 0;
  font: inherit !important;
  color: inherit;
  letter-spacing: inherit !important;
  text-transform: inherit;
}

.tls-header a,
.tls-topbar a,
.tls-cats a,
.tls-footer a {
  text-decoration: none !important;
  transition: background-color .2s ease, color .2s ease, opacity .2s ease !important;
}

.tls-header img,
.tls-hero img,
.tls-topbar img,
.tls-prod img,
.tls-footer img {
  display: block;
  height: auto !important;
  border: none;
}

#header .elementor-section-wrap>.elementor-section:not(.tls-header),
.tls-header .tls-nav-menu .elementor-nav--main ul ul li a:before,
.tls-header .tls-nav-menu .elementor-nav--main ul ul ul li a:before,
.tls-header .tls-nav-menu .elementor-nav--main ul ul li a:after,
.tls-header .tls-nav-menu .elementor-nav--main ul ul ul li a:after,
.tls-header .tls-nav-menu .elementor-nav--main ul ul ul>li:nth-child(n
  /**/
  +9),
.tls-mini .tls-mini-col .tls-mini-badges:not(:has([class*="badge"]:not([class*="badges"]))):not(:has(li)):not(:has(*>*>*)),
.tls-mini .tls-mini-badges *:empty:not(img):not(svg):not(br):not(i),
.tls-needs .tls-needs-grid>.elementor-widget-container>*>*:nth-child(n
  /**/
  +5),
.tls-needs .tls-needs-grid>.elementor-widget-container>*>ul>li:nth-child(n
  /**/
  +5),
.tls-news .tls-news-grid .post-tags a:nth-child(n

  /**/
  +2),
.tls-nlt .tls-nlt-form p,
.tls-bc .tls-bc-w li:last-child:after,
.tls-prod .tls-stars i,
.tls-prod .tls-stars svg,
.tls-prod .tls-stars span,
.tls-cat #js-product-list-header,
.tls-cat #js-product-list-top {
  display: none;
}

.tls-nav-wrap>.elementor-widget-wrap,
.tls-nav-wrap>.elementor-column-wrap>.elementor-widget-wrap,
.tls-header .tls-nav-menu .elementor-nav--main ul>li:has(ul)>a:after,
.tls-topbar-wrap>.elementor-widget-wrap,
.tls-topbar-wrap>.elementor-column-wrap>.elementor-widget-wrap,
.tls-title-wrap>.elementor-widget-wrap,
.tls-title-wrap>.elementor-column-wrap>.elementor-widget-wrap {
  display: block;
}

.tls-hero .tls-slide-btn .elementor-button:hover .elementor-button-text,
.tls-topbar .tls-tb-title a,
.tls-push .tls-push-btn-light .elementor-button:hover .elementor-button-text {
  color: #FFFFFF !important;
}

.tls-cats img,
.tls-mini img,
.tls-best img,
.tls-push img,
.tls-needs img,
.tls-estab img,
.tls-band img,
.tls-heroa img,
.tls-news img {
  display: block;
  border: none;
}

.tls-cats .tls-cats-grid>.elementor-widget-container>*>*:hover img,
.tls-mini:hover .tls-mini-pic img,
.tls-pc:not(:has(.tls-mini)) article:hover img,
.tls-pc:not(:has(.tls-mini)) [class*="miniature"]:hover img,
.tls-estab .tls-estab-grid>.elementor-widget-container>*>*:hover img,
.tls-news .tls-news-grid .post-item:hover .post-item-cover img,
.tls-cat .tls-mini:hover .tls-mini-pic img {
  transform: scale(1.04) !important;
}

.tls-mini a,
.tls-needs a,
.tls-estab a,
.tls-news a,
.tls-nlt a,
.tls-prod a {
  text-decoration: none !important;
  color: inherit !important;
}

.tls-estab a {
  text-shadow: 1px 1px 5px #000;
}

.tls-best a,
.tls-push a,
.tls-heroa a {
  text-decoration: none !important;
}

.tls-hero .tls-slide-btn .elementor-button-icon svg path,
.tls-best .tls-best-all .elementor-button-icon svg path,
.tls-news .tls-news-all .elementor-button-icon svg path,
.tls-push .tls-push-btn-light .elementor-button-icon svg path {
  fill: none !important;
  stroke: #000000 !important;
}

.tls-push .tls-push-btn-dark .elementor-button-icon svg path,
.tls-heroa .tls-heroa-btn .elementor-button-icon svg path {
  fill: none !important;
  stroke: #FFFFFF !important;
}

.tls-hero .tls-slide-btn .elementor-button:hover svg path,
.tls-push .tls-push-btn .elementor-button:hover svg path,
.tls-heroa .tls-heroa-btn .elementor-button:hover svg path {
  stroke: #FFFFFF !important;
}

.tls-best .tls-best-all .elementor-button:hover svg,
.tls-needs .tls-needs-grid>.elementor-widget-container>*>*:hover::after,
.tls-heroa .tls-heroa-btn .elementor-button:hover svg,
.tls-news .tls-news-all .elementor-button:hover svg,
.tls-footer .tls-mail-btn .elementor-button:hover svg,
.tls-footer .tls-mail-btn .elementor-button:hover img {
  transform: translateX(4px) !important;
}

.tls-pi>.elementor-container>.elementor-row,
.tls-pi-opts>.elementor-container>.elementor-row,
.tls-pi-buy>.elementor-container>.elementor-row {
  display: flex;
  flex-direction: column;
  flex-wrap: nowrap;
  align-items: flex-start;
  gap: 0;
  width: 100% !important;
}

.tls-header .tls-logo a:hover,
.tls-footer .tls-logo a:hover,
.tls-cat .tls-intro-more .elementor-button:hover {
  opacity: .85 !important;
}


/* ──────────────────────────────────────────────────────────────────────────
   2 · HEADER
   ────────────────────────────────────────────────────────────────────────── */

/* Base / resets */

.tls-header {
  background: #FFFFFF;
  padding: 0 20px;
  font-family: var(--tls-font);
}

.tls-header .elementor-inner-section>.elementor-container,
.tls-topbar-row>.elementor-container {
  max-width: none !important;
  margin: 0;
  width: 100% !important;
}

.tls-header input {
  font-family: var(--tls-font);
}

/* 2.1 · Barre principale */

.tls-header.tls-head {
  padding-top: 20px;
  padding-bottom: 20px;
}

.tls-head-wrap>.elementor-widget-wrap,
.tls-head-wrap>.elementor-column-wrap>.elementor-widget-wrap {
  display: flex;
  align-items: center;
  height: 65px !important;
  flex-wrap: nowrap;
}

/* Logo */

.tls-header .tls-logo {
  flex: 0 0 343px;
  margin-right: 45px;
}

.tls-header .tls-logo img {
  width: 343px;
  height: 70px !important;
  object-fit: contain;
  object-position: left center;
  mix-blend-mode: multiply;
}

/* Recherche · widget AJAX Search (markup CE réel) */

.tls-header .tls-search {
  flex: 0 0 495px;
  height: 59px;
  position: relative;
  z-index: 6;
}

.tls-header .tls-search .elementor-search {
  height: 100% !important;
  width: 100% !important;
  margin: 0;
  padding: 0;
  display: block;
}

.tls-header .tls-search .elementor-search__container {
  display: flex;
  align-items: center;
  height: 100% !important;
  width: 100% !important;
  position: relative;
  margin: 0;
  padding: 0;
  background: transparent;
  border: none;
  border-radius: 0;
  box-shadow: none;
}

.tls-header .tls-search .elementor-search__input,
.tls-header .tls-search input[type="search"] {
  width: 100% !important;
  height: 59px;
  min-height: 59px;
  max-height: 59px;
  background: #EFEFEF;
  border: none;
  border-radius: 10px;
  padding: 0 52px 0 73px !important;
  margin: 0;
  font-family: var(--tls-font);
  font-weight: 600;
  font-size: 13px;
  line-height: 15px;
  letter-spacing: 0.13px;
  text-transform: uppercase;
  color: var(--tls-dark);
  box-shadow: none;
  outline: none;
  transition: box-shadow .2s ease;
}

.tls-header .tls-search .elementor-search__input::placeholder {
  color: var(--tls-dark);
  opacity: 1;
}

.tls-header .tls-search .elementor-search__input:focus {
  box-shadow: 0 0 0 2px rgba(1, 160, 225, .35) !important;
}

.tls-header .tls-search .elementor-search__input::-webkit-search-cancel-button {
  display: none;
  -webkit-appearance: none;
}

.tls-header .tls-search .elementor-search__submit {
  position: absolute;
  left: 30px;
  right: auto !important;
  top: 50% !important;
  bottom: auto;
  transform: translateY(-50%);
  width: 25px !important;
  height: 25px;
  min-width: 0 !important;
  min-height: 0;
  max-width: none;
  padding: 0;
  margin: 0;
  background: transparent;
  border: none;
  border-radius: 0;
  box-shadow: none;
  display: flex;
  align-items: center;
  justify-content: center;
  cursor: pointer;
  opacity: 1;
  z-index: 3;
  color: var(--tls-dark);
  font-size: 22px;
  line-height: 1;
}

.tls-header .tls-search .elementor-search__submit i,
.tls-header .tls-search .elementor-search__submit .ceicon,
.tls-header .tls-search .elementor-search__submit svg {
  color: var(--tls-dark);
  fill: var(--tls-dark);
  font-size: 22px;
  width: 22px;
  height: 22px;
  line-height: 1;
  opacity: 1;
  margin: 0;
}

.tls-header .tls-search .elementor-search__submit:hover i,
.tls-header .tls-phone-num a:hover {
  color: var(--tls-blue) !important;
}

.tls-header .tls-search .elementor-search__clear {
  position: absolute;
  right: 20px;
  left: auto !important;
  top: 50% !important;
  bottom: auto;
  transform: translateY(-50%);
  width: 20px;
  height: 20px;
  padding: 0 !important;
  margin: 0;
  background: transparent;
  border: none;
  display: flex;
  align-items: center;
  justify-content: center;
  cursor: pointer;
  z-index: 3;
  color: var(--tls-grey);
  font-size: 14px;
  line-height: 1;
}

.tls-header .tls-search .elementor-search__clear i {
  color: var(--tls-grey);
  font-size: 14px;
  line-height: 1;
}

.tls-header .tls-search .elementor-search__clear:hover i,
.tls-header .tls-phone-num a {
  color: var(--tls-dark) !important;
}

.tls-header .screen-reader-text {
  position: absolute;
  width: 1px;
  height: 1px;
  padding: 0;
  margin: -1px;
  overflow: hidden;
  clip: rect(0, 0, 0, 0);
  white-space: nowrap;
  border: 0;
}

/* Téléphone */

.tls-header .tls-phone {
  flex: 0 0 172px;
  margin-left: 42.33px;
}

.tls-phone-col>.elementor-widget-wrap,
.tls-phone-col>.elementor-column-wrap>.elementor-widget-wrap {
  display: grid;
  grid-template-columns: 30px 1fr !important;
  column-gap: 15px;
  align-items: center;
  align-content: center;
}

.tls-header .tls-phone-ico img,
.tls-topbar .tls-tb-ico img {
  width: 30px;
  height: 30px !important;
}

.tls-header .tls-phone-num {
  grid-area: 1/2;
  font-weight: 800;
  font-size: 20px;
  line-height: 23px;
  letter-spacing: -0.4px;
  text-transform: uppercase;
  white-space: nowrap;
}

.tls-header .tls-phone-hours {
  grid-area: 2/2;
  font-weight: 700;
  font-size: 11px;
  line-height: 12px;
  text-transform: uppercase;
  color: var(--tls-grey);
  white-space: nowrap;
}

/* Avis Vérifiés */

.tls-header .tls-avis {
  flex: 0 0 167px;
  margin-left: 42.33px;
  height: 52px;
  background: #FFFFFF;
  border: 1px solid #000000;
  border-radius: 10px;
}

.tls-search>.elementor-container,
.tls-search>.elementor-container>.elementor-row,
.tls-header .tls-search .elementor-widget-ajax-search,
.tls-header .tls-search .elementor-widget-ajax-search>.elementor-widget-container,
.tls-header .tls-search-w,
.tls-header .tls-search-w>.elementor-widget-container,
.tls-push .tls-push-col>.elementor-column-wrap,
.tls-push .tls-push-col>.elementor-widget-wrap,
.tls-push .tls-push-col>.elementor-column-wrap>.elementor-widget-wrap,
.tls-avis>.elementor-container,
.tls-avis>.elementor-container>.elementor-row {
  height: 100% !important;
  width: 100% !important;
}

.tls-avis-col>.elementor-widget-wrap,
.tls-avis-col>.elementor-column-wrap>.elementor-widget-wrap {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 15px;
  height: 100% !important;
  padding: 0 15px;
  flex-wrap: nowrap;
}

.tls-header .tls-avis-logo {
  flex: 0 0 auto;
  line-height: 0;
}

.tls-header .tls-avis-logo img {
  height: 22px !important;
  width: auto !important;
  max-width: 72px;
}

.tls-header .tls-avis-note {
  flex: 0 0 auto;
  font-weight: 900;
  font-size: 30px;
  line-height: 30px;
  letter-spacing: -0.9px;
  color: var(--tls-avis);
  white-space: nowrap;
}

.tls-header .tls-avis-note .tls-note-slash {
  font-weight: 500;
  font-size: 19px;
  letter-spacing: -0.57px;
  color: var(--tls-dark);
}

/* Actions */

.tls-header .tls-actions {
  flex: 0 0 179px;
  margin-left: 42.33px;
}

.tls-actions>.elementor-container>.elementor-row {
  display: flex;
  align-items: center;
  justify-content: space-between;
  width: 100%;
}

.tls-header .tls-act {
  width: auto;
  flex: 0 0 auto;
  min-width: 0;
}

.tls-header .tls-act-contact {
  flex: 0 0 44px;
}

.tls-header .tls-act-account {
  flex: 0 0 39px;
}

.tls-header .tls-act-cart {
  flex: 0 0 48px;
  position: relative;
}

.tls-act>.elementor-widget-wrap,
.tls-act>.elementor-column-wrap>.elementor-widget-wrap {
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: flex-start;
  gap: 8px;
}

.tls-header .tls-act-txt {
  font-weight: 700;
  font-size: 11px;
  line-height: 12px;
  text-transform: uppercase;
  color: #000000;
  text-align: center;
  white-space: nowrap;
  order: 9;
}

.tls-header .tls-act-txt a {
  color: #000000;
}

.tls-header .tls-act:hover .tls-act-txt,
.tls-header .tls-act:hover .tls-act-txt a,
.tls-header .tls-act-account ul ul a.elementor-item:hover,
.tls-header .tls-nav-menu .elementor-nav--main>ul>li:nth-child(1):hover>a,
.tls-header .tls-nav-menu .elementor-nav--main ul ul ul a:hover,
.tls-topbar .tls-tb-item:hover .tls-tb-title,
.tls-topbar .tls-tb-item:hover .tls-tb-title a,
.tls-cats .tls-cats-grid>.elementor-widget-container>*>*:hover>*:nth-child(2),
.tls-cats .tls-cats-grid>.elementor-widget-container>*>*:hover>*:nth-child(2) a,
.tls-mini:hover .tls-mini-title a,
.tls-pc:not(:has(.tls-mini)) article:hover [class*="product-title"] a,
.tls-best .tls-best-all .elementor-button:hover .elementor-button-text,
.tls-news .tls-news-all .elementor-button:hover .elementor-button-text,
.tls-cat .tls-mini:hover .tls-mini-title a,
.tls-footer .tls-mail-btn .elementor-button:hover .elementor-button-text {
  color: var(--tls-orange) !important;
}

/* socle commun */

.tls-header .tls-act>.elementor-column-wrap>.elementor-widget-wrap>.elementor-widget,
.tls-header .tls-act>.elementor-widget-wrap>.elementor-widget,
.tls-mini .tls-mini-col .tls-mini-pic {
  order: 1;
}

.tls-header .tls-act-ico {
  height: 30px;
  width: auto;
  position: relative;
  line-height: 0;
}

.tls-header .tls-act-ico>.elementor-widget-container,
.tls-header .tls-act-account .elementor-widget-sign-in>.elementor-widget-container,
.tls-header .tls-act-account .tls-account-w>.elementor-widget-container,
.tls-header .tls-act-cart .elementor-widget-shopping-cart>.elementor-widget-container,
.tls-header .tls-act-cart .tls-cart-w>.elementor-widget-container {
  display: flex;
  align-items: center;
  justify-content: center;
  width: auto;
  height: 30px;
  background: transparent;
}

.tls-header .tls-act-ico img {
  width: 30px;
  height: 30px;
  transition: transform .2s ease;
}

.tls-header .tls-act:hover .tls-act-ico img {
  transform: translateY(-2px) !important;
}

.tls-header .tls-act-cart .tls-cart-w,
.tls-header .tls-act-account .tls-account-w {
  margin-left: auto;
  margin-right: auto;
}

.tls-header .tls-act-contact .tls-act-ico a {
  display: block;
  width: 30px;
  height: 30px;
  background-color: var(--tls-dark);
  mask: url(/img/cms/mail-edit-black.svg) no-repeat center/30px 30px;
}

.tls-header .tls-act-contact .tls-act-ico a img {
  visibility: hidden;
}

.tls-header .tls-act-contact:hover .tls-act-ico a {
  background-color: var(--tls-orange);
  transform: translateY(-1px);
}

.tls-header .tls-act-account:hover a.elementor-item svg,
.tls-header .tls-act-cart:hover .elementor-cart__toggle svg {
  transform: translateY(-2px);
}

/* COMPTE · widget « Menu utilisateur » (sign-in) */

.tls-header .tls-act-account .elementor-widget-sign-in,
.tls-header .tls-act-account .elementor-widget-nav-menu,
.tls-header .tls-act-account .tls-account-w,
.tls-header .tls-act-cart .elementor-widget-shopping-cart,
.tls-header .tls-act-cart .tls-cart-w {
  height: 30px;
  width: auto;
  position: relative;
  line-height: 0;
  background: transparent;
}

.tls-header .tls-act-account .ce-user-menu,
.tls-header .tls-act-account .elementor-nav__container,
.tls-header .tls-act-account nav {
  display: flex;
  align-items: center;
  justify-content: center;
  height: 30px;
  width: auto;
  margin: 0;
  padding: 0;
  background: transparent;
  border: none;
}

.tls-header .tls-act-account ul.elementor-nav{
  display: flex;
  align-items: center;
  justify-content: center;
  height: 30px;
  margin: 0;
  padding: 0;
  list-style: none;
  background: transparent;
  border: none;
  z-index: 3;
}

.tls-header .tls-act-account li.menu-item,
.tls-header .tls-act-account>.elementor-column-wrap li {
  display: flex;
  align-items: center;
  justify-content: center;
  height: 30px;
  margin: 0;
  padding: 0;
  border: none;
}

.tls-header .tls-act-account a.elementor-item {
  display: flex;
  align-items: center;
  justify-content: center;
  height: 30px;
  width: auto;
  padding: 0;
  margin: 0;
  background: transparent;
  border: none;
  border-radius: 0;
  box-shadow: none;
  color: var(--tls-dark);
  fill: var(--tls-dark);
  font-size: 0;
  line-height: 0;
  text-decoration: none;
}

.tls-header .tls-act-account a.elementor-item i,
.tls-header .tls-act-account a.elementor-item .ceicon,
.tls-header .tls-act-account a.elementor-item svg {
  color: var(--tls-dark);
  fill: none;
  font-size: 26px;
  width: auto;
  height: 26px;
  line-height: 1;
  margin: 0;
  padding: 0;
  transition: color .2s ease, stroke .2s ease, transform .2s ease;
}

.tls-header .tls-act-account:hover a.elementor-item i,
.tls-header .tls-act-cart:hover .elementor-cart__toggle .elementor-button-icon i {
  color: var(--tls-orange) !important;
  transform: translateY(-2px) !important;
}

.tls-header .tls-act-account ul ul {
  position: absolute !important;
  top: 44px !important;
  right: 0 !important;
  left: auto !important;
  /* display: block !important; */
  height: auto !important;
  min-width: 200px !important;
  padding: 8px 0 !important;
  background: #FFFFFF !important;
  border: 1px solid var(--tls-line) !important;
  border-radius: 10px !important;
  box-shadow: 0 8px 24px rgba(0, 0, 0, .08) !important;
  z-index: 60 !important;
}

.tls-header .tls-act-account ul ul li {
  display: block !important;
  height: auto !important;
}

.tls-header .tls-act-account ul ul a.elementor-item {
  display: block !important;
  height: auto !important;
  padding: 8px 16px !important;
  font-family: var(--tls-font) !important;
  font-weight: 700 !important;
  font-size: 12px !important;
  line-height: 16px !important;
  text-transform: uppercase !important;
  color: var(--tls-dark) !important;
  text-align: left !important;
}

/* PANIER · widget « Shopping Cart » */

.tls-header .tls-act-cart .elementor-cart__toggle {
  display: flex;
  align-items: center;
  justify-content: center;
  height: 30px;
  width: auto;
  margin: 0;
  padding: 0;
  background: transparent;
}

.tls-header .tls-act-cart .elementor-cart__toggle .elementor-button {
  display: flex;
  align-items: center;
  justify-content: center;
  height: 30px;
  width: auto;
  min-width: 0;
  padding: 0;
  margin: 0;
  background: transparent;
  border: none;
  border-radius: 0;
  box-shadow: none;
  color: var(--tls-dark);
  font-size: 0;
  line-height: 0;
  text-decoration: none;
}

.tls-header .tls-act-cart .elementor-cart__toggle .elementor-button-text {
  display: none;
  font-size: 0;
}

.tls-header .tls-act-cart .elementor-cart__toggle .elementor-button-icon {
  position: static;
  display: flex;
  align-items: center;
  justify-content: center;
  width: auto;
  height: 26px;
  margin: 0;
  padding: 0;
  overflow: visible;
}

.tls-header .tls-act-cart .elementor-cart__toggle .elementor-button-icon i,
.tls-header .tls-act-cart .elementor-cart__toggle .elementor-button-icon .ceicon,
.tls-header .tls-act-cart .elementor-cart__toggle .elementor-button-icon svg {
  color: var(--tls-dark);
  fill: none;
  font-size: 26px;
  width: auto;
  height: 26px;
  line-height: 1;
  margin: 0;
  transition: color .2s ease, stroke .2s ease, transform .2s ease;
}

.tls-header .tls-act-cart .elementor-cart__toggle .elementor-button-icon[data-counter]:after,
.tls-header .tls-act-cart .elementor-cart__toggle .elementor-button-icon[data-counter]:before {
  content: attr(data-counter);
  position: absolute;
  top: -3px;
  right: -1px;
  bottom: auto;
  left: auto;
  width: 30px;
  height: 30px;
  min-width: 30px;
  padding: 0;
  margin: 0;
  border-radius: 50%;
  background: var(--tls-red);
  border: 2px solid #FFFFFF;
  color: #FFFFFF;
  font-family: var(--tls-font);
  font-weight: 700;
  font-size: 15px;
  line-height: 1;
  letter-spacing: -0.3px;
  text-align: center;
  display: flex;
  align-items: center;
  justify-content: center;
  box-sizing: border-box;
  transform: none;
  z-index: 4;
}

.tls-header .tls-act-account a.elementor-item span,
.tls-header .tls-act-account .sub-arrow,
.tls-header .tls-act-account a.elementor-item:before,
.tls-header .tls-act-account a.elementor-item:after,
.tls-header .tls-act-cart .elementor-cart__toggle .elementor-button-icon[data-counter="0"]:after,
.tls-header .tls-act-cart .elementor-cart__toggle .elementor-button-icon[data-counter="0"]:before,
.tls-header .tls-act-cart .elementor-cart__toggle .elementor-button-icon[data-counter=""]:after,
.tls-header .tls-act-cart .elementor-cart__toggle .elementor-button-icon[data-counter=""]:before {
  display: none;
  content: none;
}

.tls-header .tls-act-cart .elementor-cart__container,
.tls-header .tls-act-cart dialog {
  font-size: 14px;
  line-height: 1.5;
  color: var(--tls-dark);
  text-align: left;
}

.tls-header .tls-act-cart .elementor-cart__container .elementor-button {
  height: auto;
  padding: 12px 20px;
  font-size: 14px;
  line-height: 1.2;
}

.tls-header .tls-act-cart .elementor-cart__container .elementor-button-text {
  display: inline;
  font-size: 14px;
}

/* 2.2 · Navigation besoins */

.tls-header.tls-nav {
  border-bottom: 1px solid #E0E0E0;
}

.tls-nav-row>.elementor-container>.elementor-row {
  display: flex;
  align-items: stretch;
  justify-content: space-between;
  width: 100% !important;
}

.tls-nav-menu>.elementor-widget-wrap,
.tls-nav-menu>.elementor-column-wrap>.elementor-widget-wrap,
.tls-hero-wrap>.elementor-widget-wrap,
.tls-hero-wrap>.elementor-column-wrap>.elementor-widget-wrap,
.tls-cats-wrap>.elementor-widget-wrap,
.tls-cats-wrap>.elementor-column-wrap>.elementor-widget-wrap,
.tls-best-wrap>.elementor-widget-wrap,
.tls-best-wrap>.elementor-column-wrap>.elementor-widget-wrap,
.tls-news-wrap>.elementor-widget-wrap,
.tls-news-wrap>.elementor-column-wrap>.elementor-widget-wrap {
  display: block;
  position: relative;
}
form.ce-contact-form.elementor-form input, form.ce-contact-form.elementor-form select {
    min-height: 44px;
}
form.ce-contact-form.elementor-form input::placeholder,
form.ce-contact-form.elementor-form select::placeholder ,
form.ce-contact-form.elementor-form textarea::placeholder {
    color: transparent !important;
}

.brd nav.breadcrumb__wrapper {
    padding-top: 0;
}
#module-ambjolisearch-jolisearch .products .col-xs-6.col-xl-3 {
    width: 100%;
}
#module-ambjolisearch-jolisearch .products img {
    object-fit: contain !important;
    background: #fff !important;
}
#module-ambjolisearch-jolisearch nav.pagination__container {
    margin-top: 80px;
    margin-bottom: 30px;
}
#module-ambjolisearch-jolisearch button.page-link, #module-ambjolisearch-jolisearch .pagination__number {
    color: #000;
    font-size: 14px;
}
nav.ce-pagination a {
    width: 50px !important;
    height: 50px !important;
    min-width: auto !important;
    border-radius: 0 !important;
    background: #FF9618 !important;
    border-color: #FF9618 !important;
}

nav.ce-pagination ul.elementor-row.elementor-icon-list-items.elementor-inline-items {
    width: auto !important;
    align-items: center;
}
.ce-pagination {
    justify-content: space-between !important;
}

@media (min-width:1025px) {}

.tls-header .tls-nav-menu .elementor-nav--main ul {
  display: flex;
  flex-direction: row;
  flex-wrap: nowrap;
  align-items: stretch;
  justify-content: space-between;
  gap: 0;
  width: 100% !important;
  margin: 0;
  padding: 0 !important;
  list-style: none;
  position: relative;
}

.tls-header .tls-nav-menu .elementor-nav--main li {
  position: static;
  margin: 0;
  padding: 0;
  list-style: none;
}

.tls-header .tls-nav-menu .elementor-nav--main a {
  display: flex;
  flex-direction: row;
  flex-wrap: nowrap;
  align-items: center;
  gap: 0;
  height: 65px !important;
  padding: 0;
  font-family: var(--tls-font);
  font-weight: 700;
  font-size: 17px;
  line-height: 20px;
  letter-spacing: -0.17px;
  text-transform: uppercase;
  white-space: nowrap;
  color: #000000 !important;
  text-decoration: none !important;
  transition: color .2s ease !important;
}

.tls-header .tls-nav-menu .elementor-nav--main img {
  flex: 0 0 35px !important;
  width: 35px !important;
  height: 35px !important;
  border-radius: 5px !important;
  object-fit: cover !important;
  display: block !important;
}

.tls-header .tls-nav-menu .elementor-nav--main ul>li>a:before {
  content: "";
  display: block;
  position: static;
  inset: auto;
  opacity: 1 !important;
  transform: none;
  z-index: auto;
  flex: 0 0 35px;
  width: 35px;
  height: 35px;
  margin-right: 10px;
  border-radius: 5px;
  background-color: transparent;
  background-image: var(--tls-nav-ico, none);
  background-repeat: no-repeat;
  background-position: center center;
  background-size: cover;
}

.tls-header .tls-nav-menu .elementor-nav--main>ul>li:nth-child(1)>a {
  --tls-nav-ico: url("/img/cms/Orienter-icon.svg");
}

.tls-header .tls-nav-menu .elementor-nav--main>ul>li:nth-child(2)>a {
  --tls-nav-ico: url("/img/cms/Signaler-icon.svg");
}

.tls-header .tls-nav-menu .elementor-nav--main>ul>li:nth-child(3)>a {
  --tls-nav-ico: url("/img/cms/Améliorer-icon.svg");
}

.tls-header .tls-nav-menu .elementor-nav--main>ul>li:nth-child(4)>a {
  --tls-nav-ico: url("/img/cms/Sécuriser-icon.svg");
}

.tls-header .tls-nav-menu .elementor-nav--main>ul>li:nth-child(5)>a {
  --tls-nav-ico: url("/img/cms/sur-mesure-icon.svg");
}

.tls-header .tls-nav-menu .elementor-nav--main ul>li>a:after {
  content: "❯";
  display: inline-block;
  position: static;
  inset: auto;
  opacity: 1 !important;
  transform: rotate(90deg);
  z-index: auto;
  flex: 0 0 18px;
  width: 18px;
  height: 18px;
  margin-left: 5px;
  color: #000000;
  font-size: 10px;
  line-height: 18px;
  text-align: center;
  transition: transform .2s ease;
  background: none;
}

.tls-header .tls-nav-menu .elementor-nav--main>ul>li:nth-child(2):hover>a {
  color: var(--tls-green) !important;
}

.tls-header .tls-nav-menu .elementor-nav--main>ul>li:nth-child(4):hover>a {
  color: var(--tls-red) !important;
}

.tls-header .tls-nav-menu .elementor-nav--main>ul>li:nth-child(5):hover>a {
  color: var(--tls-navy) !important;
}

/* LE PANNEAU */

/* Les liens d'une colonne (niveau 3) */

.tls-header .tls-nav-menu .elementor-nav--main ul ul ul>li {
  flex: none;
}

.tls-header.tls-nav,
.tls-nav-wrap>.elementor-column-wrap,
.tls-header .tls-nav-row,
.tls-nav-row>.elementor-container {
  overflow: visible;
}
span.ce-product-variants__option {
    border: 1px solid #CCCCCC !important;
    border-radius: 5px !important;
    font-family: var(--tls-font);
    color: #000;
    background: #ffff !important;
    padding: 6px 15px !important;
}
input:checked ~ .ce-product-variants__option {
    background: #000 !important;
    color: #ffff !important;
    border-color: #000 !important;
}
/* 2.3 · Responsive */

@media (max-width:1500px) {
  .tls-header .tls-logo {
    flex: 0 0 280px;
    margin-right: 30px;
  }

  .tls-header .tls-logo img {
    width: 280px;
    height: 57px !important;
  }

  .tls-header .tls-search {
    flex: 1 1 320px;
  }

  .tls-header .tls-phone,
  .tls-header .tls-avis,
  .tls-header .tls-actions {
    margin-left: 25px;
  }

  .tls-nav-item>.elementor-widget-wrap,
  .tls-nav-item>.elementor-column-wrap>.elementor-widget-wrap {
    gap: 8px !important;
  }

  .tls-header .tls-nav-label {
    font-size: 15px !important;
  }
}

@media (max-width:1200px) {

  .tls-header .tls-avis,
  .tls-header .tls-phone-hours {
    display: none;
  }

  .tls-header .tls-nav-label {
    font-size: 14px !important;
  }

  .tls-header .tls-nav-ico img {
    width: 30px !important;
    height: 30px !important;
  }
}

@media (max-width:1024px) {
  .tls-header .tls-phone {
    display: none;
  }

  .tls-head-wrap>.elementor-widget-wrap,
  .tls-head-wrap>.elementor-column-wrap>.elementor-widget-wrap {
    flex-wrap: wrap;
    height: auto !important;
    row-gap: 12px;
  }

  .tls-header .tls-logo {
    margin-right: auto;
    order: 1;
  }

  .tls-header .tls-actions {
    flex: 0 0 auto;
    margin-left: 0;
    order: 2;
  }

  .tls-header .tls-search {
    flex: 0 0 100%;
    order: 3;
  }

  .tls-actions>.elementor-container>.elementor-row {
    gap: 18px;
  }
}

@media (max-width:767px) {
  .tls-header {
    padding: 0 15px;
  }

  .tls-header.tls-head {
    padding-top: 12px;
    padding-bottom: 12px;
  }

  .tls-header .tls-logo {
    flex: 0 0 190px;
  }

  .tls-header .tls-logo img {
    width: 190px;
    height: 39px !important;
  }

  .tls-header .tls-search {
    height: 48px;
  }

  .tls-header .tls-search-w input[type="text"],
  .tls-header .tls-search-w input[type="search"],
  .tls-header .tls-search-w .elementor-search-form__input {
    height: 48px;
    padding: 0 15px 0 48px !important;
    font-size: 12px;
  }

  .tls-header .tls-search-w .elementor-search-form__icon,
  .tls-header .tls-search-w button,
  .tls-header .tls-search-w .ce-search__icon {
    left: 15px;
    width: 20px;
    height: 20px;
  }

  .tls-header .tls-search-w svg {
    width: 20px !important;
    height: 20px !important;
  }

  .tls-header .tls-act-txt {
    font-size: 10px;
  }

  .tls-header .tls-nav-label {
    font-size: 13px !important;
  }

  .tls-nav-item>.elementor-widget-wrap,
  .tls-nav-item>.elementor-column-wrap>.elementor-widget-wrap {
    height: 56px !important;
  }
}


/* ──────────────────────────────────────────────────────────────────────────
   3 · HERO · SLIDER
   ────────────────────────────────────────────────────────────────────────── */

.tls-hero {
  padding: 25px 20px 0;
}

.tls-hero a {
  text-decoration: none;
  transition: color .2s ease, opacity .2s ease, transform .2s ease;
}

/* La piste = conteneur de défilement (slider 100 % CSS) */

.tls-hero-track>.elementor-container {
  max-width: none !important;
  margin: 0;
  width: 100% !important;
  padding: 0;
}

.tls-hero-track>.elementor-container>.elementor-row {
  display: flex;
  flex-wrap: nowrap;
  width: 100% !important;
  height: 720px;
  overflow-x: auto;
  overflow-y: hidden;
  scroll-snap-type: x mandatory;
  scroll-behavior: smooth;
  border-radius: 20px;
  scrollbar-width: none;
  -ms-overflow-style: none;
  scroll-marker-group: after;
  anchor-name: --tls-track;
}

.tls-hero-track>.elementor-container>.elementor-row::-webkit-scrollbar {
  display: none;
  width: 0;
  height: 0;
}

/* Une diapo */

.tls-hero .tls-slide {
  flex: 0 0 100%;
  width: 100% !important;
  max-width: 100%;
  min-width: 100%;
  height: 720px;
  position: relative;
  scroll-snap-align: start;
  scroll-snap-stop: always;
  overflow: hidden;
  background: #EFEFEF;
  scroll-margin-top: 200px;
  --tls-slide-veil: transparent;
}

.tls-slide>.elementor-widget-wrap,
.tls-slide>.elementor-column-wrap,
.tls-slide>.elementor-column-wrap>.elementor-widget-wrap {
  display: block;
  position: static;
  height: 100% !important;
  padding: 0 !important;
}

.tls-header .tls-slide-bg,
.tls-hero .tls-slide-bg {
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  width: 100% !important;
  height: 100%;
  z-index: 0;
  line-height: 0;
}

.tls-hero .tls-slide-bg img,
.tls-band .tls-band-bg img {
  width: 100% !important;
  height: 100% !important;
  object-fit: cover;
  object-position: center;
}

.tls-hero .tls-slide-scrim {
  --tls-slide-veil: linear-gradient(to right, rgba(0, 0, 0, 1) 1%, rgba(0, 0, 0, 0) 62%);
}

.tls-hero .tls-slide:after {
  content: "";
  position: absolute;
  inset: 0;
  background: var(--tls-slide-veil);
  z-index: 1;
  pointer-events: none;
}

.tls-hero .tls-slide-kicker,
.tls-hero .tls-slide-title,
.tls-hero .tls-slide-sub,
.tls-hero .tls-slide-btn {
  position: absolute;
  z-index: 2;
  max-width: calc(100% - 80px);
}

.tls-hero .tls-slide-kicker,
.tls-hero .tls-slide-title,
.tls-hero .tls-slide-sub {
  font-family: var(--tls-font);
  text-transform: uppercase;
}

.tls-hero .tls-slide-kicker {
  font-weight: 900;
  font-size: 20px;
  line-height: 23px;
  letter-spacing: -0.6px;
}

.tls-hero .tls-slide-title {
  font-weight: 900;
}

.tls-hero .tls-slide-sub {
  font-weight: 800;
  font-size: 16px;
  line-height: 18px;
  letter-spacing: 0;
}

/* A · gabarit GAUCHE (blanc sur visuel) */

.tls-hero .tls-slide-left .tls-slide-kicker {
  left: 65px;
  top: 53px;
  text-align: left;
  color: #FFFFFF;
}

.tls-hero .tls-slide-left .tls-slide-title {
  left: 60px;
  top: 91px;
  width: 881px !important;
  font-size: 100px;
  line-height: 81px;
  letter-spacing: -4px;
  text-align: left;
  color: #FFFFFF;
}

.tls-hero .tls-slide-left .tls-slide-sub {
  left: 70px;
  top: 268px;
  width: 305px !important;
  text-align: left;
  color: #FFFFFF;
}

.tls-hero .tls-slide-left .tls-slide-btn {
  left: 65px;
  top: 335px;
  width: auto;
  transform: none;
}

.tls-hero .tls-slide-left .tls-slide-btn .elementor-button-wrapper {
  display: flex !important;
  justify-content: flex-start !important;
}

/* B · gabarit CENTRÉ (noir, bloc 658 px) */

.tls-hero .tls-slide-center .tls-slide-kicker,
.tls-hero .tls-slide-center .tls-slide-title,
.tls-hero .tls-slide-center .tls-slide-sub,
.tls-hero .tls-slide-center .tls-slide-btn {
  left: 50% !important;
  transform: translateX(-50%) !important;
  text-align: center;
}

.tls-hero .tls-slide-center .tls-slide-kicker,
.tls-hero .tls-slide-center .tls-slide-title {
  width: 658px !important;
}

.tls-hero .tls-slide-center .tls-slide-kicker {
  top: 236px;
  color: #000000;
}

.tls-hero .tls-slide-center .tls-slide-title {
  top: 289px;
  font-size: 120px;
  line-height: 78px;
  letter-spacing: -6px;
  color: #000000;
  white-space: nowrap;
}

.tls-hero .tls-slide-center .tls-slide-sub {
  top: 397px;
  width: 373px !important;
  color: #000000;
}

.tls-hero .tls-slide-center .tls-slide-btn {
  top: 473px;
  width: auto !important;
}

.tls-hero .tls-slide-center .tls-slide-btn .elementor-button-wrapper {
  display: flex !important;
  justify-content: center !important;
}

.tls-hero .tls-slide-btn .elementor-button {
  display: flex;
  align-items: center;
  height: 50px;
  padding: 0 10px 0 20px;
  background: #FFFFFF;
  border: none;
  border-radius: 5px;
  box-shadow: none;
  transition: background .2s ease, transform .2s ease;
}

.tls-hero .tls-slide-btn .elementor-button-content-wrapper,
.tls-best .tls-best-all .elementor-button-content-wrapper {
  display: flex;
  align-items: center;
  gap: 7px !important;
}

.tls-hero .tls-slide-btn .elementor-button-text {
  font-family: var(--tls-font);
  font-weight: 800;
  font-size: 16px;
  line-height: 19px;
  letter-spacing: 0;
  text-transform: uppercase;
  color: #000000;
}

.tls-hero .tls-slide-btn .elementor-button-icon,
.tls-best .tls-best-all .elementor-button-icon {
  display: flex;
  order: 15;
}

.tls-hero .tls-slide-btn .elementor-button-icon svg,
.tls-hero .tls-slide-btn .elementor-button-icon img {
  width: 20px !important;
  height: 20px !important;
  transition: transform .2s ease !important;
}

.tls-hero .tls-slide-btn .elementor-button:hover {
  background: var(--tls-orange) !important;
  transform: translateY(-2px) !important;
}

/* Points */

.tls-hero-track>.elementor-container>.elementor-row::scroll-marker-group {
  position: absolute;
  left: 40px;
  bottom: 30px;
  display: flex;
  align-items: center;
  gap: 5px;
  z-index: 3;
}

.tls-hero .tls-slide::scroll-marker {
  content: "";
  width: 10px;
  height: 10px;
  border-radius: 5px;
  background: rgba(255, 255, 255, .50);
  border: none;
  cursor: pointer;
  transition: background .2s ease;
}

.tls-hero .tls-slide::scroll-marker:target-current {
  background: #FFFFFF !important;
}

/* Flèches */

.tls-hero-track>.elementor-container>.elementor-row::scroll-button(left),
.tls-hero-track>.elementor-container>.elementor-row::scroll-button(right) {
  position: absolute;
  bottom: 30px;
  width: 50px;
  height: 50px;
  padding: 0;
  margin: 0;
  background-color: #FFFFFF;
  background-repeat: no-repeat;
  background-position: center;
  background-size: 7px 15px;
  border: none;
  border-radius: 10px;
  cursor: pointer;
  line-height: 0;
  z-index: 3;
  transition: background-color .2s ease, opacity .2s ease;
}

.tls-hero-track>.elementor-container>.elementor-row::scroll-button(left) {
  content: "❮";
  right: 98px;
  color: #000;
  font-size: 16px;
}

.tls-hero-track>.elementor-container>.elementor-row::scroll-button(right) {
  content: "❯";
  right: 40px;
  color: #000;
  font-size: 16px;
}

.tls-hero-track>.elementor-container>.elementor-row::scroll-button(left):hover,
.tls-hero-track>.elementor-container>.elementor-row::scroll-button(right):hover {
  background-color: var(--tls-orange);
}

.tls-hero-track>.elementor-container>.elementor-row::scroll-button(left):disabled,
.tls-hero-track>.elementor-container>.elementor-row::scroll-button(right):disabled {
  background-color: rgba(255, 255, 255, .50);
  cursor: default;
}

/* Repli (Firefox) */

.tls-hero .tls-nav-fallback {
  position: absolute;
  left: 40px;
  bottom: 30px;
  width: auto;
  z-index: 3;
}

.tls-hero .tls-nav-fallback ul {
  display: flex;
  align-items: center;
  gap: 5px;
}

.tls-hero .tls-nav-fallback li,
.tls-cat .tls-intro-t h1,
.tls-cat .tls-intro-t h2,
.tls-cat .tls-intro-t h3,
.tls-cat .tls-intro-x p,
.tls-cat .tls-mini-spec p {
  margin: 0;
  padding: 0;
}

.tls-hero .tls-nav-fallback a {
  display: block;
  width: 10px;
  height: 10px;
  border-radius: 5px;
  background: rgba(255, 255, 255, .50);
  font-size: 0;
  line-height: 0;
  color: transparent;
  overflow: hidden;
  transition: background .2s ease;
}

.tls-hero .tls-slide::scroll-marker:hover,
.tls-hero .tls-nav-fallback a:hover {
  background: rgba(255, 255, 255, .80) !important;
}

@supports selector(::scroll-button(right)) {
  .tls-hero .tls-nav-fallback {
    display: none !important;
  }
}

/* Responsive */

@media (max-width:1300px) {
  .tls-hero .tls-slide-title {
    font-size: 96px;
    line-height: 64px;
    letter-spacing: -4.8px;
  }
}

@media (max-width:1024px) {

  .tls-hero-track>.elementor-container>.elementor-row,
  .tls-hero .tls-slide {
    height: 560px;
  }

  .tls-hero .tls-slide-kicker {
    top: 150px;
  }

  .tls-hero .tls-slide-title {
    top: 190px;
    font-size: 76px;
    line-height: 62px;
    letter-spacing: -3.8px;
  }

  .tls-hero .tls-slide-sub {
    top: 290px;
  }

  .tls-hero .tls-slide-btn {
    top: 360px;
  }
}

@media (max-width:767px) {
  .tls-hero {
    padding: 15px 15px 0;
  }

  .tls-hero-track>.elementor-container>.elementor-row {
    border-radius: 12px;
  }

  .tls-hero-track>.elementor-container>.elementor-row,
  .tls-hero .tls-slide {
    height: 440px;
  }

  .tls-hero .tls-slide-kicker {
    top: 70px;
    font-size: 15px;
    line-height: 18px;
    letter-spacing: -0.45px;
  }

  .tls-hero .tls-slide-title {
    top: 100px;
    font-size: 46px;
    line-height: 44px;
    letter-spacing: -2.3px;
  }

  .tls-hero .tls-slide-sub {
    top: 170px;
    width: auto;
    max-width: calc(100% - 50px);
    font-size: 13px;
    line-height: 16px;
  }

  .tls-hero .tls-slide-btn {
    top: 250px;
  }

  .tls-hero .tls-slide-btn .elementor-button {
    height: 44px;
    padding: 0 8px 0 16px;
  }

  .tls-hero .tls-slide-btn .elementor-button-text {
    font-size: 14px;
  }

  .tls-hero .tls-slide-dots {
    left: 20px !important;
    bottom: 20px !important;
  }

  .tls-hero .tls-slide-prev {
    right: 78px !important;
  }

  .tls-hero .tls-slide-next {
    right: 20px !important;
  }

  .tls-hero .tls-slide-prev,
  .tls-hero .tls-slide-next,
  .tls-hero .tls-slide-prev a,
  .tls-hero .tls-slide-next a {
    width: 42px !important;
    height: 42px !important;
  }
}


/* ──────────────────────────────────────────────────────────────────────────
   4 · TOPBAR RÉASSURANCE
   ────────────────────────────────────────────────────────────────────────── */

.tls-topbar {
  padding: 37px 20px 0;
}

.tls-topbar .tls-topbar-row {
  width: 100% !important;
  background: #000000;
  border-radius: 10px;
  min-height: 60px;
}

.tls-topbar-row>.elementor-container>.elementor-row {
  display: flex;
  align-items: center;
  justify-content: space-between;
  width: 100% !important;
  min-height: 60px;
  padding: 10px 20px;
  flex-wrap: nowrap;
}

/* Un bloc */

.tls-topbar .tls-tb-item {
  width: auto !important;
  flex: 0 0 auto;
  min-width: 0;
}

.tls-tb-item>.elementor-widget-wrap,
.tls-tb-item>.elementor-column-wrap>.elementor-widget-wrap {
  display: grid;
  grid-template-columns: 30px 1fr !important;
  column-gap: 14px;
  align-items: center;
  align-content: center;
}

.tls-header .tls-phone-ico,
.tls-footer .tls-ico-tel,
.tls-topbar .tls-tb-ico {
  grid-area: 1/1/3/2;
}

.tls-topbar .tls-tb-title {
  grid-area: 1/2;
  font-family: var(--tls-font);
  font-weight: 900;
  font-size: 14px;
  line-height: 16px;
  letter-spacing: 0.14px;
  text-transform: uppercase;
  color: #FFFFFF;
  white-space: nowrap;
}

.tls-topbar .tls-tb-sub {
  grid-area: 2/2;
  margin-top: 2px;
  font-family: var(--tls-font);
  font-weight: 500;
  font-size: 12px;
  line-height: 12px;
  letter-spacing: 0.24px;
  text-transform: uppercase;
  color: #FFFFFF;
  white-space: nowrap;
}

/* 1er bloc */

.tls-topbar .tls-tb-logo {
  padding: 0 10px 0 0 !important;
}

.tls-tb-logo>.elementor-widget-wrap,
.tls-tb-logo>.elementor-column-wrap>.elementor-widget-wrap {
  grid-template-columns: 37px 1fr !important;
  column-gap: 15px;
}

.tls-topbar .tls-tb-logo .tls-tb-ico img {
  width: 37px;
  height: 23px !important;
}

/* Responsive */

@media (max-width:1400px) {
  .tls-topbar-row>.elementor-container>.elementor-row {
    gap: 20px;
    justify-content: space-around;
  }

  .tls-topbar .tls-tb-title {
    font-size: 13px;
  }

  .tls-topbar .tls-tb-sub {
    font-size: 11px;
  }
}

@media (max-width:1100px) {
  .tls-topbar-row>.elementor-container>.elementor-row {
    flex-wrap: wrap;
    justify-content: flex-start;
    gap: 14px 30px;
    padding: 14px 20px;
  }

  .tls-topbar .tls-tb-item {
    flex: 0 0 calc(50% - 15px);
  }
}

@media (max-width:767px) {
  .tls-topbar {
    padding: 25px 15px 0;
  }

  .tls-topbar-row>.elementor-container>.elementor-row {
    flex-direction: column;
    align-items: flex-start;
    gap: 14px;
    padding: 16px 18px;
  }

  .tls-topbar .tls-tb-item {
    flex: 0 0 auto;
    width: 100% !important;
  }

  .tls-topbar .tls-tb-title,
  .tls-topbar .tls-tb-sub {
    white-space: normal;
  }

  .tls-topbar .tls-tb-item>.elementor-widget-wrap,
  .tls-topbar .tls-tb-item>.elementor-column-wrap>.elementor-widget-wrap {
    grid-template-columns: 37px 1fr !important;
    column-gap: 15px !important;
    justify-items: start !important;
  }

  .tls-topbar .tls-tb-logo {
    padding: 0 !important;
  }
}


/* ──────────────────────────────────────────────────────────────────────────
   5 · TOP CATÉGORIES
   ────────────────────────────────────────────────────────────────────────── */

.tls-cats {
  padding: 76px 20px 0;
}

/* Titre de section */

.tls-cats .tls-cats-title {
  font-family: var(--tls-font);
  font-weight: 900;
  font-size: 16px;
  line-height: 19px;
  letter-spacing: 0;
  text-transform: uppercase;
  color: #17171C;
  margin-bottom: 29px;
}

/* LA PISTE */

.tls-cats .tls-cats-grid>.elementor-widget-container>* {
  display: flex;
  flex-direction: row;
  flex-wrap: nowrap;
  align-items: flex-start;
  justify-content: flex-start;
  width: 100% !important;
  max-width: 100%;
  gap: 11px !important;
  margin: 0;
  padding: 0 0 4px;
  overflow-x: auto;
  overflow-y: visible;
  scroll-snap-type: x proximity;
  scroll-behavior: smooth;
  scrollbar-width: none;
  -ms-overflow-style: none;
  grid-template-columns: none !important;
  grid-template-rows: none;
  list-style: none;
}

.tls-cats .tls-cats-grid>.elementor-widget-container>*::-webkit-scrollbar {
  display: none;
  width: 0;
  height: 0;
}

.tls-cats .tls-cats-grid>.elementor-widget-container>*>ul,
.tls-cats .tls-cats-grid>.elementor-widget-container>*>ol,
.tls-needs .tls-needs-grid>.elementor-widget-container>*>ul,
.tls-needs .tls-needs-grid>.elementor-widget-container>*>ol {
  display: contents !important;
}

/* UNE CARTE */

.tls-cats .tls-cats-grid>.elementor-widget-container>*>*:not(ul):not(ol),
.tls-cats .tls-cats-grid>.elementor-widget-container>*>ul>li,
.tls-cats .tls-cats-grid>.elementor-widget-container>*>ol>li {
  flex: 0 0 200px;
  width: 200px;
  max-width: 200px;
  min-width: 200px;
  height: auto !important;
  margin: 0;
  padding: 0;
  overflow: visible;
  scroll-snap-align: start;
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  gap: 11px !important;
  list-style: none;
  background: transparent;
  border: none;
  border-radius: 0;
}

.tls-cats .tls-cats-grid>.elementor-widget-container>*>*>*:first-child,
.tls-cats .tls-cats-grid>.elementor-widget-container>*>ul>li>*:first-child {
  flex: 0 0 auto;
  width: 200px;
  height: 250px;
  margin: 0;
  padding: 0;
  border-radius: 10px;
  overflow: hidden;
  line-height: 0;
  background: rgba(151, 151, 151, .20);
  display: block;
}

.tls-cats .tls-cats-grid img {
  width: 200px;
  height: 250px;
  object-fit: cover;
  object-position: center;
  border-radius: 10px;
  transition: transform .35s ease !important;
}

.tls-cats .tls-cats-grid>.elementor-widget-container>*>*>*:nth-child(2),
.tls-cats .tls-cats-grid>.elementor-widget-container>*>ul>li>*:nth-child(2) {
  width: 100%;
  margin: 0;
  padding: 0;
  font-family: var(--tls-font);
  font-weight: 700;
  font-size: 13px;
  line-height: 15px;
  letter-spacing: 0.13px;
  text-transform: uppercase;
  color: #000000;
  text-align: left;
  background: transparent;
}

.tls-cats .tls-cats-grid>.elementor-widget-container>*>*>*:nth-child(3),
.tls-cats .tls-cats-grid>.elementor-widget-container>*>ul>li>*:nth-child(3) {
  width: 100% !important;
  margin: -4px 0 0 !important;
  padding: 0 !important;
  font-family: var(--tls-font) !important;
  font-weight: 700 !important;
  font-size: 13px !important;
  line-height: 15px !important;
  letter-spacing: 0.13px !important;
  text-transform: uppercase !important;
  color: #888888 !important;
  text-align: left !important;
  background: transparent !important;
}

.tls-cats .tls-cats-grid>.elementor-widget-container>*>*>*:nth-child(n

  /**/
  +2) a {
  color: inherit;
}

.tls-cats .tls-cats-grid [class*="overlay"] {
  display: none !important;
}

.tls-cats .tls-cats-grid>.elementor-widget-container>*::scroll-button(left),
.tls-cats .tls-cats-grid>.elementor-widget-container>*::scroll-button(right) {
  position: absolute;
  top: 125px;
  transform: translateY(-50%) !important;
  width: 50px;
  height: 50px;
  padding: 0;
  margin: 0;
  background-color: #FFFFFF;
  background-repeat: no-repeat;
  background-position: center !important;
  background-size: 8px 15px;
  border: none;
  border-radius: 10px;
  box-shadow: 0 4px 16px rgba(0, 0, 0, .14);
  cursor: pointer;
  line-height: 0;
  z-index: 4;
  transition: background-color .2s ease, opacity .2s ease;
}

.tls-cats .tls-cats-grid>.elementor-widget-container>*::scroll-button(left) {
  content: "❮";
  left: 15px;
  color: #000;
  font-size: 16px;
}

.tls-cats .tls-cats-grid>.elementor-widget-container>*::scroll-button(right) {
  content: "❯";
  right: 15px;
  color: #000;
  font-size: 16px;
}

/* Responsive */

@media (max-width:767px) {
  .tls-cats {
    padding: 45px 15px 0;
  }

  .tls-cats .tls-cats-title {
    margin-bottom: 20px;
  }

  .tls-cats .tls-cats-grid>.elementor-widget-container>*>*:not(ul):not(ol),
  .tls-cats .tls-cats-grid>.elementor-widget-container>*>ul>li {
    flex: 0 0 150px;
    width: 150px;
    max-width: 150px;
    min-width: 150px;
  }

  .tls-cats .tls-cats-grid>.elementor-widget-container>*>*>*:first-child,
  .tls-cats .tls-cats-grid>.elementor-widget-container>*>ul>li>*:first-child,
  .tls-cats .tls-cats-grid img {
    width: 150px;
    height: 188px;
  }

  .tls-cats .tls-cats-grid>.elementor-widget-container>*>*>*:nth-child(2),
  .tls-cats .tls-cats-grid>.elementor-widget-container>*>*>*:nth-child(3) {
    font-size: 12px;
    line-height: 14px;
  }

  .tls-cats .tls-cats-grid>.elementor-widget-container>*::scroll-button(left) {
    left: 10px;
  }

  .tls-cats .tls-cats-grid>.elementor-widget-container>*::scroll-button(right) {
    right: 10px;
  }
}


/* ──────────────────────────────────────────────────────────────────────────
   6 · CARTE PRODUIT (GLOBALE)
   ────────────────────────────────────────────────────────────────────────── */

.tls-pc {
  --tls-pc-cols: 4;
  --tls-pc-gap: 45px;
  --tls-pc-ratio: 347/433;
  --tls-pc-w: calc((100% - (var(--tls-pc-cols) - 1) * var(--tls-pc-gap)) / var(--tls-pc-cols));
}

.tls-pc .ce-product-grid,
.tls-pc :has(>[data-elementor-type="product-miniature"]) {
  display: flex;
  flex-direction: row;
  flex-wrap: nowrap;
  align-items: stretch;
  justify-content: flex-start;
  width: 100% !important;
  max-width: 100%;
  gap: var(--tls-pc-gap);
  margin: 0;
  padding: 0 0 4px;
  list-style: none;
  overflow-x: auto;
  overflow-y: visible;
  scroll-snap-type: x proximity;
  scroll-behavior: smooth;
  scrollbar-width: none;
  -ms-overflow-style: none;
  grid-template-columns: none;
  aspect-ratio: auto;
}

.tls-pc .ce-product-grid::-webkit-scrollbar,
.tls-pc :has(>[data-elementor-type="product-miniature"])::-webkit-scrollbar {
  display: none;
  width: 0;
  height: 0;
}

/* LA CARTE */

.tls-pc [data-elementor-type="product-miniature"] {
  flex: 0 0 var(--tls-pc-w);
  width: var(--tls-pc-w) !important;
  max-width: var(--tls-pc-w);
  min-width: 0;
  margin: 0;
  padding: 0;
  scroll-snap-align: start;
  display: block;
  position: relative;
  overflow: visible;
  background: transparent;
  border: none;
  box-shadow: none;
}

.tls-pc [data-elementor-type="product-miniature"] :has(.tls-mini) {
  display: block;
  width: 100% !important;
  max-width: none;
  height: auto !important;
  margin: 0;
  padding: 0;
  background: transparent;
  border: none;
  box-shadow: none;
  overflow: visible;
  aspect-ratio: auto;
}

.tls-pc .ce-edit-btn,
.tls-pc .ce-edit-outline {
  position: absolute;
  top: 0;
  left: 0;
  z-index: 8;
}

.tls-mini,
.tls-mini>.elementor-container,
.tls-mini>.elementor-container>.elementor-row,
.tls-mini .tls-mini-col,
.tls-mini .tls-mini-col>.elementor-column-wrap {
  display: block;
  width: 100% !important;
  max-width: none !important;
  min-height: 0;
  margin: 0;
  padding: 0 !important;
  background: transparent;
  border: none;
  box-shadow: none;
}

.tls-mini .tls-mini-col>.elementor-widget-wrap,
.tls-mini .tls-mini-col>.elementor-column-wrap>.elementor-widget-wrap {
  display: flex;
  flex-direction: column;
  flex-wrap: nowrap;
  align-items: stretch;
  align-content: stretch;
  gap: 0;
  width: 100% !important;
  margin: 0;
  padding: 0;
  position: relative;
}

.tls-mini .tls-mini-col .elementor-widget {
  width: 100% !important;
  max-width: 100% !important;
  margin: 0 !important;
  padding: 0;
}

.tls-mini .tls-mini-col .elementor-widget-container {
  width: 100% !important;
  margin: 0;
  padding: 0;
  background: transparent;
  border: none;
  box-shadow: none;
}

.tls-mini p,
.tls-mini h1,
.tls-mini h2,
.tls-mini h3,
.tls-mini h4,
.tls-mini h5,
.tls-mini h6,
.tls-mini ul,
.tls-mini ol,
.tls-mini dl,
.tls-mini dd,
.tls-mini dt {
  margin: 0;
  padding: 0;
  list-style: none;
}

.tls-mini .screen-reader-text {
  position: absolute;
  width: 1px;
  height: 1px;
  padding: 0;
  margin: -1px;
  overflow: hidden;
  clip: rect(0, 0, 0, 0);
  white-space: nowrap;
  border: 0;
}

/* Le visuel */

.tls-mini .tls-mini-pic>.elementor-widget-container {
  position: relative;
  display: block;
  width: 100% !important;
  aspect-ratio: var(--tls-pc-ratio, 347/433);
  border-radius: 10px;
  overflow: hidden;
  background: #EDEDED;
  line-height: 0;
}

.tls-mini .tls-mini-pic>.elementor-widget-container>*,
.tls-mini .tls-mini-pic a,
.tls-mini .tls-mini-pic figure,
.tls-mini .tls-mini-pic picture {
  display: block;
  width: 100% !important;
  height: 100% !important;
  margin: 0;
  padding: 0;
  border: none;
  background: transparent;
}

.tls-mini .tls-mini-pic img,
.tls-estab .tls-estab-grid img {
  width: 100% !important;
  height: 100% !important;
  object-fit: cover;
  object-position: center;
  border-radius: 10px;
  transition: transform .45s ease !important;
}

.tls-mini .tls-mini-pic>.elementor-widget-container::after {
  content: "";
  position: absolute;
  inset: 0;
  border-radius: 10px;
  background: #000000;
  opacity: 0;
  pointer-events: none;
  transition: opacity .3s ease;
  z-index: 2;
}

.tls-mini:hover .tls-mini-pic>.elementor-widget-container::after {
  opacity: .30 !important;
}

/* Les pastilles */

.tls-mini .tls-mini-col .tls-mini-badges {
  order: 2;
  position: absolute;
  top: 16px;
  left: 17px;
  right: auto !important;
  bottom: auto !important;
  width: auto !important;
  max-width: calc(100% - 34px) !important;
  overflow: visible;
  z-index: 3;
}

.tls-mini .tls-mini-badges>.elementor-widget-container,
.tls-mini .tls-mini-badges *:has(*) {
  display: flex;
  flex-direction: row;
  flex-wrap: wrap;
  align-items: center;
  justify-content: flex-start;
  width: auto !important;
  gap: 5px;
  margin: 0;
  padding: 0;
  list-style: none;
  background: transparent;
  border: none;
  box-shadow: none;
}

.tls-mini .tls-mini-badges *:not(:has(*)) {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 6px !important;
  width: auto;
  min-width: 0 !important;
  height: 31px;
  margin: 0;
  padding: 6px 9px;
  border-radius: 5px;
  background: #FFFFFF;
  border: none;
  box-shadow: none;
  font-family: var(--tls-font);
  font-weight: 900;
  font-size: 14px;
  line-height: 19px;
  letter-spacing: -0.28px;
  text-transform: uppercase;
  white-space: nowrap;
  color: #000000;
}

.tls-mini .tls-mini-badges [class*="discount"]:not(:has(*)),
.tls-mini .tls-mini-badges [class*="sale"]:not(:has(*)),
.tls-mini .tls-mini-badges [class*="promo"]:not(:has(*)),
.tls-mini .tls-mini-badges [class*="reduc"]:not(:has(*)),
.tls-pc:not(:has(.tls-mini)) [class*="flags"]>[class*="discount"],
.tls-pc:not(:has(.tls-mini)) [class*="flags"]>[class*="sale"],
.tls-pc:not(:has(.tls-mini)) [class*="flags"]>[class*="promo"] {
  font-size: 16px;
  letter-spacing: 0;
  text-transform: none;
}

.tls-mini .tls-mini-badges svg,
.tls-mini .tls-mini-badges img,
.tls-mini .tls-mini-badges i {
  width: 17px !important;
  height: 17px !important;
  flex: 0 0 17px !important;
  padding: 0 !important;
  background: transparent !important;
  border-radius: 0 !important;
  font-size: 17px !important;
  line-height: 17px !important;
  color: inherit !important;
}

/* Titre */

.tls-mini .tls-mini-col .tls-mini-title {
  order: 3;
  margin-top: 10px !important;
}

.tls-mini .tls-mini-title,
.tls-mini .tls-mini-title>.elementor-widget-container,
.tls-mini .tls-mini-title h1,
.tls-mini .tls-mini-title h2,
.tls-mini .tls-mini-title h3,
.tls-mini .tls-mini-title h4,
.tls-mini .tls-mini-title h5,
.tls-mini .tls-mini-title h6,
.tls-mini .tls-mini-title span,
.tls-mini .tls-mini-title a,
.tls-h1-title {
  font-family: var(--tls-font);
  font-weight: 900;
  font-size: 16px !important;
  line-height: 22px !important;
  letter-spacing: 0;
  text-transform: uppercase;
  color: #000000;
  text-align: left;
}

.tls-mini .tls-mini-title>.elementor-widget-container {
  display: -webkit-box;
  -webkit-line-clamp: 2;
  line-clamp: 2;
  -webkit-box-orient: vertical;
  overflow: hidden;
}

/* Sous-titre = catégorie du produit */

.tls-mini .tls-mini-col .tls-mini-cat {
  order: 4;
  margin-top: 2px !important;
}

.tls-mini .tls-mini-cat,
.tls-mini .tls-mini-cat>.elementor-widget-container,
.tls-mini .tls-mini-cat *:not(:has(*)) {
  font-family: var(--tls-font);
  font-weight: 500;
  font-size: 13px;
  line-height: 15px;
  letter-spacing: 0.13px;
  text-transform: uppercase;
  color: #888888 !important;
  text-align: left;
}

.tls-mini .tls-mini-cat>.elementor-widget-container {
  display: block;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}

.tls-mini .tls-mini-cat [class*="label"],
.tls-mini .tls-mini-cat dt,
.tls-mini .tls-mini-cat [class*="reference"],
.tls-mini .tls-mini-cat [class*="manufacturer"],
.tls-mini .tls-mini-cat [class*="brand"] {
  display: none;
}

.tls-mini .tls-mini-cat dd,
.tls-mini .tls-mini-cat li {
  display: inline !important;
  margin: 0 !important;
  padding: 0 !important;
}

/* Prix */

.tls-mini .tls-mini-col .tls-mini-price {
  order: 5;
  margin-top: 12px !important;
}

.tls-mini .tls-mini-price>.elementor-widget-container,
.tls-mini .tls-mini-price *:has(*) {
  display: flex;
  flex-direction: row;
  flex-wrap: wrap;
  align-items: baseline;
  justify-content: flex-start;
  width: auto !important;
  gap: 7px !important;
  margin: 0;
  padding: 0;
  list-style: none;
  background: transparent;
  border: none;
}

.tls-mini .tls-mini-price,
.tls-mini .tls-mini-price *:not(:has(*)) {
  font-family: var(--tls-font);
  font-weight: 900;
  font-size: 20px;
  line-height: 22px;
  letter-spacing: -0.2px;
  text-transform: uppercase;
  color: #000000;
  text-align: left;
  margin: 0;
  padding: 0;
  background: transparent;
}

.tls-mini .tls-mini-price [class*="from"]:not(:has(*)),
.tls-mini .tls-mini-price [class*="prefix"]:not(:has(*)) {
  font-weight: 800 !important;
  font-size: 12px !important;
  line-height: 15px !important;
  letter-spacing: 0 !important;
  color: #888888 !important;
}

.tls-mini .tls-mini-price del,
.tls-mini .tls-mini-price [class*="regular"]:not(:has(*)),
.tls-mini .tls-mini-price [class*="old"]:not(:has(*)) {
  font-weight: 500;
  font-size: 13px;
  line-height: 15px;
  letter-spacing: 0;
  color: #888888;
  text-decoration: line-through;
}

.tls-pc:not(:has(.tls-mini)) article>*:only-child,
.tls-pc:not(:has(.tls-mini)) [class*="miniature"]>*:only-child {
  display: flex !important;
  flex-direction: column !important;
  align-items: stretch !important;
  gap: 0 !important;
  width: 100% !important;
  margin: 0 !important;
  padding: 0 !important;
  position: relative !important;
  overflow: visible !important;
  background: transparent !important;
  border: none !important;
  box-shadow: none !important;
  aspect-ratio: auto;
}

.tls-pc:not(:has(.tls-mini)) article :has(>img),
.tls-pc:not(:has(.tls-mini)) [class*="miniature"] :has(>img),
.tls-pc:not(:has(.tls-mini)) li:has(img)>:has(>img) {
  display: block !important;
  position: relative !important;
  width: 100% !important;
  aspect-ratio: var(--tls-pc-ratio, 347/433) !important;
  margin: 0 !important;
  padding: 0 !important;
  border-radius: 10px !important;
  overflow: hidden !important;
  background: #EDEDED !important;
  line-height: 0 !important;
  flex: 0 0 auto !important;
}

.tls-pc:not(:has(.tls-mini)) article img,
.tls-pc:not(:has(.tls-mini)) [class*="miniature"] img,
.tls-pc:not(:has(.tls-mini)) li:has(img) img {
  width: 100% !important;
  height: 100% !important;
  object-fit: cover !important;
  object-position: center !important;
  border-radius: 10px !important;
  transition: transform .45s ease !important;
}

.tls-pc:not(:has(.tls-mini)) article :has(>[class*="product-title"]),
.tls-pc:not(:has(.tls-mini)) [class*="miniature"] :has(>[class*="product-title"]),
.tls-pc:not(:has(.tls-mini)) article :has(>h2),
.tls-pc:not(:has(.tls-mini)) article :has(>h3) {
  display: flex !important;
  flex-direction: column !important;
  align-items: flex-start !important;
  gap: 0 !important;
  width: 100% !important;
  margin: 0 !important;
  padding: 10px 0 !important;
  text-align: left !important;
  background: transparent !important;
  overflow: visible !important;
  aspect-ratio: auto !important;
}

.tls-pc:not(:has(.tls-mini)) [class*="product-title"],
.tls-pc:not(:has(.tls-mini)) [class*="product-name"],
.tls-pc:not(:has(.tls-mini)) article h2,
.tls-pc:not(:has(.tls-mini)) article h3 {
  width: 100% !important;
  margin: 0 !important;
  padding: 0 !important;
  font-family: var(--tls-font) !important;
  font-weight: 900 !important;
  font-size: 16px !important;
  line-height: 22px !important;
  letter-spacing: 0 !important;
  text-transform: uppercase !important;
  color: #000000 !important;
  text-align: left !important;
  display: -webkit-box !important;
  -webkit-line-clamp: 2;
  line-clamp: 2;
  -webkit-box-orient: vertical !important;
  overflow: hidden !important;
}

.tls-pc:not(:has(.tls-mini)) [class*="product-title"] a,
.tls-pc:not(:has(.tls-mini)) article h2 a,
.tls-pc:not(:has(.tls-mini)) article h3 a {
  color: inherit !important;
  text-decoration: none !important;
  transition: color .2s ease !important;
}

.tls-pc:not(:has(.tls-mini)) [class*="reference"],
.tls-pc:not(:has(.tls-mini)) [class*="subtitle"],
.tls-pc:not(:has(.tls-mini)) [class*="product-cat"],
.tls-pc:not(:has(.tls-mini)) [class*="variant"] {
  width: 100% !important;
  margin: 2px 0 0 !important;
  padding: 0 !important;
  font-family: var(--tls-font) !important;
  font-weight: 500 !important;
  font-size: 13px !important;
  line-height: 15px !important;
  letter-spacing: 0.13px !important;
  text-transform: uppercase !important;
  color: #888888 !important;
  text-align: left !important;
  display: block !important;
  white-space: nowrap !important;
  overflow: hidden !important;
  text-overflow: ellipsis !important;
}

.tls-pc:not(:has(.tls-mini)) [class*="price"] {
  width: 100% !important;
  margin: 12px 0 0 !important;
  padding: 0 !important;
  font-family: var(--tls-font) !important;
  font-weight: 900 !important;
  font-size: 20px !important;
  line-height: 22px !important;
  letter-spacing: -0.2px !important;
  text-transform: uppercase !important;
  color: #000000 !important;
  text-align: left !important;
  background: transparent !important;
}

.tls-pc:not(:has(.tls-mini)) [class*="regular-price"],
.tls-pc:not(:has(.tls-mini)) del,
.tls-pc:not(:has(.tls-mini)) [class*="old-price"] {
  display: inline !important;
  width: auto !important;
  margin: 0 0 0 7px !important;
  font-size: 13px !important;
  font-weight: 500 !important;
  letter-spacing: 0 !important;
  color: #888888 !important;
  text-decoration: line-through !important;
}

.tls-pc:not(:has(.tls-mini)) [class*="flags"] {
  position: absolute !important;
  top: 16px !important;
  left: 17px !important;
  right: auto !important;
  bottom: auto !important;
  display: flex !important;
  flex-direction: row !important;
  flex-wrap: wrap !important;
  align-items: center !important;
  width: auto !important;
  max-width: calc(100% - 34px) !important;
  gap: 5px !important;
  margin: 0 !important;
  padding: 0 !important;
  list-style: none;
  overflow: visible !important;
  z-index: 3 !important;
  aspect-ratio: auto !important;
}

.tls-pc:not(:has(.tls-mini)) [class*="flags"]>* {
  flex: 0 0 auto !important;
  width: auto !important;
  max-width: none !important;
  min-width: 0 !important;
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  gap: 6px !important;
  height: 31px !important;
  margin: 0 !important;
  padding: 6px 9px !important;
  border-radius: 5px !important;
  background: #FFFFFF !important;
  color: #000000 !important;
  font-family: var(--tls-font) !important;
  font-weight: 900 !important;
  font-size: 14px !important;
  line-height: 19px !important;
  letter-spacing: -0.28px !important;
  text-transform: uppercase !important;
  white-space: nowrap !important;
  aspect-ratio: auto !important;
}

.tls-pc [class*="highlighted"],
.tls-pc [class*="quick-view"],
.tls-pc [class*="quickview"],
.tls-pc [class*="add-to-cart"],
.tls-pc [class*="wishlist"],
.tls-pc [class*="comparison"],
.tls-pc [class*="availability"],
.tls-pc [class*="variant-links"],
.tls-pc [class*="color-list"] {
  display: none !important;
}

@media (max-width:1200px) {
  .tls-pc {
    --tls-pc-cols: 3;
    --tls-pc-gap: 30px;
  }
}

@media (max-width:900px) {
  .tls-pc {
    --tls-pc-cols: 2;
    --tls-pc-gap: 24px;
  }
}

@media (max-width:767px) {
  .tls-pc {
    --tls-pc-gap: 16px;
  }

  .tls-pc article,
  .tls-pc [class*="miniature"],
  .tls-pc li:has(img) {
    flex: 0 0 62vw;
    width: 62vw;
    max-width: 62vw;
  }

  .tls-mini .tls-mini-col .tls-mini-badges {
    top: 12px;
    left: 12px;
  }

  .tls-mini .tls-mini-badges *:not(:has(*)) {
    height: 27px;
    padding: 5px 8px;
    font-size: 12px;
    line-height: 17px;
  }

  .tls-mini .tls-mini-title,
  .tls-mini .tls-mini-title h1,
  .tls-mini .tls-mini-title h2,
  .tls-mini .tls-mini-title h3,
  .tls-mini .tls-mini-title a {
    font-size: 15px !important;
    line-height: 19px !important;
  }

  .tls-mini .tls-mini-price,
  .tls-mini .tls-mini-price *:not(:has(*)) {
    font-size: 18px;
    line-height: 20px;
  }
}


/* ──────────────────────────────────────────────────────────────────────────
   7 · BEST-SELLERS
   ────────────────────────────────────────────────────────────────────────── */

.tls-best {
  padding: 95px 20px 0;
}

/* En-tête */

.tls-best .tls-best-head {
  width: 100% !important;
  margin-bottom: 20px;
}

.tls-best-head>.elementor-container>.elementor-row {
  display: flex;
  align-items: center;
  justify-content: space-between;
  width: 100% !important;
  min-height: 36px;
}

.tls-best .tls-best-title {
  font-family: var(--tls-font);
  font-weight: 700;
  font-size: 22px;
  line-height: 20px;
  letter-spacing: 0;
  text-transform: uppercase;
  color: #000000;
}

.tls-best .tls-best-all .elementor-button-wrapper {
  display: flex !important;
  justify-content: flex-end !important;
}

.tls-best .tls-best-all .elementor-button {
  display: flex;
  align-items: center;
  height: 36px;
  padding: 0;
  background: #FFFFFF;
  border: none;
  border-radius: 5px;
  box-shadow: none;
  transition: color .2s ease;
}

.tls-best .tls-best-all .elementor-button-text {
  font-family: var(--tls-font);
  font-weight: 800;
  font-size: 14px;
  line-height: 16px;
  letter-spacing: 0;
  text-transform: uppercase;
  color: #000000;
}

.tls-best .tls-best-all .elementor-button-icon svg,
.tls-best .tls-best-all .elementor-button-icon img,
.tls-news .tls-news-all .elementor-button-icon svg,
.tls-news .tls-news-all .elementor-button-icon img {
  width: 16px;
  height: 16px;
  transition: transform .2s ease;
}

.tls-header .tls-act-account:hover a.elementor-item svg path,
.tls-header .tls-act-cart:hover .elementor-cart__toggle svg path,
.tls-best .tls-best-all .elementor-button:hover svg path,
.tls-news .tls-news-all .elementor-button:hover svg path,
.tls-footer .tls-mail-btn .elementor-button:hover svg path {
  stroke: var(--tls-orange) !important;
}

/* La grille produit */

.tls-best.tls-pc {
  --tls-pc-cols: 4;
  --tls-pc-gap: 45px;
  --tls-pc-ratio: 347/433;
}

/* Flèches CSS */
.tls-estab .tls-estab-grid>.elementor-widget-container>*::scroll-button(left),
.tls-best .tls-best-grid>.elementor-widget-container>*::scroll-button(left),
.tls-estab .tls-estab-grid>.elementor-widget-container>*::scroll-button(right),
.tls-best .tls-best-grid>.elementor-widget-container>*::scroll-button(right) {
  position: absolute;
  top: 42%;
  transform: translateY(-50%) !important;
  width: 50px;
  height: 50px;
  padding: 0;
  margin: 0;
  background-color: #000000;
  background-repeat: no-repeat;
  background-position: center !important;
  background-size: 8px 15px;
  border: none;
  border-radius: 10px;
  cursor: pointer;
  line-height: 0;
  z-index: 4;
  transition: background-color .2s ease, opacity .2s ease;
}

.tls-estab .tls-estab-grid>.elementor-widget-container>*::scroll-button(left),
.tls-estab .tls-estab-grid>.elementor-widget-container>*::scroll-button(right) {
  top: 50%;
}

.tls-estab .tls-estab-grid>.elementor-widget-container>*::scroll-button(left),
.tls-best .tls-best-grid>.elementor-widget-container>*::scroll-button(left) {
  content: "❮";
  left: 15px;
  color: #fff;
  font-size: 16px;
}

.tls-estab .tls-estab-grid>.elementor-widget-container>*::scroll-button(right),
.tls-best .tls-best-grid>.elementor-widget-container>*::scroll-button(right) {
  content: "❯";
  right: 15px;
  color: #fff;
  font-size: 16px;
}

.tls-cats .tls-cats-grid>.elementor-widget-container>*::scroll-button(left):hover,
.tls-cats .tls-cats-grid>.elementor-widget-container>*::scroll-button(right):hover,
.tls-best .tls-best-grid>.elementor-widget-container>*::scroll-button(left):hover,
.tls-estab .tls-estab-grid>.elementor-widget-container>*::scroll-button(left):hover,
.tls-estab .tls-estab-grid>.elementor-widget-container>*::scroll-button(right):hover,
.tls-best .tls-best-grid>.elementor-widget-container>*::scroll-button(right):hover {
  background-color: var(--tls-orange);
}

/* Responsive */

@media (max-width:767px) {
  .tls-best .tls-best-title {
    font-size: 18px;
    line-height: 18px;
  }

  .tls-best .tls-best-head {
    margin-bottom: 16px;
  }
}


/* ──────────────────────────────────────────────────────────────────────────
   8 · PUSHS
   ────────────────────────────────────────────────────────────────────────── */

.tls-push {
  padding: 120px 20px 0;
}

.tls-push .elementor-widget,
.tls-band .elementor-widget,
.tls-heroa .elementor-widget,
.tls-news .elementor-widget {
  margin: 0 !important;
  width: auto !important;
  max-width: 100% !important;
}

/* Les deux blocs côte à côte */

.tls-push>.elementor-container>.elementor-row {
  display: flex;
  flex-direction: row;
  flex-wrap: nowrap;
  align-items: stretch;
  justify-content: space-between;
  gap: 20px;
  width: 100% !important;
}

.tls-push .tls-push-col {
  flex: 1 1 0;
  width: auto !important;
  max-width: none;
  min-width: 0;
  display: block;
  position: relative;
  aspect-ratio: 754/690;
  border-radius: 20px;
  overflow: hidden;
  container-type: inline-size;
}

.tls-push .tls-push-a {
  background: #DAF1FB;
}

.tls-push .tls-push-b {
  background: #EFEFEF;
}

/* La pile de contenu */

.tls-push .tls-push-col>.elementor-widget-wrap,
.tls-push .tls-push-col>.elementor-column-wrap>.elementor-widget-wrap {
  position: relative;
  display: flex;
  flex-direction: column;
  flex-wrap: nowrap;
  align-items: flex-start;
  align-content: flex-start;
  justify-content: flex-end;
  gap: 0;
  z-index: 2;
}

.tls-push .tls-push-a>.elementor-column-wrap>.elementor-widget-wrap,
.tls-push .tls-push-a>.elementor-widget-wrap {
  padding: 0 5.3050cqw 3.5809cqw !important;
}

.tls-push .tls-push-b>.elementor-column-wrap>.elementor-widget-wrap,
.tls-push .tls-push-b>.elementor-widget-wrap {
  padding: 0 5.0398cqw 3.4483cqw !important;
}

/* Le visuel décoratif */

.tls-push .tls-push-bg {
  position: absolute;
  inset: 0;
  width: 100% !important;
  height: 100% !important;
  margin: 0;
  padding: 0;
  z-index: 1;
  pointer-events: none;
}

.tls-push .tls-push-bg>.elementor-widget-container,
.tls-push .tls-push-bg a,
.tls-push .tls-push-bg figure {
  display: block;
  width: 100% !important;
  height: 100% !important;
  margin: 0;
  line-height: 0;
}

.tls-push .tls-push-bg img {
  width: 100% !important;
  height: 100% !important;
  object-fit: cover;
  object-position: center;
  transition: transform .6s ease;
}

.tls-push .tls-push-col:hover .tls-push-bg img {
  transform: scale(1.03) !important;
}

/* Icône (bloc « Personnalisation ») */

.tls-push .tls-push-ico {
  width: 6.6313cqw !important;
  height: 6.6313cqw !important;
  margin: 0 0 2.6525cqw !important;
  flex: 0 0 auto;
}

.tls-push .tls-push-ico>.elementor-widget-container,
.tls-prod .product-images .elementor-main-swiper .swiper-slide {
  width: 100% !important;
  height: 100% !important;
}

.tls-push .tls-push-ico img,
.tls-push .tls-push-ico svg {
  width: 100% !important;
  height: 100% !important;
  object-fit: contain;
}

/* Titre */

.tls-push .tls-push-title {
  width: auto !important;
  max-width: 53.4483cqw !important;
  margin: 0;
  flex: 0 0 auto;
}

.tls-push .tls-push-title,
.tls-push .tls-push-title .elementor-heading-title,
.tls-push .tls-push-title p {
  font-family: var(--tls-font);
  font-weight: 800;
  font-size: 7.9576cqw !important;
  line-height: 6.6313cqw !important;
  letter-spacing: -0.1592cqw !important;
  text-transform: uppercase;
  color: #000000;
  text-align: left;
}

/* Sous-titre */

.tls-push .tls-push-sub {
  width: auto !important;
  max-width: 39.2573cqw !important;
  margin: 1.3263cqw 0 0 !important;
  flex: 0 0 auto;
}

.tls-push .tls-push-sub,
.tls-push .tls-push-sub p,
.tls-push .tls-push-sub div {
  font-family: var(--tls-font);
  font-weight: 500;
  font-size: 2.1220cqw !important;
  line-height: 2.3873cqw !important;
  letter-spacing: -0.0212cqw !important;
  text-transform: uppercase;
  color: #000000;
  text-align: left;
}

/* Bouton */

.tls-push .tls-push-btn {
  width: auto !important;
  margin: 2.6525cqw 0 0 !important;
  flex: 0 0 auto;
}

.tls-push .tls-push-sub+.tls-push-btn,
.tls-push .tls-push-b .tls-push-btn {
  margin-top: 3.9788cqw !important;
}

.tls-push .tls-push-btn .elementor-button {
  display: inline-flex;
  align-items: center;
  justify-content: flex-start;
  height: 6.1008cqw !important;
  padding: 0 1.4589cqw 0 2.6525cqw !important;
  border: none;
  border-radius: 0.6631cqw !important;
  box-shadow: none;
  transition: background-color .25s ease, color .25s ease;
}

.tls-push .tls-push-btn .elementor-button-content-wrapper {
  display: inline-flex;
  flex-direction: row;
  align-items: center;
  gap: 0.9284cqw !important;
}

.tls-push .tls-push-btn .elementor-button-text {
  font-family: var(--tls-font);
  font-weight: 800;
  font-size: 1.8568cqw !important;
  line-height: 2.1759cqw !important;
  letter-spacing: 0;
  text-transform: uppercase;
  white-space: nowrap;
}

.tls-push .tls-push-btn .elementor-button-icon svg,
.tls-push .tls-push-btn .elementor-button-icon img {
  width: 2.1220cqw !important;
  height: 2.1220cqw !important;
  transition: transform .25s ease;
}

.tls-push .tls-push-btn .elementor-button:hover svg {
  transform: translateX(0.5309cqw) !important;
}

.tls-push .tls-push-btn-dark .elementor-button {
  background: #000000;
}

.tls-push .tls-push-btn-dark .elementor-button-text {
  color: #FFFFFF;
}

.tls-push .tls-push-btn-dark .elementor-button:hover,
.tls-heroa .tls-heroa-btn .elementor-button:hover {
  background: var(--tls-orange) !important;
}

.tls-push .tls-push-btn-light .elementor-button {
  background: #FFFFFF;
}

.tls-push .tls-push-btn-light .elementor-button:hover {
  background: var(--tls-orange) !important;
  color: #FFFFFF !important;
}

/* Responsive */

@media (max-width:900px) {
  .tls-push {
    padding: 70px 15px 0;
  }

  .tls-push>.elementor-container>.elementor-row {
    flex-direction: column;
    gap: 15px;
  }

  .tls-push .tls-push-col {
    flex: 1 1 auto;
    width: 100%;
    border-radius: 15px;
  }
}

@media (max-width:767px) {
  .tls-push .tls-push-btn {
    margin-top: 18px !important;
  }

  .tls-push .tls-push-sub+.tls-push-btn,
  .tls-push .tls-push-b .tls-push-btn {
    margin-top: 22px !important;
  }

  .tls-push .tls-push-btn .elementor-button {
    height: 42px !important;
    padding: 0 14px 0 18px !important;
    border-radius: 6px !important;
  }

  .tls-push .tls-push-btn .elementor-button-content-wrapper {
    gap: 8px !important;
  }

  .tls-push .tls-push-btn .elementor-button-text {
    font-size: 16px !important;
    line-height: 18px !important;
  }

  .tls-push .tls-push-btn .elementor-button-icon svg,
  .tls-push .tls-push-btn .elementor-button-icon img {
    width: 16px !important;
    height: 16px !important;
  }

  .tls-push .tls-push-btn .elementor-button:hover svg {
    transform: translateX(4px) !important;
  }
}


/* ──────────────────────────────────────────────────────────────────────────
   9 · TITRE DE SECTION
   ────────────────────────────────────────────────────────────────────────── */

.tls-title {
  padding: 249px 20px 0;
}

.tls-title .elementor-widget {
  margin: 0 !important;
  width: 100%;
}

/* Sur-titre */

.tls-title .tls-title-kicker,
.tls-title .tls-title-kicker .elementor-heading-title {
  display: block;
  width: 100%;
  max-width: 888px;
  margin: 0 auto !important;
  font-family: var(--tls-font);
  font-weight: 500;
  font-size: 16px;
  line-height: 18px;
  letter-spacing: -0.16px;
  text-transform: uppercase;
  color: #000000;
  text-align: center;
}

/* Titre */

.tls-title .tls-title-h,
.tls-heroa .tls-mini .tls-mini-col .tls-mini-price {
  margin-top: 15px !important;
}

.tls-title .tls-title-h,
.tls-title .tls-title-h .elementor-heading-title {
  display: block;
  width: 100%;
  max-width: 888px;
  margin-left: auto !important;
  margin-right: auto !important;
  font-family: var(--tls-font);
  font-weight: 800;
  font-size: 70px;
  line-height: 58px;
  letter-spacing: -1.4px;
  text-transform: uppercase;
  color: #000000;
  text-align: center;
}

/* Responsive */

@media (max-width:1200px) {
  .tls-title {
    padding: 160px 20px 0;
  }

  .tls-title .tls-title-h,
  .tls-title .tls-title-h .elementor-heading-title {
    font-size: 56px;
    line-height: 48px;
    letter-spacing: -1.12px;
  }
}

@media (max-width:767px) {
  .tls-title {
    padding: 100px 15px 0;
  }

  .tls-title .tls-title-kicker,
  .tls-title .tls-title-kicker .elementor-heading-title {
    font-size: 14px;
    line-height: 16px;
    letter-spacing: -0.14px;
  }

  .tls-title .tls-title-h {
    margin-top: 12px !important;
  }

  .tls-title .tls-title-h,
  .tls-title .tls-title-h .elementor-heading-title {
    font-size: 34px;
    line-height: 32px;
    letter-spacing: -0.68px;
  }
}


/* ──────────────────────────────────────────────────────────────────────────
   10 · TYPES DE SIGNALÉTIQUE
   ────────────────────────────────────────────────────────────────────────── */

.tls-needs {
  --tls-needs-arrow: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='9' height='18' fill='none'%3E%3Cpath d='M1 1 8 9 1 17' stroke='%23AAAAAA' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E");
  padding: 88px 20px 0;
}

/* LA PISTE */

.tls-needs .tls-needs-grid>.elementor-widget-container>* {
  display: flex;
  flex-direction: row;
  flex-wrap: wrap;
  align-items: stretch;
  justify-content: flex-start;
  width: 100% !important;
  max-width: 100%;
  gap: 20px !important;
  margin: 0;
  padding: 0;
  list-style: none;
  overflow: visible;
  grid-template-columns: none !important;
  grid-template-rows: none;
}

/* UNE PILULE */

.tls-needs .tls-needs-grid>.elementor-widget-container>*>*:not(ul):not(ol),
.tls-needs .tls-needs-grid>.elementor-widget-container>*>ul>li,
.tls-needs .tls-needs-grid>.elementor-widget-container>*>ol>li {
  flex: 1 1 300px;
  width: auto !important;
  max-width: none;
  min-width: 0;
  height: 100px;
  margin: 0;
  padding: 30px 20px 30px 30px;
  display: flex;
  flex-direction: row;
  flex-wrap: nowrap;
  align-items: center;
  justify-content: flex-start;
  gap: 20px !important;
  list-style: none;
  border: none;
  border-radius: 10px;
  box-shadow: none;
  overflow: hidden;
  background: #EFEFEF;
  transition: box-shadow .2s ease;
}

/* On n'affiche que les 4 PREMIÈRES catégories */

.tls-needs .tls-needs-grid>.elementor-widget-container>*>*:nth-child(4n

  /**/
  +1) {
  background: #FFF3E5;
}

.tls-needs .tls-needs-grid>.elementor-widget-container>*>*:nth-child(4n

  /**/
  +2) {
  background: #EBF3D8;
}

.tls-needs .tls-needs-grid>.elementor-widget-container>*>*:nth-child(4n

  /**/
  +3) {
  background: #CCF0FF;
}

.tls-needs .tls-needs-grid>.elementor-widget-container>*>*:nth-child(4n

  /**/
  +4) {
  background: #FCE9EA;
}

.tls-needs .tls-needs-grid>.elementor-widget-container>*>*:hover {
  box-shadow: inset 0 0 0 2px #000000 !important;
}

/* 1er enfant = l'image de la catégorie → icône 40 × 40 */

.tls-needs .tls-needs-grid>.elementor-widget-container>*>*>*:first-child,
.tls-needs .tls-needs-grid>.elementor-widget-container>*>ul>li>*:first-child {
  flex: 0 0 40px;
  width: 40px;
  height: 40px;
  margin: 0;
  padding: 0;
  border-radius: 5px;
  overflow: hidden;
  line-height: 0;
  display: block;
  background: transparent;
}

.tls-needs .tls-needs-grid img {
  width: 40px;
  height: 40px;
  object-fit: cover;
  object-position: center;
  border-radius: 5px;
}

/* 2e enfant = le nom de la catégorie (2 lignes maxi) */

.tls-needs .tls-needs-grid>.elementor-widget-container>*>*>*:nth-child(2),
.tls-needs .tls-needs-grid>.elementor-widget-container>*>ul>li>*:nth-child(2) {
  flex: 0 1 auto;
  min-width: 0;
  max-width: 150px;
  margin: 0;
  padding: 0;
  font-family: var(--tls-font);
  font-weight: 800;
  font-size: 16px;
  line-height: 16px;
  letter-spacing: -0.16px;
  text-transform: uppercase;
  color: #111111;
  text-align: left;
  background: transparent;
  text-wrap: balance;
  display: -webkit-box;
  -webkit-line-clamp: 2;
  line-clamp: 2;
  -webkit-box-orient: vertical;
  overflow: hidden;
}

/* 3e enfant (description / nombre de produits) */

.tls-needs .tls-needs-grid>.elementor-widget-container>*>*>*:nth-child(n
  /**/
  +3),
.tls-needs .tls-needs-grid>.elementor-widget-container>*>ul>li>*:nth-child(n

  /**/
  +3),
.tls-needs .tls-needs-grid [class*="overlay"] {
  display: none !important;
}

/* La flèche, collée à droite de chaque pilule (36 × 36) */

.tls-needs .tls-needs-grid>.elementor-widget-container>*>*::after,
.tls-needs .tls-needs-grid>.elementor-widget-container>*>ul>li::after {
  content: "" !important;
  flex: 0 0 36px !important;
  width: 36px !important;
  height: 36px !important;
  margin: 0 0 0 auto !important;
  background-image: var(--tls-needs-arrow) !important;
  background-repeat: no-repeat !important;
  background-position: center !important;
  background-size: 9px 18px !important;
  transition: transform .2s ease;
}

/* Responsive */

@media (max-width:1200px) {

  .tls-needs .tls-needs-grid>.elementor-widget-container>*>*:not(ul):not(ol),
  .tls-needs .tls-needs-grid>.elementor-widget-container>*>ul>li {
    flex: 1 1 320px;
  }
}

@media (max-width:767px) {

  .tls-best,
  .tls-needs {
    padding: 55px 15px 0;
  }

  .tls-needs .tls-needs-grid>.elementor-widget-container>* {
    gap: 12px !important;
  }

  .tls-needs .tls-needs-grid>.elementor-widget-container>*>*:not(ul):not(ol),
  .tls-needs .tls-needs-grid>.elementor-widget-container>*>ul>li {
    flex: 1 1 100%;
    height: 86px;
    padding: 20px 15px 20px 20px;
    gap: 15px !important;
  }

  .tls-needs .tls-needs-grid>.elementor-widget-container>*>*>*:nth-child(2) {
    font-size: 15px;
    line-height: 15px;
    max-width: none;
  }

  .tls-needs .tls-needs-grid>.elementor-widget-container>*>*::after {
    flex: 0 0 28px;
    width: 28px;
    height: 28px;
  }
}


/* ──────────────────────────────────────────────────────────────────────────
   11 · ÉTABLISSEMENTS
   ────────────────────────────────────────────────────────────────────────── */

.tls-estab {
  --tls-estab-veil-w: 200px;
  padding: 48px 20px 0;
}

/* LA PISTE */

.tls-estab .tls-estab-grid>.elementor-widget-container>* {
  display: flex;
  flex-direction: row;
  flex-wrap: nowrap;
  align-items: flex-start;
  justify-content: flex-start;
  width: 100% !important;
  max-width: 100%;
  gap: 21px !important;
  margin: 0;
  padding: 0;
  list-style: none;
  overflow-x: auto;
  overflow-y: visible;
  scroll-snap-type: x proximity;
  scroll-behavior: smooth;
  scrollbar-width: none;
  -ms-overflow-style: none;
  grid-template-columns: none !important;
  grid-template-rows: none;
}

.tls-estab .tls-estab-grid>.elementor-widget-container>*::-webkit-scrollbar {
  display: none;
  width: 0;
  height: 0;
}

.tls-estab .tls-estab-grid>.elementor-widget-container>*>ul,
.tls-estab .tls-estab-grid>.elementor-widget-container>*>ol {
  display: contents !important;
}

/* UNE CARTE */

.tls-estab .tls-estab-grid>.elementor-widget-container>*>*:not(ul):not(ol),
.tls-estab .tls-estab-grid>.elementor-widget-container>*>ul>li,
.tls-estab .tls-estab-grid>.elementor-widget-container>*>ol>li {
  flex: 0 0 334px;
  width: 334px;
  max-width: 334px;
  min-width: 334px;
  height: 418px;
  margin: 0;
  padding: 0;
  scroll-snap-align: start;
  position: relative;
  display: block;
  list-style: none;
  border: none;
  border-radius: 10px;
  overflow: hidden;
  box-shadow: none;
  background: #EFEFEF;
}

/* 1er enfant = le visuel, en fond */

.tls-estab .tls-estab-grid>.elementor-widget-container>*>*>*:first-child,
.tls-estab .tls-estab-grid>.elementor-widget-container>*>ul>li>*:first-child {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  margin: 0;
  padding: 0;
  display: block;
  line-height: 0;
  border-radius: 10px;
  overflow: hidden;
  z-index: 1;
}

.tls-estab .tls-estab-grid>.elementor-widget-container>*>*>*:nth-child(2),
.tls-estab .tls-estab-grid>.elementor-widget-container>*>ul>li>*:nth-child(2) {
  position: absolute;
  left: 20px;
  right: 20px;
  bottom: 38px;
  z-index: 3;
  margin: 0;
  padding: 0;
  font-family: var(--tls-font);
  font-weight: 700;
  font-size: 22px;
  line-height: 20px;
  letter-spacing: 0;
  text-transform: uppercase;
  color: #FFFFFF !important;
  text-shadow: 0 1px 3px rgba(0, 0, 0, .75), 0 0 14px rgba(0, 0, 0, .55) !important;
  text-align: left;
  background: transparent;
  display: -webkit-box;
  -webkit-line-clamp: 2;
  line-clamp: 2;
  -webkit-box-orient: vertical;
  overflow: hidden;
}

.tls-estab .tls-estab-grid>.elementor-widget-container>*>*>*:nth-child(3),
.tls-estab .tls-estab-grid>.elementor-widget-container>*>ul>li>*:nth-child(3) {
  position: absolute !important;
  left: 20px !important;
  right: 20px !important;
  bottom: 14px !important;
  z-index: 3 !important;
  margin: 0 !important;
  padding: 0 !important;
  font-family: var(--tls-font) !important;
  font-weight: 500 !important;
  font-size: 13px !important;
  line-height: 20px !important;
  letter-spacing: 0 !important;
  text-transform: uppercase !important;
  color: rgba(255, 255, 255, .88) !important;
  text-shadow: 0 1px 3px rgba(0, 0, 0, .75), 0 0 14px rgba(0, 0, 0, .55) !important;
  text-align: left !important;
  background: transparent !important;
  white-space: nowrap !important;
  overflow: hidden !important;
  text-overflow: ellipsis !important;
}

.tls-estab .tls-estab-grid>.elementor-widget-container>*>*>*:nth-child(n

  /**/
  +4),
.tls-estab .tls-estab-grid [class*="overlay"] {
  display: none !important;
}

.tls-estab .tls-estab-grid>.elementor-widget-container>*>*:hover>*:nth-child(2) {
  color: #FFFFFF !important;
  text-shadow: 0 1px 3px rgba(0, 0, 0, .9), 0 0 16px rgba(0, 0, 0, .7) !important;
}

/* Navigation */

/* .tls-estab .tls-estab-grid>.elementor-widget-container>*::scroll-button(left), */
/* .tls-estab .tls-estab-grid>.elementor-widget-container>*::scroll-button(right), */
.tls-heroa .tls-heroa-grid .ce-product-grid::scroll-button(left),
.tls-heroa .tls-heroa-grid .ce-product-grid::scroll-button(right) {
  position: absolute;
  z-index: 4;
  margin: 0;
  border: none;
  background-color: transparent;
  background-position: center;
  background-repeat: no-repeat;
  cursor: pointer;
  transition: opacity .25s ease;
}

/* .tls-estab .tls-estab-grid>.elementor-widget-container>*::scroll-button(right), */
.tls-heroa .tls-heroa-grid .ce-product-grid::scroll-button(right) {
  content: "❯";
  right: 0;
}

/* .tls-estab .tls-estab-grid>.elementor-widget-container>*::scroll-button(left), */
.tls-heroa .tls-heroa-grid .ce-product-grid::scroll-button(left) {
  content: "❮";
  left: 0;
}

/* .tls-estab .tls-estab-grid>.elementor-widget-container>*::scroll-button(left)
 .tls-estab .tls-estab-grid>.elementor-widget-container>*::scroll-button(right)
 {
  top: 0;
  bottom: 0;
  width: 120px;
  font-size: 45px;
  line-height: 50px;
  color: #FFFFFF;
  background-size: cover;
} */

/* .tls-estab .tls-estab-grid>.elementor-widget-container>*::scroll-button(right) {
  padding: 0 10px 0 0;
  border-radius: 0 10px 10px 0;
  text-align: right;
  background-image: linear-gradient(to left, rgba(0, 0, 0, .8), rgba(0, 0, 0, 0));
} */

/* .tls-estab .tls-estab-grid>.elementor-widget-container>*::scroll-button(left) {
  padding: 0 0 0 10px;
  border-radius: 10px 0 0 10px;
  text-align: left;
  background-image: linear-gradient(to right, rgba(0, 0, 0, .8), rgba(0, 0, 0, 0));
} */

.tls-heroa .tls-heroa-grid .ce-product-grid::scroll-button(left),
.tls-heroa .tls-heroa-grid .ce-product-grid::scroll-button(right) {
  top: calc(var(--tls-pc-w) * .625);
  width: 48px;
  height: 48px;
  margin-top: -24px;
  padding: 0;
  border-radius: 12px;
  font-size: 20px;
  line-height: 48px;
  text-align: center;
  color: #FFFFFF;
  background-color: #111111;
}

/* Responsive */

@media (max-width:767px) {
  .tls-estab {
    padding: 35px 15px 0;
    --tls-estab-veil-w: 120px;
  }

  .tls-estab .tls-estab-grid>.elementor-widget-container>* {
    gap: 14px !important;
  }

  .tls-estab .tls-estab-grid>.elementor-widget-container>*>*:not(ul):not(ol),
  .tls-estab .tls-estab-grid>.elementor-widget-container>*>ul>li {
    flex: 0 0 250px;
    width: 250px;
    max-width: 250px;
    min-width: 250px;
    height: 313px;
  }

  .tls-estab .tls-estab-grid>.elementor-widget-container>*>*>*:nth-child(2) {
    font-size: 18px;
    line-height: 18px;
    bottom: 34px;
  }
}


/* ──────────────────────────────────────────────────────────────────────────
   12 · BANDEAU ACCESSI'DAYS
   ────────────────────────────────────────────────────────────────────────── */

.tls-band {
  --tls-band-veil: transparent;
  padding: 245px 20px 0;
}

/* Le bloc */

.tls-band .tls-band-in {
  position: relative;
  width: 100% !important;
  max-width: none;
  min-height: 541px;
  border-radius: 20px;
  overflow: hidden;
  background: #EFEFEF;
  display: flex;
}

.tls-band .tls-band-in>.elementor-widget-wrap,
.tls-band .tls-band-in>.elementor-column-wrap>.elementor-widget-wrap {
  position: relative;
  z-index: 2;
  display: flex;
  flex-direction: column;
  flex-wrap: nowrap;
  align-items: center;
  align-content: center;
  justify-content: center;
  gap: 0;
  min-height: 541px;
  padding: 30px 40px;
}

/* Le visuel, en fond */

.tls-band .tls-band-bg {
  position: absolute;
  inset: 0;
  width: 100% !important;
  height: 100%;
  margin: 0;
  padding: 0;
  z-index: 1;
  pointer-events: none;
}

.tls-band .tls-band-bg>.elementor-widget-container {
  position: relative;
  display: block;
  width: 100% !important;
  height: 100%;
  margin: 0;
  line-height: 0;
}

.tls-band .tls-band-bg>.elementor-widget-container::after {
  content: "";
  position: absolute;
  inset: 0;
  background: var(--tls-band-veil);
  pointer-events: none;
}

.tls-push .tls-push-ico,
.tls-push .tls-push-title,
.tls-push .tls-push-sub,
.tls-push .tls-push-btn,
.tls-band .tls-band-kicker,
.tls-band .tls-band-title,
.tls-band .tls-band-sub {
  position: relative;
  z-index: 2;
}

/* Sur-titre */

.tls-band .tls-band-kicker,
.tls-band .tls-band-kicker .elementor-heading-title {
  font-family: var(--tls-font);
  font-weight: 900;
  font-size: 20px;
  line-height: 23px;
  letter-spacing: -0.6px;
  text-transform: uppercase;
  color: #000000;
  text-align: center;
}

/* Titre */

.tls-band .tls-band-title {
  margin-top: 20px !important;
}

.tls-band .tls-band-title,
.tls-band .tls-band-title .elementor-heading-title {
  font-family: var(--tls-font);
  font-weight: 900;
  font-size: 100px;
  line-height: 78px;
  letter-spacing: -5px;
  text-transform: uppercase;
  color: #000000;
  text-align: center;
}

/* Sous-titre */

.tls-band .tls-band-sub {
  margin-top: 20px !important;
  max-width: 259px !important;
}

.tls-band .tls-band-sub,
.tls-band .tls-band-sub p {
  font-family: var(--tls-font);
  font-weight: 800;
  font-size: 16px;
  line-height: 18px;
  letter-spacing: 0;
  text-transform: uppercase;
  color: #000000;
  text-align: center;
}

/* Responsive */

@media (max-width:1200px) {
  .tls-band {
    padding: 150px 20px 0;
  }

  .tls-band .tls-band-in,
  .tls-band .tls-band-in>.elementor-widget-wrap,
  .tls-band .tls-band-in>.elementor-column-wrap>.elementor-widget-wrap {
    min-height: 420px;
  }

  .tls-band .tls-band-title,
  .tls-band .tls-band-title .elementor-heading-title {
    font-size: 72px;
    line-height: 58px;
    letter-spacing: -3.6px;
  }
}

@media (max-width:767px) {
  .tls-band {
    padding: 90px 15px 0;
  }

  .tls-band .tls-band-in,
  .tls-band .tls-band-in>.elementor-widget-wrap,
  .tls-band .tls-band-in>.elementor-column-wrap>.elementor-widget-wrap {
    min-height: 320px;
  }

  .tls-band .tls-band-in>.elementor-widget-wrap,
  .tls-band .tls-band-in>.elementor-column-wrap>.elementor-widget-wrap {
    padding: 30px 20px;
  }

  .tls-band .tls-band-kicker,
  .tls-band .tls-band-kicker .elementor-heading-title {
    font-size: 15px;
    line-height: 18px;
    letter-spacing: -0.45px;
  }

  .tls-band .tls-band-title {
    margin-top: 14px !important;
  }

  .tls-band .tls-band-title,
  .tls-band .tls-band-title .elementor-heading-title {
    font-size: 44px;
    line-height: 38px;
    letter-spacing: -2.2px;
  }

  .tls-band .tls-band-sub {
    margin-top: 16px !important;
  }

  .tls-band .tls-band-sub,
  .tls-band .tls-band-sub p {
    font-size: 14px;
    line-height: 16px;
  }
}


/* ──────────────────────────────────────────────────────────────────────────
   13 · HERO ACCESSI'DAYS
   ────────────────────────────────────────────────────────────────────────── */

.tls-heroa {
  padding: 37px 20px 0;
}

.tls-heroa .elementor-widget-container {
  width: 100% !important;
}

.tls-heroa .elementor-heading-title {
  margin: 0;
  font: inherit;
  color: inherit;
  letter-spacing: inherit;
  text-transform: inherit;
}

/* Les deux colonnes */

.tls-heroa>.elementor-container>.elementor-row {
  display: flex;
  flex-direction: row;
  flex-wrap: nowrap;
  align-items: flex-start;
  justify-content: flex-start;
  gap: 19px;
  width: 100% !important;
}

.tls-heroa .tls-heroa-promo {
  flex: 0 0 314px;
  width: 314px;
  max-width: 314px;
  min-width: 314px;
}

.tls-heroa .tls-heroa-promo>.elementor-widget-wrap,
.tls-heroa .tls-heroa-promo>.elementor-column-wrap>.elementor-widget-wrap {
  display: flex;
  flex-direction: column;
  flex-wrap: nowrap;
  align-items: flex-start;
  align-content: flex-start;
  justify-content: space-between;
  gap: 0;
  min-height: 411px;
}

.tls-heroa .tls-heroa-slider {
  flex: 1 1 0;
  width: auto !important;
  max-width: none;
  min-width: 0;
  padding-top: 11px;
}

/* Carte promo */

.tls-heroa .tls-heroa-kicker,
.tls-heroa .tls-heroa-kicker .elementor-heading-title {
  font-family: var(--tls-font);
  font-weight: 900;
  font-size: 20px;
  line-height: 23px;
  letter-spacing: -0.6px;
  text-transform: uppercase;
  color: var(--tls-blue);
  text-align: left;
}

.tls-heroa .tls-heroa-title {
  margin-top: 10px !important;
  max-width: 264px !important;
  overflow-wrap: break-word;
  word-break: break-word;
}

.tls-heroa .tls-heroa-title,
.tls-heroa .tls-heroa-title .elementor-heading-title {
  font-family: var(--tls-font);
  font-weight: 900;
  font-size: 70px;
  line-height: 58px;
  letter-spacing: -3.5px;
  text-transform: uppercase;
  color: #000000;
  text-align: left;
}

.tls-heroa .tls-heroa-sub {
  margin-top: 10px !important;
  max-width: 232px !important;
}

.tls-heroa .tls-heroa-sub,
.tls-heroa .tls-heroa-sub p {
  font-family: var(--tls-font);
  font-weight: 800;
  font-size: 16px;
  line-height: 18px;
  letter-spacing: -0.16px;
  text-transform: uppercase;
  color: #000000;
  text-align: left;
}

/* Bouton noir « j'en profite » */

.tls-heroa .tls-heroa-btn {
  margin-top: auto !important;
}

.tls-heroa .tls-heroa-btn .elementor-button {
  display: inline-flex;
  align-items: center;
  justify-content: flex-start;
  height: 50px;
  padding: 0 10px 0 20px;
  border: none;
  border-radius: 5px;
  box-shadow: none;
  background: #000000;
  transition: background-color .25s ease;
}

.tls-heroa .tls-heroa-btn .elementor-button-content-wrapper {
  display: inline-flex;
  flex-direction: row;
  align-items: center;
  gap: 7px !important;
}

.tls-heroa .tls-heroa-btn .elementor-button-text {
  font-family: var(--tls-font);
  font-weight: 800;
  font-size: 16px;
  line-height: 19px;
  letter-spacing: 0;
  text-transform: uppercase;
  color: #FFFFFF;
  white-space: nowrap;
}

.tls-push .tls-push-btn .elementor-button-icon,
.tls-heroa .tls-heroa-btn .elementor-button-icon {
  display: inline-flex;
  align-items: center;
  order: 15;
  margin: 0;
}

.tls-heroa .tls-heroa-btn .elementor-button-icon svg,
.tls-heroa .tls-heroa-btn .elementor-button-icon img {
  width: 20px;
  height: 20px;
  transition: transform .25s ease;
}

/* Le carrousel */

.tls-heroa.tls-pc {
  --tls-pc-cols: 3;
  --tls-pc-w: 320px;
  --tls-pc-gap: 44px;
  --tls-pc-ratio: 320/400;
}

.tls-heroa .tls-heroa-grid .ce-product-grid {
  max-width: calc(var(--tls-pc-cols) * var(--tls-pc-w) + (var(--tls-pc-cols) - 1) * var(--tls-pc-gap));
}

.tls-cats .tls-cats-grid>.elementor-widget-container,
.tls-best .tls-best-grid>.elementor-widget-container,
.tls-needs .tls-needs-grid>.elementor-widget-container,
.tls-estab .tls-estab-grid>.elementor-widget-container,
.tls-news .tls-news-grid>.elementor-widget-container,
.tls-heroa .tls-heroa-grid>.elementor-widget-container {
  width: 100% !important;
  overflow: visible;
}

.tls-heroa .tls-mini .tls-mini-cat,
.tls-heroa .tls-mini .tls-mini-cat *:not(:has(*)) {
  font-weight: 800;
  font-size: 12px;
  line-height: 15px;
  letter-spacing: 0;
  color: var(--tls-blue) !important;
}

/* Responsive */

@media (max-width:1200px) {

  .tls-heroa .tls-heroa-title,
  .tls-heroa .tls-heroa-title .elementor-heading-title {
    font-size: 56px;
    line-height: 48px;
    letter-spacing: -2.8px;
  }
}

@media (max-width:900px) {
  .tls-heroa {
    padding: 30px 15px 0;
  }

  .tls-heroa.tls-pc {
    --tls-pc-w: 300px;
    --tls-pc-gap: 16px;
  }

  .tls-heroa>.elementor-container>.elementor-row {
    flex-direction: column;
    align-items: stretch;
    gap: 28px;
  }

  .tls-heroa .tls-heroa-promo,
  .tls-heroa .tls-heroa-slider {
    flex: 0 0 auto;
    width: 100% !important;
    max-width: none;
    min-width: 0;
    padding-top: 0;
  }

  .tls-heroa .tls-heroa-promo>.elementor-widget-wrap,
  .tls-heroa .tls-heroa-promo>.elementor-column-wrap>.elementor-widget-wrap {
    min-height: 0;
  }

  .tls-heroa .tls-heroa-btn {
    margin-top: 24px !important;
  }

  .tls-heroa .tls-heroa-title,
  .tls-heroa .tls-heroa-title .elementor-heading-title {
    font-size: 44px;
    line-height: 38px;
    letter-spacing: -2.2px;
  }
}

@media (max-width:767px) {
  .tls-heroa.tls-pc {
    --tls-pc-w: 62vw;
  }

  .tls-heroa.tls-pc [data-elementor-type="product-miniature"] {
    flex: 0 0 var(--tls-pc-w);
    width: var(--tls-pc-w) !important;
    max-width: var(--tls-pc-w);
  }

  .tls-heroa .tls-heroa-promo>.elementor-widget-wrap,
  .tls-heroa .tls-heroa-promo>.elementor-column-wrap>.elementor-widget-wrap {
    align-items: center;
  }

  .tls-heroa .tls-heroa-title,
  .tls-heroa .tls-heroa-sub {
    max-width: 100% !important;
  }

  .tls-heroa .tls-heroa-kicker,
  .tls-heroa .tls-heroa-kicker .elementor-heading-title,
  .tls-heroa .tls-heroa-title,
  .tls-heroa .tls-heroa-title .elementor-heading-title,
  .tls-heroa .tls-heroa-sub,
  .tls-heroa .tls-heroa-sub p {
    text-align: center !important;
  }
}


/* ──────────────────────────────────────────────────────────────────────────
   14 · CONSEILS & ACTUALITÉS
   ────────────────────────────────────────────────────────────────────────── */

.tls-news {
  padding: 200px 20px 0;
}

.tls-news .tls-news-h1>.elementor-widget-wrap,
.tls-news .tls-news-h1>.elementor-column-wrap>.elementor-widget-wrap,
.tls-news .tls-news-h2>.elementor-widget-wrap,
.tls-news .tls-news-h2>.elementor-column-wrap>.elementor-widget-wrap {
  display: block;
  width: 100%;
}

/* En-tête */

.tls-news .tls-news-head {
  width: 100% !important;
  margin-bottom: 32px;
}

.tls-news-head>.elementor-container>.elementor-row {
  display: flex;
  flex-direction: row;
  flex-wrap: nowrap;
  align-items: flex-end;
  justify-content: space-between;
  gap: 32px;
  width: 100% !important;
}

.tls-news .tls-news-h1,
.tls-news .tls-news-h2 {
  width: auto !important;
  flex: 0 1 auto;
}

.tls-news .tls-news-title,
.tls-news .tls-news-title .elementor-heading-title {
  font-family: var(--tls-font);
  font-weight: 800;
  font-size: 36px;
  line-height: 30px;
  letter-spacing: -0.36px;
  text-transform: uppercase;
  color: #000000;
  text-align: left;
}

.tls-news .tls-news-sub,
.tls-news .tls-news-sub .elementor-heading-title {
  font-family: var(--tls-font);
  font-weight: 500;
  font-size: 16px;
  line-height: 18px;
  letter-spacing: -0.16px;
  text-transform: uppercase;
  color: #000000;
  text-align: left;
}

.tls-news .tls-news-all .elementor-button-wrapper {
  display: flex !important;
  justify-content: flex-end !important;
}

.tls-news .tls-news-all .elementor-button {
  display: inline-flex;
  align-items: center;
  height: 16px;
  padding: 0;
  background: transparent;
  border: none;
  border-radius: 5px;
  box-shadow: none;
}

.tls-news .tls-news-all .elementor-button-content-wrapper {
  display: inline-flex;
  align-items: center;
  gap: 7px;
}

.tls-news .tls-news-all .elementor-button-text {
  font-family: var(--tls-font);
  font-weight: 800;
  font-size: 14px;
  line-height: 16px;
  letter-spacing: 0;
  text-transform: uppercase;
  color: #000000;
  white-space: nowrap;
}

.tls-news .tls-news-all .elementor-button-icon {
  display: inline-flex !important;
  align-items: center !important;
  order: 15 !important;
}

/* Enveloppes du module */

.tls-news .tls-news-grid .amazzingblog,
.tls-news .tls-news-grid .ab.block {
  display: block;
  width: 100% !important;
  max-width: none;
  margin: 0;
  padding: 0;
  background: transparent;
  border: none;
}

/* LA PISTE */

.tls-news .tls-news-grid .post-list {
  display: flex;
  flex-direction: row;
  flex-wrap: wrap;
  align-items: stretch;
  justify-content: flex-start;
  width: 100% !important;
  max-width: 100%;
  gap: 20px;
  margin: 0;
  padding: 0;
  list-style: none;
  grid-template-columns: none;
  grid-template-rows: none;
}

.tls-news .tls-news-grid .ab-item {
  flex: 0 0 calc((100% - 40px) / 3);
  width: auto !important;
  max-width: none;
  min-width: 0;
  margin: 0;
  padding: 0;
  display: block;
  list-style: none;
}

.tls-news .tls-news-grid .ab-item:nth-child(n

  /**/
  +4) {
  display: none !important;
}

/* UNE CARTE */

.tls-news .tls-news-grid .post-item {
  position: relative;
  width: 100% !important;
  aspect-ratio: 496/538;
  margin: 0;
  padding: 30px;
  overflow: hidden;
  display: flex;
  flex-direction: column;
  flex-wrap: nowrap;
  align-items: flex-start;
  justify-content: flex-end;
  gap: 0;
  border: none;
  border-radius: 20px;
  box-shadow: none;
  background: #CEE1EF;
}

.tls-news .tls-news-grid .post-item-cover {
  position: absolute;
  inset: 0;
  width: 100% !important;
  height: 100% !important;
  margin: 0;
  padding: 0;
  display: block;
  line-height: 0;
  border-radius: 20px;
  overflow: hidden;
  z-index: 1;
}

.tls-news .tls-news-grid .post-item-cover img {
  width: 100% !important;
  height: 100% !important;
  object-fit: cover;
  object-position: center;
  border-radius: 20px;
  transition: transform .5s ease;
}

/* Bloc d'intro */

.tls-news .tls-news-grid .post-item-content {
  position: static;
  order: 1;
  width: auto;
  min-height: 0;
  height: 0;
  margin: 0;
  padding: 0;
  font-size: 0;
  line-height: 0;
  overflow: visible;
}

/* Étiquettes → pastilles blanches, en haut à gauche */

.tls-news .tls-news-grid .post-tags {
  position: absolute;
  top: 30px;
  left: 30px;
  right: auto !important;
  bottom: auto !important;
  display: flex;
  flex-direction: row;
  flex-wrap: wrap;
  align-items: center;
  gap: 5px;
  width: auto;
  max-width: calc(100% - 60px);
  margin: 0;
  padding: 0;
  list-style: none;
  background: transparent;
  z-index: 3;
}

.tls-news .tls-news-grid .post-tags a,
.tls-news .tls-news-grid .ab-tag {
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  height: 31px !important;
  margin: 0 !important;
  padding: 6px 9px !important;
  border-radius: 5px !important;
  background: #FFFFFF !important;
  color: #000000 !important;
  font-family: var(--tls-font) !important;
  font-weight: 900 !important;
  font-size: 14px !important;
  line-height: 19px !important;
  letter-spacing: -0.28px !important;
  text-transform: uppercase !important;
  white-space: nowrap !important;
}

/* Titre de l'article */

.tls-news .tls-news-grid .post-item-title {
  order: 2;
  position: relative;
  z-index: 2;
  width: auto;
  max-width: 258px;
  margin: 0px;
  padding: 0;
  font-family: var(--tls-font);
  font-weight: 700;
  font-size: 22px;
  line-height: 22px;
  letter-spacing: 0;
  text-transform: uppercase;
  color: #000000;
  text-align: left;
  display: -webkit-box;
  -webkit-line-clamp: 3;
  line-clamp: 3;
  -webkit-box-orient: vertical;
  overflow: hidden;
}

.tls-news .tls-news-grid .post-item-title a,
.tls-news .tls-news-grid .post-item-title a.overflow-ellipsis {
  display: inline;
  font: inherit;
  color: inherit;
  letter-spacing: inherit;
  text-transform: inherit;
  white-space: normal;
  overflow: visible;
  text-overflow: clip;
}

.tls-news .tls-news-grid .post-item-title a::after {
  content: "";
  position: absolute;
  inset: 0;
  z-index: 4;
}

/* Pied de carte → « Lire l'article » */

.tls-news .tls-news-grid .post-item-footer {
  order: 3;
  position: relative;
  z-index: 2;
  display: inline-flex;
  align-items: center;
  gap: 7px;
  width: auto;
  height: 16px;
  margin: 0;
  padding: 0;
  background: transparent;
  border: none;
  font-family: var(--tls-font);
  font-weight: 800;
  font-size: 14px;
  line-height: 16px;
  letter-spacing: 0;
  text-transform: uppercase;
  color: #FFF;
}

.tls-news .tls-news-grid .post-item [class*="read"],
.tls-news .tls-news-grid .post-item [class*="more"] {
  order: 3 !important;
  position: relative !important;
  z-index: 2 !important;
  display: inline-flex !important;
  align-items: center !important;
  gap: 7px !important;
  height: 16px !important;
  margin: 0 !important;
  padding: 0 !important;
  font-family: var(--tls-font) !important;
  font-weight: 800 !important;
  font-size: 14px !important;
  line-height: 16px !important;
  text-transform: uppercase !important;
  color: #000000 !important;
}

.tls-news .tls-news-grid .post-item:not(:has([class*="read"])):not(:has([class*="more"])) .post-item-footer::before {
  content: "Lire l'article";
}

.tls-news .tls-news-grid .post-item-footer::after,
.tls-news .tls-news-grid .post-item [class*="read"]::after,
.tls-news .tls-news-grid .post-item [class*="more"]::after {
  content: "";
  display: inline-block;
  width: 8px;
  height: 8px;
  flex: 0 0 8px;
  border-top: 2px solid currentColor;
  border-right: 2px solid currentColor;
  transform: rotate(45deg);
  transition: transform .2s ease;
}

/* Ce que la maquette ne montre pas */

.tls-news .tls-news-grid .post-item-date,
.tls-news .tls-news-grid time,
.tls-news .tls-news-grid [class*="author"],
.tls-news .tls-news-grid [class*="comment"],
.tls-news .tls-news-grid [class*="views"],
.tls-news .tls-news-grid .ab-pagination,
.tls-news .tls-news-grid .block-footer {
  display: none !important;
}

/* Responsive */

@media (max-width:1200px) {
  .tls-news {
    padding: 120px 20px 50px;
  }
}

@media (max-width:900px) {
  .tls-news .tls-news-grid .ab-item {
    flex: 1 1 100%;
  }

  .tls-news .tls-news-grid .post-item {
    aspect-ratio: 496/420;
  }
}

@media (max-width:767px) {
  .tls-news {
    padding: 70px 15px 40px;
  }

  .tls-news-head>.elementor-container>.elementor-row {
    flex-direction: column;
    align-items: center;
    gap: 16px;
  }

  .tls-news .tls-news-all .elementor-button-wrapper {
    justify-content: center !important;
  }

  .tls-news .tls-news-title,
  .tls-news .tls-news-title .elementor-heading-title {
    font-size: 26px;
    line-height: 24px;
  }

  .tls-news .tls-news-grid .post-item-title {
    font-size: 19px;
    line-height: 20px;
    max-width: none;
  }
}


/* ──────────────────────────────────────────────────────────────────────────
   15 · NEWSLETTER
   ────────────────────────────────────────────────────────────────────────── */

.tls-nlt {
  padding: 132px 20px 135px;
  --tls-nlt-legal: none;
  --tls-nlt-arrow: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='20' height='20' viewBox='0 0 20 20' fill='none'%3E%3Cpath d='M8 5 13 10 8 15' stroke='%23000000' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E");
  --tls-nlt-arrow-on: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='20' height='20' viewBox='0 0 20 20' fill='none'%3E%3Cpath d='M8 5 13 10 8 15' stroke='%23FFFFFF' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E");
}

.tls-nlt .elementor-widget {
  margin: 0;
  width: 100% !important;
  max-width: 100%;
}

.tls-nlt .tls-nlt-wrap>.elementor-widget-wrap,
.tls-nlt .tls-nlt-wrap>.elementor-column-wrap>.elementor-widget-wrap {
  display: flex;
  flex-direction: column;
  flex-wrap: nowrap;
  align-items: center;
  align-content: center;
  justify-content: flex-start;
  gap: 0;
  width: 100% !important;
}

/* Textes */

.tls-nlt .tls-nlt-title {
  max-width: 618px;
}

.tls-nlt .tls-nlt-title,
.tls-nlt .tls-nlt-title .elementor-heading-title {
  font-family: var(--tls-font);
  font-weight: 800;
  font-size: 36px;
  line-height: 36px;
  letter-spacing: -0.36px;
  text-transform: uppercase;
  color: #000000;
  text-align: center;
}

.tls-nlt .tls-nlt-sub {
  margin-top: 12px;
  max-width: 448px;
}

.tls-nlt .tls-nlt-sub,
.tls-nlt .tls-nlt-sub .elementor-heading-title {
  font-family: var(--tls-font);
  font-weight: 500;
  font-size: 16px;
  line-height: 18px;
  letter-spacing: -0.16px;
  text-transform: uppercase;
  color: #000000;
  text-align: center;
}

/* Enveloppes du module rendues transparentes */

.tls-nlt .tls-nlt-form {
  margin-top: 52px;
}

.tls-nlt .tls-nlt-form>.elementor-widget-container {
  display: flex;
  flex-direction: column;
  flex-wrap: nowrap;
  align-items: center;
  align-content: center;
  width: 100%;
  background: transparent;
  border: none;
}

.tls-nlt .tls-nlt-form div,
.tls-nlt .tls-nlt-form section,
.tls-nlt .tls-nlt-form aside,
.tls-nlt .tls-nlt-form article,
.tls-nlt .tls-nlt-form main,
.tls-nlt .tls-nlt-form header,
.tls-nlt .tls-nlt-form footer,
.tls-nlt .tls-nlt-form nav,
.tls-nlt .tls-nlt-form form,
.tls-nlt .tls-nlt-form p,
.tls-nlt .tls-nlt-form ul,
.tls-nlt .tls-nlt-form li,
.tls-nlt .tls-nlt-form fieldset {
  background: transparent;
  background-color: transparent;
  background-image: none;
  border: none;
  border-radius: 0;
  box-shadow: none;
}

.tls-nlt .tls-nlt-form div,
.tls-nlt .tls-nlt-form section,
.tls-nlt .tls-nlt-form aside,
.tls-nlt .tls-nlt-form article,
.tls-nlt .tls-nlt-form main,
.tls-nlt .tls-nlt-form header,
.tls-nlt .tls-nlt-form footer,
.tls-nlt .tls-nlt-form nav,
.tls-nlt .tls-nlt-form form,
.tls-nlt .tls-nlt-form ul,
.tls-nlt .tls-nlt-form li,
.tls-nlt .tls-nlt-form fieldset {
  min-width: 0;
  float: none;
}

.tls-nlt .tls-nlt-form div,
.tls-nlt .tls-nlt-form section,
.tls-nlt .tls-nlt-form aside,
.tls-nlt .tls-nlt-form article,
.tls-nlt .tls-nlt-form main,
.tls-nlt .tls-nlt-form header,
.tls-nlt .tls-nlt-form footer,
.tls-nlt .tls-nlt-form nav,
.tls-nlt .tls-nlt-form ul,
.tls-nlt .tls-nlt-form li,
.tls-nlt .tls-nlt-form fieldset {
  column-gap: 0;
  row-gap: 0;
  width: 100%;
  max-width: 587px;
  margin: 0 auto !important;
  padding: 0;
}

.tls-nlt .bg-body-tertiary,
.tls-nlt .bg-body-secondary,
.tls-nlt .bg-light,
.tls-nlt .bg-white,
.tls-nlt .card,
.tls-nlt .card-body,
.tls-nlt .block_newsletter,
.tls-nlt .newsletter-form,
.tls-nlt .rounded,
.tls-nlt .rounded-3,
.tls-nlt .border {
  background: transparent;
  background-color: transparent;
  background-image: none;
  border: none;
  border-radius: 0;
  box-shadow: none;
  padding: 0;
}

.tls-nlt .p-1,
.tls-nlt .p-2,
.tls-nlt .p-3,
.tls-nlt .p-4,
.tls-nlt .p-5,
.tls-nlt .py-1,
.tls-nlt .py-2,
.tls-nlt .py-3,
.tls-nlt .py-4,
.tls-nlt .py-5,
.tls-nlt .py-lg-1,
.tls-nlt .py-lg-2,
.tls-nlt .py-lg-3,
.tls-nlt .py-lg-4,
.tls-nlt .py-lg-5,
.tls-nlt .pt-3,
.tls-nlt .pt-4,
.tls-nlt .pt-5,
.tls-nlt .pb-3,
.tls-nlt .pb-4,
.tls-nlt .pb-5 {
  padding-top: 0;
  padding-bottom: 0;
}

.tls-nlt .tls-nlt-form section.ps-emailsubscription,
.tls-nlt .tls-nlt-form section.bg-body-tertiary,
.tls-nlt .tls-nlt-form .ps-emailsubscription.bg-body-tertiary,
.tls-nlt .tls-nlt-form section.ps-emailsubscription.bg-body-tertiary.py-3.py-lg-4,
.tls-nlt .tls-nlt-form .block_newsletter.bg-body-tertiary,
.tls-nlt section.ps-emailsubscription,
.tls-nlt .ps-emailsubscription {
  background: transparent;
  background-color: transparent;
  background-image: none;
  border: none;
  border-radius: 0;
  box-shadow: none;
  padding: 0;
  margin: 0;
  width: 100%;
  max-width: 587px;
}

.tls-nlt .tls-nlt-form .mb-2,
.tls-nlt .tls-nlt-form .mb-3,
.tls-nlt .tls-nlt-form .mb-4,
.tls-nlt .tls-nlt-form .row,
.tls-nlt .tls-nlt-form .container {
  margin: 0 auto !important;
  padding: 0;
}

.tls-nlt .tls-nlt-form section:is(#tls, .ps-emailsubscription),
.tls-nlt .tls-nlt-form section:is(#tls, .bg-body-tertiary),
.tls-nlt .tls-nlt-form div:is(#tls, .bg-body-tertiary),
.tls-nlt .tls-nlt-form aside:is(#tls, .block_newsletter),
.tls-nlt .tls-nlt-form div:is(#tls, .container),
.tls-nlt .tls-nlt-form div:is(#tls, .row) {
  background: transparent;
  background-color: transparent;
  background-image: none;
  border: none;
  border-radius: 0;
  box-shadow: none;
  padding: 0;
  margin: 0 auto !important;
  width: 100%;
  max-width: 587px;
}

#emailsubscription_anchor_displayCEWidget,
.ps-emailsubscription,
.bg-body-tertiary {
  --bs-bg-opacity: 0;
  --bs-tertiary-bg-rgb: transparent;
  --bs-tertiary-bg: transparent;
}

.ps-emailsubscription,
.bg-body-tertiary {
  background: none;
}

.tls-nlt .tls-nlt-form .elementor-widget-container div,
.tls-nlt .tls-nlt-form .elementor-widget-container ul,
.tls-nlt .tls-nlt-form .elementor-widget-container li,
.tls-nlt .tls-nlt-form .elementor-widget-container article,
.tls-nlt .tls-nlt-form .elementor-widget-container fieldset {
  display: contents;
  float: none;
  width: auto;
  max-width: none;
  margin: 0 !important;
  padding: 0;
}

.tls-nlt-form,
.tls-nlt-form .elementor-widget-container,
#emailsubscription_anchor_displayCEWidget,
#emailsubscription_anchor_displayCEWidget .container,
#emailsubscription_anchor_displayCEWidget .row {
  background: transparent;
  background-color: transparent;
  box-shadow: none;
}

#emailsubscription_anchor_displayCEWidget,
#emailsubscription_anchor_displayCEWidget * {
  column-gap: 0;
  row-gap: 0;
}

#emailsubscription_anchor_displayCEWidget form,
#emailsubscription_anchor_displayCEWidget .d-flex {
  font-size: 0;
}

#emailsubscription_anchor_displayCEWidget .form-control {
  border-radius: 5px 0 0 5px;
}

#emailsubscription_anchor_displayCEWidget .btn {
  border-radius: 0 5px 5px 0;
}

@media (max-width: 767px) {

  #emailsubscription_anchor_displayCEWidget .form-control,
  #emailsubscription_anchor_displayCEWidget .btn {
    border-radius: 5px;
  }
}

#emailsubscription_anchor_displayCEWidget .btn,
#emailsubscription_anchor_displayCEWidget input[type="submit"] {
  margin-left: -8px;
}

.tls-nlt .tls-nlt-form .elementor-widget-container section,
.tls-nlt .tls-nlt-form>.elementor-widget-container>div {
  display: flex;
  flex-direction: column;
  flex-wrap: nowrap;
  align-items: center;
  align-content: center;
  justify-content: flex-start;
  gap: 0;
  width: 100%;
  max-width: none;
  min-height: 0;
  margin: 0;
  padding: 0;
}

.tls-nlt .tls-nlt-form form>div,
.tls-nlt .tls-nlt-form .d-flex,
.tls-nlt .tls-nlt-form .input-wrapper {
  display: flex;
  flex-direction: row;
  flex-wrap: nowrap;
  align-items: stretch;
  justify-content: center;
  gap: 0;
  width: 100%;
  max-width: 587px;
  margin: 0 auto !important;
  padding: 0;
}

/* Le formulaire EST le groupe 587 × 70 */

.tls-nlt .tls-nlt-form form {
  display: flex;
  flex-direction: row;
  flex-wrap: wrap;
  align-items: flex-start;
  justify-content: center;
  gap: 0;
  width: 100%;
  max-width: 587px;
  margin: 0 !important;
  padding: 0;
}

.tls-nlt .tls-nlt-form input[type="email"],
.tls-nlt .tls-nlt-form input[name="email"] {
  order: 1;
  flex: 0 1 433px;
  width: 433px;
  min-width: 0;
  height: 70px;
  box-sizing: border-box;
  margin: 0;
  padding: 0 20px;
  border: none;
  border-radius: 5px 0 0 5px;
  background: #F7F7F7;
  box-shadow: none;
  outline: none;
  appearance: none;
  font-family: var(--tls-font);
  font-weight: 800;
  font-size: 16px;
  line-height: normal;
  letter-spacing: 0;
  text-transform: uppercase;
  color: #000000;
}

.tls-nlt .tls-nlt-form input[type="email"]::placeholder,
.tls-nlt .tls-nlt-form input[name="email"]::placeholder {
  color: #000000;
  opacity: 1;
  text-transform: uppercase;
}

.tls-nlt .tls-nlt-form input[type="email"]:focus,
.tls-nlt .tls-nlt-form input[name="email"]:focus {
  background: #EFEFEF !important;
  box-shadow: none !important;
  outline: none !important;
}

.tls-nlt .tls-nlt-form input[type="submit"],
.tls-nlt .tls-nlt-form button[type="submit"],
.tls-nlt .tls-nlt-form button[name="submitNewsletter"] {
  display: inline-block;
  order: 2;
  flex: 0 0 154px;
  width: 154px;
  height: 70px;
  box-sizing: border-box;
  margin: 0;
  padding: 0 47px 0 30px;
  border: none;
  border-radius: 0 5px 5px 0;
  background-color: #E0E0E0;
  background-image: var(--tls-nlt-arrow);
  background-repeat: no-repeat;
  background-position: right 20px center;
  background-size: 20px 20px;
  box-shadow: none;
  appearance: none;
  font-family: var(--tls-font);
  font-weight: 800;
  font-size: 16px;
  line-height: normal;
  letter-spacing: 0;
  text-align: left;
  text-transform: uppercase;
  white-space: nowrap;
  color: #000000;
  cursor: pointer;
  transition: background-color .2s ease, color .2s ease;
}

.tls-nlt .tls-nlt-form input[type="submit"]:hover,
.tls-nlt .tls-nlt-form button[type="submit"]:hover {
  background-color: #111111 !important;
  background-image: var(--tls-nlt-arrow-on) !important;
  color: #FFFFFF !important;
}

.tls-nlt .tls-nlt-form .input-wrapper>input[type="submit"],
.tls-nlt .tls-nlt-form input.hidden-lg-up,
.tls-nlt .tls-nlt-form button.hidden-lg-up {
  display: none !important;
}

.tls-nlt .tls-nlt-form input.hidden-md-down,
.tls-nlt .tls-nlt-form button.hidden-md-down {
  display: inline-block !important;
}

/* Mention légale, consentement RGPD, messages */

.tls-nlt .tls-nlt-form form p {
  display: var(--tls-nlt-legal);
  order: 4;
  flex: 0 0 100%;
  width: 100%;
  margin: 20px 0 0;
  padding: 0;
  font-family: var(--tls-font);
  font-weight: 500;
  font-size: 13px;
  line-height: 18px;
  letter-spacing: -0.13px;
  text-transform: none;
  text-align: center;
  color: #888888;
}

.tls-nlt .tls-nlt-form form p a {
  color: #888888 !important;
  text-decoration: underline !important;
}

.tls-nlt .tls-nlt-form .elementor-widget-container div[class*="gdpr"] {
  display: flex !important;
  order: 3 !important;
  flex: 0 0 100% !important;
  flex-wrap: nowrap !important;
  align-items: flex-start !important;
  justify-content: center !important;
  gap: 8px !important;
  width: 100% !important;
  margin-top: 16px !important;
  text-align: left !important;
}

.tls-nlt .tls-nlt-form input[type="checkbox"] {
  flex: 0 0 16px !important;
  width: 16px !important;
  height: 16px !important;
  margin: 1px 0 0 !important;
  accent-color: #111111;
  cursor: pointer !important;
}

.tls-nlt .tls-nlt-form label,
.tls-nlt .tls-nlt-form span {
  font-family: var(--tls-font) !important;
  font-weight: 500 !important;
  font-size: 13px !important;
  line-height: 18px !important;
  text-transform: none !important;
  color: #888888 !important;
}

.tls-nlt .tls-nlt-form .alert,
.tls-nlt .tls-nlt-form form p.alert {
  display: block !important;
  order: 5 !important;
  flex: 0 0 100% !important;
  width: 100% !important;
  margin: 16px 0 0 !important;
  padding: 12px 16px !important;
  border: none !important;
  border-radius: 5px !important;
  font-family: var(--tls-font) !important;
  font-weight: 800 !important;
  font-size: 14px !important;
  line-height: 18px !important;
  letter-spacing: 0 !important;
  text-transform: uppercase !important;
  text-align: center !important;
}

.tls-nlt .tls-nlt-form .alert-success,
.tls-nlt .tls-nlt-form form p.alert-success {
  background: #EBF3D8 !important;
  color: #4A6B00 !important;
}

.tls-nlt .tls-nlt-form .alert-danger,
.tls-nlt .tls-nlt-form form p.alert-danger {
  background: #FCE9EA !important;
  color: #DF2334 !important;
}

/* Adaptatif */

@media (max-width:1199px) {
  .tls-nlt {
    padding: 100px 20px 100px;
  }
}

@media (max-width:767px) {
  .tls-nlt {
    padding: 70px 20px 70px;
  }

  .tls-nlt .tls-nlt-title,
  .tls-nlt .tls-nlt-title .elementor-heading-title {
    font-size: 28px;
    line-height: 28px;
    letter-spacing: -0.28px;
  }

  .tls-nlt .tls-nlt-form {
    margin-top: 32px;
  }

  .tls-nlt .tls-nlt-form form {
    max-width: 433px;
  }

  .tls-nlt .tls-nlt-form input[type="email"],
  .tls-nlt .tls-nlt-form input[name="email"] {
    flex: 0 0 100%;
    width: 100%;
    border-radius: 5px;
  }

  .tls-nlt .tls-nlt-form input[type="submit"],
  .tls-nlt .tls-nlt-form button[type="submit"] {
    flex: 0 0 100%;
    width: 100%;
    margin-top: 10px;
    border-radius: 5px;
    text-align: center;
    padding: 0 47px;
  }
}


/* ──────────────────────────────────────────────────────────────────────────
   16 · PRODUIT · FIL D'ARIANE
   ────────────────────────────────────────────────────────────────────────── */

.breadcrumb__wrapper,
.tls-bc {
  --tls-bc-arrow: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='5' height='10' viewBox='0 0 5 10' fill='none'%3E%3Cpath d='M.8 1 4 5 .8 9' stroke='%237F7F7F' stroke-width='1.4' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E");
  --tls-bc-arrow-on: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='5' height='10' viewBox='0 0 5 10' fill='none'%3E%3Cpath d='M.8 1 4 5 .8 9' stroke='%23000000' stroke-width='1.4' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E");
}

/* l'enveloppe */

.breadcrumb__wrapper {
  width: 100%;
  margin: 0;
  padding: 20px 20px 0;
  border: none;
  background: transparent;
  box-sizing: border-box;
}

.breadcrumb__wrapper .container {
  width: 100%;
  max-width: 1528px;
  margin: 0 auto;
  padding: 0;
}

/* la ligne */

.breadcrumb__wrapper .breadcrumb,
.tls-bc .tls-bc-w ol,
.tls-bc .tls-bc-w ul {
  display: flex;
  flex-direction: row;
  flex-wrap: wrap;
  align-items: center;
  justify-content: flex-start;
  gap: 0;
  width: 100%;
  min-height: 18px;
  margin: 0;
  padding: 0;
  border: none;
  border-radius: 0;
  background: transparent;
  list-style: none;
}

/* une étape */

.breadcrumb__wrapper .breadcrumb-item,
.tls-bc .tls-bc-w li {
  display: inline-flex;
  flex-direction: row;
  flex-wrap: nowrap;
  align-items: center;
  margin: 0;
  padding: 0;
  border: none;
  background: transparent;
  list-style: none;
}

.breadcrumb__wrapper .breadcrumb-item,
.breadcrumb__wrapper .breadcrumb-link,
.breadcrumb__wrapper .breadcrumb-item span,
.tls-bc .tls-bc-w li a,
.tls-bc .tls-bc-w li span {
  font-family: var(--tls-font);
  font-weight: 500;
  font-size: 13px;
  line-height: 15px;
  letter-spacing: 0;
  text-transform: uppercase;
  color: #7F7F7F;
  text-decoration: none;
  transition: color .2s ease;
}

.breadcrumb__wrapper .breadcrumb-link {
  display: inline-block;
  margin: 0;
  padding: 0;
}

/* la page courante */

.breadcrumb__wrapper .breadcrumb-item:last-child,
.breadcrumb__wrapper .breadcrumb-item:last-child span,
.tls-bc .tls-bc-w li:last-child a,
.tls-bc .tls-bc-w li:last-child span {
  font-weight: 700;
  color: #000000;
}

/* le séparateur */

.breadcrumb__wrapper .breadcrumb-item+.breadcrumb-item {
  padding-left: 8px;
}

.breadcrumb__wrapper .breadcrumb-item+.breadcrumb-item:before {
  content: "";
  display: block;
  flex: 0 0 5px;
  width: 5px;
  height: 10px;
  margin: 0 8px 0 0;
  padding: 0;
  float: none;
  background-image: var(--tls-bc-arrow);
  background-repeat: no-repeat;
  background-position: center center;
  background-size: 5px 10px;
  color: transparent;
  font-size: 0;
  line-height: 0;
}

.breadcrumb__wrapper .breadcrumb-item:last-child:before {
  background-image: var(--tls-bc-arrow-on);
}

.tls-bc {
  padding: 20px 20px 0 !important;
}

.tls-bc .tls-bc-w nav {
  width: 100% !important;
  margin: 0 !important;
  padding: 0 !important;
  background: transparent !important;
}

.tls-bc .tls-bc-w li:after {
  content: "" !important;
  display: block !important;
  flex: 0 0 5px !important;
  width: 5px !important;
  height: 10px !important;
  margin: 0 8px !important;
  background-image: var(--tls-bc-arrow) !important;
  background-repeat: no-repeat !important;
  background-position: center center !important;
  background-size: 5px 10px !important;
}

.tls-bc .tls-bc-w li:before {
  content: none !important;
  display: none !important;
}

/* responsive */

@media (max-width:767px) {

  .breadcrumb__wrapper,
  .tls-bc {
    padding: 12px 20px 0 !important;
  }

  .breadcrumb__wrapper .breadcrumb,
  .tls-bc .tls-bc-w ol,
  .tls-bc .tls-bc-w ul {
    flex-wrap: nowrap;
    overflow-x: auto;
    overflow-y: hidden;
    scroll-behavior: smooth;
    scrollbar-width: none;
    -ms-overflow-style: none;
  }

  .breadcrumb__wrapper .breadcrumb::-webkit-scrollbar,
  .tls-bc .tls-bc-w ol::-webkit-scrollbar,
  .tls-bc .tls-bc-w ul::-webkit-scrollbar {
    display: none;
    width: 0;
    height: 0;
  }

  .breadcrumb__wrapper .breadcrumb-item,
  .tls-bc .tls-bc-w li {
    flex: 0 0 auto;
    white-space: nowrap;
  }

  .breadcrumb__wrapper .container,
  .tls-bc .tls-bc-w {
    position: relative;
  }

  .breadcrumb__wrapper .container:after,
  .tls-bc .tls-bc-w:after {
    content: "";
    position: absolute;
    right: 0;
    top: 0;
    width: 32px;
    height: 100%;
    background-image: linear-gradient(to right, rgba(255, 255, 255, 0), #FFFFFF);
    pointer-events: none;
    z-index: 2;
  }

  .breadcrumb__wrapper .breadcrumb-item,
  .breadcrumb__wrapper .breadcrumb-link,
  .breadcrumb__wrapper .breadcrumb-item span,
  .tls-bc .tls-bc-w li a,
  .tls-bc .tls-bc-w li span {
    font-size: 12px;
    line-height: 14px;
  }

  .breadcrumb__wrapper .breadcrumb-item+.breadcrumb-item {
    padding-left: 6px;
  }

  .breadcrumb__wrapper .breadcrumb-item+.breadcrumb-item:before,
  .tls-bc .tls-bc-w li:after {
    margin: 0 6px 0 0 !important;
  }
}


/* ──────────────────────────────────────────────────────────────────────────
   17 · PRODUIT · SOCLE (COLONNES, GALERIE, ÉTOILES, RÉASSURANCE)
   ────────────────────────────────────────────────────────────────────────── */

/* 17.1 · FICHE PRODUIT · 2 colonnes 760 + 60 + 708 */

.tls-fp>.elementor-container>.elementor-row {
  display: flex;
  flex-direction: row;
  flex-wrap: nowrap;
  align-items: flex-start;
  justify-content: flex-start;
  gap: 60px;
  width: 100% !important;
}

.tls-prod .tls-fp-left {
  flex: 1 1 760px;
  width: auto !important;
  max-width: 760px;
  min-width: 0;
}

.tls-fp-left>.elementor-widget-wrap,
.tls-fp-left>.elementor-column-wrap>.elementor-widget-wrap {
  display: flex;
  flex-direction: column;
  flex-wrap: nowrap;
  align-items: stretch;
  align-content: stretch;
  gap: 95px;
  width: 100% !important;
}

.tls-fp-right>.elementor-widget-wrap,
.tls-fp-right>.elementor-column-wrap>.elementor-widget-wrap {
  align-content: stretch;
}

.tls-gal>.elementor-container>.elementor-row {
  display: flex;
  flex-direction: column;
  flex-wrap: nowrap;
  gap: 0;
  width: 100% !important;
}

.tls-prod .product-images .elementor-thumbnails-swiper .swiper-slide {
  width: 120px !important;
  margin-right: 16px !important;
}

/* BLOC 5 · DESCRIPTION (760, écart 14) */

/* BLOC 3 · PANNEAU ACHAT (708, écart 30) */

.tls-prod .tls-stars {
  width: auto !important;
  flex: 0 0 auto !important;
  font-size: 0 !important;
  line-height: 0 !important;
}

.tls-prod .tls-stars .elementor-icon-list-items,
.tls-prod .tls-stars ul {
  display: flex !important;
  flex-direction: row !important;
  flex-wrap: nowrap !important;
  align-items: center !important;
  gap: 1px !important;
  width: auto !important;
  margin: 0 !important;
  padding: 0 !important;
}

.tls-prod .tls-stars .elementor-icon-list-item,
.tls-prod .tls-stars li {
  display: block !important;
  width: 13px !important;
  height: 13px !important;
  margin: 0 !important;
  padding: 0 !important;
  background-image: var(--tls-star-on) !important;
  background-repeat: no-repeat !important;
  background-position: center center !important;
  background-size: 11px 11px !important;
  font-size: 0 !important;
  line-height: 0 !important;
  color: transparent !important;
  overflow: hidden !important;
}

.tls-prod .tls-stars .grade-stars {
  display: flex !important;
  flex-direction: row !important;
  align-items: center !important;
  gap: 1px !important;
}

.tls-prod .tls-stars .star {
  display: block !important;
  width: 13px !important;
  height: 13px !important;
  background-image: var(--tls-star-on) !important;
  background-repeat: no-repeat !important;
  background-position: center center !important;
  background-size: 11px 11px !important;
  font-size: 0 !important;
  color: transparent !important;
}

/* accroche (widget product-description-short) */

/* déclinaisons (widget product-variants) */

/* personnalisation (widget product-customization) */

/* BLOC 3b · PRIX + PANIER (bloc crème 708 × 93 r12) */

/* BLOC 3c · RÉASSURANCE (ligne 18, écart 24) */

.tls-prod .tls-trust-w .elementor-icon-list-item:before {
  content: "";
  background-repeat: no-repeat;
  background-position: center center;
  background-size: 18px 18px;
}

.tls-prod .tls-trust-w .elementor-icon-list-item:nth-child(1):before {
  font-size: 18px;
  line-height: 1;
  display: inline-block;
}

.tls-prod .tls-trust-w .elementor-icon-list-item:nth-child(2):before {
  font-size: 18px;
  line-height: 1;
  display: inline-block;
}

.tls-prod .tls-trust-w .elementor-icon-list-item:nth-child(3):before {
  font-size: 18px;
  line-height: 1;
  display: inline-block;
}

/* BLOC 4 · CARACTÉRISTIQUES (708 r12 #FAFAFA) */

.tls-rel>.elementor-container>.elementor-row {
  display: flex;
  flex-direction: column;
  flex-wrap: nowrap;
  align-items: stretch;
  gap: 0;
  width: 100% !important;
}

/* BLOC 6 · PRODUITS ASSOCIÉS (1528 × 440) */

/* responsive */

@media (max-width:1500px) {
  .tls-fp>.elementor-container>.elementor-row {
    flex-wrap: wrap;
    gap: 40px;
  }

  .tls-prod .tls-fp-left {
    flex: 1 1 100%;
    width: 100%;
    max-width: 100%;
  }
}

@media (max-width:900px) {}

@media (max-width:600px) {
  .tls-prod .product-images .elementor-thumbnails-swiper .swiper-slide {
    width: 88px !important;
    height: 88px;
    margin-right: 10px !important;
  }

  .tls-prod .product-images .elementor-thumbnails-swiper .elementor-carousel-image {
    width: 88px;
    height: 88px;
  }
}


/* ──────────────────────────────────────────────────────────────────────────
   18 · CATÉGORIE · BLOCS 1 À 7
   ────────────────────────────────────────────────────────────────────────── */

.tls-cat {
  --tls-cat-chip: #CCCCCC;
  --tls-cat-pill: #EFEFEF;
  --tls-cat-pill-on: #111111;
  --tls-cat-mute: #737373;
  --tls-cat-count: #666666;
  --tls-cat-arrow: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='10' height='6' viewBox='0 0 10 6' fill='none'%3E%3Cpath d='M1 1 5 5 9 1' stroke='%23000000' stroke-width='1.6' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E");
  --tls-cat-next: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='9' height='16' viewBox='0 0 9 16' fill='none'%3E%3Cpath d='M1.5 1.5 7 8l-5.5 6.5' stroke='%23111111' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E");
  --tls-cat-plus: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16' viewBox='0 0 16 16' fill='none'%3E%3Cpath d='M8 1v14M1 8h14' stroke='%23000000' stroke-width='1.5' stroke-linecap='round'/%3E%3C/svg%3E");
}

/* 18.1 · CHAPEAU  (1528 × 176, r20, #FFF3E5) */

.tls-cat.tls-intro>.elementor-container>.elementor-row {
  display: flex;
  flex-direction: row;
  flex-wrap: nowrap;
  align-items: flex-start;
  justify-content: flex-start;
  gap: 20px;
  width: 100% !important;
  padding: 30px 40px;
  border-radius: 20px;
  background: #FFF3E5;
}

.tls-cat .tls-intro-t {
  margin: 30px 0;
}

.tls-cat .tls-intro-t,
.tls-cat .tls-intro-t .elementor-heading-title,
.tls-cat .tls-intro-t h1,
.tls-cat .tls-intro-t h2,
.tls-cat .tls-intro-t h3,
.tls-cat .tls-intro-t span,
.tls-cat .tls-intro-t a {
  font-family: var(--tls-font);
  font-weight: 700;
  font-size: 60px !important;
  line-height: 58px !important;
  letter-spacing: -1.2px;
  text-transform: uppercase;
  color: #000000;
  text-decoration: none;
}

.tls-cat .tls-intro-x {
  flex: 0 1 586px;
  width: 586px !important;
  max-width: 586px;
}

.tls-cat .tls-intro-x,
.tls-cat .tls-intro-x p,
.tls-cat .tls-intro-x div,
.tls-cat .tls-intro-x span,
.tls-cat .tls-intro-x li {
  font-family: var(--tls-roboto);
  font-weight: 400;
  font-size: 16px;
  line-height: 21px;
  letter-spacing: 0;
  text-transform: none;
  color: #000000;
}

.tls-cat .tls-intro-x .ce-category-description,
.tls-cat .tls-intro-x .rte-content,
.tls-cat .tls-intro-x div {
  display: block !important;
  margin: 0;
  padding: 0 !important;
  border: none;
  background: transparent;
}

.tls-cat .tls-intro-x .js-description-full,
.tls-cat .tls-intro-x .description-full {
  display: block !important;
  height: auto !important;
  max-height: none !important;
  overflow: visible !important;
}

.tls-cat .tls-intro-x .js-see-more,
.tls-cat .tls-intro-x .see-more {
  display: none !important;
}

.tls-cat .tls-cat-desc>.elementor-widget-container {
  position: relative;
  max-height: 126px;
  overflow: hidden;
}

.tls-cat .tls-cat-desc h1,
.tls-cat .tls-cat-desc h2,
.tls-cat .tls-cat-desc h3 {
  margin: 24px 0 8px;
  font-family: var(--tls-font);
  font-weight: 700;
  font-size: 20px;
  line-height: 24px;
  letter-spacing: -0.2px;
  text-transform: uppercase;
  color: #000000;
}

.tls-cat .tls-cat-desc p {
  margin: 0 0 12px;
}

.tls-news .tls-news-sub,
.tls-cat .tls-intro-more {
  margin-top: 12px !important;
}

.tls-cat .tls-intro-more .elementor-button {
  display: inline-flex !important;
  align-items: center !important;
  gap: 8px !important;
  height: 38px !important;
  padding: 0 16px !important;
  background: #111111 !important;
  border: none !important;
  border-radius: 5px !important;
  box-shadow: none !important;
  font-family: var(--tls-font) !important;
  font-weight: 700 !important;
  font-size: 14px !important;
  line-height: 16px !important;
  letter-spacing: -0.14px !important;
  text-transform: uppercase !important;
  color: #FFFFFF !important;
  transition: opacity .2s ease !important;
}

.tls-cat.tls-intro:target .tls-cat-desc>.elementor-widget-container {
  max-height: none !important;
}

.tls-cat.tls-intro:target .tls-intro-more {
  display: none !important;
}

.tls-cat.tls-subcat>.elementor-container>.elementor-row {
  display: flex;
  flex-direction: row;
  flex-wrap: nowrap;
  align-items: center;
  gap: 0;
  width: 100% !important;
}

.tls-cat .tls-subcat-w {
  position: relative;
  width: 100% !important;
  min-width: 0;
}

.tls-cat .tls-subcat-w .elementor-icon-list-items,
.tls-cat .tls-subcat-w ul,
.tls-cat .tls-subcat-w ol {
  display: flex;
  flex-direction: row;
  flex-wrap: nowrap;
  align-items: center;
  gap: 10px;
  width: 100% !important;
  min-height: 38px;
  margin: 0;
  padding: 0;
  list-style: none;
  overflow-x: auto;
  overflow-y: hidden;
  scrollbar-width: none;
  -ms-overflow-style: none;
  scroll-behavior: smooth;
  scroll-snap-type: x proximity;
}

.tls-cat .tls-subcat-w .elementor-icon-list-items::-webkit-scrollbar,
.tls-cat .tls-subcat-w ul::-webkit-scrollbar {
  display: none;
  width: 0;
  height: 0;
}

.tls-cat .tls-subcat-w .elementor-icon-list-item,
.tls-cat .tls-subcat-w li {
  flex: 0 0 auto;
  width: auto;
  margin: 0;
  padding: 0;
  list-style: none;
  scroll-snap-align: start;
}

.tls-cat .tls-subcat-w .elementor-icon-list-item>a,
.tls-cat .tls-subcat-w li>a,
.tls-cat .tls-subcat-w li>span {
  display: inline-flex;
  flex-direction: row;
  flex-wrap: nowrap;
  align-items: center;
  gap: 13px;
  height: 38px;
  padding: 0 10px;
  border: none;
  border-radius: 5px;
  background: var(--tls-cat-pill);
  text-decoration: none;
  white-space: nowrap;
  transition: background .2s ease, color .2s ease;
}

.tls-cat .tls-subcat-w .elementor-icon-list-text,
.tls-cat .tls-subcat-w li>a,
.tls-cat .tls-subcat-w li>span {
  font-family: var(--tls-font);
  font-weight: 700;
  font-size: 14px;
  line-height: 18px;
  letter-spacing: -0.16px;
  text-transform: uppercase;
  color: #000000;
}

.tls-cat .tls-subcat-w .elementor-icon-list-count,
.tls-cat .tls-subcat-w .magnitude,
.tls-cat .tls-subcat-w .count,
.tls-cat .tls-subcat-w small {
  display: inline !important;
  height: auto !important;
  padding: 0 !important;
  border: none !important;
  border-radius: 0 !important;
  background: transparent !important;
  font-family: var(--tls-font) !important;
  font-weight: 600 !important;
  font-size: 13px !important;
  line-height: 15px !important;
  letter-spacing: 0.13px !important;
  text-transform: uppercase !important;
  color: var(--tls-cat-count) !important;
}

.tls-cat .tls-subcat-w .elementor-icon-list-icon {
  display: none !important;
}

.tls-cat .tls-subcat-w .elementor-icon-list-item>a:hover,
.tls-cat .tls-subcat-w li>a:hover,
.tls-cat .tls-subcat-w li>span:hover,
.tls-cat .tls-subcat-w .elementor-item-active>a,
.tls-cat .tls-subcat-w .elementor-icon-list-item-active>a,
.tls-cat .tls-subcat-w .current>a,
.tls-cat .tls-subcat-w .active>a,
.tls-cat .tls-subcat-w .selected>a {
  background: var(--tls-cat-pill-on) !important;
  color: #FFFFFF !important;
}

.tls-cat .tls-subcat-w .elementor-icon-list-item>a:hover .elementor-icon-list-count,
.tls-cat .tls-subcat-w li>a:hover .count,
.tls-cat .tls-subcat-w li>a:hover .magnitude,
.tls-cat .tls-subcat-w li>a:hover small {
  color: rgba(255, 255, 255, .65) !important;
}

.tls-cat .tls-subcat-w .elementor-icon-list-item>a:hover .elementor-icon-list-text,
.tls-cat .tls-subcat-w li>a:hover .elementor-icon-list-text,
.tls-cat .tls-subcat-w .elementor-item-active .elementor-icon-list-text,
.tls-cat .tls-subcat-w .current .elementor-icon-list-text {
  color: #FFFFFF !important;
}

.tls-cat .tls-subcat-w .elementor-item-active .elementor-icon-list-count,
.tls-cat .tls-subcat-w .current .elementor-icon-list-count {
  color: rgba(255, 255, 255, .65) !important;
}

.tls-cat .tls-subcat-w:after {
  content: "";
  position: absolute;
  right: 20px;
  top: 0;
  width: 60px;
  height: 38px;
  background-image: linear-gradient(to right, rgba(255, 255, 255, 0), #FFFFFF);
  pointer-events: none;
  z-index: 2;
}

.tls-cat .tls-subcat-w .elementor-icon-list-items::scroll-button(right) {
  content: "";
  position: absolute;
  right: 0;
  top: 0;
  width: 20px;
  height: 38px;
  padding: 0;
  margin: 0;
  border: none;
  background-color: #FFFFFF;
  background-image: var(--tls-cat-next);
  background-repeat: no-repeat;
  background-position: center center;
  background-size: 9px 16px;
  font-size: 0;
  line-height: 0;
  color: transparent;
  cursor: pointer;
  z-index: 3;
}

.tls-heroa .tls-heroa-grid .ce-product-grid::scroll-button(left):disabled,
.tls-heroa .tls-heroa-grid .ce-product-grid::scroll-button(right):disabled,
.tls-estab .tls-estab-grid>.elementor-widget-container>*::scroll-button(left):disabled,
.tls-estab .tls-estab-grid>.elementor-widget-container>*::scroll-button(right):disabled,
.tls-best .tls-best-grid>.elementor-widget-container>*::scroll-button(left):disabled,
.tls-best .tls-best-grid>.elementor-widget-container>*::scroll-button(right):disabled,
.tls-cats .tls-cats-grid>.elementor-widget-container>*::scroll-button(left):disabled,
.tls-cats .tls-cats-grid>.elementor-widget-container>*::scroll-button(right):disabled,
.tls-cat .tls-subcat-w .elementor-icon-list-items::scroll-button(right):disabled {
  opacity: 0 !important;
  pointer-events: none;
}

.tls-cat .tls-subcat-next {
  position: absolute !important;
  right: 0 !important;
  top: 0 !important;
  display: flex !important;
  flex-direction: row !important;
  align-items: center !important;
  justify-content: center !important;
  width: 20px !important;
  height: 38px !important;
  border: none !important;
  background-color: #FFFFFF !important;
  background-image: var(--tls-cat-next) !important;
  background-repeat: no-repeat !important;
  background-position: center center !important;
  background-size: 9px 16px !important;
  font-size: 0 !important;
  line-height: 0 !important;
  color: transparent !important;
  cursor: pointer !important;
  z-index: 3 !important;
}

/* 18.3 · FILTRES + TRI  (bloc 292 → 370, retrait 20) */

.tls-cat.tls-filters>.elementor-container>.elementor-row {
  display: flex;
  flex-direction: row;
  flex-wrap: wrap;
  align-items: center;
  justify-content: space-between;
  gap: 10px;
  width: 100% !important;
  padding: 20px 0;
}

.tls-cat.tls-filters .elementor-column {
  width: auto !important;
  flex: 0 1 auto;
  min-width: 0;
}

.tls-cat .tls-chips {
  flex: 1 1 auto;
}

.tls-cat .tls-chips>.elementor-column-wrap>.elementor-widget-wrap,
.tls-cat .tls-chips>.elementor-widget-wrap {
  display: flex;
  flex-direction: row;
  flex-wrap: wrap;
  align-items: center;
  gap: 10px;
  width: auto;
}

.tls-cat .tls-chips .elementor-widget {
  width: auto;
  flex: 0 0 auto;
}

.tls-cat .tls-chips .elementor-widget-container {
  width: auto;
}

.tls-cat .tls-chips-w #search_filters_wrapper,
.tls-cat .tls-chips-w #search_filters,
.tls-cat .tls-chips-w .ce-facets {
  display: flex !important;
  flex-direction: row !important;
  flex-wrap: wrap !important;
  align-items: center !important;
  gap: 10px !important;
  width: auto !important;
  margin: 0 !important;
  padding: 0 !important;
  border: none !important;
  border-radius: 0 !important;
  background: transparent !important;
  box-shadow: none !important;
}

.tls-cat .tls-chips-w .h6 {
  margin: 0 !important;
  padding: 0 !important;
}

.tls-cat .tls-chips-w .facet,
.tls-cat .tls-chips-w .ce-facet,
.tls-cat .tls-chip {
  position: relative !important;
  display: inline-flex !important;
  flex-direction: row !important;
  flex-wrap: nowrap !important;
  align-items: center !important;
  gap: 12px !important;
  flex: 0 0 auto !important;
  width: auto !important;
  height: 38px !important;
  margin: 0 !important;
  padding: 0 13px 0 14px !important;
  border: 1px solid var(--tls-cat-chip) !important;
  border-radius: 5px !important;
  background: #FFFFFF !important;
  box-shadow: none !important;
  font-family: var(--tls-font) !important;
  font-weight: 600 !important;
  font-size: 13px !important;
  line-height: 15px !important;
  letter-spacing: 0 !important;
  text-transform: uppercase !important;
  color: #000000 !important;
  white-space: nowrap !important;
  cursor: pointer !important;
}

.tls-cat .tls-chips-w .facet:hover,
.tls-cat .tls-chips-w .ce-facet:hover,
.tls-cat .tls-chip:hover {
  border-color: #000000 !important;
}

.tls-cat .tls-chips-w .facet>.facet-title {
  display: block !important;
  margin: 0 !important;
  padding: 0 !important;
  font: inherit !important;
  color: inherit !important;
  letter-spacing: inherit !important;
  text-transform: inherit !important;
}

.tls-cat .tls-chips-w .facet>.title {
  display: none !important;
}

.tls-cat .tls-chips-w .facet:after,
.tls-cat .tls-chip:after {
  content: "" !important;
  display: block !important;
  flex: 0 0 10px !important;
  width: 10px !important;
  height: 6px !important;
  background-image: var(--tls-cat-arrow) !important;
  background-repeat: no-repeat !important;
  background-position: center center !important;
  background-size: 10px 6px !important;
}

.tls-cat .tls-chips-w .facet>ul,
.tls-cat .tls-chips-w .ce-facet>ul {
  position: absolute !important;
  left: 0 !important;
  top: 44px !important;
  z-index: 9 !important;
  display: none !important;
  flex-direction: column !important;
  align-items: stretch !important;
  gap: 2px !important;
  width: max-content !important;
  min-width: 100% !important;
  max-height: 320px !important;
  margin: 0 !important;
  padding: 10px !important;
  border: 1px solid var(--tls-line) !important;
  border-radius: 8px !important;
  background: #FFFFFF !important;
  box-shadow: 0 8px 24px rgba(0, 0, 0, .10) !important;
  overflow-y: auto !important;
  list-style: none;
}

.tls-cat .tls-chips-w .facet:hover>ul,
.tls-cat .tls-chips-w .facet:focus-within>ul,
.tls-cat .tls-chips-w .ce-facet:hover>ul {
  display: flex !important;
}

.tls-cat .tls-chips-w .facet>ul>li {
  flex: 0 0 auto !important;
  width: 100% !important;
  margin: 0 !important;
  padding: 0 !important;
  list-style: none;
}

.tls-cat .tls-chips-w .facet-label {
  display: flex !important;
  flex-direction: row !important;
  align-items: center !important;
  gap: 8px !important;
  width: 100% !important;
  margin: 0 !important;
  padding: 6px 4px !important;
  border-radius: 4px !important;
  font-family: var(--tls-font) !important;
  font-weight: 600 !important;
  font-size: 13px !important;
  line-height: 15px !important;
  letter-spacing: 0 !important;
  text-transform: none !important;
  color: #000000 !important;
  cursor: pointer !important;
}

.tls-cat .tls-chips-w .facet-label:hover {
  background: #F5F5F5 !important;
}

.tls-cat .tls-chips-w .facet-label a {
  display: inline-flex !important;
  flex-direction: row !important;
  align-items: center !important;
  gap: 6px !important;
  color: inherit !important;
  text-decoration: none !important;
}

.tls-cat .tls-chips-w .magnitude {
  font-weight: 500 !important;
  color: var(--tls-cat-count) !important;
}

.tls-cat .tls-chips-w .custom-checkbox {
  display: inline-flex !important;
  flex: 0 0 14px !important;
  align-items: center !important;
  justify-content: center !important;
  width: 14px !important;
  height: 14px !important;
}

.tls-cat .tls-chips-w .custom-checkbox input {
  width: 14px !important;
  height: 14px !important;
  margin: 0 !important;
  accent-color: #000000;
}

.tls-cat .tls-chips-w .ce-active-filters,
.tls-cat .tls-chips-w .active-filters {
  display: flex !important;
  flex-direction: row !important;
  flex-wrap: wrap !important;
  align-items: center !important;
  gap: 10px !important;
  margin: 0 !important;
  padding: 0 !important;
}

/* Filtres · barre de chips (widget CE listing-filters) */

@media (min-width:1025px) {
  .tls-cat.tls-filters>.elementor-container>.elementor-row {
    flex-wrap: nowrap;
    justify-content: flex-start;
    gap: 20px;
  }

  .tls-cat.tls-filters .tls-chips {
    flex: 1 1 auto;
    min-width: 0;
  }

  .tls-cat.tls-filters .tls-sort {
    flex: 0 0 auto;
  }

  .tls-cat.tls-filters .tls-sort-w:nth-last-child(2) {
    margin-left: auto;
  }

  .tls-cat .tls-chips>.elementor-column-wrap>.elementor-widget-wrap,
  .tls-cat .tls-chips>.elementor-widget-wrap {
    display: flex;
    align-items: center;
    justify-content: flex-start;
    width: 100%;
  }

  .tls-cat .tls-chips-w .elementor-widget,
  .tls-cat .tls-chips-w .elementor-widget-container {
    width: 100%;
    flex: 1 1 auto;
  }

  .tls-header .tls-nav-menu .elementor-menu-toggle,
  .tls-header .tls-nav-menu nav.elementor-nav--dropdown,
  .tls-cat .tls-chips-w .ce-filters__toggle,
  .tls-cat .tls-chips-w .dialog-lightbox-close-button {
    display: none;
  }

  .tls-cat .tls-chips-w .ce-filters__container {
    display: block;
    position: static;
    inset: auto;
    width: auto;
    max-width: none;
    height: auto;
    max-height: none;
    margin: 0;
    padding: 0;
    border: 0;
    border-radius: 0;
    background: transparent;
    box-shadow: none;
    overflow: visible;
  }

  .tls-cat .tls-chips-w .ce-filters {
    display: flex;
    flex-flow: row nowrap;
    align-items: center;
    gap: 10px;
    margin: 0;
    padding: 0;
    overflow: visible;
  }

  .tls-cat .tls-chips-w .elementor-field-group {
    position: relative;
    width: auto;
    margin: 0;
    padding: 0 !important;
    border: 0;
  }

  .tls-cat .tls-chips-w .ce-filters__tab {
    display: inline-flex;
    align-items: center;
    gap: 12px;
    height: 38px;
    margin: 0;
    padding: 0 12px 0 13px;
    border: 1px solid #E0E0E0;
    border-radius: 5px;
    background: #FFFFFF;
    font-family: var(--tls-font);
    font-weight: 600;
    font-size: 13px;
    line-height: 15px;
    letter-spacing: 0;
    text-transform: uppercase;
    color: #000000;
    white-space: nowrap;
    cursor: pointer;
    transition: border-color .2s ease;
  }

  .tls-cat .tls-chips-w .elementor-field-group:hover .ce-filters__tab {
    border-color: #000000;
  }

  .tls-cat .tls-chips-w .ce-filters__title {
    margin: 0;
    padding: 0;
    font: inherit;
    color: inherit;
    letter-spacing: inherit;
    text-transform: inherit;
  }

  .tls-cat .tls-chips-w .ce-filters__tab .ce-filters__tab-icon {
    display: flex;
    flex: 0 0 10px;
    align-items: center;
    justify-content: center;
    width: 10px;
    height: 6px;
    margin: 0;
    padding: 0;
    transform: none;
  }

  .tls-cat .tls-chips-w .ce-filters__tab .ce-filters__tab-icon i {
    display: block;
    font-size: 9px;
    line-height: 1;
    color: #000000;
    transform: rotate(90deg);
  }

  .tls-cat .tls-chips-w .elementor-select-wrapper:before,
  .tls-cat .tls-chips-w .elementor-select-wrapper:after {
    content: none;
    display: none;
  }

  .tls-cat .tls-chips-w .elementor-field-type-dropdown .elementor-field-subgroup {
    position: absolute;
    inset: 0;
    width: auto;
    margin: 0;
    padding: 0;
    border: 0;
    background: none;
    overflow: hidden;
  }

  .tls-cat .tls-chips-w .elementor-field-type-dropdown .elementor-select-wrapper {
    width: 100%;
    height: 100%;
    margin: 0;
    padding: 0;
  }

  .tls-cat .tls-chips-w .elementor-field-type-dropdown select {
    width: 100%;
    height: 100%;
    min-height: 0;
    margin: 0;
    padding: 0;
    border: 0;
    background: none;
    opacity: 0;
    cursor: pointer;
  }

  .tls-cat .tls-chips-w .elementor-field-type-slider .elementor-field-subgroup {
    position: absolute;
    top: 44px;
    left: 0;
    z-index: 30;
    display: none;
    width: 250px;
    margin: 0;
    padding: 16px;
    border: 1px solid #E0E0E0;
    border-radius: 5px;
    background: #FFFFFF;
    box-shadow: 0 8px 24px rgba(0, 0, 0, .12);
  }

  .tls-cat .tls-chips-w .elementor-field-type-slider:hover .elementor-field-subgroup,
  .tls-cat .tls-chips-w .elementor-field-type-slider:focus-within .elementor-field-subgroup {
    display: block;
  }

  .tls-cat .tls-chips-w .elementor-field-type-slider .elementor-field-label {
    display: block;
    margin: 12px 0 0;
    font-family: var(--tls-font);
    font-weight: 700;
    font-size: 13px;
    line-height: 13px;
    text-transform: uppercase;
    color: #111111;
  }

  .tls-cat .tls-sort-w .ce-listing-info {
    margin: 0;
    font-family: var(--tls-font);
    font-weight: 700;
    font-size: 10px;
    line-height: 11px;
    letter-spacing: -0.1px;
    text-transform: uppercase;
    color: #666666;
    white-space: nowrap;
  }
}

.tls-cat .tls-sort>.elementor-column-wrap>.elementor-widget-wrap,
.tls-cat .tls-sort>.elementor-widget-wrap {
  display: flex;
  flex-direction: row;
  flex-wrap: nowrap;
  align-items: center;
  justify-content: flex-end;
  gap: 18px;
  width: auto !important;
  min-height: 18px;
}

.tls-cat .tls-sort .elementor-widget {
  width: auto !important;
  flex: 0 0 auto;
}

.tls-cat .tls-sort .elementor-widget-container {
  width: auto !important;
}

.tls-cat .tls-sort-count,
.tls-cat .tls-sort-count .elementor-heading-title,
.tls-cat .tls-sort-count p {
  font-family: var(--tls-font) !important;
  font-weight: 600 !important;
  font-size: 13px !important;
  line-height: 15px !important;
  letter-spacing: 0 !important;
  text-transform: uppercase !important;
  color: var(--tls-cat-mute) !important;
  white-space: nowrap !important;
}

.tls-cat .tls-tri .ce-sort-order,
.tls-cat .tls-sort-w .products-sort-order {
  display: flex;
  flex-direction: row;
  flex-wrap: nowrap;
  align-items: center;
  gap: 9px !important;
  width: auto !important;
  margin: 0;
  padding: 0;
  border: none;
  background: transparent;
}

.tls-cat .tls-tri .elementor-field-label,
.tls-cat .tls-sort-w .products-sort-order>span {
  margin: 0;
  padding: 0;
  font-family: var(--tls-font);
  font-weight: 600;
  font-size: 13px;
  line-height: 15px;
  letter-spacing: 0;
  text-transform: uppercase;
  color: var(--tls-cat-mute);
  white-space: nowrap;
  cursor: pointer;
}

.tls-cat .tls-tri .elementor-select-wrapper {
  position: relative;
  display: inline-flex;
  flex-direction: row;
  align-items: center;
  width: auto;
  margin: 0;
  padding: 0;
  border: none;
  background: transparent;
}

.tls-cat .tls-tri select,
.tls-cat .tls-sort-w select {
  width: auto;
  field-sizing: content;
  height: 18px;
  min-height: 0;
  margin: 0;
  padding: 0 18px 0 0;
  border: none;
  border-radius: 0;
  background: transparent;
  box-shadow: none;
  appearance: none;
  -webkit-appearance: none;
  font-family: var(--tls-font);
  font-weight: 700;
  font-size: 13px;
  line-height: 15px;
  letter-spacing: 0;
  text-transform: uppercase;
  color: #000000;
  white-space: nowrap;
  cursor: pointer;
}

.tls-cat .tls-tri select:focus {
  outline: none;
}

.tls-cat .tls-tri .elementor-select-wrapper:after {
  content: "";
  position: absolute;
  right: 0;
  top: 50%;
  display: block;
  width: 10px;
  height: 6px;
  margin-top: -3px;
  background-image: var(--tls-cat-arrow);
  background-repeat: no-repeat;
  background-position: center center;
  background-size: 10px 6px;
  pointer-events: none;
}

.tls-cat .tls-sort-w .products-sort-order .current {
  display: inline-flex !important;
  flex-direction: row !important;
  align-items: center !important;
  gap: 12px !important;
  border: none !important;
  background: transparent !important;
  font-family: var(--tls-font) !important;
  font-weight: 700 !important;
  font-size: 13px !important;
  line-height: 15px !important;
  text-transform: uppercase !important;
  color: #000000 !important;
  cursor: pointer !important;
}

.tls-cat .tls-sort-w .products-sort-order .current:after {
  content: "" !important;
  display: block !important;
  width: 10px !important;
  height: 6px !important;
  background-image: var(--tls-cat-arrow) !important;
  background-repeat: no-repeat !important;
  background-position: center center !important;
  background-size: 10px 6px !important;
}

/* 18.4 · GRILLE  (4 × 366, écart 20, rangées 60) */

.tls-cat .tls-cat-products,
.tls-cat .tls-cat-products .elementor-widget-container,
.tls-cat #js-product-list {
  width: 100% !important;
  margin: 0;
  padding: 0;
}

.tls-cat .ce-product-grid,
.tls-cat .ce-products,
.tls-cat.tls-cat-grid .elementor-grid {
  display: grid;
  grid-template-columns: repeat(4, 1fr) !important;
  gap: 60px 20px;
  width: 100% !important;
  max-width: none;
  margin: 0;
  padding: 0;
  overflow: visible;
  list-style: none;
  aspect-ratio: auto;
}

.tls-cat .ce-product-grid>.elementor,
.tls-cat .ce-product-grid>div,
.tls-cat .ce-product-grid>article,
.tls-cat .ce-product-grid>li {
  flex: none;
  width: 100% !important;
  max-width: none;
  min-width: 0;
  margin: 0;
  padding: 0;
  float: none;
  position: relative;
  background: transparent;
  border: none;
  box-shadow: none;
}

.tls-cat .ce-product-grid .elementor-section-wrap {
  display: block;
  width: 100% !important;
  max-width: none;
  height: auto !important;
  margin: 0;
  padding: 0;
  background: transparent;
  border: none;
}

.tls-cat .tls-mini,
.tls-cat .tls-mini>.elementor-container,
.tls-cat .tls-mini>.elementor-container>.elementor-row,
.tls-cat .tls-mini-col,
.tls-cat .tls-mini-col>.elementor-column-wrap {
  display: block;
  width: 100% !important;
  max-width: none;
  min-height: 0;
  margin: 0;
  padding: 0 !important;
  background: transparent;
  border: none;
  box-shadow: none;
}

.tls-cat .tls-mini-col>.elementor-widget-wrap,
.tls-cat .tls-mini-col>.elementor-column-wrap>.elementor-widget-wrap {
  position: relative;
  display: flex;
  flex-direction: column;
  flex-wrap: nowrap;
  align-items: stretch;
  gap: 0;
  width: 100% !important;
  margin: 0;
  padding: 0;
}

.tls-cat .tls-mini .elementor-widget {
  width: 100% !important;
  max-width: 100% !important;
  padding: 0;
}

.tls-cat .tls-mini .elementor-widget-container {
  width: 100% !important;
  margin: 0;
  padding: 0;
  background: transparent;
  border: none;
}

.tls-cat .tls-mini a {
  color: inherit !important;
  text-decoration: none !important;
}

/* le visuel */

.tls-cat .tls-mini .tls-mini-pic {
  position: relative;
  order: 1;
  width: 100% !important;
}

.tls-cat .tls-mini-pic>.elementor-widget-container {
  position: relative;
  display: block;
  width: 100% !important;
  height: auto !important;
  aspect-ratio: 366/300;
  margin: 0;
  padding: 0;
  border-radius: 10px;
  overflow: hidden;
  background: #EDEDED;
  line-height: 0;
}

.tls-cat .tls-mini-pic>.elementor-widget-container>div,
.tls-cat .tls-mini-pic>.elementor-widget-container>a,
.tls-cat .tls-mini-pic>.elementor-widget-container>figure,
.tls-cat .tls-mini-pic>.elementor-widget-container>picture,
.tls-cat .tls-mini-pic .ce-product-image,
.tls-cat .tls-mini-pic .elementor-image,
.tls-cat .tls-mini-pic figure,
.tls-cat .tls-mini-pic picture,
.tls-cat .tls-mini-pic .ce-product-image>a {
  display: block;
  position: relative;
  width: 100% !important;
  height: 100% !important;
  max-width: none;
  margin: 0;
  padding: 0;
  border: none;
  border-radius: 0;
  background: transparent;
  line-height: 0;
  text-align: left;
  overflow: hidden;
}

.tls-cat .tls-mini-pic img {
  display: block;
  width: 100% !important;
  height: 100% !important;
  max-width: none;
  min-width: 0;
  margin: 0;
  padding: 0;
  border: none;
  object-fit: cover;
  object-position: center center;
  border-radius: 10px;
  transition: transform .45s ease;
}

.tls-cat .tls-mini-pic .ce-product-image-second,
.tls-cat .tls-mini-pic .ce-product-image__hover {
  position: absolute !important;
  left: 0 !important;
  top: 0 !important;
  opacity: 0 !important;
  transition: opacity .3s ease !important;
}

.tls-cat .tls-mini:hover .tls-mini-pic .ce-product-image-second {
  opacity: 1 !important;
}

/* la pastille */

.tls-cat .tls-mini .tls-mini-badges {
  position: absolute;
  left: 14px;
  top: 14px;
  right: auto;
  bottom: auto;
  order: 2;
  z-index: 3;
  width: auto !important;
  max-width: calc(100% - 28px) !important;
}

.tls-cat .tls-mini-badges .elementor-widget-container,
.tls-cat .tls-mini-badges .ce-product-badges {
  display: flex;
  flex-direction: row;
  flex-wrap: wrap;
  align-items: center;
  gap: 5px !important;
  width: auto !important;
  margin: 0;
  padding: 0;
  list-style: none;
  background: transparent;
  border: none;
}

.tls-cat .tls-mini-badges .ce-product-badge {
  display: inline-flex !important;
  flex-direction: row !important;
  align-items: center !important;
  justify-content: center !important;
  width: auto !important;
  height: 24px !important;
  margin: 0 !important;
  padding: 0 10px !important;
  border: none !important;
  border-radius: 5px !important;
  background: #000000 !important;
  box-shadow: none !important;
  font-family: var(--tls-font) !important;
  font-weight: 700 !important;
  font-size: 11px !important;
  line-height: 12px !important;
  letter-spacing: 0 !important;
  text-transform: uppercase !important;
  color: #FFFFFF !important;
  white-space: nowrap !important;
}

.tls-cat .tls-mini-badges .ce-product-badges:empty {
  display: none !important;
}

/* le nom */

.tls-cat .tls-mini .tls-mini-title {
  order: 3;
  margin-top: 12px !important;
}

.tls-cat .tls-mini-title,
.tls-cat .tls-mini-title .ce-product-name,
.tls-cat .tls-mini-title .elementor-heading-title,
.tls-cat .tls-mini-title h2,
.tls-cat .tls-mini-title h3,
.tls-cat .tls-mini-title a {
  font-family: var(--tls-font);
  font-weight: 600;
  font-size: 17px !important;
  line-height: 18px !important;
  letter-spacing: -0.17px;
  text-transform: none;
  color: #000000;
  text-decoration: none;
}

.tls-cat .tls-mini-title .ce-product-name {
  display: -webkit-box;
  -webkit-line-clamp: 2;
  line-clamp: 2;
  -webkit-box-orient: vertical;
  margin: 0;
  padding: 0;
  overflow: hidden;
}

/* la ligne de caractéristiques */

.tls-cat .tls-mini .tls-mini-cat,
.tls-cat .tls-mini .tls-mini-spec {
  order: 4;
  margin-top: 8px !important;
}

.tls-cat .tls-mini-cat .ce-product-meta {
  display: block;
  width: 100% !important;
  margin: 0 !important;
  padding: 0;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}

.tls-cat .tls-mini-cat .ce-product-meta__detail {
  display: inline;
  margin: 0;
  padding: 0 !important;
}

.tls-cat .tls-mini-cat,
.tls-cat .tls-mini-cat .ce-product-meta__value,
.tls-cat .tls-mini-cat a,
.tls-cat .tls-mini-spec,
.tls-cat .tls-mini-spec p,
.tls-cat .tls-mini-spec span,
.tls-cat .tls-mini-spec a {
  font-family: var(--tls-font);
  font-weight: 600;
  font-size: 13px;
  line-height: 15px;
  letter-spacing: 0.13px;
  text-transform: uppercase;
  color: var(--tls-cat-mute) !important;
  text-decoration: none !important;
}

/* le prix */

.tls-cat .tls-mini .tls-mini-price {
  order: 5;
  margin-top: 16px !important;
}

.tls-cat .tls-mini-price .ce-product-prices {
  display: flex;
  flex-direction: row;
  flex-wrap: wrap;
  align-items: baseline;
  justify-content: flex-start;
  gap: 7px !important;
  width: auto;
  margin: 0;
  padding: 0;
  background: transparent;
}

.tls-cat .tls-mini-price,
.tls-cat .tls-mini-price .ce-product-price,
.tls-cat .tls-mini-price .ce-product-price span {
  font-family: var(--tls-font);
  font-weight: 700;
  font-size: 16px;
  line-height: 18px;
  letter-spacing: -0.16px;
  text-transform: uppercase;
  color: #000000;
}

.tls-cat .tls-mini-price .ce-product-price {
  display: inline-flex;
  flex-direction: row;
  align-items: baseline;
  gap: 6px !important;
  margin: 0;
  padding: 0;
}

.tls-cat .tls-mini-price .ce-product-price-regular {
  font-weight: 500 !important;
  font-size: 13px !important;
  line-height: 15px !important;
  letter-spacing: 0 !important;
  color: var(--tls-mute) !important;
  text-decoration: line-through !important;
}

.tls-cat .tls-mini-price .ce-product-badge-sale-percentage,
.tls-cat .tls-mini-price .ce-tax-shipping-delivery-label {
  display: none !important;
}

.tls-cat .tls-mini .screen-reader-text {
  position: absolute;
  width: 1px;
  height: 1px;
  margin: -1px;
  padding: 0;
  border: 0;
  overflow: hidden;
  white-space: nowrap;
  clip-path: inset(50%);
}

.tls-cat .tls-mini .ce-product-add-to-cart,
.tls-cat .tls-mini .ce-product-variants,
.tls-cat .tls-mini .ce-quick-view {
  display: none !important;
}

/* 18.5 · AFFICHER PLUS  (retrait 80, bouton 334 × 38 r8) */

.tls-cat.tls-more>.elementor-container>.elementor-row {
  display: flex;
  flex-direction: column;
  flex-wrap: nowrap;
  align-items: center;
  justify-content: center;
  gap: 0;
  width: 100% !important;
  padding: 80px 0;
}

.tls-cat .tls-more-btn>.elementor-column-wrap>.elementor-widget-wrap,
.tls-cat .tls-more-btn>.elementor-widget-wrap {
  display: flex;
  flex-direction: row;
  flex-wrap: wrap;
  align-items: center;
  justify-content: center;
  width: 100% !important;
}

.tls-cat .tls-pagination .elementor-widget-container,
.tls-cat .ce-pagination {
  display: flex;
  flex-direction: row;
  flex-wrap: wrap;
  align-items: center;
  justify-content: center;
  gap: 10px;
  width: 100% !important;
  margin: 0;
  padding: 0;
}

.tls-cat .ce-load-more,
.tls-cat .tls-more-btn .elementor-button,
.tls-cat .ce-pagination a {
  display: inline-flex;
  flex-direction: row !important;
  flex-wrap: nowrap;
  align-items: center;
  justify-content: center;
  gap: 10px !important;
  min-width: 334px;
  height: 38px;
  margin: 0;
  padding: 0 13px 0 14px;
  border: 1px solid var(--tls-cat-chip);
  border-radius: 8px;
  background: #FFFFFF;
  box-shadow: none;
  appearance: none;
  font-family: var(--tls-font);
  font-weight: 700;
  font-size: 16px;
  line-height: 18px;
  letter-spacing: -0.16px;
  text-transform: uppercase;
  color: #000000 !important;
  white-space: nowrap;
  text-decoration: none !important;
  cursor: pointer;
  transition: border-color .2s ease;
}

.tls-cat .ce-load-more .elementor-icon-box-content,
.tls-cat .tls-more-btn .elementor-button-content-wrapper {
  display: flex;
  flex-direction: row;
  align-items: center;
  gap: 10px;
  margin: 0;
  padding: 0;
}

.tls-cat .ce-load-more .elementor-icon-box-title,
.tls-cat .ce-load-more .elementor-icon-box-title span {
  margin: 0;
  padding: 0;
  font: inherit;
  color: inherit !important;
  letter-spacing: inherit;
  text-transform: inherit;
}

.tls-cat .ce-load-more .elementor-icon-box-description {
  margin: 0 !important;
  padding: 0 !important;
  font-family: var(--tls-font) !important;
  font-weight: 600 !important;
  font-size: 13px !important;
  line-height: 15px !important;
  letter-spacing: 0 !important;
  text-transform: uppercase !important;
  color: var(--tls-cat-count) !important;
}

.tls-cat .ce-load-more .elementor-icon-box-icon,
.tls-cat .ce-load-more .elementor-icon {
  display: none !important;
}

.tls-cat .ce-load-more:after,
.tls-cat .tls-more-btn .elementor-button:after {
  content: "";
  display: block;
  flex: 0 0 10px;
  width: 10px;
  height: 6px !important;
  background-image: var(--tls-cat-arrow);
  background-repeat: no-repeat;
  background-position: center center;
  background-size: 10px 6px;
}

.tls-cat .ce-pagination--type-numbers .ce-pagination__item {
  min-width: 38px !important;
  padding: 0 12px !important;
}

.tls-cat .ce-pagination--type-numbers .ce-pagination__item:after {
  content: none !important;
  display: none !important;
}

/* 18.6 · QUESTIONS FREQUENTES */

.tls-cat.tls-faq {
  width: 100%;
}

.tls-cat.tls-faq>.elementor-container>.elementor-row {
  display: flex;
  flex-direction: column;
  flex-wrap: nowrap;
  align-items: stretch;
  gap: 0;
  width: 100% !important;
  padding: 20px 0 0;
}

.tls-cat .tls-faq-col>.elementor-column-wrap>.elementor-widget-wrap,
.tls-cat .tls-faq-col>.elementor-widget-wrap {
  display: flex;
  flex-direction: column;
  flex-wrap: nowrap;
  align-items: stretch;
  gap: 30px;
  width: 100% !important;
}

.tls-cat .tls-faq-list,
.tls-cat .tls-faq-list .elementor-widget-container {
  display: flex;
  flex-direction: column;
  flex-wrap: nowrap;
  align-items: stretch;
  gap: 5px;
  width: 100% !important;
}

.tls-cat .tls-faq-list .elementor-accordion {
  display: flex;
  flex-direction: column;
  gap: 5px;
  width: 100% !important;
  margin: 0;
  padding: 0;
  border: none;
}

.tls-cat .tls-faq-list .elementor-accordion-item {
  width: 100% !important;
  min-height: 64px;
  margin: 0;
  border: 1px solid var(--tls-line);
  border-radius: 12px;
  background: #FFFFFF;
  box-sizing: border-box;
  overflow: hidden;
}

.tls-cat .tls-faq-list .elementor-tab-title {
  display: flex;
  flex-direction: row;
  flex-wrap: nowrap;
  align-items: center;
  justify-content: space-between;
  gap: 20px;
  min-height: 62px;
  margin: 0;
  padding: 20px;
  border: none;
  background: transparent;
  box-sizing: border-box;
  font-family: var(--tls-font);
  font-weight: 600;
  font-size: 17px;
  line-height: 18px;
  letter-spacing: -0.17px;
  text-transform: none;
  color: #000000;
  cursor: pointer;
  list-style: none;
}

.tls-cat .tls-faq-list .elementor-accordion-title {
  flex: 1 1 auto;
  margin: 0;
  padding: 0;
  font: inherit;
  color: inherit;
  letter-spacing: inherit;
  text-transform: inherit;
  text-decoration: none;
}

.tls-cat .tls-faq-list .elementor-accordion-icon {
  display: none;
}

.tls-cat .tls-faq-list .elementor-tab-title:after {
  content: "";
  display: block;
  flex: 0 0 16px;
  width: 16px;
  height: 16px;
  background-image: var(--tls-cat-plus);
  background-repeat: no-repeat;
  background-position: center center;
  background-size: 16px 16px;
  transition: transform .2s ease;
}

.tls-cat .tls-faq-list .elementor-tab-title.elementor-active:after {
  transform: rotate(45deg);
}

.tls-cat .tls-faq-list .elementor-tab-content {
  margin: 0;
  padding: 0 20px 20px;
  border: none;
  background: transparent;
}

.tls-cat .tls-faq-list .elementor-tab-content,
.tls-cat .tls-faq-list .elementor-tab-content p,
.tls-cat .tls-faq-list .elementor-tab-content li {
  font-family: var(--tls-roboto);
  font-weight: 400;
  font-size: 16px;
  line-height: 21px;
  letter-spacing: 0;
  text-transform: none;
  color: var(--tls-cat-mute);
}

.tls-cat .tls-faq-list .elementor-tab-content p {
  margin: 0;
  padding: 0;
}

/* 18.7 · VOIR AUSSI  (80 au-dessus, 60 sous le bloc) */

.tls-cat.tls-more,
.tls-cat.tls-cat-grid,
.tls-cat.tls-filters,
.tls-cat.tls-subcat,
.tls-cat.tls-intro,
.tls-cat.tls-mesh {
  width: 100%;
}

.tls-cat.tls-mesh>.elementor-container>.elementor-row {
  display: flex;
  flex-direction: row;
  flex-wrap: wrap;
  align-items: center;
  justify-content: flex-start;
  gap: 30px;
  width: 100% !important;
  padding: 60px 0;
}

.tls-cat.tls-mesh .elementor-column {
  width: auto !important;
  flex: 0 0 auto;
  min-width: 0;
}

.tls-cat .tls-mesh-lbl,
.tls-cat .tls-mesh-lbl .elementor-heading-title,
.tls-cat .tls-mesh-lbl p {
  font-family: var(--tls-font);
  font-weight: 600;
  font-size: 13px;
  line-height: 15px;
  letter-spacing: 0;
  text-transform: uppercase;
  color: #000000;
  white-space: nowrap;
}

.tls-cat .tls-mesh-list .elementor-icon-list-items,
.tls-cat .tls-mesh-list ul {
  display: flex;
  flex-direction: row;
  flex-wrap: wrap;
  align-items: center;
  gap: 10px;
  width: auto;
  margin: 0;
  padding: 0;
  list-style: none;
}

.tls-cat .tls-mesh-list .elementor-icon-list-item,
.tls-cat .tls-mesh-list li {
  flex: 0 0 auto;
  margin: 0;
  padding: 0;
  list-style: none;
}

.tls-cat .tls-mesh-list .elementor-icon-list-item>a,
.tls-cat .tls-mesh-list li>a {
  display: inline-flex;
  flex-direction: row;
  align-items: center;
  height: 38px;
  padding: 0 14px;
  border: 1px solid var(--tls-cat-chip);
  border-radius: 5px;
  background: #FFFFFF;
  font-family: var(--tls-font);
  font-weight: 600;
  font-size: 13px;
  line-height: 15px;
  letter-spacing: 0.13px;
  text-transform: uppercase;
  color: #000000 !important;
  white-space: nowrap;
  text-decoration: none !important;
  transition: border-color .2s ease;
}

.tls-cat .tls-mesh-list .elementor-icon-list-icon {
  display: none !important;
}

.tls-cat .tls-mesh-list .elementor-icon-list-text {
  font: inherit;
  color: inherit;
  letter-spacing: inherit;
  text-transform: inherit;
}

/* responsive */

@media (max-width:1400px) {
  .tls-cat .tls-intro-t {
    flex: 0 0 380px !important;
    width: 380px !important;
    max-width: 380px !important;
  }

  .tls-cat .tls-intro-t,
  .tls-cat .tls-intro-t .elementor-heading-title,
  .tls-cat .tls-intro-t h1,
  .tls-cat .tls-intro-t h2,
  .tls-cat .tls-intro-t h3,
  .tls-cat .tls-intro-t span,
  .tls-cat .tls-intro-t a {
    font-size: 52px !important;
    line-height: 50px !important;
    letter-spacing: -1.04px !important;
  }

  .tls-cat .tls-intro-x {
    flex: 1 1 0 !important;
    width: auto !important;
    max-width: 586px !important;
    min-width: 0 !important;
  }
}

@media (max-width:1200px) {

  .tls-cat .ce-product-grid,
  .tls-cat .ce-products,
  .tls-cat.tls-cat-grid .elementor-grid {
    grid-template-columns: repeat(3, 1fr) !important;
    gap: 45px 20px !important;
  }

  .tls-cat.tls-intro>.elementor-container>.elementor-row {
    flex-wrap: wrap !important;
  }

  .tls-cat .tls-intro-t,
  .tls-cat .tls-intro-x {
    flex: 0 0 100% !important;
    width: 100% !important;
    max-width: 100% !important;
    min-width: 0 !important;
  }

  .tls-cat .tls-intro-t,
  .tls-cat .tls-intro-t .elementor-heading-title,
  .tls-cat .tls-intro-t h1,
  .tls-cat .tls-intro-t h2,
  .tls-cat .tls-intro-t h3,
  .tls-cat .tls-intro-t span,
  .tls-cat .tls-intro-t a {
    font-size: 44px !important;
    line-height: 44px !important;
    letter-spacing: -0.88px !important;
  }
}

@media (max-width:900px) {

  .tls-cat .ce-product-grid,
  .tls-cat .ce-products,
  .tls-cat.tls-cat-grid .elementor-grid {
    grid-template-columns: repeat(2, 1fr) !important;
    gap: 40px 20px !important;
  }

  .tls-cat.tls-filters>.elementor-container>.elementor-row {
    justify-content: flex-start !important;
  }

  .tls-faq .tls-h2,
  .tls-faq .tls-h2 .elementor-heading-title {
    font-size: 32px !important;
    line-height: 32px !important;
    letter-spacing: -0.64px !important;
  }
}

@media (max-width:767px) {

  .tls-cat.tls-cat-grid .tls-cat-products #js-product-list .ce-product-grid,
  .tls-cat.tls-cat-grid .tls-cat-products #js-product-list .ce-products,
  .tls-cat.tls-cat-grid .tls-cat-products #js-product-list .elementor-grid {
    display: grid !important;
    grid-template-columns: 1fr !important;
    grid-auto-flow: row !important;
    gap: 30px !important;
    width: 100% !important;
    max-width: none !important;
  }

  .tls-cat.tls-cat-grid #js-product-list .ce-product-grid>.elementor,
  .tls-cat.tls-cat-grid #js-product-list .ce-product-grid>div,
  .tls-cat.tls-cat-grid #js-product-list .ce-product-grid>article,
  .tls-cat.tls-cat-grid #js-product-list .ce-product-grid>li {
    grid-column: 1 / -1 !important;
    width: 100% !important;
    max-width: none !important;
  }
}

@media (max-width:600px) {

  .tls-cat .tls-intro-t,
  .tls-cat .tls-intro-t .elementor-heading-title,
  .tls-cat .tls-intro-t h1,
  .tls-cat .tls-intro-t h2,
  .tls-cat .tls-intro-t h3,
  .tls-cat .tls-intro-t span,
  .tls-cat .tls-intro-t a {
    font-size: 36px !important;
    line-height: 36px !important;
    letter-spacing: -0.72px !important;
  }

  .tls-cat.tls-intro>.elementor-container>.elementor-row {
    padding: 20px !important;
  }

  .tls-cat.tls-filters>.elementor-container>.elementor-row {
    justify-content: space-between !important;
    gap: 12px !important;
    padding: 16px 0 !important;
  }

  .tls-cat.tls-filters .tls-chips {
    flex: 0 0 100% !important;
    width: 100% !important;
  }

  .tls-cat .tls-chips-w .ce-filters__toggle .elementor-button {
    width: 100% !important;
  }

  .tls-cat .ce-load-more,
  .tls-cat .tls-more-btn .elementor-button {
    min-width: 0 !important;
    width: 100% !important;
  }

  .tls-cat.tls-more>.elementor-container>.elementor-row {
    padding: 40px 0 !important;
  }
}

/* 18.9 · Description SEO complete (bas de page categorie) */

.tls-cat-full-desc {
  width: 100%;
  max-width: 100%;
  min-width: 0;
}

.tls-cat-full-desc>.elementor-container>.elementor-row {
  width: 100%;
  padding: 20px 0 40px;
}

.tls-cat-full-desc .elementor-column,
.tls-cat-full-desc .elementor-column-wrap,
.tls-cat-full-desc .elementor-widget-wrap,
.tls-cat-full-desc .elementor-widget,
.tls-cat-full-desc .elementor-widget-container {
  width: 100%;
  margin: 0;
  padding: 0;
}

.tls-cat-full-desc .elementor-widget-container {
  font-family: var(--tls-font);
  font-weight: 400;
  font-size: 13px;
  line-height: 21px;
  letter-spacing: 0;
  color: var(--tls-grey);
  text-align: justify;
}

.tls-cat-full-desc .elementor-widget-container>* {
  break-inside: avoid-column;
}

.tls-cat-full-desc p {
  margin: 0 0 14px;
  font: inherit;
  color: inherit;
  text-align: inherit;
}

.tls-cat-full-desc strong,
.tls-cat-full-desc b {
  font-weight: 700;
  color: var(--tls-dark);
}

.tls-cat-full-desc h1,
.tls-cat-full-desc h2,
.tls-cat-full-desc h3 {
  column-span: all;
  margin: 26px 0 16px;
  font-family: var(--tls-font);
  font-weight: 700;
  font-size: 20px;
  line-height: 24px;
  letter-spacing: -0.2px;
  text-transform: uppercase;
  color: var(--tls-dark);
  text-align: left;
}

.tls-cat-full-desc h1 {
  margin-top: 0;
}

.tls-cat-full-desc h1 a,
.tls-cat-full-desc h2 a,
.tls-cat-full-desc h3 a {
  color: inherit;
  text-decoration: none;
}

.tls-cat-full-desc a {
  color: var(--tls-dark);
  text-decoration: underline;
  text-underline-offset: 2px;
}

.tls-cat-full-desc a:hover {
  color: var(--tls-orange);
}

.tls-cat-full-desc img {
  display: block;
  width: auto;
  max-width: 100%;
  height: auto;
  margin: 6px 0 14px;
  border-radius: 5px;
}

@media (max-width:1024px) {
  .tls-cat-full-desc .elementor-widget-container {
    column-count: 2;
    column-gap: 30px;
  }
}

@media (max-width:767px) {
  .tls-cat-full-desc .elementor-widget-container {
    column-count: 1;
  }

  .tls-cat-full-desc h1,
  .tls-cat-full-desc h2,
  .tls-cat-full-desc h3 {
    font-size: 18px;
    line-height: 22px;
  }
}


/* ──────────────────────────────────────────────────────────────────────────
   19 · FOOTER
   ────────────────────────────────────────────────────────────────────────── */

/* Base / resets */

.tls-footer {
  background: #F7F7F7;
  padding: 0 20px;
}

.tls-footer>.elementor-container {
  max-width: 1527px !important;
}

.tls-footer .elementor-widget {
  margin: 0 !important;
  width: auto !important;
}

.tls-footer .elementor-inner-section {
  width: auto !important;
}

.tls-footer .elementor-inner-section>.elementor-container {
  max-width: none;
  margin: 0;
}

.tls-footer .elementor-heading-title {
  margin: 0;
  font: inherit;
  color: inherit;
  letter-spacing: inherit;
  text-transform: inherit;
}

/* 19.1 · Marque */

.tls-footer.tls-brand {
  padding-top: 60px;
}

.tls-brand-wrap>.elementor-widget-wrap,
.tls-brand-wrap>.elementor-column-wrap>.elementor-widget-wrap {
  display: flex;
  align-items: center;
  gap: 0;
  flex-wrap: nowrap;
}

.tls-footer .tls-logo img {
  width: 383px;
  height: 78px !important;
  object-fit: contain;
  object-position: left center;
  mix-blend-mode: multiply;
}

.tls-footer .tls-line {
  flex: 1;
}

.tls-footer .tls-line .elementor-divider {
  padding: 0px 20px 0px 20px !important;
}

.tls-footer .tls-line .elementor-divider-separator {
  display: block;
  width: 100% !important;
  border: none !important;
  border-top: 1px solid #CCCCCC !important;
}

.tls-footer .tls-desc {
  flex: 0 0 446px;
  width: 446px;
  margin-right: 40px;
  font-family: var(--tls-futura);
  font-weight: 500;
  font-size: 18px;
  line-height: 23px;
  color: #000000;
}

.tls-footer .tls-desc a {
  color: var(--tls-blue);
  text-decoration: underline;
  text-underline-offset: 2px;
}

.tls-footer .tls-desc strong {
  font-weight: 600;
}

/* 19.2 · Réseaux sociaux */

.tls-footer.tls-social {
  padding-top: 17px;
}

.tls-footer .tls-footer-desc {
  width: 450px !important;
}

.tls-footer.tls-social .elementor-column-wrap {
  justify-content: end;
}

.tls-social-wrap>.elementor-widget-wrap,
.tls-social-wrap>.elementor-column-wrap>.elementor-widget-wrap {
  display: flex;
  justify-content: flex-start;
  align-items: center;
  gap: 20px;
  width: 450px;
}

.tls-footer .tls-social-title {
  font-family: var(--tls-font);
  font-weight: 700;
  font-size: 18px;
  line-height: 21px;
  letter-spacing: -0.18px;
  color: #000000;
  margin-right: 10px;
}

.tls-footer .tls-social-ico img {
  height: 20px !important;
  width: auto !important;
}

.tls-footer .tls-social-in img {
  height: 18px !important;
}

.tls-footer .tls-social-ico a {
  display: block;
  transition: transform .2s ease, opacity .2s ease !important;
}

.tls-footer .tls-social-ico a:hover {
  opacity: .65 !important;
  transform: translateY(-2px) !important;
}

/* 19.3 · Colonnes de liens + carte contact */

.tls-footer.tls-main {
  padding-top: 25px;
}

.tls-main-wrap>.elementor-widget-wrap,
.tls-main-wrap>.elementor-column-wrap>.elementor-widget-wrap {
  display: flex;
  align-items: flex-start;
  gap: 100px;
  flex-wrap: wrap;
}

.tls-footer .tls-linkcol .elementor-widget-wrap {
  display: flex;
  flex-direction: column;
  gap: 21px;
}

.tls-footer .tls-col-title {
  font-family: var(--tls-font);
  font-weight: 800;
  font-size: 18px;
  line-height: 22px;
  letter-spacing: -0.18px;
  text-transform: uppercase;
  color: #000000;
}

.tls-footer .tls-col-list ul {
  display: flex;
  flex-direction: column;
  gap: 10px;
}

.tls-footer .tls-col-list .elementor-icon-list-item,
.tls-footer .tls-col-list .elementor-icon-list-item a {
  display: flex;
  align-items: center;
  gap: 10px;
}

.tls-footer .tls-col-list a {
  font-family: var(--tls-font);
  font-weight: 700;
  font-size: 13px;
  line-height: 18px;
  letter-spacing: 0.13px;
  text-transform: uppercase;
  color: #000000;
}

.tls-footer .tls-col-list .elementor-icon-list-icon {
  display: flex !important;
}

.tls-footer .tls-col-list .elementor-icon-list-icon svg,
.tls-footer .tls-col-list .elementor-icon-list-icon img {
  width: 20px !important;
  height: 20px !important;
}

/* Carte contact (grid */

.tls-footer .tls-card {
  width: 450px !important;
  margin-left: auto !important;
  background: #FFFFFF;
  border-radius: 20px;
  padding: 30px;
}

.tls-footer .tls-card .elementor-widget-wrap {
  display: grid;
  grid-template-columns: 50px 1fr !important;
  align-items: start;
}

.tls-footer .tls-tel {
  grid-area: 1/2;
  font-family: var(--tls-font);
  font-weight: 800;
  font-size: 36px;
  line-height: 35px;
  letter-spacing: -0.72px;
}

.tls-footer .tls-hours {
  grid-area: 2/2;
  margin-top: 4px;
  font-family: var(--tls-font);
  font-weight: 500;
  font-size: 13px;
  line-height: 16px;
  letter-spacing: 0.13px;
  text-transform: uppercase;
  color: #666666;
}

.tls-footer .tls-ico-mail {
  grid-area: 3/1;
  margin-top: 20px;
  align-self: center;
}

.tls-footer .tls-mail-btn {
  grid-area: 3/2;
  margin-top: 20px;
  align-self: center;
  justify-self: start;
}

.tls-footer .tls-ico-tel img,
.tls-footer .tls-ico-mail img {
  width: 35px;
  height: 35px;
}

.tls-footer .tls-tel a {
  color: #111111;
}

.tls-header .tls-nav-menu .elementor-nav--main>ul>li:nth-child(3):hover>a,
.tls-footer .tls-tel a:hover {
  color: var(--tls-blue) !important;
}

.tls-footer .tls-mail-btn .elementor-button {
  background: transparent;
  border: none;
  border-radius: 0;
  padding: 0;
}

.tls-footer .tls-mail-btn .elementor-button-content-wrapper {
  display: flex;
  align-items: center;
  gap: 7px;
}

.tls-footer .tls-mail-btn .elementor-button-text {
  font-family: var(--tls-font);
  font-weight: 800;
  font-size: 14px;
  line-height: 16px;
  text-transform: uppercase;
  color: #000000;
  transition: color .2s ease;
}

.tls-footer .tls-mail-btn .elementor-button-icon {
  display: flex !important;
  order: 15 !important;
}

.tls-footer .tls-mail-btn svg,
.tls-footer .tls-mail-btn .elementor-button-icon img {
  width: 16px !important;
  height: 16px !important;
  transition: transform .2s ease !important;
}

/* 19.4 · Paiement & réassurance */

.tls-footer.tls-pay>.elementor-container {
  padding-top: 75px;
  padding-bottom: 20px;
  border-bottom: 1px solid rgba(0, 47, 151, 0.2);
}

.tls-pay-wrap>.elementor-widget-wrap,
.tls-pay-wrap>.elementor-column-wrap>.elementor-widget-wrap {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 10px;
  flex-wrap: wrap;
}

.tls-footer .tls-pay-left .elementor-widget-wrap {
  gap: 10px;
}

.tls-footer .tls-pay-right .elementor-widget-wrap {
  gap: 10px;
  align-items: center;
}

.tls-footer .tls-social-ico,
.tls-cat .tls-sort,
.tls-footer .tls-pay-badge {
  flex: 0 0 auto;
}

.tls-footer .tls-pay-badge img {
  height: 34px !important;
  width: auto !important;
}

.tls-footer .tls-badge-vir img,
.tls-footer .tls-badge-chorus img {
  height: 33px !important;
}

.tls-footer .tls-fab-flag {
  margin-left: auto !important;
  margin-top: 10px;
  flex: 0 0 auto;
}

.tls-footer .tls-fab-flag img {
  width: 37px;
  height: auto;
}

.tls-footer .tls-fab-txt {
  font-family: var(--tls-font);
  font-weight: 700;
  font-size: 13px;
  line-height: 13px;
  letter-spacing: 0.13px;
  text-transform: uppercase;
  color: #000000;
  max-width: 155px;
  margin-left: 5px !important;
  margin-top: 10px;
}

.tls-footer .tls-avis {
  background: #111111;
  border-radius: 10px;
  min-height: 40px;
  flex: 0 0 auto;
  margin-left: 10px;
}

.tls-footer .tls-avis .elementor-widget-wrap {
  display: flex;
  align-items: center;
  gap: 10px;
  padding: 7px 10px;
  flex-wrap: nowrap;
}

.tls-footer .tls-avis-logo {
  margin-right: 30px;
}

.tls-footer .tls-avis-logo img {
  width: 85px;
}

.tls-footer .tls-avis-note {
  font-family: var(--tls-font);
  font-weight: 900;
  font-size: 24px;
  line-height: 24px;
  letter-spacing: -0.72px;
  color: #FFFFFF;
  white-space: nowrap;
}

.tls-footer .tls-avis-note .tls-note-dim {
  font-size: 19px;
  letter-spacing: -0.57px;
  color: #FFFFFF;
}

.tls-footer .tls-avis-chip {
  background: var(--tls-avis);
  border-radius: 3px;
  padding: 5px;
  font-family: var(--tls-font);
  font-weight: 700;
  font-size: 11px;
  line-height: 12px;
  text-transform: uppercase;
  color: #FFFFFF;
  white-space: nowrap;
}

.tls-footer .tls-sign {
  width: 73px !important;
  height: 40px;
  background: #FFFFFF;
  border-radius: 10px;
  display: flex;
  align-items: center;
  justify-content: center;
  flex: 0 0 auto;
}

.tls-footer .tls-sign .elementor-widget-container {
  display: flex;
  align-items: center;
  justify-content: center;
  width: auto !important;
}

.tls-footer .tls-sign img {
  width: 48px;
}

/* 19.5 · Bas de page */

.tls-footer.tls-bottom {
  padding-top: 22px;
  padding-bottom: 19px;
}

.tls-bottom-wrap>.elementor-widget-wrap,
.tls-bottom-wrap>.elementor-column-wrap>.elementor-widget-wrap {
  display: flex;
  justify-content: space-between;
  align-items: center;
  gap: 20px;
  flex-wrap: wrap;
}

.tls-footer .tls-legal ul {
  display: flex;
  align-items: center;
  gap: 63px;
}

.tls-footer .tls-credit ul {
  display: flex;
  align-items: center;
  gap: 50px;
}

.tls-footer .tls-legal li,
.tls-footer .tls-credit li {
  margin: 0;
  font-family: var(--tls-font);
  font-weight: 700;
  font-size: 13px;
  line-height: 18px;
  letter-spacing: 0.13px;
  text-transform: uppercase;
}

.tls-push .tls-push-btn-light .elementor-button-text,
.tls-footer .tls-legal a,
.tls-footer .tls-credit a,
.tls-footer .tls-legal .elementor-icon-list-text,
.tls-footer .tls-credit .elementor-icon-list-text {
  color: #000000;
}

.tls-footer .tls-col-list a:hover,
.tls-footer .tls-legal a:hover,
.tls-footer .tls-credit a:hover {
  color: var(--tls-grey) !important;
}

/* page contact */
.ets_cfu_wrapper .ets_cfu-textarea {
  height: auto!important;
}

/* 19.6 · Responsive */

@media (max-width:1300px) {

  .tls-main-wrap>.elementor-widget-wrap,
  .tls-main-wrap>.elementor-column-wrap>.elementor-widget-wrap {
    gap: 50px;
  }

  .tls-footer .tls-card {
    margin-left: 0;
  }
}

@media (max-width:1024px) {

  .tls-brand-wrap>.elementor-widget-wrap,
  .tls-brand-wrap>.elementor-column-wrap>.elementor-widget-wrap {
    flex-wrap: wrap;
    gap: 20px;
  }

  .tls-footer .tls-line {
    margin-left: 0;
    margin-right: 0;
  }

  .tls-footer .tls-desc {
    flex: 1 1 300px;
    width: auto;
    margin-right: 0;
  }

  .tls-footer .tls-footer-desc,
  .tls-footer .tls-card,
  .tls-social-wrap>.elementor-widget-wrap,
  .tls-social-wrap>.elementor-column-wrap>.elementor-widget-wrap {
    width: 100% !important;
  }

  .tls-footer.tls-social .elementor-column-wrap {
    justify-content: flex-start;
  }

  .tls-footer .tls-social-title {
    margin-left: 0;
  }

  .tls-main-wrap>.elementor-widget-wrap,
  .tls-main-wrap>.elementor-column-wrap>.elementor-widget-wrap {
    gap: 30px 40px;
  }

  .tls-footer .tls-linkcol {
    flex: 1 1 180px;
    min-width: 0;
  }

  .tls-footer .tls-fab-flag,
  .tls-footer .tls-fab-txt {
    margin-top: 0;
  }

  .tls-footer .tls-fab-flag {
    margin-left: 0;
  }

  .tls-pay-wrap>.elementor-widget-wrap,
  .tls-pay-wrap>.elementor-column-wrap>.elementor-widget-wrap {
    align-items: center;
  }

  .tls-footer.tls-pay>.elementor-container {
    padding-top: 40px;
  }

  .tls-footer .tls-pay-left .elementor-widget-wrap,
  .tls-footer .tls-pay-right .elementor-widget-wrap,
  .tls-footer .tls-legal ul,
  .tls-footer .tls-credit ul {
    justify-content: space-between;
  }

  .tls-footer .tls-pay-left,
  .tls-footer .tls-pay-right {
    flex: 1 1 auto;
  }

  .tls-footer .tls-legal,
  .tls-footer .tls-credit {
    flex: 0 0 auto;
    width: 100%;
  }

  .tls-footer .tls-legal ul {
    gap: 12px 30px;
    flex-wrap: wrap;
  }

  .tls-footer .tls-credit ul {
    gap: 12px 25px;
    flex-wrap: wrap;
  }
}

@media (max-width:767px) {
  .tls-footer.tls-brand {
    padding-top: 35px;
  }

  .tls-footer.tls-pay>.elementor-container {
    padding-top: 30px;
  }

  .tls-brand-wrap>.elementor-widget-wrap,
  .tls-brand-wrap>.elementor-column-wrap>.elementor-widget-wrap,
  .tls-bottom-wrap>.elementor-widget-wrap,
  .tls-bottom-wrap>.elementor-column-wrap>.elementor-widget-wrap {
    flex-direction: column;
    align-items: center;
    gap: 15px;
  }

  .tls-footer .tls-line {
    display: none;
  }

  .tls-footer .tls-desc {
    flex: 1;
    width: 100%;
    text-align: center;
  }

  .tls-footer .tls-logo img {
    width: 260px;
    height: 53px !important;
  }

  .tls-social-wrap>.elementor-widget-wrap,
  .tls-social-wrap>.elementor-column-wrap>.elementor-widget-wrap {
    justify-content: center;
  }

  .tls-main-wrap>.elementor-widget-wrap,
  .tls-main-wrap>.elementor-column-wrap>.elementor-widget-wrap {
    flex-direction: column;
    gap: 15px;
    align-items: center;
  }

  .tls-footer .tls-card {
    padding: 20px;
  }

  .tls-footer .tls-card .elementor-widget-wrap {
    grid-template-columns: 42px 1fr !important;
    row-gap: 10px;
    column-gap: 10px;
  }

  .tls-footer .tls-tel {
    font-size: 28px;
    line-height: 30px;
  }

  .tls-footer .tls-footer-desc,
  .tls-footer .tls-legal {
    width: 100% !important;
  }

  .tls-footer .tls-legal ul {
    flex-wrap: wrap;
    gap: 12px 25px;
    flex-direction: column;
  }

  .tls-footer .tls-credit ul {
    flex-wrap: wrap;
    gap: 10px 25px;
    flex-direction: column;
  }
}

.breadcrumb__wrapper .breadcrumb-item:first-child:before,
.tls-cat .tls-tri .elementor-select-wrapper:before,
.tls-cat .tls-tri .elementor-select-wrapper i,
.tls-cat .tls-tri .elementor-select-wrapper svg,
.tls-cat .tls-tri .elementor-select-wrapper .eicon-caret-down {
  content: none;
  display: none;
}

@media (max-width:767px) {
  #emailsubscription_anchor_displayCEWidget .d-flex {
    flex-direction: column;
    height: 60px;
    width: 100%;
    margin-top: 24px !important;
  }
}

@media (max-width:767px) {

  .tls-mini .tls-mini-col .tls-mini-title,
  .tls-mini .tls-mini-price *:not(:has(*)),
  .tls-title .tls-title-h,
  .tls-heroa .tls-mini .tls-mini-col .tls-mini-price,
  .tls-mini .tls-mini-col .tls-mini-price {
    flex-basis: 0px;
  }

  .tls-pc [data-elementor-type="product-miniature"] {
    max-width: none;
    width: 100% !important;
    flex-basis: auto;
  }

  .tls-heroa .tls-heroa-grid .ce-product-grid::scroll-button(left):disabled,
  .tls-heroa .tls-heroa-grid .ce-product-grid::scroll-button(right):disabled,
  .tls-heroa .tls-heroa-grid .ce-product-grid::scroll-button(left),
  .tls-heroa .tls-heroa-grid .ce-product-grid::scroll-button(right) {
    display: none;
  }
}

@media (max-width: 767px) {
  .tls-footer .tls-linkcol {
    flex: 0 0 auto;
    width: 100%;
  }

  .tls-linkcol.js-acc .tls-col-list {
    max-height: 0;
    overflow: hidden;
    opacity: 0;
    transition: all 0.3s ease-in-out;
    margin-top: 0;
  }

  .tls-linkcol.js-acc .tls-col-title {
    cursor: pointer;
    width: 100% !important;
  }

  .tls-linkcol .tls-col-title .elementor-heading-title {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 10px;
  }

  .tls-linkcol.js-acc .tls-col-title .elementor-heading-title::after {
    content: "" !important;
    position: absolute !important;
    top: 50% !important;
    right: 10px !important;
    width: 8px;
    height: 8px;
    margin: -6px 0 0 -4px;
    border-right: 2px solid currentColor;
    border-bottom: 2px solid currentColor;
    border-radius: 1px;
    transform: rotate(45deg) !important;
  }

  .tls-linkcol.js-acc.is-open .tls-col-list {
    max-height: 400px !important;
    opacity: 1 !important;
    margin-top: 10px !important;
  }

  .tls-linkcol.js-acc.is-open .tls-col-title .elementor-heading-title::after {
    transform: rotate(225deg) !important;
    margin-top: -2px !important;
  }
}

@media (max-width:767px) {

  .tls-footer .tls-pay-left .elementor-widget-wrap,
  .tls-footer .tls-pay-right .elementor-widget-wrap {
    flex-wrap: wrap;
    align-items: center;
    justify-content: space-between;
    gap: 6px;
  }

  .tls-footer .tls-pay-right .tls-flag,
  .tls-footer .tls-pay-right .tls-avis,
  .tls-footer .tls-pay-right .tls-sign,
  .tls-footer .tls-pay-right .tls-fab-txt {
    flex: 0 1 auto;
    width: auto !important;
    min-width: 0;
  }

  .tls-footer .tls-pay-right .tls-flag .elementor-widget-wrap {
    justify-content: flex-start;
    gap: 4px;
  }

  .tls-footer .tls-pay-right .tls-fab-flag {
    flex: 0 0 auto;
  }

  .tls-footer .tls-fab-flag img {
    width: 26px;
  }

  .tls-footer .tls-pay-badge img,
  .tls-footer .tls-badge-vir img,
  .tls-footer .tls-badge-chorus img {
    height: 26px !important;
  }

  .tls-footer .tls-fab-txt {
    max-width: 110px;
    margin-left: 0 !important;
    font-size: 9px;
    line-height: 10px;
    letter-spacing: 0;
  }

  .tls-footer .tls-avis {
    margin-left: 0;
  }

  .tls-footer .tls-avis .elementor-widget-wrap {
    gap: 5px;
    padding: 5px 8px;
  }

  .tls-footer .tls-avis-logo {
    margin-right: 0;
  }

  .tls-footer .tls-avis-logo img {
    width: 48px;
  }

  .tls-footer .tls-avis-note {
    font-size: 16px;
    line-height: 16px;
    letter-spacing: -0.48px;
  }

  .tls-footer .tls-avis-note .tls-note-dim {
    font-size: 12px;
    letter-spacing: -0.36px;
  }

  .tls-footer .tls-avis-chip {
    padding: 3px 4px;
    font-size: 8px;
    line-height: 9px;
  }

  .tls-footer .tls-sign {
    width: 48px !important;
    height: 34px;
  }

  .tls-footer .tls-sign img {
    width: 34px;
  }
}

@media (max-width:480px) {
  .tls-footer .tls-fab-txt {
    max-width: 80px;
    font-size: 8px;
    line-height: 9px;
  }

  .tls-footer .tls-avis .elementor-widget-wrap {
    gap: 4px;
    padding: 4px 6px;
  }

  .tls-footer .tls-avis-logo img {
    width: 40px;
  }

  .tls-footer .tls-avis-note {
    font-size: 14px;
    line-height: 14px;
  }

  .tls-footer .tls-avis-note .tls-note-dim {
    font-size: 11px;
  }

  .tls-footer .tls-avis-chip {
    padding: 3px;
    font-size: 7px;
    line-height: 8px;
  }

  .tls-footer .tls-sign {
    width: 44px !important;
  }
}

.tls-news-grid .post-item {
  position: relative;
  border-radius: 12px;
  overflow: hidden;
}

.tls-news-grid .post-item-cover {
  position: relative;
}

.tls-news-grid .post-item-cover::after {
  content: "";
  position: absolute;
  bottom: 0;
  left: 0;
  width: 100%;
  height: 50%;
  background: linear-gradient(to top, rgba(0, 0, 0, 0.8), transparent);
  pointer-events: none;
}

.tls-news-grid .post-item-cover img {
  width: 100%;
  height: auto;
  display: block;
}

.tls-news-grid .post-item-title {
  position: absolute;
  bottom: 15px;
  left: 0px;
  right: 15px;
  z-index: 2;
  margin: 0;
}

.tls-news-grid .post-item-title a {
  color: #ffffff !important;
  text-decoration: none;
  font-size: 1.1rem;
  font-weight: 600;
}

.tls-act-cart .elementor-cart__toggle .elementor-button-icon::before,
.tls-act-cart .elementor-cart__toggle .elementor-button-icon::after {
  content: none !important;
  display: none !important;
}

.tls-act-cart .elementor-cart__toggle .elementor-button-icon {
  position: relative !important;
  display: inline-flex !important;
}

.tls-act-cart .elementor-cart__toggle .elementor-button-icon[data-counter]::after {
  content: attr(data-counter) !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  width: 24px !important;
  height: 24px !important;
  min-width: 24px !important;
  max-width: 24px;
  padding: 0 !important;
  box-sizing: border-box !important;
  aspect-ratio: 1 / 1;
  font-size: 12px !important;
  font-weight: bold !important;
  line-height: 1 !important;
  color: #ffffff !important;
  background-color: #e02b2b !important;
  border-radius: 50% !important;
  position: absolute !important;
  top: -6px !important;
  right: -8px !important;
  z-index: 2 !important;
}

.product-customization {
  border: none;
  padding: 0px !important;
}

.tls-prod.tls-pi-opts .elementor-widget-product-customization .elementor-widget-container {
  border: 1px solid var(--bs-border-color) !important;
  border-radius: var(--bs-border-radius);
  padding: 1rem !important;
}

@media (max-width: 767px) {
  .tls-header .tls-search .elementor-search__submit {
    left: 10px;
  }
}

@media (max-width: 767px) {
  .tls-hero .tls-slide-title .elementor-heading-title {
    font-size: 50px !important;
    line-height: 50px !important;
  }

  .tls-slide {
    gap: 10px;
    justify-content: flex-start;
  }
}

@media (max-width: 767px) {
  .tls-hero-wrap .elementor-column-wrap.elementor-element-populated {
    position: relative;
    height: auto;
    min-height: initial;
    padding: 20px 0px !important;
  }

  .tls-slide-bg img {
    width: 100%;
    height: auto;
    object-fit: cover;
  }

  .tls-hero-wrap .tls-slide-kicker,
  .tls-hero-wrap .tls-slide-title,
  .tls-hero-wrap .tls-slide-sub {
    margin-bottom: 10px !important;
    position: relative;
    top: auto !important;
    left: 20px !important;
    bottom: auto;
  }

  .tls-hero-wrap .tls-slide-btn {
    position: relative;
    top: auto !important;
    left: 20px !important;
    bottom: auto;
    margin-top: 50px !important;
    margin-bottom: 10px !important;
    width: 150px !important;
  }

  .tls-slide-center .tls-slide-btn .elementor-widget-container {
    display: flex;
    justify-content: center;
  }

  .tls-slide-center .tls-slide-btn .elementor-button {
    width: 150px !important;
  }

  .tls-hero-wrap .tls-slide-sub p {
    font-size: 14px !important;
    margin-bottom: 0 !important;
  }

  .tls-footer .elementor-inner-section,
  .tls-hero-wrap .elementor-button-content-wrapper {
    width: 100% !important;
  }
}

.menu-nav-mobile {
  display: none;
}

@media (max-width: 1024px) {
  .tls-header.tls-nav {
    display: none;
  }

  .tls-search-col>.elementor-widget-wrap,
  .tls-search-col>.elementor-column-wrap>.elementor-widget-wrap {
    display: flex;
    flex-direction: row;
    align-items: center;
    justify-content: space-between;
    gap: 15px;
  }

  .tls-search-w {
    flex: 1;
    width: auto;
  }

  .menu-nav-mobile {
    display: block;
    flex: 0 0 40px;
    width: 40px;
    height: 60px;
  }

  .tls-search-w .elementor-widget-container {
    width: 100%;
    height: 100%;
  }

  .menu-nav-mobile .elementor-widget-container,
  .menu-nav-mobile a,
  .menu-nav-mobile .elementor-icon,
  .menu-nav-mobile button {
    width: 60px !important;
    height: 60px;
    display: flex;
    align-items: center;
    justify-content: center;
    margin: 0 !important;
    padding: 0 !important;
  }

  .elementor-nav--main {
    display: none;
    width: 100%;
  }
}


/* ──────────────────────────────────────────────────────────────────────────
   20 · MENU MOBILE OFF-CANVAS
   ────────────────────────────────────────────────────────────────────────── */

@media (max-width: 1024px) {
  .menu-nav-mobile>.elementor-widget-container {
    position: static;
    overflow: visible !important;
    background: transparent !important;
  }

  .menu-nav-mobile .elementor-menu-toggle,
  .menu-nav-mobile .elementor-menu-toggle:hover,
  .menu-nav-mobile .elementor-menu-toggle:focus,
  .menu-nav-mobile .elementor-menu-toggle.elementor-active {
    position: relative;
    z-index: auto;
    background: transparent !important;
    border: 0;
    box-shadow: none;
    outline: 0;
    color: var(--tls-dark);
    -webkit-tap-highlight-color: transparent;
  }

  .menu-nav-mobile .elementor-menu-toggle.elementor-active i {
    position: fixed;
    top: 14px;
    right: 14px;
  }

  .menu-nav-mobile .elementor-menu-toggle i {
    position: relative;
    z-index: 10000;
    display: block;
    width: 50px !important;
    height: 50px;
    border-radius: 8px;
    background: var(--tls-field) !important;
    font-size: 0;
    color: var(--tls-dark);
  }

  .menu-nav-mobile .elementor-menu-toggle i::before,
  .menu-nav-mobile .elementor-menu-toggle.elementor-active i::after {
    content: "";
    position: absolute;
    top: 50%;
    left: 50%;
    width: 20px;
    height: 2px;
    margin: -1px 0 0 -10px;
    border-radius: 2px;
    background: currentColor !important;
  }

  .menu-nav-mobile .elementor-menu-toggle i::before {
    box-shadow: 0 -6px 0 currentColor, 0 6px 0 currentColor;
  }

  .menu-nav-mobile .elementor-menu-toggle.elementor-active i::before {
    box-shadow: none !important;
    transform: rotate(45deg) !important;
  }

  .menu-nav-mobile .elementor-menu-toggle.elementor-active i::after {
    transform: rotate(-45deg) !important;
  }

  .menu-nav-mobile .elementor-menu-toggle.elementor-active::before {
    content: "" !important;
    position: fixed !important;
    top: 0 !important;
    right: 0 !important;
    bottom: 0 !important;
    left: 0 !important;
    background: rgba(17, 17, 17, .5) !important;
    z-index: 9990 !important;
  }

  .menu-nav-mobile nav.elementor-nav--dropdown.elementor-nav__container {
    display: block;
    position: fixed;
    top: 0 !important;
    right: 0;
    bottom: 0;
    left: auto !important;
    width: 86vw !important;
    max-width: 380px;
    height: 100%;
    max-height: none !important;
    margin: 0 !important;
    padding: 70px 0 40px !important;
    background: #FFFFFF !important;
    box-shadow: -8px 0 24px rgba(0, 0, 0, .18);
    border: 0;
    border-radius: 0;
    overflow-x: hidden !important;
    overflow-y: auto !important;
    -webkit-overflow-scrolling: touch;
    opacity: 1 !important;
    visibility: hidden !important;
    pointer-events: none;
    transform: translateX(100%) !important;
    transition: transform .3s ease, visibility 0s linear .3s;
    z-index: 9999;
  }

  .menu-nav-mobile .elementor-menu-toggle.elementor-active+nav.elementor-nav--dropdown.elementor-nav__container {
    visibility: inherit !important;
    pointer-events: inherit !important;
    transform: translateX(0) !important;
    transition: transform .3s ease !important;
  }

  .menu-nav-mobile nav.elementor-nav--dropdown ul.elementor-nav {
    display: block;
  }

  .menu-nav-mobile nav.elementor-nav--dropdown ul.elementor-nav,
  .menu-nav-mobile nav.elementor-nav--dropdown ul.sub-menu {
    position: static;
    float: none;
    width: 100% !important;
    min-width: 0;
    max-width: none;
    height: auto;
    margin: 0 !important;
    padding: 0 !important;
    list-style: none;
    border: 0;
    border-radius: 0;
    box-shadow: none;
    opacity: 1 !important;
    transform: none !important;
  }

  .menu-nav-mobile nav.elementor-nav--dropdown ul.elementor-nav {
    background: transparent !important;
  }

  .menu-nav-mobile nav.elementor-nav--dropdown ul.sub-menu {
    background: #FAFAFA !important;
  }

  .menu-nav-mobile nav.elementor-nav--dropdown li.menu-item {
    display: block;
    width: 100% !important;
    border-bottom: 1px solid var(--tls-line);
  }

  .menu-nav-mobile nav.elementor-nav--dropdown .elementor-item,
  .menu-nav-mobile nav.elementor-nav--dropdown .elementor-sub-item {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 10px;
    width: 100% !important;
    height: auto;
    min-height: 48px;
    margin: 0 !important;
    padding: 12px 20px !important;
    font-family: var(--tls-font);
    font-size: 15px !important;
    font-weight: 700;
    line-height: 1.2 !important;
    color: var(--tls-dark);
    text-align: left;
    text-decoration: none !important;
    text-transform: none;
    white-space: normal;
    background: transparent !important;
    border: 0;
  }

  .menu-nav-mobile nav.elementor-nav--dropdown .sub-menu .elementor-sub-item {
    padding-left: 36px !important;
    font-size: 14px !important;
    font-weight: 500;
  }

  .menu-nav-mobile nav.elementor-nav--dropdown .sub-menu .sub-menu .elementor-sub-item {
    padding-left: 52px !important;
    font-size: 13px !important;
    color: var(--tls-grey) !important;
  }

  .menu-nav-mobile nav.elementor-nav--dropdown .sub-menu .sub-menu .sub-menu .elementor-sub-item {
    padding-left: 68px !important;
  }

  .menu-nav-mobile nav.elementor-nav--dropdown .elementor-item:hover,
  .menu-nav-mobile nav.elementor-nav--dropdown .elementor-sub-item:hover,
  .menu-nav-mobile nav.elementor-nav--dropdown .elementor-item.highlighted,
  .menu-nav-mobile nav.elementor-nav--dropdown .elementor-sub-item.highlighted,
  .menu-nav-mobile nav.elementor-nav--dropdown [aria-expanded="true"] {
    color: var(--tls-blue) !important;
    background: #F2FAFE !important;
  }

  .menu-nav-mobile nav.elementor-nav--dropdown .sub-arrow {
    position: relative;
    display: block;
    flex: 0 0 34px;
    width: 34px !important;
    height: 34px;
    margin: -6px -6px -6px 0 !important;
    padding: 0 !important;
    font-size: 0 !important;
    color: var(--tls-grey) !important;
    background: transparent !important;
    transition: transform .2s ease;
  }

  .menu-nav-mobile nav.elementor-nav--dropdown .sub-arrow::before {
    content: "" !important;
    position: absolute !important;
    top: 50% !important;
    left: 50% !important;
    width: 8px;
    height: 8px;
    margin: -6px 0 0 -4px;
    border-right: 2px solid currentColor;
    border-bottom: 2px solid currentColor;
    border-radius: 1px;
    transform: rotate(45deg) !important;
  }

  .menu-nav-mobile nav.elementor-nav--dropdown .sub-arrow::after,
  .menu-nav-mobile nav.elementor-nav--dropdown .sub-arrow~.sub-arrow {
    display: none;
  }

  .menu-nav-mobile nav.elementor-nav--dropdown [aria-expanded="true"]>.sub-arrow {
    color: var(--tls-blue) !important;
    transform: rotate(180deg) !important;
  }

  html.tls-menu-open,
  html.tls-menu-open body {
    overflow: hidden !important;
  }


  .tls-header .tls-search .elementor-widget-ajax-search,
  .elementor-1170101 .elementor-element.elementor-element-6392fa96 .elementor-search__input,
  .tls-search-col>.elementor-column-wrap>.elementor-widget-wrap {
    max-height: 50px !important;
  }

  .elementor-nav--dropdown .menu-item a.elementor-item-active:not(#e) {
    color: #000000 !important;
  }

  .menu-nav-mobile nav.elementor-nav--dropdown a.elementor-item-active:not(#e)[aria-expanded="true"] {
    color: var(--tls-blue) !important;
    background: #F2FAFE !important;
  }
}

/* LE PANNEAU */

.tls-header .tls-nav-menu .elementor-nav--main ul>li:hover>a:after {
  transform: translateY(2px) rotate(90deg) !important;
}

.tls-header .tls-nav-menu .elementor-nav--main>ul>li>ul {
  position: absolute !important;
  display: block !important;
  top: 100% !important;
  right: 0 !important;
  bottom: auto !important;
  left: 0 !important;
  z-index: 60 !important;
  column-count: 4;
  column-gap: 30px !important;
  width: auto !important;
  min-width: 0 !important;
  max-width: none !important;
  height: auto !important;
  max-height: none !important;
  margin: 0 !important;
  padding: 30px !important;
  overflow: visible !important;
  background: #FFFFFF !important;
  border: 0 !important;
  border-radius: 0 0 10px 10px !important;
  box-shadow: 0 14px 30px rgba(0, 0, 0, .12) !important;
  opacity: 0 !important;
  visibility: hidden !important;
  pointer-events: none;
  transform: translateY(-6px) !important;
  transition: opacity .18s ease, transform .18s ease, visibility .18s !important;
}

.tls-header .tls-nav-menu .elementor-nav--main>ul>li:hover>ul,
.tls-header .tls-nav-menu .elementor-nav--main>ul>li:focus-within>ul {
  opacity: 1 !important;
  visibility: inherit !important;
  pointer-events: inherit;
  transform: translateY(0) !important;
}

.tls-header .tls-nav-menu .elementor-nav--main ul ul>li {
  display: block !important;
  position: static !important;
  width: 100% !important;
  min-width: 0 !important;
  margin: 0 0 26px !important;
  padding: 0 !important;
  break-inside: avoid;
  -webkit-column-break-inside: avoid;
  page-break-inside: avoid;
}

.tls-header .tls-nav-menu .elementor-nav--main ul ul a {
  display: inline-flex !important;
  align-items: center !important;
  gap: 8px !important;
  max-width: 100% !important;
  height: auto !important;
  padding: 0 0 10px !important;
  margin: 0 0 10px !important;
  border: 0 !important;
  border-bottom: 1px solid #E0E0E0 !important;
  font-weight: 700 !important;
  font-size: 17px !important;
  line-height: 20px !important;
  letter-spacing: -0.17px !important;
  text-transform: uppercase !important;
  white-space: normal !important;
  background: transparent !important;
  color: #000000 !important;
}

/* Les liens d'une colonne (niveau 3) */

.tls-header .tls-nav-menu .elementor-nav--main ul ul ul {
  gap: 0;
  position: static !important;
  display: block !important;
  top: auto !important;
  right: auto !important;
  bottom: auto !important;
  left: auto !important;
  column-count: auto;
  column-gap: normal !important;
  width: auto !important;
  min-width: 0 !important;
  max-width: none !important;
  height: auto !important;
  max-height: none !important;
  margin: 0 !important;
  padding: 0 !important;
  overflow: visible !important;
  white-space: normal !important;
  background: transparent !important;
  border: 0 !important;
  border-radius: 0 !important;
  box-shadow: none !important;
  opacity: 1 !important;
  visibility: inherit !important;
  pointer-events: inherit;
  transform: none !important;
  transition: none !important;
}

.tls-header .tls-nav-menu .elementor-nav--main ul ul ul>li {
  width: auto !important;
  margin: 0 !important;
  break-inside: avoid;
}

.tls-header .tls-nav-menu .elementor-nav--main ul ul ul a {
  display: block !important;
  max-width: none !important;
  height: auto !important;
  padding: 4px 0 !important;
  margin: 0 !important;
  border: 0 !important;
  font-weight: 500 !important;
  font-size: 15px !important;
  line-height: 22px !important;
  letter-spacing: -0.15px !important;
  text-transform: none !important;
  white-space: normal !important;
  color: #444444 !important;
}

.tls-header .tls-nav-menu .elementor-nav--main ul ul a.highlighted,
.tls-header .tls-nav-menu .elementor-nav--main ul ul a:hover,
.tls-header .tls-nav-menu .elementor-nav--main ul ul a:focus {
  background: transparent !important;
  color: var(--tls-blue) !important;
}

.ce-filters__container .dialog-lightbox-close-button {
  top: -20px !important;
  right: -20px !important;
}


/* ──────────────────────────────────────────────────────────────────────────
   21 · PRODUIT · FICHE COMPLÈTE (SURCHARGE LA SECTION 17)
   ────────────────────────────────────────────────────────────────────────── */

.tls-prod {
  padding: 20px 20px 0;
  --tls-line: #E0E0E0;
  --tls-txt: #737373;
  --tls-mute: #888888;
  --tls-chip: #CCCCCC;
  --tls-roboto: Roboto, "Roboto Condensed", sans-serif;
  --tls-star: #F6D900;
  --tls-buy-bg: #FFF3E5;
  --tls-spec-bg: #FAFAFA;
  --tls-cart: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='21' height='21' viewBox='0 0 21 21' fill='none'%3E%3Cpath d='M2 2h2.2l2 10.5h10.3l1.8-7.4H5.2' stroke='%23FFFFFF' stroke-width='1.5' stroke-linecap='round' stroke-linejoin='round'/%3E%3Ccircle cx='8.2' cy='17' r='1.4' stroke='%23FFFFFF' stroke-width='1.5'/%3E%3Ccircle cx='15.4' cy='17' r='1.4' stroke='%23FFFFFF' stroke-width='1.5'/%3E%3C/svg%3E");
  --tls-minus: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='11' height='11' viewBox='0 0 11 11' fill='none'%3E%3Cpath d='M1.5 5.5h8' stroke='%23000000' stroke-width='1.6' stroke-linecap='round'/%3E%3C/svg%3E");
  --tls-plus: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='11' height='11' viewBox='0 0 11 11' fill='none'%3E%3Cpath d='M5.5 1.5v8M1.5 5.5h8' stroke='%23000000' stroke-width='1.6' stroke-linecap='round'/%3E%3C/svg%3E");
  --tls-sel: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='10' height='6' viewBox='0 0 10 6' fill='none'%3E%3Cpath d='M1 1 5 5 9 1' stroke='%23000000' stroke-width='1.6' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E");
  --tls-star-on: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='11' height='11' viewBox='0 0 11 11'%3E%3Cpath d='M5.5.6 6.9 4h3.6L7.6 6.2l1.1 3.5-3.2-2.1-3.2 2.1 1.1-3.5L.5 4h3.6z' fill='%23F6D900'/%3E%3C/svg%3E");
  box-sizing: border-box;
}

.tls-prod.elementor-top-section {
  /* pas de retrait horizontal : le conteneur du thème apporte déjà 20 px de
     chaque côté. Avec ce retrait la largeur utile tombait à 1488 px au lieu
     de 1528 px et le bloc prix + panier passait à la ligne. */
  padding: 20px 0 0;
}

.tls-prod.elementor-inner-section {
  padding: 0 !important;
}

.tls-prod .elementor-container,
.tls-prod .elementor-row,
.tls-prod .elementor-column,
.tls-prod .elementor-column-wrap,
.tls-prod .elementor-widget-wrap {
  box-sizing: border-box;
}

.tls-heroa>.elementor-container,
.tls-cat-full-desc>.elementor-container,
.tls-header>.elementor-container,
.tls-hero>.elementor-container,
.tls-topbar>.elementor-container,
.tls-cats>.elementor-container,
.tls-best>.elementor-container,
.tls-push>.elementor-container,
.tls-title>.elementor-container,
.tls-needs>.elementor-container,
.tls-estab>.elementor-container,
.tls-band>.elementor-container,
.tls-news>.elementor-container,
.tls-nlt>.elementor-container,
.tls-bc>.elementor-container,
.tls-prod>.elementor-container {
  max-width: 1528px !important;
}

.tls-prod .elementor-row {
  width: 100% !important;
  margin: 0;
}

.tls-prod .elementor-column,
.tls-cat.tls-intro .elementor-column {
  min-width: 0;
}

.tls-prod .elementor-widget {
  margin: 0 !important;
  width: 100% !important;
  max-width: 100% !important;
}

.tls-cat .tls-more-btn,
.tls-cat .tls-subcat-w .elementor-widget-container,
.tls-news .tls-news-grid,
.tls-heroa .tls-heroa-grid,
.tls-heroa .tls-heroa-promo>.elementor-column-wrap,
.tls-heroa .tls-heroa-promo>.elementor-widget-wrap,
.tls-heroa .tls-heroa-promo>.elementor-column-wrap>.elementor-widget-wrap,
.tls-best .tls-best-grid,
.tls-header .tls-nav-menu,
.tls-header .tls-nav-row,
.tls-prod .elementor-widget-container {
  width: 100% !important;
}

.tls-prod .elementor-inner-section {
  width: auto !important;
}

.tls-news-head>.elementor-container,
.tls-best-head>.elementor-container,
.tls-prod .elementor-inner-section>.elementor-container {
  max-width: none !important;
  margin: 0;
  width: 100% !important;
}

.tls-prod .elementor-heading-title {
  margin: 0;
  font: inherit !important;
  color: inherit;
  letter-spacing: inherit;
  text-transform: inherit;
}

.tls-prod .screen-reader-text {
  position: absolute;
  width: 1px;
  height: 1px;
  margin: -1px !important;
  padding: 0;
  border: 0;
  overflow: hidden;
  white-space: nowrap;
  clip-path: inset(50%);
}

/* 21.1 · RANGÉE DE SECTION (1528, écart 60)
   :not(.tls-cat) — les sections des pages catégorie portent aussi la classe
   .tls-prod ; sans cette exclusion la mise en page produit écrase le chapeau
   et la barre de filtres de la catégorie. */

.tls-prod.elementor-top-section:not(.tls-cat)>.elementor-container>.elementor-row {
  display: flex !important;
  flex-direction: row !important;
  flex-wrap: wrap !important;
  align-items: flex-start !important;
  justify-content: flex-start !important;
  gap: 60px !important;
  width: 100% !important;
}

.tls-prod.elementor-top-section:not(.tls-cat)>.elementor-container>.elementor-row>.elementor-column {
  flex: 1 1 0 !important;
  width: auto !important;
  min-width: 0 !important;
  max-width: none !important;
}

.tls-prod.elementor-top-section:not(.tls-cat)>.elementor-container>.elementor-row>.elementor-column.elementor-col-100 {
  flex: 1 1 100% !important;
  width: 100% !important;
}

/* 21.2 · FICHE PRODUIT · 2 colonnes 760 + 60 + 708 */

.tls-fp>.elementor-container>.elementor-row>.elementor-column>.elementor-widget-wrap>.elementor-section>.elementor-container>.elementor-row,
.tls-fp>.elementor-container>.elementor-row>.elementor-column>.elementor-column-wrap>.elementor-widget-wrap>.elementor-section>.elementor-container>.elementor-row {
  display: flex !important;
  flex-direction: row !important;
  flex-wrap: nowrap !important;
  align-items: flex-start !important;
  justify-content: flex-start !important;
  gap: 60px !important;
  width: 100% !important;
}

.tls-prod .tls-gal-main {
  flex: 1 1 760px !important;
  width: auto !important;
  max-width: 760px !important;
  min-width: 0 !important;
}

.tls-prod .tls-fp-right {
  flex: 1 1 708px !important;
  width: auto !important;
  max-width: 708px !important;
  min-width: 0 !important;
}

.tls-gal-main>.elementor-widget-wrap,
.tls-gal-main>.elementor-column-wrap>.elementor-widget-wrap {
  display: block;
  position: relative;
  width: 100% !important;
}

.tls-fp-right>.elementor-widget-wrap,
.tls-fp-right>.elementor-column-wrap>.elementor-widget-wrap,
.tls-desc>.elementor-container>.elementor-row,
.tls-spec>.elementor-container>.elementor-row {
  display: flex;
  flex-direction: column;
  flex-wrap: nowrap;
  align-items: stretch;
  gap: 0;
  width: 100% !important;
}

/* BLOC 1 · GALERIE (760 × 560, vignettes carrées) */

.tls-prod .product-images .elementor-main-swiper {
  width: 100% !important;
  aspect-ratio: 760/560;
  border-radius: 14px;
  overflow: hidden;
  background: #EDEDED;
}

.tls-search-col>.elementor-widget-wrap,
.tls-search-col>.elementor-column-wrap>.elementor-widget-wrap,
.tls-hero .tls-slide-bg .elementor-widget-container,
.tls-prod .product-images .elementor-main-swiper .swiper-wrapper {
  height: 100% !important;
}

.tls-news .tls-news-grid .post-item-cover a,
.tls-prod .product-images .swiper-slide-inner {
  display: block;
  width: 100% !important;
  height: 100% !important;
}

.tls-prod .product-images .elementor-main-swiper .elementor-carousel-image {
  width: 100% !important;
  height: 100% !important;
  object-fit: cover;
  object-position: center;
}

.tls-prod .product-images .elementor-swiper+.elementor-swiper {
  margin-top: 16px;
}

.tls-prod .product-images .elementor-thumbnails-swiper {
  width: 100% !important;
  overflow: hidden;
}

.tls-prod .product-images .elementor-thumbnails-swiper .swiper-slide {
  height: auto;
  border-radius: 8px;
  overflow: hidden;
}

.tls-prod .product-images .elementor-thumbnails-swiper .elementor-carousel-image {
  display: block;
  width: 100% !important;
  height: auto !important;
  aspect-ratio: 1/1;
  object-fit: cover;
  object-position: center;
  border-radius: 8px;
  background: #F5F5F5;
  cursor: pointer;
  box-shadow: none;
  transition: box-shadow .2s ease;
}

.tls-prod .product-images .elementor-thumbnails-swiper .swiper-slide-thumb-active .elementor-carousel-image,
.tls-prod .product-images .elementor-thumbnails-swiper .swiper-slide:hover .elementor-carousel-image {
  box-shadow: inset 0 0 0 2px rgba(0, 0, 0, .35) !important;
}

.tls-prod .product-badges {
  position: absolute;
  top: 14px;
  left: 14px;
  width: auto !important;
  z-index: 3;
}

.tls-prod .product-badges .elementor-widget-container {
  width: auto !important;
}

.tls-prod .product-badges .ce-product-badges {
  display: flex !important;
  flex-direction: row !important;
  flex-wrap: wrap !important;
  align-items: center !important;
  gap: 6px !important;
  margin: 0 !important;
  padding: 0 !important;
}

.tls-prod .product-badges .ce-product-badge {
  display: inline-flex !important;
  flex-direction: row !important;
  align-items: center !important;
  height: 24px !important;
  margin: 0 !important;
  padding: 0 10px !important;
  border: none !important;
  border-radius: 4px !important;
  background: #000000 !important;
  font-family: var(--tls-font) !important;
  font-weight: 700 !important;
  font-size: 11px !important;
  line-height: 12px !important;
  letter-spacing: 0 !important;
  text-transform: uppercase !important;
  color: #FFFFFF !important;
  white-space: nowrap !important;
}

/* BLOC 2 · PANNEAU DROITE (708, écart 30) */

.tls-pi-wrap>.elementor-widget-wrap,
.tls-pi-wrap>.elementor-column-wrap>.elementor-widget-wrap,
.tls-pi-opts-col>.elementor-widget-wrap,
.tls-pi-opts-col>.elementor-column-wrap>.elementor-widget-wrap,
.tls-opt>.elementor-widget-wrap,
.tls-opt>.elementor-column-wrap>.elementor-widget-wrap {
  display: flex;
  flex-direction: column;
  flex-wrap: nowrap;
  align-items: stretch;
  align-content: stretch;
  gap: 30px;
  width: 100% !important;
}

.tls-pi-head>.elementor-widget-wrap,
.tls-pi-head>.elementor-column-wrap>.elementor-widget-wrap {
  display: flex;
  flex-direction: column;
  flex-wrap: nowrap;
  align-items: flex-start;
  gap: 20px;
  width: 100% !important;
}

.tls-prod .product-name {
  max-width: 593px !important;
}

.tls-prod .product-name,
.tls-prod .product-name .elementor-heading-title,
.tls-prod .product-name h1,
.tls-prod .product-name h2,
.tls-prod .product-name .ce-product-name {
  font-family: var(--tls-font);
  font-weight: 700;
  font-size: 50px;
  line-height: 50px;
  letter-spacing: -1px;
  text-transform: uppercase;
  color: #000000;
}

.tls-prod .product-name h1,
.tls-prod .product-name h2 {
  margin: 0;
  padding: 0;
}

.tls-pi-meta>.elementor-container>.elementor-row {
  display: flex;
  flex-direction: row;
  flex-wrap: wrap;
  align-items: center;
  gap: 14px;
  width: 100% !important;
}

.tls-prod .product-meta .ce-product-meta {
  display: flex;
  flex-direction: row;
  flex-wrap: wrap;
  align-items: center;
  gap: 14px;
}

.tls-prod .product-meta .ce-product-meta__detail {
  display: inline-flex;
  flex-direction: row;
  align-items: center;
  gap: 4px;
}

.tls-prod .product-meta,
.tls-prod .product-meta span,
.tls-prod .product-meta a,
.tls-prod .tls-meta-txt,
.tls-prod .tls-meta-txt .elementor-heading-title {
  font-family: var(--tls-font);
  font-weight: 600;
  font-size: 13px;
  line-height: 15px;
  letter-spacing: 0.13px;
  text-transform: uppercase;
  color: var(--tls-mute);
  white-space: nowrap;
}

.tls-prod .product-meta .ce-product-meta__manufacturer {
  display: none !important;
}

/* étoiles (widget star-rating) */

.tls-prod .elementor-star-rating__wrapper {
  display: flex !important;
  flex-direction: row !important;
  align-items: center !important;
  gap: 8px !important;
  width: auto !important;
}

.tls-prod .elementor-star-rating {
  display: inline-flex !important;
  flex-direction: row !important;
  align-items: center !important;
  gap: 2px !important;
  width: auto !important;
  font-size: 13px !important;
  line-height: 1 !important;
  letter-spacing: 0 !important;
}

.tls-prod .elementor-star-rating i {
  display: block !important;
  width: 13px !important;
  height: 13px !important;
  font-family: inherit !important;
  font-size: 13px !important;
  font-style: normal !important;
  line-height: 13px !important;
  text-align: center;
  color: var(--tls-line) !important;
}

.tls-prod .elementor-star-rating i.elementor-star-full {
  color: var(--tls-star) !important;
}

.tls-prod .elementor-star-rating__title {
  font-family: var(--tls-font) !important;
  font-weight: 600 !important;
  font-size: 13px !important;
  line-height: 15px !important;
  letter-spacing: 0.13px !important;
  text-transform: uppercase !important;
  color: var(--tls-mute) !important;
  white-space: nowrap !important;
}

/* accroche (widget product-description-short) */

.tls-prod .short-description {
  max-width: 488px !important;
}

.tls-prod .short-description p+p,
.tls-prod .short-description p+div,
.tls-prod .short-description div+p {
  margin-top: 6px;
}

.tls-prod .short-description a,
.tls-prod .product-description a {
  color: #000000 !important;
  text-decoration: underline !important;
  text-underline-offset: 2px !important;
}

.tls-footer .tls-desc a:hover,
.breadcrumb__wrapper .breadcrumb-link:hover,
.breadcrumb__wrapper .breadcrumb-link:hover span,
.tls-bc .tls-bc-w li a:hover,
.tls-prod .short-description a:hover,
.tls-prod .product-description a:hover {
  color: var(--tls-orange) !important;
}

/* déclinaisons (widget product-variants) */

.tls-prod .product-variations .ce-product-variants {
  display: flex;
  flex-direction: column;
  flex-wrap: nowrap;
  align-items: stretch;
  gap: 30px !important;
  width: 100% !important;
  margin: 0;
  padding: 0;
  border: none;
  background: transparent;
}

.tls-prod .product-variations .ce-product-variants__item {
  display: flex;
  flex-direction: column;
  flex-wrap: nowrap;
  align-items: flex-start;
  gap: 8px !important;
  width: 100% !important;
  margin: 0;
  padding: 0;
  border: none;
  background: transparent;
}

.tls-prod .product-variations .ce-product-variants__label,
.tls-prod .product-variations .control-label,
.tls-prod .product-customization label,
.tls-prod .product-customization .control-label {
  display: block;
  width: auto;
  height: auto;
  margin: 0;
  padding: 0;
  border: none;
  background: transparent;
  font-family: var(--tls-font);
  font-weight: 600;
  font-size: 13px;
  line-height: 15px;
  letter-spacing: 0.13px;
  text-transform: uppercase;
  color: #000000;
  cursor: default;
}

.tls-prod .product-variations .ce-product-variants__select {
  position: relative;
  display: inline-flex;
  width: auto;
  min-width: 200px;
}

.tls-prod .product-variations .ce-product-variants__select:after {
  content: "";
  position: absolute;
  right: 14px;
  top: 50%;
  width: 10px;
  height: 6px;
  margin-top: -3px;
  background-image: var(--tls-sel);
  background-repeat: no-repeat;
  background-position: center center;
  background-size: 10px 6px;
  pointer-events: none;
}

.tls-prod .product-variations select {
  width: 100%;
  height: 38px;
  margin: 0;
  padding: 0 36px 0 14px;
  border: 1px solid var(--tls-chip);
  border-radius: 5px;
  background: #FFFFFF;
  box-shadow: none;
  appearance: none;
  font-family: var(--tls-font);
  font-weight: 600;
  font-size: 13px;
  line-height: 15px;
  letter-spacing: 0.13px;
  text-transform: uppercase;
  color: #000000;
  cursor: pointer;
}

.tls-cat .ce-load-more:hover,
.tls-cat .tls-more-btn .elementor-button:hover,
.tls-prod .product-variations select:hover,
.tls-prod .product-variations label:hover,
.tls-prod .product-customization input:focus,
.tls-prod .product-customization textarea:focus,
.tls-cat .tls-mesh-list .elementor-icon-list-item>a:hover {
  border-color: #000000 !important;
}

.tls-prod .product-variations ul {
  display: flex !important;
  flex-direction: row !important;
  flex-wrap: wrap !important;
  align-items: center !important;
  gap: 8px !important;
  width: 100% !important;
  margin: 0 !important;
  padding: 0 !important;
  list-style: none !important;
}

.tls-prod .product-variations li {
  display: inline-flex !important;
  margin: 0 !important;
  padding: 0 !important;
  list-style: none !important;
}

.tls-prod .product-variations label,
.tls-prod .product-variations .ce-product-variants__value {
  display: inline-flex !important;
  flex-direction: row !important;
  align-items: center !important;
  justify-content: center !important;
  height: 38px !important;
  padding: 0 15px !important;
  border: 1px solid var(--tls-chip) !important;
  border-radius: 5px !important;
  background: #FFFFFF !important;
  font-family: var(--tls-font) !important;
  font-weight: 600 !important;
  font-size: 13px !important;
  line-height: 15px !important;
  letter-spacing: 0.13px !important;
  text-transform: uppercase !important;
  color: #000000 !important;
  white-space: nowrap !important;
  cursor: pointer !important;
  transition: background .2s ease, color .2s ease, border-color .2s ease !important;
}

.tls-prod .product-variations label span {
  display: inline !important;
  height: auto !important;
  padding: 0 !important;
  border: none !important;
  border-radius: 0 !important;
  background: transparent !important;
  color: inherit !important;
}

.tls-prod .product-variations input[type="radio"],
.tls-prod .product-variations input[type="checkbox"] {
  position: absolute !important;
  width: 1px !important;
  height: 1px !important;
  opacity: 0 !important;
  pointer-events: none !important;
}

.tls-prod .product-variations label:has(input:checked) {
  background: #000000 !important;
  border-color: #000000 !important;
  color: #FFFFFF !important;
}

/* personnalisation (widget product-customization) */

.tls-prod .product-customization .elementor-widget-container,
.tls-prod .product-customization .product-customization,
.tls-prod .product-customization .card-block,
.tls-prod .product-customization .elementor-field-group {
  display: flex !important;
  flex-direction: column !important;
  flex-wrap: nowrap !important;
  align-items: stretch !important;
  gap: 8px !important;
  width: 100% !important;
  margin: 0 !important;
  padding: 0 !important;
  border: none !important;
  background: transparent !important;
}

.tls-prod .product-customization input,
.tls-prod .product-customization textarea {
  width: 100% !important;
  margin: 0 !important;
  border: 1px solid var(--tls-chip) !important;
  border-radius: 5px !important;
  background: #FFFFFF !important;
  box-shadow: none !important;
  outline: none !important;
  appearance: none !important;
  font-family: var(--tls-font) !important;
  font-weight: 600 !important;
  font-size: 13px !important;
  line-height: 15px !important;
  letter-spacing: 0.13px !important;
  text-transform: uppercase !important;
  color: #000000 !important;
}

.tls-prod .product-customization input {
  height: 49px !important;
  padding: 0 15px !important;
}

.tls-prod .product-customization textarea {
  height: auto !important;
  min-height: 49px !important;
  padding: 14px 15px !important;
  resize: vertical !important;
}

.tls-prod .product-customization input::placeholder,
.tls-prod .product-customization textarea::placeholder {
  color: #AAAAAA !important;
  opacity: 1 !important;
}

/* BLOC 3 · PRIX + PANIER (bloc crème 708 × 93 r12) */

.tls-pi-buy-col>.elementor-widget-wrap,
.tls-pi-buy-col>.elementor-column-wrap>.elementor-widget-wrap {
  display: flex;
  flex-direction: column;
  flex-wrap: nowrap;
  align-items: stretch;
  gap: 20px;
  width: 100% !important;
}

.tls-prod .tls-buy {
  width: 100% !important;
  border-radius: 12px;
  background: var(--tls-buy-bg);
}

.tls-buy>.elementor-container>.elementor-row {
  display: flex;
  flex-direction: row;
  flex-wrap: wrap;
  align-items: center;
  justify-content: space-between;
  gap: 16px 20px;
  width: 100% !important;
  min-height: 93px;
  padding: 20px 24px;
  box-sizing: border-box;
}

.tls-prod .product-price .ce-product-prices {
  display: flex;
  flex-direction: row;
  flex-wrap: wrap;
  align-items: flex-start;
  gap: 8px !important;
  margin: 0;
  padding: 0;
}

.tls-prod .product-price .ce-product-price,
.tls-prod .product-price .ce-product-price span {
  font-family: var(--tls-font);
  font-weight: 800;
  font-size: 40px;
  line-height: 38px;
  letter-spacing: -0.8px;
  text-transform: uppercase;
  color: #000000;
  white-space: nowrap;
}

.tls-prod .product-price .ce-product-price {
  display: inline-flex;
  flex-direction: row;
  flex-wrap: wrap;
  align-items: center;
  gap: 10px;
}

.tls-prod .product-price .ce-tax-shipping-delivery-label {
  align-self: flex-start;
  margin-top: 1px;
  font-family: var(--tls-font);
  font-weight: 700;
  font-size: 20px;
  line-height: 24px;
  letter-spacing: -0.4px;
  text-transform: uppercase;
  color: #000000;
}

.tls-prod .product-price .ce-product-price-regular {
  flex: 0 0 100% !important;
  order: -1 !important;
  margin: 0 0 2px !important;
  font-family: var(--tls-font) !important;
  font-weight: 600 !important;
  font-size: 16px !important;
  line-height: 18px !important;
  letter-spacing: -0.16px !important;
  color: var(--tls-mute) !important;
  text-decoration: line-through !important;
}

.tls-prod .product-price .ce-product-prices .ce-product-badge-sale-percentage {
  display: none !important;
}

.tls-prod .product-price .ce-product-badge {
  display: inline-flex !important;
  align-items: center !important;
  height: 24px !important;
  padding: 0 10px !important;
  border-radius: 4px !important;
  background: var(--tls-red) !important;
  font-family: var(--tls-font) !important;
  font-weight: 700 !important;
  font-size: 11px !important;
  line-height: 12px !important;
  letter-spacing: 0 !important;
  text-transform: uppercase !important;
  color: #FFFFFF !important;
  white-space: nowrap !important;
}

.tls-pi-rating>.elementor-widget-wrap,
.tls-pi-rating>.elementor-column-wrap>.elementor-widget-wrap,
.tls-buy-act>.elementor-widget-wrap,
.tls-buy-act>.elementor-column-wrap>.elementor-widget-wrap {
  display: flex;
  flex-direction: row;
  flex-wrap: nowrap;
  align-items: center;
  gap: 10px;
  width: auto;
}

.tls-prod .product-quantity .elementor-widget-container,
.tls-prod .add-to-cart .elementor-widget-container {
  width: auto !important;
}

.tls-prod .product-quantity .ce-product-quantity {
  display: flex;
  flex-direction: row;
  flex-wrap: nowrap;
  align-items: center;
  justify-content: space-between;
  gap: 8px;
  width: 89px;
  height: 53px;
  margin: 0;
  padding: 0 14px;
  border: none;
  border-radius: 5px;
  background: #FFFFFF;
  box-sizing: border-box;
}

.tls-prod .product-quantity .ce-product-quantity__btn {
  display: block;
  flex: 0 0 11px;
  width: 11px;
  height: 11px;
  margin: 0;
  padding: 0;
  border: none;
  background-repeat: no-repeat;
  background-position: center center;
  background-size: 11px 11px;
  font-size: 0;
  line-height: 0;
  color: transparent;
  cursor: pointer;
}

.tls-prod .product-quantity .ce-product-quantity__minus {
  background-image: var(--tls-minus);
}

.tls-prod .product-quantity .ce-product-quantity__plus {
  background-image: var(--tls-plus);
}

.tls-prod .product-quantity input {
  flex: 1 1 auto;
  width: 24px;
  min-width: 0;
  height: auto;
  margin: 0;
  padding: 0;
  border: none;
  background: transparent;
  box-shadow: none;
  outline: none;
  appearance: none;
  text-align: center;
  font-family: var(--tls-font);
  font-weight: 700;
  font-size: 16px;
  line-height: 18px;
  letter-spacing: -0.16px;
  color: #000000;
}

.tls-prod .product-quantity input::-webkit-inner-spin-button,
.tls-prod .product-quantity input::-webkit-outer-spin-button {
  appearance: none;
  margin: 0;
}

.tls-prod .add-to-cart .elementor-button {
  display: inline-flex;
  flex-direction: row;
  flex-wrap: nowrap;
  align-items: center;
  justify-content: flex-start;
  width: 358px;
  max-width: 100%;
  height: 53px;
  margin: 0;
  padding: 0 28px 0 42px;
  border: none !important;
  border-radius: 5px;
  background: #000000;
  box-shadow: none;
  appearance: none;
  font-family: var(--tls-font);
  font-weight: 700;
  font-size: 16px;
  line-height: 18px;
  letter-spacing: -0.16px;
  text-transform: uppercase;
  text-align: left;
  color: #FFFFFF !important;
  cursor: pointer;
  box-sizing: border-box;
  transition: background .2s ease;
}

.tls-prod .add-to-cart .elementor-button:hover {
  background: var(--tls-orange) !important;
}

.tls-prod .add-to-cart .elementor-button-content-wrapper {
  display: flex;
  flex-direction: row;
  flex-wrap: nowrap;
  align-items: center;
  gap: 15px;
}

.tls-prod .add-to-cart .elementor-button-icon {
  display: block;
  flex: 0 0 21px;
  width: 21px;
  height: 21px;
  margin: 0;
  padding: 0;
  background-image: var(--tls-cart);
  background-repeat: no-repeat;
  background-position: center center;
  background-size: 21px 21px;
  font-size: 0;
  line-height: 0;
  color: transparent;
}

.tls-prod .add-to-cart .elementor-button-text {
  font: inherit;
  color: inherit !important;
  letter-spacing: inherit;
  text-transform: inherit;
}

/* BLOC 3b · RÉASSURANCE (ligne 18, écart 24) */

.tls-trust>.elementor-widget-wrap,
.tls-trust>.elementor-column-wrap>.elementor-widget-wrap {
  display: flex;
  flex-direction: row;
  flex-wrap: wrap;
  align-items: center;
  justify-content: center;
  gap: 24px;
  width: 100% !important;
  min-height: 18px;
}

.tls-prod .tls-buy-act .elementor-widget,
.tls-prod .product-quantity,
.tls-prod .add-to-cart,
.tls-prod .tls-buy .elementor-column,
.tls-prod .tls-pi-rating .elementor-widget,
.tls-prod .tls-pi-meta .elementor-column,
.tls-best .tls-best-h1,
.tls-best .tls-best-h2,
.tls-prod .tls-trust .elementor-widget {
  width: auto !important;
  flex: 0 0 auto;
}

.tls-prod .tls-trust-w .elementor-icon-list-items {
  display: flex;
  flex-direction: row;
  flex-wrap: wrap;
  align-items: center;
  justify-content: center;
  gap: 24px;
  margin: 0;
  padding: 0;
  list-style: none;
}

.tls-prod .tls-trust-w .elementor-icon-list-item {
  display: inline-flex;
  flex-direction: row;
  align-items: center;
  gap: 8px;
  margin: 0;
  padding: 0;
  list-style: none;
}

.tls-prod .tls-trust-w .elementor-icon-list-item:before {
  display: inline-block;
  flex: 0 0 18px;
  width: 18px;
  height: 18px;
  font-size: 18px;
  line-height: 18px;
  text-align: center;
}

.tls-prod .tls-trust-w .elementor-icon-list-text {
  font-family: var(--tls-font);
  font-weight: 600;
  font-size: 13px;
  line-height: 15px;
  letter-spacing: 0.13px;
  text-transform: uppercase;
  color: var(--tls-mute);
  white-space: nowrap;
}

.tls-header .tls-nav-menu .elementor-nav--main ul ul ul ul,
.tls-header .tls-nav-menu .sub-arrow {
  display: none !important;
}

/* BLOC 4 · DESCRIPTION (écart 14) */

.tls-desc-col>.elementor-widget-wrap,
.tls-desc-col>.elementor-column-wrap>.elementor-widget-wrap {
  display: flex;
  flex-direction: column;
  flex-wrap: nowrap;
  align-items: stretch;
  gap: 14px;
  width: 100% !important;
}

.tls-prod .tls-h2,
.tls-prod .tls-h2 .elementor-heading-title {
  font-family: var(--tls-font);
  font-weight: 800;
  font-size: 20px;
  line-height: 23.44px;
  letter-spacing: -0.4px;
  text-transform: uppercase;
  color: #000000;
}

.tls-prod .short-description,
.tls-prod .short-description p,
.tls-prod .short-description div,
.tls-prod .short-description span,
.tls-prod .short-description li,
.tls-prod .product-description,
.tls-prod .product-description p,
.tls-prod .product-description div,
.tls-prod .product-description li,
.tls-prod .product-description span,
.tls-prod .tls-body,
.tls-prod .tls-body p {
  font-family: var(--tls-roboto);
  font-weight: 400;
  font-size: 16px;
  line-height: 21px;
  letter-spacing: 0;
  text-transform: none;
  color: var(--tls-txt);
}

.tls-prod .add-to-cart .elementor-button-icon i,
.tls-prod .add-to-cart .elementor-button-icon svg,
.tls-prod .short-description p:empty,
.tls-prod .product-images .elementor-swiper-button,
.tls-prod .product-images .swiper-scrollbar,
.tls-cat-full-desc p:empty,
.tls-cat-full-desc h2:empty,
.tls-cat-full-desc h3:empty,
.tls-cat .tls-mini-cat .ce-product-meta__label,
.tls-cat .tls-mini-cat .ce-product-meta__reference,
.tls-cat .tls-mini-cat .ce-product-meta__manufacturer,
.tls-cat .tls-cat-desc>.elementor-widget-container>h1:first-child,
.tls-cat .tls-cat-desc img,
.tls-cat .tls-cat-desc p:empty,
.tls-cat .tls-cat-desc h2:empty,
.tls-cat .tls-cat-desc h3:empty,
.tls-news .tls-news-grid .post-item-infos,
.tls-news .tls-news-grid .block-title,
.tls-prod .product-description p:empty {
  display: none;
}

.tls-prod .product-description p+p,
.tls-prod .product-description div+div,
.tls-prod .tls-body p+p {
  margin-top: 10px;
}

.tls-prod .product-description h2,
.tls-prod .product-description h3 {
  margin: 24px 0 8px !important;
  padding: 0 !important;
  font-family: var(--tls-font) !important;
  font-weight: 700 !important;
  font-size: 17px !important;
  line-height: 20px !important;
  letter-spacing: -0.17px !important;
  text-transform: uppercase !important;
  color: #000000 !important;
}

.tls-prod .product-description img {
  max-width: 100% !important;
}

/* BLOC 5 · CARACTÉRISTIQUES (r12 #FAFAFA) */

.tls-prod .tls-spec {
  width: 100% !important;
  border-radius: 12px;
  background: var(--tls-spec-bg);
}

.tls-spec-col>.elementor-widget-wrap,
.tls-spec-col>.elementor-column-wrap>.elementor-widget-wrap {
  display: flex;
  flex-direction: column;
  flex-wrap: nowrap;
  align-items: stretch;
  gap: 0;
  width: 100% !important;
  padding: 20px 24px;
}

.tls-prod .product-features .ce-product-features,
.tls-prod .tls-spec table {
  width: 100% !important;
  margin: 0 !important;
  border: none !important;
  border-collapse: collapse !important;
  table-layout: auto !important;
}

.tls-prod .product-features .ce-product-features__label,
.tls-prod .tls-spec th,
.tls-prod .tls-spec dt {
  padding: 12px 10px 12px 0 !important;
  border: none !important;
  border-bottom: 1px solid var(--tls-line) !important;
  text-align: left !important;
  vertical-align: baseline !important;
  font-family: var(--tls-font) !important;
  font-weight: 700 !important;
  font-size: 15px !important;
  line-height: 18px !important;
  letter-spacing: -0.15px !important;
  text-transform: uppercase !important;
  color: #000000 !important;
  white-space: nowrap !important;
}

.tls-prod .product-features .ce-product-features__value,
.tls-prod .tls-spec td,
.tls-prod .tls-spec dd {
  padding: 12px 0 !important;
  margin: 0 !important;
  border: none !important;
  border-bottom: 1px solid var(--tls-line) !important;
  vertical-align: baseline !important;
  font-family: var(--tls-roboto) !important;
  font-weight: 400 !important;
  font-size: 16px !important;
  line-height: 21px !important;
  letter-spacing: 0 !important;
  text-transform: none !important;
  color: var(--tls-txt) !important;
}

.tls-prod .tls-spec tr:first-child th,
.tls-prod .tls-spec tr:first-child td,
.tls-prod .tls-spec dt:first-of-type,
.tls-prod .tls-spec dd:first-of-type {
  padding-top: 16px !important;
}

.tls-prod .tls-spec tr:last-child th,
.tls-prod .tls-spec tr:last-child td,
.tls-prod .tls-spec dt:last-of-type,
.tls-prod .tls-spec dd:last-of-type {
  border-bottom: none !important;
  padding-bottom: 4px !important;
}

.tls-prod .tls-spec dl {
  display: grid !important;
  grid-template-columns: auto 1fr !important;
  column-gap: 0 !important;
  align-items: baseline !important;
  width: 100% !important;
  margin: 0 !important;
  padding: 0 !important;
}

/* BLOC 6 · PRODUITS ASSOCIÉS (1528 × 440) */

.tls-rel {
  padding-top: 20px;
}

.tls-rel-col>.elementor-widget-wrap,
.tls-rel-col>.elementor-column-wrap>.elementor-widget-wrap {
  display: flex;
  flex-direction: column;
  flex-wrap: nowrap;
  align-items: stretch;
  gap: 30px;
  width: 100% !important;
}

.tls-rel.tls-pc {
  --tls-pc-cols: 4;
  --tls-pc-gap: 20px;
  --tls-pc-ratio: 366/300;
}

.tls-prod .tls-rel-t,
.tls-prod .tls-rel-t .elementor-heading-title,
.tls-faq .tls-h2,
.tls-faq .tls-h2 .elementor-heading-title {
  font-family: var(--tls-font);
  font-weight: 800;
  font-size: 40px;
  line-height: 38px;
  letter-spacing: -0.8px;
  text-transform: uppercase;
  color: #000000;
}

.tls-prod .tls-rel .ce-product-grid {
  flex-wrap: wrap !important;
  overflow: visible !important;
  row-gap: 60px !important;
}

.tls-prod .tls-rel .tls-mini .tls-mini-pic>.elementor-widget-container {
  aspect-ratio: 366/300;
  border-radius: 10px !important;
}

.tls-prod .tls-rel .tls-mini .tls-mini-badges .ce-product-badge {
  height: 24px !important;
  padding: 0 10px !important;
  border-radius: 4px !important;
  background: #000000 !important;
  font-family: var(--tls-font) !important;
  font-weight: 700 !important;
  font-size: 11px !important;
  line-height: 12px !important;
  letter-spacing: 0 !important;
  text-transform: uppercase !important;
  color: #FFFFFF !important;
}

.tls-prod .product-description p:has(>strong:only-child),
.tls-prod .product-description p:has(>b:only-child) {
  margin-top: 24px !important;
}

.tls-prod .product-description strong,
.tls-prod .product-description b,
.tls-prod .product-description p:has(>strong:only-child)>strong,
.tls-prod .product-description p:has(>b:only-child)>b {
  font-family: var(--tls-font) !important;
  font-weight: 700 !important;
  font-size: 17px !important;
  line-height: 20px !important;
  letter-spacing: -0.17px !important;
  text-transform: uppercase !important;
  color: #000000 !important;
}

.tls-prod.tls-prod-bottom.elementor-top-section:not(.tls-cat)>.elementor-container>.elementor-row {
  flex-wrap: nowrap !important;
}

.tls-prod.tls-prod-bottom.elementor-top-section:not(.tls-cat)>.elementor-container>.elementor-row>.elementor-column:first-child {
  flex: 760 1 0 !important;
  max-width: 760px !important;
}

.tls-prod.tls-prod-bottom.elementor-top-section:not(.tls-cat)>.elementor-container>.elementor-row>.elementor-column:last-child {
  flex: 708 1 0 !important;
  max-width: 708px !important;
}

/* responsive */

@media (max-width:1024px) {

  .tls-prod.elementor-top-section:not(.tls-cat)>.elementor-container>.elementor-row,
  .tls-fp>.elementor-container>.elementor-row>.elementor-column>.elementor-widget-wrap>.elementor-section>.elementor-container>.elementor-row,
  .tls-fp>.elementor-container>.elementor-row>.elementor-column>.elementor-column-wrap>.elementor-widget-wrap>.elementor-section>.elementor-container>.elementor-row {
    flex-wrap: wrap !important;
    gap: 40px !important;
  }

  .tls-prod .tls-gal-main,
  .tls-prod .tls-fp-right {
    flex: 1 1 100% !important;
    width: 100% !important;
    max-width: 100% !important;
  }

  .tls-prod .product-name,
  .tls-prod .short-description {
    max-width: none;
  }
}

@media (max-width:1200px) {
  .tls-rel.tls-pc {
    --tls-pc-cols: 3;
  }
}

@media (max-width:900px) {
  .tls-rel.tls-pc {
    --tls-pc-cols: 2;
  }

  .tls-prod.elementor-top-section:not(.tls-cat)>.elementor-container>.elementor-row>.elementor-column {
    flex: 1 1 100%;
    width: 100%;
  }

  .tls-prod.tls-prod-bottom.elementor-top-section:not(.tls-cat)>.elementor-container>.elementor-row {
    flex-direction: column !important;
    flex-wrap: nowrap !important;
    align-items: stretch !important;
    gap: 40px !important;
  }

  .tls-prod.tls-prod-bottom.elementor-top-section:not(.tls-cat)>.elementor-container>.elementor-row>.elementor-column:first-child,
  .tls-prod.tls-prod-bottom.elementor-top-section:not(.tls-cat)>.elementor-container>.elementor-row>.elementor-column:last-child {
    flex: 0 0 auto !important;
    width: 100% !important;
    max-width: 100% !important;
  }

  .tls-prod.tls-prod-bottom.elementor-top-section:not(.tls-cat)>.elementor-container>.elementor-row>.elementor-column:has(.tls-spec) {
    order: -1 !important;
  }

  .tls-prod .product-name,
  .tls-prod .product-name .elementor-heading-title,
  .tls-prod .product-name h1 {
    font-size: 34px;
    line-height: 34px;
    letter-spacing: -0.68px;
  }

  .tls-buy>.elementor-container>.elementor-row {
    flex-wrap: wrap;
    gap: 16px;
    padding: 16px;
  }

  .tls-buy-act>.elementor-widget-wrap,
  .tls-buy-act>.elementor-column-wrap>.elementor-widget-wrap,
  .tls-prod .add-to-cart .elementor-button {
    width: 100%;
  }

  .tls-prod .add-to-cart .elementor-button {
    padding: 0 20px;
    justify-content: center;
  }

  .tls-prod .tls-buy .elementor-column {
    flex: 1 1 100%;
    width: 100%;
  }
}

@media (max-width:767px) {

  .tls-trust>.elementor-widget-wrap,
  .tls-trust>.elementor-column-wrap>.elementor-widget-wrap,
  .tls-prod .tls-trust-w .elementor-icon-list-items {
    flex-direction: column;
    flex-wrap: nowrap;
    align-items: center;
    justify-content: flex-start;
    gap: 10px;
  }

  .tls-prod .tls-trust .elementor-widget {
    width: 100% !important;
    flex: 0 0 auto;
  }

  .tls-prod .product-variations .ce-product-variants__select {
    width: 100%;

  }
}

@media (max-width:600px) {

  .tls-spec-col>.elementor-widget-wrap,
  .tls-spec-col>.elementor-column-wrap>.elementor-widget-wrap {
    padding: 16px;
  }
}


/* ──────────────────────────────────────────────────────────────────────────
   22 · PAGES NATIVES PRESTASHOP (PANIER, COMPTE, 404)
   ────────────────────────────────────────────────────────────────────────── */

/* Gabarit : respiration avant le footer */

body.pagenotfound #wrapper,
body.page-cart #wrapper,
body.page-authentication #wrapper,
body.page-registration #wrapper,
body.page-password #wrapper,
body.page-my-account #wrapper,
body.page-identity #wrapper,
body.page-addresses #wrapper,
body.page-address #wrapper,
body.page-order #wrapper,
body.page-order-confirmation #wrapper,
body.page-order-detail #wrapper,
body.page-order-history #wrapper,
body.page-order-follow #wrapper,
body.page-order-slip #wrapper,
body.page-discount #wrapper,
body.page-contact #wrapper,
body.page-stores #wrapper,
body.page-sitemap #wrapper,
body.page-cms #wrapper {
  padding-bottom: 70px !important;
}

/* Fil d'ariane aligné sur la colonne de contenu */

#wrapper>.breadcrumb__wrapper {
  padding-left: 0 !important;
  padding-right: 0 !important;
}

/* Boutons natifs (hors widgets Elementor) */

.btn-primary:not(.elementor *),
.btn-secondary:not(.elementor *),
.btn-outline-primary:not(.elementor *),
.btn-outline-secondary:not(.elementor *) {
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  gap: 8px !important;
  height: 44px !important;
  padding: 0 20px !important;
  border: 1px solid transparent !important;
  border-radius: 5px !important;
  box-shadow: none !important;
  font-family: var(--tls-font) !important;
  font-weight: 800 !important;
  font-size: 15px !important;
  line-height: 17px !important;
  letter-spacing: 0 !important;
  text-transform: uppercase !important;
  text-decoration: none !important;
  transition: background-color .2s ease, color .2s ease, border-color .2s ease !important;
}

.btn-lg:not(.elementor *) {
  height: 50px !important;
  padding: 0 24px !important;
  font-size: 16px !important;
  border-radius: 5px !important;
}

.btn-sm:not(.elementor *) {
  height: 38px !important;
  padding: 0 14px !important;
  font-size: 14px !important;
  border-radius: 5px !important;
}

.btn-primary:not(.elementor *) {
  background: #000000 !important;
  border-color: #000000 !important;
  color: #FFFFFF !important;
}

.btn-secondary:not(.elementor *),
.btn-outline-primary:not(.elementor *),
.btn-outline-secondary:not(.elementor *) {
  background: #FFFFFF !important;
  border-color: #000000 !important;
  color: #000000 !important;
}

.btn-primary:not(.elementor *):hover,
.btn-primary:not(.elementor *):focus,
.btn-primary:not(.elementor *):active,
.btn-secondary:not(.elementor *):hover,
.btn-outline-primary:not(.elementor *):hover,
.btn-outline-secondary:not(.elementor *):hover {
  background: var(--tls-orange) !important;
  border-color: var(--tls-orange) !important;
  color: #FFFFFF !important;
}

.btn-basic:not(.elementor *) {
  height: auto !important;
  padding: 0 !important;
  background: transparent !important;
  border: none !important;
  border-radius: 0 !important;
  box-shadow: none !important;
  font-family: var(--tls-font) !important;
  font-weight: 700 !important;
  font-size: 14px !important;
  text-transform: uppercase !important;
  color: #000000 !important;
  text-decoration: underline !important;
}

.btn-basic:not(.elementor *):hover,
.btn-basic:not(.elementor *):focus {
  color: var(--tls-orange) !important;
}

/* Groupes de champs : on garde les coins du groupe, pas ceux des boutons */

.input-group>.btn,
.input-group>.form-control,
.input-group>.form-select {
  border-radius: 0 !important;
}

.input-group>.form-control:first-child,
.input-group>.form-select:first-child,
.input-group>.btn:first-of-type:not(:last-of-type) {
  border-radius: 5px 0 0 5px !important;
}

.input-group>.form-control:last-child,
.input-group>.form-select:last-child,
.input-group>.btn:last-of-type {
  border-radius: 0 5px 5px 0 !important;
}

.input-group>.btn-square-icon {
  height: auto !important;
  padding: 6px !important;
}

/* Titre de page */

#wrapper .page-title-section,
#wrapper .page-header h1 {
  font-family: var(--tls-font) !important;
  font-weight: 900 !important;
  letter-spacing: -0.5px !important;
  text-transform: uppercase !important;
  color: #000000 !important;
}

/* Responsive */

@media (max-width:767px) {

  body.pagenotfound #wrapper,
  body.page-cart #wrapper,
  body.page-authentication #wrapper,
  body.page-registration #wrapper,
  body.page-password #wrapper,
  body.page-my-account #wrapper,
  body.page-identity #wrapper,
  body.page-addresses #wrapper,
  body.page-address #wrapper,
  body.page-order #wrapper,
  body.page-order-confirmation #wrapper,
  body.page-order-detail #wrapper,
  body.page-order-history #wrapper,
  body.page-order-follow #wrapper,
  body.page-order-slip #wrapper,
  body.page-discount #wrapper,
  body.page-contact #wrapper,
  body.page-stores #wrapper,
  body.page-sitemap #wrapper,
  body.page-cms #wrapper {
    padding-bottom: 45px !important;
  }

  .btn-primary:not(.elementor *),
  .btn-secondary:not(.elementor *),
  .btn-outline-primary:not(.elementor *),
  .btn-outline-secondary:not(.elementor *) {
    font-size: 14px !important;
  }
}


/* ──────────────────────────────────────────────────────────────────────────
   23 · MODALE « AJOUT AU PANIER »
   ────────────────────────────────────────────────────────────────────────── */

#blockcart-modal .modal-content {
  border: none !important;
  border-radius: 10px !important;
}

#blockcart-modal .modal-header {
  align-items: center !important;
  gap: 10px !important;
  padding: 24px 28px 14px !important;
  border-bottom: none !important;
}

#blockcart-modal .modal-title {
  display: flex !important;
  align-items: center !important;
  gap: 10px !important;
  margin: 0 !important;
  font-family: var(--tls-font) !important;
  font-weight: 900 !important;
  font-size: 22px !important;
  line-height: 26px !important;
  letter-spacing: -0.4px !important;
  text-transform: uppercase !important;
  color: #000000 !important;
}

#blockcart-modal .modal-body {
  padding: 0 28px 20px !important;
}

#blockcart-modal .modal-body>.row {
  align-items: flex-start !important;
  row-gap: 20px !important;
}

#blockcart-modal .divide-right {
  border-right: 1px solid var(--tls-line) !important;
}

#blockcart-modal .product-image {
  width: 100% !important;
  height: auto !important;
  border-radius: 8px !important;
}

#blockcart-modal .product-name {
  margin: 0 0 8px !important;
  font-family: var(--tls-font) !important;
  font-weight: 800 !important;
  font-size: 16px !important;
  line-height: 19px !important;
  text-transform: uppercase !important;
  color: #000000 !important;
}

#blockcart-modal .product-price,
#blockcart-modal .product-quantity,
#blockcart-modal .cart-products-count,
#blockcart-modal .cart-subtotal,
#blockcart-modal .cart-total {
  display: flex !important;
  align-items: baseline !important;
  justify-content: space-between !important;
  gap: 12px !important;
  margin: 0 0 6px !important;
  font-family: var(--tls-font) !important;
  font-weight: 500 !important;
  font-size: 15px !important;
  line-height: 20px !important;
  color: #000000 !important;
}

#blockcart-modal .product-price {
  font-weight: 800 !important;
  font-size: 18px !important;
}

#blockcart-modal .cart-total {
  margin-top: 10px !important;
  padding-top: 10px !important;
  border-top: 1px solid var(--tls-line) !important;
  font-weight: 800 !important;
  font-size: 17px !important;
}

#blockcart-modal .modal-footer,
#blockcart-modal .cart-content-btn {
  display: flex !important;
  flex-wrap: wrap !important;
  align-items: center !important;
  justify-content: flex-end !important;
  gap: 12px !important;
  padding: 0 28px 24px !important;
  border-top: none !important;
}

#blockcart-modal .modal-footer>*,
#blockcart-modal .cart-content-btn>* {
  flex: 0 0 auto !important;
  margin: 0 !important;
  width: 100%;
  height: 50px !important;
  border-radius: 5px !important;
}
#blockcart-modal .blockcart-modal__cart-footer-extra a{
  width: 100% !important;
  height: 50px !important;
  border-radius: 5px !important;
}
/* Responsive */

@media (max-width:767px) {
  #blockcart-modal .divide-right {
    border-right: none !important;
    padding-bottom: 16px !important;
    border-bottom: 1px solid var(--tls-line) !important;
  }

  #blockcart-modal .modal-title {
    font-size: 19px !important;
    line-height: 22px !important;
  }

  #blockcart-modal .modal-footer,
  #blockcart-modal .cart-content-btn {
    justify-content: stretch !important;
  }

  #blockcart-modal .modal-footer>*,
  #blockcart-modal .cart-content-btn>* {
    flex: 1 1 100% !important;
  }
}

#submit-login.btn-primary:not(.elementor *),
.btn-outline-primary:not(.elementor *) {
  display: inline-flex;
  align-items: center;
  box-sizing: border-box;

  padding: 24px 10px !important;

  font-size: 15px;
  line-height: 1;
  text-align: center;
  text-decoration: none;

  background: #000000;
  color: #fff;
  fill: currentColor;

  border: none;
  border-radius: 10px;
  box-shadow: none;
  transition: background-color .25s ease, color .25s ease;

  -webkit-font-smoothing: antialiased;
  -webkit-tap-highlight-color: rgba(0, 0, 0, 0);
  width: 100%;
}

#submit-login.btn-primary:not(.elementor *):hover {
  background: var(--tls-orange);
}

#login-form .buttons-wrapper {
  flex-direction: column;
  align-items: start;
}

#login-form input.form-control {
  height: 44px;
  border: none;
  border-radius: 10px !important;
  padding: 0 15px !important;
  margin: 0;
  font-family: var(--tls-font);
  font-weight: 600;
  font-size: 13px;
  line-height: 15px;
  letter-spacing: 0.13px;
  text-transform: uppercase;
  color: var(--tls-dark);
  outline: 1px solid #000;
  transition: box-shadow .2s ease;
}


#login-form .input-group {
  align-items: center;
  gap: 10px;
}

#login-form .input-group button.btn {
  padding: 8px !important;
  border-radius: 10px !important;
}

#wrapper .center-column {
  margin-top: 60px;
}