/* =========================================================================
   VooX — Design system V1
   Marque endossée SmartX : mêmes typographies et mêmes neutres que smartx1.fr,
   le rose du système X comme couleur d'identité de la brique média.
   Titres Oxanium, textes Inter, noir #000 / carbone #161B22 / cyan #00D1FF.
   ========================================================================= */

:root{
  /* Charte SmartX 2026 */
  --sx-black:#000000;
  --sx-carbon:#161B22;
  --sx-cyan:#00D1FF;
  --sx-white:#F8FAFC;
  --sx-grey:#94A3B8;

  /* Système X : le rose est la teinte de la brique média */
  --voox-rose:#FF2D9B;
  --voox-rose-soft:#FF7ABC;
  --voox-brand:#F2A8CB;
  --voox-brand-ink:#B8286E;
  --voox-cyan:var(--sx-cyan);
  --voox-anthracite:var(--sx-carbon);

  /* Dégradés & neutres de l'interface */
  --voox-dark-gradient:linear-gradient(90deg,#000 0%,#161B22 100%);
  --voox-btn-gradient:linear-gradient(180deg,#0B0F14 0%,#20262F 100%);
  --voox-grey:#46536A;
  --voox-text:#46536A;
  --voox-title:#0B0F14;
  --voox-line:rgba(11,15,20,.12);
  --voox-line-dark:rgba(248,250,252,.13);
  --voox-bg:#fff;
  --voox-soft:#F2F5F9;

  --voox-radius-card:18px;
  --voox-radius-pill:999px;
  --voox-header-h:60px;
  --voox-groupbar-h:34px;

  --voox-font-title:"Oxanium",system-ui,-apple-system,"Segoe UI",sans-serif;
  --voox-font-text:"Inter",system-ui,-apple-system,"Segoe UI",Roboto,sans-serif;
  --voox-font:var(--voox-font-text);
}

*,*::before,*::after{box-sizing:border-box}
html{-webkit-text-size-adjust:100%}
body{
  margin:0;padding:0;background:var(--voox-bg);
  font-family:var(--voox-font-text);font-size:15px;line-height:1.6;color:var(--voox-text);
  -webkit-font-smoothing:antialiased;
  display:flex;flex-direction:column;min-height:100vh;
}
img{max-width:100%;height:auto;display:block}
a{color:#000;text-decoration:none}
h1,h2,h3,h4{font-family:var(--voox-font-title);color:var(--voox-title);margin:0;letter-spacing:-.015em}
button{font-family:var(--voox-font)}
.voox-container{width:100%;max-width:1300px;margin:0 auto;padding:0 20px}
.voox-narrow{max-width:900px}
.sr-only{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}

/* =========================== HEADER ====================================== */
.voox-groupbar{
  position:fixed;top:0;left:0;right:0;z-index:10000;height:var(--voox-groupbar-h);
  background:#000;color:rgba(248,250,252,.62);
  border-bottom:1px solid rgba(248,250,252,.12);
  font-family:var(--voox-font-title);font-size:12px;
}
.voox-groupbar-inner{
  display:flex;align-items:center;justify-content:flex-start;
  height:100%;padding:0 80px;
}
.voox-groupbar-home{display:inline-flex;align-items:center;gap:9px;color:rgba(248,250,252,.62);white-space:nowrap}
.voox-groupbar-mark{color:#fff;font-weight:700;letter-spacing:.06em}
.voox-groupbar-sep{color:rgba(248,250,252,.3)}
.voox-groupbar-current{font-weight:500;letter-spacing:.02em}
.voox-groupbar-home:hover,.voox-groupbar-home:hover .voox-groupbar-mark{color:#fff}

.voox-header{
  position:fixed;top:var(--voox-groupbar-h);left:0;right:0;z-index:9999;
  height:var(--voox-header-h);background:#000;border-bottom:1px solid rgba(248,250,252,.12);
  /* Le blanc est la couleur par défaut du menu : rien n'hérite du gris bleuté du corps. */
  color:#fff;
  display:flex;align-items:center;padding:0 80px;
}
.voox-header-inner{display:flex;align-items:center;width:100%;gap:20px}
.voox-logo img{width:107px;height:32px;object-fit:contain}
.voox-nav{flex:1;display:flex;justify-content:center}
.voox-nav ul{display:flex;align-items:center;gap:34px;list-style:none;margin:0;padding:0}
.voox-nav a{
  font-family:var(--voox-font-title);color:#fff;font-size:15px;font-weight:500;letter-spacing:.02em;opacity:.85;
  transition:opacity .2s,color .2s;white-space:nowrap;
}
.voox-nav a:hover,.voox-nav li.is-active a{opacity:1;color:#fff}
.voox-nav li.is-active a{font-weight:600}
.voox-header-actions{display:flex;align-items:center;gap:22px}
.voox-header-actions .voox-link{color:#fff;font-size:14px;font-weight:500;opacity:.9}
.voox-header-actions .voox-link:hover{opacity:1;text-decoration:underline}

/* Interrupteur Mode Business */
.switch-container{display:flex;align-items:center;gap:8px;justify-content:center}
.switch-container .label{font-weight:600;font-size:10px;text-align:center;color:#fff;font-family:var(--voox-font-title);letter-spacing:.04em}
.switch-container .label svg{display:block}
.switch{position:relative;display:inline-block;width:34px;height:19px}
.switch input{opacity:0;width:0;height:0}
.slider{position:absolute;cursor:pointer;background-color:#fff;border-radius:23px;top:0;left:0;right:0;bottom:0;transition:.4s}
.slider:before{position:absolute;content:"";height:15px;width:15px;left:3px;bottom:2px;background-color:#3F3F3F;border-radius:50%;transition:.4s}
.switch input:checked + .slider{background-color:#000}
.switch input:checked + .slider:before{transform:translateX(16px);background-color:#fff}

/* Burger mobile */
.voox-burger{display:none;background:none;border:0;color:#fff;font-size:22px;line-height:1;cursor:pointer;padding:4px 6px}
.voox-mobile-nav{
  position:fixed;inset:calc(var(--voox-header-h) + var(--voox-groupbar-h)) 0 auto 0;background:#111;z-index:9998;
  transform:translateY(-120%);transition:transform .35s cubic-bezier(.4,0,.2,1);padding:10px 20px 24px;
}
.voox-mobile-nav.open{transform:translateY(0)}
.voox-mobile-nav ul{list-style:none;margin:0;padding:0}
.voox-mobile-nav a{display:block;color:#fff;padding:14px 4px;border-bottom:1px solid rgba(255,255,255,.08);font-size:16px}

.voox-main{padding-top:calc(var(--voox-header-h) + var(--voox-groupbar-h));flex:1 0 auto}

/* =========================== HERO / IA =================================== */
.voox-hero{
  display:flex;flex-direction:column;align-items:center;gap:20px;
  max-width:1046px;margin:0 auto;padding:0 20px 10px;
}
.voox-search{width:100%;max-width:722px;margin-top:40px;display:flex;align-items:flex-start}
.voox-search-wrap{position:relative;display:flex;align-items:center;width:100%;max-width:100%;height:60px}
.voox-search input[type=text]{
  flex:1 1 auto;min-width:0;width:100%;height:60px;border:5px solid #f2f2f2;border-radius:40px;background:#fff;
  padding:0 20px 0 22px;font-family:var(--voox-font);font-size:15px;font-weight:300;color:#434872;
  box-shadow:0 4px 8px 0 rgba(165,174,213,.15);outline:none;letter-spacing:-.17px;
}
.voox-search input[type=text]::placeholder{color:#9aa0b5}
.voox-search-btn{
  flex:0 0 auto;width:40px;height:60px;margin-left:-10px;border:0;cursor:pointer;
  background:url("../img/2026/01/Untitled-design.png") center/44px no-repeat;
  background-color:transparent;border-radius:0 10px 10px 0;
}

/* Orbe vocal — repris à l'identique du site d'origine */
.vs-wrap{display:flex;flex-direction:column;align-items:center;gap:20px;padding:1.5rem 1rem}
.vs-orb-container{position:relative;width:280px;height:280px;display:flex;align-items:center;justify-content:center;cursor:pointer}
.vs-ring{position:absolute;border-radius:50%}
.vs-ring-1{width:280px;height:280px;background:conic-gradient(#c9b4f7,#f7b4d8,#b4d8f7,#c9b4f7);opacity:.5}
.vs-ring-2{width:245px;height:245px;background:conic-gradient(#d8b4f7,#f7c4e4,#b4c4f7,#d8b4f7);opacity:.75}
.vs-core{position:relative;width:195px;height:195px;background:#111;border-radius:50%;display:flex;align-items:center;justify-content:center;z-index:1;overflow:hidden;transition:box-shadow .3s}
.vs-core img{width:251px;height:251px;object-fit:cover;max-width:none}
.vs-subtitle{font-size:18px;font-weight:600;color:#111;text-align:center;margin:0}
.vs-status{font-size:14px;color:#888;text-align:center;margin:0;min-height:20px;transition:color .3s;max-width:320px;word-wrap:break-word}
.vs-waves{position:absolute;width:280px;height:280px;border-radius:50%;display:none;z-index:0}
.vs-wave{position:absolute;border-radius:50%;border:2px solid rgba(180,140,240,.6);animation:wave-out 1.5s ease-out infinite;top:50%;left:50%;transform:translate(-50%,-50%)}
.vs-wave:nth-child(1){width:200px;height:200px;animation-delay:0s}
.vs-wave:nth-child(2){width:240px;height:240px;animation-delay:.4s}
.vs-wave:nth-child(3){width:280px;height:280px;animation-delay:.8s}
@keyframes wave-out{0%{opacity:.8;transform:translate(-50%,-50%) scale(.85)}100%{opacity:0;transform:translate(-50%,-50%) scale(1.15)}}
.vs-equalizer{position:absolute;bottom:38px;display:none;align-items:flex-end;gap:4px;z-index:2}
.vs-bar{width:5px;border-radius:3px;background:rgba(255,255,255,.85);animation:eq .6s ease-in-out infinite alternate}
.vs-bar:nth-child(1){height:8px;animation-duration:.5s}
.vs-bar:nth-child(2){height:18px;animation-duration:.7s}
.vs-bar:nth-child(3){height:26px;animation-duration:.4s}
.vs-bar:nth-child(4){height:18px;animation-duration:.6s}
.vs-bar:nth-child(5){height:8px;animation-duration:.5s}
@keyframes eq{from{transform:scaleY(.4)}to{transform:scaleY(1.4)}}
.vs-listening .vs-ring-1{animation:spin 3s linear infinite;opacity:.9}
.vs-listening .vs-ring-2{animation:spin 2s linear infinite reverse;opacity:1}
.vs-listening .vs-core{box-shadow:0 0 0 6px rgba(180,140,240,.6)}
.vs-listening .vs-waves{display:block}
.vs-listening .vs-equalizer{display:flex}
@keyframes spin{to{transform:rotate(360deg)}}
.vs-no-result{display:none;background:#fff3f3;border:1px solid #f5c6c6;border-radius:12px;padding:14px 20px;text-align:center;max-width:300px}
.vs-no-result p{margin:0 0 10px;font-size:14px;color:#c0392b}
.vs-no-result span{font-weight:600}
.vs-no-result button{background:#111;color:#fff;border:none;border-radius:999px;padding:8px 20px;font-size:13px;cursor:pointer}
.vs-no-result button:hover{background:#333}
.vs-keywords{font-size:12px;color:#a855f7;font-style:italic;margin-top:4px;text-align:center}

/* ====================== BASCULE AI / STANDARD ============================ */
.voox-modes-section{display:flex;flex-direction:column;align-items:center;gap:20px;padding:26px 20px 0}
.voox-modes-title{font-family:var(--voox-font-title);font-size:24px;font-weight:600;line-height:1.15;color:var(--voox-title);text-align:center}
.voox-modes{
  display:grid;grid-template-columns:1fr 1fr;align-items:center;
  width:464px;max-width:100%;height:50px;border-radius:var(--voox-radius-pill);
  background:var(--voox-dark-gradient);box-shadow:0 4px 4px rgba(0,0,0,.1);
}
.voox-mode-btn{
  display:inline-flex;align-items:center;justify-content:center;gap:8px;height:36px;margin:0 7px;
  border:0;cursor:pointer;color:#fff;font-size:16px;font-weight:500;letter-spacing:-.3px;border-radius:9999px;background:transparent;
}
.voox-mode-btn.is-active{background:var(--voox-btn-gradient);box-shadow:0 4px 25px rgba(0,0,0,.25)}
.voox-mode-btn svg{width:16px;height:16px}


/* ==================== MODES AI / STANDARD (accueil) ===================== */
.voox-suggestions{display:none;flex-wrap:wrap;gap:10px;align-items:center;justify-content:center;max-width:640px;font-size:13px;color:var(--voox-text)}
.voox-suggestions .voox-chip{padding:7px 16px;font-size:12.5px}
body.voox-standard-mode .voox-suggestions{display:flex}
body.voox-standard-mode .vs-orb-container{display:none}
body.voox-standard-mode .vs-subtitle{margin-top:6px}
.voox-google-note{font-size:12.5px;line-height:18px;color:#8a5a00;background:#fdf1dd;border-radius:10px;padding:10px 12px;margin:10px 0 0}

/* =========================== TITRES DE SECTION =========================== */
.voox-section-title{font-family:var(--voox-font-title);font-size:32px;line-height:1.1;font-weight:600;color:var(--voox-title);text-align:center;letter-spacing:-.015em}
.voox-section-subtitle{font-family:var(--voox-font-title);font-size:32px;line-height:1.12;font-weight:600;color:var(--voox-title);text-align:center;margin:0;letter-spacing:-.015em}
.voox-section{padding:40px 0}

/* ====================== CARROUSEL MEMBRES (XPro) ========================= */
.xp-carousel{overflow-x:auto;overflow-y:hidden;width:100%;padding:20px 0;position:relative;min-height:320px;cursor:grab;scrollbar-width:none;-ms-overflow-style:none;-webkit-overflow-scrolling:touch;touch-action:pan-x}
.xp-carousel::-webkit-scrollbar{display:none}
.xp-carousel.dragging{cursor:grabbing}
.xp-track{display:flex;gap:20px;width:max-content;padding:10px 20px;will-change:transform}
.xp-track.ready{animation:xp-scroll 30s linear infinite}
.xp-track.ready:hover,.xp-track.ready.paused{animation-play-state:paused}
.xp-card{flex:0 0 auto;width:200px;height:280px;position:relative;border-radius:24px;overflow:hidden;text-decoration:none;box-shadow:0 6px 20px rgba(0,0,0,.12);transition:transform .3s,box-shadow .3s;background:#e5e7eb;user-select:none}
.xp-card:hover{transform:translateY(-6px);box-shadow:0 12px 30px rgba(0,0,0,.18)}
.xp-avatar-wrap{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;background:#e5e7eb}
.xp-avatar-wrap::before{content:'';position:absolute;inset:0;background:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='%239ca3af'%3E%3Cpath d='M12 12c2.21 0 4-1.79 4-4s-1.79-4-4-4-4 1.79-4 4 1.79 4 4 4zm0 2c-2.67 0-8 1.34-8 4v2h16v-2c0-2.66-5.33-4-8-4z'/%3E%3C/svg%3E") center/100px no-repeat;opacity:.5}
.xp-avatar-wrap img{position:relative;width:100%;height:100%;object-fit:cover;opacity:0;transition:opacity .3s;z-index:1}
.xp-avatar-wrap img.loaded{opacity:1}
/* Avatar de petite définition : portrait centré et net, plutôt qu'une image étirée */
.xp-avatar-wrap.xp-avatar-small{background:linear-gradient(160deg,#f2f2f4,#e3e3e8)}
.xp-avatar-wrap.xp-avatar-small img{width:96px;height:96px;border-radius:50%;object-fit:cover;box-shadow:0 6px 18px rgba(0,0,0,.18)}
.xp-avatar-wrap.xp-avatar-small::before{opacity:0}
.xp-name{position:absolute;bottom:55px;left:15px;right:15px;color:#fff;font-weight:700;font-size:15px;text-shadow:0 2px 4px rgba(0,0,0,.6);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;z-index:2;opacity:0;transition:opacity .3s}
.xp-card:hover .xp-name{opacity:1}
.xp-card::after{content:'';position:absolute;bottom:0;left:0;right:0;height:100px;background:linear-gradient(to top,rgba(0,0,0,.7),transparent);opacity:0;transition:opacity .3s;pointer-events:none}
.xp-card:hover::after{opacity:1}
.xp-badge{position:absolute;bottom:15px;left:15px;padding:6px 14px;background:rgba(30,30,30,.85);backdrop-filter:blur(10px);color:#fff;border-radius:20px;font-size:12px;font-weight:600;z-index:3}
.xp-skeleton{flex:0 0 auto;width:200px;height:280px;border-radius:24px;background:linear-gradient(90deg,#e5e7eb 0%,#f3f4f6 50%,#e5e7eb 100%);background-size:200% 100%;animation:xp-shimmer 1.2s linear infinite}
@keyframes xp-shimmer{from{background-position:200% 0}to{background-position:-200% 0}}
@keyframes xp-scroll{from{transform:translateX(0)}to{transform:translateX(-50%)}}

/* ================= FIL COMMUNAUTÉ (galerie filtrable) ==================== */
.voox-feed{padding:26px 0 60px}
.voox-feed-inner{max-width:880px;margin:0 auto;padding:0 20px}
.voox-filters{display:flex;flex-wrap:wrap;justify-content:center;list-style:none;margin:0 0 20px;padding:0}
.voox-filters li{
  display:inline-block;margin:7px 5px 0;padding:6px 60px;border-radius:999px;cursor:pointer;
  background:var(--voox-carbon,#161B22);color:#fff;font-family:var(--voox-font-title);font-size:14px;font-weight:500;letter-spacing:.08em;line-height:25.2px;text-align:center;
  transition:background .25s,transform .2s;
}
.voox-filters li:hover{transform:translateY(-1px)}
.voox-filters li.is-active{background:var(--voox-rose)}
.voox-masonry{columns:3;column-gap:20px}
.voox-masonry .voox-tile{break-inside:avoid;margin:0 0 20px;position:relative;border-radius:var(--voox-radius-card);overflow:hidden;display:block}
.voox-masonry .voox-tile img{width:100%;border-radius:var(--voox-radius-card);display:block}
.voox-tile .caption{
  position:absolute;inset:0;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:14px;
  padding:15px;background:rgba(0,0,0,.7);border-radius:var(--voox-radius-card);
  opacity:0;transform:translateY(20px);transition:opacity .35s,transform .35s;
}
.voox-tile:hover .caption{opacity:1;transform:translateY(0)}
.voox-tile .caption .title{font-size:22px;line-height:30px;font-weight:600;color:#fff;text-align:center;margin:0}
.voox-tile .caption .buttons{display:flex;gap:12px}
.voox-tile .caption .buttons span{
  width:38px;height:38px;border-radius:50%;background:#fff;color:#111;
  display:inline-flex;align-items:center;justify-content:center;font-size:15px;
}
.voox-feed-more{display:flex;justify-content:center;margin-top:10px}

/* ============================== BOUTONS ================================== */
/* Boutons : mêmes proportions et même comportement que sur la vitrine.
   Plein noir sur fond clair, blanc sur fond sombre, pas de dégradé ni d'ombre. */
.voox-btn{
  display:inline-flex;align-items:center;justify-content:center;gap:8px;
  padding:12px 22px;border:1px solid transparent;border-radius:var(--voox-radius-pill);cursor:pointer;
  background:var(--voox-title);color:#fff;font-family:var(--voox-font-title);font-size:15px;font-weight:600;
  white-space:nowrap;transition:.28s cubic-bezier(.2,.7,.2,1);
}
.voox-btn:hover{transform:translateY(-2px);background:var(--sx-carbon);color:#fff}
.voox-listing-hero .voox-btn,.voox-b-cta .voox-btn,.voox-dark .voox-btn{background:#fff;color:var(--voox-title)}
.voox-listing-hero .voox-btn:hover,.voox-b-cta .voox-btn:hover,.voox-dark .voox-btn:hover{background:#E2E8F0;color:var(--voox-title)}
.voox-btn-light{background:transparent;color:var(--voox-title);border-color:var(--voox-line)}
.voox-btn-light:hover{color:var(--voox-title);background:transparent;border-color:var(--voox-title)}
/* Bouton de vitrine : mini-site interne ou site du client. */
.voox-btn-site{background:#fff;color:var(--voox-title);border:1.5px solid var(--voox-title);box-shadow:none}
.voox-btn-site:hover{background:var(--voox-title);color:#fff}
.voox-btn-site svg{flex:0 0 auto}
.voox-ext{font-size:12px;opacity:.7}


/* ============================== FOOTER ===================================
   Repris tel quel du site vitrine : mêmes classes, mêmes valeurs.
   Les survols restent en blanc, pour tenir le noir et blanc demandé.
   ========================================================================= */
.site-foot{
  position:relative;overflow:hidden;background:#000;color:var(--sx-white);
  padding-top:clamp(60px,7vw,96px);margin-top:auto;flex-shrink:0;
}
/* Même largeur de gabarit que la vitrine (--shell), pour que les deux pieds
   de page s'alignent au pixel sur grand écran. */
.site-foot > .voox-container{position:relative;z-index:2;max-width:1520px}
.foot-top{
  display:grid;grid-template-columns:minmax(0,1fr) minmax(0,2fr);
  gap:clamp(30px,5vw,64px);padding-bottom:clamp(46px,6vw,72px);
}
.foot-logo{height:30px;width:auto}
.foot-intro{margin-top:22px;max-width:42ch;color:rgba(248,250,252,.62);font-size:15.5px;line-height:1.6}
.foot-base{
  margin-top:18px;font-family:var(--voox-font-title);font-weight:600;
  font-size:14px;color:var(--sx-white);letter-spacing:.04em;
}
.verbs__sep{color:rgba(248,250,252,.4);margin:0 4px}

.foot-map{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:clamp(20px,3vw,32px)}
.foot-h{
  font-family:var(--voox-font-title);font-weight:600;font-size:12px;letter-spacing:.2em;
  text-transform:uppercase;color:rgba(248,250,252,.45);margin:0 0 16px;
}
.foot-h--gap{margin-top:28px}
.foot-h a{color:inherit}
.foot-h a:hover{color:var(--sx-white)}
.foot-col ul{list-style:none;margin:0;padding:0}
.foot-col li{margin-bottom:10px}
.foot-col a{color:rgba(248,250,252,.78);font-size:15px;transition:color .25s}

/* Réseaux sociaux : une rangée d'icônes, plus compacte qu'une liste de noms. */
.foot-social{display:flex;flex-wrap:wrap;gap:8px}
.foot-social a{
  width:34px;height:34px;border-radius:50%;border:1px solid rgba(248,250,252,.18);
  display:inline-flex;align-items:center;justify-content:center;
  color:rgba(248,250,252,.78);transition:background .2s,border-color .2s,color .2s;
}
.foot-social a:hover{background:var(--sx-white);border-color:var(--sx-white);color:#000}
.foot-col a:hover{color:var(--sx-white)}

.foot-bot{
  display:flex;flex-wrap:wrap;gap:16px;justify-content:space-between;align-items:center;
  border-top:1px solid rgba(248,250,252,.1);padding-block:26px;
  font-size:14px;color:rgba(248,250,252,.5);
}
.foot-bot p{margin:0}
.foot-bot__links{display:flex;align-items:center;gap:20px}
.foot-bot a{color:rgba(248,250,252,.5)}
.foot-bot a:hover{color:var(--sx-white)}

/* Le X de la marque, en filigrane : monochrome, sans la teinte cyan. */
.foot-x{
  position:absolute;right:-40px;bottom:-30px;width:min(300px,34vw);height:auto;z-index:1;
  opacity:.06;filter:grayscale(1) brightness(3);pointer-events:none;user-select:none;
}

/* ======================= BOUTON SOCIAL FLOTTANT ========================== */
.voox-social-float{position:fixed;bottom:40px;right:30px;z-index:99999;width:60px;height:60px}
.voox-social-btn{
  position:relative;width:60px;height:60px;border:0;border-radius:50px;background:#0D4374;color:#fff;
  font-size:22px;cursor:pointer;display:flex;align-items:center;justify-content:center;
  box-shadow:0 4px 20px rgba(0,0,0,.25);transition:.3s cubic-bezier(.4,0,.2,1);
}
.voox-social-btn:hover{transform:scale(1.06)}
.voox-social-btn.is-open{background:linear-gradient(135deg,#ff4757,#ff6b81)}
.voox-badge{
  position:absolute;top:-5px;right:-5px;min-width:17px;height:16px;padding:0 4px;border-radius:10px;
  background:#ff4757;color:#fff;font-size:10px;line-height:16px;text-align:center;font-weight:700;
}
.voox-social-icons{
  position:absolute;bottom:75px;right:0;display:none;flex-direction:column;gap:15px;
  padding:15px;background:rgba(255,255,255,.95);border-radius:20px;box-shadow:0 10px 30px rgba(0,0,0,.15);
}
.voox-social-icons.show{display:flex}
.voox-social-icon{
  width:50px;height:50px;border-radius:50%;display:flex;align-items:center;justify-content:center;
  color:#fff;font-size:20px;transition:.4s cubic-bezier(.4,0,.2,1);
}
.voox-social-icon:hover{transform:scale(1.1);color:#fff}
.voox-social-icon.facebook{background:linear-gradient(135deg,#1877f2,#0d5cb6);box-shadow:0 4px 15px rgba(24,119,242,.3)}
.voox-social-icon.instagram{background:linear-gradient(135deg,#f09433,#dc2743,#bc1888);box-shadow:0 4px 15px rgba(220,39,67,.3)}
.voox-social-icon.twitter{background:linear-gradient(135deg,#1a1a1a,#000);box-shadow:0 4px 15px rgba(0,0,0,.3)}
.voox-social-icon.pinterest{background:linear-gradient(135deg,#e60023,#ad081b);box-shadow:0 4px 15px rgba(230,0,35,.3)}
.voox-social-icon.linkedin{background:linear-gradient(135deg,#0a66c2,#004182);box-shadow:0 4px 15px rgba(10,102,194,.3)}
.voox-social-icon.tiktok{background:linear-gradient(135deg,#25f4ee,#000,#fe2c55);box-shadow:0 4px 15px rgba(254,44,85,.3)}

/* ===================== ORBE ASSISTANT (bas de page) ====================== */
.voox-assistant-fab{position:fixed;left:24px;bottom:34px;z-index:99998;border:0;background:none;cursor:pointer;padding:0}
.voox-assistant-fab img{width:88px;height:88px;filter:drop-shadow(0 8px 20px rgba(0,0,0,.2));transition:transform .3s}
.voox-assistant-fab:hover img{transform:scale(1.06)}

/* ============================== MODALES ================================== */
.voox-modal{position:fixed;inset:0;z-index:100000;display:none;align-items:center;justify-content:center;padding:20px}
.voox-modal.open{display:flex}
.voox-modal-backdrop{position:absolute;inset:0;background:rgba(0,0,0,.55);backdrop-filter:blur(2px)}
.voox-modal-box{
  position:relative;width:100%;max-width:460px;max-height:92vh;overflow:auto;background:#fff;
  border-radius:20px;padding:34px 30px;box-shadow:0 24px 60px rgba(0,0,0,.3);
}
.voox-modal-box.voox-modal-ai{max-width:560px;text-align:center}
.voox-modal-close{position:absolute;top:14px;right:16px;border:0;background:none;font-size:22px;line-height:1;color:#999;cursor:pointer}
.voox-modal h3{font-size:24px;font-weight:700;text-align:center;margin:0 0 6px}
.voox-modal .voox-modal-sub{text-align:center;font-size:14px;color:var(--voox-text);margin:0 0 22px}

/* ============================== FORMULAIRES ============================== */
.voox-form{display:flex;flex-direction:column;gap:14px}
.voox-field label{display:block;font-size:13px;font-weight:600;color:var(--voox-title);margin-bottom:6px}
.voox-field input,.voox-field select,.voox-field textarea{
  width:100%;height:46px;padding:0 14px;border:1px solid var(--voox-line);border-radius:10px;
  font-family:var(--voox-font);font-size:14px;color:#333;background:#fff;outline:none;transition:border-color .2s,box-shadow .2s;
}
.voox-field textarea{height:auto;padding:12px 14px;min-height:110px;line-height:22px}
.voox-field input:focus,.voox-field select:focus,.voox-field textarea:focus{border-color:#111;box-shadow:0 0 0 3px rgba(0,0,0,.06)}
.voox-form .voox-btn{width:100%;padding:14px 20px;margin-top:6px}
.voox-form-sep{display:flex;align-items:center;gap:12px;color:#9b9b9b;font-size:13px;margin:6px 0}
.voox-form-sep::before,.voox-form-sep::after{content:"";flex:1;height:1px;background:var(--voox-line)}
.voox-google-btn{
  display:flex;align-items:center;justify-content:center;gap:10px;width:100%;height:46px;
  border:1px solid #747775;border-radius:8px;background:#fff;color:#1f1f1f;font-size:15px;font-weight:500;cursor:pointer;
}
.voox-google-btn:hover{background:#f7f7f7}
.voox-form-foot{text-align:center;font-size:14px;margin:14px 0 0;color:var(--voox-text)}
.voox-form-foot a{font-weight:700;color:#111;text-decoration:underline}
.voox-consent{display:flex;gap:10px;align-items:flex-start;font-size:12.5px;line-height:18px;color:var(--voox-text)}
.voox-consent input{width:16px;height:16px;margin-top:2px;flex:0 0 auto}

/* ============================ PAGE : EN-TÊTE ============================= */
.voox-page-head{background:var(--voox-soft);padding:46px 0 40px;text-align:center;border-bottom:1px solid var(--voox-line)}
.voox-page-eyebrow{
  font-family:var(--voox-font-title);font-size:11.5px;font-weight:600;letter-spacing:.2em;
  text-transform:uppercase;color:var(--voox-text);margin:0 0 10px;
}
.voox-page-head h1{font-size:38px;line-height:44px;font-weight:700;margin:0 0 8px}
/* Fil d'Ariane, même dessin que sur la vitrine : Accueil › Rubrique › Page */
.voox-breadcrumb{margin:0 0 14px;font-size:13px}
.voox-breadcrumb ol{list-style:none;margin:0;padding:0;display:flex;flex-wrap:wrap;justify-content:center;gap:4px 0;color:var(--voox-text)}
.voox-breadcrumb li+li::before{content:"›";margin:0 8px;color:rgba(11,15,20,.35)}
.voox-breadcrumb a{color:var(--voox-text);transition:color .2s}
.voox-breadcrumb a:hover{color:var(--voox-title)}
.voox-breadcrumb [aria-current]{color:var(--voox-title);font-weight:500}
.voox-section .voox-breadcrumb ol,.voox-b-hero .voox-breadcrumb ol,.voox-breadcrumb--bar ol{justify-content:flex-start}
.voox-breadcrumb--bar{padding-top:28px}
.voox-listing-hero .voox-breadcrumb ol,.voox-listing-hero .voox-breadcrumb a,.voox-listing-hero .voox-breadcrumb li+li::before{color:rgba(248,250,252,.55)}
.voox-listing-hero .voox-breadcrumb a:hover,.voox-listing-hero .voox-breadcrumb [aria-current]{color:#fff}
.voox-page-note{font-size:13px;color:var(--voox-text);margin:6px 0 0}

/* ============================ PAGE : ANNONCES ============================
   Bandeau de recherche, filtres portés par l'URL, cartes d'annonce.
   ========================================================================= */
.voox-listing-hero{background:#000;color:#fff;padding:70px 0 78px;text-align:center}
.voox-hero-eyebrow{
  font-family:var(--voox-font-title);font-size:11.5px;font-weight:600;letter-spacing:.2em;
  text-transform:uppercase;color:rgba(248,250,252,.5);margin:0 0 14px;
}
.voox-listing-hero h1{color:#fff;font-size:clamp(28px,3.6vw,42px);line-height:1.12;margin:0}
.voox-hero-lede{
  color:rgba(248,250,252,.66);margin:16px auto 34px;max-width:60ch;font-size:15.5px;line-height:1.6;
}

.voox-search-card{
  display:flex;gap:14px;align-items:flex-end;flex-wrap:wrap;
  background:#fff;border-radius:var(--voox-radius-card);padding:20px;
  box-shadow:0 24px 60px rgba(0,0,0,.35);max-width:1100px;margin:0 auto;text-align:left;
}
.voox-field-inline{display:flex;flex-direction:column;gap:6px;flex:1 1 150px;min-width:0}
.voox-field-grow{flex:2 1 240px}
.voox-field-inline label{
  font-family:var(--voox-font-title);font-size:11px;font-weight:600;letter-spacing:.14em;
  text-transform:uppercase;color:var(--voox-text);
}
.voox-field-inline input,.voox-field-inline select{
  width:100%;height:46px;padding:0 14px;border:1px solid var(--voox-line);border-radius:10px;
  font-family:var(--voox-font-text);font-size:14.5px;color:var(--voox-title);background:#fff;outline:none;
  transition:border-color .2s,box-shadow .2s;
}
.voox-field-inline input:focus,.voox-field-inline select:focus{
  border-color:var(--voox-title);box-shadow:0 0 0 3px rgba(11,15,20,.07);
}
.voox-search-card .voox-btn{height:46px;flex:0 0 auto}

/* -------------------------------------------------------- filtres et tri */
.voox-chip-count{
  display:inline-block;margin-left:6px;padding:1px 7px;border-radius:999px;
  background:rgba(11,15,20,.07);font-size:11.5px;font-weight:600;
}
.voox-chip.is-active .voox-chip-count{background:rgba(255,255,255,.22)}

.voox-results-bar{
  display:flex;justify-content:space-between;align-items:baseline;gap:20px;flex-wrap:wrap;
  padding:18px 0 22px;border-bottom:1px solid var(--voox-line);margin-bottom:26px;
}
.voox-results-bar .voox-directory-count{margin:0}
.voox-sort{display:flex;align-items:baseline;gap:14px;flex-wrap:wrap}
.voox-sort-link{
  font-family:var(--voox-font-title);font-size:13px;font-weight:500;color:var(--voox-text);
  padding-bottom:3px;border-bottom:2px solid transparent;transition:color .2s,border-color .2s;
}
.voox-sort-link:hover{color:var(--voox-title)}
.voox-sort-link.is-active{color:var(--voox-title);font-weight:600;border-color:var(--voox-title)}

/* ------------------------------------------------------ cartes d'annonce */
.voox-cards{display:grid;grid-template-columns:repeat(3,1fr);gap:24px}
.voox-card{
  display:flex;flex-direction:column;background:#fff;border:1px solid var(--voox-line);
  border-radius:var(--voox-radius-card);overflow:hidden;
  transition:transform .25s,box-shadow .25s,border-color .25s;
}
.voox-card:hover{transform:translateY(-4px);box-shadow:0 18px 38px rgba(11,15,20,.1);border-color:#d7dde6}
.voox-card-media{position:relative;display:block;aspect-ratio:4/3;overflow:hidden;background:var(--voox-soft)}
.voox-card-media img{width:100%;height:100%;object-fit:cover;transition:transform .45s}
.voox-card:hover .voox-card-media img{transform:scale(1.04)}
.voox-card-badge{
  position:absolute;top:12px;left:12px;padding:5px 12px;border-radius:999px;
  background:rgba(0,0,0,.82);color:#fff;font-family:var(--voox-font-title);
  font-size:11px;font-weight:600;letter-spacing:.1em;text-transform:uppercase;
}
.voox-card-body{padding:18px 20px 20px;display:flex;flex-direction:column;gap:8px;flex:1}
.voox-card-eyebrow{
  display:flex;gap:7px;flex-wrap:wrap;margin:0;
  font-family:var(--voox-font-title);font-size:11.5px;font-weight:600;letter-spacing:.1em;
  text-transform:uppercase;color:var(--voox-text);
}
.voox-card-eyebrow span{opacity:.5}
.voox-card-body h3{font-size:17.5px;line-height:1.3;font-weight:600;margin:0}
.voox-card-body h3 a{color:inherit}
.voox-card-body h3 a:hover{text-decoration:underline}
.voox-card-price{font-family:var(--voox-font-title);font-size:21px;font-weight:700;color:var(--voox-title);margin:2px 0 0}
/* Prix générique, utilisé aussi par le Store, les fiches et la recherche. */
.voox-price{display:flex;align-items:baseline;gap:8px;font-family:var(--voox-font-title);font-size:18px;font-weight:700;color:var(--voox-title)}
.voox-card-meta{font-size:13px;color:var(--voox-text);margin:0}
.voox-card-actions{display:flex;align-items:center;gap:16px;margin-top:auto;padding-top:14px}
.voox-card-actions .voox-btn{padding:10px 22px;font-size:14px}
.voox-card-secondary{
  font-family:var(--voox-font-title);font-size:13.5px;font-weight:600;
  color:var(--voox-title);border-bottom:1px solid var(--voox-line);padding-bottom:2px;
}
.voox-card-secondary:hover{border-color:var(--voox-title)}

/* ============================ PAGE : RÉSEAUX =============================
   Annuaire : recherche, filtres portés par l'URL, cartes membres et fiche profil.
   ========================================================================= */
.voox-directory-search{display:flex;gap:10px;margin-bottom:22px}
.voox-directory-search input{
  flex:1 1 auto;min-width:0;height:48px;padding:0 18px;border:1px solid var(--voox-line);
  border-radius:999px;font-family:var(--voox-font-text);font-size:15px;color:var(--voox-title);
  background:#fff;outline:none;transition:border-color .2s,box-shadow .2s;
}
.voox-directory-search input:focus{border-color:var(--voox-title);box-shadow:0 0 0 3px rgba(11,15,20,.07)}
.voox-directory-search .voox-btn{flex:0 0 auto}

.voox-directory-filters{display:flex;flex-direction:column;gap:10px;margin-bottom:20px}
/* Pastille de filtre, base commune à l'annuaire, aux annonces, au Mag et à la recherche. */
.voox-chip{
  display:inline-flex;align-items:center;gap:8px;padding:9px 17px;border-radius:999px;
  border:1px solid var(--voox-line);background:#fff;
  font-family:var(--voox-font-title);font-size:13.5px;font-weight:500;color:var(--voox-title);
  cursor:pointer;white-space:nowrap;transition:border-color .2s,background .2s,color .2s;
}
.voox-chip:hover{border-color:var(--voox-title);background:var(--voox-soft)}
.voox-chip.is-active{background:var(--voox-title);border-color:var(--voox-title);color:#fff;font-weight:600}

.voox-filter-row{display:flex;gap:12px;align-items:center;flex-wrap:wrap}
.voox-filter-label{
  font-family:var(--voox-font-title);font-size:11px;font-weight:600;letter-spacing:.16em;
  text-transform:uppercase;color:var(--voox-text);flex:0 0 auto;
}
.voox-filter-row .voox-chip{font-size:13px;padding:7px 15px}

/* Beaucoup de rubriques : une ligne qui défile plutôt qu'un empilement sur trois rangs.
   Le dégradé de droite signale qu'il en reste à voir. */
.voox-filter-row--scroll{position:relative;flex-wrap:nowrap}
.voox-filter-row--scroll::after{
  content:"";position:absolute;right:0;top:0;bottom:0;width:56px;pointer-events:none;
  background:linear-gradient(90deg,rgba(255,255,255,0),#fff 78%);
}
.voox-filter-track{
  display:flex;gap:8px;align-items:center;flex-wrap:nowrap;min-width:0;
  overflow-x:auto;padding:5px 56px 5px 0;margin:-5px 0;
  scrollbar-width:none;-ms-overflow-style:none;scroll-snap-type:x proximity;
}
.voox-filter-track::-webkit-scrollbar{display:none}
.voox-filter-track .voox-chip{flex:0 0 auto;scroll-snap-align:start}

.voox-directory-count{font-size:14px;color:var(--voox-text);margin:0 0 22px}
.voox-directory-count strong{color:var(--voox-title);font-size:16px}
.voox-directory-reset{margin-left:12px;text-decoration:underline;color:var(--voox-title);font-weight:600}

.voox-empty{
  border:1px dashed var(--voox-line);border-radius:var(--voox-radius-card);
  padding:44px 24px;text-align:center;background:var(--voox-soft);
}
.voox-empty h2{font-size:20px;margin-bottom:8px}
.voox-empty p{margin:0 0 18px}

.voox-members{display:grid;grid-template-columns:repeat(4,1fr);gap:20px}
.voox-member{
  display:flex;flex-direction:column;background:#fff;border:1px solid var(--voox-line);
  border-radius:var(--voox-radius-card);overflow:hidden;transition:transform .25s,box-shadow .25s,border-color .25s;
}
.voox-member:hover{transform:translateY(-4px);box-shadow:0 16px 34px rgba(11,15,20,.09);border-color:#d7dde6}
.voox-member-link{display:flex;flex-direction:column;align-items:center;text-align:center;padding:26px 18px 18px;flex:1}
.voox-member .avatar{
  width:84px;height:84px;border-radius:50%;margin-bottom:14px;overflow:hidden;
  display:flex;align-items:center;justify-content:center;
  background:var(--voox-soft);color:var(--voox-text);
  font-family:var(--voox-font-title);font-size:25px;font-weight:600;letter-spacing:.02em;
}
.voox-member .avatar img{width:100%;height:100%;object-fit:cover}
.voox-member h3{font-size:15.5px;font-weight:600;margin:0 0 4px;word-break:break-word;line-height:1.3}
.voox-verified{color:var(--voox-title);font-size:12px;vertical-align:middle}
.voox-member-headline{font-size:13px;color:var(--voox-text);margin:0 0 10px;line-height:1.45}
.voox-member .voox-tag{margin:0 auto 8px}
.voox-member-meta{font-size:12.5px;color:var(--voox-text);margin:auto 0 0;line-height:1.4}
.voox-member-contact{
  display:block;padding:12px;text-align:center;border-top:1px solid var(--voox-line);
  font-family:var(--voox-font-title);font-size:13px;font-weight:600;color:var(--voox-title);
  transition:background .2s;
}
.voox-member-contact:hover{background:var(--voox-soft)}

/* ------------------------------------------------------------ fiche membre */
.voox-profile{
  display:grid;grid-template-columns:auto minmax(0,1fr) auto;gap:26px;align-items:center;
  padding:28px;border:1px solid var(--voox-line);border-radius:var(--voox-radius-card);background:#fff;
}
.voox-profile-avatar{
  width:104px;height:104px;border-radius:50%;overflow:hidden;flex:0 0 auto;
  display:flex;align-items:center;justify-content:center;background:var(--voox-soft);
  font-family:var(--voox-font-title);font-size:32px;font-weight:600;color:var(--voox-text);
}
.voox-profile-avatar img{width:100%;height:100%;object-fit:cover}
.voox-profile-id h1{font-size:30px;line-height:1.15;margin:0}
.voox-profile-headline{font-size:16px;color:var(--voox-text);margin:8px 0 0}
.voox-profile-meta{display:flex;gap:14px;align-items:center;flex-wrap:wrap;margin:14px 0 0;font-size:13px;color:var(--voox-text)}
.voox-profile-actions{display:flex;flex-direction:column;gap:10px}
.voox-profile-actions .voox-btn{justify-content:center;white-space:nowrap}

/* ============================= PAGE : STORE ============================== */
.voox-store-slider{display:grid;grid-template-columns:2fr 1fr;gap:20px;margin:26px 0}
.voox-store-slide{
  position:relative;border-radius:20px;overflow:hidden;min-height:320px;display:flex;align-items:center;
  background:#f0eee9;padding:40px;
}
.voox-store-slide::before{content:'';position:absolute;inset:0;z-index:1;background:linear-gradient(90deg,rgba(255,255,255,.94) 0%,rgba(255,255,255,.72) 42%,rgba(255,255,255,0) 78%)}
.voox-store-slide .bg{position:absolute;inset:0}
.voox-store-slide .bg img{width:100%;height:100%;object-fit:cover}
.voox-store-slide .inner{position:relative;z-index:2;max-width:60%}
.voox-store-slide h2{font-size:30px;line-height:36px;font-weight:700;margin:0 0 8px}
.voox-store-slide p{margin:0 0 18px;color:#444}
.voox-store-col{display:grid;grid-template-rows:1fr 1fr;gap:20px}
.voox-store-col .voox-store-slide{min-height:150px;padding:24px}
.voox-store-col .voox-store-slide h2{font-size:22px;line-height:26px}
.voox-cat-round{display:flex;gap:26px;justify-content:center;flex-wrap:wrap;margin:10px 0 30px}
.voox-cat-round a{text-align:center;font-size:14px;font-weight:600;color:#111}
.voox-cat-round .circle{width:110px;height:110px;border-radius:50%;overflow:hidden;background:var(--voox-soft);margin-bottom:10px;display:flex;align-items:center;justify-content:center}
.voox-cat-round .circle img{width:100%;height:100%;object-fit:cover}
.voox-products{display:grid;grid-template-columns:repeat(4,1fr);gap:24px}
.voox-product{text-align:center;border-radius:16px;padding:14px;transition:box-shadow .25s,transform .25s;background:#fff}
.voox-product:hover{box-shadow:0 16px 34px rgba(0,0,0,.08);transform:translateY(-3px)}
.voox-product .media{aspect-ratio:1;border-radius:12px;overflow:hidden;background:var(--voox-soft);margin-bottom:12px}
.voox-product .media img{width:100%;height:100%;object-fit:cover}
.voox-product h3{font-size:15px;font-weight:600;margin:0 0 6px}
.voox-product .cat{font-size:12px;color:var(--voox-text);margin-bottom:6px}
.voox-tabs{display:flex;gap:26px;justify-content:center;margin-bottom:26px;flex-wrap:wrap}
.voox-tab{border:0;background:none;font-size:16px;font-weight:600;color:var(--voox-text);cursor:pointer;padding-bottom:6px;border-bottom:2px solid transparent}
.voox-tab.is-active{color:#111;border-color:#111}
.voox-services{display:grid;grid-template-columns:repeat(5,1fr);gap:20px;padding:34px 0;border-top:1px solid var(--voox-line);border-bottom:1px solid var(--voox-line);margin:40px 0}
.voox-service{text-align:center}
.voox-service .ico{font-size:24px;margin-bottom:8px}
.voox-service h4{font-size:15px;font-weight:700;margin:0 0 4px}
.voox-service p{font-size:13px;color:var(--voox-text);margin:0}

/* ================================= INDEX ================================
   Annuaire unifié : la liste à gauche, la carte collante à droite.
   Cartes horizontales, photo puis informations puis action.
   ========================================================================= */
.voox-x{color:var(--voox-rose)}
.voox-index-lede{max-width:62ch;margin:14px auto 0;font-size:15.5px;line-height:1.6;color:var(--voox-text)}

.voox-index-layout{display:grid;grid-template-columns:minmax(0,1.25fr) minmax(0,.9fr);gap:24px;align-items:start}
.voox-index-list{display:flex;flex-direction:column;gap:12px;max-height:720px;overflow-y:auto;padding:2px 6px 2px 2px}
.voox-index-map{
  height:720px;border-radius:var(--voox-radius-card);overflow:hidden;
  border:1px solid var(--voox-line);position:sticky;
  top:calc(var(--voox-header-h) + var(--voox-groupbar-h) + 16px);z-index:1;
}

.voox-index-item{
  display:grid;grid-template-columns:104px minmax(0,1fr) auto;gap:16px;align-items:center;
  padding:14px;background:#fff;border:1px solid var(--voox-line);border-radius:var(--voox-radius-card);
  transition:border-color .2s,box-shadow .2s;
}
.voox-index-item:hover,.voox-index-item.is-highlighted{
  border-color:var(--voox-title);box-shadow:0 10px 26px rgba(11,15,20,.08);
}
.voox-index-media{
  width:104px;height:104px;border-radius:12px;overflow:hidden;background:var(--voox-soft);
  display:flex;align-items:center;justify-content:center;
}
.voox-index-media img{width:100%;height:100%;object-fit:cover}
.voox-index-initials{font-family:var(--voox-font-title);font-size:30px;font-weight:600;color:var(--voox-text)}

.voox-index-body{display:flex;flex-direction:column;gap:5px;min-width:0}
.voox-index-name{font-family:var(--voox-font-title);font-size:17px;font-weight:600;margin:0;line-height:1.25}
.voox-index-name a{color:var(--voox-title)}
.voox-index-name a:hover{text-decoration:underline}
.voox-index-headline{
  font-size:13.5px;color:var(--voox-text);margin:0;
  overflow:hidden;text-overflow:ellipsis;white-space:nowrap;
}
.voox-index-place{display:flex;align-items:center;gap:6px;font-size:13px;color:var(--voox-text);margin:0}
.voox-index-place svg{flex:0 0 auto;opacity:.65}
.voox-index-approx{
  font-size:10.5px;letter-spacing:.06em;text-transform:uppercase;
  color:var(--voox-text);border:1px solid var(--voox-line);border-radius:999px;padding:1px 7px;
}
.voox-index-tags{display:flex;gap:6px;flex-wrap:wrap;margin:3px 0 0}
.voox-index-tags .voox-tag{font-size:11.5px;padding:3px 10px}

.voox-index-actions{display:flex;flex-direction:column;align-items:stretch;gap:8px;text-align:center}
.voox-index-actions .voox-btn{padding:9px 20px;font-size:13.5px;white-space:nowrap}
.voox-index-contact{
  font-family:var(--voox-font-title);font-size:12.5px;font-weight:600;color:var(--voox-title);
  border-bottom:1px solid var(--voox-line);padding-bottom:2px;
}
.voox-index-contact:hover{border-color:var(--voox-title)}

/* Bulles de la carte */
.leaflet-popup-content{font-family:var(--voox-font-text);margin:14px 16px}
.leaflet-popup-content strong{font-family:var(--voox-font-title);font-size:14.5px;color:var(--voox-title);display:block}
.voox-map-count{display:block;font-size:12px;color:var(--voox-text);margin-bottom:8px}
.voox-map-list{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:7px;max-height:210px;overflow-y:auto}
.voox-map-list a{font-weight:600;color:var(--voox-title);font-size:13.5px}
.voox-map-list a:hover{text-decoration:underline}
.voox-map-list span{display:block;font-size:12px;color:var(--voox-text)}
.voox-map-more,.voox-map-note{margin:8px 0 0;font-size:11.5px;color:var(--voox-text)}
.voox-map-note{font-style:italic}
/* Pastille de comptage, à la place du marqueur par défaut */
.voox-map-pin{
  display:flex;align-items:center;justify-content:center;
  min-width:34px;height:34px;padding:0 9px;border-radius:999px;
  background:var(--voox-title);color:#fff;border:2px solid #fff;
  font-family:var(--voox-font-title);font-size:13px;font-weight:700;
  box-shadow:0 3px 10px rgba(11,15,20,.35);
}
.voox-map-pin.is-active{background:var(--voox-rose)}

@media (max-width:1000px){
  .voox-index-layout{grid-template-columns:1fr}
  .voox-index-map{position:static;height:380px;order:-1}
  .voox-index-list{max-height:none;overflow:visible}
}
@media (max-width:640px){
  .voox-index-item{grid-template-columns:76px minmax(0,1fr);gap:12px}
  .voox-index-media{width:76px;height:76px}
  .voox-index-actions{grid-column:1 / -1;flex-direction:row;align-items:center;justify-content:space-between}
}

/* =============================== MINI-SITE ==============================
   Vitrine d'un annonceur hébergée chez nous, générée depuis son annonce.
   ========================================================================= */
.voox-minisite-hero{position:relative;overflow:hidden;background:#000;color:#fff;padding:74px 0 66px;text-align:center}
.voox-minisite-bg{
  position:absolute;inset:0;background-size:cover;background-position:center;
  opacity:.28;filter:blur(2px) saturate(1.1);transform:scale(1.06);
}
.voox-minisite-hero > .voox-container{position:relative;z-index:2}
.voox-minisite-eyebrow{
  font-family:var(--voox-font-title);font-size:11px;font-weight:600;letter-spacing:.2em;
  text-transform:uppercase;color:rgba(248,250,252,.6);margin:0 0 14px;
}
.voox-minisite-hero h1{color:#fff;font-size:clamp(28px,3.8vw,42px);line-height:1.12;margin:0}
.voox-minisite-by{color:rgba(248,250,252,.75);margin:14px 0 28px;font-size:15px}
.voox-minisite-by strong{color:#fff}
.voox-minisite-actions{display:flex;gap:12px;justify-content:center;flex-wrap:wrap}

.voox-minisite-grid{display:grid;grid-template-columns:minmax(0,1.6fr) minmax(0,.9fr);gap:38px;align-items:start}
.voox-minisite-side{
  background:#fff;border:1px solid var(--voox-line);border-radius:var(--voox-radius-card);
  padding:24px;position:sticky;top:calc(var(--voox-header-h) + var(--voox-groupbar-h) + 20px);
}
.voox-minisite-foot{
  margin-top:48px;padding-top:22px;border-top:1px solid var(--voox-line);
  font-size:13px;color:var(--voox-text);text-align:center;
}
.voox-minisite-foot a{text-decoration:underline;font-weight:600;color:var(--voox-title)}

@media (max-width:900px){
  .voox-minisite-grid{grid-template-columns:1fr;gap:26px}
  .voox-minisite-side{position:static}
}

/* ================================ VIDÉO ==================================
   Lecteur d'une publication vidéo, et pastille de lecture sur les tuiles du fil.
   ========================================================================= */
.voox-video{position:relative;width:100%;aspect-ratio:16/9;background:#000;border-radius:var(--voox-radius-card);overflow:hidden}
.voox-video iframe{position:absolute;inset:0;width:100%;height:100%;border:0}
.voox-video-file{
  width:100%;max-height:70vh;display:block;background:#000;
  border-radius:var(--voox-radius-card);outline:none;
}
.voox-tile-play{
  position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);
  width:52px;height:52px;border-radius:50%;
  background:rgba(0,0,0,.6);backdrop-filter:blur(4px);border:1.5px solid rgba(255,255,255,.85);
  display:flex;align-items:center;justify-content:center;color:#fff;
  transition:transform .25s,background .25s;pointer-events:none;z-index:2;
}
.voox-tile:hover .voox-tile-play{transform:translate(-50%,-50%) scale(1.08);background:rgba(0,0,0,.78)}

/* ======================== ARTICLE : COUVERTURE ET PARTAGE ================
   Une couverture n'est jamais agrandie au-delà de sa taille réelle : elle est
   posée sur un fond flouté tiré de la même image, ce qui absorbe les formats
   portrait sans déformer ni pixeliser.
   ========================================================================= */
.voox-article-cover{
  position:relative;display:flex;align-items:center;justify-content:center;
  margin:0 0 8px;border-radius:var(--voox-radius-card);overflow:hidden;
  background:var(--voox-soft);max-height:460px;
}
.voox-article-cover-backdrop{
  position:absolute;inset:0;background-size:cover;background-position:center;
  filter:blur(30px) saturate(1.15);transform:scale(1.15);opacity:.55;
}
.voox-article-cover img{
  position:relative;width:auto;max-width:100%;max-height:460px;height:auto;display:block;
}

.voox-share{
  display:flex;align-items:center;gap:10px;flex-wrap:wrap;
  margin:36px 0 0;padding-top:26px;border-top:1px solid var(--voox-line);
}
.voox-share-label{
  font-family:var(--voox-font-title);font-size:11px;font-weight:600;letter-spacing:.16em;
  text-transform:uppercase;color:var(--voox-text);margin-right:4px;
}
.voox-share-btn{
  width:38px;height:38px;border-radius:50%;border:1px solid var(--voox-line);background:#fff;
  display:inline-flex;align-items:center;justify-content:center;color:var(--voox-title);
  cursor:pointer;transition:background .2s,border-color .2s,transform .2s;
}
.voox-share-btn:hover{background:var(--voox-title);border-color:var(--voox-title);color:#fff;transform:translateY(-2px)}
.voox-share-done{font-size:12.5px;color:var(--voox-text)}

/* ============================== PAGE : MAG =============================== */
.voox-mag-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:28px}
.voox-mag-card{border-radius:18px;overflow:hidden;background:#fff;border:1px solid var(--voox-line);display:flex;flex-direction:column;transition:transform .25s,box-shadow .25s}
.voox-mag-card:hover{transform:translateY(-4px);box-shadow:0 18px 36px rgba(0,0,0,.09)}
.voox-mag-media{aspect-ratio:3/2;overflow:hidden;background:var(--voox-soft)}
.voox-mag-media img{width:100%;height:100%;object-fit:cover;transition:transform .4s}
.voox-mag-card:hover .voox-mag-media img{transform:scale(1.05)}
.voox-mag-body{padding:18px 20px 22px;display:flex;flex-direction:column;gap:10px;flex:1}
.voox-mag-meta{display:flex;flex-wrap:wrap;gap:10px;align-items:center;font-size:12px;color:var(--voox-text)}
.voox-mag-body h3{font-size:19px;line-height:26px;font-weight:700}
.voox-mag-body p{margin:0;font-size:14px;line-height:22px}
.voox-mag-more{font-weight:700;color:#111;text-decoration:underline;margin-top:auto}
.voox-pagination{display:flex;gap:8px;justify-content:center;margin-top:34px}
.voox-pagination a,.voox-pagination span{
  min-width:38px;height:38px;border-radius:10px;border:1px solid var(--voox-line);
  display:inline-flex;align-items:center;justify-content:center;font-size:14px;font-weight:600;color:#444;
}
.voox-pagination .is-active{background:#111;color:#fff;border-color:#111}

/* =========================== PAGES BUSINESS ============================== */
.voox-b-hero{padding:70px 0;background:var(--voox-soft)}
.voox-b-hero .grid{display:grid;grid-template-columns:1.1fr .9fr;gap:50px;align-items:center}
.voox-b-hero h1{font-size:44px;line-height:52px;font-weight:700;margin:0 0 18px}
.voox-b-hero p{font-size:16px;line-height:26px;margin:0 0 26px}
.voox-b-hero .media{border-radius:24px;overflow:hidden}
.voox-b-section{padding:60px 0}
.voox-b-section h2{font-size:34px;line-height:42px;font-weight:700;margin:0 0 14px}
.voox-b-section .lead{font-size:16px;line-height:26px;max-width:820px}
.voox-b-split{display:grid;grid-template-columns:1fr 1fr;gap:50px;align-items:center}
.voox-b-split.reverse .media{order:-1}
.voox-b-split .media{border-radius:24px;overflow:hidden;background:var(--voox-soft)}
.voox-b-cards{display:grid;grid-template-columns:repeat(3,1fr);gap:26px;margin-top:34px}
.voox-b-card{border:1px solid var(--voox-line);border-radius:20px;padding:28px;background:#fff;transition:transform .25s,box-shadow .25s}
.voox-b-card:hover{transform:translateY(-4px);box-shadow:0 18px 36px rgba(0,0,0,.08)}
.voox-b-card h3{font-size:20px;font-weight:700;margin:0 0 10px}
.voox-b-card p{margin:0;font-size:14.5px;line-height:23px}
.voox-b-stat{font-size:64px;line-height:1;font-weight:800;background:var(--voox-dark-gradient);-webkit-background-clip:text;background-clip:text;color:transparent;margin-bottom:10px}
.voox-b-cta{background:var(--voox-dark-gradient);color:#fff;border-radius:24px;padding:52px 40px;text-align:center;margin:20px 0 60px}
.voox-b-cta h2{color:#fff;font-size:32px;line-height:40px;margin:0 0 12px}
.voox-b-cta p{color:rgba(255,255,255,.85);max-width:720px;margin:0 auto 24px}
.voox-b-list{list-style:none;margin:18px 0 0;padding:0}
.voox-b-list li{position:relative;padding-left:28px;margin-bottom:12px;font-size:15px;line-height:24px}
.voox-b-list li::before{content:"";position:absolute;left:0;top:8px;width:14px;height:14px;border-radius:50%;background:var(--voox-rose)}


/* ===================== SESSION « EN TANT QUE » (admin) =================== */
.voox-impersonation-bar{
  position:fixed;top:0;left:0;right:0;z-index:10000;
  display:flex;align-items:center;justify-content:center;gap:18px;flex-wrap:wrap;
  min-height:38px;padding:8px 20px;
  background:repeating-linear-gradient(135deg,#F678B8 0 14px,#e45fa3 14px 28px);
  color:#fff;font-size:13px;font-weight:600;text-align:center;
  box-shadow:0 2px 10px rgba(0,0,0,.2);
}
.voox-impersonation-bar a{
  color:#fff;text-decoration:underline;white-space:nowrap;
  padding:3px 12px;border:1px solid rgba(255,255,255,.7);border-radius:20px;text-decoration:none;
}
.voox-impersonation-bar a:hover{background:rgba(255,255,255,.2)}
/* La hauteur réelle du bandeau est mesurée en JS (--voox-imp-h) : il peut passer
   sur deux ou trois lignes selon la largeur d'écran et la longueur du nom. */
body.voox-impersonating .voox-groupbar{top:var(--voox-imp-h,38px)}
body.voox-impersonating .voox-header{top:calc(var(--voox-imp-h,38px) + var(--voox-groupbar-h))}
body.voox-impersonating .voox-main{padding-top:calc(var(--voox-header-h) + var(--voox-groupbar-h) + var(--voox-imp-h,38px))}
body.voox-impersonating .voox-mobile-nav{top:calc(var(--voox-header-h) + var(--voox-groupbar-h) + var(--voox-imp-h,38px))}
@media (max-width:640px){
  .voox-impersonation-bar{font-size:12px}
}


/* ====================== DÉTAIL D'UNE PUBLICATION ======================== */
.voox-publication{display:grid;grid-template-columns:1.35fr .65fr;gap:34px;align-items:start}
.voox-publication-media{border-radius:18px;overflow:hidden;background:var(--voox-soft);display:flex;justify-content:center}
/* width:auto empêche d'agrandir un petit visuel au-delà de sa taille réelle */
.voox-publication-media img{width:auto;max-width:100%;height:auto;display:block}
.voox-publication-side h1{font-size:30px;line-height:38px;margin:14px 0 10px}
.voox-publication-meta{font-size:14px;color:var(--voox-text);margin:0 0 22px}
.voox-publication-actions{display:flex;flex-direction:column;gap:10px}
.voox-publication-actions .voox-btn{justify-content:center}
.voox-publication-report{font-size:12.5px;color:var(--voox-text);margin:22px 0 0}
.voox-publication-report a{text-decoration:underline;font-weight:600}
@media (max-width:900px){
  .voox-publication{grid-template-columns:1fr;gap:20px}
  .voox-publication-side h1{font-size:24px;line-height:32px}
}


/* Liste de caractéristiques des fiches détail */
.voox-detail-list{list-style:none;margin:0 0 22px;padding:0;border-top:1px solid var(--voox-line)}
.voox-detail-list li{display:flex;justify-content:space-between;gap:16px;padding:9px 0;border-bottom:1px solid var(--voox-line);font-size:13.5px}
.voox-detail-list li span{color:var(--voox-text)}
.voox-detail-list li strong{color:var(--voox-title);text-align:right}

/* Cartes entièrement cliquables (Mag, annonces, produits) */
.voox-mag-media,.voox-card-media,.voox-product .media{display:block}
.voox-mag-body h3 a,.voox-card-body h3 a,.voox-product h3 a{color:inherit}
.voox-mag-body h3 a:hover,.voox-card-body h3 a:hover,.voox-product h3 a:hover{text-decoration:underline}

/* ============================= RESPONSIVE ================================ */
@media (max-width:1200px){
  .voox-header{padding:0 24px}
  .voox-groupbar-inner{padding:0 24px}
  .voox-nav ul{gap:22px}
  .voox-cat-grid{grid-template-columns:repeat(3,1fr)}
  .voox-members{grid-template-columns:repeat(3,1fr)}
  .voox-products{grid-template-columns:repeat(3,1fr)}
  .voox-services{grid-template-columns:repeat(3,1fr)}
}
@media (max-width:1024px){
  .voox-masonry{columns:2}
  .voox-cards,.voox-mag-grid,.voox-b-cards{grid-template-columns:repeat(2,1fr)}
  .voox-b-hero .grid,.voox-b-split{grid-template-columns:1fr;gap:30px}
  .voox-b-split.reverse .media{order:0}
  .voox-store-slider{grid-template-columns:1fr}
  .voox-search-card{grid-template-columns:1fr 1fr}

}
@media (max-width:900px){
  .voox-groupbar-inner{padding:0 16px}
  .voox-profile{grid-template-columns:auto minmax(0,1fr);gap:18px}
  .voox-profile-actions{grid-column:1 / -1;flex-direction:row}
  .foot-top{grid-template-columns:1fr;gap:38px}
  .voox-nav,.voox-header-actions .voox-link{display:none}
  .voox-burger{display:block}
  .voox-header{padding:0 16px}
  .voox-header-inner{justify-content:space-between}
  .voox-members{grid-template-columns:repeat(3,1fr)}
}
@media (max-width:768px){
  .voox-search-card{flex-direction:column;align-items:stretch}
  .voox-search-card .voox-btn{width:100%}
  .voox-results-bar{flex-direction:column;gap:12px;align-items:flex-start}
  .voox-directory-search{flex-direction:column}
  .voox-filter-label{width:auto}
  .voox-profile{grid-template-columns:1fr;text-align:center;justify-items:center}
  .voox-profile-meta{justify-content:center}
  .voox-filters li{padding:6px 22px}
  .voox-modes{width:100%}
  .voox-mode-btn{font-size:14px}
  .voox-section-title,.voox-section-subtitle{font-size:24px;line-height:30px}
  .voox-page-head h1,.voox-listing-hero h1,.voox-b-hero h1{font-size:28px;line-height:36px}
  .xp-card,.xp-skeleton{width:160px;height:230px}
  .voox-masonry{columns:2;column-gap:12px}
  .voox-masonry .voox-tile{margin-bottom:12px}
  .voox-cards,.voox-mag-grid,.voox-b-cards,.voox-products,.voox-members,.voox-cat-grid,.voox-services{grid-template-columns:repeat(2,1fr)}
  .voox-search-card{grid-template-columns:1fr}
  .foot-bot{flex-direction:column;align-items:flex-start;gap:12px}
  .foot-x{width:180px;opacity:.05}
  .voox-assistant-fab img{width:64px;height:64px}
  .vs-orb-container{width:230px;height:230px}
  .vs-ring-1,.vs-waves{width:230px;height:230px}
  .vs-ring-2{width:200px;height:200px}
  .vs-core{width:160px;height:160px}
  .vs-core img{width:205px;height:205px}
}
@media (max-width:520px){
  .voox-members,.voox-products,.voox-cat-grid,.voox-services,.voox-cards,.voox-mag-grid,.voox-b-cards{grid-template-columns:1fr}
}

/* Pied de page : la marque VooX en toutes lettres, même gabarit que le logo de la vitrine */
.foot-voox{display:inline-block;margin-bottom:16px}
.foot-voox .foot-logo{height:34px;width:auto}
.foot-voox:hover{opacity:.85}
.foot-base a{color:inherit;text-decoration:none;border-bottom:1px solid rgba(248,250,252,.35)}
.foot-base a:hover{border-bottom-color:#fff}
