/* Transport Express — habillage de l'accueil Uncode v1.0.0.
   Toutes les règles sont limitées à body.tehd-home pour ne toucher aucune autre page. */
.tehd-home {
  --tehd-accent: #2929ef;
  --tehd-navy: #080e4f;
  --tehd-soft: #f2f3ff;
  --tehd-ink: #151a3b;
  --tehd-muted: #535a76;
  --tehd-line: rgba(29, 39, 105, .10);
  --tehd-shadow: 0 22px 65px rgba(18, 26, 83, .085);
}
.tehd-home #row-unique-0,
.tehd-home #row-unique-1,
.tehd-home #row-unique-2,
.tehd-home #row-unique-3,
.tehd-home #row-unique-4,
.tehd-home #row-unique-5,
.tehd-home #row-unique-6,
.tehd-home #row-unique-7,
.tehd-home #row-unique-8,
.tehd-home #row-unique-9,
.tehd-home #row-unique-11,
.tehd-home #row-unique-13,
.tehd-home #row-unique-14 { box-sizing: border-box; }

/* Un code arrondi et de micro-interactions partagé avec les sections ciblées. */
.tehd-home :is(#row-unique-0,#row-unique-4,#row-unique-5,#row-unique-6,#row-unique-7,#row-unique-8,#row-unique-9,#row-unique-13,#row-unique-14) a.btn {
  border-radius: 11px !important;
  min-height: 45px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  padding: 11px 21px !important;
  font-weight: 700;
  letter-spacing: .005em;
  text-decoration: none;
  transition: transform .25s ease, box-shadow .25s ease, background-color .25s ease, color .25s ease !important;
}
@media (hover:hover) {
 .tehd-home :is(#row-unique-0,#row-unique-4,#row-unique-5,#row-unique-6,#row-unique-7,#row-unique-8,#row-unique-9,#row-unique-13,#row-unique-14) a.btn:hover {
   transform: translateY(-2px);
   box-shadow: 0 10px 23px rgba(41,41,239,.17);
 }
}
.tehd-home :is(#row-unique-0,#row-unique-4,#row-unique-5,#row-unique-6,#row-unique-7,#row-unique-8,#row-unique-9,#row-unique-13,#row-unique-14) a.btn:focus-visible {
 outline: 3px solid var(--tehd-accent); outline-offset: 4px;
}

/* HERO — conserve les colonnes/images Uncode et les liens d'origine. */
.tehd-home.tehd-hero #row-unique-0,
.tehd-home.tehd-hero #row-unique-0 {
 background: radial-gradient(ellipse at 85% 8%, rgba(112,122,255,.14), transparent 45%),
             radial-gradient(ellipse at 3% 100%, rgba(255,255,255,.9), transparent 45%),
             var(--tehd-soft) !important;
}
.tehd-home.tehd-hero #row-unique-0 > .row-parent {
 background: transparent !important;
 padding-top: clamp(65px, 7vw, 116px) !important;
 padding-bottom: clamp(60px, 6.5vw, 106px) !important;
}
.tehd-home.tehd-hero #row-unique-0 h1 {
 font-size: clamp(14px, 1.2vw, 17px) !important;
 line-height: 1.3 !important;
 font-weight: 750 !important;
 letter-spacing: .16em;
 text-transform: uppercase;
 color: var(--tehd-accent) !important;
 margin-bottom: 17px !important;
}
.tehd-home.tehd-hero #row-unique-0 h2 {
 font-size: clamp(36px, 4.3vw, 65px) !important;
 line-height: 1.08 !important;
 letter-spacing: -.045em;
 font-weight: 780 !important;
 color: var(--tehd-navy) !important;
 max-width: 680px;
 text-wrap: balance;
}
.tehd-home.tehd-hero #row-unique-0 .uncode_text_column.text-lead p {
 font-size: clamp(15px, 1.2vw, 19px) !important;
 line-height: 1.65 !important;
 color: var(--tehd-muted) !important;
 max-width: 550px;
}
.tehd-home.tehd-hero #row-unique-0 .btn-accent:not(.btn-outline) {
 background-color: var(--tehd-accent) !important;
 border-color: var(--tehd-accent) !important;
 color: #fff !important;
 box-shadow: 0 9px 22px rgba(41,41,239,.16);
}
.tehd-home.tehd-hero #row-unique-0 .btn-outline {
 background-color: rgba(255,255,255,.72) !important;
 border: 1px solid rgba(41,41,239,.25) !important;
 color: var(--tehd-accent) !important;
}
.tehd-home.tehd-hero #row-unique-0 .uncode-single-media .t-inside,
.tehd-home.tehd-hero #row-unique-0 .uncode-single-media-wrapper {
 overflow: hidden;
 border-radius: 22px !important;
}
.tehd-home.tehd-hero #row-unique-0 .uncode-single-media .t-inside {
 box-shadow: 0 34px 65px rgba(15,24,84,.19);
}
.tehd-home.tehd-hero #row-unique-0 .uncode-single-media img {
 transition: transform .9s cubic-bezier(.2,.7,.2,1);
}
@media (hover:hover) {
 .tehd-home.tehd-hero #row-unique-0 .uncode-single-media:hover img { transform: scale(1.035); }
}
.tehd-home.tehd-hero #row-unique-0 .tgrb-badge {
 border: 1px solid rgba(30,42,105,.08);
 box-shadow: 0 9px 27px rgba(16,26,82,.085);
 border-radius: 14px;
}

