/* ================================================================
   CHARTE MAD BREIZH — cdesaffaires
   Fond noir / Or / Orange / Crème — Cinzel + Lato
   ================================================================ */

/* ---- VARIABLES ---- */
:root {
  --mb-fond:        #111111;
  --mb-carte:       #1a1a0f;
  --mb-carte-hover: #2a2a2a;
  --mb-or:          #c9a84c;
  --mb-or-clair:    #e8c96a;
  --mb-or-sombre:   #a07830;
  --mb-orange:      #ff6b00;
  --mb-orange-sombre:#cc5500;
  --mb-creme:       #f0e6c8;
  --mb-creme-pale:  #c8b98a;
  --mb-border:      rgba(201,168,76,.18);
  --mb-border-vif:  rgba(201,168,76,.55);
  --mb-shadow:      0 2px 18px rgba(0,0,0,.7);
  --mb-sidebar-w:   264px;
  --mb-font-titre:  'Cinzel', 'Georgia', serif;
  --mb-font-corps:  'Lato', 'Tahoma', 'Arial', sans-serif;
  --mb-radius:      6px;
  --mb-transition:  .18s ease;
  /* Palette formulaires */
  --mb-bg-page:            #1a1a0f;
  --mb-bg-section:         #141408;
  --mb-bg-input:           #0e0e06;
  --mb-border-input:       #c9a84c44;
  --mb-border-input-focus: #c9a84c;
  --mb-color-label:        #c9a84c;
  --mb-color-text:         #d4c47a;
  --mb-color-placeholder:  #8a7d45;
  --mb-color-muted:        #7a6e3a;
}

/* ================================================================
   UTILITAIRES
   ================================================================ */
.mb-hidden { display: none !important; }
.mb-spinner { display: none; text-align: center; padding: 20px 0; color: #c9a84c; font-size: 22px; letter-spacing: .1em; }
.mb-install-btn {
  position: fixed;
  bottom: 16px;
  right: 16px;
  z-index: 7000;
  background: #1a1a0f;
  border: 1px solid #c9a84c;
  border-radius: 20px;
  padding: 8px 16px;
  color: #c9a84c;
  font-family: Lato, Arial, sans-serif;
  font-size: 12px;
  font-weight: 600;
  cursor: pointer;
  box-shadow: 0 3px 10px rgba(0,0,0,.4);
}

/* ================================================================
   WIDGETS FLOTTANTS (mb_widget() — includes/mb_widget_base.php)
   Classes dédiées mb-fw-* (ne jamais réutiliser mb-widget/mb-widget-handle/
   mb-widget-body seuls : ces noms sont aussi portés par #mb-sp et
   #mb-w-madbreizh sans style protecteur — un style attaché directement à
   ces noms génériques contaminerait leur apparence).
   ================================================================ */
.mb-fw {
  position: fixed;
  top: 80px;
  max-height: 80vh;
  background: #141408;
  border: 1px solid #c9a84c;
  border-radius: 12px;
  box-shadow: 0 8px 32px rgba(0,0,0,.7);
  z-index: 9000;
  flex-direction: column;
  overflow: hidden;
}
.mb-fw-handle {
  display: flex;
  align-items: center;
  justify-content: space-between;
  padding: 12px 16px;
  background: #1a1a0f;
  border-bottom: 1px solid #c9a84c33;
  cursor: move;
  user-select: none;
  flex-shrink: 0;
}
.mb-fw-hrow { display: flex; align-items: center; gap: 8px; }
.mb-fw-icon { font-size: 16px; }
.mb-fw-title { font-size: 13px; font-weight: 600; color: #e8c96a; font-family: Georgia, serif; letter-spacing: .06em; }
.mb-fw-link { font-size: 10px; color: #c9a84c; text-decoration: none; border: 1px solid #c9a84c44; padding: 3px 8px; border-radius: 20px; }
.mb-fw-close { background: none; border: none; color: #666; font-size: 20px; cursor: pointer; padding: 0; line-height: 1; }
.mb-fw-body { overflow-y: auto; flex: 1; padding: 16px; }

/* ================================================================
   RESET BASE
   ================================================================ */
*, *::before, *::after { box-sizing: border-box; }

html { height: 100%; }

body {
  margin: 0 !important;
  padding: 0 !important;
  background: var(--mb-fond) !important;
  color: var(--mb-creme) !important;
  font-family: var(--mb-font-corps) !important;
  font-size: 14px;
  line-height: 1.65;
  width: 100% !important;
  min-height: 100%;
}

h1, h2, h3, h4, h5 {
  font-family: var(--mb-font-titre) !important;
  color: var(--mb-or) !important;
}

a { color: var(--mb-or); text-decoration: none; transition: color var(--mb-transition); }
a:hover { color: var(--mb-or-clair); }

img { border-radius: var(--mb-radius); border: 0; }

/* ================================================================
   MASQUER L'ANCIENNE MISE EN PAGE
   ================================================================ */
#top_header       { display: none !important; }
#barre_liens_fond { display: none !important; }
/* Ancienne barre info horizontale + colonne droite */
#barre_info       { display: none !important; }
.bloc_info_right  { display: none !important; }
/* Ancien menu nav horizontal (barre_liens) */
nav#barre_liens, #barre_liens { display: none !important; }
/* Ancien menu horizontal catégories — remplacé par les cartes MB */
#bloc_categories_new { display: none !important; }
/* Ancienne colonne de droite (carte + carrousel) */
/* Ancienne bannière "Cartes à la une" — visuel orange/blanc fond_carte_une.png, vide */
#menu_carte_premium { display: none !important; }
/* Suppression de l'ancien menu hamburger mobile inline */

/* ================================================================
   REMPLACEMENT DU VERT PAR L'OR MAD BREIZH — surcharge globale
   ================================================================ */

/* Liens et accents verts → or */
a.vert, .vert_1, .vert, .vert_fluo           { color: var(--mb-or) !important; }
.lien_foot { color: var(--mb-or-clair) !important; }

/* Boutons verts → or */
input[type="submit"],
input[type="button"],
button[type="submit"] {
  background: var(--mb-or) !important;
  color: var(--mb-fond) !important;
  border: none !important;
  font-family: var(--mb-font-titre) !important;
  font-weight: 700 !important;
  letter-spacing: 1px !important;
  border-radius: var(--mb-radius) !important;
  cursor: pointer !important;
  padding: 8px 20px !important;
  transition: background var(--mb-transition) !important;
}
input[type="submit"]:hover,
input[type="button"]:hover,
button[type="submit"]:hover {
  background: var(--mb-or-clair) !important;
}

/* Bouton dark-toggle */
#dark-toggle { color: var(--mb-or) !important; border-color: var(--mb-border-vif) !important; }
#dark-toggle:hover { border-color: var(--mb-or) !important; color: var(--mb-or-clair) !important; }

/* Bandeau cookies RGPD */
#cda-cookie-banner {
  position: fixed;
  bottom: 0; left: 0; right: 0;
  background: #1f2937;
  color: #f9fafb;
  padding: 14px 20px;
  z-index: 99999;
  align-items: center;
  flex-wrap: wrap;
  gap: 12px;
  box-shadow: 0 -2px 12px rgba(0,0,0,.3);
  font-size: 13px;
  font-family: Tahoma, Arial, sans-serif;
}
.mb-cookie-text { flex: 1; min-width: 220px; }
.mb-cookie-link { color: #86efac; text-decoration: underline; }
.mb-cookie-actions { display: flex; gap: 8px; flex-shrink: 0; }
.mb-cookie-btn-refuse { background: #374151; color: #f9fafb; border: 1px solid #6b7280; padding: 6px 18px; border-radius: 4px; cursor: pointer; font-size: 13px; }
.mb-cookie-btn-accept { background: #c9a84c; color: #fff; border: none; padding: 6px 18px; border-radius: 4px; cursor: pointer; font-size: 13px; font-weight: bold; }

/* Cookie banner "Accepter" */
#cda-cookie-accept { background: var(--mb-or) !important; color: var(--mb-fond) !important; font-weight: 700 !important; }
#cda-cookie-accept:hover { background: var(--mb-or-clair) !important; }

/* Chatbot FAB */
#chatbot-btn { background: var(--mb-or) !important; color: var(--mb-fond) !important; }
#chatbot-btn:hover { background: var(--mb-or-clair) !important; }
#chatbot-hd  { background: var(--mb-or) !important; color: var(--mb-fond) !important; }
#chatbot-send { background: var(--mb-or) !important; color: var(--mb-fond) !important; }
#chatbot-send:hover { background: var(--mb-or-clair) !important; }
.cb-msg-u { background: var(--mb-or) !important; color: var(--mb-fond) !important; }
#chatbot-inp:focus { border-color: var(--mb-or) !important; }

/* Footer title underline */
.footer-title { border-bottom-color: var(--mb-border-vif) !important; }

/* Barre catégories (cat-link) */
.footer-cat-link {
  background: var(--mb-carte) !important;
  color: var(--mb-or) !important;
  border: 1px solid var(--mb-border) !important;
}
.footer-cat-link:hover {
  background: var(--mb-or) !important;
  color: var(--mb-fond) !important;
}

/* Progression formulaire dépôt */
.prog-step.done .prog-num { background: var(--mb-or) !important; border-color: var(--mb-or) !important; }
.prog-step.done .prog-lbl { color: var(--mb-or) !important; }

/* Autocomplétion recherche */
.ac-icon-cat .ac-lbl { color: var(--mb-or) !important; }

#fond_site_1,
#fond_site_2 {
  width: 100% !important;
  max-width: none !important;
  margin: 0 !important;
  padding: 0 !important;
  box-shadow: none !important;
  border-radius: 0 !important;
  background: transparent !important;
}

/* ================================================================
   SIDEBAR FIXE
   ================================================================ */
#mb-sidebar {
  position: fixed;
  top: 0; left: 0;
  width: var(--mb-sidebar-w);
  height: 100vh;
  background: #222222;
  border-right: 1px solid var(--mb-border);
  display: flex;
  flex-direction: column;
  z-index: 1000;
  overflow-y: auto;
  overflow-x: hidden;
  transition: transform var(--mb-transition);
  scrollbar-width: thin;
  scrollbar-color: var(--mb-border) transparent;
}

#mb-sidebar::-webkit-scrollbar { width: 4px; }
#mb-sidebar::-webkit-scrollbar-thumb { background: var(--mb-border); border-radius: 2px; }

/* Logo */
#mb-sb-logo {
  padding: 18px 14px 14px;
  border-bottom: 1px solid var(--mb-border);
  flex-shrink: 0;
}
#mb-sb-logo a { display: block; }
#mb-sb-logo img, #mb-sb-logo object {
  width: 100%;
  max-width: 220px;
  height: auto;
  display: block;
  border-radius: 4px;
  border: none;
}

/* Navigation */
#mb-sb-nav { flex: 1; padding: 10px 0 6px; }

.mb-nav-section { margin-bottom: 4px; }

.mb-nav-section-label {
  font-family: var(--mb-font-titre);
  font-size: 8.5px;
  letter-spacing: 2.5px;
  text-transform: uppercase;
  color: var(--mb-or);
  opacity: .6;
  padding: 10px 16px 3px;
  display: block;
}

/* ---- SÉLECTEUR DE LANGUE ---- */
.mb-lang-switcher {
  display: flex;
  align-items: center;
  gap: 5px;
  padding: 10px 14px 8px;
  border-bottom: 1px solid var(--mb-border);
}
.mb-lang-btn {
  flex: 1;
  background: transparent;
  border: 1px solid var(--mb-border);
  color: var(--mb-creme-pale);
  border-radius: var(--mb-radius);
  padding: 5px 2px;
  font-size: 10.5px;
  font-family: var(--mb-font-corps);
  font-weight: 600;
  letter-spacing: .2px;
  cursor: pointer;
  transition: background var(--mb-transition), border-color var(--mb-transition), color var(--mb-transition);
  text-align: center;
  white-space: nowrap;
  line-height: 1.3;
}
.mb-lang-btn:hover {
  background: rgba(201,168,76,.12);
  border-color: var(--mb-border-vif);
  color: var(--mb-or);
}
.mb-lang-btn.active {
  background: rgba(201,168,76,.18);
  border-color: var(--mb-or);
  color: var(--mb-or);
  font-weight: 700;
}
.mb-lang-btn:disabled {
  cursor: default;
  opacity: .55;
}
.mb-lang-flag-br { vertical-align: middle; margin-right: 3px; border-radius: 3px; }

.mb-nav-item {
  display: flex;
  align-items: center;
  gap: 10px;
  padding: 9px 16px;
  color: var(--mb-creme-pale);
  font-size: 13px;
  font-family: var(--mb-font-corps);
  text-decoration: none;
  transition: background var(--mb-transition), color var(--mb-transition);
  position: relative;
  white-space: nowrap;
}
.mb-nav-item:hover {
  background: rgba(201,168,76,.12);
  color: var(--mb-or);
}
.mb-nav-item.active {
  background: rgba(201,168,76,.14);
  color: var(--mb-or);
  border-left: 3px solid var(--mb-or);
  padding-left: 13px;
}
.mb-nav-item .mb-ico {
  font-size: 15px;
  min-width: 26px;
  text-align: center;
  flex-shrink: 0;
  border: 1px solid rgba(201,168,76,.2);
  border-radius: 4px;
  padding: 2px 4px;
}
.mb-nav-item .ti, .mb-sb-logout .ti, .mb-sb-btn-gold .ti, .mb-sb-btn-orange .ti, .mb-sb-btn-pro .ti {
  font-size: 16px;
  min-width: 26px;
  text-align: center;
  flex-shrink: 0;
  vertical-align: -2px;
}
.mb-nav-item-btn { background: none; border: none; width: 100%; text-align: left; cursor: pointer; color: inherit; }

/* ===== Search Drawer contextuel ===== */
#mb-sp-overlay {
  display: none;
  position: fixed; inset: 0;
  background: rgba(0,0,0,.6);
  z-index: 1100;
}
#mb-sp-overlay.open { display: block; }

@keyframes mbSdrIn {
  from { transform: translateX(100%); }
  to   { transform: translateX(0); }
}
#mb-sp {
  display: none;
  position: fixed;
  top: 0; right: 0; bottom: 0;
  width: min(100vw, 400px);
  height: fit-content !important;
  max-height: 90vh;
  overflow-y: auto;
  background: #111108;
  border-left: 1.5px solid #C9A227;
  z-index: 1200;
  box-shadow: -4px 0 40px rgba(0,0,0,.75);
}
#mb-sp.open {
  display: block;
  animation: mbSdrIn .28s cubic-bezier(.4,0,.2,1);
}
@media (max-width: 600px) {
  #mb-sp { width: 100vw; border-left: none; }
}

