/* === VINCENTBI.NET — CSS ADDITIONNEL UNIFIÉ v3 === */
/* Coller dans : Apparence → CSS additionnel (remplacer tout) */

@import url('https://fonts.googleapis.com/css2?family=Playfair+Display:ital,wght@0,400;0,700;1,400&family=Inter:wght@300;400;500&display=swap');

/* =====================
   MASQUES GLOBAUX
   ===================== */
#wpadminbar { display: none !important; }
html { margin-top: 0 !important; }
.jetpack-sharing-buttons__services-list { display: none !important; }
.sharedaddy { display: none !important; }
.wp-block-post-comments { display: none !important; }

/* =====================
   RESET HOMEPAGE
   ===================== */
.vb-hp, .vb-hp * { box-sizing: border-box; }

/* =====================
   HERO
   ===================== */
.vb-hp .vb-hero-wrap {
  position: relative !important;
  background: #0b0b0b !important;
  min-height: 90vh !important;
  display: flex !important;
  align-items: center !important;
  overflow: hidden !important;
  width: 100% !important;
}
.vb-hp .vb-hero-grain {
  position: absolute !important;
  inset: 0 !important;
  background-image: url("data:image/svg+xml,%3Csvg viewBox='0 0 512 512' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='noise'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.9' numOctaves='4' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23noise)'/%3E%3C/svg%3E") !important;
  opacity: 0.04 !important;
  pointer-events: none !important;
}
.vb-hp .vb-hero-inner {
  position: relative !important;
  z-index: 2 !important;
  max-width: 900px !important;
  margin: 0 auto !important;
  padding: 120px 40px !important;
  width: 100% !important;
}
.vb-hp .vb-hero-eyebrow {
  font-family: 'Inter', sans-serif !important;
  font-size: 11px !important;
  font-weight: 500 !important;
  letter-spacing: 0.2em !important;
  text-transform: uppercase !important;
  color: #e8b84b !important;
  margin-bottom: 28px !important;
  display: block !important;
}
.vb-hp .vb-hero-h1 {
  font-family: 'Playfair Display', Georgia, serif !important;
  font-size: clamp(2.6rem, 6vw, 4.2rem) !important;
  font-weight: 700 !important;
  color: #f5f5f5 !important;
  line-height: 1.12 !important;
  margin: 0 0 12px !important;
}
.vb-hp .vb-hero-h1 em {
  font-style: italic !important;
  color: #e8b84b !important;
}
.vb-hp .vb-hero-tagline {
  font-family: 'Inter', sans-serif !important;
  font-size: clamp(1rem, 2vw, 1.15rem) !important;
  color: #bdbdbd !important;
  line-height: 1.7 !important;
  margin: 24px 0 40px !important;
  max-width: 620px !important;
}
.vb-hp .vb-hero-line {
  width: 60px !important;
  height: 1px !important;
  background: #e8b84b !important;
  margin: 0 0 32px !important;
  display: block !important;
}
.vb-hp .vb-hero-btns {
  display: flex !important;
  gap: 16px !important;
  flex-wrap: wrap !important;
}
.vb-hp .vb-hero-stats {
  display: grid !important;
  grid-template-columns: repeat(4, 1fr) !important;
  margin-top: 80px !important;
  border-top: 1px solid rgba(255,255,255,0.06) !important;
  padding-top: 32px !important;
}
.vb-hp .vb-stat-v {
  font-family: 'Playfair Display', serif !important;
  font-size: 1.8rem !important;
  color: #e8b84b !important;
  font-weight: 700 !important;
  display: block !important;
  margin: 0 !important;
}
.vb-hp .vb-stat-l {
  font-family: 'Inter', sans-serif !important;
  font-size: 0.78rem !important;
  color: #666 !important;
  text-transform: uppercase !important;
  letter-spacing: 0.1em !important;
  display: block !important;
  margin: 4px 0 0 !important;
}

/* =====================
   BOUTONS
   ===================== */
