/*
 * Classic Child Theme - Custom CSS
 * PrestaShop 9 — Toujours L
 * Auteur : Thomas
 */

/* =============================================
   VARIABLES GLOBALES
   ============================================= */
b {
    font-weight: bold !important;
}
nav.breadcrumb {
    display: none;
}
div#content-wrapper > #main > header {
    display: none;
}
.container {
    width: 100%;
    max-width: 100%;
}
div#content-wrapper {
    padding: 0px;
}
.page-content.page-cms {
    padding: 0px;
}

/* Suppression outline au clic — Elementor */
.elementor-button:focus,
.elementor-button:active,
.elementor-button-link:focus,
.elementor-button-link:active {
    outline: none;
    box-shadow: none;
}
*:focus,
*:active,
*:focus-visible {
    outline: none !important;
    box-shadow: none !important;
    border-color: transparent !important;
}

/* Boutons flottants (3 colonnes) */
.elementor-widget-wrap:has(.boutonflotant) {
    flex-wrap: wrap !important;
    column-gap: 0 !important;
}
.elementor-widget-wrap:has(.boutonflotant) > .boutonflotant {
    flex: 0 0 33.333% !important;
    max-width: 33.333% !important;
    margin: 0 !important;
    padding: 0 8px !important;
    box-sizing: border-box !important;
    float: none !important;
}
.elementor-widget-wrap:has(.boutonflotant) > *:not(.boutonflotant) {
    flex: 0 0 100% !important;
}
.boutonflotant > div > a.elementor-button-link.elementor-button.elementor-size-sm {
    width: 100% !important;
    display: block !important;
    box-sizing: border-box !important;
}
button.elementor-button.elementor-size-sm :hover {
    transition-property: all, --ce-btn-bg-color, --ce-btn-bg-color-b;
    transition-duration: .5s;
}

/* =============================================
   NAVIGATION
   ============================================= */

/* Effet flottement — items menu */
.menu-item-lnk-accueil > a,
.menu-item-cms-page-6 > a,
.menu-item-cms-page-7 > a,
.menu-item-cms-page-8 > a,
.menu-item-cms-page-9 > a,
.menu-item-cms-page-10 > a,
.menu-item-lnk-contact > a {
    display: inline-block;
    transition: transform 0.3s ease;
}
.menu-item-lnk-accueil > a:hover,
.menu-item-cms-page-6 > a:hover,
.menu-item-cms-page-7 > a:hover,
.menu-item-cms-page-8 > a:hover,
.menu-item-cms-page-9 > a:hover,
.menu-item-cms-page-10 > a:hover,
.menu-item-lnk-contact > a:hover {
    transform: translateY(-4px);
}

/* Effet flottement — icônes header */
.elementor-element-5bd66c1 a,
.elementor-element-64a1c94 .elementor-search__toggle,
.elementor-element-b5936a8 .elementor-cart__toggle a,
button {
    display: inline-block;
    transition: transform 0.3s ease;
}
.elementor-element-5bd66c1 a:hover,
.elementor-element-64a1c94 .elementor-search__toggle:hover,
.elementor-element-b5936a8 .elementor-cart__toggle a:hover,
button:hover {
    transform: translateY(-4px);
}

/* Sous-menu custom */
.has-submenu {
    position: relative;
}
.custom-submenu {
    display: none;
    position: absolute;
    top: 100%;
    left: 50%;
    transform: translateX(-50%);
    padding-top: 10px;
    background-color: transparent;
    z-index: 999;
    min-width: 140px;
}
.custom-submenu::before {
    content: '';
    position: absolute;
    top: 10px;
    left: 0;
    right: 0;
    bottom: 0;
    background-color: #FEF5EF;
    box-shadow: 0 4px 12px rgba(0,0,0,0.1);
    z-index: -1;
}
.custom-submenu li a {
    display: block;
    padding: 4px 10px;
    font-size: 12px;
    font-weight: 200;
    text-transform: uppercase;
    color: inherit;
    transition: transform 0.3s ease, color 0.3s ease;
    text-align: center;
}
.custom-submenu li a:hover {
    transform: translateY(-3px);
    color: #d37e67 !important;
}
.has-submenu:hover .custom-submenu {
    display: block;
}
.elementor-nav--main .elementor-nav ul {
    position: absolute;
    width: auto;
}

/* =============================================
   CATALOGUE / PRODUITS
   ============================================= */

#ce-product-quick-view .dialog-widget-content {
    width: 65% !important;
    height: auto;
}

/* =============================================
   PANIER (body.page-cart)
   — CSS basé sur les vraies classes .tl-* du template
   ============================================= */

body.page-cart {
  --tl-rose:       #C4837A;
  --tl-rose-h:     #b0706a;
  --tl-rose-light: #E8B4B0;
  --tl-rose-pale:  #F5E6E4;
  --tl-text:       #3D2B2B;
  --tl-soft:       #7A5A5A;
  --tl-muted:      #B09090;
  --tl-border:     #EDD9D6;
  --tl-radius:     10px;
  --serif: 'Cormorant Garamond', Georgia, serif;
  --sans:  'Lato', system-ui, sans-serif;
}