.mb-sp-head {
  display: flex;
  align-items: center;
  justify-content: space-between;
  padding: 14px 16px 12px;
  border-bottom: 1px solid #2a2a1a;
  position: sticky; top: 0;
  background: #111108;
  z-index: 1;
}
.mb-sp-title {
  font-family: var(--mb-font-titre);
  font-size: 14px;
  color: #C9A227;
  letter-spacing: 1px;
}
.mb-sp-close {
  background: none; border: none; cursor: pointer;
  color: #888; font-size: 20px; line-height: 1;
  padding: 4px 6px;
  transition: color .15s;
}
.mb-sp-close:hover { color: #C9A227; }

.mb-sp-body { padding: 16px; display: flex; flex-direction: column; gap: 10px; }
.mb-sdr-hint { font-size: 12px; color: #999; margin: 0; }

/* -- Anciens inputs drawer (contextes immo/cartes/boutiques) -- */

/* -- Inputs drawer annonces (charte Mad Breizh) -------------- */
.mb-sdr-input, .mb-sdr-select {
  width: 100%;
  background: #1a1a0e;
  border: 1px solid #2a2a1a;
  border-radius: 6px;
  color: #ddd;
  font-size: 13px;
  padding: 8px 10px;
  box-sizing: border-box;
  outline: none;
  transition: border-color .15s;
}
.mb-sdr-input:focus, .mb-sdr-select:focus { border-color: #C9A227; }
.mb-sdr-input::placeholder { color: #666; font-style: italic; }
.mb-sdr-select option { background: #1a1a0e; color: #ddd; }
.mb-sdr-row2 { display: flex; gap: 8px; }
.mb-sdr-row2--center { align-items: center; gap: 6px; }
.mb-sdr-row2--tight { margin-top: 4px; }
.mb-sdr-dash { color: #C9A227; font-size: 14px; flex-shrink: 0; }
.mb-sdr-input-sm {
  flex: 1;
  background: #1a1a0e;
  border: 1px solid #2a2a1a;
  border-radius: 6px;
  color: #ddd;
  font-size: 13px;
  padding: 8px 10px;
  box-sizing: border-box;
  outline: none;
  transition: border-color .15s;
}
.mb-sdr-input-sm:focus { border-color: #C9A227; }
.mb-sdr-input-sm::placeholder { color: #666; font-style: italic; }
.mb-sdr-btn {
  flex: 2;
  background: var(--mb-orange);
  color: #fff;
  border: none;
  border-radius: 6px;
  font-size: 13px;
  font-weight: 700;
  letter-spacing: 1px;
  padding: 10px;
  cursor: pointer;
  margin-top: 4px;
  transition: background .15s;
}
.mb-sdr-btn:hover { background: #d0600a; }
.mb-sdr-btn--flush { margin-top: 0; }

.mb-sdr-reset {
  flex: 1;
  background: transparent;
  border: 1px solid #444430;
  border-radius: 6px;
  color: #999;
  font-size: 12px;
  padding: 10px 6px;
  cursor: pointer;
  transition: border-color .15s, color .15s;
}
.mb-sdr-reset:hover { border-color: #C9A227; color: #C9A227; }

/* -- Label de section --------------------------------------- */
.mb-sdr-section-label {
  font-size: 10px;
  font-weight: 700;
  letter-spacing: .08em;
  color: #666;
  text-transform: uppercase;
  margin: 6px 0 2px;
  padding-bottom: 4px;
  border-bottom: 1px solid #222210;
}
.mb-sdr-label-mt { margin-top: 6px; }

/* -- Pills catégories ---------------------------------------- */
.mb-sdr-cats {
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
  gap: 6px;
  padding: 2px 0 4px;
}
.mb-sdr-pill .ti { margin-right: 3px; font-size: 13px; vertical-align: -1px; }
.mb-sdr-pill {
  display: inline-block;
  padding: 4px 10px;
  border-radius: 6px;
  border: 1px solid #333320;
  background: #1a1a12;
  color: #bbb;
  font-size: 11px;
  cursor: pointer;
  transition: border-color .15s, color .15s, background .15s;
  white-space: nowrap;
}
.mb-sdr-pill:hover {
  border-color: #C9A227;
  color: #C9A227;
}
.mb-sdr-pill.active {
  border-color: #C9A227;
  background: #2a2600;
  color: #C9A227;
  font-weight: 600;
}

/* -- Chip filtre actif ---------------------------------------- */
.mb-sdr-chips { display: flex; flex-wrap: wrap; gap: 4px; min-height: 0; }
.mb-sdr-chip {
  display: inline-flex;
  align-items: center;
  gap: 4px;
  padding: 3px 8px;
  border-radius: 4px;
  background: #2a2600;
  border: 1px solid #C9A227;
  color: #C9A227;
  font-size: 11px;
  font-weight: 600;
}
.mb-sdr-chip-x {
  cursor: pointer;
  font-size: 13px;
  line-height: 1;
  opacity: .7;
  transition: opacity .15s;
}
.mb-sdr-chip-x:hover { opacity: 1; }

/* -- Suggestions AJAX ---------------------------------------- */
.mb-sdr-suggest-wrap { position: relative; }
.mb-sdr-suggest {
  position: absolute;
  top: 100%;
  left: 0;
  right: 0;
  z-index: 900;
  background: #1a1a0e;
  border: 1px solid #2a2a1a;
  border-top: none;
  border-radius: 0 0 6px 6px;
  max-height: 220px;
  overflow-y: auto;
  display: none;
}
.mb-sdr-suggest.open { display: block; }
.mb-sdr-suggest-item {
  padding: 7px 10px;
  font-size: 12px;
  color: #ccc;
  cursor: pointer;
  border-bottom: 1px solid #222210;
  transition: background .1s;
}
.mb-sdr-suggest-item:last-child { border-bottom: none; }
.mb-sdr-suggest-item:hover, .mb-sdr-suggest-item.active {
  background: #2a2600;
  color: #C9A227;
}
.mb-sdr-suggest-ico {
  margin-right: 6px;
  font-size: 13px;
  vertical-align: middle;
}
.mb-sdr-suggest-item small {
  color: #666;
  font-size: 10px;
  margin-left: 6px;
}

/* -- Bloc filtres adaptatifs (contexte) ---------------------- */
.mb-sdr-spec {
  background: #1a1a12;
  border: 1px solid #2a2a1a;
  border-radius: 6px;
  padding: 12px;
  display: flex;
  flex-direction: column;
  gap: 8px;
}

/* -- Bouton filtres avancés ---------------------------------- */
.mb-sdr-adv-toggle {
  background: #1a1a0e;
  border: 1px solid #444;
  border-radius: 6px;
  color: #aaa;
  font-size: 12px;
  font-weight: 600;
  text-align: left;
  cursor: pointer;
  padding: 8px 12px;
  transition: border-color .15s, color .15s;
  width: 100%;
}
.mb-sdr-adv-toggle:hover { border-color: #C9A227; color: #e8c96a; }
.mb-sdr-adv-toggle::before { content: '▸ '; }
.mb-sdr-adv-toggle.open::before { content: '▾ '; }

/* -- Section filtres avancés (masquée par défaut) ------------ */
.mb-sdr-adv {
  display: none;
  flex-direction: column;
  gap: 8px;
  padding-top: 4px;
  border-top: 1px solid #2a2a1a;
}
.mb-sdr-adv.open { display: flex; }

/* -- Grilles 2 et 3 colonnes --------------------------------- */
.mb-sdr-grid2 {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 8px;
}
.mb-sdr-grid3 {
  display: grid;
  grid-template-columns: 1fr 1fr 1fr;
  gap: 8px;
}
@media (max-width: 360px) {
  .mb-sdr-grid3 { grid-template-columns: 1fr 1fr; }
}

/* -- Ligne slider (prix, surface) ---------------------------- */
.mb-sdr-slider-row {
  display: flex;
  align-items: center;
  gap: 8px;
}
.mb-sdr-slider-row label {
  font-size: 11px;
  color: #C9A227;
  min-width: 68px;
  flex-shrink: 0;
  font-weight: 600;
}
.mb-sdr-slider-row input[type=range] {
  flex: 1;
  accent-color: #C9A227;
  background: transparent;
}
.mb-sdr-slider-row span {
  min-width: 38px;
  text-align: right;
  font-size: 11px;
  color: #C9A227;
  white-space: nowrap;
}
/* ===== /Search Drawer ===== */

.mb-badge {
  margin-left: auto;
  background: var(--mb-orange);
  color: #fff;
  font-size: 10px;
  font-weight: 700;
  border-radius: 10px;
  padding: 1px 6px;
  min-width: 18px;
  text-align: center;
  flex-shrink: 0;
}

.mb-nav-sep {
  height: 1px;
  background: var(--mb-border);
  margin: 6px 14px;
}
.mb-nav-widget-badge {
  display: block;
  text-align: center;
  margin: 4px auto;
  font-size: 11px;
  color: #C4622D;
  padding: 3px 10px;
  border: 1px solid #C4622D44;
  border-radius: 20px;
  text-decoration: none;
  width: fit-content;
}

/* Profil utilisateur (bas sidebar) */

.mb-avatar {
  width: 34px; height: 34px;
  border-radius: 50%;
  background: linear-gradient(135deg, var(--mb-or-clair), var(--mb-or-sombre));
  color: var(--mb-fond);
  display: flex; align-items: center; justify-content: center;
  font-family: var(--mb-font-titre);
  font-size: 13px; font-weight: 700;
  flex-shrink: 0;
  border: 1px solid var(--mb-or);
}

/* ================================================================
   SIDEBAR — CARDS UTILISATEUR
   ================================================================ */

/* Badge or (favoris) */
.mb-badge-or { background: var(--mb-or) !important; color: var(--mb-fond) !important; }

/* VERSION 1 — Auth (non connecté) */
.mb-sb-auth-card {
  display: flex;
  flex-direction: column;
  gap: 8px;
  padding: 10px 14px 14px;
}
.mb-sb-btn-gold {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 8px;
  padding: 9px 14px;
  background: var(--mb-or);
  color: var(--mb-fond);
  font-family: var(--mb-font-titre);
  font-size: 12px;
  font-weight: 700;
  letter-spacing: .5px;
  border-radius: var(--mb-radius);
  text-decoration: none;
  transition: background var(--mb-transition);
}
.mb-sb-btn-gold:hover { background: var(--mb-or-clair); color: var(--mb-fond); }
.mb-sb-btn-orange {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 8px;
  padding: 9px 14px;
  background: var(--mb-orange);
  color: #fff;
  font-family: var(--mb-font-titre);
  font-size: 12px;
  font-weight: 700;
  letter-spacing: .5px;
  border-radius: var(--mb-radius);
  text-decoration: none;
  transition: background var(--mb-transition);
}
.mb-sb-btn-orange:hover { background: var(--mb-orange-sombre); color: #fff; }

/* VERSION 2 PART / VERSION 3 PRO — Profile card */
.mb-sb-profile-card {
  margin: 6px 12px 8px;
  border-radius: var(--mb-radius);
  padding: 11px;
  border: 1px solid rgba(201,168,76,.25);
  background: rgba(201,168,76,.04);
}
.mb-sb-card-part { border-color: rgba(201,168,76,.28); }
.mb-sb-card-pro  { border-color: rgba(201,168,76,.48); background: rgba(201,168,76,.07); }

.mb-sb-card-head {
  display: flex;
  align-items: center;
  gap: 9px;
  margin-bottom: 9px;
}
.mb-sb-card-badge {
  font-family: var(--mb-font-titre);
  font-size: 8.5px;
  font-weight: 700;
  letter-spacing: 2px;
  border-radius: 3px;
  padding: 2px 6px;
  display: inline-block;
  margin-bottom: 3px;
}
.mb-sb-card-badge.part { background: rgba(201,168,76,.12); color: var(--mb-or); border: 1px solid rgba(201,168,76,.32); }
.mb-sb-card-badge.pro  { background: rgba(201,168,76,.22); color: var(--mb-or-clair); border: 1px solid var(--mb-or); }

.mb-sb-card-email {
  font-size: 10px;
  color: var(--mb-creme-pale);
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
  max-width: 148px;
}

/* Stats grid */
.mb-sb-stats { display: grid; gap: 5px; margin-bottom: 8px; }
.mb-sb-stats-3 { grid-template-columns: repeat(3, 1fr); }
.mb-sb-stats-4 { grid-template-columns: repeat(4, 1fr); }
.mb-sb-stat {
  background: rgba(0,0,0,.28);
  border: 1px solid rgba(201,168,76,.12);
  border-radius: 4px;
  padding: 5px 3px;
  text-align: center;
}
.mb-sb-stat-val { font-size: 14px; font-weight: 700; color: var(--mb-or); font-family: var(--mb-font-titre); line-height: 1; }
.mb-sb-stat-lbl { font-size: 8px; color: var(--mb-creme-pale); margin-top: 3px; line-height: 1; text-transform: uppercase; letter-spacing: .4px; }

/* Bouton Passer PRO */
.mb-sb-btn-pro {
  display: flex;
  align-items: center;
  justify-content: center;
  padding: 7px 10px;
  background: linear-gradient(135deg, var(--mb-or-sombre), var(--mb-or));
  color: var(--mb-fond);
  font-family: var(--mb-font-titre);
  font-size: 11px;
  font-weight: 700;
  letter-spacing: .5px;
  border-radius: 4px;
  text-decoration: none;
  transition: opacity var(--mb-transition);
}
.mb-sb-btn-pro:hover { opacity: .82; color: var(--mb-fond); }

/* Barre de progression (VERSION 3) */
.mb-sb-progress-wrap {
  height: 5px;
  background: rgba(201,168,76,.12);
  border-radius: 3px;
  margin: 6px 0 4px;
  overflow: hidden;
}
.mb-sb-progress-bar {
  height: 100%;
  background: linear-gradient(to right, var(--mb-or-sombre), var(--mb-or));
  border-radius: 3px;
  min-width: 5%;
}

/* Alerte crédits */
.mb-sb-credits-alert {
  font-size: 10.5px;
  color: var(--mb-orange);
  border: 1px solid rgba(255,107,0,.22);
  background: rgba(255,107,0,.07);
  border-radius: 4px;
  padding: 5px 8px;
  margin-top: 5px;
}
.mb-sb-credits-alert a { color: var(--mb-or); font-weight: 700; }

/* Avatar PRO */
.mb-avatar-pro {
  background: linear-gradient(135deg, var(--mb-or), var(--mb-orange));
  border-color: var(--mb-orange);
}

/* Bouton déconnexion */
.mb-sb-logout {
  display: flex;
  align-items: center;
  gap: 10px;
  padding: 11px 16px;
  color: rgba(240,230,200,.35);
  font-size: 12px;
  text-decoration: none;
  border-top: 1px solid var(--mb-border);
  flex-shrink: 0;
  transition: color var(--mb-transition), background var(--mb-transition);
  margin-top: auto;
}
.mb-sb-logout:hover { color: var(--mb-orange); background: rgba(255,107,0,.06); }

/* ================================================================
   ZONE PRINCIPALE (offset sidebar)
   ================================================================ */
body.mb-layout { padding-left: var(--mb-sidebar-w) !important; }

/* Réinitialiser les anciens conteneurs gris */
#fond_site_1, #fond_site_2 {
  background: transparent !important;
  width: 100% !important;
  float: none !important;
  margin: 0 !important;
  padding: 0 !important;
}
#bloc_center, #middle_bloc_center {
  background: transparent !important;
  width: 100% !important;
  float: none !important;
  clear: both;
  margin: 0 !important;
}

/* ================================================================
   BOUTON HAMBURGER (mobile)
   ================================================================ */
#mb-hamburger {
  display: none;
  position: fixed;
  top: 10px; left: 10px;
  z-index: 1100;
  background: var(--mb-carte);
  border: 1px solid var(--mb-border-vif);
  border-radius: var(--mb-radius);
  padding: 7px 10px;
  cursor: pointer;
  color: var(--mb-or);
  font-size: 20px;
  line-height: 1;
  align-items: center;
  justify-content: center;
  box-shadow: var(--mb-shadow);
}

#mb-overlay {
  display: none;
  position: fixed;
  inset: 0;
  background: rgba(0,0,0,.65);
  z-index: 999;
}
#mb-overlay.open { display: block; }

/* ================================================================
   COMPOSANTS GÉNÉRIQUES
   ================================================================ */
.mb-card {
  background: var(--mb-carte);
  border: 1px solid var(--mb-border);
  border-radius: var(--mb-radius);
  padding: 16px;
  margin-bottom: 14px;
}

.mb-btn {
  display: inline-block;
  padding: 8px 18px;
  background: var(--mb-or);
  color: var(--mb-fond);
  font-family: var(--mb-font-titre);
  font-size: 12px;
  font-weight: 700;
  letter-spacing: 1px;
  border-radius: var(--mb-radius);
  border: none;
  cursor: pointer;
  transition: background var(--mb-transition);
  text-decoration: none;
}
.mb-btn:hover { background: var(--mb-or-clair); color: var(--mb-fond); }

/* Sections KPI / stat */

/* Tables */

/* Inputs / forms */
input[type="text"], input[type="email"], input[type="password"], input[type="number"],
input[type="search"], textarea, select {
  background: #1a1a1a !important;
  color: var(--mb-creme) !important;
  border: 1px solid var(--mb-border) !important;
  border-radius: var(--mb-radius) !important;
  padding: 7px 10px;
  font-family: var(--mb-font-corps);
  font-size: 13px;
  transition: border-color var(--mb-transition);
}
input:focus, textarea:focus, select:focus {
  outline: none;
  border-color: var(--mb-or) !important;
}

/* Annonce cards existantes */
.ann_aff, [class*="ann_"] {
  background: var(--mb-carte) !important;
  border: 1px solid var(--mb-border) !important;
  border-radius: var(--mb-radius) !important;
  color: var(--mb-creme) !important;
}

/* ================================================================
   FOOTER
   ================================================================ */

/* ===== FOOTER MODERNE (base) — déplacé depuis includes/functions_html.php pour validation W3C ===== */
#footer-modern {
	background: #2d2d2d;
	color: #ccc;
	margin-top: 30px;
	padding: 0;
	font-family: Tahoma, Arial, sans-serif;
	font-size: 0.85em;
	width: 100%;
}
#footer-inner {
	display: flex;
	flex-wrap: wrap;
	max-width: 960px;
	margin: 0 auto;
	padding: 14px 15px 8px;
	gap: 20px;
}
.footer-col {
	flex: 1;
	min-width: 160px;
}
.footer-title {
	color: #fff;
	font-size: 0.95em;
	text-transform: uppercase;
	letter-spacing: 1px;
	margin: 0 0 6px 0;
	padding-bottom: 4px;
	border-bottom: 1px solid #c9a84c;
}
.footer-links {
	list-style: none;
	margin: 0;
	padding: 0;
}
.footer-links li {
	margin-bottom: 5px;
}
.footer-links a {
	color: #bbb;
	text-decoration: none;
	transition: color 0.2s;
}
.footer-links a:hover {
	color: #e8c96a;
}
.footer-links span {
	color: #999;
}
#footer-bottom {
	background: #1a1a1a;
	text-align: center;
	padding: 7px 15px;
	color: #888;
	font-size: 0.8em;
}
#footer-bottom a {
	color: #e8c96a;
	text-decoration: none;
}
#footer-bottom a:hover {
	text-decoration: underline;
}
.footer-sep {
	margin: 0 8px;
	color: #555;
}
.mb-footer-version { font-size: 10px; color: #888; margin-left: 10px; }
.mb-footer-link-muted { color: #aaa; }
.mb-footer-cookie-btn { background: none; border: none; color: #aaa; cursor: pointer; font-size: 12px; padding: 0; }
#bloc_categories_inner {
	max-width: 960px;
	margin: 0 auto;
	padding: 0 15px;
}
.footer-cats-list {
	display: flex;
	flex-wrap: nowrap;
	gap: 4px 8px;
	overflow-x: auto;
	align-items: center;
	justify-content: center;
}
.footer-cat-link {
	background: #B1B1B1;
	color: #fff !important;
	text-decoration: none;
	padding: 3px 7px;
	border-radius: 3px;
	font-family: Arial;
	font-size: 0.72em;
	text-transform: uppercase;
	font-weight: bold;
	transition: background 0.2s;
	white-space: nowrap;
	flex-shrink: 0;
}
body.dark-mode .footer-cat-link {
	background: #4b5563;
}
.footer-cat-link:hover {
	background: #c9a84c !important;
	color: #fff !important;
}

/* Bande d'hermines décorative */
#mb-hermine-band {
  height: 1px;
  background: linear-gradient(to right, transparent, var(--mb-or) 50%, transparent);
  opacity: .55;
  user-select: none;
}

footer#footer-modern {
  background: #1a1a0f !important;
  color: var(--mb-creme-pale) !important;
  border-top: 1px solid var(--mb-border) !important;
  font-family: var(--mb-font-corps) !important;
  margin-top: 0 !important;
}

footer#footer-modern .footer-title {
  font-family: var(--mb-font-titre) !important;
  color: var(--mb-or) !important;
  font-size: 10px !important;
  letter-spacing: 2px !important;
  text-transform: uppercase !important;
  border-bottom-color: var(--mb-border) !important;
  padding-bottom: 6px;
}

footer#footer-modern .footer-links a { color: var(--mb-creme-pale) !important; }
footer#footer-modern .footer-links a:hover { color: var(--mb-or-clair) !important; }

#footer-inner { max-width: none !important; padding: 14px 32px 8px !important; }

#footer-bottom {
  background: #080808 !important;
  color: rgba(240,230,200,.55) !important;
  border-top: 1px solid var(--mb-border) !important;
}
#footer-bottom a { color: var(--mb-or) !important; }

/* ================================================================
   RESPONSIVE MOBILE — DRAWER SIDEBAR
   ================================================================ */

/* --- 800px : tablette / mobile --- */
@media (max-width: 800px) {

  /* Sidebar : masquée à gauche, glisse avec .open */
  #mb-sidebar {
    transform: translateX(-100%);
    width: 264px;
    --mb-sidebar-w: 264px;
    box-shadow: 4px 0 24px rgba(0,0,0,.7);
  }
  #mb-sidebar.open { transform: translateX(0); }

  /* Hamburger : visible, cible tactile correcte */
  #mb-hamburger {
    display: flex;
    top: 10px;
    left: 10px;
    padding: 9px 12px;
    font-size: 21px;
    min-width: 44px;
    min-height: 44px;
  }

  /* Contenu : enlever le padding-left sidebar, ajouter padding-top hamburger */
  body.mb-layout {
    padding-left: 0 !important;
    padding-top: 58px !important;
  }

  /* Conteneurs principaux : pleine largeur */
  #fond_site_1, #fond_site_2,
  #bloc_center, #middle_bloc_center {
    width: 100% !important;
    max-width: 100% !important;
    box-sizing: border-box !important;
    padding-left: 6px !important;
    padding-right: 6px !important;
  }

  /* Conteneurs formulaires */
  #corps, #corps_form, #corps_upload {
    max-width: 100% !important;
    padding: 0 6px 16px !important;
  }

  /* Stats profil : wrap compact */
  .bord-stat   { min-width: 68px !important; padding: 6px 8px !important; }
  .bord-links  { gap: 5px !important; }

  /* Tableaux stats : défilement horizontal */
  .sa-table {
    display: block !important;
    overflow-x: auto !important;
    white-space: nowrap !important;
  }

  /* Page annonce : empiler les colonnes */
  #bloc_infos_ann   { flex-direction: column !important; }
  #bloc_info_ann_left,
  #bloc_info_ann_right { width: 100% !important; max-width: 100% !important; }
  #bloc_contact_ann { margin: 0 0 12px !important; }
  #bloc_action_ann  { margin: 12px 0 0 !important; }

  /* Vitrine : empiler le header */

  /* Annonces à la une : 2 colonnes */
  .mb-ads-grid { grid-template-columns: repeat(2, 1fr) !important; }

  /* Booster / renouvellement : pleine largeur */
}

/* --- 480px : téléphones étroits --- */
@media (max-width: 480px) {
  body.mb-layout { padding-top: 54px !important; }

  #mb-hamburger { top: 7px; left: 7px; padding: 8px 11px; font-size: 20px; }

  /* Une colonne pour les annonces à la une */
  .mb-ads-grid { grid-template-columns: 1fr !important; }

  /* Stats plus compactes */
  .bord-stat { min-width: 58px !important; }

  /* Listing cards : réduire photo */
  .bloc_photo_listing img { width: 80px !important; height: auto !important; }
}

/* ================================================================
   ANNONCES À LA UNE — Mad Breizh
   ================================================================ */
.mb-ads-title {
  font-family: var(--mb-font-titre);
  font-size: 13px;
  letter-spacing: 2.5px;
  text-transform: uppercase;
  color: var(--mb-or);
  margin: 0 0 14px;
  padding-bottom: 8px;
  border-bottom: 1px solid var(--mb-border-vif);
  display: flex;
  align-items: center;
  gap: 8px;
}
.mb-ads-grid {
  display: grid;
  grid-template-columns: repeat(5, 1fr);
  gap: 12px;
}
.mb-ad-card {
  background: var(--mb-carte);
  border: 1px solid var(--mb-border);
  border-radius: var(--mb-radius);
  overflow: hidden;
  transition: border-color var(--mb-transition), transform var(--mb-transition);
  display: flex;
  flex-direction: column;
}
.mb-ad-card:hover {
  border-color: var(--mb-border-vif);
  transform: translateY(-2px);
}
.mb-ad-img-wrap {
  width: 100%;
  height: 110px;
  overflow: hidden;
  background: #1a1a1a;
  display: flex;
  align-items: center;
  justify-content: center;
}
.mb-ad-img-wrap img {
  width: 100%;
  height: 110px;
  object-fit: cover;
  border-radius: 0;
}
.mb-ad-body {
  padding: 8px 10px;
  flex: 1;
  display: flex;
  flex-direction: column;
  gap: 3px;
}
.mb-ad-title-link {
  color: var(--mb-creme) !important;
  font-size: 12.5px;
  font-weight: 700;
  line-height: 1.3;
  text-decoration: none;
  display: -webkit-box;
  -webkit-line-clamp: 2;
  -webkit-box-orient: vertical;
  overflow: hidden;
}
.mb-ad-title-link:hover { color: var(--mb-or) !important; }
.mb-ad-loc {
  font-size: 11px;
  color: var(--mb-creme-pale);
  opacity: .8;
}
.mb-ad-cta {
  display: flex;
  align-items: center;
  justify-content: center;
  text-align: center;
  font-size: 12px;
  color: var(--mb-creme-pale);
  flex-direction: column;
  gap: 8px;
  padding: 16px 10px;
  height: 100%;
  min-height: 160px;
}
.mb-ad-cta a { color: var(--mb-or); font-size: 11px; text-decoration: underline; }