/* PREUVES : stylise uniquement les cartes produites par le plugin de réassurance existant. */
.tehd-home.tehd-sections #row-unique-1 .te-reassurance {
 background: var(--tehd-navy) !important;
}
.tehd-home.tehd-sections #row-unique-1 .te-reassurance__card {
 border: 1px solid rgba(255,255,255,.14);
 border-radius: 17px;
 background: linear-gradient(145deg, rgba(255,255,255,.13), rgba(255,255,255,.035));
 box-shadow: 0 8px 28px rgba(0,0,0,.06);
 transition: transform .3s ease, background-color .3s ease;
}
@media (hover:hover) {
 .tehd-home.tehd-sections #row-unique-1 .te-reassurance__card:hover {
   transform: translateY(-4px);
   background-color: rgba(255,255,255,.08);
 }
}

/* Titre de la section + rangée de logos : n’interfère pas avec le carrousel. */
.tehd-home.tehd-sections #row-unique-2 { padding-top: 28px; padding-bottom: 8px; }
.tehd-home.tehd-sections #row-unique-3 { padding-top: clamp(15px, 3vw, 45px); padding-bottom: 12px; }
.tehd-home.tehd-sections #row-unique-3 h2 {
 color: var(--tehd-navy) !important;
 font-size: clamp(27px, 2.7vw, 42px) !important;
 line-height: 1.17 !important;
 letter-spacing: -.03em;
 text-wrap: balance;
}