a {
    color: var(--tl-rose-h);
}
body#checkout section.checkout-step .address-item.selected {
    border: solid var(--tl-rose-light) 1px !important;
	border-radius:10px;
}
.custom-radio input[type=radio]:checked+span {

    background-color: var(--tl-rose);
}


/* Stop transform global sur boutons du panier */
body.page-cart button,
body.page-cart button:hover {
  transform: none !important;
}
body.page-cart *:active {
  border-color: inherit !important;
}

/* Fond blanc */
body.page-cart #wrapper,
body.page-cart #content-wrapper,
body.page-cart #main {
  background: #fff !important;
}

/* Section principale */
body.page-cart .tl-cart-section {
  background: #fff !important;
  padding-top: 50px !important;
  padding-bottom: 50px !important;
}

/* Centrage 1140px */
body.page-cart .tl-cart-section > .container {
  max-width: 1140px !important;
  width: 100% !important;
  margin-left: auto !important;
  margin-right: auto !important;
  padding-left: 20px !important;
  padding-right: 20px !important;
}

/* Hero titre */
body.page-cart .tl-cart-hero {
  text-align: center;
  margin-bottom: 28px;
}
body.page-cart .tl-cart-title {
  font-family: var(--serif) !important;
  font-size: clamp(2rem, 5vw, 3rem) !important;
  font-weight: 300 !important;
  color: var(--tl-text) !important;
  letter-spacing: .02em !important;
  margin: 0 0 6px !important;
  line-height: 1.15 !important;
}
body.page-cart .tl-cart-title em {
  color: var(--tl-rose) !important;
  font-style: italic !important;
}
body.page-cart .tl-cart-subtitle {
  font-family: var(--sans) !important;
  font-size: .82rem !important;
  color: var(--tl-muted) !important;
  letter-spacing: .08em !important;
}

/* Layout 2 colonnes */
body.page-cart .tl-cart-layout {
  display: grid !important;
  grid-template-columns: 1fr 340px !important;
  gap: 28px !important;
  align-items: start !important;
}

/* Colonne produits */
body.page-cart .tl-cart-products {
  min-width: 0 !important;
}

/* En-tête colonnes — masqué */
body.page-cart .tl-cart-header {
  display: none !important;
}

/* Ligne produit */
body.page-cart .tl-cart-item {
  display: grid !important;
  grid-template-columns: 80px 1fr 110px 130px 90px 36px !important;
  gap: 12px !important;
  align-items: center !important;
  padding: 16px !important;
  border: 1px solid #000 !important;
  border-radius: var(--tl-radius) !important;
  margin-bottom: 12px !important;
  background: #fff !important;
  min-width: 0 !important;
}

/* Image produit */
body.page-cart .tl-item-image {
  width: 80px !important;
  height: 80px !important;
  border-radius: 8px !important;
  overflow: hidden !important;
}
body.page-cart .tl-item-image img {
  width: 100% !important;
  height: 100% !important;
  object-fit: cover !important;
  display: block !important;
}

/* Nom produit */
body.page-cart .tl-item-name {
  font-family: var(--serif) !important;
  font-size: 1rem !important;
  font-weight: 500 !important;
  color: var(--tl-text) !important;
  text-decoration: none !important;
  display: block !important;
}
body.page-cart .tl-item-name:hover {
  color: var(--tl-rose) !important;
}

/* Prix */
body.page-cart .tl-price-current {
  font-family: var(--serif) !important;
  font-size: 1rem !important;
  font-weight: 500 !important;
  color: var(--tl-rose) !important;
}

/* Contrôles quantité */
body.page-cart .tl-qty-wrapper {
  display: flex !important;
  align-items: center !important;
  border: 1.5px solid var(--tl-border) !important;
  border-radius: 10px !important;
  overflow: hidden !important;
  width: fit-content !important;
}
body.page-cart .tl-qty-btn {
  background: transparent !important;
  border: none !important;
  width: 30px !important;
  height: 34px !important;
  font-size: 1.1rem !important;
  color: var(--tl-soft) !important;
  cursor: pointer !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  transform: none !important;
  transition: background .15s, color .15s !important;
}
body.page-cart .tl-qty-btn:hover {
  background: var(--tl-rose-pale) !important;
  color: var(--tl-rose) !important;
  transform: none !important;
}
body.page-cart .tl-qty-input {
  width: 36px !important;
  border: none !important;
  border-left: 1px solid var(--tl-border) !important;
  border-right: 1px solid var(--tl-border) !important;
  text-align: center !important;
  font-family: var(--sans) !important;
  font-size: .85rem !important;
  color: var(--tl-text) !important;
  background: transparent !important;
  padding: 6px 2px !important;
  -moz-appearance: textfield !important;
}
body.page-cart .tl-qty-input::-webkit-outer-spin-button,
body.page-cart .tl-qty-input::-webkit-inner-spin-button {
  -webkit-appearance: none !important;
}