#mb-top-vitrines {
  padding: 20px 24px 10px;
  max-width: 1200px;
}
.mb-ad-logo-wrap img {
  object-fit: contain !important;
  padding: 8px;
  background: #111;
}
.mb-ad-cat {
  font-size: 10px;
  color: var(--mb-orange);
  text-transform: uppercase;
  letter-spacing: 1px;
  opacity: .9;
}

/* ================================================================
   CARROUSEL MAD BREIZH
   ================================================================ */
#mb-piecemaker .pm-slide {
  position: absolute;
  inset: 0;
  display: none;
}
#mb-piecemaker .pm-slide img {
  width: 100%;
  height: 200px;
  object-fit: cover;
  border-radius: 0;
  opacity: .85;
}

/* ================================================================
   DARK MODE compat (la charte EST déjà sombre)
   ================================================================ */
body.dark-mode #fond_site_1,
body.dark-mode #fond_site_2 { background: transparent !important; }

/* ================================================================
   CARTE DE VISITE WEB — listing + page détail
   ================================================================ */

/* Listing cartes : conteneurs */

/* Nom de l'entreprise — or vif */
.fond_carte_visite_1 .p_titre_listing,
.fond_carte_visite_2 .p_titre_listing,
.fond_carte_visite_1 a:hover .p_titre_listing,
.fond_carte_visite_2 a:hover .p_titre_listing { color: var(--mb-or-clair) !important; }

/* Icônes de contact / réseaux sociaux — badges compacts orange Mad Breizh */

/* Listing cartes : lien wrapper */

/* Listing cartes : blocs internes — gauche: nom/catégorie/adresse, centre: photo, droite: description */

/* Bloc de recherche compact — listing cartes de visite (remplace l'ancien formulaire fond blanc) */
/* Le formulaire reste en bas du flux PHP (il referme les conteneurs #fond_site_1/2),
   on le repositionne visuellement en haut via flex order, sans toucher au DOM. */
#middle_bloc_center:has(.mb-cv-search) {
  display: flex;
  flex-direction: column;
}
#middle_bloc_center:has(.mb-cv-search) > .mb-cv-search { order: -1; }
.mb-cv-search-form select.select_recherche {
  background: #1a1a1a !important;
  border: 1px solid var(--mb-or) !important;
  border-radius: var(--mb-radius) !important;
  color: var(--mb-creme) !important;
  font-family: var(--mb-font-corps) !important;
  font-size: 12px !important;
  padding: 8px 10px !important;
}
.mb-cv-search-form select.select_recherche:focus { border-color: var(--mb-or) !important; outline: none; }

/* ===== Carte de visite — page autonome (sans sidebar ni footer) ===== */
body.mb-cv-standalone {
  background: var(--mb-fond) !important;
  min-height: 100vh;
  display: flex;
  align-items: center;
  justify-content: center;
  padding: 40px 16px;
  box-sizing: border-box;
}
.mb-cv-card-wrap {
  position: relative;
  width: 100%;
  max-width: 900px;
  border: 1px solid var(--mb-or);
  border-radius: var(--mb-radius);
  padding: 28px;
  box-sizing: border-box;
}
.mb-cv-corner {
  position: absolute;
  width: 26px;
  height: 26px;
  pointer-events: none;
}
.mb-cv-corner.tl { top: -1px;    left: -1px;  border-top: 2px solid var(--mb-or); border-left: 2px solid var(--mb-or);  border-top-left-radius: 6px; }
.mb-cv-corner.tr { top: -1px;    right: -1px; border-top: 2px solid var(--mb-or); border-right: 2px solid var(--mb-or); border-top-right-radius: 6px; }
.mb-cv-corner.bl { bottom: -1px; left: -1px;  border-bottom: 2px solid var(--mb-or); border-left: 2px solid var(--mb-or); border-bottom-left-radius: 6px; }
.mb-cv-corner.br { bottom: -1px; right: -1px; border-bottom: 2px solid var(--mb-or); border-right: 2px solid var(--mb-or); border-bottom-right-radius: 6px; }

.mb-cv-standalone #bloc_center { width: 100% !important; }
.mb-cv-standalone #middle_bloc_center_cart.vcard.mb-cv {
  margin: 0 !important;
  max-width: none;
}

/* Page détail carte de visite — layout 2 colonnes */
#middle_bloc_center_cart.vcard.mb-cv {
  background: var(--mb-fond) !important;
  max-width: 900px;
  margin: 20px 24px !important;
  padding: 0 !important;
}
.mb-cv-grid {
  display: flex;
  flex-wrap: wrap;
  gap: 20px;
  margin-bottom: 16px;
}
.mb-cv-col {
  background: #111111;
  border: 1px solid var(--mb-border);
  border-radius: var(--mb-radius);
  padding: 18px;
  box-sizing: border-box;
}
.mb-cv-left {
  flex: 0 0 220px;
  text-align: center;
}
.mb-cv-right {
  flex: 1 1 380px;
}
.mb-cv-photo img {
  max-width: 100%;
  max-height: 180px;
  border-radius: var(--mb-radius) !important;
  border: 1px solid var(--mb-border) !important;
  object-fit: contain;
  background: #1a1a1a;
  padding: 6px;
  margin-bottom: 14px;
}

/* Boutons orange — vCard / QRcode */
.mb-cv-btn {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 8px;
  background: var(--mb-orange) !important;
  color: #111111 !important;
  font-weight: 700;
  font-size: 13px;
  text-decoration: none !important;
  border-radius: var(--mb-radius);
  padding: 10px 14px;
  margin-bottom: 14px;
  transition: background var(--mb-transition);
}
.mb-cv-btn:hover { background: var(--mb-orange-sombre) !important; }
.mb-cv-btn-ico { font-size: 16px; }

.mb-cv-qr {
  background: #1a1a1a;
  border: 1px solid var(--mb-border-vif);
  border-radius: var(--mb-radius);
  padding: 12px;
  text-align: center;
}
.mb-cv-qr-label {
  display: block;
  color: var(--mb-or);
  font-family: var(--mb-font-titre);
  font-size: 11px;
  letter-spacing: 1px;
  text-transform: uppercase;
  margin-bottom: 8px;
}
.mb-cv-qr img { border-radius: 4px; max-width: 100%; }

/* Colonne droite — infos */
.mb-cv-title {
  color: var(--mb-or) !important;
  font-family: var(--mb-font-titre) !important;
  font-size: 17px !important;
  margin: 0 0 12px !important;
  border-bottom: 1px solid var(--mb-border);
  padding-bottom: 8px;
}
.mb-cv-title .category { color: var(--mb-or-clair) !important; }
.mb-cv-title .fn.org   { color: var(--mb-creme) !important; }
.mb-cv-desc {
  color: var(--mb-creme-pale) !important;
  font-size: 13px !important;
  line-height: 1.7 !important;
  margin: 0 0 14px;
}
/* Colonne gauche — adresse, géolocalisation */
.mb-cv-addr {
  text-align: left;
  background: #1a1a1a;
  border: 1px solid var(--mb-border);
  border-radius: var(--mb-radius);
  padding: 10px 12px;
  margin-bottom: 12px;
  color: var(--mb-creme-pale);
  font-family: var(--mb-font-corps);
  font-size: 12px;
  line-height: 1.6;
}
.mb-cv-addr strong,
.mb-cv-horaires strong {
  color: var(--mb-or);
  font-family: var(--mb-font-titre);
  font-size: 11px;
  letter-spacing: 1px;
  text-transform: uppercase;
  display: inline-block;
  margin-bottom: 4px;
}
.mb-cv-geo {
  display: inline-block;
  margin-bottom: 14px;
}

.lien_geo_cart, .lien_web_vit { color: var(--mb-or) !important; font-size: 12px !important; }
.lien_geo_cart:hover, .lien_web_vit:hover { color: var(--mb-or-clair) !important; }

/* Blocs compacts SIRET / Téléphone / Email — alignés en ligne sous le badge hCard */
.mb-cv-quick-row {
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
  margin-top: 10px;
}
.mb-cv-qb {
  display: inline-flex;
  flex-direction: column;
  align-items: flex-start;
  justify-content: center;
  gap: 4px;
  min-height: 40px;
  background: #1a1a1a;
  border: 1px solid var(--mb-or);
  border-radius: var(--mb-radius);
  padding: 8px 14px;
  color: var(--mb-creme);
  font-family: var(--mb-font-corps);
  font-size: 12px;
  line-height: 1.4;
}
.mb-cv-qb-tog {
  color: var(--mb-creme) !important;
  text-decoration: none !important;
  cursor: pointer;
  transition: color var(--mb-transition);
}
.mb-cv-qb-tog:hover { color: var(--mb-or-clair) !important; }
.mb-cv-qb-ico { color: var(--mb-orange); font-size: 13px; margin-right: 6px; }
.mb-cv-qb-txt strong { color: var(--mb-or-clair); font-weight: 700; }
/* hide_carte() bascule className entre "hidden"/"visible" sur ces spans */
.mb-cv-qb span.hidden  { display: none; }
.mb-cv-qb span.visible { display: block; margin-top: 2px; color: var(--mb-creme-pale); font-size: 12px; }
.mb-cv-qb span.visible a.email {
  color: var(--mb-creme-pale) !important;
  text-decoration: underline;
}
.mb-cv-qb span.visible a.email:hover { color: var(--mb-or-clair) !important; }

/* Colonne droite — horaires */
.mb-cv-horaires {
  color: var(--mb-creme-pale);
  font-family: var(--mb-font-corps);
  font-size: 13px;
  line-height: 1.6;
}

.mb-cv-hcard-mark {
  display: inline-flex;
  align-items: center;
  gap: 5px;
  background: #1a1a1a;
  border: 1px solid var(--mb-or);
  border-radius: 12px;
  padding: 3px 10px;
  margin-top: 6px;
  color: var(--mb-creme) !important;
  font-family: var(--mb-font-corps);
  font-size: 10px;
  letter-spacing: .5px;
  text-transform: uppercase;
}
.mb-cv-hcard-ico { color: var(--mb-orange); font-size: 11px; }

/* Formulaire "envoyer la carte" */
.mb-cv-send {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 12px;
  background: #111111 !important;
  border: 1px solid var(--mb-border) !important;
  border-radius: var(--mb-radius) !important;
  padding: 16px !important;
  margin-top: 12px;
  color: var(--mb-creme-pale) !important;
}
.mb-cv-send-lbl { font-size: 13px; color: var(--mb-creme-pale); }
.mb-cv-send input[type="email"] {
  flex: 1 1 220px;
}
.mb-cv-send-btn {
  background: var(--mb-orange) !important;
  color: #111111 !important;
  font-weight: 700 !important;
  border: none !important;
  border-radius: var(--mb-radius) !important;
  padding: 9px 18px !important;
  cursor: pointer;
  text-transform: uppercase;
  letter-spacing: 1px;
  font-size: 12px !important;
}
.mb-cv-send-btn:hover { background: var(--mb-orange-sombre) !important; }

/* Recherche cartes (sidebar old) */
.search_cartes_visite { background: var(--mb-carte); border: 1px solid var(--mb-border); border-radius: var(--mb-radius); padding: 14px; margin: 10px 24px; }

/* barre info listing cartes */
.display_search_cartes_visite_infos { margin: 10px 24px; }

/* ================================================================
   LISTING ANNONCES — ann_type, ann_reg, ann_search, departement
   ================================================================ */

/* Conteneurs */
#corps_listing {
  float: none !important;
  width: auto !important;
  margin: 0 !important;
  padding: 0 12px 12px !important;
}
#corps_info_ann {
  width: auto !important;
  float: none !important;
  clear: both;
  background: var(--mb-carte);
  border: 1px solid var(--mb-border);
  border-radius: var(--mb-radius);
  padding: 8px 16px;
  margin: 10px 24px;
  font-size: 13px;
}
.bloc_pagination {
  float: none !important;
  width: auto !important;
  padding: 12px 24px;
  text-align: center;
  background: transparent !important;
}

/* Cartes annonces */
.fond_ann_listing_1,
.fond_ann_listing_2 {
  position: relative !important;
  width: auto !important;
  height: auto !important;
  background: var(--mb-carte) !important;
  border: 1px solid var(--mb-border) !important;
  border-radius: var(--mb-radius) !important;
  margin: 0 24px 10px !important;
  padding: 10px !important;
  transition: border-color var(--mb-transition);
  clear: both;
}
.fond_ann_listing_2 {
  border-color: var(--mb-border-vif) !important;
  border-left-width: 3px !important;
}
.fond_ann_listing_1:hover,
.fond_ann_listing_2:hover { border-color: var(--mb-or) !important; }

/* Lien wrapper : flex */
.bloc_lien_listing_1,
.bloc_lien_listing_2,
a.bloc_lien_listing_1,
a.bloc_lien_listing_2,
a.bloc_lien_listing_1:link,
a.bloc_lien_listing_2:link {
  display: flex !important;
  flex-wrap: wrap !important;
  align-items: flex-start !important;
  gap: 8px !important;
  width: auto !important;
  height: auto !important;
  position: static !important;
  text-decoration: none !important;
  color: var(--mb-creme) !important;
  background: none !important;
}
a.bloc_lien_listing_1:hover,
a.bloc_lien_listing_2:hover {
  color: var(--mb-or-clair) !important;
  background: none !important;
}
a.bloc_lien_listing_1:visited,
a.bloc_lien_listing_2:visited { color: var(--mb-creme-pale) !important; }

/* Titre */
.p_titre_listing {
  flex: 1 1 100% !important;
  color: var(--mb-or) !important;
  font-family: var(--mb-font-titre) !important;
  font-size: 14px !important;
  font-weight: 600 !important;
  padding: 0 0 6px !important;
  margin: 0 !important;
}
.fond_ann_listing_1 a .p_titre_listing,
.fond_ann_listing_2 a .p_titre_listing,
.fond_ann_listing_1 a:hover .p_titre_listing,
.fond_ann_listing_2 a:hover .p_titre_listing { color: var(--mb-or) !important; }

/* Adresse */
.bloc_adresse_listing {
  position: static !important;
  flex: 0 0 160px !important;
  margin: 0 !important;
}
.p_adresse_listing {
  color: var(--mb-creme-pale) !important;
  font-size: 12px !important;
  padding: 0 !important;
  margin: 0 !important;
}
.p_prix_listing { padding: 4px 0 0 !important; margin: 0 !important; }
.p_prix_listing strong {
  color: var(--mb-or) !important;
  font-size: 14px !important;
  font-family: var(--mb-font-titre) !important;
}

/* Catégorie */
.bloc_categorie_listing {
  position: static !important;
  flex: 0 0 160px !important;
  margin: 0 !important;
}
.p_categorie_listing {
  color: var(--mb-creme-pale) !important;
  font-size: 11px !important;
  font-weight: normal !important;
  margin: 0 !important;
}
.orange { color: var(--mb-or) !important; }

/* Photo */
.bloc_photo_listing {
  position: static !important;
  flex: 0 0 150px !important;
  margin: 0 !important;
}
.bloc_photo_listing img {
  max-width: 150px !important;
  max-height: 112px !important;
  object-fit: cover !important;
  border-radius: var(--mb-radius) !important;
  border: 1px solid var(--mb-border) !important;
}

/* Date */
.bloc_date_listing {
  position: static !important;
  flex: 1 1 80px !important;
  margin: 0 !important;
  text-align: right !important;
  width: auto !important;
}
.p_date_listing {
  color: #666 !important;
  font-size: 11px !important;
  margin: 0 !important;
}

/* Filtres Tout/Particulier/Pro */
.lien_info_ann,
a.lien_info_ann {
  color: var(--mb-creme-pale) !important;
  font-family: var(--mb-font-corps) !important;
  font-size: 12px !important;
  font-weight: 700 !important;
  text-decoration: none !important;
  padding: 3px 8px;
  border-radius: 4px;
  transition: color var(--mb-transition);
}
a.lien_info_ann:hover { color: var(--mb-or) !important; }
.lien_info_ann_sel {
  color: var(--mb-fond) !important;
  background: var(--mb-or) !important;
  font-family: var(--mb-font-corps) !important;
  font-size: 12px !important;
  font-weight: 700 !important;
  padding: 3px 8px !important;
  border-radius: 4px !important;
  text-decoration: none !important;
}
.txt_info_nb_ann {
  color: var(--mb-or) !important;
  font-weight: 700 !important;
  font-size: 12px !important;
}

/* Pagination */
.lien_pagination, a.lien_pagination {
  color: var(--mb-creme-pale) !important;
  font-family: var(--mb-font-corps) !important;
  font-size: 13px !important;
  text-decoration: none !important;
  padding: 4px 10px !important;
  border: 1px solid var(--mb-border) !important;
  border-radius: 4px !important;
  background: var(--mb-carte) !important;
  display: inline-block !important;
  margin: 2px !important;
  transition: all var(--mb-transition) !important;
}
a.lien_pagination:hover {
  color: var(--mb-or) !important;
  border-color: var(--mb-or) !important;
  background: var(--mb-carte) !important;
}
.lien_pagination_sel, a.lien_pagination_sel {
  color: var(--mb-fond) !important;
  background: var(--mb-or) !important;
  border: 1px solid var(--mb-or) !important;
  font-family: var(--mb-font-corps) !important;
  font-size: 13px !important;
  font-weight: 700 !important;
  text-decoration: none !important;
  padding: 4px 10px !important;
  border-radius: 4px !important;
  display: inline-block !important;
  margin: 2px !important;
}

/* Tri (lien_info_ann2) */
.lien_info_ann2, a.lien_info_ann2 { color: var(--mb-or) !important; font-size: 12px !important; }

/* Masquer ancien formulaire de recherche en colonne droite */
#corps_recherche { display: none !important; }
#img_info_pub    { display: none !important; }

/* Message "aucune annonce" */
.p_center { padding: 20px 24px !important; color: var(--mb-creme-pale) !important; }
.txt_info { color: var(--mb-creme-pale) !important; }

/* ================================================================
   PAGE ANNONCE DÉTAIL — ann_page.php
   ================================================================ */

#bloc_titre_ann {
  float: none !important;
  width: auto !important;
  padding: 16px 24px 8px !important;
  margin: 0 !important;
  clear: both;
}
#bloc_titre_ann h2.vert,
#bloc_titre_ann h2 {
  color: var(--mb-or) !important;
  font-family: var(--mb-font-titre) !important;
  font-size: 18px !important;
  margin: 0 0 4px !important;
}

#bloc_depot_ann {
  float: none !important;
  width: auto !important;
  text-align: left !important;
  padding: 0 24px 12px !important;
  margin: 0 !important;
  border-bottom: 1px solid var(--mb-border);
}
.p_info_ligne {
  color: var(--mb-creme-pale) !important;
  font-size: 12px !important;
  margin: 0 !important;
}
.p_info_ligne a.vert { color: var(--mb-or) !important; }

/* Thumbnails */
#bloc_vignettes_ann {
  clear: both !important;
  float: none !important;
  width: auto !important;
  display: flex;
  flex-wrap: wrap;
  gap: 6px;
  padding: 12px 24px !important;
  margin: 0 !important;
}
.bloc_vignette_ann {
  float: none !important;
  width: 72px !important;
  height: 56px !important;
  background: var(--mb-carte) !important;
  border: 1px solid var(--mb-border) !important;
  border-radius: var(--mb-radius) !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  padding: 0 !important;
  overflow: hidden;
}
.bloc_vignette_ann img {
  max-width: 70px !important;
  max-height: 54px !important;
  object-fit: cover !important;
  border-radius: 0 !important;
  border: none !important;
  cursor: pointer;
}

/* Main photo */
#bloc_photo_ann {
  clear: both !important;
  float: none !important;
  width: auto !important;
  margin: 0 24px 16px !important;
  padding: 0 !important;
  text-align: center;
  background: transparent !important;
}
#bloc_photo_ann img#photo {
  max-width: 100% !important;
  max-height: 480px !important;
  border-radius: var(--mb-radius) !important;
  border: 1px solid var(--mb-border) !important;
}

