/*
Theme Name: Sensulibre
Theme URI: https://example.com
Author: APSF-Créatif
Author URI: https://apsf-creatif.com
Description: Thème léger pour Sensulibre — site de rencontre + moments gourmands (profils, recherche, événements/brunchs).
Version: 1.7.6
Requires at least: 5.8
Tested up to: 6.6
Requires PHP: 7.4
Text Domain: zonedepot
*/
/*
  Palette "sensuelle & chaleureuse" (lisible + premium)
  - Fond crème rosé
  - Cartes ivoire
  - Texte brun foncé
  - Accent bordeaux + doré
*/
:root {
  /* Ambiance rose / gris clair / mauve / noir (plus moderne & discret) */
  --zd-bg:#fde7f1;       /* rose clair (remplace le crème) */
  --zd-card:#ffffff;     /* cartes */
  --zd-text:#111114;     /* presque noir */
  --zd-muted:#5e5b67;    /* gris mauve */
  --zd-accent:#7b2cbf;   /* mauve */
  --zd-accent2:#ff5fa2;  /* rose */
  --zd-border:#e3deea;   /* bordure douce */
  --zd-input:#ffffff;    /* champs */
  --zd-soft:#fff3f8;     /* rose très doux */
}
body {
  margin:0;
  font-family: system-ui, -apple-system, Segoe UI, Roboto, Arial, sans-serif;
  background: var(--zd-bg);
  color: var(--zd-text);
}