/* Bouton supprimer */
body.page-cart .tl-remove-btn {
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  width: 28px !important;
  height: 28px !important;
  border-radius: 50% !important;
  color: var(--tl-muted) !important;
  background: transparent !important;
  text-decoration: none !important;
  transition: background .15s, color .15s !important;
}
body.page-cart .tl-remove-btn:hover {
  background: var(--tl-rose-pale) !important;
  color: var(--tl-rose) !important;
}

/* Continuer les achats */
body.page-cart .tl-link-continue {
  display: inline-flex !important;
  align-items: center !important;
  gap: 6px !important;
  font-family: var(--sans) !important;
  font-size: .83rem !important;
  color: var(--tl-soft) !important;
  text-decoration: none !important;
  margin-top: 14px !important;
  transition: color .15s !important;
}
body.page-cart .tl-link-continue:hover {
  color: var(--tl-rose) !important;
}

/* Colonne récapitulatif */
body.page-cart .tl-cart-summary {
  position: sticky !important;
  top: 100px !important;
  min-width: 0 !important;
}
body.page-cart .tl-summary-card {
  border: 1px solid #000 !important;
  border-radius: var(--tl-radius) !important;
  padding: 24px 22px !important;
  background: #fff !important;
}
body.page-cart .tl-summary-title {
  font-family: var(--serif) !important;
  font-size: 1.5rem !important;
  font-weight: 300 !important;
  color: var(--tl-text) !important;
  margin: 0 0 18px !important;
  letter-spacing: .02em !important;
}

/* Lignes totaux */
body.page-cart .tl-summary-line {
  display: flex !important;
  justify-content: space-between !important;
  align-items: center !important;
  padding: 8px 0 !important;
  border-bottom: 1px solid var(--tl-border) !important;
}
body.page-cart .tl-summary-line:last-child {
  border-bottom: none !important;
}
body.page-cart .tl-line-label {
  font-family: var(--sans) !important;
  font-size: .83rem !important;
  color: var(--tl-soft) !important;
}
body.page-cart .tl-line-value {
  font-family: var(--serif) !important;
  font-size: 1rem !important;
  color: var(--tl-text) !important;
}
body.page-cart .tl-line-shipping .tl-line-value {
  color: #7baa7b !important;
}

/* Total */
body.page-cart .tl-summary-total {
  display: flex !important;
  justify-content: space-between !important;
  align-items: center !important;
  margin: 12px 0 !important;
}
body.page-cart .tl-total-label {
  font-family: var(--sans) !important;
  font-size: .78rem !important;
  text-transform: uppercase !important;
  letter-spacing: .1em !important;
  font-weight: 700 !important;
  color: var(--tl-text) !important;
}
body.page-cart .tl-total-value {
  font-family: var(--serif) !important;
  font-size: 1.7rem !important;
  color: var(--tl-rose) !important;
}

/* Code promo */
body.page-cart .tl-promo-section {
  margin-top: 14px !important;
  border-top: 1px solid var(--tl-border) !important;
  padding-top: 14px !important;
}
body.page-cart .tl-promo-toggle {
  background: none !important;
  border: none !important;
  cursor: pointer !important;
  font-family: var(--sans) !important;
  font-size: .82rem !important;
  color: var(--tl-soft) !important;
  display: inline-flex !important;
  align-items: center !important;
  gap: 7px !important;
  padding: 0 !important;
  transform: none !important;
  transition: color .15s !important;
}
body.page-cart .tl-promo-toggle:hover {
  color: var(--tl-rose) !important;
  transform: none !important;
}
body.page-cart .tl-promo-form {
  padding-top: 10px !important;
}
body.page-cart .tl-promo-field {
  display: flex !important;
  border: 1.5px solid var(--tl-border) !important;
  border-radius: 30px !important;
  overflow: hidden !important;
}
body.page-cart .tl-promo-input {
  flex: 1 !important;
  border: none !important;
  padding: 8px 14px !important;
  font-family: var(--sans) !important;
  font-size: .82rem !important;
  background: #fdf7f6 !important;
  outline: none !important;
  box-shadow: none !important;
  border-radius: 0 !important;
  min-width: 0 !important;
}
body.page-cart .tl-promo-apply {
  background: var(--tl-rose) !important;
  color: #fff !important;
  border: none !important;
  padding: 8px 16px !important;
  font-family: var(--sans) !important;
  font-size: .78rem !important;
  font-weight: 700 !important;
  border-radius: 0 !important;
  cursor: pointer !important;
  transform: none !important;
}
body.page-cart .tl-promo-apply:hover {
  background: var(--tl-rose-h) !important;
  transform: none !important;
}

