/* =====================================================
   Comnote — FEED MARKETPLACE + HEADER MODERNE
   ===================================================== */

/* --- Page d'accueil --- */
body#home .content { background: #f2f4f6 !important; }
body#home .home-latest .block > h2 { display: none; }

/* Masquer l'ancien moteur de recherche sur la home */
body#home .home-search { display: none !important; padding: 0 !important; margin: 0 !important; height: 0 !important; overflow: hidden !important; }
body#home section.home-location { display: none !important; height: 0 !important; overflow: hidden !important; padding: 0 !important; margin: 0 !important; }
body#home section.home-premium { display: none !important; height: 0 !important; overflow: hidden !important; padding: 0 !important; margin: 0 !important; }
body#home section.home-favorite { display: none !important; height: 0 !important; overflow: hidden !important; padding: 0 !important; margin: 0 !important; }
body#home section.home-recent { display: none !important; height: 0 !important; overflow: hidden !important; padding: 0 !important; margin: 0 !important; }
body#home .content { padding-top: 0 !important; margin-top: 0 !important; background: #f2f4f6 !important; }
body#home .home-latest { padding-top: 24px !important; margin-top: 0 !important; }


/* ============================================================
   HEADER MODERNE — Layout 3 zones
   [ LOGO ]  [ MOTEUR RECHERCHE ]  [ ICONES ]
   ============================================================ */

/* Masquer l'ancien header sur TOUTES les pages — le nouveau le remplace */
header > .container.cmain { display: none !important; }

/* Sur mobile : garder le nouveau header visible (ancien masqué) */
@media (max-width: 680px) {
  header > .container.cmain { display: none !important; }
  .td-hd-wrap { display: flex !important; }
}

/* Masquer tout le header sur login, register, forgot, recover */
body#user-login header,
body#body-user-register header,
body#user-forgot header,
body#user-recover header {
  display: none !important;
}

/* ============================================================
   PAGES AUTH — Layout Facebook 2 colonnes
   (login, register, forgot, recover)
   ============================================================ */
body#user-login,
body#body-user-register,
body#user-forgot,
body#user-recover {
  background: #fff !important;
  margin: 0 !important;
  padding: 0 !important;
}
body#user-login .content,
body#body-user-register .content,
body#user-forgot .content,
body#user-recover .content {
  background: #fff !important;
  padding: 0 !important;
  margin: 0 !important;
  min-height: 0 !important;
}
body#user-login .content > .breadcrumb,
body#body-user-register .content > .breadcrumb,
body#user-forgot .content > .breadcrumb,
body#user-recover .content > .breadcrumb { display: none !important; }

body#user-login #footer, body#user-login footer,
body#body-user-register #footer, body#body-user-register footer,
body#user-forgot #footer, body#user-forgot footer,
body#user-recover #footer, body#user-recover footer { display: none !important; }

body#user-login #side-menu,
body#body-user-register #side-menu,
body#user-forgot #side-menu,
body#user-recover #side-menu { display: none !important; }

/* Wrapper 2 colonnes */
.td-lp-wrap {
  display: flex;
  min-height: 100vh;
  font-family: Helvetica, Arial, sans-serif;
}

/* Colonne gauche — visuel */
.td-lp-left {
  flex: 1;
  background: #fafafa;
  display: flex;
  flex-direction: column;
  justify-content: center;
  align-items: center;
  padding: 40px 32px;
}
/* Tagline — police Didone/Bodoni style Happn */
@import url('https://fonts.googleapis.com/css2?family=Abril+Fatface&display=swap');

.td-lp-tagline {
  font-family: 'Abril Fatface', Georgia, serif;
  font-size: 39px;
  font-weight: 250;
  font-style: normal;
  color: #171717;
  line-height: 1.1;
  text-align: center;
  max-width: 500px;
  margin: 0 0 20px;
}
.td-lp-img {
  max-width: 845px;
  width: 100%;
  height: auto;
  display: block;
  filter: drop-shadow(0 10px 25px rgba(0,0,0,.08));
}

/* Colonne droite — formulaire */
.td-lp-right {
  width: 540px;
  flex-shrink: 0;
  display: flex;
  flex-direction: column;
  justify-content: center;
  padding: 0;
}

/* Logo centré */
.td-lp-logo { display: flex; justify-content: center; margin: 0 0 20px; }
.td-lp-logo a { display: inline-block; }
.td-lp-logo img { max-height: 52px; width: auto; }

/* Container/box du thème */
.td-lp-right > section.container {
  max-width: 100% !important;
  width: 100% !important;
  padding: 36px 48px !important;
  margin: 0 !important;
  flex-direction: column !important;
  display: flex !important;
}
.td-lp-right > section.container > .box {
  max-width: 100% !important;
  width: 100% !important;
}

/* Titre h1 */
.td-lp-right h1 {
  font-size: 28px !important;
  font-weight: 700 !important;
  color: #171717 !important;
  margin: 0 0 8px !important;
  font-family: Helvetica, Arial, sans-serif !important;
}

/* Lien alt */
.td-lp-right .alt-action {
  font-size: 15px !important;
  margin-bottom: 24px !important;
  display: block;
}

/* CHAMPS DE SAISIE — très arrondis comme le bouton */
.td-lp-right .row { margin-bottom: 16px !important; }
.td-lp-right .row label {
  font-size: 15px !important;
  font-weight: 600 !important;
  color: #333 !important;
  margin-bottom: 6px !important;
  display: block !important;
}
.td-lp-right .input-box {
  display: block !important;
  width: 100% !important;
  position: relative !important;
}
.td-lp-right .input-box input[type="text"],
.td-lp-right .input-box input[type="email"],
.td-lp-right .input-box input[type="password"],
.td-lp-right .input-box input[type="tel"],
.td-lp-right input[name="email"],
.td-lp-right input[name="s_email"],
.td-lp-right input[name="password"],
.td-lp-right input[name="new_password"],
.td-lp-right input[name="new_password2"],
.td-lp-right input[name="s_name"],
.td-lp-right input[name="s_password"],
.td-lp-right input[name="s_password2"],
.td-lp-right input[name="s_phone_mobile"] {
  width: 100% !important;
  max-width: 420px !important;
  height: 48px !important;
  padding: 12px 18px !important;
  border: 1.5px solid #dbdbdb !important;
  border-radius: 24px !important;
  font-size: 16px !important;
  font-family: Helvetica, Arial, sans-serif !important;
  background: #fafafa !important;
  outline: none !important;
  box-sizing: border-box !important;
  transition: border-color .2s !important;
}
.td-lp-right input:focus {
  border-color: #e02020 !important;
  background: #fff !important;
}

/* Select aussi arrondi */
.td-lp-right select {
  width: 100% !important;
  max-width: 420px !important;
  height: 48px !important;
  padding: 12px 18px !important;
  border: 1.5px solid #dbdbdb !important;
  border-radius: 24px !important;
  font-size: 16px !important;
  font-family: Helvetica, Arial, sans-serif !important;
  background: #fafafa !important;
  outline: none !important;
  box-sizing: border-box !important;
  -webkit-appearance: none !important;
  cursor: pointer !important;
}

/* Textarea aussi */
.td-lp-right textarea {
  width: 100% !important;
  max-width: 420px !important;
  padding: 14px 18px !important;
  border: 1.5px solid #dbdbdb !important;
  border-radius: 16px !important;
  font-size: 16px !important;
  font-family: Helvetica, Arial, sans-serif !important;
  background: #fafafa !important;
  outline: none !important;
  box-sizing: border-box !important;
}

/* Checkbox */
.td-lp-right .input-box-check {
  margin: 4px 0 16px !important;
  font-size: 14px !important;
}