/* SIX LIGNES DE SERVICES : 4 à 9 selon le HTML fourni. */
.tehd-home.tehd-services :is(#row-unique-4,#row-unique-5,#row-unique-6,#row-unique-7,#row-unique-8,#row-unique-9) > .row-parent {
 margin-top: 16px !important;
 margin-bottom: 16px !important;
 padding: clamp(28px, 3.7vw, 62px) !important;
 border: 1px solid var(--tehd-line);
 border-radius: clamp(20px, 2.8vw, 32px);
 background-color: #f8f9ff;
 box-shadow: 0 12px 42px rgba(17,27,77,.035);
 transition: box-shadow .35s ease, border-color .35s ease;
}
.tehd-home.tehd-services :is(#row-unique-5,#row-unique-7,#row-unique-9) > .row-parent {
 background-color: #fff;
}
@media (hover:hover) {
 .tehd-home.tehd-services :is(#row-unique-4,#row-unique-5,#row-unique-6,#row-unique-7,#row-unique-8,#row-unique-9) > .row-parent:hover {
   box-shadow: var(--tehd-shadow);
   border-color: rgba(41,41,239,.19);
 }
}
.tehd-home.tehd-services :is(#row-unique-4,#row-unique-5,#row-unique-6,#row-unique-7,#row-unique-8,#row-unique-9) .vc_custom_heading_wrap h3 {
 font-size: clamp(25px, 2.15vw, 34px) !important;
 line-height: 1.16 !important;
 letter-spacing: -.032em;
 color: var(--tehd-navy) !important;
 margin-bottom: 13px !important;
}
.tehd-home.tehd-services :is(#row-unique-4,#row-unique-5,#row-unique-6,#row-unique-7,#row-unique-8,#row-unique-9) .vc_custom_heading_wrap h3::before {
 content: none !important;
 display: none !important;
}
.tehd-home.tehd-services :is(#row-unique-4,#row-unique-5,#row-unique-6,#row-unique-7,#row-unique-8,#row-unique-9) .uncode_text_column p {
 color: var(--tehd-muted) !important;
 font-size: clamp(15px, 1.05vw, 17px) !important;
 line-height: 1.74 !important;
 max-width: 490px;
}
.tehd-home.tehd-services :is(#row-unique-4,#row-unique-5,#row-unique-6,#row-unique-7,#row-unique-8,#row-unique-9) .uncode-single-media .t-entry-visual,
.tehd-home.tehd-services :is(#row-unique-4,#row-unique-5,#row-unique-6,#row-unique-7,#row-unique-8,#row-unique-9) .uncode-single-media-wrapper {
 overflow: hidden;
 border-radius: 19px !important;
}
.tehd-home.tehd-services :is(#row-unique-4,#row-unique-5,#row-unique-6,#row-unique-7,#row-unique-8,#row-unique-9) .uncode-single-media-wrapper {
 box-shadow: 0 13px 30px rgba(14,23,67,.12);
}
.tehd-home.tehd-services :is(#row-unique-4,#row-unique-5,#row-unique-6,#row-unique-7,#row-unique-8,#row-unique-9) .uncode-single-media img {
 transition: transform .8s cubic-bezier(.2,.7,.2,1);
}
@media (hover:hover) {
 .tehd-home.tehd-services :is(#row-unique-4,#row-unique-5,#row-unique-6,#row-unique-7,#row-unique-8,#row-unique-9) .uncode-single-media:hover img { transform: scale(1.045); }
}
.tehd-home.tehd-services :is(#row-unique-4,#row-unique-5,#row-unique-6,#row-unique-7,#row-unique-8,#row-unique-9) a.btn {
 background-color: transparent !important;
 border: 1px solid var(--tehd-accent) !important;
 color: var(--tehd-accent) !important;
}
@media (hover:hover) {
 .tehd-home.tehd-services :is(#row-unique-4,#row-unique-5,#row-unique-6,#row-unique-7,#row-unique-8,#row-unique-9) a.btn:hover {
   background-color: var(--tehd-accent) !important;
   color: #fff !important;
 }
}

/* AVIS CLIENTS : le widget Trustindex existant conserve son fonctionnement. */
.tehd-home.tehd-sections #row-unique-11 {
 background: var(--tehd-navy) !important;
 border-radius: 27px;
 overflow: hidden;
}
.tehd-home.tehd-sections #row-unique-11 > .row-parent {
 background: radial-gradient(circle at 12% 0%, rgba(93,111,255,.22), transparent 45%), var(--tehd-navy) !important;
 padding: clamp(30px, 3.8vw, 60px) !important;
}
.tehd-home.tehd-sections #row-unique-11 h2 {
 color: #fff !important;
 font-size: clamp(28px, 2.5vw, 40px) !important;
 letter-spacing: -.025em;
}
.tehd-home.tehd-sections #row-unique-11 .ti-widget {
 max-width: 100%;
}