/* Bouton Commander */
body.page-cart .tl-btn-checkout {
  --ce-btn-bg-color: #FFA0A3;
  background-color: var(--ce-btn-bg-color) !important;
  color: #fff !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  width: 100% !important;
  padding: 14px 20px !important;
  border-radius: 50px !important;
  font-family: var(--sans) !important;
  font-size: .9rem !important;
  font-weight: 700 !important;
  letter-spacing: .06em !important;
  text-decoration: none !important;
  border: none !important;
  margin-top: 16px !important;
  box-shadow: none !important;
  transform: none !important;
  transition: transform .3s ease !important;
}
body.page-cart .tl-btn-checkout:hover {
  background-color: var(--ce-btn-bg-color) !important;
  color: #fff !important;
  transform: translateY(-4px) !important;
}

/* Responsive panier */
@media (max-width: 992px) {
  body.page-cart .tl-cart-layout {
    grid-template-columns: 1fr !important;
  }
  body.page-cart .tl-cart-summary {
    position: static !important;
  }
  body.page-cart .tl-cart-item {
    grid-template-columns: 70px 1fr 36px !important;
    grid-template-rows: auto auto auto !important;
    grid-template-areas:
      "img info del"
      "img price total"
      "qty qty qty" !important;
  }
  body.page-cart .tl-item-image  { grid-area: img; }
  body.page-cart .tl-item-info   { grid-area: info; }
  body.page-cart .tl-item-price  { grid-area: price; }
  body.page-cart .tl-item-qty    { grid-area: qty; }
  body.page-cart .tl-item-total  { grid-area: total; text-align: right; }
  body.page-cart .tl-item-remove { grid-area: del; display: flex; justify-content: flex-end; }
}

/* =============================================
   CHECKOUT (body.page-order)
   ============================================= */

body.page-order {
  --tl-rose:       #C4837A;
  --tl-rose-h:     #b0706a;
  --tl-rose-light: #E8B4B0;
  --tl-rose-pale:  #F5E6E4;
  --tl-text:       #3D2B2B;
  --tl-soft:       #7A5A5A;
  --tl-muted:      #B09090;
  --tl-border:     #EDD9D6;
  --tl-radius:     10px;
  --serif: 'Cormorant Garamond', Georgia, serif;
  --sans:  'Lato', system-ui, sans-serif;
}

body.page-order button,
body.page-order button:hover {
  transform: none !important;
}
body.page-order *:active {
  border-color: inherit !important;
}

body.page-order #wrapper,
body.page-order #content-wrapper,
body.page-order #main {
  background: #fff !important;
}
body.page-order #content {
  padding-top: 50px !important;
  padding-bottom: 50px !important;
}

/* Hero */
body.page-order .tl-hero {
  text-align: center;
  margin-bottom: 32px;
}
body.page-order .tl-hero h1 {
  font-family: var(--serif);
  font-size: clamp(1.8rem, 4vw, 2.8rem);
  font-weight: 300;
  color: var(--tl-text);
  letter-spacing: .02em;
  margin: 0 0 6px;
}
body.page-order .tl-hero h1 em {
  color: var(--tl-rose);
  font-style: italic;
}
body.page-order .tl-hero p {
  font-family: var(--sans);
  font-size: .82rem;
  color: var(--tl-muted);
  letter-spacing: .08em;
  margin: 0;
}

/* Layout 2 colonnes */
body.page-order .tl-checkout-grid {
  max-width: 1140px !important;
  margin: 0 auto !important;
  padding: 0 20px !important;
  display: grid !important;
  grid-template-columns: 1fr 340px !important;
  gap: 28px !important;
  align-items: start !important;
  float: none !important;
}
body.page-order .tl-checkout-grid > .cart-grid-body,
body.page-order .tl-checkout-grid > .cart-grid-right {
  float: none !important;
  min-width: 0 !important;
  width: 100% !important;
  max-width: 100% !important;
  padding-left: 0 !important;
  padding-right: 0 !important;
  box-sizing: border-box !important;
  flex: none !important;
}
body.page-order .cart-grid-right {
  position: sticky !important;
  top: 100px !important;
}

/* Étapes */
body.page-order .checkout-step {
  border: 1px solid #000 !important;
  border-radius: var(--tl-radius) !important;
  margin-bottom: 16px !important;
  overflow: hidden !important;
  background: #fff !important;
  width: 100% !important;
  box-sizing: border-box !important;
  min-width: 0 !important;
}
body.page-order .checkout-step.-current {
  border-color: var(--tl-rose) !important;
}
body.page-order .checkout-step .step-title {
  font-family: var(--serif) !important;
  font-size: 1.15rem !important;
  font-weight: 500 !important;
  color: var(--tl-text) !important;
  padding: 16px 20px !important;
  margin: 0 !important;
}
body.page-order .checkout-step .step-number {
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  width: 26px !important;
  height: 26px !important;
  border-radius: 50% !important;
  background: var(--tl-rose-pale) !important;
  color: var(--tl-rose) !important;
  font-family: var(--sans) !important;
  font-size: .78rem !important;
  font-weight: 700 !important;
}
body.page-order .checkout-step.-complete .step-number {
  background: var(--tl-rose) !important;
  color: #fff !important;
}
body.page-order .checkout-step .step-content,
body.page-order .checkout-step .content {
  padding: 0 20px 20px !important;
}