.vb-hp .vb-btn-p {
  font-family: 'Inter', sans-serif !important;
  font-size: 0.9rem !important;
  font-weight: 500 !important;
  padding: 14px 28px !important;
  background: #f5f5f5 !important;
  color: #0b0b0b !important;
  border: none !important;
  text-decoration: none !important;
  display: inline-block !important;
  letter-spacing: 0.03em !important;
  transition: background 0.2s !important;
  cursor: pointer !important;
}
.vb-hp .vb-btn-p:hover { background: #e8b84b !important; color: #0b0b0b !important; }
.vb-hp .vb-btn-s {
  font-family: 'Inter', sans-serif !important;
  font-size: 0.9rem !important;
  font-weight: 400 !important;
  padding: 14px 28px !important;
  background: transparent !important;
  color: #f5f5f5 !important;
  border: 1px solid rgba(245,245,245,0.3) !important;
  text-decoration: none !important;
  display: inline-block !important;
  transition: border-color 0.2s, color 0.2s !important;
  cursor: pointer !important;
}
.vb-hp .vb-btn-s:hover { border-color: #e8b84b !important; color: #e8b84b !important; }

/* =====================
   SECTIONS GÉNÉRIQUES
   ===================== */
.vb-hp .vb-sec {
  padding: 100px 40px !important;
  display: block !important;
  width: 100% !important;
}
.vb-hp .vb-sec-inner {
  max-width: 1060px !important;
  margin: 0 auto !important;
  width: 100% !important;
}
.vb-hp .vb-sec-inner-narrow {
  max-width: 760px !important;
  margin: 0 auto !important;
  width: 100% !important;
}
.vb-hp .vb-ch-num {
  font-family: 'Inter', sans-serif !important;
  font-size: 11px !important;
  font-weight: 500 !important;
  letter-spacing: 0.2em !important;
  text-transform: uppercase !important;
  color: #e8b84b !important;
  margin-bottom: 20px !important;
  display: block !important;
}
.vb-hp .vb-h2 {
  font-family: 'Playfair Display', serif !important;
  font-size: clamp(1.8rem, 3.5vw, 2.5rem) !important;
  font-weight: 700 !important;
  line-height: 1.2 !important;
  margin: 0 0 16px !important;
}
.vb-hp .vb-h2-line {
  width: 60px !important;
  height: 1px !important;
  background: #e8b84b !important;
  margin: 16px 0 32px !important;
  display: block !important;
}
.vb-hp .vb-lead {
  font-family: 'Inter', sans-serif !important;
  font-size: 1.1rem !important;
  line-height: 1.8 !important;
  margin-bottom: 40px !important;
}
.vb-hp .vb-body {
  font-family: 'Inter', sans-serif !important;
  font-size: 1rem !important;
  line-height: 1.8 !important;
}

/* FONDS */
.vb-hp .vb-sec-light { background: #f7f6f3 !important; }
.vb-hp .vb-sec-light .vb-h2 { color: #0b0b0b !important; }
.vb-hp .vb-sec-light .vb-lead,
.vb-hp .vb-sec-light .vb-body { color: #3a3a3a !important; }

.vb-hp .vb-sec-dark { background: #0b0b0b !important; }
.vb-hp .vb-sec-dark .vb-h2 { color: #f5f5f5 !important; }
.vb-hp .vb-sec-dark .vb-lead,
.vb-hp .vb-sec-dark .vb-body { color: #bdbdbd !important; }

.vb-hp .vb-sec-mid { background: #121212 !important; }
.vb-hp .vb-sec-mid .vb-h2 { color: #f5f5f5 !important; }
.vb-hp .vb-sec-mid .vb-lead,
.vb-hp .vb-sec-mid .vb-body { color: #bdbdbd !important; }

/* =====================
   GRILLES 3 COLONNES
   ===================== */
.vb-hp .vb-cols3 {
  display: grid !important;
  grid-template-columns: repeat(3, 1fr) !important;
  gap: 48px !important;
  margin-top: 56px !important;
}
.vb-hp .vb-col-num {
  font-family: 'Playfair Display', serif !important;
  font-size: 3.5rem !important;
  font-weight: 700 !important;
  color: #e8b84b !important;
  line-height: 1 !important;
  margin: 0 0 20px !important;
  display: block !important;
}
.vb-hp .vb-col-title {
  font-family: 'Inter', sans-serif !important;
  font-size: 0.95rem !important;
  font-weight: 600 !important;
  text-transform: uppercase !important;
  letter-spacing: 0.08em !important;
  margin: 0 0 14px !important;
  display: block !important;
}
.vb-hp .vb-col-title-light { color: #1a1a1a !important; }
.vb-hp .vb-col-body {
  font-family: 'Inter', sans-serif !important;
  font-size: 0.95rem !important;
  line-height: 1.75 !important;
  color: #bdbdbd !important;
  margin: 0 !important;
}
.vb-hp .vb-sec-light .vb-col-body { color: #555 !important; }

.vb-hp .vb-proof-v {
  font-family: 'Playfair Display', serif !important;
  font-size: 2.8rem !important;
  color: #e8b84b !important;
  font-weight: 700 !important;
  line-height: 1 !important;
  display: block !important;
  margin: 0 0 12px !important;
}
.vb-hp .vb-proof-s {
  font-family: 'Inter', sans-serif !important;
  font-size: 0.75rem !important;
  color: #aaa !important;
  text-transform: uppercase !important;
  letter-spacing: 0.1em !important;
  display: block !important;
  margin-top: 8px !important;
}

/* =====================
   PILIERS
   ===================== */
.vb-hp .vb-pillars {
  display: grid !important;
  grid-template-columns: repeat(3, 1fr) !important;
  gap: 2px !important;
  margin-top: 56px !important;
  background: rgba(232,184,75,0.15) !important;
}
.vb-hp .vb-pillar {
  padding: 40px 32px !important;
  background: #121212 !important;
  transition: background 0.25s !important;
  display: block !important;
}
.vb-hp .vb-pillar:hover { background: #1a1a1a !important; }
.vb-hp .vb-p-num {
  font-family: 'Inter', sans-serif !important;
  font-size: 11px !important;
  letter-spacing: 0.15em !important;
  color: #e8b84b !important;
  margin-bottom: 24px !important;
  display: block !important;
}
.vb-hp .vb-p-title {
  font-family: 'Playfair Display', serif !important;
  font-size: 1.25rem !important;
  color: #f5f5f5 !important;
  margin: 0 0 16px !important;
  font-weight: 700 !important;
  display: block !important;
}
.vb-hp .vb-p-desc {
  font-family: 'Inter', sans-serif !important;
  font-size: 0.9rem !important;
  color: #888 !important;
  line-height: 1.7 !important;
  margin: 0 !important;
}

/* =====================
   EXPÉRIENCE 2 colonnes
   ===================== */
.vb-hp .vb-xp-grid {
  display: grid !important;
  grid-template-columns: 1fr 1fr !important;
  gap: 64px !important;
  align-items: start !important;
}

/* =====================
   FORMATS
   ===================== */
.vb-hp .vb-formats {
  display: grid !important;
  grid-template-columns: repeat(3, 1fr) !important;
  gap: 2px !important;
  margin-top: 56px !important;
  background: #e8b84b !important;
}
.vb-hp .vb-fmt {
  padding: 48px 36px !important;
  background: #0b0b0b !important;
  transition: background 0.2s !important;
  display: block !important;
}
.vb-hp .vb-fmt:hover { background: #111 !important; }
.vb-hp .vb-fmt-icon {
  font-size: 1.5rem !important;
  margin-bottom: 20px !important;
  display: block !important;
}
.vb-hp .vb-fmt-title {
  font-family: 'Playfair Display', serif !important;
  font-size: 1.15rem !important;
  color: #f5f5f5 !important;
  font-weight: 700 !important;
  margin: 0 0 12px !important;
  display: block !important;
}
.vb-hp .vb-fmt-desc {
  font-family: 'Inter', sans-serif !important;
  font-size: 0.88rem !important;
  color: #888 !important;
  line-height: 1.7 !important;
  margin: 0 !important;
}

/* =====================
   TÉMOIGNAGES
   ===================== */
.vb-hp .vb-tems {
  display: grid !important;
  grid-template-columns: repeat(3, 1fr) !important;
  gap: 32px !important;
  margin-top: 56px !important;
}
.vb-hp .vb-tem {
  border-left: 1px solid rgba(232,184,75,0.3) !important;
  padding-left: 24px !important;
}
.vb-hp .vb-tem-q {
  font-family: 'Playfair Display', serif !important;
  font-size: 3rem !important;
  color: #e8b84b !important;
  line-height: 1 !important;
  margin: 0 0 12px !important;
  opacity: 0.5 !important;
  display: block !important;
}
.vb-hp .vb-tem-text {
  font-family: 'Inter', sans-serif !important;
  font-size: 0.95rem !important;
  color: #bdbdbd !important;
  line-height: 1.7 !important;
  font-style: italic !important;
  margin: 0 !important;
}

/* =====================
   CONTACT
   ===================== */
.vb-hp .vb-contact-btns {
  display: flex !important;
  flex-direction: row !important;
  gap: 16px !important;
  flex-wrap: wrap !important;
  margin-top: 40px !important;
}

/* =====================
   FOOTER
   ===================== */
.vb-hp .vb-footer {
  background: #070707 !important;
  padding: 80px 40px 48px !important;
  border-top: 1px solid rgba(255,255,255,0.04) !important;
  display: block !important;
  width: 100% !important;
}
.vb-hp .vb-footer-inner {
  max-width: 1060px !important;
  margin: 0 auto !important;
}
.vb-hp .vb-footer-sig {
  font-family: 'Playfair Display', serif !important;
  font-size: 1.1rem !important;
  color: #f5f5f5 !important;
  font-style: italic !important;
  margin: 0 0 8px !important;
  display: block !important;
}
.vb-hp .vb-footer-sub {
  font-family: 'Inter', sans-serif !important;
  font-size: 0.8rem !important;
  color: #444 !important;
  margin: 0 0 48px !important;
  display: block !important;
}
.vb-hp .vb-footer-grid {
  display: grid !important;
  grid-template-columns: 1fr 1fr !important;
  gap: 48px !important;
  padding-top: 40px !important;
  border-top: 1px solid rgba(255,255,255,0.06) !important;
}
.vb-hp .vb-footer-quote {
  font-family: 'Playfair Display', serif !important;
  font-size: 1rem !important;
  font-style: italic !important;
  color: #555 !important;
  line-height: 1.6 !important;
  border-left: 1px solid #e8b84b !important;
  padding-left: 20px !important;
  margin: 0 !important;
}
.vb-hp .vb-footer-quote cite {
  font-family: 'Inter', sans-serif !important;
  font-size: 0.75rem !important;
  font-style: normal !important;
  color: #444 !important;
  display: block !important;
  margin-top: 10px !important;
}
.vb-hp .vb-footer-nav a {
  font-family: 'Inter', sans-serif !important;
  font-size: 0.85rem !important;
  color: #555 !important;
  text-decoration: none !important;
  display: block !important;
  margin-bottom: 10px !important;
  transition: color 0.2s !important;
}
.vb-hp .vb-footer-nav a:hover { color: #e8b84b !important; }
.vb-hp .vb-footer-bottom {
  margin-top: 48px !important;
  padding-top: 24px !important;
  border-top: 1px solid rgba(255,255,255,0.04) !important;
  font-family: 'Inter', sans-serif !important;
  font-size: 0.75rem !important;
  color: #333 !important;
  display: block !important;
}

/* =====================
   RESPONSIVE MOBILE
   ===================== */
@media (max-width: 768px) {
  .vb-hp .vb-cols3,
  .vb-hp .vb-pillars,
  .vb-hp .vb-formats,
  .vb-hp .vb-tems,
  .vb-hp .vb-xp-grid {
    grid-template-columns: 1fr !important;
  }
  .vb-hp .vb-hero-stats {
    grid-template-columns: repeat(2, 1fr) !important;
    gap: 24px !important;
  }
  .vb-hp .vb-footer-grid { grid-template-columns: 1fr !important; }
  .vb-hp .vb-sec { padding: 64px 24px !important; }
  .vb-hp .vb-hero-inner { padding: 80px 24px !important; }
}
/* Masque le header titre/excerpt du thème Swell sur pages custom */
.page .entry-header,
.page .entry-summary,
.page .wp-block-post-title { 
  display: none !important; 
}
/* Masque le header natif Swell sur pages et posts custom */
.page .entry-header,
.page .entry-summary,
.single .entry-header,
.single .entry-meta,
.single .cat-links,
.single .posted-on,
.single .byline {
  display: none !important;
}