/* ACTUALITÉS : préserve grille et liens Uncode. */
.tehd-home.tehd-sections #row-unique-13,
.tehd-home.tehd-sections #row-unique-13 > .row-parent {
 background-color: var(--tehd-soft) !important;
}
.tehd-home.tehd-sections #row-unique-13 > .row-parent {
 padding-top: clamp(55px, 6vw, 100px) !important;
 padding-bottom: clamp(55px, 5vw, 80px) !important;
}
.tehd-home.tehd-sections #row-unique-13 h2 {
 font-size: clamp(29px, 2.6vw, 42px) !important;
 letter-spacing: -.03em;
 color: var(--tehd-navy) !important;
}
.tehd-home.tehd-sections #row-unique-13 .tmb-grid > .t-inside {
 border-radius: 17px !important;
 overflow: hidden;
 border: 1px solid var(--tehd-line);
 box-shadow: 0 9px 31px rgba(16,25,86,.055);
 transition: transform .3s ease, box-shadow .3s ease;
}
@media (hover:hover) {
 .tehd-home.tehd-sections #row-unique-13 .tmb-grid:hover > .t-inside {
   transform: translateY(-5px);
   box-shadow: 0 24px 47px rgba(16,25,86,.12);
 }
}
.tehd-home.tehd-sections #row-unique-13 .t-entry-title a { color: var(--tehd-navy) !important; }
.tehd-home.tehd-sections #row-unique-13 .t-entry-title a:hover { color: var(--tehd-accent) !important; }

/* CONTACT : bloc final qui ressemble à une véritable étape de conversion. */
.tehd-home.tehd-sections #row-unique-14 > .row-parent {
 margin-top: clamp(38px, 5vw, 72px) !important;
 margin-bottom: clamp(38px, 5vw, 72px) !important;
 padding: clamp(28px, 3.7vw, 54px) !important;
 border: 1px solid var(--tehd-line);
 border-radius: 26px;
 background: linear-gradient(115deg, #fff, #f6f7ff);
 box-shadow: 0 14px 40px rgba(16,25,86,.055);
}
.tehd-home.tehd-sections #row-unique-14 h3 {
 font-size: clamp(30px, 3vw, 46px) !important;
 letter-spacing: -.04em;
 color: var(--tehd-navy) !important;
}
.tehd-home.tehd-sections #row-unique-14 .uncode-single-media-wrapper {
 border-radius: 20px !important;
 overflow: hidden;
}
.tehd-home.tehd-sections #row-unique-14 a.btn {
 color:#fff !important;
 background:var(--tehd-accent) !important;
 border-color:var(--tehd-accent) !important;
}

/* ANIMATION : rien ne se masque si JS échoue. La classe n'est posée qu'après l'initialisation JS. */
@media (prefers-reduced-motion: no-preference) {
  .tehd-home.tehd-motion.tehd-js :is(#row-unique-4,#row-unique-5,#row-unique-6,#row-unique-7,#row-unique-8,#row-unique-9,#row-unique-11,#row-unique-13,#row-unique-14).tehd-reveal:not(.tehd-visible) {
    opacity: .01;
    transform: translateY(20px);
  }
  .tehd-home.tehd-motion.tehd-js :is(#row-unique-4,#row-unique-5,#row-unique-6,#row-unique-7,#row-unique-8,#row-unique-9,#row-unique-11,#row-unique-13,#row-unique-14).tehd-reveal {
    transition: opacity .75s ease, transform .75s cubic-bezier(.2,.8,.2,1);
  }
}