/* Formulaires */
body.page-order .form-control,
body.page-order input[type="text"],
body.page-order input[type="email"],
body.page-order input[type="tel"],
body.page-order input[type="password"],
body.page-order select,
body.page-order textarea {
  border: 1px solid var(--tl-border) !important;
  border-radius: 8px !important;
  padding: 10px 14px !important;
  font-family: var(--sans) !important;
  font-size: .88rem !important;
  color: var(--tl-text) !important;
  background: #fff !important;
  box-shadow: none !important;
}
body.page-order .form-control:focus,
body.page-order input:focus,
body.page-order select:focus {
  border-color: var(--tl-rose) !important;
  box-shadow: none !important;
  outline: none !important;
}
body.page-order label {
  font-family: var(--sans) !important;
  font-size: .82rem !important;
  color: var(--tl-soft) !important;
  font-weight: 600 !important;
}
.js-address-form,
div#hook-display-before-carrier,
.payment-options {
    margin-top: 20px;
}

/* Boutons checkout */
body.page-order .btn-primary,
body.page-order .continue,
body.page-order button[type="submit"]:not(.btn-secondary) {
  background: #FFA0A3 !important;
  color: #fff !important;
  border: none !important;
  border-radius: 50px !important;
  padding: 12px 28px !important;
  font-family: var(--sans) !important;
  font-size: .88rem !important;
  font-weight: 700 !important;
  letter-spacing: .06em !important;
  box-shadow: none !important;
  transform: none !important;
  transition: transform .3s ease !important;
}
body.page-order .btn-primary:hover,
body.page-order .continue:hover,
body.page-order button[type="submit"]:not(.btn-secondary):hover {
  background: #FFA0A3 !important;
  color: #fff !important;
  transform: translateY(-3px) !important;
}
body.page-order .btn-secondary {
  background: transparent !important;
  color: var(--tl-soft) !important;
  border: 1px solid var(--tl-border) !important;
  border-radius: 50px !important;
  padding: 10px 22px !important;
  box-shadow: none !important;
  transform: none !important;
}

/* Récap colonne droite */
body.page-order .card.cart-summary,
body.page-order .cart-summary-products {
  border: 1px solid #000 !important;
  border-radius: var(--tl-radius) !important;
  box-shadow: none !important;
  padding: 20px !important;
  background: #fff !important;
}
body.page-order .cart-summary-line {
  display: flex !important;
  justify-content: space-between !important;
  padding: 7px 0 !important;
  border-bottom: 1px solid var(--tl-border) !important;
  font-family: var(--sans) !important;
  font-size: .83rem !important;
}
body.page-order .cart-summary-line:last-child {
  border-bottom: none !important;
}
body.page-order .cart-summary-line .label { color: var(--tl-soft) !important; }
body.page-order .cart-summary-line .value { font-family: var(--serif) !important; }
body.page-order .cart-summary-line.cart-total .label {
  font-weight: 700 !important;
  text-transform: uppercase !important;
  letter-spacing: .08em !important;
  font-size: .76rem !important;
}
body.page-order .cart-summary-line.cart-total .value {
  font-size: 1.5rem !important;
  color: var(--tl-rose) !important;
}

/* Responsive checkout */
@media (max-width: 992px) {
  body.page-order .tl-checkout-grid {
    grid-template-columns: 1fr !important;
  }
  body.page-order .cart-grid-right {
    position: static !important;
  }
}

/* =============================================
   CONFIRMATION (body.page-order-confirmation)
   ============================================= */

body.page-order-confirmation {
  --tl-rose:   #C4837A;
  --tl-text:   #3D2B2B;
  --tl-soft:   #7A5A5A;
  --tl-muted:  #B09090;
  --tl-border: #EDD9D6;
  --tl-radius: 10px;
  --serif: 'Cormorant Garamond', Georgia, serif;
  --sans:  'Lato', system-ui, sans-serif;
}

body.page-order-confirmation #wrapper,
body.page-order-confirmation #content-wrapper,
body.page-order-confirmation #main {
  background: #fff !important;
}
body.page-order-confirmation button,
body.page-order-confirmation button:hover {
  transform: none !important;
}

