.elementor-kit-6{--e-global-color-primary:#112D19;--e-global-color-secondary:#F36C3D;--e-global-color-text:#112D19;--e-global-color-accent:#D8FFE4;--e-global-color-a1b2c01:#114321;--e-global-color-a1b2c02:#F1F7DE;--e-global-color-a1b2c03:#D6E79C;--e-global-color-a1b2c04:#F0F9F3;--e-global-color-a1b2c05:#FFFFFF;--e-global-color-a1b2c06:#CF5C36;--e-global-typography-primary-font-family:"Familjen Grotesk";--e-global-typography-primary-font-weight:500;--e-global-typography-secondary-font-family:"Caveat";--e-global-typography-secondary-font-weight:700;--e-global-typography-text-font-family:"Epilogue";--e-global-typography-text-font-weight:400;--e-global-typography-accent-font-family:"Epilogue";--e-global-typography-accent-font-weight:500;background-color:#F0F9F3;color:#112D19;font-family:"Epilogue", Sans-serif;font-size:16px;line-height:1.5em;}.elementor-kit-6 e-page-transition{background-color:#FFBC7D;}.elementor-kit-6 a{color:#112D19;}.elementor-kit-6 a:hover{color:#F36C3D;}.elementor-section.elementor-section-boxed > .elementor-container{max-width:1392px;}.e-con{--container-max-width:1392px;--container-default-padding-top:0px;--container-default-padding-right:0px;--container-default-padding-bottom:0px;--container-default-padding-left:0px;}.elementor-widget:not(:last-child){--kit-widget-spacing:0px;}.elementor-element{--widgets-spacing:0px 0px;--widgets-spacing-row:0px;--widgets-spacing-column:0px;}{}h1.entry-title{display:var(--page-title-display);}@media(max-width:1024px){.elementor-section.elementor-section-boxed > .elementor-container{max-width:1024px;}.e-con{--container-max-width:1024px;}}@media(max-width:767px){.elementor-section.elementor-section-boxed > .elementor-container{max-width:767px;}.e-con{--container-max-width:767px;}}
/* Start custom CSS *//* ===== Tournon Motoculture — styles globaux ===== */
body { overflow-x: clip; }
.tm-accent { font-family: "Caveat", cursive; font-weight: 700; color: #F36C3D; font-size: 1.2084em; line-height: 1; letter-spacing: 0; }
.tm-accent--hero { font-weight: 400; font-size: 1.3158em; line-height: .85; }
.tm-nowrap { white-space: nowrap; }
.elementor-widget-text-editor p:last-child { margin-bottom: 0; }
.elementor-widget-text-editor p { margin: 0 0 1.5em; }
.elementor-widget-text-editor a { color: inherit; }
.elementor-widget-heading .elementor-heading-title a { color: inherit; }

/* Boutons */
.tm-btn .elementor-button { transition: background-color .25s, color .25s, border-color .25s, transform .25s; }
.tm-btn .elementor-button:hover { transform: translateY(-2px); }
.tm-link .elementor-button { padding: 0; background: none; }
.tm-link .elementor-button-icon svg { width: 24px; height: 24px; }

/* ===== Header ===== */
[data-elementor-type="header"] { height: 0; position: relative; z-index: 999; }
body:not(:has(.tm-hero)) [data-elementor-type="header"] { height: 87px; }
body:not(.elementor-editor-active) .tm-header { position: fixed !important; top: 0; left: 0; right: 0; z-index: 999; }
.admin-bar:not(.elementor-editor-active) .tm-header { top: 32px; }
@media (max-width: 782px) { .admin-bar:not(.elementor-editor-active) .tm-header { top: 46px; } }
.tm-header { transition: background-color .3s, box-shadow .3s, border-color .3s; -webkit-backdrop-filter: blur(4px); backdrop-filter: blur(4px); }
.tm-header .tm-logo svg { display: block; width: 163px; height: auto; }
.tm-header .tm-logo .tm-ink { transition: fill .3s; }
.tm-header .elementor-nav-menu--main .elementor-item { transition: color .3s; }
.tm-header .elementor-nav-menu--main .elementor-item:hover { color: #D8FFE4; }
.tm-header .elementor-nav-menu .sub-arrow svg, .tm-header .elementor-nav-menu .sub-arrow i { transition: fill .3s, color .3s; }
.tm-header .elementor-nav-menu--dropdown.elementor-nav-menu__container { border-radius: 12px; box-shadow: 0 10px 30px rgba(17,45,25,.12); overflow: hidden; }
.tm-header .elementor-nav-menu--main .elementor-nav-menu--dropdown { border-radius: 12px; box-shadow: 0 10px 30px rgba(17,45,25,.12); padding: 8px 0; min-width: 260px !important; }
.tm-header .tm-contact .elementor-button { transition: color .3s, border-color .3s, background-color .3s; }
.tm-header .tm-contact .elementor-button-icon svg { width: 18px; height: 18px; }
.tm-header .tm-contact .elementor-button-icon svg path { transition: fill .3s; }
/* état "scrollé" : fond blanc, éléments en vert foncé */
.tm-header.is-scrolled, .tm-header.is-open { background-color: #FFFFFF !important; border-bottom-color: rgba(17,45,25,.08) !important; box-shadow: 0 6px 24px rgba(17,45,25,.08) !important; }
.tm-header.is-scrolled .tm-logo .tm-ink, .tm-header.is-open .tm-logo .tm-ink { fill: #112D19 !important; }
.tm-header.is-scrolled .elementor-nav-menu--main .elementor-item, .tm-header.is-open .elementor-nav-menu--main .elementor-item { color: #112D19 !important; }
.tm-header.is-scrolled .elementor-nav-menu--main .elementor-item:hover { color: #F36C3D !important; }
.tm-header.is-scrolled .elementor-nav-menu--main .sub-arrow svg { fill: #112D19 !important; }
.tm-header.is-scrolled .tm-contact .elementor-button, .tm-header.is-open .tm-contact .elementor-button { color: #112D19 !important; border-color: #112D19 !important; }
.tm-header.is-scrolled .tm-contact .elementor-button-icon svg path, .tm-header.is-open .tm-contact .elementor-button-icon svg path { fill: #112D19 !important; }
.tm-header.is-scrolled .elementor-menu-toggle, .tm-header.is-open .elementor-menu-toggle { color: #112D19 !important; }
.tm-header.is-scrolled .elementor-menu-toggle svg, .tm-header.is-open .elementor-menu-toggle svg { fill: #112D19 !important; }
.tm-header .tm-contact .elementor-button:hover { background-color: #D8FFE4 !important; color: #112D19 !important; border-color: #D8FFE4 !important; }
.tm-header .tm-contact .elementor-button:hover svg path { fill: #112D19 !important; }
@media (max-width: 1024px) {
  .tm-header .elementor-nav-menu--dropdown.elementor-nav-menu__container { margin-top: 14px !important; }
}
@media (max-width: 767px) {
  .tm-header .tm-logo svg { width: 120px; }
  .tm-header .tm-contact .elementor-button-text { display: none; }
  .tm-header .tm-contact .elementor-button { padding: 10px; }
}

/* ===== Hero ===== */
.tm-hero { overflow: hidden; }
.tm-hero-content { position: relative; }
.tm-annot { display: flex; align-items: center; gap: 13px; font-family: "Caveat", cursive; color: #F36C3D; font-size: 23.36px; line-height: 1.5; white-space: nowrap; }
.tm-annot img { width: 67px; height: 67px; display: block; }
.tm-annot--dark { color: #112D19; font-size: 20px; gap: 8px; }
.tm-annot--dark img { width: 104px; height: 104px; }

/* ===== Bandeau défilant ===== */
.tm-marquee { overflow: hidden; width: 100%; }
.tm-marquee__track { display: flex; width: max-content; animation: tm-marquee 120s linear infinite; }
.tm-marquee:hover .tm-marquee__track { animation-play-state: paused; }
.tm-marquee__group { display: flex; align-items: center; gap: 31px; padding-right: 31px; }
.tm-marquee__item { font-family: "Familjen Grotesk", sans-serif; font-weight: 400; font-size: 18px; line-height: 1.2; letter-spacing: .54px; text-transform: uppercase; color: #fff; white-space: nowrap; }
.tm-marquee__group img { width: 24px; height: 14px; display: block; }
@keyframes tm-marquee { from { transform: translateX(0); } to { transform: translateX(-50%); } }
@media (prefers-reduced-motion: reduce) { .tm-marquee__track { animation: none; } }

/* ===== Cartes photo (dégradé vert) ===== */
.tm-shade { overflow: hidden; }
.tm-shade::after { content: ""; position: absolute; inset: 0; border-radius: inherit; pointer-events: none; z-index: 0;
  background: linear-gradient(180deg, rgba(255,255,255,0) 0%, rgba(61,75,65,.47) 50%, #112D19 100%), rgba(40,66,46,.2); mix-blend-mode: multiply; }
.tm-shade--strong::after { background: linear-gradient(180deg, rgba(102,102,102,0) 45.4%, rgba(61,75,65,.48) 64.5%, #112D19 100%), rgba(40,66,46,.6); }
.tm-shade > .elementor-element, .tm-shade > .e-con-inner > .elementor-element { position: relative; z-index: 1; }

/* Carrousel "matériel à la vente" */
.tm-vrow { overflow-x: auto; scroll-snap-type: x mandatory; scrollbar-width: none; scroll-behavior: smooth; }
.tm-vrow::-webkit-scrollbar { display: none; }
.tm-vcard { flex: 0 0 220px !important; transition: flex-basis .45s ease; scroll-snap-align: start; cursor: pointer; }
.tm-vcard:hover, .tm-vrow:not(:hover) .tm-vcard.is-default { flex-basis: 464px !important; }
.tm-varrows { display: flex; gap: 4px; }
.tm-varrows button { background: none; border: 0; padding: 0; cursor: pointer; line-height: 0; opacity: .9; }
.tm-varrows button:hover { opacity: 1; transform: none; background: none; }
.tm-varrows button img { width: 24px; height: 24px; }
@media (max-width: 767px) {
  .tm-vcard { flex-basis: 70vw !important; }
  .tm-vcard:hover, .tm-vrow:not(:hover) .tm-vcard.is-default { flex-basis: 70vw !important; }
}

/* Services */
.tm-loc-img { position: absolute !important; right: 19px; top: -31px; width: 47% !important; max-width: 656px; z-index: 1; pointer-events: none; }
.tm-loc-img img { width: 100%; height: auto; }
.tm-pill { display: inline-flex; align-items: center; justify-content: center; border-radius: 49px; }
.tm-tags { display: flex; flex-direction: column; align-items: flex-end; gap: 8px; }
.tm-tags span { background: #D8FFE4; color: #114321; font-family: "Epilogue", sans-serif; font-weight: 500; font-size: 14px; line-height: 1.5; padding: 8px 16px; border-radius: 49px; white-space: nowrap; }
.tm-circle-link img { width: 60px; height: 60px; display: block; transition: transform .3s; }
.tm-circle-link:hover img { transform: rotate(45deg); }
@media (max-width: 1024px) {
  .tm-loc-img { position: relative !important; right: auto; top: auto; width: 100% !important; margin-top: 8px; }
  .tm-tags { align-items: flex-start; flex-direction: row; flex-wrap: wrap; }
}

/* Tampon animé */
.tm-stamp { position: absolute !important; left: 71px; top: -105px; width: 211px !important; z-index: 5; pointer-events: none; }
.tm-stamp svg { width: 211px; height: 211px; display: block; }
.tm-stamp-ring { transform-box: view-box; transform-origin: 105.5px 105.5px; animation: tm-spin-ccw 60s linear infinite; }
@keyframes tm-spin-ccw { to { transform: rotate(-360deg); } }
@media (prefers-reduced-motion: reduce) { .tm-stamp-ring { animation: none; } }
@keyframes tm-spin { to { transform: rotate(360deg); } }
@media (max-width: 1024px) { .tm-stamp { left: auto; right: 24px; top: -70px; width: 140px !important; } .tm-stamp svg { width: 140px; height: 140px; } }

/* Entretien : empilement d'images */
.tm-stack { position: relative; }
.tm-stack__ghost { position: absolute !important; left: 487px; top: 5px; width: 465px !important; transform: rotate(1.26deg); opacity: .1; pointer-events: none; }
@media (max-width: 1024px) { .tm-stack__ghost { display: none; } }

/* Liste à puces "check" */
.tm-checks .elementor-icon-list-icon svg { width: 24px; height: 24px; }

/* Forfaits : pastilles flottantes */
.tm-floats { position: relative; min-height: 320px; }
.tm-floats .tm-annot { position: absolute; left: 123px; top: -104px; }
.tm-floats .tm-annot img { transform: none; }
.tm-float { position: absolute; background: #D6E79C; color: #112D19; font-family: "Epilogue", sans-serif; font-weight: 500; font-size: 20px; line-height: 1.5; padding: 12px 20px; border-radius: 104px; white-space: nowrap; animation: tm-float 6s ease-in-out infinite; }
.tm-float--1 { left: 30px; top: 0; --r: 1.31deg; transform: rotate(var(--r)); }
.tm-float--2 { left: 0; top: 111px; padding: 13.66px 27.3px; --r: -2.18deg; transform: rotate(var(--r)); animation-delay: -2s; }
.tm-float--3 { left: 31px; top: 238px; padding: 13.66px 27.3px; --r: 2.27deg; transform: rotate(var(--r)); animation-delay: -4s; }
@keyframes tm-float { 0%,100% { transform: translateY(0) rotate(var(--r)); } 50% { transform: translateY(-8px) rotate(var(--r)); } }
@media (max-width: 1024px) {
  .tm-floats { min-height: 0; display: flex; flex-direction: column; align-items: flex-start; gap: 16px; }
  .tm-floats .tm-annot { position: static; }
  .tm-float { position: static; white-space: normal; font-size: 17px; }
}

@media (max-width: 1400px) and (min-width: 1025px) {
  .tm-floats { min-height: 0; display: flex; flex-direction: column; align-items: flex-start; gap: 18px; padding-top: 8px; }
  .tm-floats .tm-annot { position: static; margin-bottom: 4px; }
  .tm-float { position: static; white-space: normal; font-size: 18px; }
}
@media (max-width: 767px) {
  .tm-annot--dark { white-space: normal; font-size: 18px; }
  .tm-annot--dark img { width: 64px; height: 64px; }
  .tm-loc-img { max-width: 100%; }
}
@media (max-width: 1024px) and (min-width: 768px) { .tm-loc-img { max-width: 520px; align-self: center; } }
/* Pros : étiquettes sur l'image */
.tm-pros-media { position: relative; }
.tm-label { position: absolute !important; width: auto !important; z-index: 2; }
.tm-label .elementor-heading-title { background: rgba(255,255,255,.95); box-shadow: 0 7px 12px rgba(0,0,0,.09); border-radius: 104px; padding: 12px 20px; white-space: nowrap; }
.tm-label--1 { left: -13px; top: 569px; }
.tm-label--2 { left: 1063px; top: 190px; }
@media (max-width: 1300px) { .tm-label--1 { left: 2%; top: 70%; } .tm-label--2 { left: auto; right: 2%; top: 24%; } }
@media (max-width: 767px) { .tm-label .elementor-heading-title { font-size: 13px; padding: 8px 14px; } .tm-label--1 { top: auto; bottom: 16px; } .tm-label--2 { top: 16px; } }

/* Équipe : polaroïds */
.tm-team { position: relative; }
.tm-polaroid { position: absolute !important; width: 247px !important; height: 329px; background: #fff; box-shadow: 0 3px 5px rgba(0,0,0,.1); padding: 20.57px 10.29px 0 !important; z-index: 2; transition: transform .4s ease; }
.tm-polaroid:hover { transform: rotate(0deg) scale(1.04) !important; z-index: 3; }
.tm-polaroid .elementor-widget-image img { width: 226px; height: 226px; object-fit: cover; object-position: center top; display: block; }
.tm-polaroid .tm-pname .elementor-heading-title { margin-top: 18px; }
.tm-pol--jr { left: 4.65%; top: -132px; transform: rotate(-5.01deg); }
.tm-pol--fr { left: 42.1%; top: -172px; transform: rotate(3.66deg); }
.tm-pol--ga { left: 79.4%; top: -66px; transform: rotate(-4.45deg); }
.tm-pol--my { left: 3.6%; top: 381px; transform: rotate(-0.68deg); }
.tm-pol--yo { left: 80%; top: 449px; transform: rotate(3.47deg); }
.tm-reveal { transition: opacity .2s linear; }
@media (max-width: 1400px) and (min-width: 1025px) { .tm-polaroid { scale: .82; } .tm-pol--ga, .tm-pol--yo { left: 78%; } }
@media (max-width: 1024px) {
  .tm-team-photos { display: flex !important; flex-direction: row !important; flex-wrap: wrap !important; justify-content: center; gap: 24px; }
  .tm-polaroid { position: relative !important; left: auto !important; top: auto !important; scale: .8; margin: -30px -20px; }
}

/* Avis */
.tm-reviews { position: relative; height: 551px; }
.tm-review { position: absolute !important; width: 322px !important; border-radius: 12px; z-index: 1; transition: transform .4s ease; }
.tm-review:hover { z-index: 3; }
.tm-review--1 { left: 13.5px; top: 17px; transform: rotate(-6.47deg); filter: drop-shadow(0 4px 5.5px rgba(0,0,0,.1)); }
.tm-review--2 { left: 335.7px; top: 18px; transform: rotate(3.1deg); filter: drop-shadow(0 4px 5.5px rgba(0,0,0,.1)); }
.tm-review--3 { left: 668.4px; top: 18px; transform: rotate(-2.01deg); }
.tm-review--4 { left: 131.5px; top: 274px; transform: rotate(-3.94deg); }
.tm-review--5 { left: 468.2px; top: 275px; transform: rotate(6.81deg); filter: drop-shadow(0 4px 5.5px rgba(0,0,0,.1)); }
.tm-review:hover { transform: rotate(0deg) scale(1.03); }
.tm-stars { display: block; width: 106px; height: 18px; }
@media (max-width: 1024px) {
  .tm-reviews { height: auto; display: flex !important; flex-direction: row !important; flex-wrap: wrap !important; justify-content: center; gap: 20px; }
  .tm-review { position: relative !important; left: auto !important; top: auto !important; }
}
@media (max-width: 767px) { .tm-review { width: 100% !important; max-width: 340px; } }

/* Actualités */
.tm-acard { transition: transform .3s; }
.tm-acard .tm-badge { position: absolute !important; top: 20px; right: 20px; width: 42px !important; opacity: 0; transition: opacity .3s, transform .3s; z-index: 2; }
.tm-acard .tm-badge img { width: 42px; height: 42px; }
.tm-acard:hover .tm-badge, .tm-actus:not(:hover) .tm-acard:first-child .tm-badge { opacity: 1; }
.tm-acard:hover .tm-badge { transform: rotate(45deg); }

/* Instagram */
.tm-insta .elementor-widget-image img { width: 100%; height: 304px; object-fit: cover; display: block; transition: transform .5s; }
.tm-insta .elementor-widget-image { overflow: hidden; flex: 1 1 0 !important; min-width: 0; }
@media (max-width: 767px) { .tm-insta .elementor-widget-image { flex: 0 0 calc(50% - 5px) !important; width: calc(50% - 5px) !important; } }
.tm-insta .elementor-widget-image:hover img { transform: scale(1.05); }
@media (max-width: 767px) { .tm-insta .elementor-widget-image img { height: 200px; } }

/* Footer */
.tm-footer-main { overflow: hidden; }
.tm-footer-leaf { position: absolute !important; left: 862px; top: 110px; width: 626px !important; z-index: 0; pointer-events: none; }
.tm-footer-main > .elementor-element:not(.tm-footer-leaf) { position: relative; z-index: 1; }
.tm-footer a, .tm-footer a:hover { color: #fff; }
.tm-footer .elementor-icon-list-text { transition: opacity .2s; }
.tm-footer .elementor-icon-list-item a:hover .elementor-icon-list-text { opacity: .7; }
@media (max-width: 1024px) { .tm-footer-leaf { left: auto; right: -120px; top: auto; bottom: -60px; width: 420px !important; } }

/* ===== Petits écrans desktop (1025–1300) ===== */
@media (max-width: 1300px) and (min-width: 1025px) {
  .tm-header { gap: 20px !important; }
  .tm-header .elementor-nav-menu--main .elementor-item { padding-left: 7px !important; padding-right: 7px !important; font-size: 13px !important; }
  .tm-header .elementor-nav-menu--main .elementor-nav-menu > li:not(:last-child) { margin-right: 4px !important; }
}
@media (max-width: 1140px) and (min-width: 1025px) {
  .tm-header .tm-contact .elementor-button-text { display: none; }
  .tm-header .tm-contact .elementor-button { padding: 12px; }
  .tm-header .tm-logo svg { width: 140px; }
}
@media (max-width: 1300px) and (min-width: 1025px) {
  .tm-split { gap: 56px !important; }
  .tm-forfaits { gap: 48px !important; padding-left: 56px !important; padding-right: 32px !important; }
  .tm-loc { padding-left: 56px !important; }
  .tm-loc > .e-con { width: 48% !important; }
  .tm-loc-img { width: 50% !important; right: 8px; }
  .tm-magasin { padding-left: 64px !important; padding-right: 64px !important; gap: 56px !important; }
  .tm-atelier, .tm-robots { padding-left: 32px !important; padding-right: 32px !important; }
}
@media (max-width: 1200px) and (min-width: 1025px) {
  .tm-pol--ga, .tm-pol--yo { left: 75%; }
  .tm-pol--jr, .tm-pol--my { left: 1%; }
}
@media (max-width: 1300px) and (min-width: 1025px) {
  .tm-hero { padding-left: 64px !important; padding-right: 64px !important; }
  .tm-hero-content { max-width: 820px; }
  .tm-robots .tm-tags { flex-direction: row; flex-wrap: wrap; align-items: flex-start; }
  .tm-team-text { max-width: 520px !important; }
  .tm-footer-main { gap: 64px !important; padding-left: 48px !important; padding-right: 48px !important; }
}
@media (max-width: 1450px) and (min-width: 1301px) { .tm-team-text { max-width: 600px !important; } }
@media (max-width: 1300px) and (min-width: 1025px) {
  .tm-footer-main { flex-wrap: nowrap !important; }
  .tm-footer-main > .e-con { flex-shrink: 1 !important; min-width: 0; }
}

/* ===== Tablette (768–1024) ===== */
@media (max-width: 1024px) {
  .tm-header .elementor-widget-nav-menu { display: flex; justify-content: flex-end; }
  .e-con > .tm-loc-img { max-width: 520px !important; align-self: center; }
}
@media (max-width: 1024px) and (min-width: 768px) {
  .tm-split { flex-wrap: nowrap !important; gap: 40px !important; align-items: center !important; }
  .tm-split > .elementor-widget-image, .tm-split > .tm-stack { flex: 0 0 40% !important; width: 40% !important; max-width: 40% !important; }
  .tm-split > .elementor-widget-image img, .tm-split .tm-stack img { width: 100% !important; height: 520px !important; object-fit: cover; }
  .tm-split > .e-con:not(.tm-stack) { flex: 1 1 0 !important; width: auto !important; min-width: 0; }
}
@media (max-width: 767px) {
  .tm-split > .elementor-widget-image, .tm-split > .tm-stack { width: 100% !important; max-width: 100% !important; }
  .tm-split > .elementor-widget-image img, .tm-split .tm-stack img { width: 100% !important; height: 360px !important; object-fit: cover; }
  .e-con > .tm-loc-img { max-width: 100% !important; }
}
@media (max-width: 1024px) and (min-width: 768px) {
  .tm-split > .e-con-inner { flex-wrap: nowrap !important; gap: 40px !important; align-items: center !important; }
  .tm-split > .e-con-inner > .elementor-widget-image { flex: 0 0 40% !important; width: 40% !important; max-width: 40% !important; }
  .tm-split > .e-con-inner > .elementor-widget-image img { width: 100% !important; height: 520px !important; object-fit: cover; }
  .tm-split > .e-con-inner > .e-con { flex: 1 1 0 !important; width: auto !important; min-width: 0; }
}
@media (max-width: 767px) {
  .tm-split > .e-con-inner > .elementor-widget-image { width: 100% !important; max-width: 100% !important; }
  .tm-split > .e-con-inner > .elementor-widget-image img { width: 100% !important; height: 360px !important; object-fit: cover; }
}

/* ===== Mobile (≤767) ===== */
@media (max-width: 1024px) {
  .tm-header .elementor-menu-toggle { margin-left: auto !important; margin-right: 0 !important; }
}
@media (max-width: 767px) {
  .tm-team-photos { gap: 8px !important; padding: 24px 0; }
  .tm-polaroid { scale: .66; margin: -56px -42px !important; }
  .tm-reviews { flex-wrap: nowrap !important; justify-content: flex-start !important; overflow-x: auto; scroll-snap-type: x mandatory; scrollbar-width: none; padding: 24px 20px 32px; margin: 0 -20px; width: calc(100% + 40px) !important; gap: 16px !important; }
  .tm-reviews::-webkit-scrollbar { display: none; }
  .tm-review { flex: 0 0 78% !important; width: 78% !important; scroll-snap-align: center; }
  .tm-review--1 { transform: rotate(-3deg); } .tm-review--2 { transform: rotate(2deg); } .tm-review--3 { transform: rotate(-1.5deg); }
  .tm-review--4 { transform: rotate(-2deg); } .tm-review--5 { transform: rotate(3deg); }
}
@media (max-width: 1024px) { .tm-header { gap: 12px !important; } }

/* ===== Pros : apparition scale(0)→scale(1) + flottement ===== */
.tm-js { position: absolute !important; width: 0 !important; height: 0; overflow: hidden; }
.tm-pros-media .tm-pop { transform: scale(0); transition: transform 1s cubic-bezier(.34, 1.45, .64, 1); will-change: transform; }
.tm-pros-media.is-in .tm-pop { transform: scale(1); }
.tm-pros-media .tm-pop--img { transition-duration: 1.1s; transition-timing-function: cubic-bezier(.22, 1.2, .36, 1); }
.tm-pros-media .tm-pop--b1 { transition-delay: .45s; }
.tm-pros-media .tm-pop--b2 { transition-delay: .65s; }
/* flottement continu, indépendant du scale (propriété translate) */
.tm-pop--img img { animation: tm-wander-a 9s ease-in-out infinite; }
.tm-pop--b1 .elementor-heading-title { animation: tm-wander-b 6.5s ease-in-out infinite; }
.tm-pop--b2 .elementor-heading-title { animation: tm-wander-c 7.5s ease-in-out infinite; }
@keyframes tm-wander-a { 0%,100% { translate: 0 0; } 25% { translate: 4px -6px; } 50% { translate: -3px -10px; } 75% { translate: -5px -3px; } }
@keyframes tm-wander-b { 0%,100% { translate: 0 0; } 30% { translate: 6px -10px; } 60% { translate: -4px -14px; } 80% { translate: -7px -4px; } }
@keyframes tm-wander-c { 0%,100% { translate: 0 0; } 25% { translate: -6px 8px; } 55% { translate: 5px 13px; } 80% { translate: 8px 3px; } }
.elementor-editor-active .tm-pros-media .tm-pop { transform: none; }
@media (prefers-reduced-motion: reduce) {
  .tm-pros-media .tm-pop { transform: none; transition: none; }
  .tm-pop--img img, .tm-pop--b1 .elementor-heading-title, .tm-pop--b2 .elementor-heading-title { animation: none; }
}

/* ===== États hover (maquette) ===== */
.tm-btn .elementor-button:hover { transform: none; }
/* lien flèche : la flèche traverse le texte vers la droite (léger rebond) */
.tm-link .elementor-button-icon { position: relative; z-index: 2; transition: transform .7s cubic-bezier(.34, 1.45, .5, 1); }
.tm-link .elementor-button-text { transition: transform .45s cubic-bezier(.4, 0, .2, 1); }
.tm-link .elementor-button:hover .elementor-button-icon { transform: translateX(var(--tm-ix, 0px)); }
.tm-link .elementor-button:hover .elementor-button-text { transform: translateX(var(--tm-tx, 0px)); }
@media (prefers-reduced-motion: reduce) { .tm-link .elementor-button-icon, .tm-link .elementor-button-text { transition: none; } }
/* "Voir tous nos produits" : texte + flèche à droite, l'écart s'agrandit */
.tm-more .elementor-button-content-wrapper { flex-direction: row-reverse !important; gap: 10px; transition: gap .3s ease; }
.tm-more .elementor-button:hover .elementor-button-content-wrapper { gap: 20px; }
.tm-more .elementor-button-icon { margin: 0 !important; }
.tm-more .elementor-button-icon svg { width: 24px; height: 24px; }
/* cartes catégories : pastille + description au survol */
.tm-vcard .tm-vbadge { position: absolute !important; top: 20px; right: 20px; width: 58px !important; opacity: 0; transform: scale(.6); transition: opacity .3s, transform .3s; z-index: 2; }
.tm-vcard .tm-vbadge img { width: 58px; height: 58px; display: block; }
.tm-vcard .tm-vdesc { display: grid; grid-template-rows: 0fr; opacity: 0; transition: grid-template-rows .4s ease, opacity .3s ease, margin .4s ease; margin-top: 0; }
.tm-vcard .tm-vdesc > * { overflow: hidden; min-height: 0; }
.tm-vcard:hover .tm-vbadge { opacity: 1; transform: scale(1); }
.tm-vcard:hover .tm-vdesc { grid-template-rows: 1fr; opacity: 1; margin-top: 8px; transition-delay: .15s; }
.tm-vcard:hover::after { background: linear-gradient(180deg, rgba(255,255,255,0) 0%, rgba(61,75,65,.47) 50%, #112D19 100%); }
@media (hover: none) { .tm-vcard .tm-vdesc { display: none; } }
/* cartes actus : pastille uniquement au survol */
.tm-actus:not(:hover) .tm-acard:first-child .tm-badge { opacity: 0; }
.tm-acard:hover .tm-badge { opacity: 1; transform: none; }

/* ===== Cartes catégories : animation selon prototype (GIF) ===== */
.tm-vrow { padding-top: 12px !important; padding-bottom: 12px !important; margin-top: -12px; margin-bottom: -12px; }
.tm-vcard { transition: flex-basis .45s ease, transform .4s cubic-bezier(.25, .8, .35, 1) !important; transform-origin: center; }
.tm-vcard:hover { transform: scale(1.02); z-index: 2; }
.tm-vcard .tm-vbadge { transform: none !important; transition: opacity .4s ease; }
.tm-vcard .tm-vdesc { transition: grid-template-rows .4s cubic-bezier(.25, .8, .35, 1), opacity .4s ease, margin .4s cubic-bezier(.25, .8, .35, 1) !important; transition-delay: 0s !important; }
.tm-vcard .tm-vdesc > * { transition: translate .4s cubic-bezier(.25, .8, .35, 1); translate: 0 12px; }
.tm-vcard:hover .tm-vdesc > * { translate: 0 0; }
@media (prefers-reduced-motion: reduce) { .tm-vcard, .tm-vcard .tm-vdesc, .tm-vcard .tm-vdesc > * { transition: none !important; } .tm-vcard:hover { transform: none; } }/* End custom CSS */