/* Fond : visuel "Sensulibre" (remplace l'ancien motif cœurs) */
body::before{
  content:"";
  position:fixed;
  inset:0;
  pointer-events:none;
  background-image:url("assets/vitrine/rg-heart-bg.png");
  background-repeat:repeat;
  /* Taille du motif (image fournie) */
  background-size:768px 512px;
  opacity:.20;
  z-index:-1;
}
a { color: inherit; text-decoration:none; }
.zd-container { width:min(1180px, 92vw); margin:0 auto; }
.zd-topbar {
  position:sticky; top:0; z-index:50;
  background: linear-gradient(135deg, rgba(123,44,191,0.94), rgba(255,95,162,0.94));
  backdrop-filter: blur(10px);
  border-bottom: 1px solid rgba(255,255,255,0.18);
}
.zd-topbar-inner { display:flex; align-items:center; justify-content:space-between; gap:16px; padding:14px 0; }
.zd-logo { font-weight:800; letter-spacing:.5px; color:#fff; }
.zd-logo span { color: rgba(255,255,255,0.92); }
.zd-nav { display:flex; gap:10px; flex-wrap:wrap; align-items:center; }

/* Sélecteur de langue (compact) */
.zd-lang{ display:flex; gap:6px; align-items:center; }
.zd-lang-link{
  display:inline-flex; align-items:center; justify-content:center;
  padding:6px 8px; border-radius:10px;
  background: rgba(255,255,255,0.60);
  border: 1px solid var(--zd-border);
  font-weight:700;
  font-size:12px;
  line-height:1;
  white-space:nowrap;
}
.zd-lang-link:hover{ border-color:#d6c7b6; text-decoration:none; }
.zd-btn {
  display:inline-flex; align-items:center; justify-content:center;
  padding:10px 12px; border-radius:12px;
  background: rgba(255,255,255,0.82);
  border: 1px solid var(--zd-border);
  color: var(--zd-text);
  font-weight:600;
}
.zd-btn:hover { border-color: rgba(123,44,191,0.45); }
.zd-btn.primary {
  background: linear-gradient(135deg, var(--zd-accent), var(--zd-accent2));
  border: 0;
  color: #111111;
  text-shadow: 0 1px 0 rgba(255,255,255,0.35);
  box-shadow: 0 10px 24px rgba(0,0,0,0.10);
}

/* Topbar : boutons plus lisibles sur fond fuchsia */
.zd-topbar .zd-btn{ background: rgba(255,255,255,0.92); }
.zd-topbar .zd-link{ color: rgba(255,255,255,0.92); }

/* Boutons : une touche "arc-en-ciel" douce (un sur deux) */
.zd-nav a.zd-btn:not(.primary):nth-of-type(odd){
  background: linear-gradient(135deg, rgba(123,44,191,0.18), rgba(255,95,162,0.18));
  border-color: rgba(123,44,191,0.25);
}
.zd-nav a.zd-btn:not(.primary):nth-of-type(even){
  background: var(--zd-soft);
}
.zd-hero {
  /* Réduction de la hauteur (espacement vertical) du bloc header/vidéo */
  padding: 0;
}
.zd-hero-card {
  background: linear-gradient(180deg, rgba(255,95,162,0.10), rgba(255,243,248,0.92));
  border:1px solid var(--zd-border);
  border-radius: 20px;
  padding: 8px;
}

/* Accueil : titre + petit écran vidéo (UNIQUEMENT sur la page d'accueil) */
.zd-hero-headline{
  display:flex;
  align-items:flex-start;
  justify-content:space-between;
  gap:12px;
}
.zd-hero-headline__text{ min-width:0; flex: 1 1 auto; }

/* Mini écran vidéo (catégories + accueil) : taille verrouillée, aucun "zoom" au chargement */
.zd-hero-mini-video{flex:0 0 auto; width:200px; max-width:45vw;}
.zd-hero-mini-video .zd-mini-video{
  width:100% !important;
  height:150px !important;
  max-height:150px !important;
  border-radius:10px;
  background:#000;
  object-fit:cover !important;
  object-position:center;
  display:block !important;
}
/* Si WordPress applique MediaElement.js, on force le wrapper à rester dans le petit cadre */
.zd-hero-mini-video .mejs-container,
.zd-hero-mini-video .mejs-overlay,
.zd-hero-mini-video .mejs-inner,
.zd-hero-mini-video .mejs-mediaelement,
.zd-hero-mini-video .mejs-video{
  width:100% !important;
  height:150px !important;
  max-height:150px !important;
  overflow:hidden !important;
}

/* Callout "Publicitaire" à gauche du mini écran vidéo (pages catégories) */
.zd-hero-adcallout{
  background: rgba(255,255,255,0.75);
  border: 1px dashed var(--zd-border);
  border-radius: 12px;
  padding: 10px 10px;
}
.zd-hero-adcallout__title{
  font-weight: 800;
  font-size: 13px;
  margin-bottom: 6px;
}
.zd-hero-adcallout__text{
  font-size: 12px;
  line-height: 1.25;
  color: var(--zd-muted);
}

/* Offre de démarrage (banner accueil) */
.zd-trial-banner{
  margin:12px 0 6px;
  padding:10px 12px;
  border-left:6px solid #ff8a00;
  background:#fff3e6;
  border-radius:12px;
  font-size:14px;
}
.zd-hero h1 { margin: 0 0 6px; font-size: clamp(22px, 3vw, 34px); }
.zd-hero p { margin: 0 0 14px; color: var(--zd-muted); }
.zd-search {
  display:flex;
  gap:8px;
  align-items:flex-start;
  justify-content:space-between;
}
.zd-search__left{
  display:flex;
  gap:6px;
  flex-wrap:wrap;
  flex: 1 1 auto;
  min-width: 0;
}
.zd-search__right{
  flex: 0 0 auto;
  margin-left:auto;
}
.zd-search input, .zd-search select {
  padding:7px 9px; border-radius:14px;
  background: var(--zd-input);
  border:1px solid var(--zd-border);
  color: var(--zd-text);
  outline: none;
}
.zd-search input:focus, .zd-search select:focus{
  border-color: rgba(255,95,162,0.55);
  box-shadow: 0 0 0 3px rgba(255,95,162,0.14);
}
.zd-search input::placeholder { color: rgba(43,36,28,0.45); }

/* Encarts publicitaires (pré-installés) : petits panneaux à placer dans la ligne de filtres */
.zd-ad-slot{
  position: relative;
  display:block;
  /* Écran pub plus grand pour la vidéo (ne gêne plus la saisie) */
  padding: 8px;
  border-radius:12px;
  background: rgba(255,255,255,0.85);
  border:2px solid var(--zd-border);
  color: var(--zd-muted);
  width: 100%;
  max-width: 260px;
  height: 96px;
  box-sizing: border-box;
}

.zd-ad-slot__label{
  position:absolute;
  left:6px;
  bottom:4px;
  font-size: 12px;
  font-weight: 800;
  letter-spacing: .02em;
  text-transform: uppercase;
  padding:2px 6px;
  border-radius:999px;
  background: rgba(0,0,0,0.06);
  color: rgba(43,36,28,0.75);
}

/* Badge "Sponsorisé" dans le panneau pub */
.zd-ad-slot__badge{
  position:absolute;
  top:6px;
  left:6px;
  font-size: 12px;
  font-weight: 900;
  letter-spacing: .02em;
  text-transform: uppercase;
  padding:2px 8px;
  border-radius:999px;
  background: rgba(255,255,255,0.72);
  border: 1px solid rgba(0,0,0,0.10);
  color: rgba(43,36,28,0.85);
}

/* Label "Vidéo X" pour identifier rapidement quel panneau publicitaire modifier */
.zd-ad-slot__label{
  position:absolute;
  right:8px;
  bottom:8px;
  font-size:12px;
  font-weight:900;
  padding:2px 8px;
  border-radius:999px;
  background: rgba(255,255,255,0.78);
  border: 1px solid rgba(0,0,0,0.10);
  color: rgba(43,36,28,0.85);
  z-index: 3;
}

/* Media inside ad slot (video / image) */
.zd-ad-slot__media{
  width: 100%;
  height: 100%;
  overflow: hidden;
  border-radius: 10px;
  position: relative;
}
.zd-ad-slot__video{
  /* IMPORTANT : la scène (panneau complet) est pivotée.
     On garde les textes lisibles via la contre-rotation du contenu,
     mais la vidéo, elle, doit aussi pivoter pour remplir correctement
     l'"écran" portrait demandé.
  */
  position: absolute;
  top: 50%;
  left: 50%;
  /* On inverse les dimensions car on pivote la vidéo */
  width: 160px;
  height: 260px;
  transform: translate(-50%, -50%) rotate(90deg);
  transform-origin: center;
  object-fit: cover;
  object-position: 50% 50%;
  display:block;
}

/* (On ne fait plus de rotation CSS "pièce par pièce" : tout est géré via
   le format portrait ci-dessus.) */

/* IMPORTANT : on ne force pas l'étirement du formulaire de recherche (sinon les champs deviennent énormes). */
body.tax-zd_category .zd-search{ align-items: center; }
body.tax-zd_category .zd-search__left{ align-items: center; }
body.tax-zd_category .zd-search__right{ margin-top:0; align-self:auto; }

/* Chips compactes pour sous-catégories / sous-domaines */
.zd-btn.zd-chip{
  padding: 6px 10px;
  font-size: 12px;
  border-radius: 999px;
}
.zd-tax-nav__summary{
  cursor: pointer;
  font-weight: 800;
  color: rgba(43,36,28,0.75);
}
.zd-tax-nav__group{ margin-top:8px; }
.zd-tax-nav__group-title{ cursor:pointer; font-weight:900; }
.zd-grid { display:grid; gap:12px; }
.zd-grid.cols-6 { grid-template-columns: repeat(6, minmax(0,1fr)); }
.zd-grid.cols-4 { grid-template-columns: repeat(4, minmax(0,1fr)); }
@media (max-width: 980px) {
  .zd-grid.cols-6 { grid-template-columns: repeat(3, minmax(0,1fr)); }
  .zd-grid.cols-4 { grid-template-columns: repeat(2, minmax(0,1fr)); }
}
@media (max-width: 520px) {
  .zd-grid.cols-6 { grid-template-columns: repeat(2, minmax(0,1fr)); }
}
.zd-card {
  background: var(--zd-card);
  border:1px solid var(--zd-border);
  border-radius: 18px;
  overflow:hidden;
}
.zd-card-pad { padding: 12px; }
.zd-badge {
  display:inline-block; padding:4px 8px; border-radius:999px;
  background: rgba(192,138,75,0.18);
  border:1px solid rgba(122,75,31,0.25);
  color: #5a3a18;
  font-size:12px; font-weight:700;
}
.zd-thumb {
  aspect-ratio: 4/3;
  background: rgba(122,75,31,0.06);
  display:block;
  width:100%;
  height:100%;
  object-fit:cover;
  object-position:center;
}
.zd-price { font-weight:800; }
.zd-muted { color: var(--zd-muted); }
.zd-section-title { display:flex; align-items:baseline; justify-content:space-between; gap:12px; margin: 18px 0 10px; }
.zd-section-title h2 { margin:0; font-size: 18px; }
.zd-footer { padding: 26px 0 34px; color: rgba(242,242,242,0.70); border-top:1px solid rgba(255,255,255,0.08); margin-top: 26px; }

/* Footer clair */
.zd-footer {
  color: rgba(43,36,28,0.75);
  border-top: 1px solid var(--zd-border);
}

/* Langues en bas de page (mobile) */
.zd-lang-footer{ display:none; margin-top:10px; }
.zd-lang-footer .zd-lang{ justify-content:flex-start; flex-wrap:wrap; }

/* Par défaut, on masque les sélecteurs de langue insérés dans le contenu
   (ça évite une ligne FR/EN en haut). Les langues restent disponibles
   uniquement dans le footer via .zd-lang-footer. */
.zd-lang{ display:none; }
.zd-lang-footer .zd-lang{ display:flex; }

/* Liens */
a:hover { text-decoration: underline; }

/* Règlement (footer) */
.zd-rules{ 
  max-width: 1180px;
  margin: 0 auto;
  border: 1px solid rgba(0,0,0,0.08);
  border-radius: 14px;
  padding: 10px 12px;
  background: rgba(255,255,255,0.65);
}
.zd-rules summary{
  cursor: pointer;
  font-weight: 800;
}
.zd-rules-body{ 
  margin-top: 10px;
  font-size: 12px;
}
.zd-rules-body ul{ margin: 6px 0 10px 18px; }
.zd-rules-body li{ margin: 4px 0; }


/* --- Mobile / tablette responsive (V26) --- */
/*
  Objectif :
  - Sur mobile : la zone du haut ne doit PAS rester collée (sticky) et doit être compacte.
  - Sur tablette : même logique (certains mobiles larges déclenchent des largeurs > 640px).
*/
@media (max-width: 1024px){
  /* Sur mobile/tablette, la topbar doit défiler avec la page */
  .zd-topbar{ position: static; top:auto; }
}

@media (max-width: 640px){
  /* L'ancien “mobile boost” agrandissait trop la page. On repasse sur des tailles confortables. */
  body { font-size: 13px; }
  .zd-container { width: min(1180px, 94vw); }
  /* Topbar mobile: TRÈS compact (évite de prendre la moitié de l'écran) */
  .zd-topbar-inner { padding: 10px 0; gap: 8px; }
  .zd-logo { font-size: 14px; line-height: 1.1; }
  .zd-nav {
    gap: 3px;
    flex-wrap: nowrap;
    overflow-x: auto;
    overflow-y: hidden;
    -webkit-overflow-scrolling: touch;
    scrollbar-width: none; /* Firefox */
  }
  .zd-nav::-webkit-scrollbar { display: none; }
  /* Les langues sont en bas de page : on cache toute présence éventuelle en haut */
  .zd-topbar .zd-lang{ display:none; }
  .zd-lang-footer{ display:block; }
  .zd-lang-footer{ display:block; }
  .zd-btn { padding: 6px 10px; font-size: 12px; border-radius: 12px; white-space: nowrap; }
  .zd-link { white-space: nowrap; }
  .zd-hero { padding: 0; }
  .zd-hero-card { padding: 4px; border-radius: 14px; }
  /* Barre de recherche : le panneau pub passe en dessous (ne gêne jamais les champs) */
  .zd-search{ flex-direction: column; align-items: stretch; }
  .zd-search__right{ margin-left:0; }
  .zd-ad-slot{ width: 100%; max-width: none; }
  /* Sur mobile, on compacte au maximum : on garde surtout le formulaire */
  .zd-hero h1 { display:none; }
  .zd-hero p { display:none; }

  /* MAIS sur l'accueil : on garde le titre + le petit écran (en colonne) */
  body.home .zd-hero-headline{ flex-direction: column; align-items: stretch; }
  body.home .zd-hero-headline__text h1{ display:block; margin:0 0 4px; font-size: 18px; }
  body.home .zd-hero-headline__text p{ display:block; margin:0 0 8px; font-size: 12px; }

  /* Formulaire de recherche compact : 1 ligne scrollable horizontalement (au lieu de 2-3 lignes) */
  .zd-search{ flex-wrap: nowrap; overflow-x:auto; -webkit-overflow-scrolling:touch; }
  .zd-search input, .zd-search select{ flex: 0 0 auto; min-width: 115px; }
  .zd-ad-slot{ flex: 0 0 auto; min-width: 150px; height: 38px; }
  .zd-ad-slot{ flex: 0 0 auto; min-width: 150px; height: 36px; padding: 6px 10px; border-radius: 12px; }
  .zd-ad-slot__label{ font-size: 11px; }

  /* Vignettes plus petites sur mobile (dernieres publications) */
  .zd-thumb{ aspect-ratio: 21/9; }
  /* Champs plus compacts (tout en restant confortables sur mobile) */
  .zd-search input, .zd-search select,
  input, select, textarea { padding: 6px 7px; font-size: 12px; border-radius: 12px; }
  .zd-ad-slot{ padding: 6px 8px; border-radius: 12px; }
  .zd-card-pad { padding: 12px; }
  .zd-section-title h2 { font-size: 16px; }
  /* Titres plus petits sur mobile (connexion / inscription) */
  .zd-card h2{ font-size: 18px; }
  /* Les cartes / blocs : 2 colonnes sur mobile (vignettes moins grosses) */
  .zd-grid.cols-6 { grid-template-columns: 1fr; }
  .zd-grid.cols-4 { grid-template-columns: repeat(2, minmax(0,1fr)); }


  /* Catégories mobile : petites vignettes carrées (plus de grandes lignes) */
  .zd-grid.cols-6 { grid-template-columns: repeat(3, minmax(0, 1fr)); }
  .zd-grid.cols-6 .zd-card-pad { padding: 10px; text-align:center; }
  .zd-grid.cols-6 .zd-card-pad strong{ font-size: 12px; display:block; }
  .zd-grid.cols-6 .zd-card-pad .zd-muted{ font-size: 11px; }

}

@media (max-width: 360px){
  .zd-btn { padding: 1px 2px; font-size: 8px; }
}

/* --- Tarifs modal (home) --- */
.zd-hero-tarifs{
  display:flex;
  align-items:center;
  flex-wrap:wrap;
  gap:8px;
  margin:12px 0 0 0;
}

.zd-modal{
  position:fixed;
  inset:0;
  display:none;
  z-index:9999;
}
.zd-modal.is-open{display:block;}
.zd-modal-backdrop{
  position:absolute;
  inset:0;
  background: rgba(0,0,0,.55);
}
.zd-modal-panel{
  position:relative;
  max-width: 980px;
  width: calc(100% - 24px);
  max-height: calc(100vh - 24px);
  overflow:auto;
  margin: 12px auto;
  background:#fff;
  border-radius: 18px;
  box-shadow: 0 20px 60px rgba(0,0,0,.25);
}
.zd-modal-head{
  position: sticky;
  top: 0;
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:10px;
  padding: 12px 12px;
  background:#fff;
  border-bottom: 1px solid rgba(0,0,0,.08);
}

/* --- Connexion : fond doux (même visuel que le site) --- */
body.rg-page-connexion{
  position:relative;
}
body.rg-page-connexion::before{
  content:"";
  position:fixed;
  inset:0;
  pointer-events:none;
  z-index:0;
  opacity:.18;
  background-image: url("assets/vitrine/rg-heart-bg.png");
  background-repeat: repeat;
  background-size: 768px 512px;
  filter: blur(.2px);
}
body.rg-page-connexion::after{
  content:"✿";
  position:fixed;
  inset:0;
  pointer-events:none;
  z-index:0;
  opacity:.12;
  font-size: 72px;
  line-height:1;
  color: #000;
  text-shadow: 0 0 0 rgba(0,0,0,0);
  transform: translateZ(0);
  background:
    radial-gradient(circle at 14% 22%, rgba(255,255,255,.55), rgba(255,255,255,0) 55%),
    radial-gradient(circle at 86% 64%, rgba(255,255,255,.45), rgba(255,255,255,0) 58%);
}
body.rg-page-connexion .zd-container,
body.rg-page-connexion .zd-topbar{
  position:relative;
  z-index:1;
}
.zd-modal-body{
  padding: 12px;
}

/* Note TVA (affichée sous les grilles de tarifs) */
.zd-vat-note{
  text-align:center;
  opacity: .85;
}

/* TVA (rendre très visible au moment de l'achat) */
.zd-vat-top{
  margin: 6px 0 10px;
  padding: 8px 10px;
  border: 1px dashed rgba(0,0,0,.20);
  border-radius: 12px;
  background: rgba(0,0,0,.03);
  font-size: 13px;
}
.zd-vat-badge{
  display:inline-block;
  padding: 4px 8px;
  border-radius: 999px;
  border: 1px solid rgba(0,0,0,.18);
  background: rgba(0,0,0,.04);
  font-size: 12px;
  font-weight: 700;
  vertical-align: middle;
}
.zd-vat-inline{
  display:block;
  margin-top: 6px;
  font-size: 12px;
  font-weight: 700;
  opacity: .9;
}
.zd-vat-footer{
  margin: 10px 0 0;
  font-size: 12px;
  opacity: .9;
}

/* verrouille le scroll de fond quand le modal est ouvert */
html.zd-modal-open{ overflow:hidden; }

/* Accessibilité / SEO : texte caché sans impacter le layout */
.zd-visually-hidden{
  position:absolute !important;
  width:1px !important;
  height:1px !important;
  padding:0 !important;
  margin:-1px !important;
  overflow:hidden !important;
  clip:rect(0,0,0,0) !important;
  white-space:nowrap !important;
  border:0 !important;
}



/* --- Mon espace : réduire UNIQUEMENT les cadres Tarifs --- */
.zd-dashboard .zd-pricing-grid .zd-price-card,
.zd-dashboard .zd-price-grid .zd-price-card{
  padding: 10px;
  border-radius: 12px;
}
.zd-dashboard .zd-price-title{font-size:13px}
.zd-dashboard .zd-price-big{font-size:16px}



/* --- Annonce : images à taille normale (éviter l'écran géant) --- */
.single-zd_ad .wp-post-image,
.single-zd_ad .zd-ad-gallery img{
  max-width: 540px;
  width: 100%;
  height: auto;
  display: block;
}
.single-zd_ad .wp-post-image{
  max-height: 240px;
  object-fit: cover;
  object-position: center top;
  border-radius: 16px;
}
.single-zd_ad .zd-ad-gallery{
  display:grid;
  grid-template-columns:repeat(auto-fill,minmax(92px,1fr));
  gap:10px;
  margin-top:12px;
}
.single-zd_ad .zd-ad-gallery a{display:block}
.single-zd_ad .zd-ad-gallery img{
  height: 64px;
  object-fit: cover;
  object-position: center top;
  border-radius: 12px;
}



/* --- Mon espace : réduire davantage les cartes Tarifs (sans toucher au reste) --- */
.zd-dashboard .zd-price-card{
  padding: 8px !important;
}
.zd-dashboard .zd-price-title{font-size:12px !important;}
.zd-dashboard .zd-price-big{font-size:14px !important;margin:2px 0 !important;}

/* --- Mon espace : import fichiers --- */
.zd-dashboard input[type="file"]{max-width:100%;}
.zd-dashboard details summary{user-select:none;}




/* Cards (accueil / archives / catégories) */
.zd-grid .zd-card .zd-thumb{
  height: 120px;
  aspect-ratio: auto;
  object-fit: cover;
  object-position: center;
}
/* 4 colonnes = encore plus compact */
.zd-grid.cols-4 .zd-card .zd-thumb{ height: 96px; }

/* Single annonce : pas d'image géante */
.zd-ad-gallery{
  display:grid;
  grid-template-columns:repeat(3, 1fr);
  gap:10px;
  margin: 10px 0 0;
}
.zd-ad-gallery a{display:block; text-decoration:none;}
.zd-ad-gallery img{
  width:100%;
  height: 60px;
  object-fit: cover;
  object-position: center top;
  border-radius: 12px;
  display:block;
}
/* Première image un peu plus grande, mais pas énorme */
.zd-ad-gallery a.zd-ad-main{grid-column: span 3;}
.zd-ad-gallery a.zd-ad-main img{
  height: 180px;
  border-radius: 16px;
}

/* Mobile */
@media (max-width: 640px){
  .zd-grid .zd-card .zd-thumb{ height: 90px; }
  .zd-ad-gallery{ grid-template-columns:repeat(2, 1fr); }
  .zd-ad-gallery a.zd-ad-main{ grid-column: span 2; }
  .zd-ad-gallery a.zd-ad-main img{ height: 150px; }
}



/* --- Galerie annonce : format compact (comme blocs accueil) --- */
.zd-ad-gallery{margin:10px 0 0;}
.zd-ad-main-img{width:100%;height:140px;object-fit:cover;object-position:center top;border-radius:16px;display:block}
.zd-ad-thumbs{
  display:flex;
  /* Affichage horizontal “queue leu leu” pour éviter les pages trop hautes */
  flex-wrap:nowrap;
  gap:10px;
  margin-top:10px;
  overflow-x:auto;
  overflow-y:hidden;
  -webkit-overflow-scrolling:touch;
  padding-bottom:6px;
}
.zd-ad-thumb{flex:0 0 auto;}
.zd-ad-thumb img{width:56px;height:56px;object-fit:cover;object-position:center top;border-radius:12px;display:block}
@media (max-width:640px){
  .zd-ad-main-img{height:120px}
  .zd-ad-thumb img{width:52px;height:52px}
}

/* Compat WP Gallery : si des images sont insérées en “galerie” dans une annonce,
   on force aussi un affichage horizontal pour éviter une liste verticale interminable. */
.single-zd_ad .gallery,
.single-zd_ad .wp-block-gallery{
  display:flex;
  flex-wrap:nowrap;
  gap:10px;
  overflow-x:auto;
  overflow-y:hidden;
  -webkit-overflow-scrolling:touch;
  padding-bottom:6px;
}
.single-zd_ad .gallery-item,
.single-zd_ad .wp-block-gallery .wp-block-image{
  flex:0 0 auto;
  margin:0 !important;
}
.single-zd_ad .gallery img,
.single-zd_ad .wp-block-gallery img{
  width:auto;
  height:80px;
  object-fit:cover;
  border-radius:12px;
}



/* Cards (accueil/catégories) : miniatures compactes */
.zd-grid .zd-thumb{height:96px; object-fit:cover; object-position:center;}


.zd-wrap{max-width:1100px;margin:0 auto;padding:16px}
.zd-page-title{margin:6px 0 14px}
.zd-muted{opacity:.7}
.zd-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:14px}
.zd-grid.cols-4{grid-template-columns:repeat(4,1fr)}
@media(max-width:900px){.zd-grid.cols-4{grid-template-columns:repeat(2,1fr)}}
@media(max-width:520px){.zd-grid,.zd-grid.cols-4{grid-template-columns:1fr}}
.zd-card{display:block;border:1px solid rgba(0,0,0,.08);border-radius:16px;overflow:hidden;text-decoration:none;color:inherit;background:#fff}
.zd-thumb{background:rgba(0,0,0,.04);height:96px;display:block;width:100%;object-fit:cover}
.zd-card-body{padding:10px}
.zd-title{font-weight:700;font-size:14px;line-height:1.2}


/* Force visibilité thumbnails */
.zd-thumb{display:block;}


/* Prix visible */
    .zd-price-badge{
      display:inline-block;
      font-weight:800;
      font-size:15px;
      line-height:1;
      padding:6px 10px;
      border-radius:12px;
      background:rgba(0,0,0,.06);
      margin-top:8px;
    }
    .zd-card .zd-price-badge{ font-size:14px; }
    .zd-ad-price{ margin:10px 0 0; }



/* Bandeau pays (mobile) */
.zd-country-strip{ font-size:12px; opacity:.85; }
@media(min-width:768px){ .zd-country-strip{ font-size:13px; } }



/* --- Tarifs Particuliers : cartes plus petites (comme PRO) --- */
.zd-price-grid-small .zd-price-card{
  padding: 6px !important;
  border-radius: 12px;
}
.zd-price-grid-small .zd-price-title{font-size:11px !important;}
.zd-price-grid-small .zd-price-big{font-size:13px !important;margin:2px 0 !important;}
.zd-price-grid-small .zd-muted{font-size:11px !important;line-height:1.2;}


/* --- Aperçu "site vitrine" (iframe pivotant) --- */
.zd-site-preview__toolbar{display:flex;gap:8px;flex-wrap:wrap;align-items:center;justify-content:flex-end}
.zd-site-preview__framewrap{margin-top:10px;border:1px solid rgba(0,0,0,.12);border-radius:12px;overflow:auto;background:#fff;height:520px}
.zd-site-preview__framewrap iframe{width:100%;height:520px;border:0;display:block}
.zd-site-preview__framewrap img{width:100%;height:auto;display:block}

/* Rotation : on pivote l'iframe en paysage/portrait (utile pour sites verticaux) */
[data-zd-site-preview="1"].is-rotated .zd-site-preview__framewrap{height:520px}
[data-zd-site-preview="1"].is-rotated .zd-site-preview__framewrap iframe,
[data-zd-site-preview="1"].is-rotated .zd-site-preview__framewrap img{
  transform:rotate(90deg) translateY(-100%);
  transform-origin: top left;
  width:520px;
  height:100%;
}

@media(max-width:640px){
  .zd-site-preview__framewrap{height:440px}
  .zd-site-preview__framewrap iframe{height:440px}
  [data-zd-site-preview="1"].is-rotated .zd-site-preview__framewrap{height:440px}
  [data-zd-site-preview="1"].is-rotated .zd-site-preview__framewrap iframe,
  [data-zd-site-preview="1"].is-rotated .zd-site-preview__framewrap img{width:440px}
}



/* Ajustement mobile spécifique pour les pages catégories avec vidéo :
   on conserve une hauteur confortable pour le bloc pub vidéo,
   même si le reste du bloc de recherche est compact. */
@media (max-width: 640px){
  body.tax-zd_category .zd-ad-slot{
    height: 180px;
    min-width: 0;
    padding: 8px;
  }
}


/* === V23 : Video category panel stable ===
   Goal:
   - The white panel (background/border) must NEVER change size when the video starts.
   - The whole panel stays portrait (160x260).
   - The video is rotated inside and clipped so it cannot overflow and look "huge".
*/
.zd-ad-slot-wrap{
  width:160px;
  height:260px;
  flex:0 0 auto;
  align-self:flex-start;
  overflow:hidden; /* critical: clip any resize on play */
}
.zd-ad-slot--video{
  width:160px;
  height:260px;
  max-width:160px;
  max-height:260px;
  overflow:hidden; /* double safety */
}
.zd-ad-slot--video .zd-ad-slot__content{
  position:relative;
  width:100%;
  height:100%;
}
.zd-ad-slot--video .zd-ad-slot__media{
  position:absolute;
  inset:0;
  overflow:hidden;
  border-radius:10px;
}
.zd-ad-slot--video .zd-ad-slot__video{
  position:absolute !important;
  top:50% !important;
  left:50% !important;
  width:260px !important;
  height:160px !important;
  min-width:260px !important;
  min-height:160px !important;
  max-width:none !important;
  max-height:none !important;
  transform: translate(-50%,-50%) rotate(90deg) !important;
  transform-origin:center !important;
  /* IMPORTANT: on "recule" l'image (moins zoom) */
  object-fit:contain !important;
  object-position:center !important;
  background:#000 !important;
  display:block !important;
}

/* Ajustement demandé : sur les pages catégories (depuis l’accueil),
   la vidéo est légèrement trop basse dans son "écran".
   On la remonte d’environ 1 cm (cote réelle) sans changer la forme. */
body.tax-zd_category .zd-ad-slot--video .zd-ad-slot__video{
  top: calc(50% - 1cm) !important;
}



/* === Panneau vidéo : labels au-dessus (pas sur l'écran) === */
.zd-ad-slot-topline{
  display:flex;
  justify-content:space-between;
  align-items:center;
  gap:10px;
  margin:0 0 6px;
  font-size:12px;
}
.zd-ad-slot-topline__left{font-weight:700;}
.zd-ad-slot-topline__right{opacity:.85;}

/* (Le zoom est géré plus haut en !important) */


/* Petit rappel d'ouverture du site */
.zd-open-since{
  margin-top:8px;
  padding:8px 12px;
  border-left:0;
  background: linear-gradient(135deg, rgba(123,44,191,0.95), rgba(255,95,162,0.95));
  color:#fff;
  font-weight:800;
  border-radius:10px;
}


/* === Dépôt Choc – Réduction du fond derrière les blocs "Catégories" sur l'accueil === */
/* On agit uniquement sur la home, pour la grille des 6 catégories (Maison, Emploi, etc.) */
.home .zd-grid.cols-6 .zd-card {
  position: relative;
  background: transparent;   /* on enlève le fond plein sur la carte */
  overflow: visible;         /* la vidéo / l'image peuvent dépasser du fond */
}

/* Nouveau fond plus petit derrière le bloc catégorie */
.home .zd-grid.cols-6 .zd-card::before {
  content: "";
  position: absolute;
  left: 0;
  right: 0;
  top: 0;
  bottom: 50%;               /* ≈ la moitié du bloc – peut être ajusté */
  background: var(--zd-card);
  border-radius: 18px;
  z-index: -1;               /* reste derrière le contenu (texte / vidéo) */
}


/* =========================================================
   PayPal (wpecpp) — bouton compact (≈ 3 cm × 1 cm)
   Objectif : éviter que les blocs de paiement débordent.
   ========================================================= */
:root{
  --zd-pay-btn-w: 30mm; /* 3 cm */
  --zd-pay-btn-h: 10mm; /* 1 cm */
}

/* Les shortcodes [wpecpp] rendent généralement un <form> contenant un <input type="image"> ou un <button> */
.zd-price-card form,
[data-zd-paypal-wrap="1"] form{
  max-width: var(--zd-pay-btn-w);
}

/* Image bouton PayPal / carte (si rendu en image) */
.zd-price-card form input[type="image"],
[data-zd-paypal-wrap="1"] form input[type="image"]{
  width: var(--zd-pay-btn-w) !important;
  height: var(--zd-pay-btn-h) !important;
  max-width: var(--zd-pay-btn-w) !important;
  max-height: var(--zd-pay-btn-h) !important;
  object-fit: contain;
  display: inline-block;
}

/* Bouton (si rendu en <button>) */
.zd-price-card form button,
[data-zd-paypal-wrap="1"] form button{
  width: var(--zd-pay-btn-w) !important;
  min-height: var(--zd-pay-btn-h) !important;
  max-width: var(--zd-pay-btn-w) !important;
  max-height: var(--zd-pay-btn-h) !important;
  padding: 0 !important;
  line-height: 1 !important;
  overflow: hidden;
}

/* Iframe PayPal (selon versions du plugin) */
.zd-price-card iframe,
[data-zd-paypal-wrap="1"] iframe{
  width: var(--zd-pay-btn-w) !important;
  height: var(--zd-pay-btn-h) !important;
  max-width: var(--zd-pay-btn-w) !important;
  max-height: var(--zd-pay-btn-h) !important;
  border: 0 !important;
  overflow: hidden !important;
}

/* ==========================================================
   Vidéo d'annonce : taille réduite (≈ 5 cm x 7 cm)
   - largeur ≈ 5 cm  -> 190px
   - hauteur ≈ 7 cm  -> 266px
   + correctifs plein écran (MediaElement)
   ========================================================== */
.zd-ad-video .wp-video,
.zd-ad-video video,
.zd-ad-video .mejs-container,
.zd-ad-video .mejs-overlay,
.zd-ad-video .mejs-mediaelement,
.zd-ad-video .mejs-inner {
  width: 190px !important;
  max-width: 190px !important;
  height: 266px !important;
  max-height: 266px !important;
}
.zd-ad-video video {
  object-fit: cover;
  border-radius: 10px;
}

/* Plein écran : ne pas garder la taille mini */
.mejs-container.mejs-container-fullscreen,
.mejs-container.mejs-container-fullscreen .mejs-inner,
.mejs-container.mejs-container-fullscreen .mejs-mediaelement,
.mejs-container.mejs-container-fullscreen video {
  width: 100% !important;
  height: 100% !important;
  max-width: 100% !important;
  max-height: 100% !important;
}
.mejs-container.mejs-container-fullscreen video {
  object-fit: contain;
  border-radius: 0;
}

/* Fullscreen natif (si le navigateur l'applique directement au <video>) */
.zd-ad-video video:fullscreen,
.zd-ad-video video:-webkit-full-screen,
.zd-ad-video video:-moz-full-screen,
.zd-ad-video video:-ms-fullscreen {
  width: 100vw !important;
  height: 100vh !important;
  max-width: 100vw !important;
  max-height: 100vh !important;
  object-fit: contain !important;
  border-radius: 0 !important;
}


/* --- Icônes décoratives sur les paragraphes (remplace les petits cœurs) --- */
.rg-icon-paragraphs p{
  position: relative;
  padding-left: 34px;
}
.rg-icon-paragraphs p::before{
  content:"";
  position:absolute;
  left:0;
  top:.15em;
  width:22px;
  height:22px;
  background-repeat:no-repeat;
  background-size:contain;
  background-position:center;
  opacity:.95;
  filter: drop-shadow(0 1px 1px rgba(0,0,0,.10));
}
/* Rotation des icônes : verres / mains / étoiles / cadeau+cadenas / messages */
.rg-icon-paragraphs p:nth-of-type(5n+1)::before{ background-image:url("assets/vitrine/icons/icon_glasses.png"); }
.rg-icon-paragraphs p:nth-of-type(5n+2)::before{ background-image:url("assets/vitrine/icons/icon_hands.png"); }
.rg-icon-paragraphs p:nth-of-type(5n+3)::before{ background-image:url("assets/vitrine/icons/icon_stars.png"); }
.rg-icon-paragraphs p:nth-of-type(5n+4)::before{ background-image:url("assets/vitrine/icons/icon_giftlock.png"); }
.rg-icon-paragraphs p:nth-of-type(5n+5)::before{ background-image:url("assets/vitrine/icons/icon_messages.png"); }

/* Sur petits écrans : on réduit un peu */
@media (max-width: 520px){
  .rg-icon-paragraphs p{ padding-left: 30px; }
  .rg-icon-paragraphs p::before{ width:20px; height:20px; }
}



/* Google Translate — bouton langue compact */
.rg-langbar{position:fixed;right:12px;bottom:12px;z-index:999999}
.rg-langbar__toggle{width:38px;height:38px;border-radius:50%;border:1px solid rgba(255,255,255,.28);background:rgba(36,24,29,.88);backdrop-filter:blur(8px);box-shadow:0 8px 24px rgba(0,0,0,.18);color:#fff;display:flex;align-items:center;justify-content:center;gap:1px;cursor:pointer;font-weight:850;font-size:15px;padding:0}
.rg-langbar__toggle i{font-style:normal;font-size:10px;transform:translateY(-1px);opacity:.8}
.rg-langbar__menu{position:absolute;right:0;bottom:47px;display:flex;gap:6px;padding:7px;border-radius:12px;background:rgba(36,24,29,.94);backdrop-filter:blur(8px);border:1px solid rgba(255,255,255,.18);box-shadow:0 10px 30px rgba(0,0,0,.22)}
.rg-langbar__menu[hidden]{display:none!important}.rg-langbar__menu a{min-width:35px;padding:7px 8px;border-radius:8px;text-align:center;text-decoration:none;color:#fff;background:rgba(255,255,255,.06);font-size:12px;font-weight:750}.rg-langbar__menu a:hover,.rg-langbar__menu a.is-active{background:#fff;color:#6f2641}
.notranslate{unicode-bidi:plaintext}.goog-te-banner-frame.skiptranslate{display:none!important}#goog-gt-tt,.goog-te-balloon-frame{display:none!important}body{top:0!important}

/* =========================================================
   SensuLibre Next — enveloppe visuelle moderne
   Les classes sont préfixées slm- pour éviter les régressions.
   ========================================================= */
body{background:#f8f5f2;color:#1e1b1b}.zd-container{width:min(1180px,92vw)}
body::before{display:none!important}.slm-theme-main{min-height:60vh}.slm-site-header{position:sticky;top:0;z-index:100;background:rgba(248,245,242,.91);backdrop-filter:blur(16px);border-bottom:1px solid rgba(123,41,67,.09)}.slm-site-header__inner{width:min(1240px,94vw);min-height:76px;margin:auto;display:flex;align-items:center;justify-content:space-between;gap:24px}.slm-brand{display:grid;grid-template-columns:auto auto;align-items:baseline;column-gap:0;font-family:Georgia,serif;font-size:28px;color:#271e20;text-decoration:none;line-height:1}.slm-brand b{color:#7b2943;font-weight:500}.slm-brand small{grid-column:1/3;font:700 9px/1.1 system-ui;text-transform:uppercase;letter-spacing:.16em;color:#8d7f7d;margin-top:4px}.slm-main-nav{display:flex;align-items:center;gap:22px}.slm-main-nav a{font:700 14px/1 system-ui;color:#44393b;text-decoration:none}.slm-main-nav a:hover{color:#7b2943}.slm-nav-pill{padding:11px 16px;border-radius:999px;background:#7b2943;color:#fff!important}.slm-menu-toggle{display:none;border:1px solid #dfd2ce;background:#fff;border-radius:999px;padding:9px 13px;font-weight:800}.slm-site-footer{margin-top:80px;background:#21191b;color:#efe7e8;padding:54px 0 20px}.slm-site-footer__inner{width:min(1180px,92vw);margin:auto;display:grid;grid-template-columns:1.3fr 1fr 1fr;gap:40px}.slm-footer-brand{display:grid;gap:10px}.slm-footer-brand strong{font-family:Georgia,serif;font-size:34px;font-weight:500}.slm-footer-brand span,.slm-footer-safety span{color:#bfb3b5;line-height:1.5}.slm-footer-links{display:grid;align-content:start;gap:12px}.slm-footer-links a{color:#efe7e8;text-decoration:none}.slm-footer-safety{display:grid;align-content:start;gap:10px}.slm-footer-safety b{color:#dcb5c2}.slm-site-footer__bottom{width:min(1180px,92vw);margin:40px auto 0;border-top:1px solid rgba(255,255,255,.1);padding-top:18px;color:#9f9294;font-size:12px}.slm-fallback-home{width:min(1180px,92vw);margin:70px auto;padding:70px;border-radius:36px;background:#efe3e4}.slm-fallback-home h1{font:500 74px/1 Georgia,serif;margin:12px 0}.slm-fallback-home a{display:inline-block;margin-top:18px;background:#7b2943;color:#fff;padding:12px 18px;border-radius:999px}
@media(max-width:850px){.slm-menu-toggle{display:block}.slm-main-nav{display:none;position:absolute;left:3vw;right:3vw;top:70px;background:#fff;border:1px solid #e7dbd7;border-radius:22px;padding:18px;box-shadow:0 20px 50px rgba(34,20,23,.13);flex-direction:column;align-items:stretch}.slm-main-nav.is-open{display:flex}.slm-main-nav a{padding:9px}.slm-site-footer__inner{grid-template-columns:1fr}.slm-fallback-home{padding:36px 22px}.slm-fallback-home h1{font-size:52px}}

/* === SensuLibre v86 — navigation professionnelle === */
.slm-site-header--pro{position:sticky;top:0;z-index:9995;background:rgba(255,255,255,.97);backdrop-filter:blur(14px);border-bottom:1px solid #eee6e3;box-shadow:0 5px 22px rgba(48,28,35,.04)}
.slm-site-header--pro .slm-site-header__inner{max-width:1420px;margin:0 auto;min-height:76px;padding:0 26px;display:flex;align-items:center;gap:28px}
.slm-brand--pro{position:relative;display:flex;align-items:baseline;text-decoration:none;color:#30262a;font-size:28px;letter-spacing:-.055em;line-height:1;min-width:150px}.slm-brand--pro span{font-weight:300}.slm-brand--pro b{color:#742746;font-weight:850}.slm-brand--pro small{position:absolute;left:0;top:31px;font-size:8px;text-transform:uppercase;letter-spacing:.15em;color:#8e7c82;font-weight:750;white-space:nowrap}
.slm-main-nav--pro{margin-left:auto;display:flex;align-items:center;gap:24px}.slm-main-nav--pro>a{color:#2e2629;text-decoration:none;font-size:14px;font-weight:700;white-space:nowrap;transition:.18s}.slm-main-nav--pro>a:hover{color:#742746}.slm-main-nav--pro .slm-nav-login{border:1px solid #bca4ad;border-radius:999px;padding:10px 16px}.slm-main-nav--pro .slm-nav-pill{border-radius:999px;padding:11px 18px;background:#742746;color:#fff}.slm-main-nav--pro .slm-nav-pill:hover{color:#fff;background:#5f1f3a}.slm-main-nav--pro .slm-nav-icon{display:inline-flex;align-items:center;gap:5px}.slm-nav-profile{display:inline-flex!important;align-items:center;gap:8px;padding:5px 11px 5px 5px;border:1px solid #e0d2cd;border-radius:999px;background:#fff}.slm-nav-profile i{width:31px;height:31px;border-radius:50%;display:grid;place-items:center;background:#f0e1e6;color:#742746;font:500 16px/1 Georgia,serif;font-style:normal}.slm-nav-logout{font-size:18px!important;color:#8b777f!important}.slm-menu-toggle{display:none;border:0;background:transparent;padding:6px;cursor:pointer}.slm-menu-toggle span{display:block;width:24px;height:2px;background:#34282d;margin:4px 0;border-radius:3px}.slm-menu-toggle em{position:absolute;left:-9999px}
@media(max-width:1160px){.slm-main-nav--pro{gap:15px}.slm-main-nav--pro>a{font-size:12px}.slm-main-nav--pro>a:nth-child(2),.slm-main-nav--pro>a:nth-child(4){display:none}}
@media(max-width:820px){.slm-site-header--pro .slm-site-header__inner{min-height:66px;padding:0 14px}.slm-brand--pro{font-size:25px}.slm-brand--pro small{top:28px}.slm-menu-toggle{display:block;margin-left:auto}.slm-main-nav--pro{display:none;position:absolute;left:10px;right:10px;top:68px;background:#fff;border:1px solid #e6d8d3;border-radius:20px;box-shadow:0 20px 60px rgba(50,24,35,.18);padding:14px;flex-direction:column;align-items:stretch;gap:4px}.slm-main-nav--pro.is-open{display:flex}.slm-main-nav--pro>a,.slm-main-nav--pro>a:nth-child(2),.slm-main-nav--pro>a:nth-child(4){display:flex;padding:11px 12px;font-size:14px}.slm-main-nav--pro .slm-nav-login,.slm-main-nav--pro .slm-nav-pill{justify-content:center;margin-top:4px}.slm-nav-profile{justify-content:flex-start}.slm-nav-logout{justify-content:center!important}}

/* SensuLibre v89 — hôte large de la page Découvrir */
.slm-discovery-container{width:min(1420px,94vw);margin:0 auto;}

/* === SensuLibre thème v92 — mobile = version miniature du PC === */
@media (max-width:720px){
  .slm-site-header__inner{min-height:58px!important;padding:0 9px!important;gap:8px!important}
  .slm-wordmark{font-size:22px!important;white-space:nowrap!important}
  .slm-main-nav{gap:5px!important;overflow-x:auto!important;scrollbar-width:none!important;padding-bottom:1px!important}
  .slm-main-nav::-webkit-scrollbar{display:none!important}
  .slm-main-nav>a{flex:0 0 auto!important;font-size:9px!important;padding:7px 7px!important;border-radius:10px!important}
  .slm-home-link{display:inline-flex!important}
  .slm-account-chip{max-width:82px!important;padding:3px 5px 3px 3px!important}.slm-account-chip i{width:24px!important;height:24px!important;font-size:11px!important}.slm-account-chip span{font-size:9px!important;overflow:hidden;text-overflow:ellipsis!important}
  .slm-nav-unread{min-width:15px!important;height:15px!important;font-size:8px!important}
}

/* =========================================================
   SensuLibre v94 — vraie navigation mobile compacte
   - Déconnecté : Accueil / Profils / Appli / Connexion / Inscription
   - Connecté   : Accueil / Profils / Appli / Messages / Visio / Profil
   Le desktop reste inchangé.
   ========================================================= */
.slm-mobile-nav{display:none}

@media (max-width:720px){
  .slm-site-header{
    position:sticky!important;
    top:0!important;
    z-index:99990!important;
    background:rgba(250,247,244,.98)!important;
    border-bottom:1px solid #eadfda!important;
    box-shadow:0 5px 18px rgba(51,29,36,.07)!important;
    backdrop-filter:blur(14px)!important;
  }
  .slm-site-header__inner{
    width:100%!important;
    min-height:0!important;
    padding:0!important;
    margin:0!important;
    display:block!important;
  }
  .slm-wordmark{
    display:block!important;
    width:max-content!important;
    padding:13px 18px 10px!important;
    margin:0!important;
    color:#2d2527!important;
    text-decoration:none!important;
    font-family:Georgia,"Times New Roman",serif!important;
    font-size:25px!important;
    line-height:1!important;
    letter-spacing:-.04em!important;
  }
  .slm-wordmark span{font-weight:400!important}
  .slm-wordmark b{color:#762746!important;font-weight:800!important}

  /* Le menu desktop ne doit plus masquer/écraser le menu téléphone. */
  .slm-main-nav--desktop{display:none!important}

  .slm-mobile-nav{
    display:grid!important;
    width:100%!important;
    grid-template-columns:repeat(6,minmax(0,1fr));
    align-items:stretch!important;
    gap:0!important;
    margin:0!important;
    padding:0 4px 5px!important;
    border-top:1px solid rgba(116,39,70,.07)!important;
    background:rgba(255,255,255,.93)!important;
    overflow:visible!important;
  }
  body:not(.logged-in) .slm-mobile-nav{
    grid-template-columns:repeat(5,minmax(0,1fr));
  }
  .slm-mobile-nav>a{
    position:relative!important;
    min-width:0!important;
    min-height:51px!important;
    padding:6px 2px 5px!important;
    display:flex!important;
    flex-direction:column!important;
    align-items:center!important;
    justify-content:center!important;
    gap:3px!important;
    border:0!important;
    border-radius:10px!important;
    color:#44383b!important;
    background:transparent!important;
    text-decoration:none!important;
    font:700 9.5px/1.05 system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif!important;
    white-space:nowrap!important;
    overflow:hidden!important;
    text-overflow:ellipsis!important;
  }
  .slm-mobile-nav>a:active,
  .slm-mobile-nav>a:focus-visible{
    background:#f4e9ed!important;
    color:#762746!important;
    outline:none!important;
  }
  .slm-mobile-nav__icon{
    width:25px!important;
    height:22px!important;
    display:grid!important;
    place-items:center!important;
    color:#762746!important;
    font:800 20px/1 Georgia,"Times New Roman",serif!important;
  }
  .slm-mobile-nav__join{
    color:#fff!important;
    background:#762746!important;
    margin:4px 2px!important;
    min-height:43px!important;
  }
  .slm-mobile-nav__join .slm-mobile-nav__icon{color:#fff!important}
  .slm-mobile-unread{
    position:absolute!important;
    top:3px!important;
    right:7px!important;
    min-width:16px!important;
    height:16px!important;
    padding:0 4px!important;
    border-radius:999px!important;
    background:#b72f56!important;
    color:#fff!important;
    display:grid!important;
    place-items:center!important;
    font:800 8px/1 system-ui!important;
    box-shadow:0 0 0 2px #fff!important;
  }
  .slm-mobile-unread[hidden]{display:none!important}

  /* Garde de l'air sous le header dans la PWA et sur iPhone à encoche. */
  @supports (padding-top:env(safe-area-inset-top)){
    .slm-site-header{padding-top:env(safe-area-inset-top)!important}
  }
}

@media (max-width:390px){
  .slm-wordmark{font-size:23px!important;padding-left:14px!important}
  .slm-mobile-nav>a{font-size:8.5px!important;padding-left:1px!important;padding-right:1px!important}
  .slm-mobile-nav__icon{font-size:18px!important}
}

/* =========================================================
   SensuLibre v95 — menu mobile UNIQUEMENT sur téléphone
   Correction du double menu aperçu sur les pages Profils.
   ========================================================= */
@media (min-width:721px){
  .slm-mobile-nav,
  .slm-mobile-nav[hidden]{
    display:none!important;
    visibility:hidden!important;
    position:absolute!important;
    width:0!important;
    height:0!important;
    min-height:0!important;
    padding:0!important;
    margin:0!important;
    overflow:hidden!important;
    pointer-events:none!important;
  }
  .slm-main-nav--desktop{display:flex!important;visibility:visible!important}
}

@media (max-width:720px){
  .slm-main-nav--desktop{display:none!important;visibility:hidden!important}
  .slm-mobile-nav[hidden]{
    display:grid!important;
    visibility:visible!important;
    position:static!important;
    width:100%!important;
    height:auto!important;
    pointer-events:auto!important;
  }
  .slm-wordmark{font-size:27px!important;padding:15px 18px 12px!important}
  .slm-mobile-nav{padding:2px 5px 7px!important}
  .slm-mobile-nav>a{
    min-height:58px!important;
    padding:7px 2px 6px!important;
    font-size:10.5px!important;
    gap:4px!important;
  }
  .slm-mobile-nav__icon{width:28px!important;height:25px!important;font-size:22px!important}
  .slm-mobile-nav__join{min-height:50px!important;margin:4px 2px!important}
}

@media (max-width:390px){
  .slm-wordmark{font-size:25px!important}
  .slm-mobile-nav>a{font-size:9.5px!important;min-height:56px!important}
  .slm-mobile-nav__icon{font-size:21px!important}
}