body.page-order-confirmation .tl-confirm-hero {
  text-align: center;
  padding: 50px 20px 36px;
  max-width: 640px;
  margin: 0 auto;
}
body.page-order-confirmation .tl-confirm-icon { margin-bottom: 20px; }
body.page-order-confirmation .tl-confirm-title {
  font-family: var(--serif);
  font-size: clamp(1.8rem, 4vw, 2.8rem);
  font-weight: 300;
  color: var(--tl-text);
  margin: 0 0 12px;
}
body.page-order-confirmation .tl-confirm-title em {
  color: var(--tl-rose);
  font-style: italic;
}
body.page-order-confirmation .tl-confirm-sub {
  font-family: var(--sans);
  font-size: .88rem;
  color: var(--tl-soft);
  line-height: 1.6;
}
body.page-order-confirmation .tl-confirm-wrap {
  max-width: 860px;
  margin: 0 auto;
  padding: 0 20px 60px;
}
body.page-order-confirmation .tl-confirm-card {
  border: 1px solid #000 !important;
  border-radius: var(--tl-radius) !important;
  padding: 24px !important;
  margin-bottom: 20px !important;
  background: #fff !important;
}
body.page-order-confirmation .tl-confirm-back {
  text-align: center;
  margin-top: 30px;
}
body.page-order-confirmation .tl-confirm-back a {
  font-family: var(--sans) !important;
  font-size: .85rem !important;
  color: var(--tl-soft) !important;
  text-decoration: none !important;
}
body.page-order-confirmation .tl-confirm-back a:hover {
  color: var(--tl-rose) !important;
}

/* =============================================
   FOOTER / RESPONSIVE
   ============================================= */

@media (max-width: 768px) {

}


/* ==========================================================================
   TOUJOURS L - Remplacement de la couleur primaire du thème (bleu -> sauge)
   A ajouter A LA SUITE de custom.css existant (ne pas remplacer le fichier)
   Couleur originale : #24b9d7  ->  Nouvelle couleur : #D37E67
   ========================================================================== */

a,
#header .top-menu a[data-depth="0"]:hover,
.input-group.focus,
.dropdown .expand-more,
.product-price,
.has-discount.product-price,
.page-content.page-cms .has-discount ul,
.has-discount p,
.has-discount .page-content.page-cms ul,
#blockcart-modal .product-name,
.pagination .current a,
.tabs .nav-tabs .nav-link.active,
.block_newsletter form input[type=text]:focus + button .search,
.search-widget form input[type=text]:focus + button .search,
.btn-unstyle:focus .expand-more {
    color: #D37E67;
}

a:focus,
a:hover,
#header a:hover,
a.text-primary:focus,
a.text-primary:hover,
.text-primary,
#header .header-nav .blockcart a:hover,
.page-link,
.btn-link,
.btn-outline-primary,
.card-outline-primary,
.card-outline-secondary,
.btn-tertiary-outline:hover,
.carousel .carousel-control .icon-next:hover i,
.carousel .carousel-control .icon-prev:hover i,
.dropdown:hover .expand-more,
.page-my-account #content .links a:hover i,
.search-widget form button[type=submit] .search:hover,
.top-menu .sub-menu a:hover,
#subcategories ul li .subcategory-name:hover,
.block-categories .arrows .arrow-down:hover,
.block-categories .arrows .arrow-right:hover,
.block-categories .collapse-icons .add:hover,
.block-categories .collapse-icons .remove:hover,
.cart-grid-body a.label:hover,
.block_newsletter form button[type=submit] .search:hover,
.footer-container li a:hover,
.account-list a:hover,
#blockcart-modal .product-name,
.highlighted-informations .quick-view:hover,
.tabs .nav-tabs .nav-link.active {
    color: #C85F42 !important;
}

.btn-primary,
.btn-primary:hover,
.tag-primary,
.bg-primary,
.dropdown-item.active,
.dropdown-item.active:focus,
.dropdown-item.active:hover,
.nav-pills .nav-item.open .nav-link,
.nav-pills .nav-item.open .nav-link:focus,
.nav-pills .nav-item.open .nav-link:hover,
.nav-pills .nav-link.active,
.nav-pills .nav-link.active:focus,
.nav-pills .nav-link.active:hover,
.page-item.active .page-link,
.page-item.active .page-link:focus,
.page-item.active .page-link:hover,
.list-group-item.active,
.list-group-item.active:focus,
.list-group-item.active:hover,
.card-primary,
.product-flags li.product-flag,
#header .header-nav .cart-preview.active,
.bootstrap-touchspin .group-span-filestyle .btn-touchspin,
.group-span-filestyle .bootstrap-touchspin .btn-touchspin,
.group-span-filestyle .btn-default,
.facet-dropdown .select-list:hover,
.brands-sort .select-list:hover,
.products-sort-order .select-list:hover,
.suppliers-sort .select-list:hover,
.block-social ul li:hover {
    background-color: #D37E67;
    border-color: #D37E67;
}

.btn-primary:hover,
.btn-primary.focus,
.btn-primary:focus,
.btn-primary.active,
.btn-primary:active,
.open > .btn-primary.dropdown-toggle,
.btn-outline-primary.active,
.btn-outline-primary:active,
.open > .btn-outline-primary.dropdown-toggle,
.btn-outline-primary.focus,
.btn-outline-primary:focus,
.btn-outline-primary:hover,
a.bg-primary:focus,
a.bg-primary:hover,
.tag-primary[href]:focus,
.tag-primary[href]:hover {
    background-color: #C85F42;
    border-color: #C85F42;
}