/* BOUTON — très arrondi */
.td-lp-right button.btn,
.td-lp-right button[type="submit"] {
  width: 100% !important;
  max-width: 420px !important;
  height: 48px !important;
  border-radius: 24px !important;
  background: linear-gradient(135deg, #e02020, #ff6060) !important;
  color: #fff !important;
  border: none !important;
  font-size: 16px !important;
  font-weight: 700 !important;
  font-family: Helvetica, Arial, sans-serif !important;
  cursor: pointer !important;
  transition: opacity .15s !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  padding: 0 !important;
  margin-top: 4px !important;
}
.td-lp-right button.btn:hover,
.td-lp-right button[type="submit"]:hover { opacity: .9 !important; }

/* Lien mot de passe oublié */
.td-lp-right .alt-action2 {
  font-size: 14px !important;
  margin-top: 12px !important;
  display: block;
}

/* Toggle password */
.td-lp-right .toggle-pass {
  position: absolute;
  right: 14px;
  top: 50%;
  transform: translateY(-50%);
}

/* Footer login */
.td-lp-footer {
  padding: 20px 48px;
  border-top: 1px solid #eee;
  margin-top: auto;
}
.td-lp-footer-links {
  display: flex;
  flex-wrap: wrap;
  gap: 6px 14px;
  margin-bottom: 6px;
}
.td-lp-footer-links a { font-size: 12px; color: #999; text-decoration: none; }
.td-lp-footer-links a:hover { color: #555; }
.td-lp-footer p { font-size: 12px; color: #bbb; margin: 0; }

/* Mobile */
@media (max-width: 768px) {
  .td-lp-left { display: none !important; }
  .td-lp-right { width: 100% !important; }
  .td-lp-right > section.container { padding: 24px 16px !important; }
  .td-lp-right input,
  .td-lp-right select,
  .td-lp-right textarea,
  .td-lp-right button.btn,
  .td-lp-right button[type="submit"] { max-width: 100% !important; }
  .td-lp-footer { padding: 16px; }
}

.td-header {
  background: #fff !important;
  box-shadow: 0 1px 3px rgba(0,0,0,.08) !important;
  border: none !important;
  padding: 0 !important;
  height: auto !important;
  min-height: auto !important;
}

.td-hd-wrap {
  display: flex;
  align-items: center;
  max-width: 1440px;
  margin: 0 auto;
  padding: 12px 32px;
  gap: 20px;
}

/* === GAUCHE : Logo === */
.td-hd-left {
  flex-shrink: 0;
  display: flex;
  align-items: center;
  gap: 8px;
}
.td-hd-left .logo { display: flex; align-items: center; }
.td-hd-left .logo img { height: 46px; width: auto; }
.td-hd-left .menu { display: none; }

/* === CENTRE : Moteur de recherche === */
.td-hd-center {
  flex: 1;
  display: flex;
  justify-content: center;
  min-width: 0;
}

.td-hd-search {
  width: 100%;
  max-width: 750px;
  display: block !important;
  margin: 0 !important;
}

.td-hd-bar {
  display: flex;
  align-items: center;
  background: #f5f5f5;
  border: 1px solid #e0e0e0;
  border-radius: 50px;
  min-height: 54px;
  transition: box-shadow .2s, background .2s;
  overflow: visible;
}
.td-hd-bar:hover,
.td-hd-bar:focus-within {
  background: #fff;
  box-shadow: 0 2px 12px rgba(0,0,0,.1);
  border-color: #ccc;
}

/* Segments */
.td-hd-seg {
  flex: 1;
  padding: 7px 22px;
  min-width: 0;
  cursor: pointer;
  border-radius: 50px;
  transition: background .12s;
}
.td-hd-seg:hover { background: rgba(0,0,0,.04); }

.td-hd-seg label {
  display: block;
  font-family: Helvetica, Arial, sans-serif;
  font-size: 11px;
  font-weight: 800;
  color: #222;
  text-transform: uppercase;
  letter-spacing: .5px;
  margin-bottom: 1px;
  pointer-events: none;
  line-height: 1.2;
}

/* Input recherche */
.td-hd-bar input[name="sPattern"] {
  display: block !important;
  width: 100% !important;
  border: none !important;
  outline: none !important;
  background: transparent !important;
  font: 400 14px/1.4 Helvetica, Arial, sans-serif !important;
  color: #222 !important;
  padding: 0 !important;
  margin: 0 !important;
  box-shadow: none !important;
  height: auto !important;
}
.td-hd-bar input[name="sPattern"]::placeholder { color: #999 !important; }

/* Texte localisation */
.td-hd-loc-text {
  display: block;
  font: 400 14px/1.4 Helvetica, Arial, sans-serif;
  color: #999;
  cursor: pointer;
  user-select: none;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}
.td-hd-loc:hover .td-hd-loc-text { color: #222; }

/* Select catégorie */
.td-hd-bar select {
  display: block !important;
  width: 100% !important;
  border: none !important;
  outline: none !important;
  background: transparent !important;
  font: 400 14px/1.4 Helvetica, Arial, sans-serif !important;
  color: #999 !important;
  padding: 0 !important;
  margin: 0 !important;
  box-shadow: none !important;
  height: auto !important;
  -webkit-appearance: none !important;
  cursor: pointer !important;
}
.td-hd-bar select option { color: #222; }

/* Catégorie un peu plus étroit */
.td-hd-cat { flex: 0.85; }

/* Séparateurs */
.td-hd-sep { width: 1px; height: 30px; background: #d0d0d0; flex-shrink: 0; }

/* Bouton recherche rouge */
.td-hd-submit {
  flex-shrink: 0;
  width: 46px; height: 46px;
  border-radius: 50%;
  background: #e02020;
  border: none;
  color: #fff;
  font-size: 18px;
  cursor: pointer;
  display: flex;
  align-items: center;
  justify-content: center;
  margin-right: 5px;
  box-shadow: 0 2px 8px rgba(224,32,32,.3);
  transition: background .15s, transform .1s;
}
.td-hd-submit:hover { background: #c41818; transform: scale(1.05); }

/* === DROITE : Icônes === */
.td-hd-right {
  flex-shrink: 0;
  display: flex;
  align-items: center;
  gap: 8px;
}

.td-hd-icon {
  width: 42px; height: 42px;
  border-radius: 50%;
  background: #f0f0f0;
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 18px;
  text-decoration: none !important;
  transition: background .15s;
  position: relative;
  color: #555;
}
.td-hd-icon:hover { background: #e0e0e0; color: #333; }
.td-hd-icon.td-hd-active { background: rgba(224, 32, 32, 0.12) !important; color: #e02020 !important; }
.td-hd-avatar.td-hd-active { box-shadow: 0 0 0 2.5px #e02020; border-radius: 50%; }

/* Mégaphone orange */
.td-hd-icon.td-hd-pub { color: #e07020; }
.td-hd-icon.td-hd-pub:hover { color: #c05010; }

/* Shield rouge */
.td-hd-icon.td-hd-shield { color: #e02020; }
.td-hd-icon.td-hd-shield:hover { color: #c41818; }

/* Cloche noire */
.td-hd-icon.td-hd-bell { color: #333; }

/* Badge notification rouge */
.td-hd-badge {
  position: absolute;
  top: -2px; right: -2px;
  background: #e02020;
  color: #fff;
  font-size: 10px;
  font-weight: 700;
  min-width: 18px; height: 18px;
  border-radius: 9px;
  display: flex;
  align-items: center;
  justify-content: center;
  padding: 0 4px;
  border: 2px solid #fff;
  line-height: 1;
}

/* Avatar gris */
.td-hd-avatar {
  width: 42px; height: 42px;
  border-radius: 50%;
  overflow: hidden;
  display: flex;
  align-items: center;
  justify-content: center;
  background: #ccc;
  text-decoration: none !important;
  flex-shrink: 0;
}
.td-hd-avatar img {
  width: 42px; height: 42px;
  object-fit: cover;
  border-radius: 50%;
}
.td-hd-avatar i { font-size: 38px; color: #999; }

/* ============================================================
   RESPONSIVE HEADER
   ============================================================ */
@media (max-width: 1100px) {
  .td-hd-wrap { padding: 10px 20px; gap: 14px; }
  .td-hd-search { max-width: 580px; }
  .td-hd-seg { padding: 6px 16px; }
}

@media (max-width: 900px) {
  .td-hd-search { max-width: 450px; }
  .td-hd-seg { padding: 5px 12px; }
  .td-hd-seg label { font-size: 9px; }
  .td-hd-bar input[name="sPattern"], .td-hd-loc-text, .td-hd-bar select { font-size: 12px !important; }
  .td-hd-submit { width: 40px; height: 40px; font-size: 16px; }
  .td-hd-icon, .td-hd-avatar { width: 36px; height: 36px; font-size: 16px; }
  .td-hd-avatar img { width: 36px; height: 36px; }
}

/* Mobile ≤767px : header compact — logo + hamburger + icônes droite */
@media (max-width: 767px) {
  /* Mise en page générale */
  .td-hd-wrap { padding: 7px 12px; gap: 8px; justify-content: space-between; }

  /* Cacher la barre de recherche 3-colonnes desktop */
  .td-hd-center { display: none !important; }

  /* Afficher le bouton hamburger (menu latéral) */
  .td-hd-left .menu { display: flex !important; align-items: center; justify-content: center; }
  .td-hd-left { gap: 8px; }

  /* Icônes droite : garder loupe + cloche + avatar, réduire taille */
  .td-hd-right { gap: 5px; }
  .td-hd-icon, .td-hd-avatar { width: 34px; height: 34px; font-size: 15px; }
  .td-hd-avatar img { width: 34px; height: 34px; }

  /* Cacher les icônes non essentielles sur très petits écrans */
  .td-hd-icon.td-hd-shield,
  .td-hd-icon:nth-child(3) { display: none; }

  /* Barre de recherche mobile — s'affiche dans .container.alt.csearch */
  header .container.alt.csearch { display: flex !important; }
}

/* ≤480px : encore plus compact */
@media (max-width: 480px) {
  .td-hd-wrap { padding: 6px 10px; }
  .td-hd-left .logo img { height: 34px; }
}

/* ============================================================
   DARK MODE HEADER
   ============================================================ */
body.dark-mode .td-header, body.dark .td-header { background: #242526 !important; box-shadow: 0 1px 3px rgba(0,0,0,.3) !important; }
body.dark-mode .td-hd-bar, body.dark .td-hd-bar { background: #3a3b3c; border-color: #4e4f50; }
body.dark-mode .td-hd-bar:hover, body.dark .td-hd-bar:hover,
body.dark-mode .td-hd-bar:focus-within, body.dark .td-hd-bar:focus-within { background: #333; border-color: #555; }
body.dark-mode .td-hd-seg:hover, body.dark .td-hd-seg:hover { background: rgba(255,255,255,.06); }
body.dark-mode .td-hd-seg label, body.dark .td-hd-seg label { color: #e4e6eb; }
body.dark-mode .td-hd-bar input, body.dark .td-hd-bar input { color: #e4e6eb !important; }
body.dark-mode .td-hd-bar input::placeholder, body.dark .td-hd-bar input::placeholder { color: #8a8d91 !important; }
body.dark-mode .td-hd-loc-text, body.dark .td-hd-loc-text { color: #8a8d91; }
body.dark-mode .td-hd-bar select, body.dark .td-hd-bar select { color: #8a8d91 !important; }
body.dark-mode .td-hd-sep, body.dark .td-hd-sep { background: #555; }
body.dark-mode .td-hd-icon, body.dark .td-hd-icon { background: #3a3b3c; color: #b0b3b8; }
body.dark-mode .td-hd-icon:hover, body.dark .td-hd-icon:hover { background: #4e4f50; color: #e4e6eb; }
body.dark-mode .td-hd-avatar, body.dark .td-hd-avatar { background: #555; }

   BARRE "Quoi de neuf" — fidèle capture Facebook
   ============================================================ */
.td-qdn-section {
  padding: 12px 0 4px !important;
}
.td-qdn-section > .container {
  max-width: 100% !important;
  padding: 0 24px !important;
}

/* Layout 3 zones */
.td-qdn-row {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 14px;
  max-width: 100%;
  margin: 0 auto;
  padding: 0;
}

/* GAUCHE */
.td-qdn-left {
  display: flex;
  align-items: center;
  gap: 8px;
  flex-shrink: 0;
}

/* DROITE */
.td-qdn-right {
  display: flex;
  align-items: center;
  gap: 8px;
  flex-shrink: 0;
}

/* Liens icônes gauche/droite */
.td-qdn-link {
  width: 48px; height: 48px;
  border-radius: 50%;
  background: #f0f0f0;
  border: 2px solid rgba(224, 32, 32, 0.25);
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 22px;
  color: #555;
  text-decoration: none !important;
  transition: background .15s, transform .15s, border-color .15s;
}
.td-qdn-link:hover {
  background: #e4e6ea;
  color: #222;
  transform: scale(1.08);
  border-color: rgba(224, 32, 32, 0.5);
}

/* Couleurs spécifiques */
.td-qdn-link-success { background: #e8fce8; color: #2ecc40; border-color: rgba(224, 32, 32, 0.25); }
.td-qdn-link-success:hover { background: #d4f7d4; color: #1da030; }
.td-qdn-link-badge { background: #fff0f0; color: #e02020; border-color: rgba(224, 32, 32, 0.25); }
.td-qdn-link-badge:hover { background: #fde0e0; color: #c41818; }
.td-qdn-link-abo { background: #f0f0f0; color: #555; border-color: rgba(224, 32, 32, 0.25); }
.td-qdn-link-abo:hover { background: #e4e6ea; color: #333; }

/* CENTRE — largeur restaurée */
.td-qdn {
  display: flex;
  align-items: center;
  gap: 12px;
  background: #ffffff;
  border: 1px solid #dddfe2;
  border-radius: 50px;
  padding: 12px 20px;
  min-height: 68px;
  cursor: pointer;
  transition: background .15s;
  width: auto;
  max-width: none;
  flex: 1;
  margin: 0;
  box-sizing: border-box;
}
.td-qdn:hover {
  background: #f7f8fa;
}

/* Avatar rond */
.td-qdn-av { flex-shrink: 0; }
.td-qdn-av img {
  width: 42px; height: 42px;
  border-radius: 50%;
  object-fit: cover;
  display: block;
}

/* Champ simulé — gris clair, très arrondi pill */
.td-qdn-field { flex: 1; min-width: 0; }
.td-qdn-field span {
  display: block;
  font-family: Helvetica, Arial, sans-serif;
  font-size: 16px;
  color: #8e8e8e;
  background: #f0f2f5;
  border: 1px solid #e4e6ea;
  border-radius: 50px;
  padding: 12px 20px;
  line-height: 1.3;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
  user-select: none;
}
.td-qdn:hover .td-qdn-field span { background: #e8eaed; }

/* Icônes */
.td-qdn-icons {
  display: flex;
  align-items: center;
  gap: 14px;
  flex-shrink: 0;
  padding-right: 4px;
}
.td-qdn-icons i {
  font-size: 22px;
  cursor: pointer;
  transition: opacity .15s;
}
.td-qdn-icons i:hover { opacity: .7; }
.td-ico-cam { color: #e02020; }
.td-ico-img { color: #45bd62; }
.td-ico-vid { color: #e02020; }

/* Responsive */
@media (max-width: 680px) {
  .td-qdn-left, .td-qdn-right { display: none !important; }
  .td-qdn-row { gap: 0; padding: 0; }
  .td-qdn {
    width: 92%;
    max-width: 92%;
    margin: 0 auto;
    padding: 7px 10px;
    border-radius: 40px;
    min-height: auto;
    gap: 8px;
  }
  .td-qdn-av img { width: 32px; height: 32px; }
  .td-qdn-field span { font-size: 14px; padding: 7px 12px; }
  .td-qdn-icons { gap: 8px; }
  .td-qdn-icons i { font-size: 18px; }
}

/* Dark mode */
body.dark-mode .td-qdn, body.dark .td-qdn {
  background: #242526; border-color: #3e4042;
}
body.dark-mode .td-qdn:hover, body.dark .td-qdn:hover { background: #2d2e2f; }
body.dark-mode .td-qdn-field span, body.dark .td-qdn-field span {
  background: #3a3b3c; border-color: #4e4f50; color: #b0b3b8;
}
body.dark-mode .td-qdn:hover .td-qdn-field span, body.dark .td-qdn:hover .td-qdn-field span { background: #4e4f50; }
body.dark-mode .td-qdn-av img, body.dark .td-qdn-av img { border: none; }

/* Dark mode — liens gauche/droite */
body.dark-mode .td-qdn-link, body.dark .td-qdn-link { background: #3a3b3c; color: #b0b3b8; }
body.dark-mode .td-qdn-link:hover, body.dark .td-qdn-link:hover { background: #4e4f50; color: #e4e6eb; }
body.dark-mode .td-qdn-link-success, body.dark .td-qdn-link-success { background: #1a3a1a; color: #2ecc40; border-color: #2ecc40; }
body.dark-mode .td-qdn-link-badge, body.dark .td-qdn-link-badge { background: #1a2a3a; color: #e02020; }
body.dark-mode .td-qdn-link-abo, body.dark .td-qdn-link-abo { background: #3a3b3c; color: #b0b3b8; }

/* ============================================================
   MODAL — Créer une annonce (fidèle Facebook)
   ============================================================ */
.td-m-overlay {
  position: fixed; inset: 0;
  background: rgba(0,0,0,0);
  z-index: 10000;
  display: flex; align-items: center; justify-content: center;
  pointer-events: none;
  transition: background .25s ease;
}
.td-m-overlay.active {
  background: rgba(0,0,0,.65);
  pointer-events: auto;
  backdrop-filter: blur(3px);
}
.td-m-box {
  background: #fff;
  border-radius: 12px;
  width: 95%; max-width: 680px; max-height: 92vh;
  display: flex; flex-direction: column;
  overflow: hidden;
  box-shadow: 0 12px 48px rgba(0,0,0,.3);
  opacity: 0;
  transform: scale(.95) translateY(16px);
  transition: opacity .25s ease, transform .25s ease;
}
.td-m-overlay.active .td-m-box {
  opacity: 1; transform: scale(1) translateY(0);
}
.td-m-hd {
  display: flex; align-items: center;
  padding: 14px 16px;
  border-bottom: 1px solid #e4e6ea;
  flex-shrink: 0; gap: 12px;
}
.td-m-hd-left { display: flex; align-items: center; gap: 10px; flex: 1; min-width: 0; }
.td-m-hd-av { width: 42px; height: 42px; border-radius: 50%; object-fit: cover; flex-shrink: 0; }
.td-m-hd-txt { font-family: Helvetica, Arial, sans-serif; min-width: 0; }
.td-m-hd-txt strong { display: block; font-size: 14px; color: #050505; line-height: 1.2; }
.td-m-hd-txt span { font-size: 12px; color: #65676b; }
.td-m-hd-txt span i { margin-right: 3px; }
.td-m-hd-right { display: flex; align-items: center; gap: 10px; flex-shrink: 0; }
.td-m-hd-title { font-family: Helvetica, Arial, sans-serif; font-size: 18px; font-weight: 700; color: #050505; }
.td-m-close {
  width: 36px; height: 36px; border-radius: 50%;
  border: none; background: #e4e6ea;
  font-size: 24px; color: #65676b; cursor: pointer;
  display: flex; align-items: center; justify-content: center;
  transition: background .15s; line-height: 1; flex-shrink: 0;
}
.td-m-close:hover { background: #d0d2d6; color: #050505; }
.td-m-body { flex: 1; overflow: hidden; min-height: 400px; }
.td-m-body iframe { width: 100%; height: 100%; min-height: 72vh; border: none; display: block; }

/* Responsive modal */
@media (max-width: 680px) {
  .td-m-box { width: 100%; max-width: 100%; max-height: 100vh; height: 100vh; border-radius: 0; }
  .td-m-hd { position: sticky; top: 0; z-index: 2; background: #fff; }
  .td-m-hd-title { font-size: 15px; }
  .td-m-body { min-height: 0; flex: 1; }
  .td-m-body iframe { min-height: calc(100vh - 70px); }
}

/* Dark mode modal */
body.dark-mode .td-m-box, body.dark .td-m-box { background: #242526; }
body.dark-mode .td-m-hd, body.dark .td-m-hd { border-color: #3e4042; background: #242526; }
body.dark-mode .td-m-hd-txt strong, body.dark .td-m-hd-txt strong { color: #e4e6eb; }
body.dark-mode .td-m-hd-txt span, body.dark .td-m-hd-txt span { color: #8a8d91; }
body.dark-mode .td-m-hd-title, body.dark .td-m-hd-title { color: #e4e6eb; }
body.dark-mode .td-m-close, body.dark .td-m-close { background: #3a3b3c; color: #b0b3b8; }
body.dark-mode .td-m-close:hover, body.dark .td-m-close:hover { background: #4e4f50; color: #e4e6eb; }

/* --- Feed vertical centre --- */
body#home .home-latest .products,
body#home .home-premium .products,
body#home .home-location .products,
body#home .home-favorite .products,
body#home .home-recent .products {
  display: flex !important;
  flex-direction: column !important;
  align-items: center !important;
  gap: 28px !important;
  width: 100% !important;
  max-width: 100% !important;
  margin: 0 auto !important;
  padding: 0 16px !important;
  flex-wrap: nowrap !important;
  overflow: visible !important;
  box-sizing: border-box !important;
}

/* masquer ancien format */
body#home .products .simple-prod { display: none !important; }

/* --- Carte : limitée à 520px sur desktop --- */
.td-card {
  width: 100% !important;
  max-width: 520px !important;
  background: #ffffff;
  border: 2px solid #1a1a1a;
  border-radius: 16px;
  overflow: hidden;
  box-shadow: 0 1px 3px rgba(0,0,0,.06);
  transition: box-shadow .25s ease, transform .25s ease;
  animation: tdUp .4s ease both;
  box-sizing: border-box;
}
.td-card:hover {
  box-shadow: 0 4px 16px rgba(0,0,0,.1);
  transform: translateY(-2px);
}

/* PREMIUM */
.td-card.td-c-prem {
  border-color: #e02020;
}

.td-card.td-c-sold,
.td-card.td-c-rsv { opacity: .6; }

/* Stagger */
.td-card.td-c-o1  { animation-delay: .0s; }
.td-card.td-c-o2  { animation-delay: .05s; }
.td-card.td-c-o3  { animation-delay: .10s; }
.td-card.td-c-o4  { animation-delay: .15s; }
.td-card.td-c-o5  { animation-delay: .20s; }
.td-card.td-c-o6  { animation-delay: .25s; }
.td-card.td-c-o7  { animation-delay: .30s; }
.td-card.td-c-o8  { animation-delay: .35s; }

@keyframes tdUp {
  from { opacity: 0; transform: translateY(16px); }
  to   { opacity: 1; transform: translateY(0); }
}

/* ============================================================
   AUTEUR
   ============================================================ */
.td-card-author {
  display: flex;
  align-items: center;
  gap: 10px;
  padding: 12px 14px 0;
}
.td-card-av {
  flex-shrink: 0;
  width: 38px; height: 38px;
}
.td-card-av a,
.td-card-av img {
  display: block;
  width: 38px; height: 38px;
  border-radius: 50%;
  object-fit: cover;
  border: 2px solid #e0e0e0;
}
.td-card-av-def {
  width: 38px; height: 38px;
  border-radius: 50%;
  background: #e0e0e0;
  display: flex;
  align-items: center;
  justify-content: center;
  color: #999;
  font-size: 16px;
}
.td-card-who { min-width: 0; }
.td-card-who strong {
  display: flex;
  align-items: center;
  gap: 5px;
  font-size: 14px;
  line-height: 1.2;
}
.td-card-who strong a {
  color: #171717;
  text-decoration: none;
  font-weight: 600;
}
.td-card-who strong a:hover { text-decoration: underline; }
.td-card-pro {
  font-size: 9px;
  font-weight: 800;
  color: #fff;
  background: #e02020;
  padding: 1px 6px;
  border-radius: 4px;
  letter-spacing: .5px;
}
.td-card-who > span {
  display: block;
  font-size: 12px;
  color: #71767b;
  line-height: 1.3;
  margin-top: 1px;
}
.td-card-sponsored {
  font-style: normal;
  font-weight: 600;
  color: #e02020;
}

/* ============================================================
   BODY
   ============================================================ */
.td-card-body { padding: 8px 14px 10px; }

.td-card-title {
  display: block;
  font-size: 16px;
  font-weight: 700;
  line-height: 1.3;
  color: #171717;
  text-decoration: none;
  margin-bottom: 2px;
}
.td-card-title:hover { color: #e02020; }

.td-card-price {
  font-size: 18px;
  font-weight: 800;
  color: #e02020;
  margin-bottom: 6px;
  line-height: 1.2;
}

/* Description tronquee 2 lignes */
.td-card-desc {
  font-size: 14px;
  color: #2d2d2d;
  line-height: 1.4;
  max-height: 40px;
  overflow: hidden;
  display: -webkit-box;
  -webkit-line-clamp: 2;
  -webkit-box-orient: vertical;
  word-break: break-word;
}
.td-card-desc.td-open {
  max-height: none;
  -webkit-line-clamp: unset;
}

.td-card-more {
  display: inline-block;
  font-size: 14px;
  font-weight: 600;
  color: #71767b;
  cursor: pointer;
  margin-top: 2px;
}
.td-card-more:hover { color: #171717; }

.td-card-label {
  display: inline-block;
  font-size: 11px;
  font-weight: 700;
  padding: 3px 10px;
  border-radius: 6px;
  margin-top: 8px;
  text-transform: uppercase;
  letter-spacing: .3px;
}
.td-label-sold { background: #171717; color: #fff; }
.td-label-rsv  { background: #f59e0b; color: #fff; }

/* ============================================================
   MEDIAS — Images HD + Carousel Swiper
   ============================================================ */
.td-card-media {
  position: relative;
  margin: 4px 14px 0;
  border-radius: 12px !important;
  overflow: hidden !important;
  background: #e8e8e8;
  -webkit-mask-image: -webkit-radial-gradient(white, black);
}
.td-card-media > a {
  display: block;
  border-radius: 12px !important;
  overflow: hidden !important;
}

/* Image seule — haute résolution */
.td-card-media > a > img,
.td-card-media .swiper-slide img {
  display: block;
  width: 100%;
  height: auto;
  min-height: 220px;
  max-height: 450px;
  object-fit: cover;
  border-radius: 12px !important;
  image-rendering: auto;
  -webkit-backface-visibility: hidden;
  backface-visibility: hidden;
}
.td-card-media > a:hover > img { transform: scale(1.02); transition: transform .3s ease; }

/* --- Carousel Swiper --- */
.td-swiper {
  width: 100%;
  border-radius: 12px !important;
  overflow: hidden !important;
  -webkit-mask-image: -webkit-radial-gradient(white, black);
}
.td-swiper .swiper-slide {
  overflow: hidden !important;
  border-radius: 12px !important;
}
.td-swiper .swiper-slide a {
  display: block;
  border-radius: 12px !important;
  overflow: hidden !important;
}
.td-swiper .swiper-slide img {
  transition: transform .3s ease;
}
.td-swiper .swiper-slide a:hover img {
  transform: scale(1.02);
}

/* Pagination dots */
.td-swiper .td-swiper-pag {
  bottom: 10px !important;
}
.td-swiper .swiper-pagination-bullet {
  width: 8px;
  height: 8px;
  background: rgba(255,255,255,.6);
  opacity: 1;
  transition: background .2s, transform .2s;
}
.td-swiper .swiper-pagination-bullet-active {
  background: #ffffff;
  transform: scale(1.2);
  box-shadow: 0 1px 4px rgba(0,0,0,.3);
}

/* Flèches nav */
.td-swiper-nav {
  width: 32px !important;
  height: 32px !important;
  background: rgba(255,255,255,.85) !important;
  border-radius: 50% !important;
  box-shadow: 0 1px 4px rgba(0,0,0,.15);
  transition: background .2s, opacity .2s;
  opacity: 0;
}
.td-swiper:hover .td-swiper-nav {
  opacity: 1;
}
.td-swiper-nav:after {
  font-size: 14px !important;
  font-weight: 800 !important;
  color: #171717 !important;
}

/* Badge premium sur image */
.td-card-badge {
  position: absolute;
  top: 8px; left: 8px;
  background: #e02020;
  color: #fff;
  font-size: 11px;
  font-weight: 700;
  padding: 4px 10px;
  border-radius: 8px;
  letter-spacing: .3px;
  z-index: 5;
}

/* Ancien compteur images (plus utilisé mais gardé au cas où) */
.td-card-imgn {
  position: absolute;
  bottom: 8px; right: 8px;
  background: rgba(23,23,23,.75);
  color: #fff;
  font-size: 12px;
  font-weight: 600;
  padding: 4px 10px;
  border-radius: 8px;
  backdrop-filter: blur(4px);
  z-index: 5;
}

/* ============================================================
   STATS (sous image)
   ============================================================ */
.td-card-stats {
  display: flex;
  align-items: center;
  justify-content: space-between;
  padding: 8px 14px;
  font-size: 12px;
  color: #71767b;
  border-bottom: 1px solid #e8eaed;
}
.td-card-stats i {
  font-size: 11px;
  margin-right: 3px;
}
.td-card-stats .fa-heart { color: #e02020; }

/* ============================================================
   ACTIONS
   ============================================================ */
.td-card-actions {
  display: flex;
  align-items: center;
  padding: 6px 10px 10px;
  gap: 4px;
}
.td-act {
  flex: 1;
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 5px;
  padding: 9px 4px;
  border-radius: 8px;
  font-size: 13px;
  font-weight: 600;
  color: #71767b;
  text-decoration: none !important;
  transition: background .15s, color .15s, transform .1s;
  cursor: pointer;
}
.td-act:hover { transform: scale(1.03); }
.td-act:active { transform: scale(.97); }
.td-act i { font-size: 16px; }
.td-act span { white-space: nowrap; }

.td-act-like:hover { background: #fff0f0; color: #e02020; }
.td-act-wa { color: #25d366; }
.td-act-wa:hover { background: #ecfdf5; color: #128c7e; }
.td-act-cta { color: #E63946; font-weight: 700; }
.td-act-cta:hover { background: #FEE2E2; color: #C62828; }

/* Boutons destinations boost — style identique à la preview de la page propulsion */
.td-boost-info-bar {
  display: flex;
  align-items: center;
  justify-content: space-between;
  padding: 12px 16px;
  border-top: 1px solid #F0F0F0;
  background: #FAFAFA;
  gap: 12px;
}
.td-boost-info-title { font-size: 13px; font-weight: 700; color: #1A1A1A; margin-bottom: 2px; }
.td-boost-info-sub { font-size: 12px; color: #666; }
.td-boost-info-btn {
  background: white;
  border: 1.5px solid #E63946;
  border-radius: 24px;
  color: #E63946;
  font-family: 'Poppins', -apple-system, sans-serif;
  font-size: 13px;
  font-weight: 700;
  padding: 7px 18px;
  cursor: pointer;
  white-space: nowrap;
  flex-shrink: 0;
  text-decoration: none;
  transition: all 0.15s;
}
.td-boost-info-btn:hover { background: #E63946; color: white; }

.td-card-actions-boost { display: flex; border-top: 1px solid #F0F0F0; padding: 0; }
.td-boost-act {
  flex: 1;
  padding: 11px 4px;
  border: none;
  background: none;
  cursor: pointer;
  font-family: 'Poppins', -apple-system, sans-serif;
  font-size: 11px;
  font-weight: 600;
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 5px;
  border-right: 1px solid #F0F0F0;
  transition: background 0.15s;
  color: #1A1A1A;
  text-decoration: none;
}
.td-boost-act:last-child { border-right: none; }
.td-boost-act:hover { background: #F7F7F7; }
.td-boost-act svg { flex-shrink: 0; }
.td-ba-info { color: #6366F1; }
.td-ba-wa { color: #1A1A1A; }
.td-ba-call { color: #1877F2; }
.td-ba-sms { color: #555; }
.td-ba-cta { color: #E63946; font-weight: 700; }
.td-ba-cta:hover { background: #FEE2E2; }

@media (prefers-color-scheme: dark) {
  .td-card-actions-boost { border-top-color: #2A2A2A; }
  .td-boost-act { color: #EEE; border-right-color: #2A2A2A; }
  .td-boost-act:hover { background: #1F1F1F; }
  .td-boost-info-bar { background: #1A1A1A; border-top-color: #2A2A2A; }
  .td-boost-info-title { color: #EEE; }
  .td-boost-info-sub { color: #AAA; }
  .td-boost-info-btn { background: transparent; }
}
.td-act-call { color: #1877f2; }
.td-act-call:hover { background: #eff6ff; color: #1d4ed8; }
.td-act-sms { color: #171717; }
.td-act-sms:hover { background: #f3f4f6; color: #171717; }

/* ============================================================
   LAYOUT : Sidebar gauche + Feed central + Sidebar droite
   ============================================================ */
.td-layout-wrap {
  display: grid;
  grid-template-columns: 250px 1fr 290px;
  gap: 24px;
  max-width: 1400px;
  margin: 0 auto;
  padding: 0 20px;
  align-items: start;
}
.td-layout-feed {
  min-width: 0;
}

/* SIDEBARS */
.td-sidebar-left,
.td-sidebar-right {
  width: auto;
  align-self: flex-start;
}
/* Sidebar gauche : FIXE comme le header (ne bouge pas au scroll) — toutes les pages */
.td-sidebar-left .td-sidebar-sticky,
.td-search-sidebar .td-sidebar-sticky,
.td-user-sidebar .td-sidebar-sticky {
  position: fixed !important;
  top: 75px !important;
  left: max(20px, calc((100vw - 1400px) / 2 + 20px));
  width: 250px;
  max-height: calc(100vh - 85px);
  overflow-y: auto;
  overflow-x: hidden;
}
/* Sidebar droite : FIXE aussi (Sponsorisé) */
.td-sidebar-right .td-sidebar-sticky {
  position: fixed !important;
  top: 75px !important;
  right: max(20px, calc((100vw - 1400px) / 2 + 20px));
  width: 290px;
  max-height: calc(100vh - 85px);
  overflow-y: auto;
  overflow-x: hidden;
}
/* Mobile : revenir à static */
@media (max-width: 900px) {
  .td-sidebar-left .td-sidebar-sticky,
  .td-search-sidebar .td-sidebar-sticky,
  .td-user-sidebar .td-sidebar-sticky,
  .td-sidebar-right .td-sidebar-sticky {
    position: static !important;
    width: auto;
    left: auto;
    right: auto;
    max-height: none;
  }
}
.td-sidebar-sticky::-webkit-scrollbar { display: none; }
.td-sidebar-sticky { -ms-overflow-style: none; scrollbar-width: none; }

/* Forcer overflow visible sur TOUS les parents pour que sticky fonctionne */
body#home .content,
body#home section.home-latest,
body#home .td-layout-wrap,
body#search .content,
body .content,
.td-search-layout,
.td-layout-wrap,
.td-user-layout,
section.home-latest,
.loc-home,
.loc-search,
.content.loc-home,
.content.loc-search {
  overflow: visible !important;
  overflow-x: visible !important;
  overflow-y: visible !important;
}

/* User pages sidebar sticky aussi */
.td-user-sidebar {
  align-self: flex-start;
}
/* sidebar fixed: voir règle .td-user-sidebar .td-sidebar-sticky en haut */

/* Sidebar search aussi */
.td-search-sidebar {
  align-self: flex-start;
}
/* sidebar fixed: voir règle .td-search-sidebar .td-sidebar-sticky en haut */

/* ============================================================
   SIDEBAR NAVIGATION GAUCHE
   ============================================================ */
.td-nav { display: flex; flex-direction: column; gap: 2px; }
.td-nav-item {
  display: flex;
  align-items: center;
  gap: 14px;
  padding: 10px 12px;
  border-radius: 10px;
  text-decoration: none !important;
  color: #222;
  font-family: Helvetica, Arial, sans-serif;
  font-size: 15px;
  font-weight: 500;
  transition: background .12s;
}
.td-nav-item:hover { background: #f0f0f0; }
.td-nav-item i { font-size: 20px; width: 24px; text-align: center; color: #555; }
.td-nav-item:first-child i { color: #222; }
.td-nav-badge {
  font-size: 11px;
  font-weight: 700;
  font-style: normal;
  background: #3b82f6;
  color: #fff;
  padding: 2px 8px;
  border-radius: 6px;
  margin-left: 4px;
}
.td-nav-create { color: #e02020; font-weight: 600; }
.td-nav-create i { color: #e02020; }

/* Profil en bas sidebar */
.td-nav-profile {
  margin-top: 24px;
  padding-top: 16px;
  border-top: 1px solid #eee;
  position: relative;
}
.td-nav-profile-main {
  display: flex;
  align-items: center;
  gap: 10px;
  padding: 8px;
  border-radius: 10px;
  cursor: pointer;
  transition: background .12s;
}
.td-nav-profile-main:hover { background: #f0f0f0; }
.td-nav-avatar {
  width: 40px; height: 40px;
  border-radius: 50%;
  background: #2ecc40;
  color: #fff;
  font-size: 18px;
  font-weight: 700;
  display: flex;
  align-items: center;
  justify-content: center;
  flex-shrink: 0;
  font-family: Helvetica, Arial, sans-serif;
}
.td-nav-user-info {
  flex: 1;
  min-width: 0;
  font-family: Helvetica, Arial, sans-serif;
}
.td-nav-user-info strong {
  display: block;
  font-size: 14px;
  color: #222;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}
.td-nav-user-info strong i { font-size: 11px; color: #999; margin-left: 3px; }
.td-nav-user-info span {
  display: block;
  font-size: 12px;
  color: #999;
}
.td-nav-dots { color: #999; font-size: 16px; flex-shrink: 0; }

/* Dropdown menu vers le haut */
.td-nav-dropdown {
  display: none;
  position: absolute;
  bottom: calc(100% + 4px);
  left: 0; right: 0;
  background: #fff;
  border: 1px solid #e0e0e0;
  border-radius: 12px;
  box-shadow: 0 4px 20px rgba(0,0,0,.15);
  padding: 6px 0;
  z-index: 100;
}
.td-nav-dropdown.active { display: block; }
.td-nav-dropdown a {
  display: flex;
  align-items: center;
  gap: 10px;
  padding: 10px 16px;
  font-size: 14px;
  color: #333;
  text-decoration: none !important;
  font-family: Helvetica, Arial, sans-serif;
  transition: background .1s;
}
.td-nav-dropdown a:hover { background: #f5f5f5; }
.td-nav-dropdown a i { width: 18px; text-align: center; font-size: 14px; color: #777; }
.td-nav-dropdown hr { margin: 4px 0; border: none; border-top: 1px solid #eee; }
.td-nav-logout { color: #e02020 !important; }
.td-nav-logout i { color: #e02020 !important; }

/* ============================================================
   QUOI DE NEUF — dans le feed
   ============================================================ */
.td-layout-feed > .td-qdn {
  width: 100%;
  max-width: none;
  margin: 0 0 20px;
}

/* ============================================================
   CARTES SPONSORISÉES — Améliorées
   ============================================================ */
.td-sidebar-title {
  font-family: Helvetica, Arial, sans-serif;
  font-size: 16px;
  font-weight: 600;
  color: #65676b;
  margin: 0 0 14px;
  padding: 0;
}
.td-sp-item {
  display: flex !important;
  align-items: stretch !important;
  gap: 12px !important;
  padding: 10px 0 !important;
  text-decoration: none !important;
  color: inherit !important;
  transition: opacity .15s;
  border: none !important;
  min-height: 85px;
}
.td-sp-item:hover { opacity: .75; }
.td-sp-thumb {
  flex-shrink: 0 !important;
  width: 110px !important;
  height: 85px !important;
  border-radius: 14px !important;
  overflow: hidden !important;
  background: #e0e0e0;
}
.td-sp-thumb img {
  width: 110px !important;
  height: 85px !important;
  object-fit: cover !important;
  display: block !important;
  border-radius: 14px !important;
}
.td-sp-info {
  display: flex !important;
  flex-direction: column !important;
  justify-content: center !important;
  min-width: 0 !important;
  height: 85px !important;
  font-family: Helvetica, Arial, sans-serif;
  flex: 1;
}
.td-sp-name {
  font-size: 14px !important;
  font-weight: 600 !important;
  color: #050505 !important;
  line-height: 1.3 !important;
  display: -webkit-box !important;
  -webkit-line-clamp: 3 !important;
  -webkit-box-orient: vertical !important;
  overflow: hidden !important;
  text-overflow: ellipsis;
}
.td-sp-item:hover .td-sp-name { text-decoration: underline; }
.td-sp-loc {
  font-size: 12px !important;
  color: #8a8d91 !important;
  line-height: 1.3;
  margin-top: 3px;
  white-space: nowrap !important;
  overflow: hidden !important;
  text-overflow: ellipsis !important;
  max-width: 100%;
}
.td-sidebar-right {
  width: 290px !important;
  max-width: 290px !important;
  overflow: hidden;
}
.td-sidebar-right .td-sidebar-list {
  max-height: calc(100vh - 140px);
  overflow-y: auto;
  scrollbar-width: none;
}
.td-sidebar-right .td-sidebar-list::-webkit-scrollbar { display: none; }

/* ============================================================
   RESPONSIVE
   ============================================================ */
/* Tablette large : sidebar nav plus étroite */
@media (max-width: 1100px) {
  .td-layout-wrap {
    grid-template-columns: 200px 1fr 240px;
    gap: 16px;
  }
  .td-nav-item { font-size: 14px; padding: 8px 10px; gap: 10px; }
  .td-sp-thumb, .td-sp-thumb img { width: 90px; height: 70px; }
  .td-sp-info { height: 70px; }
}

/* Tablette : sidebar gauche masquée */
@media (max-width: 900px) {
  .td-layout-wrap {
    grid-template-columns: 1fr 220px;
    gap: 16px;
  }
  .td-sidebar-left { display: none !important; }
}

/* Mobile : les deux sidebars masquées */
@media (max-width: 680px) {
  .td-layout-wrap {
    grid-template-columns: 1fr;
    gap: 0;
    padding: 0;
  }
  .td-sidebar-left,
  .td-sidebar-right {
    display: none !important;
  }
}

@media (max-width: 560px) {
  body#home .home-latest .products,
  body#home .home-premium .products,
  body#home .home-location .products,
  body#home .home-favorite .products,
  body#home .home-recent .products {
    max-width: 100% !important;
    padding: 0 8px !important;
    gap: 22px !important;
  }
  .td-card { border-radius: 14px; }
  .td-card-media { margin: 4px 10px 0; border-radius: 10px; }
  .td-card-media > a > img,
  .td-card-media .swiper-slide img { min-height: 180px; max-height: 340px; }
  .td-swiper { border-radius: 10px; }
  .td-swiper-nav { opacity: 1; width: 28px !important; height: 28px !important; }
  .td-swiper-nav:after { font-size: 12px !important; }
  .td-card-title { font-size: 15px; }
  .td-card-price { font-size: 16px; }
}

@media (max-width: 380px) {
  .td-card-av, .td-card-av a, .td-card-av img, .td-card-av-def {
    width: 32px; height: 32px;
  }
  .td-card-who strong { font-size: 13px; }
  .td-card-desc { font-size: 13px; }
  .td-act { font-size: 12px; padding: 7px 2px; gap: 3px; }
  .td-act i { font-size: 14px; }
  .td-card-title { font-size: 14px; }
  .td-card-price { font-size: 15px; }
}

/* ============================================================
   MODE SOMBRE
   ============================================================ */
body.dark-mode .content,
body.dark .content { background: #18191a !important; }

/* Carte standard : bordure gris clair */
body.dark-mode .td-card,
body.dark .td-card {
  background: #242526;
  border-color: #c0c0c0;
  box-shadow: 0 1px 3px rgba(0,0,0,.3);
}

/* Carte premium : bordure rouge lumineux */
body.dark-mode .td-card.td-c-prem,
body.dark .td-card.td-c-prem {
  border-color: #ff4d4d;
}

body.dark-mode .td-card:hover,
body.dark .td-card:hover {
  box-shadow: 0 4px 14px rgba(0,0,0,.4);
}

body.dark-mode .td-card-title,
body.dark .td-card-title { color: #e4e6eb; }
body.dark-mode .td-card-title:hover,
body.dark .td-card-title:hover { color: #e02020; }
body.dark-mode .td-card-desc,
body.dark .td-card-desc { color: #b0b3b8; }
body.dark-mode .td-card-more,
body.dark .td-card-more { color: #8a8d91; }
body.dark-mode .td-card-who strong a,
body.dark .td-card-who strong a { color: #e4e6eb; }
body.dark-mode .td-card-who > span,
body.dark .td-card-who > span { color: #8a8d91; }
body.dark-mode .td-card-stats,
body.dark .td-card-stats { color: #8a8d91; border-color: #3e4042; }
body.dark-mode .td-card-av img,
body.dark .td-card-av img { border-color: #3e4042; }
body.dark-mode .td-card-av-def,
body.dark .td-card-av-def { background: #3e4042; }
body.dark-mode .td-card-media,
body.dark .td-card-media { background: #3a3b3c; }
body.dark-mode .td-card-actions,
body.dark .td-card-actions { border-color: #3e4042; }
body.dark-mode .td-act,
body.dark .td-act { color: #b0b3b8; }
body.dark-mode .td-act:hover,
body.dark .td-act:hover { background: #3a3b3c; }
body.dark-mode .td-act-wa,
body.dark .td-act-wa { color: #25d366; }
body.dark-mode .td-act-call,
body.dark .td-act-call { color: #4599ff; }

/* Sidebar dark mode */
body.dark-mode .td-sidebar-title,
body.dark .td-sidebar-title { color: #8a8d91; }
body.dark-mode .td-gold-title,
body.dark .td-gold-title { color: #daa520; }
body.dark-mode .td-gold-title i,
body.dark .td-gold-title i { color: #f0c040; }
body.dark-mode .td-sp-name,
body.dark .td-sp-name { color: #e4e6eb; }
body.dark-mode .td-sp-loc,
body.dark .td-sp-loc { color: #8a8d91; }
body.dark-mode .td-sp-thumb,
body.dark .td-sp-thumb { background: #3a3b3c; }
body.dark-mode .td-sidebar-list::-webkit-scrollbar-thumb,
body.dark .td-sidebar-list::-webkit-scrollbar-thumb { background: #555; }

/* Dark mode — Sidebar navigation */


/* ============================================================
   SIDE MENU — Style rendu Topdolo (icônes colorées, état actif)
   ============================================================ */

/* Item actif dans le side menu : icône + texte en rouge */
#side-menu .section a.active,
#side-menu .section a.active svg {
  color: #e02020 !important;
  fill: #e02020 !important;
  font-weight: 700;
}

/* Premium : icône avec fond coloré */
#side-menu .section a.premium svg {
  fill: #f5a623;
}
#side-menu .section a.premium.active svg {
  fill: #e02020 !important;
}

/* Sous-titre sous "Mes publications" quand actif */
.td-sidemenu-sub {
  display: block;
  font-size: 11px;
  color: #e02020;
  font-weight: 500;
  line-height: 1.2;
  margin-top: 1px;
}

/* Icône items (Mes publications) : fond rouge quand actif */
#side-menu .section a.items.active {
  background: rgba(224, 32, 32, 0.06);
  border-radius: 8px;
}

/* Accueil dans le side menu : icône en rouge */
#side-menu .section a.search svg {
  fill: #555;
}

/* Espacement plus aéré entre items side menu */
#side-menu .section a {
  padding: 10px 16px;
  border-radius: 8px;
  transition: background 0.15s;
}
#side-menu .section a:hover {
  background: #f5f5f5;
}

/* ============================================================ */
body.dark-mode .td-nav-item, body.dark .td-nav-item { color: #e4e6eb; }
body.dark-mode .td-nav-item:hover, body.dark .td-nav-item:hover { background: #3a3b3c; }
body.dark-mode .td-nav-item i, body.dark .td-nav-item i { color: #b0b3b8; }
body.dark-mode .td-nav-avatar, body.dark .td-nav-avatar { background: #2ecc40; }
body.dark-mode .td-nav-user-info strong, body.dark .td-nav-user-info strong { color: #e4e6eb; }
body.dark-mode .td-nav-user-info span, body.dark .td-nav-user-info span { color: #8a8d91; }
body.dark-mode .td-nav-profile, body.dark .td-nav-profile { border-color: #3e4042; }
body.dark-mode .td-nav-dropdown, body.dark .td-nav-dropdown { background: #242526; border-color: #3e4042; }
body.dark-mode .td-nav-dropdown a, body.dark .td-nav-dropdown a { color: #e4e6eb; }
body.dark-mode .td-nav-dropdown a:hover, body.dark .td-nav-dropdown a:hover { background: #3a3b3c; }

/* Préserver couleurs logo en mode sombre (override des filtres dark.css) */
body.dark-mode header .logo img,
body.dark header .logo img,
body.dark-mode .td-hd-left .logo img,
body.dark .td-hd-left .logo img,
body.dark-mode .td-mob-logo img,
body.dark .td-mob-logo img,
body.dark-mode footer p.logo img,
body.dark footer p.logo img { filter: none !important; opacity: 1 !important; }

@media (prefers-color-scheme: dark) {
  header .logo img, .td-hd-left .logo img, .td-mob-logo img, footer p.logo img {
    filter: none !important; opacity: 1 !important;
  }
}

/* Améliorer lisibilité textes sidebar/menu en mode sombre */
body.dark-mode .td-nav-item span,
body.dark .td-nav-item span { color: #e4e6eb !important; }
body.dark-mode .td-nav-item.active,
body.dark .td-nav-item.active { background: #3a3b3c; color: #fff !important; }
body.dark-mode .td-nav-item.active span,
body.dark .td-nav-item.active span { color: #fff !important; }
body.dark-mode .td-nav-create,
body.dark .td-nav-create { color: #ff4d5a !important; }
body.dark-mode .td-nav-create i,
body.dark .td-nav-create i { color: #ff4d5a !important; }
body.dark-mode .td-nav-user-info strong,
body.dark .td-nav-user-info strong { color: #e4e6eb !important; }
body.dark-mode .td-nav-user-info span,
body.dark .td-nav-user-info span { color: #b0b3b8 !important; }

/* Sponsorisé sidebar droite en mode sombre */
body.dark-mode .td-rs-title, body.dark .td-rs-title { color: #b0b3b8 !important; }
body.dark-mode .td-rs-card, body.dark .td-rs-card { background: #242526 !important; }
body.dark-mode .td-rs-card-title, body.dark .td-rs-card-title { color: #e4e6eb !important; }
body.dark-mode .td-rs-card-loc, body.dark .td-rs-card-loc { color: #b0b3b8 !important; }

/* ============================================================
   PAGE RÉSULTATS DE RECHERCHE
   ============================================================ */
body#search .content { background: #f2f4f6 !important; padding-top: 20px !important; }
body#search .breadcrumb { display: none !important; }

/* Layout 2 colonnes : sidebar nav | feed */
.td-search-layout {
  display: grid;
  grid-template-columns: 250px 1fr;
  gap: 24px;
  max-width: 1400px;
  margin: 0 auto;
  padding: 0 20px;
  align-items: start;
}

/* Sidebar search */
.td-search-sidebar { align-self: start; }
/* sidebar fixed: voir règle .td-search-sidebar .td-sidebar-sticky en haut du fichier */

/* Contenu principal */
.td-search-content { min-width: 0; }

/* Titre sobre */
.td-search-title {
  font-family: Helvetica, Arial, sans-serif;
  font-size: 22px;
  font-weight: 700;
  color: #171717;
  margin: 0 0 16px;
}
.td-search-title span { font-weight: 400; color: #999; }

/* Tags filtres custom */
.td-search-filters {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
  margin-bottom: 20px;
}
.td-search-tag {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  padding: 8px 16px;
  border: 2px solid #e02020;
  border-radius: 50px;
  font-family: Helvetica, Arial, sans-serif;
  font-size: 14px;
  font-weight: 600;
  color: #e02020;
  text-decoration: none !important;
  transition: background .15s;
  background: #fff;
}
.td-search-tag:hover { background: #fff5f5; }
.td-search-tag i { font-size: 12px; }
.td-search-tag-clear { background: #fff0f0; }

/* MASQUER tous les éléments de l'ancien layout */
body#search #search-menu { display: none !important; }
body#search #search-premium-items { display: none !important; }
body#search #filter-user-type { display: none !important; }
body#search #open-search-filters { display: none !important; }
body#search .top-bar { display: none !important; }
body#search #search-quick-bar { display: none !important; }
body#search #search-filters { display: none !important; }
body#search #search-alert { display: none !important; }
body#search .save-search { display: none !important; }
body#search .create-alert { display: none !important; }
body#search .alert-box { display: none !important; }
body#search .eps-save-search { display: none !important; }
body#search #search-main > a.btn { display: none !important; }

/* search-main — colonne unique centrée identique au home */
body#search #search-main {
  width: 100% !important;
  max-width: 100% !important;
  float: none !important;
  margin: 0 !important;
}
body#search #search-main .products {
  display: flex !important;
  flex-direction: column !important;
  align-items: center !important;
  gap: 28px !important;
  max-width: 100% !important;
  padding: 0 !important;
}
/* Cartes identiques au home — aucun override de taille */
body#search .td-card {
  max-width: 520px !important;
  width: 100% !important;
  margin: 0 !important;
}

/* Responsive search */
@media (max-width: 1100px) {
  .td-search-layout { grid-template-columns: 250px 1fr; }
  .td-search-layout > .td-sidebar-right { display: none !important; }
}
@media (max-width: 900px) {
  .td-search-layout { grid-template-columns: 1fr; }
  .td-search-sidebar { display: none !important; }
}
@media (max-width: 560px) {
  body#search .td-card { max-width: 100% !important; }
}

/* ============================================================
   PAGE POPULAIRE + ÉTAT ACTIF SIDEBAR
   ============================================================ */
/* Titre page populaire */
.td-popular-title {
  font-family: Helvetica, Arial, sans-serif;
  font-size: 28px;
  font-weight: 800;
  color: #171717;
  text-align: center;
  margin: 0 0 24px;
  line-height: 1.3;
}
.td-pop-red {
  color: #e02020;
}

/* État actif du menu sidebar */
.td-nav-item.td-nav-active {
  background: rgba(224, 32, 32, 0.08) !important;
  border-radius: 12px;
  font-weight: 700;
}
.td-nav-item.td-nav-active i {
  color: #e02020 !important;
}
.td-nav-item.td-nav-active span {
  color: #e02020 !important;
}

/* ============================================================
   ÉTOILE FAVORI SUR LES CARTES
   ============================================================ */
.td-card-author {
  position: relative !important;
}
.td-card-fav {
  position: absolute;
  top: 10px;
  right: 12px;
  z-index: 2;
}
.td-fav-star {
  font-size: 24px !important;
  color: #ccc !important;
  text-decoration: none !important;
  cursor: pointer;
  transition: color .15s, transform .15s;
}
.td-fav-star:hover {
  color: #e02020 !important;
  transform: scale(1.15);
}
.td-fav-star.td-fav-on,
.td-fav-star.td-fav-on i {
  color: #e02020 !important;
}

/* Message vide */
.td-empty-msg {
  text-align: center;
  padding: 60px 20px;
  color: #999;
  font-family: Helvetica, Arial, sans-serif;
}
.td-empty-msg i { font-size: 48px; color: #ddd; display: block; margin-bottom: 16px; }
.td-empty-msg p { font-size: 18px; margin: 0; }

/* Boutons Modifier / Fermer */
.td-card-manage {
  position: absolute;
  top: 8px;
  right: 10px;
  display: flex;
  gap: 6px;
  z-index: 2;
}
.td-mgn-btn {
  display: inline-flex;
  align-items: center;
  gap: 5px;
  padding: 7px 14px;
  border-radius: 20px;
  font-family: Helvetica, Arial, sans-serif;
  font-size: 13px;
  font-weight: 700;
  text-decoration: none !important;
  cursor: pointer;
}
.td-mgn-btn:hover { opacity: .85; }
.td-mgn-btn i { font-size: 13px; }
.td-mgn-close { background: #333 !important; color: #fff !important; }
.td-mgn-open { background: #2ecc40 !important; color: #fff !important; }
.td-mgn-delete { background: #e02020 !important; color: #fff !important; }
.td-mgn-edit { background: #333 !important; color: #fff !important; }

/* Comnote: Masquer éléments indésirables sur pages Alertes et Profil */
body#user #breadcrumbs { display: none !important; }
body#user .container.cmain { display: none !important; }
body#user #user-menu { display: none !important; }
body#user .user-content > .container > h1:first-child { display: none !important; }

/* Masquer le bloc "Aucune alerte" vide */
body#user .alerts-empty,
body#user .alerts-box .no-alerts,
body#user #user-alerts .list-empty { display: none !important; }

/* Renommer via CSS — masquer texte "Abonnements" et afficher "Notifications" */
body#user .alerts-box .head-row .alert-title { font-size: 0 !important; }
body#user .alerts-box .head-row .alert-title::after { content: 'Notifications'; font-size: 16px; }

/* Comnote: Masquer sidebar user (#user-menu) et breadcrumbs sur TOUTES les pages */
body[id^="user"] #user-menu,
body.body-ua #user-menu { display: none !important; }
body[id^="user"] #breadcrumbs,
body.body-ua #breadcrumbs { display: none !important; }

/* Masquer l'ancien header .container.cmain sur les pages user */
body[id^="user"] > header > .container.cmain,
body.body-ua > header > .container.cmain { display: none !important; }

/* Le contenu user prend toute la largeur sans sidebar */
body[id^="user"] #user-main,
body.body-ua #user-main { max-width: 800px; margin: 0 auto; }
body[id^="user"] .container.primary,
body.body-ua .container.primary { display: block !important; }

/* ============================================
   Comnote: Layout user pages avec sidebar
   ============================================ */
.td-user-layout {
  display: flex;
  max-width: 1200px;
  margin: 0 auto;
  padding: 20px 20px 0;
  gap: 30px;
  min-height: calc(100vh - 80px);
}
.td-user-sidebar {
  width: 260px;
  flex-shrink: 0;
}
.td-user-content {
  flex: 1;
  min-width: 0;
  padding-top: 10px;
}
.td-user-content #user-main {
  max-width: 100% !important;
  margin: 0 !important;
}
.td-user-content .container.primary {
  max-width: 100% !important;
  padding: 0 !important;
}

@media (max-width: 900px) {
  .td-user-layout { flex-direction: column; }
  .td-user-sidebar { display: none; }
  .td-user-content { padding-top: 0; }
}

/* Comnote: Masquer Meilleurs vendeurs sur le home */
body#home .home-users { display: none !important; }

/* Comnote: Masquer le footer sur tout le site */
footer { display: none !important; }



/* ============================================
   Comnote: FORCE STICKY SIDEBARS
   ============================================ */

/* CRITICAL: Forcer overflow visible sur TOUS les ancêtres possibles */
body,
body > .content,
.content,
.content.loc-home,
.content.loc-search,
.content.loc-user,
section.home-latest,
.td-layout-wrap,
.td-layout-feed,
.td-user-layout,
.td-user-content,
.container.primary {
  overflow: visible !important;
  overflow-x: visible !important;
  overflow-y: visible !important;
}

/* Les aside doivent être en align-self: start pour sticky */
aside.td-sidebar-left,
aside.td-sidebar-right,
aside.td-user-sidebar,
.td-sidebar-left,
.td-sidebar-right,
.td-user-sidebar {
  align-self: start !important;
}

/* (Ancienne règle sticky supprimée — voir règles position:fixed en haut du fichier ligne ~1315) */

/* Comnote: Fix sticky ultra-agressif */
html body .content,
html body .content.loc-home,
html body .content.loc-search,
html body section.home-latest,
html body .td-layout-wrap,
html body .td-user-layout,
html body .td-search-layout,
html body #home .content,
html body #search .content,
html body .no-breadcrumbs,
html body .sec-default {
  overflow: visible !important;
  overflow-x: visible !important;
  overflow-y: visible !important;
}

/* Assurer que le layout wrap a une hauteur */
.td-layout-wrap {
  min-height: calc(100vh - 80px);
}

/* Sidebar gauche et droite - flex-start obligatoire */
.td-sidebar-left,
.td-sidebar-right,
.td-nav-sidebar,
.td-search-sidebar,
.td-user-sidebar {
  align-self: flex-start !important;
  flex-shrink: 0 !important;
}

/* ============================================
   COMNOTE: Sélecteur triple média (Formulaire)
   ============================================ */
.td-media-selector {
  background: #fff;
  border: 1.5px solid #e0e0e0;
  border-radius: 50px;
  padding: 12px 20px;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
  margin-bottom: 20px;
}
.td-media-label {
  font-size: 14px;
  color: #555;
  white-space: nowrap;
}
.td-media-label .req { color: #E5251A; }
.td-media-tabs {
  display: flex;
  gap: 6px;
  flex-shrink: 0;
}
.td-media-tab {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  padding: 8px 18px;
  border-radius: 50px;
  border: 1.5px solid #e0e0e0;
  background: #fff;
  font-size: 14px;
  font-weight: 500;
  color: #555;
  cursor: pointer;
  transition: all 0.2s;
  white-space: nowrap;
  line-height: 1;
}
.td-media-tab:hover { border-color: #ccc; background: #fafafa; }
.td-media-tab.active {
  background: rgba(229,37,26,0.08);
  border-color: #E5251A;
  color: #E5251A;
}
.td-mt-icon { font-size: 16px; line-height: 1; }

/* Panneaux */
.td-media-panel {
  background: #f8f8f8;
  border: 1.5px solid #e0e0e0;
  border-radius: 16px;
  padding: 20px;
  margin-bottom: 16px;
}
.td-panel-head {
  display: flex;
  align-items: center;
  gap: 12px;
  margin-bottom: 16px;
}
.td-panel-head strong { font-size: 16px; color: #111; }
.td-panel-info { font-size: 13px; color: #888; }

/* Grille de couleurs */
.td-color-grid {
  display: flex;
  flex-wrap: wrap;
  gap: 12px;
}
.td-color-dot {
  width: 44px;
  height: 44px;
  border-radius: 50%;
  cursor: pointer;
  border: 3px solid transparent;
  transition: all 0.2s;
}
.td-color-dot:hover { transform: scale(1.15); }
.td-color-dot.active {
  border-color: #111;
  box-shadow: 0 0 0 3px rgba(0,0,0,0.15);
  transform: scale(1.15);
}

/* Zone vidéo drag & drop */
.td-video-drop {
  position: relative;
}
.td-video-placeholder {
  border: 2px dashed #333;
  border-radius: 12px;
  padding: 40px 20px;
  text-align: center;
  cursor: pointer;
  transition: border-color 0.2s;
}
.td-video-placeholder:hover { border-color: #E5251A; }
.td-video-placeholder i { font-size: 32px; color: #888; margin-bottom: 8px; display: block; }
.td-video-placeholder p { font-size: 15px; color: #333; margin: 0; }
.td-video-placeholder small { font-size: 12px; color: #999; }
.td-video-preview { position: relative; }
.td-video-remove {
  position: absolute;
  top: 8px;
  right: 8px;
  background: rgba(0,0,0,0.7);
  color: #fff;
  border: none;
  border-radius: 8px;
  padding: 6px 12px;
  cursor: pointer;
  font-size: 13px;
}

/* Responsive */
@media (max-width: 600px) {
  .td-media-selector { flex-direction: column; border-radius: 16px; padding: 12px; }
  .td-media-tabs { width: 100%; justify-content: center; }
  .td-media-tab { padding: 8px 12px; font-size: 13px; }
}

/* ============================================
   COMNOTE: Affichage cartes selon type média
   ============================================ */

/* MODE COULEUR — texte sur fond coloré */
.td-card-media-color {
  min-height: 260px;
  max-height: 320px;
  display: flex;
  align-items: center;
  justify-content: center;
  padding: 28px 24px;
  border-radius: 0;
  overflow: hidden;
}
.td-color-content {
  text-align: center;
  max-width: 95%;
  width: 100%;
}
.td-color-title {
  font-size: 22px;
  font-weight: 800;
  line-height: 1.3;
  margin-bottom: 10px;
  /* Tronquer à 2 lignes */
  display: -webkit-box;
  -webkit-line-clamp: 2;
  -webkit-box-orient: vertical;
  overflow: hidden;
  text-overflow: ellipsis;
  word-break: break-word;
}
.td-color-desc {
  font-size: 14px;
  line-height: 1.5;
  opacity: 0.92;
  margin: 0;
  /* Tronquer à 3 lignes pour éviter une carte trop longue */
  display: -webkit-box;
  -webkit-line-clamp: 3;
  -webkit-box-orient: vertical;
  overflow: hidden;
  text-overflow: ellipsis;
  word-break: break-word;
}
/* Contraste auto — couleurs sombres = texte blanc, claires = texte noir */
.td-card-media-color { color: #fff; }
.td-card-media-color[style*="#EAB308"],
.td-card-media-color[style*="#F97316"],
.td-card-media-color[style*="#FACC15"],
.td-card-media-color[style*="#FDE047"] { color: #111; }

/* MODE VIDÉO — lecteur */
.td-card-media-video { position: relative; background: #000; }
.td-video-wrapper { position: relative; }
.td-video-wrapper video { width: 100%; display: block; max-height: 500px; object-fit: cover; }
.td-video-play {
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%,-50%);
  width: 64px;
  height: 64px;
  border-radius: 50%;
  background: rgba(0,0,0,0.55);
  border: 3px solid #fff;
  cursor: pointer;
  display: flex;
  align-items: center;
  justify-content: center;
  z-index: 2;
  transition: transform 0.2s, background 0.2s;
  padding: 0 0 0 4px;
}
.td-video-play:hover { transform: translate(-50%,-50%) scale(1.1); background: rgba(232,0,28,0.8); }
.td-video-play i { font-size: 24px; color: #fff !important; }
.td-video-mute {
  position: absolute;
  bottom: 12px;
  right: 12px;
  width: 36px;
  height: 36px;
  border-radius: 50%;
  background: rgba(0,0,0,0.6);
  border: 1px solid rgba(255,255,255,0.3);
  cursor: pointer;
  display: flex;
  align-items: center;
  justify-content: center;
  z-index: 2;
}
.td-video-mute i { font-size: 14px; color: #fff; }

/* En mode couleur, masquer la section body (titre+desc déjà dans le média) */
.td-c-color .td-card-body .td-card-title,
.td-c-color .td-card-body .td-card-desc,
.td-c-color .td-card-body .td-card-more { display: none; }

/* ONGLET SPONSORISÉ — Règles d'affichage */
/* Vidéo/Couleur : pas de miniature, juste titre + ville */
.td-sp-item.td-sp-noimg .td-sp-thumb {
  display: none;
}
.td-sp-item.td-sp-noimg .td-sp-info {
  padding-left: 0;
}

/* Comnote: Masquer prix et labels en mode couleur */
.td-c-color .td-card-body .td-card-price,
.td-c-color .td-card-body .td-card-label { display: none; }

/* ============================================
   COMNOTE: Header mobile app-style
   ============================================ */

/* Masquer le header desktop sur mobile — voir la règle consolidée plus bas */
@media (max-width: 767px) {
  .home-premium { display: none !important; }
  .home-users { display: none !important; }
}

/* Header mobile haut */
/* Header mobile — toujours rendu, affiché via CSS sur mobile uniquement */
#td-mob-header {
  display: none;
  position: fixed;
  top: 0;
  left: 0;
  right: 0;
  z-index: 999;
  background: #fff;
  border-bottom: 1px solid #e5e5e5;
}
@media (max-width: 767px) {
  #td-mob-header { display: block !important; }
}
.td-mob-top {
  display: flex;
  align-items: center;
  padding: 8px 12px;
  gap: 10px;
}
.td-mob-logo { flex-shrink: 0; max-width: 50%; }
.td-mob-logo img { height: 34px; width: auto; max-width: 100%; object-fit: contain; display: block; }
.td-mob-top-right {
  display: flex;
  align-items: center;
  gap: 10px;
  margin-left: auto;
}
.td-mob-search-btn {
  display: none !important;
}
.td-mob-search-btn i { font-size: 14px; }

/* Mini moteur de recherche mobile (style desktop compact) */
.td-mob-mini-search {
  padding: 6px 10px 8px;
  background: #fff;
  border-bottom: 1px solid #f0f0f0;
}
.td-mob-mini-bar {
  display: flex;
  align-items: stretch;
  background: #fff;
  border: 1px solid #ddd;
  border-radius: 28px;
  overflow: hidden;
  height: 48px;
}
.td-mob-mini-seg {
  flex: 1; min-width: 0;
  padding: 4px 10px;
  display: flex;
  flex-direction: column;
  justify-content: center;
  cursor: pointer;
}
.td-mob-mini-seg label {
  font-size: 8px;
  font-weight: 700;
  color: #555;
  letter-spacing: 0.3px;
  margin: 0 0 1px;
  text-transform: uppercase;
  cursor: pointer;
}
.td-mob-mini-seg input,
.td-mob-mini-seg select {
  border: none !important;
  background: transparent !important;
  padding: 0 !important;
  margin: 0 !important;
  font-size: 11px !important;
  color: #333 !important;
  height: auto !important;
  font-family: inherit !important;
  width: 100%;
  outline: none !important;
  appearance: none;
  -webkit-appearance: none;
  cursor: pointer;
}
.td-mob-mini-seg input::placeholder { color: #999; }
.td-mob-mini-loc-text {
  font-size: 11px;
  color: #999;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}
.td-mob-mini-sep {
  width: 1px;
  background: #ddd;
  margin: 8px 0;
  flex-shrink: 0;
}
.td-mob-mini-submit {
  border: none;
  background: #E63946;
  color: white;
  width: 38px; height: 38px;
  border-radius: 50%;
  margin: 5px;
  display: flex;
  align-items: center;
  justify-content: center;
  cursor: pointer;
  flex-shrink: 0;
}
.td-mob-mini-submit i { font-size: 14px; }

/* Cacher sur desktop */
@media (min-width: 901px) {
  .td-mob-mini-search { display: none !important; }
}

@media (prefers-color-scheme: dark) {
  .td-mob-mini-search { background: #18191a; border-bottom-color: #3a3b3c; }
  .td-mob-mini-bar { background: #3a3b3c; border-color: #4e4f50; }
  .td-mob-mini-seg label { color: #b0b3b8; }
  .td-mob-mini-seg input, .td-mob-mini-seg select, .td-mob-mini-loc-text { color: #e4e6eb !important; }
  .td-mob-mini-sep { background: #4e4f50; }
}
.td-mob-loc-btn {
  font-size: 13px;
  font-weight: 600;
  color: #111 !important;
  text-decoration: none !important;
  background: #f5f5f5;
  padding: 6px 12px;
  border-radius: 20px;
}
.td-mob-discover-btn {
  font-size: 12px;
  color: #E8001C !important;
  font-weight: 600;
  text-decoration: none !important;
}

/* Barre de navigation 6 icônes avec labels */
.td-mob-nav {
  display: flex;
  justify-content: space-around;
  border-top: 1px solid #f0f0f0;
  padding: 4px 0 6px;
}
.td-mob-nav-item {
  display: flex; flex-direction: column; align-items: center; justify-content: center;
  flex: 1;
  padding: 4px 2px;
  color: #555 !important;
  text-decoration: none !important;
  border-radius: 8px;
  transition: all 0.2s;
  gap: 2px;
}
.td-mob-nav-item i { font-size: 20px; line-height: 1; }
.td-mob-nav-item span { font-size: 10px; line-height: 1.2; color: inherit; text-align: center; white-space: nowrap; }
.td-mob-nav-item.active {
  color: #E8001C !important;
}
.td-mob-nav-item.active i { color: #E8001C; }
.td-mob-nav-item:hover { color: #E8001C !important; }
.td-mob-nav-avatar {
  width: 24px; height: 24px;
  border-radius: 50%;
  object-fit: cover;
  border: 2px solid #ddd;
}

/* Modal recherche mobile */
.td-mob-search-modal {
  position: fixed;
  top: 0; left: 0; right: 0; bottom: 0;
  background: #fff;
  z-index: 10000;
  display: none;
  flex-direction: column;
  padding: 16px;
}
.td-mob-search-modal.active { display: flex; }
.td-mob-sm-hd {
  display: flex;
  align-items: center;
  gap: 12px;
  margin-bottom: 24px;
}
.td-mob-sm-close {
  font-size: 28px;
  background: none;
  border: none;
  cursor: pointer;
  color: #333;
  line-height: 1;
}
.td-mob-sm-hd span { font-size: 18px; font-weight: 700; }
.td-mob-sm-field {
  margin-bottom: 16px;
  border: 1.5px solid #ddd;
  border-radius: 14px;
  padding: 10px 14px;
}
.td-mob-sm-field label {
  display: block;
  font-size: 11px;
  font-weight: 700;
  color: #333;
  letter-spacing: 0.5px;
  text-transform: uppercase;
  margin-bottom: 4px;
}
.td-mob-sm-field input,
.td-mob-sm-field select {
  width: 100%;
  border: none !important;
  outline: none !important;
  font-size: 15px;
  color: #666;
  background: transparent;
  padding: 0;
  box-shadow: none !important;
}
.td-mob-sm-submit {
  width: 56px;
  height: 56px;
  border-radius: 50%;
  background: #E8001C;
  color: #fff;
  border: none;
  font-size: 22px;
  cursor: pointer;
  display: flex;
  align-items: center;
  justify-content: center;
  margin: 16px auto 0;
  box-shadow: 0 4px 12px rgba(232,0,28,0.3);
}

/* Bouton flottant FAB (créer) — masqué desktop, visible mobile */
.td-mob-fab {
  position: fixed;
  bottom: 24px;
  right: 20px;
  width: 56px;
  height: 56px;
  border-radius: 50%;
  background: #E8001C;
  color: #fff !important;
  display: none;
  align-items: center;
  justify-content: center;
  box-shadow: 0 4px 16px rgba(232,0,28,0.4);
  z-index: 998;
  text-decoration: none !important;
  font-size: 18px;
}
.td-mob-fab i { font-size: 16px; }
.td-mob-fab span { font-size: 20px; font-weight: 700; margin-left: 1px; }

@media (max-width: 767px) {
  .td-mob-fab { display: flex !important; }
}

/* Discover popup — visibility controlled above */

/* ============================================
   COMNOTE: Popup Découverte (menu pages mobile)
   ============================================ */
.td-mob-discover-popup {
  position: fixed;
  top: 50px;
  right: 8px;
  width: 260px;
  background: #fff;
  border-radius: 12px;
  box-shadow: 0 4px 24px rgba(0,0,0,0.15);
  z-index: 10001;
  display: none !important;
  flex-direction: column;
  padding: 8px 0;
}
@media (max-width: 767px) {
  .td-mob-discover-popup.active { display: flex !important; }
}
.td-mob-dp-hd {
  display: flex;
  align-items: center;
  justify-content: space-between;
  padding: 8px 16px 4px;
  font-weight: 700;
  font-size: 15px;
}
.td-mob-dp-close {
  font-size: 22px;
  background: none;
  border: none;
  cursor: pointer;
  color: #888;
}
.td-mob-dp-nav a {
  display: flex;
  align-items: center;
  gap: 12px;
  padding: 12px 16px;
  color: #333 !important;
  text-decoration: none !important;
  font-size: 14px;
  transition: background 0.15s;
}
.td-mob-dp-nav a:hover { background: #f5f5f5; }
.td-mob-dp-nav a i { width: 20px; text-align: center; color: #555; font-size: 15px; }
.td-mob-dp-nav hr { margin: 4px 12px; border: none; border-top: 1px solid #eee; }
.td-mob-dp-nav .td-mob-dp-logout { color: #E8001C !important; }
.td-mob-dp-nav .td-mob-dp-logout i { color: #E8001C; }

/* ============================================================
   VISIBILITÉ HEADER — Règle définitive
   ● Desktop (≥768px) : header.td-header affiché, padding-top 65px
   ● Mobile  (≤767px) : header.td-header masqué, #td-mob-header actif
   ● Non connecté     : aucun header (géré en PHP dans header.php)
   ============================================================ */

/* Desktop : header desktop visible + padding contenu */
@media screen and (min-width: 768px) {
  html body header.td-header { display: block !important; visibility: visible !important; height: auto !important; }
  html body { padding-top: 65px !important; }
}

/* Mobile : header desktop masqué, header app-style visible */
@media screen and (max-width: 767px) {
  html body header.td-header,
  html body header.td-header.osc-has-admin-header,
  html body > header.td-header {
    display: none !important;
    visibility: hidden !important;
    height: 0 !important;
    overflow: hidden !important;
  }
  html body #td-mob-header { display: block !important; visibility: visible !important; }
  html body { padding-top: 220px !important; }
  html body .content { padding-top: 0 !important; }
  .home-search.td-search-section { display: none !important; }
  .home-premium { display: none !important; }
  body.layout-default .home-users { display: none !important; }
}

/* Video fallback — image avec overlay play */
.td-video-fallback { position: relative; }
.td-video-fallback img { width: 100%; display: block; }
.td-video-nothumb { width: 100%; height: 260px; background: #1a1a1a; }
.td-video-play-overlay {
  position: absolute;
  top: 50%; left: 50%;
  transform: translate(-50%,-50%);
  width: 64px; height: 64px;
  border-radius: 50%;
  background: rgba(255,255,255,0.85);
  display: flex; align-items: center; justify-content: center;
  pointer-events: none;
}
.td-video-play-overlay i { font-size: 24px; color: #111; margin-left: 3px; }

/* ============================================
   COMNOTE: Header mobile app-style (connectés)
   ============================================ */
#td-mob-header { display: none; position: fixed; top: 0; left: 0; right: 0; z-index: 999; background: #fff; box-shadow: 0 1px 4px rgba(0,0,0,0.08); }
@media (max-width: 767px) {
  #td-mob-header { display: block !important; }
  header.td-header { display: none !important; }
  .home-search.td-search-section { display: none !important; }
  .home-premium { display: none !important; }
  body.layout-default .home-users { display: none !important; }
  body:has(#td-mob-header) { padding-top: 220px !important; }
  body:has(#td-mob-header) .content { margin-top: 0 !important; }
}

/* Ligne 1: logo + localisation + découverte + loupe */
.td-mob-top { display: flex; align-items: center; padding: 8px 10px; gap: 8px; border-bottom: 1px solid #f0f0f0; }
.td-mob-logo img { height: 28px; width: auto; max-width: 100%; object-fit: contain; display: block; }
.td-mob-top-right { display: flex; align-items: center; gap: 8px; margin-left: auto; }
.td-mob-loc-btn { font-size: 12px; font-weight: 600; color: #111 !important; background: #f0f0f0; padding: 5px 12px; border-radius: 20px; white-space: nowrap; text-decoration: none !important; }
.td-mob-discover-btn { font-size: 12px; font-weight: 700; color: #E8001C !important; text-decoration: none !important; white-space: nowrap; }
.td-mob-search-btn { width: 32px; height: 32px; border-radius: 50%; display: flex; align-items: center; justify-content: center; background: #f0f0f0; color: #333 !important; text-decoration: none !important; }
.td-mob-search-btn i { font-size: 13px; }

/* Ligne 2: 6 icônes navigation style iOS (contour carré arrondi) */
.td-mob-nav { display: flex; justify-content: space-around; align-items: center; padding: 8px 4px 0; border-bottom: 3px solid #f0f0f0; position: relative; }
.td-mob-ni { display: flex; align-items: center; justify-content: center; width: 42px; height: 42px; border: 2px solid #ccc; border-radius: 10px; color: #333 !important; text-decoration: none !important; font-size: 18px; transition: all 0.15s; margin-bottom: 8px; position: relative; }
.td-mob-ni i { font-size: 18px; }
.td-mob-ni:hover { border-color: #999; }
.td-mob-ni.active { color: #E8001C !important; border-color: #E8001C; }
.td-mob-ni.active::after { content: ''; position: absolute; bottom: -11px; left: 50%; transform: translateX(-50%); width: 36px; height: 3px; background: #E8001C; border-radius: 2px; }

/* Ligne 3: onglets catégories */
.td-mob-cats { display: flex; padding: 0; border-bottom: 2px solid #f0f0f0; }
.td-mob-cat-tab { flex: 1; text-align: center; padding: 10px 8px; font-size: 13px; font-weight: 600; color: #555 !important; text-decoration: none !important; border-bottom: 3px solid transparent; margin-bottom: -2px; transition: all 0.15s; }
.td-mob-cat-tab.active, .td-mob-cat-tab:hover { color: #E8001C !important; border-bottom-color: #E8001C; }

/* Popup Découverte */
.td-mob-discover-popup { position: fixed; top: 44px; right: 8px; width: 260px; background: #fff; border-radius: 12px; box-shadow: 0 4px 24px rgba(0,0,0,0.15); z-index: 10001; display: none !important; flex-direction: column; padding: 8px 0; }
@media (max-width: 767px) { .td-mob-discover-popup.active { display: flex !important; } }
.td-mob-dp-hd { display: flex; align-items: center; justify-content: space-between; padding: 8px 16px 4px; font-weight: 700; font-size: 15px; }
.td-mob-dp-close { font-size: 22px; background: none; border: none; cursor: pointer; color: #888; }
.td-mob-dp-nav a { display: flex; align-items: center; gap: 12px; padding: 12px 16px; color: #333 !important; text-decoration: none !important; font-size: 14px; }
.td-mob-dp-nav a:hover { background: #f5f5f5; }
.td-mob-dp-nav a i { width: 20px; text-align: center; color: #555; font-size: 15px; }
.td-mob-dp-nav hr { margin: 4px 12px; border: none; border-top: 1px solid #eee; }
.td-mob-dp-nav .td-mob-dp-logout { color: #E8001C !important; }
.td-mob-dp-nav .td-mob-dp-logout i { color: #E8001C; }

/* Modal recherche mobile */
.td-mob-search-modal { position: fixed; top: 0; left: 0; right: 0; bottom: 0; background: #fff; z-index: 10000; display: none; flex-direction: column; padding: 16px; }
.td-mob-search-modal.active { display: flex; }
.td-mob-sm-hd { display: flex; align-items: center; gap: 12px; margin-bottom: 24px; }
.td-mob-sm-close { font-size: 28px; background: none; border: none; cursor: pointer; color: #333; line-height: 1; }
.td-mob-sm-hd span { font-size: 18px; font-weight: 700; }
.td-mob-sm-field { margin-bottom: 16px; border: 1.5px solid #eee; border-radius: 14px; padding: 10px 14px; }
.td-mob-sm-field label { display: block; font-size: 11px; font-weight: 700; color: #333; letter-spacing: 0.5px; text-transform: uppercase; margin-bottom: 4px; }
.td-mob-sm-field input, .td-mob-sm-field select { width: 100%; border: none !important; outline: none !important; font-size: 15px; color: #666; background: transparent; padding: 0; box-shadow: none !important; }
.td-mob-sm-submit { width: 56px; height: 56px; border-radius: 50%; background: #E8001C; color: #fff; border: none; font-size: 22px; cursor: pointer; display: flex; align-items: center; justify-content: center; margin: 16px auto 0; box-shadow: 0 4px 12px rgba(232,0,28,0.3); }

/* Bouton FAB flottant */
.td-mob-fab { position: fixed; bottom: 24px; right: 20px; width: 56px; height: 56px; border-radius: 50%; background: #E8001C; color: #fff !important; display: none; align-items: center; justify-content: center; box-shadow: 0 4px 16px rgba(232,0,28,0.4); z-index: 998; text-decoration: none !important; font-size: 18px; }
.td-mob-fab i { font-size: 16px; }
.td-mob-fab span { font-size: 20px; font-weight: 700; margin-left: 1px; }
@media (max-width: 767px) { .td-mob-fab { display: flex !important; } }

/* Localisation picker dans modale recherche mobile */
.td-mob-loc-picker { position: relative; }
.td-mob-loc-picker input { width: 100%; border: none !important; outline: none !important; font-size: 15px; color: #333; background: transparent; padding: 0; padding-right: 30px; box-shadow: none !important; }
.td-mob-loc-picker .results {
  position: absolute; top: 100%; left: -14px; right: -14px;
  background: #fff; border: 1px solid #eee; border-radius: 0 0 14px 14px;
  max-height: 220px; overflow-y: auto; z-index: 100;
  display: none; box-shadow: 0 4px 12px rgba(0,0,0,0.1);
}
.td-mob-loc-opt {
  display: block; padding: 12px 16px; color: #333 !important;
  text-decoration: none !important; font-size: 14px;
  border-bottom: 1px solid #f5f5f5; transition: background 0.1s;
}
.td-mob-loc-opt:hover, .td-mob-loc-opt:active { background: #f0f0f0; }
.td-mob-loc-opt:last-child { border-bottom: none; }

/* ============================================
   COMNOTE: Popup affichage annonce (item viewer)
   ============================================ */
.td-item-overlay {
  position: fixed; inset: 0; background: rgba(0,0,0,0.7);
  z-index: 100000; display: none; align-items: center; justify-content: center;
  padding: 20px;
}
.td-item-overlay.active { display: flex; }
.td-item-box {
  position: relative; width: 100%; max-width: 980px; height: 90vh; max-height: 760px;
  background: #fff; border-radius: 14px; overflow: hidden;
  box-shadow: 0 20px 60px rgba(0,0,0,0.4);
}
.td-item-box iframe { width: 100%; height: 100%; border: 0; display: block; }
.td-item-close {
  position: absolute; top: 12px; right: 12px; z-index: 10;
  width: 36px; height: 36px; border-radius: 50%;
  background: #E8001C; color: #fff; border: 0; font-size: 22px;
  cursor: pointer; display: flex; align-items: center; justify-content: center;
  box-shadow: 0 2px 8px rgba(0,0,0,0.3); line-height: 1;
}
.td-item-close:hover { background: #c00018; }
@media (max-width: 767px) {
  .td-item-overlay { padding: 0; }
  .td-item-box { height: 100vh; max-height: none; border-radius: 0; max-width: 100%; }
}

/* ============================================
   COMNOTE: Mode popup (contenu iframe)
   ============================================ */
body.td-popup-mode { padding: 0 !important; background: #fff !important; margin: 0 !important; }
body.td-popup-mode header.td-header,
body.td-popup-mode #td-mob-header,
body.td-popup-mode footer,
body.td-popup-mode .td-mob-fab,
body.td-popup-mode .promo,
body.td-popup-mode #navi-bar,
body.td-popup-mode .breadcrumbs,
body.td-popup-mode .breadcrumb,
body.td-popup-mode nav.breadcrumbs,
body.td-popup-mode .home-search,
body.td-popup-mode .home-premium,
body.td-popup-mode .home-users,
body.td-popup-mode .home-latest,
body.td-popup-mode .home-location,
body.td-popup-mode #scroll-to-top,
body.td-popup-mode #protection,
body.td-popup-mode .other-items,
body.td-popup-mode #related-items,
body.td-popup-mode #recent-items,
body.td-popup-mode .ads-related,
body.td-popup-mode .ads-recent,
body.td-popup-mode #user-recent-items,
body.td-popup-mode #user-other-items,
body.td-popup-mode .user-other-items,
body.td-popup-mode .related-items,
body.td-popup-mode .recent-items,
body.td-popup-mode .related,
body.td-popup-mode .recent,
body.td-popup-mode .similar-items,
body.td-popup-mode .similar,
body.td-popup-mode #item-side .box#protection,
body.td-popup-mode .safety-tips,
body.td-popup-mode #cookie-consent,
body.td-popup-mode .csearch,
body.td-popup-mode #flashbox,
body.td-popup-mode .content > .container:not(.primary),
body.td-popup-mode .item-nav,
body.td-popup-mode .item-adjacent,
body.td-popup-mode .item-prev-next,
body.td-popup-mode .prev-next,
body.td-popup-mode .navigation-items,
body.td-popup-mode .item-navigation,
body.td-popup-mode .adjacent-items,
body.td-popup-mode .navi-bar,
body.td-popup-mode .breadcrumbs-wrap,
body.td-popup-mode section.home-premium,
body.td-popup-mode section.home-users,
body.td-popup-mode section.home-latest,
body.td-popup-mode section.home-location { display: none !important; }

/* Masquer tous les boutons de navigation "Précédent/Suivant" entre annonces */
body.td-popup-mode a[href*="prev"],
body.td-popup-mode a[href*="next"],
body.td-popup-mode button[title*="récédent"],
body.td-popup-mode button[title*="uivant"],
body.td-popup-mode a[title*="récédent"],
body.td-popup-mode a[title*="uivant"] { display: none !important; }

body.td-popup-mode .container.primary { padding: 0 !important; max-width: 100% !important; margin: 0 !important; }
body.td-popup-mode .data-box { box-shadow: none !important; border-radius: 0 !important; padding: 0 !important; margin: 0 !important; background: #fff !important; }

/* Popup item desktop : 2 colonnes (texte à gauche, média+contacts à droite) */
@media (min-width: 768px) {
  body.td-popup-mode .data-box {
    display: grid !important;
    grid-template-columns: 1fr 1fr;
    gap: 0;
    height: 100vh;
    overflow: hidden;
  }
  body.td-popup-mode #item-main {
    overflow-y: auto;
    padding: 20px 24px !important;
    padding-bottom: 20px !important;
    border-right: 1px solid #eee;
  }
  body.td-popup-mode #item-side {
    overflow-y: auto;
    padding: 20px 24px !important;
    padding-bottom: 220px !important;
    border: none !important;
  }
}

/* Mobile : tout en colonne verticale */
@media (max-width: 767px) {
  body.td-popup-mode .data-box { display: block !important; }
  body.td-popup-mode #item-main { padding: 16px !important; padding-bottom: 0 !important; }
  body.td-popup-mode #item-side { padding: 16px !important; padding-bottom: 220px !important; }
}

body.td-popup-mode #item-image { border-radius: 10px; overflow: hidden; margin-bottom: 16px; }
body.td-popup-mode h1 { font-size: 22px !important; line-height: 1.3 !important; margin: 8px 0 !important; }

/* Boutons contact fixes en bas */
body.td-popup-mode .td-popup-contacts {
  position: fixed; bottom: 0; left: 0; right: 0;
  background: #fff; border-top: 1px solid #eee; padding: 12px 16px;
  z-index: 100; display: flex; flex-direction: column; gap: 8px;
  box-shadow: 0 -4px 12px rgba(0,0,0,0.05);
}
body.td-popup-mode .td-popup-contacts a {
  display: flex; align-items: center; justify-content: center; gap: 8px;
  padding: 14px; border-radius: 10px; font-weight: 600; font-size: 14px;
  text-decoration: none !important; color: #fff !important;
}
body.td-popup-mode .td-popup-contacts .td-pc-call { background: #E8001C; }
body.td-popup-mode .td-popup-contacts .td-pc-wa { background: #25D366; }
body.td-popup-mode .td-popup-contacts .td-pc-sms { background: #222; }

/* Desktop popup : contacts fixes seulement dans la colonne droite (#item-side) */
@media (min-width: 768px) {
  body.td-popup-mode .td-popup-contacts {
    left: 50% !important;
    right: 0 !important;
  }
}

/* ============================================
   COMNOTE: Modifs cartes feed
   ============================================ */
/* Masquer stats vues/coeurs et badge premium sur les cartes */
.td-card-stats { display: none !important; }
.td-card-badge { display: none !important; }

/* Bouton Infos (anciennement J'aime) */
.td-act-info { color: #E8001C !important; }
.td-act-info i { color: #E8001C !important; }

/* Bouton partage à côté de favori */
.td-card-fav { display: flex; gap: 6px; align-items: center; }
.td-share-btn {
  width: 32px; height: 32px; display: flex; align-items: center; justify-content: center;
  border-radius: 50%; background: transparent; color: #555 !important;
  text-decoration: none !important; transition: all 0.15s;
}
.td-share-btn i { font-size: 16px; }
.td-share-btn:hover { background: #f0f0f0; color: #E8001C !important; }

/* Image cliquable hover */
.td-open-item { cursor: pointer; }

/* ============================================
   COMNOTE: Cartes feed vidéo — thumbnail + play
   ============================================ */
.td-card-media-video .td-video-wrapper {
  position: relative;
  width: 100%;
  aspect-ratio: 16/9;
  background: #000;
  border-radius: 8px;
  overflow: hidden;
}
.td-card-video-poster {
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block;
}
.td-card-video-placeholder {
  width: 100%;
  height: 100%;
  background: linear-gradient(135deg, #222, #444);
}
.td-card-media-video .td-video-play {
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  width: 64px;
  height: 64px;
  border-radius: 50%;
  background: rgba(0,0,0,0.7);
  border: 3px solid #fff;
  color: #fff;
  font-size: 22px;
  cursor: pointer;
  display: flex;
  align-items: center;
  justify-content: center;
  padding: 0 0 0 4px;
  transition: all 0.2s ease;
}
.td-card-media-video .td-video-play:hover {
  background: #E8001C;
  transform: translate(-50%, -50%) scale(1.1);
}

/* ===================================================================
   COMNOTE: Override agressif mode sombre (chargé en dernier)
   Préserve le logo + rend tous les textes lisibles
   =================================================================== */

/* Logo : TOUJOURS couleurs originales, peu importe le mode */
header .logo img,
header .logo a img,
.td-hd-left .logo img,
.td-hd-left .logo a img,
.td-mob-logo img,
.td-mob-logo a img,
footer p.logo img,
.logo img {
  filter: none !important;
  -webkit-filter: none !important;
  opacity: 1 !important;
  mix-blend-mode: normal !important;
}

@media (prefers-color-scheme: dark) {
  header .logo img,
  header .logo a img,
  .td-hd-left .logo img,
  .td-hd-left .logo a img,
  .td-mob-logo img,
  .td-mob-logo a img,
  footer p.logo img,
  .logo img {
    filter: none !important;
    -webkit-filter: none !important;
    opacity: 1 !important;
    mix-blend-mode: normal !important;
  }

  /* Sidebar gauche : textes lisibles */
  .td-nav-item,
  .td-nav-item span,
  .td-nav-item strong { color: #e4e6eb !important; }
  .td-nav-item:hover { background: #3a3b3c !important; }
  .td-nav-item.active { background: #3a3b3c !important; }
  .td-nav-item.active,
  .td-nav-item.active span { color: #ffffff !important; }
  .td-nav-item i { color: #b0b3b8 !important; }
  .td-nav-item.active i { color: #ffffff !important; }
  .td-nav-create,
  .td-nav-create span,
  .td-nav-create i { color: #ff4d5a !important; }
  .td-nav-profile { border-color: #3e4042 !important; }
  .td-nav-user-info strong { color: #e4e6eb !important; }
  .td-nav-user-info span { color: #b0b3b8 !important; }
  .td-nav-badge { background: #E63946 !important; color: #fff !important; }

  /* Sidebar droite "Sponsorisé" */
  .td-rs-title { color: #b0b3b8 !important; }
  .td-rs-card { background: #242526 !important; border-color: #3a3b3c !important; }
  .td-rs-card-title { color: #e4e6eb !important; }
  .td-rs-card-loc { color: #b0b3b8 !important; }

  /* Cartes feed : textes et fond */
  .td-card { background: #242526 !important; border-color: #3a3b3c !important; }
  .td-card-who strong,
  .td-card-title,
  .td-card-body p,
  .td-card-body { color: #e4e6eb !important; }
  .td-card-sponsored { color: #ff4d5a !important; }
  .td-card-more { color: #b0b3b8 !important; }

  /* Boutons actions feed */
  .td-card-actions,
  .td-card-actions-boost { border-top-color: #3a3b3c !important; }
  .td-act,
  .td-boost-act { color: #e4e6eb !important; border-right-color: #3a3b3c !important; }
  .td-act:hover,
  .td-boost-act:hover { background: #3a3b3c !important; }
  .td-boost-info-bar { background: #1A1A1A !important; border-top-color: #3a3b3c !important; }
  .td-boost-info-title { color: #e4e6eb !important; }
  .td-boost-info-sub { color: #b0b3b8 !important; }
  .td-boost-info-btn { background: transparent !important; }

  /* Zone "Quoi de neuf" */
  .td-qdn { background: #242526 !important; }
  .td-qdn-field span { background: #3a3b3c !important; color: #b0b3b8 !important; }

  /* Body + container généraux */
  body { background: #18191a !important; color: #e4e6eb !important; }

  /* ==== OVERRIDES DARK MODE CRITIQUES ==== */

  /* 1. LOGO — préserver couleurs (override filter invert de dark.css) */
  header .logo img,
  .td-hd-left .logo img,
  .td-mob-logo img,
  footer p.logo img,
  .logo img { filter: none !important; opacity: 1 !important; }

  /* 2. SIDEBAR GAUCHE — textes menus (Accueil, Populaire, Emploi, etc.) */
  .td-nav-item,
  .td-nav-item span,
  .td-nav-wrap a,
  .td-nav-wrap a span { color: #e4e6eb !important; }
  .td-nav-item:hover { background: #3a3b3c !important; }
  .td-nav-item i { color: #b0b3b8 !important; }
  .td-nav-item.active { background: #3a3b3c !important; }
  .td-nav-item.active span { color: #fff !important; }
  .td-nav-item.active i { color: #fff !important; }

  /* "Créer une opportunité" en rouge visible */
  .td-nav-create,
  .td-nav-create span { color: #ff4d5a !important; font-weight: 600; }
  .td-nav-create i { color: #ff4d5a !important; }

  /* Infos utilisateur bas de sidebar */
  .td-nav-profile,
  .td-nav-profile-main { border-color: #3e4042 !important; }
  .td-nav-profile-main:hover { background: #3a3b3c !important; }
  .td-nav-user-info strong { color: #e4e6eb !important; }
  .td-nav-user-info span { color: #b0b3b8 !important; }

  /* 3. SIDEBAR DROITE — "Sponsorisé" */
  .td-rs,
  .td-right-sidebar { color: #e4e6eb !important; }
  .td-rs-title { color: #b0b3b8 !important; }
  .td-rs-card,
  .td-rs-item { background: #242526 !important; }
  .td-rs-card-title,
  .td-rs-item-title { color: #e4e6eb !important; }
  .td-rs-card-loc,
  .td-rs-item-loc { color: #b0b3b8 !important; }

  /* 4. BARRE RECHERCHE HAUT (Quoi de neuf) */
  .td-qdn,
  .td-qdn-field { background: #242526 !important; border-color: #3a3b3c !important; }
  .td-qdn-field span { color: #b0b3b8 !important; }

  /* 5. CARTE FEED */
  .td-card { background: #242526 !important; border-color: #3e4042 !important; color: #e4e6eb !important; }
  .td-card-who strong,
  .td-card-title { color: #e4e6eb !important; }
  .td-card-who .td-card-sponsored { color: #e63946 !important; }
  .td-card-who em { color: #b0b3b8 !important; }
  .td-card-body,
  .td-card-desc { color: #d9d9d9 !important; }
  .td-card-more { color: #e4e6eb !important; }
  .td-card-actions,
  .td-card-actions-boost { border-top-color: #3a3b3c !important; }
  .td-act,
  .td-boost-act { color: #e4e6eb !important; border-right-color: #3a3b3c !important; }
  .td-act:hover,
  .td-boost-act:hover { background: #3a3b3c !important; }

  /* Barre info boost en dark */
  .td-boost-info-bar { background: #1a1a1a !important; border-top-color: #3a3b3c !important; }
  .td-boost-info-title { color: #e4e6eb !important; }
  .td-boost-info-sub { color: #b0b3b8 !important; }
  .td-boost-info-btn { background: transparent !important; color: #ff4d5a !important; border-color: #ff4d5a !important; }
  .td-boost-info-btn:hover { background: #ff4d5a !important; color: #fff !important; }
}


/* === AUTO DARK MODE (prefers-color-scheme) - réplique de body.dark-mode === */
@media (prefers-color-scheme: dark) {
  .td-header, .td-header { background: #242526 !important; box-shadow: 0 1px 3px rgba(0,0,0,.3) !important; }
  .td-hd-bar, .td-hd-bar { background: #3a3b3c; border-color: #4e4f50; }
  .td-hd-bar:focus-within, .td-hd-bar:focus-within { background: #333; border-color: #555; }
  .td-hd-seg:hover, .td-hd-seg:hover { background: rgba(255,255,255,.06); }
  .td-hd-seg label, .td-hd-seg label { color: #e4e6eb; }
  .td-hd-bar input, .td-hd-bar input { color: #e4e6eb !important; }
  .td-hd-bar input::placeholder, .td-hd-bar input::placeholder { color: #8a8d91 !important; }
  .td-hd-loc-text, .td-hd-loc-text { color: #8a8d91; }
  .td-hd-bar select, .td-hd-bar select { color: #8a8d91 !important; }
  .td-hd-sep, .td-hd-sep { background: #555; }
  .td-hd-icon, .td-hd-icon { background: #3a3b3c; color: #b0b3b8; }
  .td-hd-icon:hover, .td-hd-icon:hover { background: #4e4f50; color: #e4e6eb; }
  .td-hd-avatar, .td-hd-avatar { background: #555; }
  .td-qdn:hover, .td-qdn:hover { background: #2d2e2f; }
  .td-qdn:hover .td-qdn-field span, .td-qdn:hover .td-qdn-field span { background: #4e4f50; }
  .td-qdn-av img, .td-qdn-av img { border: none; }
  .td-qdn-link, .td-qdn-link { background: #3a3b3c; color: #b0b3b8; }
  .td-qdn-link:hover, .td-qdn-link:hover { background: #4e4f50; color: #e4e6eb; }
  .td-qdn-link-success, .td-qdn-link-success { background: #1a3a1a; color: #2ecc40; border-color: #2ecc40; }
  .td-qdn-link-badge, .td-qdn-link-badge { background: #1a2a3a; color: #e02020; }
  .td-qdn-link-abo, .td-qdn-link-abo { background: #3a3b3c; color: #b0b3b8; }
  .td-m-box, .td-m-box { background: #242526; }
  .td-m-hd, .td-m-hd { border-color: #3e4042; background: #242526; }
  .td-m-hd-txt strong, .td-m-hd-txt strong { color: #e4e6eb; }
  .td-m-hd-txt span, .td-m-hd-txt span { color: #8a8d91; }
  .td-m-hd-title, .td-m-hd-title { color: #e4e6eb; }
  .td-m-close, .td-m-close { background: #3a3b3c; color: #b0b3b8; }
  .td-m-close:hover, .td-m-close:hover { background: #4e4f50; color: #e4e6eb; }
  .content { background: #18191a !important; }
  .td-card-title { color: #e4e6eb; }
  .td-card-title:hover { color: #e02020; }
  .td-card-desc { color: #b0b3b8; }
  .td-card-more { color: #8a8d91; }
  .td-card-who strong a { color: #e4e6eb; }
  .td-card-who > span { color: #8a8d91; }
  .td-card-stats { color: #8a8d91; border-color: #3e4042; }
  .td-card-av img { border-color: #3e4042; }
  .td-card-av-def { background: #3e4042; }
  .td-card-media { background: #3a3b3c; }
  .td-card-actions { border-color: #3e4042; }
  .td-act { color: #b0b3b8; }
  .td-act:hover { background: #3a3b3c; }
  .td-act-wa { color: #25d366; }
  .td-act-call { color: #4599ff; }
  .td-sidebar-title { color: #8a8d91; }
  .td-gold-title { color: #daa520; }
  .td-gold-title i { color: #f0c040; }
  .td-sp-name { color: #e4e6eb; }
  .td-sp-loc { color: #8a8d91; }
  .td-sp-thumb { background: #3a3b3c; }
  .td-sidebar-list::-webkit-scrollbar-thumb { background: #555; }
  .td-nav-item, .td-nav-item { color: #e4e6eb; }
  .td-nav-item:hover, .td-nav-item:hover { background: #3a3b3c; }
  .td-nav-item i, .td-nav-item i { color: #b0b3b8; }
  .td-nav-avatar, .td-nav-avatar { background: #2ecc40; }
  .td-nav-user-info strong, .td-nav-user-info strong { color: #e4e6eb; }
  .td-nav-user-info span, .td-nav-user-info span { color: #8a8d91; }
  .td-nav-profile, .td-nav-profile { border-color: #3e4042; }
  .td-nav-dropdown, .td-nav-dropdown { background: #242526; border-color: #3e4042; }
  .td-nav-dropdown a, .td-nav-dropdown a { color: #e4e6eb; }
  .td-nav-dropdown a:hover, .td-nav-dropdown a:hover { background: #3a3b3c; }
  footer p.logo img { filter: none !important; opacity: 1 !important; }
  .td-nav-item span { color: #e4e6eb !important; }
  .td-nav-item.active { background: #3a3b3c; color: #fff !important; }
  .td-nav-item.active span { color: #fff !important; }
  .td-nav-create { color: #ff4d5a !important; }
  .td-nav-create i { color: #ff4d5a !important; }
  .td-nav-user-info strong { color: #e4e6eb !important; }
  .td-nav-user-info span { color: #b0b3b8 !important; }
  .td-rs-title, .td-rs-title { color: #b0b3b8 !important; }
  .td-rs-card, .td-rs-card { background: #242526 !important; }
  .td-rs-card-title, .td-rs-card-title { color: #e4e6eb !important; }
  .td-rs-card-loc, .td-rs-card-loc { color: #b0b3b8 !important; }
}

/* ============================================================
   CTA Propulsion (zone Mes publications, annonces non boostées)
   ============================================================ */
.td-card-boost-cta {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
  margin: 0 10px 10px;
  padding: 10px 14px;
  border-radius: 10px;
  background: linear-gradient(135deg, #FFF7ED 0%, #FEF3C7 100%);
  border: 1px solid #FCD34D;
}
.td-card-boost-cta-text {
  display: flex;
  align-items: center;
  gap: 10px;
  flex: 1;
  min-width: 0;
}
.td-card-boost-cta-text > i {
  font-size: 18px;
  color: #F59E0B;
  flex-shrink: 0;
}
.td-card-boost-cta-text > div {
  display: flex;
  flex-direction: column;
  min-width: 0;
}
.td-card-boost-cta-text strong {
  font-size: 13px;
  font-weight: 700;
  color: #78350F;
  line-height: 1.2;
}
.td-card-boost-cta-text span {
  font-size: 11.5px;
  color: #92400E;
  line-height: 1.3;
}
.td-card-boost-cta-btn {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  padding: 8px 14px;
  background: #E63946;
  color: #fff !important;
  border-radius: 50px;
  font-size: 12px;
  font-weight: 800;
  text-decoration: none !important;
  white-space: nowrap;
  box-shadow: 0 2px 6px rgba(230, 57, 70, 0.3);
  transition: background 0.15s, transform 0.1s;
  flex-shrink: 0;
}
.td-card-boost-cta-btn:hover {
  background: #C62828;
  transform: translateY(-1px);
}
.td-card-boost-cta-btn i { font-size: 12px; }
@media (max-width: 420px) {
  .td-card-boost-cta-text span { display: none; }
  .td-card-boost-cta { padding: 8px 12px; }
  .td-card-boost-cta-btn { padding: 7px 12px; font-size: 11.5px; }
}
@media (prefers-color-scheme: dark) {
  .td-card-boost-cta {
    background: linear-gradient(135deg, #3A2A10 0%, #4A3420 100%);
    border-color: #92400E;
  }
  .td-card-boost-cta-text strong { color: #FDE68A; }
  .td-card-boost-cta-text span { color: #FCD34D; }
}