/* Video */
#bloc_video {
  float: none !important;
  width: auto !important;
  height: auto !important;
  background: var(--mb-carte) !important;
  border: 1px solid var(--mb-border) !important;
  border-radius: var(--mb-radius) !important;
  margin: 0 24px 16px !important;
  padding: 10px !important;
  text-align: center;
}
.p_video { color: var(--mb-creme-pale) !important; font-size: 13px !important; margin: 0 !important; }
#bloc_video .orange { color: var(--mb-or) !important; }

/* Info columns (prix, description) */
#bloc_infos_ann {
  float: none !important;
  width: auto !important;
  display: flex !important;
  flex-wrap: wrap !important;
  gap: 16px !important;
  margin: 0 24px 16px !important;
}
#bloc_info_ann_left {
  float: none !important;
  flex: 0 0 220px !important;
  width: auto !important;
  margin: 0 !important;
  background: var(--mb-carte);
  border: 1px solid var(--mb-border);
  border-radius: var(--mb-radius);
  padding: 14px;
}
#bloc_info_ann_right {
  float: none !important;
  flex: 1 1 300px !important;
  width: auto !important;
  background: var(--mb-carte);
  border: 1px solid var(--mb-border);
  border-radius: var(--mb-radius);
  padding: 14px;
}
.p_top_info_ann {
  color: var(--mb-or) !important;
  font-family: var(--mb-font-titre) !important;
  font-size: 10px !important;
  letter-spacing: 2px !important;
  text-transform: uppercase !important;
  border-bottom: 1px solid var(--mb-border);
  padding-bottom: 6px !important;
  margin: 0 0 10px !important;
}
.p_prix_info_ann {
  color: var(--mb-creme) !important;
  font-size: 15px !important;
  font-family: var(--mb-font-titre) !important;
  margin: 0 0 8px !important;
}
.p_prix_info_ann span.vert { color: var(--mb-creme-pale) !important; font-size: 12px !important; font-family: var(--mb-font-corps) !important; }
.p_middle_info_ann {
  color: var(--mb-creme-pale) !important;
  font-size: 13px !important;
  margin: 0 0 5px !important;
}
.p_middle_info_ann span.vert { color: var(--mb-or) !important; font-weight: 700; }
.p_ann_info_ann {
  color: var(--mb-creme) !important;
  font-size: 13px !important;
  line-height: 1.75 !important;
  margin: 0 !important;
}

/* ============================================================
   PANNEAU LATÉRAL UNIFIÉ — ann_page.php
   Contact + Actions fusionnés en un seul bloc
   ============================================================ */

/* Panneau principal : fond sombre, bordure or vif */
#bloc_contact_ann {
  float: none !important;
  width: auto !important;
  margin: 0 24px 16px !important;
  background: #1a1a1a !important;
  border: 1px solid var(--mb-border-vif) !important;
  border-radius: var(--mb-radius) !important;
  padding: 16px !important;
  clear: both;
}

/* Titre de section — Cinzel or */
#bloc_contact_ann > .p_top_info_ann {
  color: var(--mb-or) !important;
  font-family: var(--mb-font-titre) !important;
  font-size: 10px !important;
  letter-spacing: 2px !important;
  text-transform: uppercase !important;
  border-bottom: 1px solid var(--mb-border-vif) !important;
  padding-bottom: 8px !important;
  margin: 0 0 10px !important;
}

/* Ligne item générique */
.bloc_contact_ann {
  float: none !important;
  width: auto !important;
  height: auto !important;
  display: flex !important;
  align-items: center !important;
  gap: 8px !important;
  padding: 7px 0 !important;
  margin: 0 !important;
  border: none !important;
  border-bottom: 1px solid var(--mb-border) !important;
  color: var(--mb-creme-pale);
  font-size: 13px;
}
.bloc_contact_ann:last-child { border-bottom: none !important; }
.bloc_contact_ann img {
  width: 18px !important; height: 18px !important;
  border-radius: 0 !important; border: none !important;
  opacity: .7; flex-shrink: 0;
}

/* CTA Message — bouton or avec bordure */
.bloc_contact_ann:has(img[src*="icone_env"]) {
  border-bottom: 1px solid var(--mb-border) !important;
  padding: 7px 0 !important;
}
.bloc_contact_ann:has(img[src*="icone_env"]) a.lien_menu_ann {
  background: rgba(201,168,76,.12) !important;
  border: 1px solid var(--mb-or) !important;
  color: var(--mb-or) !important;
  padding: 5px 14px !important;
  border-radius: var(--mb-radius) !important;
  font-weight: 700 !important;
  letter-spacing: .4px !important;
  transition: background var(--mb-transition), color var(--mb-transition) !important;
}
.bloc_contact_ann:has(img[src*="icone_env"]) a.lien_menu_ann:hover {
  background: var(--mb-or) !important;
  color: #111 !important;
}

/* Téléphone — mis en valeur or-clair */
.bloc_contact_ann:has(img[src*="icone_tel"]) .txt_info {
  color: var(--mb-or-clair) !important;
  font-weight: 700 !important;
}

.lien_menu_ann,
a.lien_menu_ann {
  color: var(--mb-or) !important;
  font-size: 13px !important;
  text-decoration: none !important;
  min-height: auto !important;
  min-width: auto !important;
}
a.lien_menu_ann:hover { color: var(--mb-or-clair) !important; }

/* Actions secondaires — intégrées dans le même panneau */
#bloc_action_ann {
  float: none !important;
  width: auto !important;
  margin: 12px 0 0 !important;
  background: none !important;
  border: none !important;
  border-top: 1px solid var(--mb-border-vif) !important;
  border-radius: 0 !important;
  padding: 10px 0 0 !important;
}

.bloc_action_ann {
  float: none !important;
  width: auto !important;
  height: auto !important;
  display: flex !important;
  align-items: center !important;
  gap: 8px !important;
  padding: 6px 0 !important;
  border: none !important;
  border-bottom: 1px solid var(--mb-border) !important;
  font-size: 13px !important;
  color: var(--mb-creme-pale) !important;
}
.bloc_action_ann:last-child { border-bottom: none !important; }
.bloc_action_ann img {
  width: 16px !important; height: 16px !important;
  border-radius: 0 !important; border: none !important;
  opacity: .6; flex-shrink: 0;
}
.bloc_action_ann a {
  color: var(--mb-creme-pale) !important;
  text-decoration: none !important;
  font-size: 13px !important;
  transition: color var(--mb-transition) !important;
}
.bloc_action_ann a:hover { color: var(--mb-or) !important; }

/* Titres de sous-section (Gestion / Actions) — Cinzel or */
.p_gest_info_ann {
  color: var(--mb-or) !important;
  font-family: var(--mb-font-titre) !important;
  font-size: 10px !important;
  letter-spacing: 2px !important;
  text-transform: uppercase !important;
  margin: 12px 0 4px !important;
  padding-top: 8px !important;
  border-top: 1px solid var(--mb-border) !important;
}

/* Pub en page annonce (masquée) */
.bloc_pub_ann { display: none !important; }

/* ============================================================
   FORMULAIRE DÉPÔT — depot_form.php
   ============================================================ */
#corps_upload,
#corps_form {
  float: none !important;
  width: auto !important;
  max-width: 860px;
  clear: both;
  margin: 0 auto !important;
  padding: 0 12px 24px !important;
}

/* Labels (colonne gauche) */
.form_left,
.form_left_info,
.form_left_opts {
  float: none !important;
  width: auto !important;
  color: var(--mb-or) !important;
  font-family: var(--mb-font-corps) !important;
  font-size: 13px !important;
  font-weight: 600 !important;
  padding: 6px 0 2px !important;
  clear: none !important;
}

/* Valeurs (colonne droite) */
.form_right, .form_right_small, .form_right_select, .form_right_info, .form_right_photo, .form_right_textarea, .form_right_option {
  float: none !important;
  width: auto !important;
  color: var(--mb-creme-pale) !important;
  font-family: var(--mb-font-corps) !important;
  font-size: 13px !important;
  margin: 0 0 10px !important;
}

/* Champs de saisie dans le formulaire */
#corps_form input[type=text],
#corps_form input[type=email],
#corps_form input[type=number],
#corps_form input[type=url],
#corps_form input[type=tel],
#corps_form textarea,
#corps_form select,
#corps_upload input[type=text],
#corps_upload input[type=file],
#corps_upload select {
  background: #1e1e1e !important;
  color: var(--mb-creme) !important;
  border: 1px solid var(--mb-border-vif) !important;
  border-radius: var(--mb-radius) !important;
  padding: 7px 10px !important;
  font-size: 13px !important;
  font-family: var(--mb-font-corps) !important;
  max-width: 100% !important;
  box-sizing: border-box !important;
}
#corps_form input:focus,
#corps_form textarea:focus,
#corps_form select:focus,
#corps_upload input:focus,
#corps_upload select:focus {
  border-color: var(--mb-or) !important;
  outline: none !important;
  box-shadow: 0 0 0 2px rgba(201,168,76,0.2) !important;
}

/* Ligne radio/checkbox */
.conteneurRadio {
  color: var(--mb-creme-pale) !important;
  font-size: 13px !important;
}

/* Barres info image (masquées — remplacées par CSS) */
#barre_info { display: none !important; }
.bt_info_left,
.bt_info_center,
.bt_info_right,
.bt_info_right2,
.bt_info_center_v,
.bt_info_right_v,
.bt_info_right_v2 {
  float: none !important;
  background-image: none !important;
  background: var(--mb-border) !important;
  height: auto !important;
  width: auto !important;
  display: inline !important;
}

/* Override progress bar inline styles (white/light backgrounds) */
.prog-step.active .prog-num {
  background: #1a1500 !important;
  border-color: var(--mb-or) !important;
  color: var(--mb-or) !important;
}
.prog-step.done .prog-num {
  background: var(--mb-or) !important;
  border-color: var(--mb-or) !important;
  color: #111 !important;
}
.prog-line.done { background: var(--mb-or) !important; }
.prog-step.active .prog-lbl { color: var(--mb-or) !important; }

/* ============================================================
   ESPACE MEMBRE — acc_bord.php
   ============================================================ */

/* Profil header */
.bord-profil {
  background: var(--mb-carte) !important;
  border-color: var(--mb-border) !important;
}

/* Stats du profil */
.bord-stat {
  background: #1a1a1a !important;
  border-color: var(--mb-border) !important;
}
.bord-stat-lbl { color: #777 !important; }

/* Boutons du profil */
.bord-link-btn.logout {
  border-color: var(--mb-orange) !important;
  color: var(--mb-orange) !important;
}
.bord-link-btn.logout:hover { background: var(--mb-orange) !important; color: #fff !important; }

/* Onglets du tableau de bord */
.bord-tab.active {
  background: var(--mb-or) !important;
  color: #111 !important;
  border-color: var(--mb-or) !important;
}

/* Statistiques avancées (Pro) */
.sa-wrap { margin: 14px 0 0 !important; }
.sa-table td {
  border-color: var(--mb-border) !important;
  color: var(--mb-creme-pale) !important;
}
.sa-table tr:hover td { background: #1e1e1e !important; }

/* Annonces en attente / refusées */
.bord-list { margin: 10px 0 !important; }
.bord-list-item {
  background: var(--mb-carte) !important;
  border-color: var(--mb-border) !important;
}
.bord-list-meta { color: #666 !important; }

/* Transactions */
.trans-ok  { background: #0a2010 !important; color: #4ade80 !important; }
.trans-pend { background: #2a1800 !important; color: #fbbf24 !important; }

/* Zone de recherche (search_bord) */
#corps_recherche {
  float: none !important;
  width: auto !important;
  margin: 12px 0 0 !important;
}
#top_menu_recherche,
#bottom_menu_recherche { display: none !important; }
#middle_menu_recherche {
  float: none !important;
  width: auto !important;
  background-image: none !important;
  background: var(--mb-carte) !important;
  border: 1px solid var(--mb-border) !important;
  border-radius: var(--mb-radius) !important;
  padding: 12px !important;
}

/* Bouton "Suivre ce vendeur" (wrapper inline-style) */
body.mb-layout div[style*="background:#f8f9fa"] {
  background: var(--mb-carte) !important;
  border-color: var(--mb-border) !important;
}
body.mb-layout div[style*="background:#f8f9fa"] span[style] {
  color: var(--mb-creme-pale) !important;
}
#suivi-btn[data-suivi="1"] {
  background: #1e3a5f !important;
  color: var(--mb-creme-pale) !important;
  border-color: #2a4a6f !important;
}

/* ============================================================
   CRÉATION DE COMPTE — acc_crea.php
   ============================================================ */

/* Conteneur principal (même structure que #corps_form) */
#corps {
  float: none !important;
  width: auto !important;
  max-width: 680px;
  margin: 0 auto !important;
  padding: 16px 12px 24px !important;
  clear: both;
}

/* Champs spécifiques à la création de compte */
.av_input,
.small_input,
.long_input {
  background: #1e1e1e !important;
  color: var(--mb-creme) !important;
  border: 1px solid var(--mb-border-vif) !important;
  border-radius: var(--mb-radius) !important;
  padding: 7px 10px !important;
  font-size: 13px !important;
  font-family: var(--mb-font-corps) !important;
  box-sizing: border-box !important;
}
.av_input:focus,
.small_input:focus,
.long_input:focus {
  border-color: var(--mb-or) !important;
  outline: none !important;
  box-shadow: 0 0 0 2px rgba(201,168,76,0.2) !important;
}

/* Select civilité et autres selects dans #corps */
.select_civ,
#corps select {
  background: #1e1e1e !important;
  color: var(--mb-creme) !important;
  border: 1px solid var(--mb-border-vif) !important;
  border-radius: var(--mb-radius) !important;
  padding: 6px 10px !important;
  font-size: 13px !important;
  font-family: var(--mb-font-corps) !important;
}
#corps select:focus {
  border-color: var(--mb-or) !important;
  outline: none !important;
}

/* Liens et textes dans le formulaire création */
.info_form {
  color: #666 !important;
  font-size: 11px !important;
}
#corps a.lien_cgu { color: var(--mb-or) !important; }
#corps label { color: var(--mb-or) !important; }

/* ============================================================
   BOUTIQUES — listing (boutiques_search.php) + page vitrine (boutique_page.php)
   ============================================================ */

/* --- LISTING BOUTIQUES --- */
.fond_vit_listing_1,
.fond_vit_listing_2 {
  width: auto !important;
  height: auto !important;
  min-height: 80px !important;
  position: static !important;
  background: var(--mb-carte) !important;
  background-image: none !important;
  border: 1px solid var(--mb-border) !important;
  border-radius: var(--mb-radius) !important;
  margin-bottom: 10px !important;
}
.fond_vit_listing_1:hover,
.fond_vit_listing_2:hover { border-color: var(--mb-border-vif) !important; }

/* Nom de l'entreprise (p_titre_listing réutilisé dans les vitrines) */
.fond_vit_listing_1 a .p_titre_listing,
.fond_vit_listing_2 a .p_titre_listing {
  color: var(--mb-or) !important;
  font-family: var(--mb-font-corps) !important;
  font-size: 14px !important;
  font-weight: bold !important;
  padding: 0 !important;
}
.fond_vit_listing_1 a:hover .p_titre_listing,
.fond_vit_listing_2 a:hover .p_titre_listing { color: var(--mb-or-clair) !important; }

/* Titre de la boutique */

/* Zone région / département */

/* Vitrine premium (encadrée) */

/* --- PAGE D'UNE VITRINE (boutique_page.php) --- */
#bloc_bottom_vit {
  float: none !important;
  width: auto !important;
  margin: 0 0 16px !important;
}

/* Couleurs texte vitrine */
.vert,
span.vert { color: var(--mb-or) !important; }

.txt_info_vit {
  color: var(--mb-creme-pale) !important;
  font-family: var(--mb-font-corps) !important;
  font-size: 13px !important;
}
#p_desc_vit {
  color: var(--mb-creme-pale) !important;
  font-family: var(--mb-font-corps) !important;
  font-size: 13px !important;
  padding: 10px 0 !important;
}
.lien_web_vit img,
a.lien_web_vit img { opacity: .85; transition: opacity .2s; }
a.lien_web_vit:hover img { opacity: 1 !important; }

/* Bouton site internet (remplace bouton_site.png) */

/* Toggle téléphone */

/* Section partage social boutique */
body.mb-layout #bloc_bottom_vit button[style*="background:#f0f0f0"] {
  background: #1e1e1e !important;
  color: var(--mb-creme-pale) !important;
  border-color: var(--mb-border) !important;
}

/* ============================================================
   PAGES SECONDAIRES ESPACE MEMBRE
   acc_donnees.php · acc_pass.php · acc_entreprise.php · acc_vitrine.php
   (les conteneurs #corps, #corps_form, #corps_upload et les classes
    .form_left, .av_input, .select_civ sont déjà couverts par les
    sections précédentes — seuls les éléments nouveaux ci-dessous)
   ============================================================ */

/* Champ lecture seule (email, raison sociale non modifiable) */
.form_right_bord {
  float: none !important;
  width: auto !important;
  color: var(--mb-creme-pale) !important;
  font-family: var(--mb-font-corps) !important;
  font-size: 13px !important;
  font-weight: 600 !important;
  margin: 0 0 10px !important;
  padding: 6px 0 2px !important;
  border-bottom: 1px solid var(--mb-border) !important;
}

/* Zones de texte (description boutique, horaires, vidéo...) */
.textarea {
  background: #1e1e1e !important;
  color: var(--mb-creme) !important;
  border: 1px solid var(--mb-border-vif) !important;
  border-radius: var(--mb-radius) !important;
  padding: 8px 10px !important;
  font-size: 13px !important;
  font-family: var(--mb-font-corps) !important;
  width: 100% !important;
  box-sizing: border-box !important;
  resize: vertical !important;
}
.textarea:focus {
  border-color: var(--mb-or) !important;
  outline: none !important;
  box-shadow: 0 0 0 2px rgba(201,168,76,0.2) !important;
}

/* Champ nom de fichier photo (lecture seule, côté upload) */
.input_photos {
  background: #1e1e1e !important;
  color: var(--mb-creme-pale) !important;
  border: 1px solid var(--mb-border) !important;
  border-radius: 3px !important;
  padding: 3px 6px !important;
  font-size: 12px !important;
  width: 160px !important;
}

/* Boutons image submit (bouton_valider.png etc.) — virer le vert, orange charte #ff6b00 */
input[type="image"][src*="bouton_valider"],
input[type="image"][src*="bouton_search"],
input[type="image"][src*="submit"] {
  filter: hue-rotate(-55deg) saturate(1.4) brightness(1.05) !important;
  cursor: pointer !important;
  border: none !important;
  background: transparent !important;
}

/* ============================================================
   PAGE D'ACCUEIL — index.php (option 3 Mad Breizh)
   ============================================================ */