.btn-primary.active.focus,
.btn-primary.active:focus,
.btn-primary.active:hover,
.btn-primary:active.focus,
.btn-primary:active:focus,
.btn-primary:active:hover,
.open > .btn-primary.dropdown-toggle.focus,
.open > .btn-primary.dropdown-toggle:focus,
.open > .btn-primary.dropdown-toggle:hover,
.btn-outline-primary.active.focus,
.btn-outline-primary.active:focus,
.btn-outline-primary.active:hover,
.btn-outline-primary:active.focus,
.btn-outline-primary:active:focus,
.btn-outline-primary:active:hover,
.open > .btn-outline-primary.dropdown-toggle.focus,
.open > .btn-outline-primary.dropdown-toggle:focus,
.open > .btn-outline-primary.dropdown-toggle:hover {
    background-color: #AA4B31;
    border-color: #AA4B31;
}

.btn-primary.disabled.focus,
.btn-primary.disabled:focus,
.btn-primary:disabled.focus,
.btn-primary:disabled:focus,
.btn-primary.disabled:hover,
.btn-primary:disabled:hover {
    background-color: #D37E67;
    border-color: #D37E67;
}

.btn-outline-primary.disabled.focus,
.btn-outline-primary.disabled:focus,
.btn-outline-primary:disabled.focus,
.btn-outline-primary:disabled:focus,
.btn-outline-primary.disabled:hover,
.btn-outline-primary:disabled:hover {
    border-color: #E5B2A4;
}

/* Champs de formulaire : focus / outline */
.form-control:focus,
.input-group.focus,
.search-widget form input[type=text]:focus,
.header-top .search-widgets form input[type=text]:focus,
.block_newsletter form input[type=text]:focus,
.product-customization .product-message:focus,
.form-group.has-error input,
.form-group.has-error select {
    outline-color: #D37E67;
}

.form-control:focus {
    border-color: #D37E67;
}

.custom-select:focus {
    border-color: #D37E67;
}

/* Radios / checkboxes personnalisés */
.custom-radio input[type=radio]:checked + span {
    background-color: #D37E67;
}

.custom-checkbox input[type=checkbox] + span.color.active,
.custom-checkbox input[type=checkbox] + span.color:hover,
.variant-links .color.active,
.variant-links .color:hover,
label .color.active,
label .color:hover,
.input-color:checked + span,
.input-color:hover + span,
.input-radio:checked + span,
.input-radio:hover + span {
    border-color: #232323;
}

/* Custom controls Bootstrap (checkbox/radio natifs) */
.custom-control-input:checked ~ .custom-control-indicator {
    background-color: #D37E67;
}
.custom-control-input:focus ~ .custom-control-indicator {
    box-shadow: 0 0 0 .075rem #fff, 0 0 0 .2rem #D37E67;
}
.custom-control-input:active ~ .custom-control-indicator {
    background-color: #E5B2A4;
}
.custom-checkbox .custom-control-input:indeterminate ~ .custom-control-indicator {
    background-color: #D37E67;
}

/* Images / vignettes au survol */
.product-images > li.thumb-container .thumb.selected,
.product-images > li.thumb-container .thumb:hover,
#subcategories ul li:hover .subcategory-image a,
#product-modal .modal-content .modal-body .product-images img:hover {
    border-color: #D37E67;
}

/* Filtres / facettes */
.facet-dropdown.open > .select-title {
    border-color: #D37E67;
}

/* Sélecteur de quantité / touchspin */
.input-group .input-group-btn > .btn[data-action=show-password] {
    background: #7a7a7a; /* inchangé, gris neutre */
}

/* Promo code */
.block-promo .promo-input + button {
    border-color: #D37E67;
}
.block-promo .promo-code-button.cancel-promo {
    color: #D37E67;
}

/* Adresse sélectionnée au checkout */
body#checkout section.checkout-step .address-item.selected {
    border-color: #D37E67;
}
body#checkout a:hover {
    color: #C85F42;
}





/* Bloc intro : image gauche / texte droite */
.tl-intro-flex {
  display: flex;
  align-items: center;
  gap: 40px;
  margin: 40px 0;
}
.tl-intro-image {
  flex: 0 0 25%;
  max-width: 25%;
}
.tl-intro-image img {
  width: 100%;
  height: auto;
  display: block;
  border-radius: 16px;
}
.tl-intro-text {
  flex: 0 0 75%;
  max-width: 75%;
}

/* Tablette : équilibre différent entre image et texte */
@media (max-width: 1024px) {
  .tl-intro-flex {
    gap: 24px;
  }
  .tl-intro-image {
    flex: 0 0 35%;
    max-width: 35%;
  }
  .tl-intro-text {
    flex: 0 0 65%;
    max-width: 65%;
  }
}

