/* ==========================================================================
   TRUSTIVA — Premium Design Layer
   Couche de design moderne (override) appliquée par-dessus le thème existant.
   Ne modifie que l'apparence : couleurs, typographie, ombres, animations.
   Le contenu et la structure HTML restent inchangés.
   ========================================================================== */

@import url('https://fonts.googleapis.com/css2?family=Sora:wght@400;500;600;700;800&family=Inter:wght@300;400;500;600;700&display=swap');

/* --------------------------------------------------------------------------
   1. Tokens — variables de marque
   -------------------------------------------------------------------------- */
:root {
  --ts-ink:        #0B1B33;   /* encre profonde / primary */
  --ts-navy:       #16294E;   /* navy intermédiaire */
  --ts-navy-soft:  #243a64;
  --ts-gold:       #C9A227;   /* or antique */
  --ts-gold-light: #E4C25C;   /* or clair (dégradés / texte) */
  --ts-gold-deep:  #A8841A;
  --ts-paper:      #F6F7FB;   /* fond clair */
  --ts-mist:       #EAEEF6;   /* tuiles / anneaux d'icônes */
  --ts-line:       #E2E7F0;   /* filets */
  --ts-text:       #1B2A45;   /* texte principal */
  --ts-muted:      #6B7689;   /* texte secondaire */
  --ts-white:      #ffffff;

  --ts-grad-ink:   linear-gradient(135deg, #0B1B33 0%, #16294E 55%, #1d3568 100%);
  --ts-grad-gold:  linear-gradient(135deg, #E4C25C 0%, #C9A227 55%, #A8841A 100%);
  --ts-grad-gold-text: linear-gradient(120deg, #F0D27A 0%, #C9A227 60%, #E4C25C 100%);

  --ts-r:      16px;
  --ts-r-lg:   22px;
  --ts-r-xl:   28px;
  --ts-r-pill: 999px;

  --ts-shadow-sm: 0 1px 2px rgba(11,27,51,.06), 0 4px 14px rgba(11,27,51,.06);
  --ts-shadow-md: 0 8px 22px rgba(11,27,51,.08), 0 18px 48px rgba(11,27,51,.08);
  --ts-shadow-lg: 0 24px 70px rgba(11,27,51,.18);
  --ts-shadow-gold: 0 12px 30px rgba(201,162,39,.34);

  --ts-ease: cubic-bezier(.22,.61,.36,1);
  --ts-ease-soft: cubic-bezier(.16,1,.3,1);
}

/* --------------------------------------------------------------------------
   2. Base & typographie
   -------------------------------------------------------------------------- */
html { scroll-behavior: smooth; }

body {
  font-family: 'Inter', 'Open Sans', system-ui, -apple-system, sans-serif !important;
  color: var(--ts-text);
  background-color: var(--ts-paper);
  -webkit-font-smoothing: antialiased;
  text-rendering: optimizeLegibility;
  letter-spacing: .002em;
}

h1, h2, h3, h4, h5, h6,
.navbar-nav, .btn, .display-1, .display-2, .display-3, .display-4 {
  font-family: 'Sora', 'Montserrat', system-ui, sans-serif !important;
}

h1, h2, h3, h4 { letter-spacing: -.018em; color: var(--ts-ink); font-weight: 700; }
h5, h6 { letter-spacing: -.01em; color: var(--ts-ink); font-weight: 600; }

p { color: var(--ts-text); line-height: 1.75; }
.color-7, .color-8 { color: var(--ts-muted) !important; }

a { transition: color .25s var(--ts-ease); }
a:hover { text-decoration: none; }

::selection { background: var(--ts-gold); color: #1a1305; }

/* Palette utilitaire (remappée vers l'identité premium) */
.color-primary      { color: var(--ts-ink) !important; }
.background-primary  { background-color: var(--ts-ink) !important; }
.border-color-primary{ border-color: var(--ts-ink) !important; }
.color-warning      { color: var(--ts-gold) !important; }
.background-warning  { background-color: var(--ts-gold) !important; }
.color-blueish      { color: var(--ts-navy) !important; }
.background-11       { background-color: var(--ts-paper) !important; }
.radius-secondary    { border-radius: var(--ts-r-lg) !important; }
.radius-primary      { border-radius: 8px !important; }

/* Spacing aéré pour respirer (rythme de section) */
section { position: relative; }

/* --------------------------------------------------------------------------
   3. Barre de progression dorée (signature) + scrollbar
   -------------------------------------------------------------------------- */
#ts-progress {
  position: fixed; top: 0; left: 0; height: 3px; width: 0%;
  background: var(--ts-grad-gold);
  z-index: 2000; box-shadow: 0 0 12px rgba(201,162,39,.6);
  transition: width .1s linear;
}
::-webkit-scrollbar { width: 11px; }
::-webkit-scrollbar-track { background: var(--ts-mist); }
::-webkit-scrollbar-thumb {
  background: linear-gradient(var(--ts-navy), var(--ts-ink));
  border-radius: 10px; border: 2px solid var(--ts-mist);
}

/* --------------------------------------------------------------------------
   4. Barre de contact (top bar)
   -------------------------------------------------------------------------- */
section.background-primary.py-3 {
  background: linear-gradient(90deg, #0B1B33 0%, #16294E 60%, #0f2244 100%) !important;
  border-bottom: 1px solid rgba(201,162,39,.18);
  position: relative; z-index: 1031;
  font-size: .72rem !important;
  letter-spacing: .03em;
}
section.background-primary.py-3 .col-auto {
  display: flex;
  align-items: center;
  gap: .4rem;
  padding-top: .1rem;
  padding-bottom: .1rem;
  border-right: 1px solid rgba(255,255,255,.08);
  padding-right: 1.4rem;
}
section.background-primary.py-3 .col-auto:last-child { border-right: none; }
section.background-primary.py-3 .color-warning {
  color: var(--ts-gold-light) !important;
  font-size: .75rem;
}
section.background-primary.py-3 p,
section.background-primary.py-3 a {
  line-height: 1.4;
  font-size: .72rem;
  letter-spacing: .025em;
}
section.background-primary.py-3 a { transition: color .22s var(--ts-ease); }
section.background-primary.py-3 a:hover { color: var(--ts-gold-light) !important; }

/* --------------------------------------------------------------------------
   5. Navigation — glassmorphism premium + soulignement doré unifié
   -------------------------------------------------------------------------- */

/* ── Conteneur principal ── */
.znav-container, .znav-white {
  background: rgba(255,255,255,.82) !important;
  -webkit-backdrop-filter: saturate(200%) blur(22px);
  backdrop-filter: saturate(200%) blur(22px);
  border-bottom: 1px solid rgba(226,231,240,.65);
  transition: background .4s var(--ts-ease), box-shadow .4s var(--ts-ease), padding .4s var(--ts-ease);
}
.znav-container.ts-scrolled {
  background: rgba(255,255,255,.97) !important;
  box-shadow: 0 1px 0 rgba(226,231,240,.9), 0 4px 24px rgba(11,27,51,.06), 0 16px 48px rgba(11,27,51,.05);
  border-bottom-color: transparent;
}
.znav-container .navbar {
  padding-top: .7rem;
  padding-bottom: .7rem;
  transition: padding .4s var(--ts-ease);
}
.znav-container.ts-scrolled .navbar { padding-top: .38rem; padding-bottom: .38rem; }

/* ── Logo ── */
.navbar-brand { position: relative; }
.navbar-brand img {
  transition: transform .45s var(--ts-ease), filter .45s var(--ts-ease);
}
.navbar-brand:hover img {
  transform: scale(1.03);
  filter: drop-shadow(0 3px 12px rgba(201,162,39,.32));
}

/* ── Liens de premier niveau ── */
.navbar-nav { align-items: center; gap: .1rem; }
.navbar-nav > li > a {
  color: var(--ts-ink) !important;
  font-weight: 600 !important;
  font-size: .775rem;
  letter-spacing: .055em;
  text-transform: uppercase;
  position: relative;
  padding: .6rem .2rem !important;
  margin: 0 .9rem;
  transition: color .28s var(--ts-ease);
}

/*
  SUPPRESSION DES CARRÉS / ICÔNES FONTAWESOME
  ─────────────────────────────────────────────
  Le thème ajoute via JS la classe "has-dropdown" sur les <li> et injecte
  un ::after FontAwesome (\f107 / \f105) avec une spécificité (0,2,2).
  Les règles ci-dessous ont une spécificité (0,3,4) > (0,2,2) et priment
  en remplaçant le contenu par le soulignement doré animé.
*/
.znav-container ul.navbar-nav > li > a::after,
.znav-container ul.navbar-nav > li.has-dropdown > a::after,
.znav-container ul.navbar-nav > li.has-megamenu > a::after {
  content: '' !important;
  font-family: inherit !important;
  position: absolute !important;
  left: 0 !important;
  right: 100% !important;
  bottom: .05rem !important;
  top: auto !important;
  width: auto !important;
  height: 2px !important;
  border: none !important;
  border-radius: 2px !important;
  background: var(--ts-grad-gold) !important;
  transform: none !important;
  margin-top: 0 !important;
  z-index: 2 !important;
  transition: right .38s var(--ts-ease) !important;
  pointer-events: none;
}

/* Expansion du soulignement au survol / état actif */
.znav-container ul.navbar-nav > li:hover > a::after,
.znav-container ul.navbar-nav > li.z-active > a::after {
  right: 0 !important;
}

/* Couleur du texte au survol */
.navbar-nav > li:hover > a,
.navbar-nav > li.z-active > a { color: var(--ts-gold-deep) !important; }

/* Supprimer les flèches dans les items de sous-menu */
.znav-container ul.navbar-nav .dropdown li a::after,
.znav-container ul.navbar-nav li.has-dropdown .has-dropdown > a::after {
  display: none !important;
}

/* ── CTA "Contact" → pilule dorée ── */
.navbar-nav > li > a.d-block.mr-md-9 {
  background: var(--ts-grad-gold) !important;
  color: #1a1200 !important;
  padding: .54rem 1.55rem !important;
  border-radius: var(--ts-r-pill) !important;
  box-shadow: 0 8px 22px rgba(201,162,39,.32), 0 2px 6px rgba(201,162,39,.22) !important;
  margin-left: 1.3rem;
  font-size: .75rem;
  font-weight: 700 !important;
  letter-spacing: .07em;
  text-transform: uppercase;
  transition: transform .3s var(--ts-ease), box-shadow .3s var(--ts-ease), background .3s var(--ts-ease) !important;
}
.navbar-nav > li > a.d-block.mr-md-9::after,
.navbar-nav > li > a.d-block.mr-md-9::before { display: none !important; }
.navbar-nav > li > a.d-block.mr-md-9:hover {
  transform: translateY(-2px) !important;
  background: linear-gradient(135deg, #F0D27A 0%, #C9A227 55%, #E4C25C 100%) !important;
  box-shadow: 0 14px 34px rgba(201,162,39,.42), 0 4px 10px rgba(201,162,39,.28) !important;
  color: #1a1200 !important;
}

/* ── Dropdowns ── */
.navbar-nav .dropdown {
  background: rgba(255,255,255,.99) !important;
  -webkit-backdrop-filter: saturate(180%) blur(22px);
  backdrop-filter: saturate(180%) blur(22px);
  border: 1px solid rgba(226,231,240,.95) !important;
  border-radius: 18px !important;
  box-shadow:
    0 0 0 1px rgba(11,27,51,.04),
    0 8px 20px rgba(11,27,51,.06),
    0 24px 56px rgba(11,27,51,.10) !important;
  padding: .55rem !important;
  overflow: hidden;
  min-width: 210px;
}

/* Ligne de séparation dorée en haut du dropdown */
.navbar-nav .dropdown::before {
  content: '';
  display: block;
  height: 2px;
  margin: 0 .55rem .5rem;
  border-radius: 2px;
  background: var(--ts-grad-gold);
  opacity: .7;
}

.navbar-nav .dropdown li a {
  color: var(--ts-text) !important;
  border-radius: 11px;
  padding: .68rem 1.05rem !important;
  font-size: .81rem;
  font-weight: 500;
  letter-spacing: .008em;
  text-transform: none;
  display: block;
  transition:
    background .22s var(--ts-ease),
    color .22s var(--ts-ease),
    padding-left .22s var(--ts-ease),
    transform .22s var(--ts-ease);
}
.navbar-nav .dropdown li a:hover {
  background: linear-gradient(120deg, rgba(246,247,251,1) 0%, rgba(201,162,39,.08) 100%) !important;
  color: var(--ts-ink) !important;
  padding-left: 1.35rem !important;
  transform: translateX(2px);
}

/* ── Menu mobile ── */
@media (max-width: 991px) {
  .znav-container { background: rgba(255,255,255,.99) !important; }
  .navbar-collapse {
    background: #fff;
    margin-top: .75rem;
    padding: .85rem;
    border-radius: 18px;
    box-shadow: 0 8px 32px rgba(11,27,51,.11), 0 2px 8px rgba(11,27,51,.06);
    border: 1px solid var(--ts-line);
  }
  .navbar-nav > li > a {
    margin: 0;
    padding: .78rem .75rem !important;
    font-size: .87rem;
    text-transform: none;
    letter-spacing: .015em;
  }
  .navbar-nav > li > a::after,
  .navbar-nav > li > a::before { display: none !important; }
  .navbar-nav .dropdown {
    box-shadow: none !important;
    border: none !important;
    background: var(--ts-paper) !important;
    border-radius: 12px !important;
  }
  .navbar-nav .dropdown::before { display: none !important; }
  .navbar-nav > li > a.d-block.mr-md-9 {
    display: inline-flex !important;
    margin: .55rem .75rem !important;
    padding: .52rem 1.3rem !important;
  }
}

/* ── Animation d'entrée des dropdowns (desktop) ── */
@media (min-width: 992px) {
  .znav-container ul.navbar-nav li.has-dropdown ul.dropdown {
    transform: translateY(-8px) scale(.97) !important;
    transform-origin: top center;
    transition: opacity .28s var(--ts-ease-soft), transform .28s var(--ts-ease-soft) !important;
  }
  .znav-container ul.navbar-nav li.has-dropdown:hover ul.dropdown,
  .znav-container ul.navbar-nav li.has-dropdown.z-active ul.dropdown {
    transform: none !important;
  }
}

/* --------------------------------------------------------------------------
   6. Boutons premium
   -------------------------------------------------------------------------- */
.btn {
  font-weight: 600 !important;
  border-radius: var(--ts-r-pill) !important;
  padding: .72rem 1.7rem !important;
  letter-spacing: .01em;
  position: relative; overflow: hidden;
  transition: transform .3s var(--ts-ease), box-shadow .3s var(--ts-ease), background .3s var(--ts-ease) !important;
  border: none !important;
}
.btn::before {  /* reflet au survol */
  content: ''; position: absolute; top: 0; left: -130%;
  width: 60%; height: 100%; transform: skewX(-22deg);
  background: linear-gradient(90deg, transparent, rgba(255,255,255,.38), transparent);
  transition: left .6s var(--ts-ease);
}
.btn:hover::before { left: 150%; }

.btn-primary {
  background: var(--ts-grad-ink) !important;
  color: #fff !important;
  box-shadow: 0 10px 26px rgba(11,27,51,.28) !important;
}
.btn-primary:hover, .btn-primary:focus, .btn-primary:active {
  background: linear-gradient(135deg, #16294E, #0B1B33) !important;
  color: #fff !important;
  transform: translateY(-3px);
  box-shadow: 0 16px 36px rgba(11,27,51,.36) !important;
}

.btn-warning {
  background: var(--ts-grad-gold) !important;
  color: #21180a !important;
  box-shadow: var(--ts-shadow-gold) !important;
}
.btn-warning:hover, .btn-warning:focus, .btn-warning:active {
  background: linear-gradient(135deg, #C9A227, #E4C25C) !important;
  color: #21180a !important;
  transform: translateY(-3px);
  box-shadow: 0 18px 40px rgba(201,162,39,.45) !important;
}
.btn-warning span { color: #21180a !important; }

/* Liens "En savoir plus →" */
a.d-flex.align-items-center {
  color: var(--ts-gold-deep) !important;
  font-weight: 600;
  transition: color .25s var(--ts-ease), gap .25s var(--ts-ease);
}
a.d-flex.align-items-center:hover { color: var(--ts-ink) !important; }

/* --------------------------------------------------------------------------
   7. Filets & eyebrows (signature)
   -------------------------------------------------------------------------- */
hr.short {
  height: 4px !important; border: none !important; border-radius: 4px;
  background: var(--ts-grad-gold) !important;
  margin-top: 1.1rem !important; margin-bottom: 0 !important;
  box-shadow: 0 4px 14px rgba(201,162,39,.4);
}
hr.short.mx-auto, .text-center hr.short { margin-left: auto !important; margin-right: auto !important; }

/* Titres de section : petit liseré doré */
section > .container > h3.text-center,
section .row.justify-content-center h3 {
  position: relative;
}

/* --------------------------------------------------------------------------
   8. Cartes & surfaces blanches
   -------------------------------------------------------------------------- */
.background-white {
  background-color: #fff !important;
  border: 1px solid var(--ts-line);
}
section.background-white { border: none; }

/* Cartes actualités / services (image en haut + texte) */
.background-white.radius-secondary,
.background-white.h-100.radius-secondary {
  border-radius: var(--ts-r-lg) !important;
  box-shadow: var(--ts-shadow-sm);
  overflow: hidden;
  transition: transform .45s var(--ts-ease-soft), box-shadow .45s var(--ts-ease-soft);
  position: relative;
}
.background-white.radius-secondary::before {
  content: ''; position: absolute; top: 0; left: 0; right: 0; height: 3px;
  background: var(--ts-grad-gold); transform: scaleX(0); transform-origin: left;
  transition: transform .5s var(--ts-ease); z-index: 3;
}
.background-white.radius-secondary:hover { transform: translateY(-8px); box-shadow: var(--ts-shadow-lg); }
.background-white.radius-secondary:hover::before { transform: scaleX(1); }
.background-white.radius-secondary img { transition: transform .7s var(--ts-ease-soft); }
.background-white.radius-secondary:hover img { transform: scale(1.06); }

/* Bloc services (split image / texte) */
.row.no-gutters .background-white {
  transition: box-shadow .4s var(--ts-ease);
}
.row.no-gutters:hover .background-white { box-shadow: var(--ts-shadow-md); }
.elixir-caret { background-color: #fff !important; box-shadow: -3px 3px 8px rgba(11,27,51,.05); }

/* Image holders : zoom doux au survol du parent */
.background-holder { transition: transform 1.2s var(--ts-ease-soft); }
.row.no-gutters:hover > div > .background-holder { transform: scale(1.04); }
.row.no-gutters > .col-lg-6 { overflow: hidden; }

/* --------------------------------------------------------------------------
   9. Anneaux d'icônes (Pourquoi Trustiva)
   -------------------------------------------------------------------------- */
.background-11.border.radius-round {
  background: linear-gradient(160deg, #fff, var(--ts-mist)) !important;
  border: 1px solid var(--ts-line) !important;
  box-shadow: inset 0 1px 0 #fff, var(--ts-shadow-sm);
  position: relative;
  transition: transform .45s var(--ts-ease), box-shadow .45s var(--ts-ease);
}
.background-11.border.radius-round::after {
  content: ''; position: absolute; inset: -6px; border-radius: 50%;
  border: 1px dashed rgba(201,162,39,.45); opacity: 0;
  transition: opacity .4s var(--ts-ease), transform .6s var(--ts-ease);
}
.col:hover .background-11.border.radius-round,
[class*="col-"]:hover .background-11.border.radius-round {
  transform: translateY(-6px) scale(1.04);
  box-shadow: var(--ts-shadow-md);
}
[class*="col-"]:hover .background-11.border.radius-round::after { opacity: 1; transform: rotate(20deg); }
.background-11.border.radius-round .color-blueish { color: var(--ts-gold-deep) !important; }

/* --------------------------------------------------------------------------
   10. Sections sombres (newsletter / panneaux) + glassmorphism
   -------------------------------------------------------------------------- */
section[style*="3D4C6F"], section[style*="#3D4C6F"] {
  background: var(--ts-grad-ink) !important;
}
.background-primary.color-white,
.background-primary.radius-secondary {
  background: linear-gradient(150deg, #16294E, #0B1B33) !important;
  border: 1px solid rgba(201,162,39,.18);
  border-radius: var(--ts-r-lg) !important;
  box-shadow: var(--ts-shadow-lg);
}
.background-primary.color-white h4 { color: #fff !important; }

/* Tuiles réseaux sociaux (footer) — style circulaire vision-du-fondateur */

/* Colonne → rangée horizontale de cercles */
.col-6.col-sm-5.ml-sm-auto {
  display: flex !important;
  flex-direction: row !important;
  align-items: center !important;
  flex-wrap: wrap;
  gap: 10px !important;
}
.col-6.col-sm-5.ml-sm-auto > a { display: block !important; }
.col-6.col-sm-5.ml-sm-auto .row.mb-3 { margin-bottom: 0 !important; }
.col-6.col-sm-5.ml-sm-auto .col-auto { padding: 0 !important; }

/* Masque les étiquettes textes (Linkedin, X, Facebook) */
.col-6.col-sm-5.ml-sm-auto .col-6.pl-3 { display: none !important; }

/* Boutons circulaires */
.background-primary.radius-primary[style*="40px"] {
  background: transparent !important;
  border: 1px solid rgba(255,255,255,.2) !important;
  border-radius: 50% !important;
  width: 40px !important; height: 40px !important;
  transition: background .3s ease, border-color .3s ease, transform .3s ease !important;
}

/* Icônes blanches semi-transparentes au repos */
.background-primary.radius-primary[style*="40px"] svg path,
.background-primary.radius-primary[style*="40px"] svg rect,
.background-primary.radius-primary[style*="40px"] svg circle,
.background-primary.radius-primary[style*="40px"] svg polygon {
  fill: rgba(255,255,255,.72) !important;
}

/* Hover : fond doré + icône foncée + légère remontée */
a:hover .background-primary.radius-primary[style*="40px"] {
  background: #D4AF37 !important;
  border-color: #D4AF37 !important;
  transform: translateY(-3px) !important;
}
a:hover .background-primary.radius-primary[style*="40px"] svg path,
a:hover .background-primary.radius-primary[style*="40px"] svg rect,
a:hover .background-primary.radius-primary[style*="40px"] svg circle,
a:hover .background-primary.radius-primary[style*="40px"] svg polygon {
  fill: #1a1305 !important;
}

/* Liens footer */
.background-primary a.color-white, section[style*="3D4C6F"] a.color-white {
  transition: color .25s var(--ts-ease), padding-left .25s var(--ts-ease);
}
.background-primary a.color-white:hover, section[style*="3D4C6F"] a.color-white:hover {
  color: var(--ts-gold-light) !important; padding-left: 4px;
}

/* Bandeau copyright */
section.background-primary.py-4 { background: var(--ts-ink) !important; }

/* --------------------------------------------------------------------------
   11. Formulaires
   -------------------------------------------------------------------------- */
.form-control, input.form-control, textarea.form-control, select.form-control {
  border-radius: 12px !important;
  border: 1.5px solid var(--ts-line) !important;
  padding: .8rem 1.1rem !important;
  background: #fff;
  transition: border-color .25s var(--ts-ease), box-shadow .25s var(--ts-ease);
  color: var(--ts-text);
}
.form-control:focus {
  border-color: var(--ts-gold) !important;
  box-shadow: 0 0 0 4px rgba(201,162,39,.16) !important;
  outline: none;
}
.background-primary .form-control, .background-primary input {
  background: rgba(255,255,255,.95) !important;
}
textarea.form-control { min-height: 130px; }

/* --------------------------------------------------------------------------
   12. Bouton lecture vidéo (premium pulse)
   -------------------------------------------------------------------------- */
.btn-elixir-play {
  background: var(--ts-grad-gold) !important;
  color: #21180a !important;
  box-shadow: var(--ts-shadow-gold);
}
.btn-elixir-play:before {
  border-color: rgba(228,194,92,.5) !important;
  animation: ts-pulse 2.4s var(--ts-ease) infinite;
}
@keyframes ts-pulse {
  0%   { transform: scale(1);   opacity: .9; }
  70%  { transform: scale(1.35); opacity: 0; }
  100% { transform: scale(1.35); opacity: 0; }
}
.video-modal:hover .btn-elixir-play { transform: scale(1.06) !important; }

/* --------------------------------------------------------------------------
   13. Héros / bannières — scrim dégradé pour la lisibilité
   -------------------------------------------------------------------------- */
.flexslider .background-holder::after,
.inner-header .background-holder::after,
section .background-holder.radius-secondary::after {
  content: ''; position: absolute; inset: 0;
  background: linear-gradient(105deg, rgba(11,27,51,.78) 0%, rgba(11,27,51,.45) 45%, rgba(11,27,51,.15) 100%);
}
.flexslider .background-holder { position: absolute; }
.flexslider h1 {
  background: var(--ts-grad-gold-text);
  -webkit-background-clip: text; background-clip: text;
  -webkit-text-fill-color: transparent;
  color: var(--ts-gold-light) !important;
  font-weight: 800 !important;
}
.flexslider p { text-shadow: 0 2px 18px rgba(0,0,0,.35); }

/* Puces du slider */
.flex-control-nav li a { background: rgba(255,255,255,.5) !important; box-shadow: none !important; }
.flex-control-nav li a.flex-active { background: var(--ts-gold) !important; }

/* En-tête de page interne */
.inner-header, header.inner-header {
  position: relative;
}
.inner-header h1, .inner-header h2 { color: #fff !important; }

/* --------------------------------------------------------------------------
   14. Préchargeur premium
   -------------------------------------------------------------------------- */
#preloader.loading {
  background: var(--ts-grad-ink) !important;
}
#preloader .line-scale > div { background: var(--ts-gold-light) !important; }

/* --------------------------------------------------------------------------
   15. Animations de reveal au scroll (injectées par trustiva.js)
   -------------------------------------------------------------------------- */
.ts-reveal {
  opacity: 0;
  transform: translateY(26px);
  transition: opacity .8s var(--ts-ease-soft), transform .8s var(--ts-ease-soft);
  will-change: opacity, transform;
}
.ts-reveal.ts-in { opacity: 1; transform: none; }

/* Back to top */
#ts-top {
  position: fixed; right: 22px; bottom: 22px; z-index: 1200;
  height: 50px; width: 50px; border-radius: 50%;
  background: var(--ts-grad-ink); color: #fff; border: 1px solid rgba(201,162,39,.4);
  display: flex; align-items: center; justify-content: center;
  cursor: pointer; opacity: 0; transform: translateY(20px) scale(.8);
  pointer-events: none; box-shadow: var(--ts-shadow-md);
  transition: opacity .4s var(--ts-ease), transform .4s var(--ts-ease), background .3s var(--ts-ease);
}
#ts-top.ts-show { opacity: 1; transform: none; pointer-events: auto; }
#ts-top:hover { background: var(--ts-grad-gold); color: #21180a; transform: translateY(-3px); }
#ts-top svg { width: 20px; height: 20px; }

/* --------------------------------------------------------------------------
   16. Accessibilité / réduction du mouvement
   -------------------------------------------------------------------------- */
@media (prefers-reduced-motion: reduce) {
  *, *::before, *::after {
    animation-duration: .001ms !important;
    animation-iteration-count: 1 !important;
    transition-duration: .001ms !important;
    scroll-behavior: auto !important;
  }
  .ts-reveal { opacity: 1 !important; transform: none !important; }
}

:focus-visible { outline: 3px solid var(--ts-gold); outline-offset: 2px; border-radius: 4px; }

/* --------------------------------------------------------------------------
   17. Raccords responsives
   -------------------------------------------------------------------------- */
@media (max-width: 575px) {
  .btn { padding: .65rem 1.3rem !important; }
  h1, .fs-4, .fs-5 { line-height: 1.18; }
  #ts-top { right: 14px; bottom: 14px; height: 44px; width: 44px; }
}