/* --- HERO --- */
.mb-hero {
  text-align: center;
  padding: 56px 20px 48px;
  background: linear-gradient(180deg, #0d0d0d 0%, #1a1a1a 100%);
  border-bottom: 1px solid var(--mb-border-vif);
}
.mb-hero-inner {
  max-width: 680px;
  margin: 0 auto;
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 18px;
}
.mb-hero-logo {
  width: 640px;
  max-width: 100%;
  height: auto;
}
.mb-sr-only {
  position: absolute;
  width: 1px; height: 1px;
  padding: 0; margin: -1px;
  overflow: hidden;
  clip: rect(0,0,0,0);
  white-space: nowrap;
  border: 0;
}
.mb-hero-stats {
  display: flex;
  align-items: center;
  gap: 10px;
  padding: 6px 12px;
  background: none;
  border: none;
}
.mb-stat-item {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 1px;
}
.mb-stat-val {
  font-family: var(--mb-font-titre) !important;
  font-size: 16px !important;
  color: var(--mb-or) !important;
  font-weight: 700 !important;
  line-height: 1.1 !important;
}
.mb-stat-lbl {
  font-size: 9px !important;
  color: var(--mb-creme-pale) !important;
  text-transform: uppercase !important;
  letter-spacing: 1.5px !important;
}
.mb-stat-sep {
  color: var(--mb-or) !important;
  font-size: 12px !important;
}

/* Zone géographique hero */
.mb-hero-zone {
  font-family: var(--mb-font-titre) !important;
  font-size: 13px !important;
  color: var(--mb-or) !important;
  letter-spacing: 2px !important;
  margin: 8px 0 0 !important;
  text-align: center !important;
}
.mb-hero-zone-suite { color: rgba(255,255,255,.45); font-size: 11px; }

/* Boutons CTA hero */
.mb-hero-cta {
  display: inline-block !important;
  background: var(--mb-or) !important;
  color: #111 !important;
  font-family: var(--mb-font-titre) !important;
  font-size: 13px !important;
  font-weight: 700 !important;
  letter-spacing: 1.5px !important;
  text-transform: uppercase !important;
  padding: 12px 32px !important;
  border-radius: var(--mb-radius) !important;
  text-decoration: none !important;
  border: 1px solid transparent !important;
  transition: background var(--mb-transition), color var(--mb-transition) !important;
}
.mb-hero-cta:hover { background: var(--mb-or-clair) !important; color: #111 !important; }

/* --- HERO BRAND (triskel + textes) --- */
@media (max-width: 480px) {
}

/* --- SOUS-HÉRO --- */
.mb-sous-hero {
  margin: 0 24px 16px;
  padding: 12px 20px;
  background: #1a1a0f;
  border: 1px solid rgba(201,168,76,0.27);
  border-radius: 10px;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
  font-size: 13px;
  color: #d0c9a0;
  text-decoration: none;
}
.mb-sous-hero-texte { flex: 1; line-height: 1.5; }
.mb-sous-hero-texte strong { color: #c9a84c; font-weight: 600; }
.mb-sous-hero-img { height: 42px; width: auto; border-radius: 6px; object-fit: cover; flex-shrink: 0; }
.mb-sous-hero-cta {
  font-size: 11px; color: #c9a84c; border: 1px solid rgba(201,168,76,0.4);
  padding: 4px 12px; border-radius: 14px; white-space: nowrap; flex-shrink: 0;
  transition: background .18s;
}
.mb-sous-hero:hover .mb-sous-hero-cta { background: rgba(201,168,76,0.12); }
@media (max-width: 560px) {
  .mb-sous-hero { margin: 0 8px 12px; padding: 10px 14px; flex-wrap: wrap; }
  .mb-sous-hero-cta { display: none; }
}

/* --- PUB CIBLÉE — PAGE ANNONCE DÉTAIL --- */
.mb-pub-annonce {
  margin: 0 0 20px;
  padding: 14px;
  background: #1a1a0f;
  border: 1px solid rgba(201,168,76,0.27);
  border-radius: 10px;
  display: flex;
  align-items: center;
  gap: 16px;
  position: relative;
}
.mb-pub-annonce-lien {
  flex: 1;
  display: flex;
  align-items: center;
  gap: 16px;
  text-decoration: none;
  min-width: 0;
}
.mb-pub-annonce-img {
  width: 140px;
  height: 105px;
  border-radius: 8px;
  object-fit: cover;
  flex-shrink: 0;
}
.mb-pub-annonce-texte {
  flex: 1;
  font-size: 15px;
  color: #d0c9a0;
  line-height: 1.5;
}
.mb-pub-annonce-label {
  position: absolute;
  top: 8px;
  left: 8px;
  font-size: 9px;
  color: #d0c9a0;
  background: rgba(0,0,0,.55);
  padding: 2px 7px;
  border-radius: 8px;
  letter-spacing: .3px;
}
@media (max-width: 560px) {
  .mb-pub-annonce { padding: 10px; gap: 10px; }
  .mb-pub-annonce-img { width: 90px; height: 68px; }
  .mb-pub-annonce-texte { font-size: 13px; }
}

/* --- SECTION PUBLICITÉS --- */
.mb-pub-section {
  padding: 20px 24px;
  background: #111;
  border-bottom: 1px solid var(--mb-border);
}
.mb-pub-grid {
  display: flex;
  gap: 14px;
  justify-content: center;
  flex-wrap: wrap;
  max-width: 960px;
  margin: 0 auto;
}
.mb-pub-slot {
  flex: 1 1 220px;
  max-width: 320px;
  height: 160px;
  background: #1a1a1a;
  border: 1px solid var(--mb-border);
  border-radius: var(--mb-radius);
  overflow: hidden;
  display: flex;
  align-items: center;
  justify-content: center;
  transition: opacity .2s ease;
}
.mb-pub-slot a {
  position: relative;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  gap: 6px;
  width: 100%;
  height: 100%;
  text-decoration: none;
}
.mb-pub-slot img {
  display: block;
  max-width: 100%;
  max-height: 100%;
  width: auto;
  height: auto;
  object-fit: contain;
  border-radius: 0;
}
.mb-pub-txt {
  position: relative;
  z-index: 1;
  font-size: 12px;
  color: var(--mb-creme-pale);
  text-align: center;
  padding: 4px 10px;
  background: rgba(13,13,13,.72);
  border-radius: 4px;
}
.mb-pub-empty {
  font-size: 11px;
  color: var(--mb-border-vif);
  font-family: var(--mb-font-titre);
  letter-spacing: 1px;
  text-transform: uppercase;
  text-align: center;
  padding: 16px;
  word-break: break-word;
  overflow-wrap: break-word;
  max-width: 100%;
}

/* Contenir le contenu HTML/script injecté dans les slots pub */
.mb-pub-slot > *:not(a):not(.mb-pub-empty) {
  width: 100% !important;
  max-width: 100% !important;
  height: 100% !important;
  max-height: 100% !important;
  box-sizing: border-box !important;
  overflow: hidden !important;
  word-break: break-word !important;
  overflow-wrap: break-word !important;
  font-size: 11px !important;
  line-height: 1.4 !important;
}
.mb-pub-slot > *:not(a):not(.mb-pub-empty) * {
  max-width: 100% !important;
  box-sizing: border-box !important;
  word-break: break-word !important;
}
.mb-pub-slot > *:not(a):not(.mb-pub-empty) img,
.mb-pub-slot > *:not(a):not(.mb-pub-empty) table {
  width: 100% !important;
  height: auto !important;
  max-width: 100% !important;
}
.mb-pub-slot > *:not(a):not(.mb-pub-empty) table {
  table-layout: fixed !important;
}

/* ===== CARTE DE VISITE — conteneurs globaux ===== */

/* --- ANNONCES RÉCENTES --- */
.mb-section-title {
  font-family: var(--mb-font-titre) !important;
  font-size: 17px !important;
  color: var(--mb-or) !important;
  text-transform: uppercase !important;
  letter-spacing: 3px !important;
  text-align: center !important;
  margin: 0 24px 24px !important;
  padding-bottom: 10px !important;
  border-bottom: 1px solid var(--mb-border-vif) !important;
}

/* H1 de page catégorie (ann_search.php) */
.mb-search-cat-h1 {
  font-family: var(--mb-font-titre);
  font-size: 20px;
  font-weight: 600;
  color: var(--mb-texte);
  text-align: center;
  margin: 16px 16px 8px;
  padding-bottom: 8px;
  border-bottom: 1px solid var(--mb-border);
}
.mb-recentes .mb-ann-grid {
  padding-top: 0;
}

/* Responsive accueil */
@media (max-width: 800px) {
  .mb-hero-stats { gap: 10px; padding: 6px 12px; }
}
@media (max-width: 560px) {
  .mb-hero { padding: 36px 14px 28px; }
  .mb-hero-logo { width: 320px; }
  .mb-stat-val { font-size: 16px !important; }
  .mb-pub-grid { flex-direction: column; align-items: center; }
  .mb-pub-slot { max-width: 100%; width: 100%; }
  .mb-ann-grid { grid-template-columns: repeat(2,1fr) !important; padding: 8px 8px 20px !important; gap: 7px !important; }
}

/* ================================================================
   GRILLE LISTING ANNONCES — 3 colonnes + cards Mad Breizh
   (ann_type / ann_reg / ann_search)
   ================================================================ */
.mb-ann-grid {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 8px;
  padding: 10px 24px 24px;
}

/* ── Card annonce ── */
.mb-listing-card {
  background: #1a1a0f;
  border: 1px solid #2a2a1a;
  border-radius: 10px;
  overflow: hidden;
  text-decoration: none !important;
  color: inherit;
  display: flex;
  flex-direction: column;
  transition: border-color .2s ease, transform .18s ease;
}
.mb-listing-card:hover {
  border-color: #c9a84c;
  transform: translateY(-2px);
}

/* ── Zone photo — ratio 4:3 ── */
.mb-lc-img {
  position: relative;
  aspect-ratio: 4 / 3;
  overflow: hidden;
  background: #141408;
  border-radius: 10px 10px 0 0;
  flex-shrink: 0;
}
.mb-lc-img img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block;
  transition: transform .35s ease;
}
.mb-listing-card:hover .mb-lc-img img {
  transform: scale(1.04);
}
.mb-lc-no-photo {
  width: 100%;
  height: 100%;
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 40px;
  opacity: .15;
}

/* ── Badges photo — top-left ── */
.mb-lc-badges {
  position: absolute;
  top: 6px;
  left: 6px;
  display: flex;
  flex-direction: column;
  gap: 3px;
  z-index: 2;
}
.mb-lc-bdg {
  font-size: 10px;
  font-weight: 700;
  padding: 2px 7px;
  border-radius: 10px;
  white-space: nowrap;
  line-height: 1.4;
}
.mb-lc-bdg-une {
  background: #c9a84c;
  color: #111;
}
.mb-lc-bdg-new {
  background: #ff6b00;
  color: #fff;
}
.mb-lc-bdg-vendu {
  background: #2ecc71;
  color: #fff;
}

/* ── Icône messagerie — top-right ── */
.mb-lc-msg {
  position: absolute;
  top: 6px;
  right: 6px;
  z-index: 2;
  width: 26px;
  height: 26px;
  border-radius: 50%;
  background: rgba(0,0,0,.52);
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 13px;
  line-height: 1;
}

/* ── Corps card — sous la photo ── */
.mb-lc-body {
  padding: 6px 8px 8px;
  flex: 1;
  display: flex;
  flex-direction: column;
  gap: 3px;
}
.mb-lc-cat {
  display: inline-block;
  font-size: 10px;
  font-weight: 700;
  color: #94835f;
  text-transform: uppercase;
  letter-spacing: .3px;
  margin-bottom: 1px;
}
.mb-lc-prix {
  font-size: 15px;
  font-weight: 500;
  color: #e8c96a;
  line-height: 1.2;
  white-space: nowrap;
}
.mb-lc-gratuit {
  font-size: 12px;
  font-weight: 600;
  color: #4ade80;
  white-space: nowrap;
}
.mb-lc-titre {
  font-size: 12px;
  color: #d0c9a0;
  line-height: 1.35;
  overflow: hidden;
  display: -webkit-box;
  -webkit-line-clamp: 2;
  -webkit-box-orient: vertical;
}
.mb-lc-loc {
  font-size: 11px;
  color: #888770;
  overflow: hidden;
  white-space: nowrap;
  text-overflow: ellipsis;
}

/* ── Card publicitaire ── */
/* ── Card pub — carousel Mad Breizh ── */
.mb-lc-pub {
  background: #141408 !important;
  border: 1px solid rgba(201,168,76,0.27) !important;
  cursor: default;
}
.mb-lc-pub:hover {
  border-color: rgba(201,168,76,0.55) !important;
  transform: translateY(-2px) !important;
}
/* Pub type=5 (carousel listing interne) — .mb-pub-annonce aplatie dans la carte grille */
.mb-lc-pub .mb-pub-annonce {
  margin: 0;
  border: none;
  background: transparent;
  width: 100%;
  box-sizing: border-box;
}
.mb-pub-car {
  flex: 1;
  position: relative;
  overflow: hidden;
  min-height: 155px;
}
.mb-pub-car-slide {
  position: absolute;
  inset: 0;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  padding: 16px 14px 10px;
  gap: 5px;
  opacity: 0;
  transition: opacity .45s ease;
  pointer-events: none;
}
.mb-pub-car-slide.active {
  opacity: 1;
  pointer-events: auto;
}
.mb-pub-car-slide--1 { background: var(--mb-bg-section); border-top: 3px solid var(--mb-or); }
.mb-pub-car-slide--2 { background: var(--mb-carte);      border-top: 3px solid var(--mb-orange); }
.mb-pub-car-slide--3 { background: var(--mb-bg-section); border-top: 3px solid var(--mb-or-clair); }
.mb-pub-car-slide--4 { background: var(--mb-carte);      border-top: 3px solid var(--mb-or); }
.mb-pub-car-ico {
  font-size: 24px;
  line-height: 1;
}
.mb-pub-car-brand {
  font-family: Georgia, 'Times New Roman', serif;
  font-size: 9px;
  color: #c9a84c;
  letter-spacing: .25em;
  text-transform: uppercase;
  text-align: center;
}
.mb-pub-car-titre {
  font-family: Georgia, 'Times New Roman', serif;
  font-size: 14px;
  font-weight: 700;
  color: #e8c96a;
  text-align: center;
  line-height: 1.3;
}
.mb-pub-car-sub {
  font-size: 10px;
  color: #a09070;
  text-align: center;
  line-height: 1.5;
}
.mb-pub-car-cta {
  margin-top: 8px;
  font-size: 10px;
  font-weight: 700;
  padding: 5px 14px;
  border-radius: 20px;
  text-decoration: none !important;
  transition: background .15s;
  white-space: nowrap;
  display: inline-block;
}
.mb-pub-car-cta.or     { border: 1px solid #c9a84c; color: #c9a84c; }
.mb-pub-car-cta.or:hover { background: rgba(201,168,76,0.12); }
.mb-pub-car-cta.dore   { border: 1px solid #e8c96a; color: #e8c96a; }
.mb-pub-car-cta.dore:hover { background: rgba(232,201,106,0.1); }
.mb-pub-car-cta.orange { border: 1px solid #ff6b00; color: #ff6b00; }
.mb-pub-car-cta.orange:hover { background: rgba(255,107,0,0.1); }
.mb-pub-car-footer {
  display: flex;
  align-items: center;
  justify-content: space-between;
  padding: 6px 10px 9px;
  flex-shrink: 0;
}
.mb-pub-car-label {
  font-size: 9px;
  color: #888;
  letter-spacing: .3px;
  flex: 1;
}
.mb-pub-car-dots {
  display: flex;
  align-items: center;
  gap: 5px;
}
.mb-pub-car-dot {
  width: 5px;
  height: 5px;
  border-radius: 50%;
  background: rgba(201,168,76,0.18);
  transition: background .3s;
  cursor: pointer;
}
.mb-pub-car-dot.active { background: #c9a84c; }
.mb-pub-car-spacer { flex: 1; }

/* ── Card discret ── */
.mb-lc-disc {
  height: 200px;
  display: flex;
  align-items: center;
  justify-content: center;
  padding: 10px;
  color: var(--mb-creme-pale);
  font-size: 11px;
  background: #1a1a1a;
}

/* ── Responsive tablette ── */
@media (max-width: 900px) {
  .mb-ann-grid { grid-template-columns: repeat(2, 1fr); }
}

/* ================================================================
   GRILLE LISTING BOUTIQUES — option hybride (boutiques_search.php)
   ================================================================ */
.mb-bout-grid {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 10px;
  padding: 10px 24px 24px;
}
.mb-bout-card {
  background: #1a1a1a !important;
  border: 0.5px solid rgba(201,168,76,.35) !important;
  border-radius: 8px !important;
  overflow: hidden !important;
  text-decoration: none !important;
  color: inherit !important;
  display: flex !important;
  flex-direction: row !important;
  height: 130px;
  transition: border-color var(--mb-transition), transform var(--mb-transition);
}
.mb-bout-card:hover {
  border-color: rgba(201,168,76,.75) !important;
  transform: translateY(-2px);
}

/* Gauche : logo 180px */
.mb-bc-left {
  position: relative;
  width: 180px;
  flex-shrink: 0;
  overflow: hidden;
  background: #111;
}
.mb-bc-left img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block;
  filter: brightness(0.88);
  image-rendering: auto;
  transition: filter var(--mb-transition);
}
.mb-bout-card:hover .mb-bc-left img {
  filter: brightness(1);
}
.mb-bc-no-logo {
  width: 100%;
  height: 100%;
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 34px;
  color: #2a2a2a;
}
.mb-bc-badge {
  position: absolute;
  bottom: 6px;
  left: 6px;
  background: #ff6b00;
  color: #fff;
  font-size: 8px;
  font-weight: 700;
  padding: 2px 5px;
  border-radius: 3px;
  text-transform: uppercase;
  letter-spacing: .3px;
  max-width: calc(100% - 12px);
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}

/* Droite : infos */
.mb-bc-right {
  flex: 1;
  min-width: 0;
  display: flex;
  flex-direction: column;
  padding: 10px 12px;
}
.mb-bc-top {
  flex: 1;
  min-height: 0;
  overflow: hidden;
}
.mb-bc-nom {
  font-family: var(--mb-font-titre);
  font-size: 14px;
  color: #c9a84c !important;
  font-weight: 700;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
  line-height: 1.3;
  margin-bottom: 2px;
}
.mb-bc-titre {
  font-size: 11px;
  color: var(--mb-creme) !important;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
  margin-bottom: 4px;
}
.mb-bc-desc {
  font-size: 10px;
  color: #b8a882;
  display: -webkit-box;
  -webkit-line-clamp: 2;
  -webkit-box-orient: vertical;
  overflow: hidden;
  line-height: 1.4;
}

/* Footer card */
.mb-bc-foot {
  display: flex;
  justify-content: space-between;
  align-items: center;
  margin-top: 6px;
  padding-top: 5px;
  border-top: 1px solid rgba(201,168,76,.12);
  flex-shrink: 0;
}
.mb-bc-nb {
  font-size: 10px;
  color: var(--mb-orange) !important;
  font-weight: 600;
}
.mb-bc-loc {
  font-size: 9px;
  color: var(--mb-creme-pale) !important;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
  max-width: 55%;
  text-align: right;
}

/* Encarts "Boutique à la Une" */
.p_no_premium {
  color: var(--mb-or) !important;
  font-size: 11px !important;
  font-family: var(--mb-font-titre) !important;
  letter-spacing: .5px !important;
  text-align: center !important;
}

/* Éliminer tous fonds blancs résiduels boutiques */
.fond_vit_listing_1, .fond_vit_listing_2,
.fond_ann_listing_1, .fond_ann_listing_2 {
  background: #1a1a1a !important;
  background-color: #1a1a1a !important;
  background-image: none !important;
}

/* Pagination compacte */
.lien_pagination,
a.lien_pagination {
  font-size: 12px !important;
  padding: 3px 8px !important;
}
.lien_pagination_sel,
a.lien_pagination_sel {
  font-size: 12px !important;
  padding: 3px 8px !important;
}

/* Responsive boutiques */
@media (max-width: 700px) {
  .mb-bout-grid { grid-template-columns: 1fr !important; padding: 10px 8px 20px !important; }
  .mb-bc-left { width: 140px !important; }
}
@media (max-width: 480px) {
  .mb-bout-card { height: auto !important; }
  .mb-bc-left { width: 110px !important; height: 110px !important; }
}

/* ============================================================
   MAD BREIZH — FORMULAIRES (depot, boutique, entreprise)
   ============================================================ */
.mb-form-wrap { max-width: 860px; margin: 0 auto; padding: 0 14px 40px; }
.mb-fsec { background: var(--mb-bg-section); border: 1px solid #c9a84c55; border-radius: 6px; padding: 14px 16px; margin-bottom: 20px; overflow: hidden; }
.mb-fsec-head { background: rgba(201,168,76,.08); padding: 10px 18px; border-bottom: 1px solid rgba(201,168,76,.3); }
.mb-fsec-head h2, .mb-fsec-head h3 { margin: 0; font-size: 12px; letter-spacing: 1.5px; color: #c9a84c; text-transform: uppercase; font-family: inherit; font-weight: 700; }
.mb-fsec-body { padding: 18px; }
.mb-frow { display: grid; grid-template-columns: 1fr 1fr; gap: 14px; margin-bottom: 14px; }
.mb-frow-3 { grid-template-columns: 1fr 1fr 1fr; }
.mb-frow-full { grid-template-columns: 1fr; }
.mb-frow-mb { margin-bottom: 14px; }
.mb-fgroup { display: flex; flex-direction: column; }
.mb-flabel { font-size: 10px; font-weight: 700; letter-spacing: 1.5px; color: var(--mb-color-label); text-transform: uppercase; margin-bottom: 5px; display: block; }
.mb-flabel.req::after { content: ' *'; color: #ff6b00; }
.mb-flabel.err { color: #f66 !important; }
.mb-finput, .mb-fselect, .mb-ftextarea {
  background: var(--mb-bg-input);
  border: 1px solid var(--mb-border-input);
  border-radius: 4px;
  color: var(--mb-color-text);
  font-family: 'Lato', sans-serif;
  font-size: 12px;
  padding: 7px 10px;
  width: 100%; box-sizing: border-box;
}
.mb-finput::placeholder, .mb-fselect::placeholder, .mb-ftextarea::placeholder {
  color: var(--mb-color-placeholder);
  font-style: italic;
}
.mb-finput:focus, .mb-fselect:focus, .mb-ftextarea:focus {
  outline: none; border-color: var(--mb-border-input-focus);
  box-shadow: 0 0 0 2px rgba(201,168,76,.25);
}
.mb-finput.err, .mb-fselect.err, .mb-ftextarea.err { border-color: #f66 !important; }
.mb-ftextarea { min-height: 110px; resize: vertical; }
/* Onglets */
.mb-tab-wrap { display: flex; border-bottom: 2px solid #c9a84c44; }
.mb-tab { flex: 1; padding: 10px 15px; cursor: pointer; text-align: center; background: var(--mb-bg-section); border: 1px solid #2a2a2a; font-weight: 700; color: var(--mb-color-label); font-family: var(--mb-font-titre); letter-spacing: 1px; font-size: 13px; transition: background .2s, color .2s; border-bottom: none; }
.mb-tab:hover:not(.active) { background: #1e1e0e; }
.mb-tab.active { background: #c9a84c; color: #111; border-color: #c9a84c; }
.mb-panel { display: none; }
.mb-panel.active { display: block; }
.mb-fradio-group { display: flex; gap: 14px; flex-wrap: wrap; }
.mb-fradio { display: flex; align-items: center; gap: 7px; cursor: pointer; }
.mb-fradio input[type=radio], .mb-fradio input[type=checkbox] { width: auto; accent-color: #ff6b00; cursor: pointer; }
.mb-fradio span { font-size: 13px; color: #f0e6c8; }
.mb-fbtn { display: inline-flex; align-items: center; justify-content: center; gap: 6px; padding: 10px 22px; border: none; border-radius: 6px; font-size: 13px; font-weight: 700; letter-spacing: .5px; cursor: pointer; transition: opacity .15s; font-family: inherit; text-decoration: none; }
.mb-fbtn:hover { opacity: .85; }
.mb-fbtn-primary { background: #ff6b00; color: #fff; }
.mb-fbtn-secondary { background: #2a2a2a; color: #c9a84c; border: 1px solid #c9a84c; }
.mb-fbtn-gold { background: #c9a84c; color: #111; }
.mb-factions { display: flex; gap: 10px; justify-content: flex-end; padding: 6px 0 12px; flex-wrap: wrap; }
.mb-finfo { font-size: 11px; color: #888; margin-top: 4px; display: block; }
.mb-ferror-msg { background: rgba(220,50,50,.10); border: 1px solid #e55; border-radius: 5px; padding: 10px 14px; color: #f99; font-size: 13px; margin-bottom: 16px; }
/* Drag & drop upload */
.mb-fdrop { position: relative; border: 2px dashed #c9a84c; border-radius: 8px; padding: 32px 20px; text-align: center; background: rgba(201,168,76,.04); cursor: pointer; transition: background .15s; overflow: hidden; }
.mb-fdrop:hover, .mb-fdrop.drag-over { background: rgba(201,168,76,.12); }
.mb-fdrop-input { position: absolute; inset: 0; width: 100%; height: 100%; opacity: 0; cursor: pointer; }
.mb-fdrop-icon { font-size: 36px; line-height: 1; margin-bottom: 8px; }
.mb-fdrop-text { font-size: 14px; color: #c9a84c; font-weight: 700; margin-bottom: 4px; }
.mb-fdrop-sub { font-size: 11px; color: #888; }
.mb-fdrop-fname { display: block; margin: 10px auto 0; background: #111; border: 1px solid #444; color: #888; border-radius: 4px; padding: 5px 10px; font-size: 11px; text-align: center; width: 260px; max-width: 100%; box-sizing: border-box; }
/* Android uniquement (mb_widgets.js) : lien galerie hors de la zone caméra */
.mb-fdrop-gallery-link { display: block; margin-top: 8px; font-size: 11px; color: #c9a84c; text-decoration: underline; cursor: pointer; }
/* Panel wizard inactif : reste dans l'arbre de rendu (contrairement à display:none) —
   évite le bug select jamais peint sur mobile ; pas de tabulation/lecteur d'écran. */
.mb-panel-hidden { visibility: hidden; height: 0; overflow: hidden; }
/* Wizard step bar */
.mb-wiz-steps { display: flex; align-items: center; max-width: 400px; margin: 0 auto 24px; }
.mb-wiz-step { display: flex; flex-direction: column; align-items: center; flex: 0 0 auto; }
.mb-wiz-num { width: 34px; height: 34px; border-radius: 50%; display: flex; align-items: center; justify-content: center; font-weight: 700; font-size: 14px; border: 2px solid #444; background: #1a1a1a; color: #666; transition: all .2s; }
.mb-wiz-lbl { font-size: 10px; color: #666; margin-top: 4px; white-space: nowrap; letter-spacing: .5px; }
.mb-wiz-line { flex: 1; height: 2px; background: #333; margin: 0 8px 18px; transition: background .2s; }
.mb-wiz-step.done .mb-wiz-num { background: #c9a84c; border-color: #c9a84c; color: #111; }
.mb-wiz-step.done .mb-wiz-lbl { color: #c9a84c; font-weight: 700; }
.mb-wiz-step.active .mb-wiz-num { background: #1a1a1a; border-color: #ff6b00; color: #ff6b00; }
.mb-wiz-step.active .mb-wiz-lbl { color: #ff6b00; font-weight: 700; }
.mb-wiz-line.done { background: #c9a84c; }
/* Override select_recherche_form inside mb-form-wrap */
.mb-form-wrap select.select_recherche_form, .mb-form-wrap select.select_recherche {
  background: #111 !important; border: 1px solid #c9a84c !important; color: #f0e6c8 !important;
  border-radius: 5px !important; padding: 9px 22px 9px 12px !important; font-size: 13px !important;
  line-height: 1.4 !important;
  color-scheme: dark !important;
  width: 100% !important; box-sizing: border-box !important;
  -webkit-appearance: none !important; -moz-appearance: none !important; appearance: none !important;
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='8' viewBox='0 0 12 8'%3E%3Cpath fill='%23c9a84c' d='M1 1l5 5 5-5'/%3E%3C/svg%3E");
  background-repeat: no-repeat;
  background-position: right 8px center;
  background-size: 8px 6px;
}
.mb-form-wrap select.select_recherche_form:focus, .mb-form-wrap select.select_recherche:focus {
  outline: none; border-color: #f0c060 !important; box-shadow: 0 0 0 2px rgba(201,168,76,.25);
}
/* Panel Annonce (région/département/catégorie) UNIQUEMENT :
   fond blanc + texte noir — thème sombre définitivement écarté sur ces 3 champs
   après 5 tentatives de repaint infructueuses. Ne touche pas les 3 autres
   formulaires (acc_crea/acc_donnees/acc_entreprise) qui restent en thème sombre. */
#mb-p2 select.select_recherche_form {
  background: #fff !important;
  color: #000 !important;
  color-scheme: light !important;
}
/* Widget catégorie/région/département custom (panel Annonce #mb-p2 UNIQUEMENT) —
   remplace le rendu <select> natif après échec de 6+ tentatives de corriger le
   bug de peinture WebKit/Chromium. Le <select> natif reste la source de vérité
   (valeur + onchange=) et n'est masqué QUE si mbCSelectBuild() a construit le
   widget avec succès (classe posée par le JS, jamais en CSS pur) — si le JS ne
   charge/s'exécute pas, le select natif reste visible et utilisable (filet de
   sécurité : pire cas = l'ancien bug connu, jamais un champ inaccessible).
   Apparence du widget identique à l'ancien select. */
.mb-cselect-native-hidden {
  display: none;
}
.mb-cselect { position: relative; width: 100%; }
.mb-cselect-trigger {
  background: #fff; border: 1px solid #c9a84c; border-radius: 5px;
  padding: 9px 22px 9px 12px; font-size: 13px; line-height: 1.4;
  color: #000; width: 100%; box-sizing: border-box; cursor: pointer;
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='8' viewBox='0 0 12 8'%3E%3Cpath fill='%23c9a84c' d='M1 1l5 5 5-5'/%3E%3C/svg%3E");
  background-repeat: no-repeat; background-position: right 8px center; background-size: 8px 6px;
  white-space: nowrap; overflow: hidden; text-overflow: ellipsis;
}
.mb-cselect-trigger:focus { outline: none; border-color: #f0c060; box-shadow: 0 0 0 2px rgba(201,168,76,.25); }
.mb-cselect-trigger.placeholder { color: #888; }
.mb-cselect-panel {
  position: absolute; top: calc(100% + 4px); left: 0; right: 0; z-index: 50;
  background: #fff; border: 1px solid #c9a84c; border-radius: 5px;
  max-height: 280px; overflow-y: auto; box-shadow: 0 6px 18px rgba(0,0,0,.18);
}
.mb-cselect-panel[hidden] { display: none; }
.mb-cselect-opt { padding: 8px 12px; font-size: 13px; color: #000; cursor: pointer; }
.mb-cselect-opt:hover, .mb-cselect-opt.hl { background: #f5efdc; }
.mb-cselect-opt.sel { font-weight: 700; }
.mb-cselect-group { padding: 8px 12px; font-size: 11px; font-weight: 700; color: #555; background: #f5f5f5; text-transform: uppercase; letter-spacing: .05em; cursor: default; }
/* Grille responsive */
@media (max-width: 640px) {
  .mb-frow, .mb-frow-3 { grid-template-columns: 1fr !important; }
}
@media (max-width: 480px) {
  .mb-form-wrap { padding: 0 4px 20px !important; }
  .mb-fsec-body { padding: 10px !important; }
  .mb-fdrop { padding: 20px 12px !important; }
  /* Boutons pleine largeur : flex-basis 100% + column pour empiler proprement */
  .mb-factions { flex-direction: column !important; gap: 8px !important; align-items: stretch !important; }
  .mb-factions .mb-fbtn { width: 100% !important; box-sizing: border-box !important; justify-content: center !important; }
  /* Pack cards : pleine largeur sur téléphone */
  label[data-pk-e], label[data-pk-r],
  label[data-pk-v], label[data-pk-pe] {
    min-width: 100% !important;
    max-width: 100% !important;
    flex: 1 1 100% !important;
    box-sizing: border-box !important;
  }
}

/* ================================================================
   COMPOSANTS MB-AP — page annonce, sidebar contact
   (utilisés dans ann_page.php et display_annonce)
   ================================================================ */
.mb-ap-buy{display:block;width:100%;padding:13px;margin-bottom:8px;background:#ff6b00;color:#fff;border:none;border-radius:7px;font-size:13px;font-weight:bold;cursor:pointer;font-family:'Cinzel',serif;letter-spacing:.4px;text-align:center;transition:opacity .18s;box-sizing:border-box;text-decoration:none;}
.mb-ap-buy:hover{opacity:.88;}
.mb-ap-msg{display:block;padding:11px;margin-bottom:8px;background:#c9a84c;color:#111;border:none;border-radius:7px;font-size:13px;font-weight:bold;text-align:center;text-decoration:none;transition:opacity .18s;}
.mb-ap-msg:hover{opacity:.88;}
.mb-ap-tel-btn{display:block;width:100%;padding:9px;margin-bottom:8px;background:#141408;color:#c9a84c;border:1px solid rgba(201,168,76,.22);border-radius:6px;font-size:12px;font-weight:bold;cursor:pointer;text-align:center;transition:border-color .18s;box-sizing:border-box;}
.mb-ap-tel-btn:hover{border-color:rgba(201,168,76,.5);}
.mb-ap-tel-box{background:#141408;border:1px solid rgba(201,168,76,.22);border-radius:6px;padding:9px 12px;margin-bottom:8px;text-align:center;display:none;}
.mb-ap-tel-num{font-size:16px;font-weight:bold;color:#c9a84c;text-decoration:none;letter-spacing:.5px;}
.mb-ap-offre{display:block;padding:9px;margin-bottom:8px;background:#1a1a0f;color:#c9a84c;border:1px solid rgba(201,168,76,.2);border-radius:6px;font-size:12px;font-weight:bold;text-align:center;text-decoration:none;transition:border-color .18s;cursor:pointer;}
.mb-ap-offre:hover{border-color:#c9a84c;}
.mb-ap-reserv{display:block;padding:8px;margin-bottom:6px;background:#1a1a0f;color:#8a7a6a;border:1px solid rgba(201,168,76,.1);border-radius:6px;font-size:11px;text-align:center;text-decoration:none;transition:all .15s;}
.mb-ap-reserv:hover{border-color:rgba(201,168,76,.3);color:#c9a84c;}
.mb-ap-modal{display:none;position:fixed;inset:0;background:rgba(0,0,0,.82);z-index:9999;align-items:center;justify-content:center;}
.mb-ap-modal.open{display:flex !important;}
.mb-ap-mbox{background:#1a1a0f;border:1px solid rgba(201,168,76,.32);border-radius:10px;padding:22px 24px;max-width:400px;width:92%;position:relative;box-shadow:0 8px 32px rgba(0,0,0,.7);}
.mb-ap-mclose{position:absolute;top:10px;right:14px;background:none;border:none;color:#8a7a6a;font-size:20px;cursor:pointer;line-height:1;padding:0;}
.mb-ap-mico{font-size:40px;margin-bottom:12px;text-align:center;}
.mb-ap-mttl{font-family:'Cinzel',serif;font-size:16px;color:#c9a84c;text-align:center;margin:0 0 10px;font-weight:normal;letter-spacing:.3px;}
.mb-ap-mtxt{font-size:13px;color:#8a7a6a;text-align:center;margin-bottom:16px;line-height:1.6;}
.mb-ap-mact{display:flex;gap:8px;}
.mb-ap-mcancel{flex:1;padding:9px;background:#141408;border:1px solid rgba(201,168,76,.2);border-radius:5px;color:#8a7a6a;font-size:12px;cursor:pointer;transition:all .15s;}
.mb-ap-mcancel:hover{border-color:rgba(201,168,76,.4);color:#c9a84c;}
.mb-ap-fg{margin-bottom:12px;}
.mb-ap-fl{font-size:10px;color:#8a7a6a;text-transform:uppercase;letter-spacing:.4px;display:block;margin-bottom:5px;}
.mb-ap-fi{width:100%;background:#141408;border:1px solid rgba(201,168,76,.2);border-radius:5px;color:#e8ddb8;font-size:13px;padding:9px 12px;outline:none;box-sizing:border-box;}
.mb-ap-fi:focus{border-color:rgba(201,168,76,.5);}
.mb-ap-ft{width:100%;background:#0d0d05;border:1px solid rgba(201,168,76,.1);border-radius:5px;color:#5a4a3a;font-size:12px;padding:9px 12px;min-height:52px;resize:none;outline:none;box-sizing:border-box;font-style:italic;}
.mb-ap-fsubmit{flex:1;padding:9px;background:#c9a84c;border:none;border-radius:5px;color:#111;font-size:13px;font-weight:bold;cursor:pointer;font-family:'Cinzel',serif;transition:opacity .18s;}
.mb-ap-fsubmit:hover{opacity:.88;}

/* ===== Gyrophare 🚨 (22.5 s au chargement) ===== */
@keyframes mb-gyro {
  0%, 100% { transform: scale(1);    filter: drop-shadow(0 0 3px  rgba(220,38,38,.95)); opacity: 1;  }
  50%      { transform: scale(1.22); filter: drop-shadow(0 0 11px rgba(255,140,0,.95)); opacity: .8; }
}
.mb-gyro {
  display: inline-block;
  animation: mb-gyro 1.5s ease-in-out 15;
  will-change: transform, filter, opacity;
}
@media (prefers-reduced-motion: reduce) { .mb-gyro { animation: none; } }

/* ══════════════════════════════════════════════════════════════
   ann_page.php — déplacé pour validation W3C (Layout 2 colonnes)
   ══════════════════════════════════════════════════════════════ */
.mb-ann-wrap{display:grid;grid-template-columns:1fr 320px;gap:24px;max-width:1200px;margin:0 auto;padding:0 18px 32px;align-items:start;}
.mb-ann-left{min-width:0;}
.mb-ann-right{display:flex;flex-direction:column;gap:10px;min-width:0;overflow:hidden;}
/* Gallery */
.mb-ann-gallery{background:#1a1a0f;border:1px solid rgba(201,168,76,.18);border-radius:10px;overflow:hidden;margin-bottom:14px;position:relative;}
.mb-ann-gallery-main{position:relative;background:#0d0d05;aspect-ratio:4/3;overflow:hidden;cursor:zoom-in;}
.mb-ann-gallery-img{width:100%;height:100%;object-fit:contain;display:block;transition:transform .3s;}
.mb-ann-gallery-main:hover .mb-ann-gallery-img{transform:scale(1.03);}
.mb-ann-gallery-badge{position:absolute;top:12px;left:12px;background:#ff6b00;color:#fff;font-size:10px;font-weight:bold;padding:3px 10px;border-radius:12px;letter-spacing:.4px;font-family:'Cinzel',serif;}
.mb-ann-gallery-noimg{display:flex;align-items:center;justify-content:center;color:#4a3a2a;font-size:48px;aspect-ratio:4/3;}
.mb-ann-thumbs{display:flex;gap:6px;padding:10px;overflow-x:auto;scrollbar-width:thin;scrollbar-color:#c9a84c #1a1a0f;background:#141408;}
.mb-ann-thumbs::-webkit-scrollbar{height:4px;}.mb-ann-thumbs::-webkit-scrollbar-track{background:#141408;}.mb-ann-thumbs::-webkit-scrollbar-thumb{background:#c9a84c;border-radius:2px;}
.mb-ann-thumb{width:60px;height:46px;object-fit:cover;border-radius:4px;cursor:pointer;border:2px solid transparent;opacity:.7;transition:all .15s;flex-shrink:0;}
.mb-ann-thumb:hover,.mb-ann-thumb.active{border-color:#c9a84c;opacity:1;}
/* Sections */
.mb-ann-section{background:#1a1a0f;border:1px solid rgba(201,168,76,.18);border-radius:10px;overflow:hidden;margin-bottom:14px;}
.mb-ann-sec-head{padding:13px 16px;font-size:13px;font-weight:bold;color:#c9a84c;cursor:pointer;display:flex;justify-content:space-between;align-items:center;user-select:none;transition:background .15s;}
.mb-ann-sec-head:hover{background:rgba(201,168,76,.05);}
.mb-ann-sec-chv{font-size:11px;color:#6a5a4a;transition:transform .2s;}
.mb-ann-sec-body{padding:14px 16px;border-top:1px solid rgba(201,168,76,.1);}
/* Description */
.mb-ann-desc-text{font-size:13px;color:#c4b89a;line-height:1.8;}
.mb-ann-champs{margin-top:12px;display:grid;grid-template-columns:1fr 1fr;gap:6px;}
.mb-ann-champ{background:#141408;border:1px solid rgba(201,168,76,.1);border-radius:6px;padding:8px 12px;}
.mb-ann-champ-l{font-size:10px;color:#6a5a4a;text-transform:uppercase;letter-spacing:.4px;}
.mb-ann-champ-v{font-size:12px;color:#c9a84c;font-weight:bold;margin-top:2px;}
/* Livraison */
.mb-ann-livr-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(130px,1fr));gap:8px;margin-bottom:10px;}
.mb-ann-livr-card{background:#141408;border:1px solid rgba(201,168,76,.12);border-radius:6px;padding:10px 12px;text-align:center;}
.mb-ann-livr-ico{font-size:20px;margin-bottom:4px;}
.mb-ann-livr-nom{font-size:11px;font-weight:bold;color:#e8ddb8;margin-bottom:2px;}
.mb-ann-livr-del{font-size:10px;color:#6a5a4a;}
.mb-ann-livr-prix{font-size:15px;font-weight:bold;color:#ff6b00;margin-top:4px;}
.mb-ann-livr-note{font-size:10px;color:#4a3a2a;margin:0;}
.mb-ann-livr-calc{display:flex;gap:8px;flex-wrap:wrap;align-items:center;margin-bottom:10px;}
.mb-ann-livr-sel{padding:7px 10px;background:#141408;border:1px solid rgba(201,168,76,.2);border-radius:5px;color:#e8ddb8;font-size:12px;outline:none;}
.mb-ann-livr-btn{padding:7px 16px;background:#ff6b00;color:#fff;border:none;border-radius:5px;font-size:12px;font-weight:bold;cursor:pointer;}
#mb-lv-result .mb-ann-livr-grid{margin-top:10px;}
/* Similaires */
.mb-ann-sim-scroll{display:flex;gap:10px;overflow-x:auto;padding:0 0 8px;scrollbar-width:thin;scrollbar-color:#c9a84c #1a1a0f;}
.mb-ann-sim-scroll::-webkit-scrollbar{height:4px;}.mb-ann-sim-scroll::-webkit-scrollbar-track{background:#1a1a0f;}.mb-ann-sim-scroll::-webkit-scrollbar-thumb{background:#c9a84c;border-radius:2px;}
.mb-ann-sim-card{flex-shrink:0;width:140px;background:#141408;border:1px solid rgba(201,168,76,.12);border-radius:7px;overflow:hidden;text-decoration:none;color:inherit;transition:border-color .15s;}
.mb-ann-sim-card:hover{border-color:rgba(201,168,76,.4);}
.mb-ann-sim-img{width:100%;height:90px;object-fit:cover;display:block;background:#0d0d05;}
.mb-ann-sim-body{padding:8px 10px;}
.mb-ann-sim-title{font-size:11px;font-weight:bold;color:#c4b89a;line-height:1.3;overflow:hidden;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;}
.mb-ann-sim-prix{font-size:12px;color:#c9a84c;font-weight:bold;margin-top:3px;}
.mb-ann-sim-ville{font-size:10px;color:#5a4a3a;}
/* ── Colonne droite ── */
.mb-ann-info-card{background:#1a1a0f;border:1px solid rgba(201,168,76,.22);border-radius:10px;overflow:hidden;position:relative;}
.mb-ann-info-stripe{height:4px;background:linear-gradient(90deg,#c9a84c,#ff6b00);}
.mb-ann-info-body{padding:14px 16px;}
.mb-ann-cat{display:inline-block;background:#ff6b00;color:#fff;font-size:10px;font-weight:bold;padding:3px 10px;border-radius:10px;letter-spacing:.4px;font-family:'Cinzel',serif;margin-bottom:10px;}
.mb-ann-info-title{font-family:'Cinzel',serif;font-size:17px;font-weight:bold;color:#e8ddb8;line-height:1.3;margin:0 0 10px;letter-spacing:.2px;}
.mb-ann-prix-big{font-size:26px;font-weight:bold;color:#c9a84c;font-family:'Cinzel',serif;letter-spacing:.5px;margin-bottom:4px;}
.mb-ann-gratuit{font-size:14px;font-weight:bold;color:#4ade80;margin-bottom:4px;}
.mb-ann-negoc{display:inline-block;background:#f59e0b;color:#fff;font-size:10px;font-weight:bold;padding:2px 8px;border-radius:10px;margin-left:8px;vertical-align:middle;}
.mb-ann-prix-bais{font-size:11px;color:#888;margin-bottom:6px;}
.mb-ann-prix-old{text-decoration:line-through;color:#6a5a4a;}
.mb-ann-meta{display:flex;flex-direction:column;gap:4px;margin:10px 0;padding:10px 0;border-top:1px solid rgba(201,168,76,.1);border-bottom:1px solid rgba(201,168,76,.1);}
.mb-ann-meta-item{font-size:11px;color:#8a7a6a;display:flex;align-items:center;gap:5px;}
.mb-ann-viewers{color:#f59e0b;font-size:11px;font-weight:bold;}
.mb-ann-dg{display:grid;grid-template-columns:1fr 1fr;gap:6px;margin-top:10px;}
.mb-ann-dg-item{background:#141408;border:1px solid rgba(201,168,76,.1);border-radius:5px;padding:7px 10px;}
.mb-ann-dg-l{font-size:9px;color:#5a4a3a;text-transform:uppercase;letter-spacing:.4px;}
.mb-ann-dg-v{font-size:11px;color:#c9a84c;font-weight:bold;margin-top:2px;}
/* Actions contact — pleine largeur + hauteurs fixes */
.mb-ap-buy{width:100%;box-sizing:border-box;min-height:44px;display:flex;align-items:center;justify-content:center;padding:0 13px;font-size:14px;}
.mb-ap-msg{width:100%;box-sizing:border-box;min-height:40px;display:flex;align-items:center;justify-content:center;padding:0 11px;}
.mb-ap-tel-btn{width:100%;box-sizing:border-box;}
/* Partage */
.mb-ann-share{background:#1a1a0f;border:1px solid rgba(201,168,76,.18);border-radius:8px;padding:12px 14px;}
.mb-ann-share-ttl{font-size:9px;color:#c9a84c;font-family:'Cinzel',serif;text-transform:uppercase;letter-spacing:.6px;margin-bottom:8px;font-weight:bold;}
.mb-ann-share-r3{display:grid;grid-template-columns:1fr 1fr 1fr;gap:5px;margin-bottom:5px;}
.mb-ann-share-r2{display:grid;grid-template-columns:1fr 1fr;gap:5px;}
.mb-ann-sbtn{padding:7px 4px;border-radius:5px;font-size:10px;font-weight:bold;text-align:center;text-decoration:none;cursor:pointer;transition:opacity .18s;display:block;border:none;line-height:1.3;}
.mb-ann-sbtn.fb{background:#1877f2;color:#fff;}.mb-ann-sbtn.wa{background:#25d366;color:#111;}
.mb-ann-sbtn.em,.mb-ann-sbtn.cp,.mb-ann-sbtn.qr{background:#141408;color:#c9a84c;border:1px solid rgba(201,168,76,.2);}
.mb-ann-sbtn:hover{opacity:.82;}
/* Actions secondaires — grille 1 ligne auto */
.mb-ann-sec-acts{display:grid;grid-template-columns:repeat(auto-fit,minmax(54px,1fr));gap:5px;}
.mb-ann-sec-acts a,.mb-ann-sec-acts button{padding:7px 4px;border-radius:5px;font-size:10px;font-weight:bold;text-decoration:none;cursor:pointer;background:#141408;border:1px solid rgba(201,168,76,.22);color:#e8ddb8;transition:all .15s;white-space:nowrap;line-height:1.4;text-align:center;box-sizing:border-box;}
.mb-ann-sec-acts a:hover,.mb-ann-sec-acts button:hover{border-color:#c9a84c;color:#c9a84c;}
/* Vendeur */
.mb-ann-vendor{background:#1a1a0f;border:1px solid rgba(201,168,76,.2);border-radius:10px;padding:14px 16px;}
.mb-ann-vc-ttl{font-size:9px;color:#c9a84c;font-family:'Cinzel',serif;text-transform:uppercase;letter-spacing:.6px;margin-bottom:10px;font-weight:bold;}
.mb-ann-vc-head{display:flex;align-items:center;gap:10px;margin-bottom:10px;}
.mb-ann-vc-avatar{width:46px;height:46px;border-radius:50%;background:#141408;border:2px solid rgba(201,168,76,.2);display:flex;align-items:center;justify-content:center;font-size:20px;flex-shrink:0;overflow:hidden;}
.mb-ann-vc-avatar img{width:100%;height:100%;object-fit:cover;}
.mb-ann-vc-name{font-size:13px;font-weight:bold;color:#e8ddb8;font-family:'Cinzel',serif;letter-spacing:.2px;}
.mb-ann-vc-status{font-size:10px;margin-top:3px;}
.mb-ann-vc-act{color:#4ade80;}.mb-ann-vc-inact{color:#6a5a4a;}
.mb-ann-vc-stats{display:grid;grid-template-columns:1fr 1fr;gap:6px;margin-bottom:10px;}
.mb-ann-vc-stat{background:#141408;border:1px solid rgba(201,168,76,.1);border-radius:5px;padding:7px 10px;text-align:center;}
.mb-ann-vc-sv{font-size:15px;font-weight:bold;color:#c9a84c;}
.mb-ann-vc-sl{font-size:9px;color:#5a4a3a;text-transform:uppercase;letter-spacing:.3px;margin-top:2px;}
.mb-ann-follow-btn{display:block;width:100%;padding:9px;text-align:center;border-radius:6px;font-size:12px;font-weight:bold;cursor:pointer;transition:all .18s;text-decoration:none;border:none;}
.mb-ann-follow-on{background:#c9a84c;color:#111;}
.mb-ann-follow-off{background:#141408;color:#c9a84c;border:1px solid rgba(201,168,76,.22);}
.mb-ann-follow-on:hover{opacity:.88;}.mb-ann-follow-off:hover{border-color:#c9a84c;}
/* Gestion propriétaire */
.mb-ann-own-btn.une{color:#ff6b00;border-color:rgba(255,107,0,.25);}.mb-ann-own-btn.une:hover{border-color:#ff6b00;background:rgba(255,107,0,.06);}
.mb-ann-own-btn.retirer{color:#f87171;border-color:rgba(248,113,113,.2);}.mb-ann-own-btn.retirer:hover{border-color:#f87171;background:rgba(248,113,113,.05);}
/* Formulaires offre/réservation */
/* Responsive */
@media(max-width:900px){.mb-ann-wrap{grid-template-columns:1fr;}}
@media(max-width:600px){.mb-ann-wrap{padding:0 12px 24px;gap:16px;}.mb-ann-champs{grid-template-columns:1fr;}.mb-ann-dg{grid-template-columns:1fr;}}


/* ══════════════════════════════════════════════════════════════
   immo_annonces.php — déplacé pour validation W3C
   ══════════════════════════════════════════════════════════════ */
/* ── Conteneur principal ── */
#immo-wrap { clear:both; width:100%; margin:10px 0 0; }

/* ── Barre résultats ── */
.immo-results-bar {
    display:flex;
    justify-content:space-between;
    align-items:center;
    margin-bottom:10px;
    font-size:13px;
    color:var(--mb-creme-pale);
    flex-wrap:wrap;
    gap:6px;
}
.immo-results-bar strong { color:var(--mb-creme); }
.immo-sort-links { display:flex; gap:6px; }
.immo-sort-link {
    padding:3px 9px;
    border-radius:20px;
    border:1px solid var(--mb-border-vif);
    font-size:12px;
    color:var(--mb-creme-pale);
    text-decoration:none;
    white-space:nowrap;
}
.immo-sort-link:hover { border-color:var(--mb-orange); color:var(--mb-orange); }
.immo-sort-link.active { background:var(--mb-orange); color:#fff; border-color:var(--mb-orange); font-weight:600; }

/* ── Grille des cartes ── */
.immo-grid {
    display:grid;
    grid-template-columns:repeat(3,1fr);
    gap:12px;
    margin-bottom:14px;
}
.immo-badge {
    position:absolute;
    top:8px;
    left:8px;
    padding:2px 8px;
    border-radius:20px;
    font-size:11px;
    font-weight:700;
    color:#fff;
    letter-spacing:.3px;
    text-transform:uppercase;
}
.immo-no-results {
    grid-column:1/-1;
    text-align:center;
    padding:40px 20px;
    color:var(--mb-creme-pale);
    font-size:14px;
}

@media(max-width:720px){
    #immo-wrap { width:100%; margin:8px 4px 0; }
    .immo-grid { grid-template-columns:repeat(2,1fr); }
}
@media(max-width:480px){
    .immo-grid { grid-template-columns:1fr; }
}

/* ══════════════════════════════════════════════════════════════
   sortir.php — déplacé pour validation W3C
   ══════════════════════════════════════════════════════════════ */
.sortir-wrap { max-width:960px; margin:0 auto; padding:16px 14px 40px; }
.sortir-filters { display:flex; flex-wrap:wrap; gap:8px; margin-bottom:20px; }
.sortir-filters select, .sortir-filters input[type="date"] {
  background:#1a1a0f; border:1px solid #333320; border-radius:6px;
  color:#ccc; padding:6px 10px; font-size:12px; }
.sortir-grid { display:grid; grid-template-columns:repeat(auto-fill,minmax(280px,1fr)); gap:12px; }
.sortir-card {
  position:relative; background:#1a1a0f; border:1px solid #2a2a1a; border-radius:8px;
  padding:14px 16px; color:inherit; transition:.15s; display:block; }
.sortir-card:hover { border-color:#c9a84c; }
.sortir-card-main { display:block; text-decoration:none; color:inherit; }
.sortir-card-main::after { content:""; position:absolute; inset:0; z-index:0; }
.sortir-date { display:block; font-size:12px; color:#c9a84c; font-weight:600; text-transform:uppercase; letter-spacing:.5px; }
.sortir-titre { display:block; font-size:15px; font-weight:bold; color:#e8d9b0; margin:4px 0; }
.sortir-lieu { display:block; font-size:12px; color:#888; }
.sortir-card-ticket { position:relative; z-index:1; display:inline-block; margin-top:8px; font-size:11px; color:#c9a84c; text-decoration:none; }
.sortir-card-ticket:hover { text-decoration:underline; }
.sortir-card-multidates { position:relative; z-index:1; display:inline-block; margin-top:8px; margin-right:10px; font-size:11px; color:#e8c96a; text-decoration:none; }
.sortir-card-multidates:hover { text-decoration:underline; }
.sortir-card-multidates .ti { font-size:11px; vertical-align:-1px; margin-right:2px; }
.sortir-badge {
  display:inline-block; font-size:10px; padding:2px 8px; border-radius:10px;
  background:#c9a84c22; color:#c9a84c; margin-top:6px; }
.sortir-badge .ti { font-size:11px; vertical-align:-1px; margin-right:2px; }
.sortir-empty { text-align:center; color:#666; padding:40px 0; font-size:14px; }
.sortir-depot-link { display:inline-block; margin-bottom:16px; color:#c9a84c; text-decoration:none; font-size:13px; }
.sortir-depot-link:hover { text-decoration:underline; }

/* ══════════════════════════════════════════════════════════════
   sortir_event.php — déplacé pour validation W3C
   ══════════════════════════════════════════════════════════════ */
.se-wrap { max-width:720px; margin:0 auto; padding:16px 14px 40px; }
.se-hero { position:relative; border-radius:10px; overflow:hidden; margin-bottom:16px; min-height:180px; background:#1a1a0f; display:flex; align-items:center; justify-content:center; }
.se-hero img { width:100%; height:auto; display:block; }
.se-hero-ph { width:100%; height:180px; display:flex; align-items:center; justify-content:center; background:linear-gradient(135deg,#0d0d0d,#1a1a1a); }
.se-hero-ph img { width:80px; opacity:.3; }
.se-badge { position:absolute; top:12px; left:12px; font-size:11px; padding:4px 10px; border-radius:8px; background:#c9a84cdd; color:#111; font-weight:600; }
.se-badge .ti { margin-right:3px; }
.se-title { font-family:'Cinzel',serif; font-size:22px; color:#c9a84c; margin:0 0 6px; }
.se-meta { font-size:13px; color:#aaa; margin-bottom:4px; }
.se-meta .ti { color:#c9a84c; margin-right:4px; vertical-align:-1px; }
.se-section { background:#1a1a0f; border:1px solid #2a2a1a; border-radius:8px; padding:16px; margin-bottom:12px; }
.se-section h2 { font-size:13px; color:#c9a84c; text-transform:uppercase; letter-spacing:.5px; margin:0 0 8px; font-weight:normal; }
.se-desc { font-size:14px; color:#ccc; line-height:1.6; white-space:pre-wrap; }
.se-info-grid { display:grid; grid-template-columns:1fr 1fr; gap:10px; }
.se-info-item { text-align:center; padding:10px; background:#141408; border-radius:6px; }
.se-info-val { font-size:18px; font-weight:bold; color:#c9a84c; }
.se-info-lbl { font-size:11px; color:#888; margin-top:2px; }
.se-actions { display:flex; gap:8px; flex-wrap:wrap; margin-bottom:12px; }
.se-btn { display:inline-flex; align-items:center; gap:5px; padding:8px 16px; border-radius:6px; font-size:12px; font-weight:600; text-decoration:none; border:none; cursor:pointer; }
.se-btn-ticket { background:#c9a84c; color:#111; }
.se-btn-cal { background:#333; color:#ccc; }
.se-btn-share { background:#222; color:#aaa; border:1px solid #444; }
.se-btn-back { background:#222; color:#aaa; border:1px solid #444; }
.se-btn:hover { opacity:.85; }
.se-prog-overlay { position:fixed; inset:0; background:rgba(0,0,0,.6); z-index:900; display:none; }
.se-prog-overlay.open { display:block; }
.se-prog-drawer { position:fixed; top:0; right:-420px; width:400px; max-width:90vw; height:100vh;
  background:#111108; border-left:2px solid #c9a84c; z-index:901; transition:right .3s;
  overflow-y:auto; padding:24px 20px; }
.se-prog-drawer.open { right:0; }
.se-prog-close { position:absolute; top:12px; right:14px; background:none; border:none;
  color:#c9a84c; font-size:20px; cursor:pointer; }
.se-prog-title { font-family:'Cinzel',serif; font-size:16px; color:#c9a84c; margin:0 0 16px; }
.se-prog-body { font-size:14px; color:#ccc; line-height:1.7; white-space:pre-wrap; }
.se-similar { display:grid; grid-template-columns:repeat(auto-fill,minmax(200px,1fr)); gap:10px; }
.se-sim-card { background:#1a1a0f; border:1px solid #2a2a1a; border-radius:6px; padding:10px 12px; text-decoration:none; display:block; }
.se-sim-card:hover { border-color:#c9a84c; }
.se-sim-date { font-size:11px; color:#c9a84c; font-weight:600; }
.se-sim-title { font-size:13px; color:#e8d9b0; margin:2px 0; }
.se-sim-ville { font-size:11px; color:#888; }

/* ══════════════════════════════════════════════════════════════
   carte_pub.php — déplacé pour validation W3C (bloc principal)
   ══════════════════════════════════════════════════════════════ */
.mb-cp-pub-wrap  { max-width:480px; margin:30px auto; padding:0 16px 50px; text-align:center; }
.mb-cp-pub-title { font-family:'Cinzel',serif; font-size:18px; color:#c9a84c; margin-bottom:4px; }
.mb-cp-pub-sub   { font-size:12px; color:#8a7a6a; margin-bottom:24px; }
.mb-cp-card      { position:relative; width:100%; aspect-ratio:1.75/1;
  background:#141408; border:1px solid rgba(201,168,76,.25); border-radius:10px;
  overflow:hidden; box-shadow:0 8px 32px rgba(0,0,0,.5); }
.mb-cp-card::before { content:''; position:absolute; top:0; left:0; right:0; height:3px;
  background:linear-gradient(90deg,#c9a84c,#ff6b00); z-index:2; }
.mb-cp-card-label { font-size:10px; text-transform:uppercase; letter-spacing:1px;
  color:#8a7a6a; margin:0 0 8px; text-align:left; }
.mb-cp-btns-pub  { display:flex; gap:10px; justify-content:center; margin-top:20px; flex-wrap:wrap; }
.mb-cp-btn { padding:10px 20px; border-radius:6px; font-size:13px; font-weight:bold;
  text-decoration:none; cursor:pointer; border:none; transition:opacity .2s; }
.mb-cp-btn.gold   { background:#c9a84c; color:#1a1a0f; }
.mb-cp-btn.dark   { background:#1a1a0f; border:1px solid rgba(201,168,76,.3); color:#c9a84c; }
.mb-cp-btn.blue   { background:#2a7aaa; color:#fff; }
.mb-cp-btn:hover  { opacity:.85; }
.mb-cp-btn-bookmark { display:inline-flex;align-items:center;gap:8px;padding:10px 20px;border-radius:6px;font-size:13px;font-weight:700;cursor:pointer;border:1px solid #c9a84c;transition:opacity .2s; }
.mb-cp-btn-bookmark:hover { opacity:.85; }
.mb-cp-btn-bookmark.saved   { background:#c9a84c; color:#141408; }
.mb-cp-btn-bookmark.unsaved { background:#1a1a0f; color:#e8c96a; }
.mb-cp-share-links { display:flex;gap:8px;justify-content:center;flex-wrap:wrap;margin-top:12px; }
.mb-cp-share-link  { display:inline-flex;align-items:center;gap:6px;padding:8px 14px;border-radius:8px;text-decoration:none;font-size:12px;font-weight:bold;transition:opacity .2s; }
.mb-cp-share-link:hover { opacity:.85; }
.mb-cp-share-link.wa { background:#25D366; color:#fff; }
.mb-cp-share-link.tg { background:#0088cc; color:#fff; }

/* ══════════════════════════════════════════════════════════════
   carte_pub.php — déplacé pour validation W3C (bandeau conditionnel)
   ══════════════════════════════════════════════════════════════ */
.mb-keep-banner {
  display: flex; align-items: center; gap: 12px; flex-wrap: wrap;
  justify-content: center; margin: 14px auto 0; max-width: 440px;
  padding: 12px 16px; border-radius: 8px;
  background: #1a1a0f; border: 1px solid rgba(201,168,76,.4);
  font-size: 13px; color: #c9a84c;
}

/* ══════════════════════════════════════════════════════════════
   boutiques.php — déplacé pour validation W3C
   ══════════════════════════════════════════════════════════════ */
/* ═══ BASE ═══════════════════════════════════════════════════ */
.bts{max-width:1080px;margin:0 auto;padding:0 14px 60px;box-sizing:border-box;}

/* ═══ HERO ════════════════════════════════════════════════════ */
.bts-hero{background:linear-gradient(135deg,#0d0d06 0%,#1a1a0f 40%,#111008 100%);
  border-top:3px solid #ff6b00;border-bottom:1px solid rgba(201,168,76,0.15);padding:36px 20px 28px;text-align:center;}
.bts-hero-title{font-family:'Cinzel',serif;font-size:clamp(20px,4vw,30px);color:#c9a84c;margin:0 0 6px;font-weight:normal;letter-spacing:.5px;}
.bts-hero-sub{font-size:13px;color:#888;margin-bottom:18px;}
.bts-stats{display:flex;justify-content:center;gap:clamp(20px,4vw,52px);flex-wrap:nowrap;margin-bottom:22px;}
.bts-stat{text-align:center;}
.bts-stat-val{font-family:'Cinzel',serif;font-size:clamp(22px,3.5vw,32px);color:#c9a84c;font-weight:700;line-height:1;}
.bts-stat-lbl{font-size:10px;color:#666;text-transform:uppercase;letter-spacing:.08em;margin-top:4px;}
.bts-stat-sep{width:1px;height:32px;background:rgba(201,168,76,0.18);align-self:center;}
.bts-pills{display:flex;gap:7px;flex-wrap:wrap;justify-content:center;padding:0 6px;}
.bts-pill{display:inline-flex;align-items:center;padding:7px 16px;border-radius:20px;font-size:11px;
  font-weight:600;cursor:pointer;text-decoration:none;white-space:nowrap;
  background:rgba(255,255,255,0.04);border:1px solid rgba(201,168,76,0.2);color:#888;transition:all .15s;}
.bts-pill:hover{border-color:rgba(201,168,76,0.3);color:#c9a84c;}
.bts-pill.active{background:rgba(201,168,76,0.12);border-color:rgba(201,168,76,0.4);color:#c9a84c;}

/* ═══ BARRE ACTIONS ══════════════════════════════════════════ */
.bts-bar{display:flex;align-items:center;justify-content:space-between;gap:12px;
  padding:14px 0 12px;flex-wrap:wrap;border-bottom:0.5px solid rgba(255,255,255,0.05);margin-bottom:18px;}
.bts-bar-count{font-size:12px;color:#666;}
.bts-bar-count strong{color:#d4c5a0;}
.bts-tri{display:flex;align-items:center;gap:8px;flex-wrap:wrap;}
.bts-tri-lbl{font-size:10px;color:#555;text-transform:uppercase;letter-spacing:.06em;}
.bts-tri-btn{display:inline-flex;align-items:center;padding:5px 12px;border-radius:14px;font-size:11px;
  cursor:pointer;text-decoration:none;
  background:rgba(255,255,255,0.03);border:1px solid rgba(201,168,76,0.2);color:#777;transition:all .15s;}
.bts-tri-btn:hover{border-color:rgba(201,168,76,0.25);color:#c9a84c;}
.bts-tri-btn.active{background:rgba(201,168,76,0.08);border-color:rgba(201,168,76,0.3);color:#c9a84c;}

/* ═══ SECTION À LA UNE ═══════════════════════════════════════ */
.bts-une-wrap{padding:22px 0 0;}
.bts-une-title{font-family:'Cinzel',serif;font-size:13px;color:#c9a84c;margin-bottom:16px;
  display:flex;align-items:center;gap:8px;}
.bts-une-title::after{content:'';flex:1;height:1px;background:linear-gradient(90deg,rgba(201,168,76,0.25),transparent);}
.bts-une-scroll{display:flex;gap:14px;overflow-x:auto;padding-bottom:14px;
  scrollbar-width:thin;scrollbar-color:rgba(201,168,76,0.2) transparent;}
.bts-une-scroll::-webkit-scrollbar{height:3px;}
.bts-une-scroll::-webkit-scrollbar-thumb{background:rgba(201,168,76,0.25);border-radius:2px;}

/* Card une — plus grande, logo qui déborde */
.bts-une-card{flex:0 0 220px;width:220px;background:#1a1a0f;
  border:0.5px solid rgba(201,168,76,0.22);border-radius:12px;
  overflow:visible;text-decoration:none;display:block;
  position:relative;transition:border-color .15s,transform .15s;}
.bts-une-card:hover{border-color:rgba(201,168,76,0.55);transform:translateY(-2px);}

/* Bannière : overflow:hidden contient le watermark, coins top arrondis */
.bts-une-banner{height:88px;background:#141408;position:relative;overflow:hidden;
  border-radius:12px 12px 0 0;}
.bts-une-banner-wm{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;
  font-size:60px;opacity:.08;user-select:none;pointer-events:none;}

/* Logo absolu sur la carte — 70px centré, top:53px → déborde de 35px sous la bannière */
.bts-une-logo{
  position:absolute;top:53px;left:50%;transform:translateX(-50%);z-index:3;
  width:70px;height:70px;border-radius:10px;object-fit:cover;
  border:2px solid #c9a84c;box-shadow:0 2px 10px rgba(0,0,0,0.7);}
.bts-une-logo-ph{
  position:absolute;top:53px;left:50%;transform:translateX(-50%);z-index:3;
  width:70px;height:70px;border-radius:10px;background:#141408;
  border:2px solid #c9a84c;box-shadow:0 2px 10px rgba(0,0,0,0.7);
  display:flex;align-items:center;justify-content:center;font-size:40px;}

/* Corps — padding-top laisse place au logo 70px qui déborde de 35px */
.bts-une-body{padding:42px 12px 12px;background:#1a1a0f;border-radius:0 0 12px 12px;}
.bts-une-name{font-family:'Cinzel',serif;font-size:12px;color:#c9a84c;font-weight:700;
  white-space:nowrap;overflow:hidden;text-overflow:ellipsis;margin-bottom:2px;text-transform:uppercase;}
.bts-une-cat{font-size:9px;color:#ff6b00;font-weight:600;text-transform:uppercase;
  letter-spacing:.04em;margin-bottom:6px;}
.bts-une-stars{font-size:11px;color:#c9a84c;letter-spacing:1px;}
.bts-une-nb{font-size:9px;color:#555;display:inline;margin-left:3px;}

/* Aperçu produits en ligne */
.bts-une-prods{display:flex;gap:5px;margin:8px 0 6px;}
.bts-une-prod-img{width:40px;height:40px;border-radius:6px;object-fit:cover;
  background:#141408;border:0.5px solid rgba(255,255,255,0.07);flex-shrink:0;}
.bts-une-prod-ph{width:40px;height:40px;border-radius:6px;background:#141408;
  border:0.5px solid rgba(255,255,255,0.07);flex-shrink:0;
  display:flex;align-items:center;justify-content:center;font-size:16px;}
.bts-une-prod-prix{font-size:8px;color:#c9a84c;text-align:center;margin-top:2px;
  white-space:nowrap;overflow:hidden;text-overflow:ellipsis;}
.bts-une-prod-wrap{display:flex;flex-direction:column;flex:1;min-width:0;}

.bts-une-ventes{font-size:9px;color:#666;margin-bottom:8px;}
.bts-une-badge{position:absolute;top:8px;right:8px;z-index:4;background:#ff6b00;color:#fff;
  font-size:9px;font-weight:700;padding:3px 9px;border-radius:10px;letter-spacing:.03em;white-space:nowrap;}
.bts-une-btn{display:block;text-align:center;background:transparent;color:#fff;border-radius:7px;
  border:1px solid #fff;padding:7px;font-size:10px;font-weight:700;transition:all .15s;}
.bts-une-card:hover .bts-une-btn{border-color:#fff;background:rgba(255,255,255,0.08);}

/* Slot réserver */
.bts-slot-card{flex:0 0 220px;width:220px;
  background:linear-gradient(135deg,rgba(201,168,76,0.06),rgba(255,107,0,0.04));
  border:0.5px dashed rgba(201,168,76,0.3);border-radius:12px;display:flex;flex-direction:column;
  align-items:center;justify-content:center;text-align:center;padding:20px 14px;text-decoration:none;transition:border-color .15s;}
.bts-slot-card:hover{border-color:rgba(201,168,76,0.6);}
.bts-slot-ico{font-size:30px;margin-bottom:8px;}
.bts-slot-txt{font-size:11px;color:#888;margin-bottom:12px;line-height:1.5;}
.bts-slot-btn{background:rgba(201,168,76,0.12);border:0.5px solid rgba(201,168,76,0.35);border-radius:7px;
  color:#c9a84c;font-size:10px;font-weight:700;padding:7px 16px;}

/* ═══ GRILLE BOUTIQUES ══════════════════════════════════════ */
/* 7. Gap 12px entre cards, padding aéré */
.bts-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:12px;margin-top:4px;}

.bts-card{background:#1a1a0f;border:0.5px solid rgba(201,168,76,0.16);border-radius:12px;
  overflow:hidden;text-decoration:none;display:flex;flex-direction:column;transition:border-color .15s,transform .12s;}
.bts-card:hover{border-color:rgba(201,168,76,0.42);transform:translateY(-2px);}

/* 2. Bannière 80px, watermark 60px opacity 0.08 */
.bts-card-banner{height:80px;background:#141408;position:relative;display:flex;align-items:center;justify-content:center;overflow:hidden;flex-shrink:0;}
.bts-card-banner-wm{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;
  font-size:60px;opacity:.08;user-select:none;pointer-events:none;}

/* Logo 70×70 centré dans bannière, border or solid */
.bts-card-logo{width:70px;height:70px;border-radius:10px;object-fit:cover;
  border:2px solid #c9a84c;position:relative;z-index:1;
  box-shadow:0 2px 8px rgba(0,0,0,0.6);}
.bts-card-logo-ph{width:70px;height:70px;border-radius:10px;background:#141408;
  border:2px solid #c9a84c;display:flex;align-items:center;justify-content:center;font-size:40px;
  position:relative;z-index:1;box-shadow:0 2px 8px rgba(0,0,0,0.6);}

/* Badges top-right en colonne */
.bts-card-badges{position:absolute;top:6px;right:6px;display:flex;flex-direction:column;gap:3px;z-index:2;align-items:flex-end;}
.bts-badge{font-size:9px;font-weight:700;padding:2px 7px;border-radius:8px;line-height:1.4;}
.bts-badge-certif{background:rgba(201,168,76,0.22);color:#c9a84c;border:0.5px solid rgba(201,168,76,0.4);}
.bts-badge-breton{background:rgba(255,107,0,0.18);color:#ff6b00;border:0.5px solid rgba(255,107,0,0.3);}
.bts-badge-new{background:rgba(34,197,94,0.18);color:#22c55e;border:0.5px solid rgba(34,197,94,0.3);}

/* Corps de card aéré */
.bts-card-body{padding:13px 14px 10px;flex:1;display:flex;flex-direction:column;}
.bts-card-name{font-family:'Cinzel',serif;font-size:13px;color:#c9a84c;font-weight:700;
  white-space:nowrap;overflow:hidden;text-overflow:ellipsis;margin-bottom:3px;}
.bts-card-cat{font-size:9px;color:#ff6b00;margin-bottom:7px;font-weight:700;
  text-transform:uppercase;letter-spacing:.06em;}

/* Description 2 lignes strictes */
.bts-card-desc{font-size:11px;color:#777;line-height:14px;height:28px;overflow:hidden;
  display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;margin-bottom:9px;}
.bts-card-stars{font-size:11px;color:#c9a84c;letter-spacing:1px;}
.bts-card-stars-nb{font-size:10px;color:#555;margin-left:4px;}
.bts-card-loc{font-size:10px;color:#555;margin-top:5px;}
.bts-card-loc::before{content:'📍 ';font-size:9px;}

/* 3. Aperçu produits — grille 4 colonnes, toujours affiché */
.bts-card-prods{display:grid;grid-template-columns:repeat(4,1fr);gap:6px;
  padding:10px 16px;border-top:0.5px solid rgba(255,255,255,0.05);}
.bts-card-prod{min-width:0;}
.bts-card-prod-img{width:100%;aspect-ratio:1;object-fit:cover;border-radius:6px;
  background:#141408;display:block;border:0.5px solid rgba(255,255,255,0.05);}
.bts-card-prod-ph{width:100%;aspect-ratio:1;border-radius:6px;background:#141408;
  border:0.5px solid rgba(255,255,255,0.05);
  display:flex;align-items:center;justify-content:center;font-size:16px;}
.bts-card-prod-prix{font-size:9px;color:#c9a84c;text-align:center;margin-top:3px;
  white-space:nowrap;overflow:hidden;text-overflow:ellipsis;}

/* 4. Footer — padding 8px 12px, fond #141408, statut actif */
.bts-card-footer{display:flex;align-items:center;justify-content:space-between;
  padding:8px 12px;background:#141408;border-top:0.5px solid rgba(255,255,255,0.05);}
.bts-card-meta{font-size:9px;color:#555;line-height:1.7;}
.bts-card-meta strong{color:#888;}
.bts-card-statut{display:inline-flex;align-items:center;gap:3px;font-size:8px;
  color:#22c55e;margin-top:1px;}
.bts-card-cta{display:inline-flex;align-items:center;gap:5px;background:transparent;color:#fff;
  border:1px solid rgba(255,255,255,0.4);border-radius:7px;padding:7px 13px;font-size:10px;font-weight:700;
  white-space:nowrap;flex-shrink:0;transition:all .15s;}
.bts-card:hover .bts-card-cta{border-color:#fff;background:rgba(255,255,255,0.08);}

/* Encart ouvrir boutique */
.bts-open-card{background:linear-gradient(135deg,rgba(201,168,76,0.1) 0%,rgba(255,107,0,0.08) 100%);
  border:0.5px solid rgba(201,168,76,0.3);border-radius:12px;
  display:flex;flex-direction:column;align-items:center;justify-content:center;
  text-align:center;padding:26px 20px;text-decoration:none;transition:border-color .15s;}
.bts-open-card:hover{border-color:rgba(201,168,76,0.6);}
.bts-open-ico{font-size:36px;margin-bottom:10px;}
.bts-open-title{font-family:'Cinzel',serif;font-size:14px;color:#c9a84c;margin-bottom:6px;}
.bts-open-sub{font-size:11px;color:#888;margin-bottom:14px;line-height:1.6;}
.bts-open-btn{background:#ff6b00;color:#fff;border-radius:8px;padding:10px 22px;font-size:12px;font-weight:700;}

/* Vide */
.bts-empty{text-align:center;padding:50px 20px;color:#666;}
.bts-empty-ico{font-size:40px;margin-bottom:12px;}
.bts-empty-txt{font-size:13px;line-height:1.6;}
.bts-empty-link{color:#c9a84c;text-decoration:none;}

/* ═══ PAGINATION ════════════════════════════════════════════ */
.bts-pag-btn.active{background:rgba(201,168,76,0.12);border-color:rgba(201,168,76,0.4);color:#c9a84c;font-weight:700;}
.bts-pag-btn.disabled{opacity:.3;pointer-events:none;}

@media(max-width:600px){
  .bts-grid{grid-template-columns:1fr;}
  .bts-stats{gap:16px;}
  .bts-stat-val{font-size:20px;}
  .bts-tri{gap:5px;}
}

/* ══════════════════════════════════════════════════════════════
   pack_pro.php — déplacé pour validation W3C (bloc principal)
   ══════════════════════════════════════════════════════════════ */
.pack-hero   { background:linear-gradient(135deg,#1a1a1a 0%,#222222 100%);
               border-bottom:1px solid rgba(201,168,76,.35); color:#f0e6c8;
               text-align:center; padding:40px 20px; margin-bottom:30px; }
.pack-title  { font-size:32px; font-weight:bold; margin-bottom:8px; color:#e8c96a; }
.pack-sub    { font-size:16px; opacity:.85; margin-bottom:20px; }
.pack-price  { font-size:48px; font-weight:bold; color:#c9a84c; }
.pack-price small { font-size:16px; opacity:.7; }
.pack-wrap   { max-width:900px; margin:0 auto; padding:0 20px 40px; }
.pack-grid   { display:grid; grid-template-columns:1fr 1fr 1fr; gap:20px; margin-bottom:30px; }
@media(max-width:600px){ .pack-grid { grid-template-columns:1fr; } }
.pack-card   { background:#1a1a1a; border:1px solid rgba(201,168,76,.22); border-radius:8px; padding:20px;
               text-align:center; color:#f0e6c8; }
.pack-icon   { font-size:36px; margin-bottom:10px; }
.pack-feat   { font-weight:bold; font-size:15px; color:#c9a84c; margin-bottom:6px; }
.pack-desc   { font-size:13px; color:#c8b98a; }
.pack-cta    { text-align:center; margin:20px 0; }
.pack-btn    { background:#c9a84c; color:#111; border:none; padding:14px 40px;
               border-radius:6px; font-size:18px; font-weight:bold; cursor:pointer;
               text-decoration:none; display:inline-block; }
.pack-btn:hover { background:#e8c96a; }
.pack-active { background:#0a2010; border:2px solid #5a9e2f; border-radius:8px;
               padding:20px; text-align:center; margin-bottom:20px; color:#f0e6c8; }
.badge-pro   { display:inline-block; background:#c9a84c; color:#111; padding:3px 10px;
               border-radius:12px; font-size:11px; font-weight:bold; }

/* ══════════════════════════════════════════════════════════════
   pack_pro.php — déplacé pour validation W3C (bloc conditionnel pro connecté)
   ══════════════════════════════════════════════════════════════ */
.pack-offer { display:flex; gap:20px; justify-content:center; flex-wrap:wrap; margin:20px 0; }
.pack-offer-card { background:#1a1a1a; border:2px solid rgba(201,168,76,.25); border-radius:10px;
                   padding:24px 32px; text-align:center; color:#f0e6c8; cursor:pointer;
                   transition:border-color .2s; min-width:200px; position:relative; }
.pack-offer-card:hover { border-color:#c9a84c; }
.pack-offer-card input[type=radio] { position:absolute; opacity:0; width:0; height:0; }
.pack-offer-card.selected { border-color:#c9a84c; background:#201a00; }
.pack-offer-label { font-size:13px; text-transform:uppercase; letter-spacing:1px; opacity:.6; margin-bottom:8px; }
.pack-offer-price { font-size:32px; font-weight:bold; color:#c9a84c; }
.pack-offer-price small { font-size:13px; opacity:.7; }
.pack-offer-ttc { font-size:12px; opacity:.5; margin-top:2px; }
.pack-offer-badge { background:#c9a84c; color:#111; font-size:11px; font-weight:bold;
                    padding:3px 10px; border-radius:12px; display:inline-block; margin-top:8px; }

/* ══════════════════════════════════════════════════════════════
   Fil d'Ariane (breadcrumb HTML visible — SEO-5)
   ══════════════════════════════════════════════════════════════ */
.mb-breadcrumb {
  max-width: 1200px;
  margin: 0 auto 14px;
  padding: 0 18px;
  font-size: 11px;
  color: #8a7a6a;
  font-family: 'Cinzel', serif;
  letter-spacing: .3px;
}
.mb-breadcrumb ol {
  list-style: none;
  margin: 0;
  padding: 0;
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 6px;
}
.mb-breadcrumb li {
  display: inline-flex;
  align-items: center;
  gap: 6px;
}
.mb-breadcrumb li:not(:last-child)::after {
  content: "›";
  color: #c9a84c;
  opacity: .7;
}
.mb-breadcrumb a {
  color: #c9a84c;
  text-decoration: none;
  transition: color .2s;
}
.mb-breadcrumb a:hover {
  color: #e8c96a;
  text-decoration: underline;
}
.mb-breadcrumb [aria-current="page"] {
  color: #8a7a6a;
  cursor: default;
}
@media(max-width:600px) { .mb-breadcrumb { padding: 0 12px; } }