/* Mobile : bloc 100%, texte d'abord puis image */
@media (max-width: 767px) {
  .tl-intro-flex {
    flex-direction: column;
    gap: 24px;
  }
  .tl-intro-image,
  .tl-intro-text {
    flex: 0 0 100%;
    max-width: 100%;
  }
  .tl-intro-text {
    order: 1;
  }
  .tl-intro-image {
    order: 2;
  }
}




/* Vignettes page packs catégorie */
.tl-packs-grid {
  display: grid;
  grid-template-columns: repeat(2, 2fr);
  /*grid-template-columns: repeat(4, 1fr);*/
  gap: 24px;
  margin: 40px 0;
  font-family: 'Lato', sans-serif;
}
.pour_icon{
	color: #677D61;
    margin: 0 3px 0 0;
}

.tl-pack-card {
  background: #FFF9F5;
  border: 1px solid #F0DCD3;
  border-radius: 16px;
  padding: 28px 22px;
  text-align: left;
  transition: box-shadow 0.2s ease, transform 0.2s ease;
}

.tl-pack-card:hover {
  box-shadow: 0 8px 20px rgba(211, 126, 103, 0.15);
  transform: translateY(-3px);
}

.tl-pack-card h3 {
  font-family: "Against Regular", sans-serif;
  font-size: 1.2rem;
  color: #D37E67;
  margin: 0 0 12px;
  font-weight: 600;
  text-align: center;
}
.tl-pack-card h4 {
    font-family: "Against Regular", sans-serif !important;
    font-size: 1em !important;
    color: #D37E67 !important;
    font-weight: 600 !important;
    text-align: center !important;
	margin:15px 0 -10px 0 !important;
}
.tl-pack-card p {
  font-size: 0.92rem;
  line-height: 1.55;
  color: #4a4a4a;
  margin: 0;
  text-align: center;
}



.tl-pack-composition {
  font-size: 0.85rem;
  font-weight: 700;
  color: #AA4B31;
  text-transform: uppercase;
  letter-spacing: 0.03em;
  margin: 0 0 12px;
  text-align : center;
}
.tl-pack-tags {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  justify-content: center;
  gap: 6px;
  margin-bottom: 16px;
}
.tl-tag {
  display: inline-block;
  font-size: 0.75rem;
  font-weight: 600;
  padding: 9px 18px;
  border-radius: 999px;
  border: 1px solid transparent;
}
/* Séparateur + entre les tags */
.tl-tag-plus {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  font-size: 1.2rem;
  font-weight: 600;
  color: #AA4B31;
  /* marges réglables ici */
  margin: 0 10px;
}
/* Traitement : cadre + fond rose */
.tl-tag-traitement {
  background: #FBE4E4;
  border-color: #E8A9A9;
  color: #B24C4C;
}
 
/* Rémission : cadre + fond vert */
.tl-tag-remission {
  background: #E3EEE1;
  border-color: #9FC2A0;
  color: #4C7A50;
}
 
/* Aidantes : cadre + fond terracotta */
.tl-tag-aidantes {
  background: #F3DCD3;
  border-color: #D37E67;
  color: #AA4B31;
}

/* Responsive : 2 colonnes en tablette, 1 en mobile */
@media (max-width: 992px) {
  .tl-packs-grid {
    grid-template-columns: repeat(2, 1fr);
  }
}

@media (max-width: 576px) {
  .tl-packs-grid {
    grid-template-columns: 1fr;
  }
}






/*RESPONSIVE*/


/*TABLETTE*/


/*TELEPHONE*/

/*ENLEVER TOUS LES EFFETS DE MOUVEMENT SUR TEL*/
@media (max-width: 767px) {
  /* Neutralise les animations d'entrée (fadeIn, fadeInUp, fadeInLeft, etc.) */
  .elementor-invisible {
    opacity: 1 !important;
    visibility: visible !important;
  }

  [class*="animated"],
  .elementor-invisible.animated {
    animation: none !important;
    transition: none !important;
  }

  /* Neutralise l'effet flottant au survol des boutons */
  .elementor-animation-float:hover,
  .elementor-animation-float:focus {
    transform: none !important;
  }
}

@media (max-width: 640px) {
	.elementor-widget-wrap:has(.boutonflotant) > .boutonflotant {
		flex: 0 0 100% !important;
		max-width: 100% !important;
	}
}




@media (max-width: 991px) {

    /* Colonne menu pleine largeur */
    .elementor-element-f7fd735 {
        width: 100% !important;
    }

    /* Remet la colonne icônes à sa place */
    .elementor-element-4b84af4 {
        width: auto !important;
        position: absolute !important;
        right: 0 !important;
        top: 0 !important;
    }

    /* Menu pleine largeur */
    #custommenu-list {
        position: absolute !important;
        left: 0 !important;
        width: 100% !important;
        transform: none !important;
        margin-left: 0 !important;
    }

    /* Le header en relatif pour positionner les icônes */
    #header .elementor-section {
        position: relative !important;
    }

}