/* Responsive : aucune règle ne force les colonnes d'Uncode à rester côte à côte. */
@media (max-width:959px) {
 .tehd-home.tehd-hero #row-unique-0 > .row-parent {
   padding-top: 48px !important;
   padding-bottom: 50px !important;
 }
 .tehd-home.tehd-hero #row-unique-0 h2 { font-size: clamp(34px, 6.3vw, 52px) !important; }
 .tehd-home.tehd-services :is(#row-unique-4,#row-unique-5,#row-unique-6,#row-unique-7,#row-unique-8,#row-unique-9) > .row-parent {
   padding: clamp(20px, 4vw, 34px) !important;
 }
 .tehd-home.tehd-sections #row-unique-11 { border-radius: 19px; }
}
@media (max-width:600px) {
 .tehd-home.tehd-hero #row-unique-0 > .row-parent { padding: 37px 21px 44px !important; }
 .tehd-home.tehd-hero #row-unique-0 h1 { font-size: 12px !important; letter-spacing: .11em; }
 .tehd-home.tehd-hero #row-unique-0 h2 { font-size: clamp(31px, 8.2vw, 43px) !important; }
 .tehd-home.tehd-hero #row-unique-0 .uncode-single-media .t-inside { border-radius: 15px !important; }
 .tehd-home.tehd-services :is(#row-unique-4,#row-unique-5,#row-unique-6,#row-unique-7,#row-unique-8,#row-unique-9) > .row-parent {
   margin: 10px 12px !important;
   padding: 20px !important;
   border-radius: 19px;
 }
 .tehd-home.tehd-services :is(#row-unique-4,#row-unique-5,#row-unique-6,#row-unique-7,#row-unique-8,#row-unique-9) .vc_custom_heading_wrap h3 { font-size: 25px !important; }
 .tehd-home.tehd-services :is(#row-unique-4,#row-unique-5,#row-unique-6,#row-unique-7,#row-unique-8,#row-unique-9) .uncode-single-media-wrapper { border-radius: 14px !important; }
 .tehd-home.tehd-sections #row-unique-11 { margin: 0 12px; }
 .tehd-home.tehd-sections #row-unique-11 > .row-parent { padding: 26px 13px !important; }
 .tehd-home.tehd-sections #row-unique-14 > .row-parent {
   margin: 24px 12px !important;
   padding: 23px 20px !important;
   border-radius: 19px;
 }
 .tehd-home.tehd-sections #row-unique-13 > .row-parent { padding: 46px 16px !important; }
}
@media (prefers-reduced-motion: reduce) {
 .tehd-home :is(#row-unique-0,#row-unique-1,#row-unique-4,#row-unique-5,#row-unique-6,#row-unique-7,#row-unique-8,#row-unique-9,#row-unique-11,#row-unique-13,#row-unique-14) *,
 .tehd-home :is(#row-unique-4,#row-unique-5,#row-unique-6,#row-unique-7,#row-unique-8,#row-unique-9,#row-unique-11,#row-unique-13,#row-unique-14) {
   animation-duration: .01ms !important;
   transition-duration: .01ms !important;
 }
}


/* =========================================================
   POST / PAGE GRID — shadow glow discrète au survol
   ========================================================= */
@media (hover:hover) and (pointer:fine) {
  .cssgrid-container .tmb > .t-inside {
    position:relative;
    transition: transform .55s cubic-bezier(.22,1,.36,1), box-shadow .8s cubic-bezier(.22,1,.36,1);
    will-change:transform,box-shadow;
  }
  .cssgrid-container .tmb:hover > .t-inside {
    transform:translateY(-2px);
    box-shadow:
      0 8px 24px rgba(38,45,110,.08),
      0 16px 42px rgba(91,83,255,.13),
      0 0 30px rgba(126,113,255,.07);
  }
}
@media (prefers-reduced-motion:reduce) {
  .cssgrid-container .tmb > .t-inside {transition:none!important;}
}

/* v1.4.3 — Témoignages Google : même dégradé bleu que le footer. */
html body.tehd-home.tehd-sections #row-unique-11,
html body.tehd-home.tehd-sections #row-unique-11 > .row-parent {
  background:linear-gradient(135deg,#050a52 0%,#0b1965 52%,#1c388a 100%) !important;
  background-color:#050a52 !important;
}

/* v1.4.3 — Cible directe de la rangée Trustindex malgré le fond Uncode. */
html body #row-unique-11.vc_row.style-color-124044-bg {
  background:linear-gradient(135deg,#050a52 0%,#0b1965 52%,#1c388a 100%) !important;
  background-color:#050a52 !important;
  background-image:linear-gradient(135deg,#050a52 0%,#0b1965 52%,#1c388a 100%) !important;
}
html body #row-unique-11.vc_row.style-color-124044-bg > .row-parent {
  background:transparent !important;
  background-image:none !important;
  background-color:transparent !important;
}
