/*
Theme Name:   GeneratePress Child IA
Theme URI:    https://generatepress.com
Description:  Default GeneratePress child theme
Author:       Tom Usborne
Author URI:   https://tomusborne.com
Template:     generatepress
Version: 1.0.20260508.1034
*/

.separate-containers.no-sidebar .site-main { margin: 20px; margin-top:0px; }
@media (max-width: 767px) { .gb-headline-text strong a { display: block; } }
@media (max-width: 768px) { #main { margin-left: 10px; margin-right: 10px; } }
@media (min-width: 768px) { a.gb-button.yesbtn { display: none; } }
a.gb-button.yesbtn { width: 100%; text-align: center; margin-top: 10px; }

/* ============================================================
   YES CONCIERGERIE — Système design homepage lead gen
   ============================================================ */
:root {
  --yca:#E05A4A; --yca-dark:#c44a3a; --yca-light:#fff2f0;
  --yca-gray:#6b7280; --yca-border:#e5e7eb; --yca-bg:#f9fafb;
  --yca-max:1140px; --yca-rad:12px;
}
.yc-accent { color:var(--yca) !important; }
.yc-tag {
  display:inline-block; background:var(--yca-light); color:var(--yca);
  font-size:.72rem; font-weight:700; text-transform:uppercase; letter-spacing:.08em;
  padding:.3rem 1rem; border-radius:50px; margin-bottom:1rem;
}

/* Hero */
.yc-hero-cover .wp-block-cover__inner-container { max-width:var(--yca-max); margin:0 auto; padding:0 2rem; }
.yc-hero-cover .wp-block-columns { align-items:center; }
.yc-hero-cover .wp-block-cover { min-height:65vh; padding:4rem 0; }
.yc-trust-bar { display:flex; align-items:center; gap:1.5rem; padding-top:1.5rem; margin-top:1.5rem; border-top:1px solid rgba(255,255,255,.15); flex-wrap:wrap; }
.yc-trust-item { display:flex; align-items:center; gap:.5rem; color:#d1d5db; font-size:.82rem; }
.yc-trust-item strong { color:#fff; font-size:1.1rem; font-weight:900; }

/* WPForms card hero — labels inline */
.yc-wpf-card {
  background:#fff !important;
  border-radius:var(--yca-rad) !important;
  padding:1.4rem 1.6rem !important;
  box-shadow:0 20px 60px rgba(0,0,0,.30) !important;
  color:#1a1a1a;
}
/* Forcer le form WPForms à prendre toute la largeur */
.yc-wpf-card .wpforms-form,
.yc-wpf-card .wpforms-field-container,
.yc-wpf-card .wpforms-field-container > .wpforms-field {
  width:100% !important;
  max-width:100% !important;
  box-sizing:border-box !important;
  margin-top:10px !important;;
}

/* Force tous les conteneurs imbriqués à 100% dans la card */
.yc-wpf-card > .wp-block-group__inner-container {
  padding:0 !important;
  width:100% !important;
  max-width:100% !important;
  box-sizing:border-box !important;
}
.yc-wpf-card .wpforms-container,
.yc-wpf-card .wpforms-form,
.yc-wpf-card .wpforms-field-container {
  width:100% !important;
  max-width:none !important;
  box-sizing:border-box !important;
}
/* Chaque champ : label + input sur la même ligne */
.yc-wpf-card .wpforms-field {
  margin-bottom:.4rem !important;
  padding:0 !important;
  display:flex !important;
  align-items:center !important;
  gap:.5rem !important;
}
/* Label à gauche, largeur fixe */
.yc-wpf-card .wpforms-field-label {
  flex:0 0 78px !important;
  font-size:.70rem !important;
  font-weight:600 !important;
  color:#374151 !important;
  margin:0 !important;
  line-height:1.2 !important;
  white-space:nowrap !important;
  overflow:hidden !important;
  text-overflow:ellipsis !important;
}
/* Zone du champ prend le reste */
.yc-wpf-card .wpforms-field-row,
.yc-wpf-card .wpforms-field-element-container {
  flex:1 1 auto !important;
  min-width:0 !important;
}
.yc-wpf-card .wpforms-field input[type="text"],
.yc-wpf-card .wpforms-field input[type="email"],
.yc-wpf-card .wpforms-field input[type="tel"],
.yc-wpf-card .wpforms-field select,
.yc-wpf-card .wpforms-field textarea {
  width:100% !important; padding:.48rem .7rem !important;
  border:1.5px solid var(--yca-border) !important; border-radius:6px !important;
  font-size:.82rem !important; background:var(--yca-bg) !important; color:#1a1a1a !important;
  box-sizing:border-box !important;
}
.yc-wpf-card .wpforms-field input:focus,
.yc-wpf-card .wpforms-field select:focus,
.yc-wpf-card .wpforms-field textarea:focus {
  outline:none !important; border-color:var(--yca) !important; background:#fff !important;
}
/* Sublabels masqués */
/*.yc-wpf-card .wpforms-field-sublabel { display:none !important; }*/
/* Champ Nom (fieldset+legend) — layout spécial */
.yc-wpf-card .wpforms-field-name:has(.wpforms-field-row) {
  flex-direction:column !important;
  align-items:stretch !important;
  gap:.2rem !important;
  width:100% !important;
  min-width:0 !important;
  border:none !important;
  padding:0 !important;
  margin:0 !important;
  margin-bottom:10px!important;
}
.yc-wpf-card .wpforms-field-name:has(.wpforms-field-row) legend.wpforms-field-label {
  flex:none !important;
  font-size:.70rem !important;
  font-weight:600 !important;
  color:#374151 !important;
  margin:0 0 .2rem 0 !important;
  padding:0 !important;
  white-space:nowrap !important;
}
.yc-wpf-card .wpforms-field-name:has(.wpforms-field-row) .wpforms-field-row {
  display:flex !important;
  gap:.4rem !important;
  width:100% !important;
  min-width:0 !important;
  flex:1 1 auto !important;
  box-sizing:border-box !important;
}
.yc-wpf-card .wpforms-field-name:has(.wpforms-field-row) .wpforms-field-row-block {
  flex:1 !important;
  min-width:0 !important;
}
/* Radio — colonne */
.yc-wpf-card .wpforms-field-radio { flex-direction:column !important; align-items:flex-start !important; gap:.25rem !important; }
.yc-wpf-card .wpforms-field-radio .wpforms-field-label { flex:none !important; font-weight:700 !important; margin-bottom:10px !important;}
.yc-wpf-card .wpforms-field-radio ul { list-style:none !important; padding:0 !important; margin:0 !important; display:flex !important; flex-wrap:wrap !important; gap:.2rem .7rem !important; }
.yc-wpf-card .wpforms-field-radio ul li { display:flex !important; align-items:center !important; gap:.3rem !important; }
.yc-wpf-card .wpforms-field-radio ul li label { font-size:.73rem !important; color:#374151 !important; font-weight:500 !important; cursor:pointer !important; white-space:nowrap !important; }
/* Textarea — colonne */
.yc-wpf-card .wpforms-field-textarea { flex-direction:column !important; align-items:flex-start !important; gap:.25rem !important; }
.yc-wpf-card .wpforms-field-textarea .wpforms-field-label { flex:none !important; }
.yc-wpf-card .wpforms-field textarea { min-height:48px !important; resize:none !important; }
/* RGPD */
.yc-wpf-card .wpforms-field-gdpr-checkbox,
.yc-wpf-card .wpforms-field-checkbox { flex-direction:row !important; align-items:flex-start !important; gap:.4rem !important; }
.yc-wpf-card .wpforms-field-gdpr-checkbox .wpforms-field-label,
.yc-wpf-card .wpforms-field-checkbox .wpforms-field-label { flex:none !important; font-size:.68rem !important; color:var(--yca-gray) !important; font-weight:400 !important; white-space:normal !important; }
/* Submit */
.yc-wpf-card .wpforms-submit,
.yc-wpf-card button[type="submit"] {
  width:100% !important; background:var(--yca) !important; color:#fff !important;
  border:none !important; border-radius:8px !important; padding:.72rem 1rem !important;
  font-size:.88rem !important; font-weight:700 !important; cursor:pointer !important; margin-top:.4rem !important;
}
.yc-wpf-card .wpforms-submit:hover,
.yc-wpf-card button[type="submit"]:hover { background:var(--yca-dark) !important; }
.yc-wpf-card .wpforms-confirmation-container-full { background:#f0fdf4 !important; border:1.5px solid #86efac !important; border-radius:8px !important; padding:1rem !important; color:#166534 !important; font-size:.85rem !important; }

/* Proof bar */
.yc-proof-bar { background:var(--yca) !important; }
.yc-proof-bar .wp-block-columns { max-width:var(--yca-max); margin:0 auto; padding:1rem 2rem; align-items:center; }
.yc-proof-stat { text-align:center; padding:.8rem 0; color:#fff !important; border-right:1px solid rgba(255,255,255,.2); }
.yc-proof-stat:last-child { border-right:none; }
.yc-proof-num { font-size:1.8rem !important; font-weight:900 !important; line-height:1 !important; color:#fff !important; }
.yc-proof-label { font-size:.78rem !important; opacity:.85 !important; color:#fff !important; }

/* Service cards */
.yc-service-card { background:var(--yca-bg) !important; border:1.5px solid var(--yca-border) !important; border-radius:var(--yca-rad) !important; padding:1.8rem !important; transition:border-color .2s,transform .2s,box-shadow .2s; height:100%; }
.yc-service-card:hover { border-color:var(--yca) !important; transform:translateY(-4px); box-shadow:0 12px 32px rgba(224,90,74,.12); }

/* Steps */
.yc-step { text-align:center; padding:1.5rem 1rem; }
.yc-step-num { width:56px; height:56px; background:var(--yca) !important; color:#fff !important; border-radius:50%; display:flex; align-items:center; justify-content:center; font-size:1.3rem; font-weight:900; margin:0 auto 1rem; }

/* Simulator */
.yc-sim-box { background:var(--yca-bg) !important; border:1.5px solid var(--yca-border) !important; border-radius:var(--yca-rad) !important; padding:2rem !important; }
.yc-sim-result { background:var(--yca) !important; color:#fff !important; border-radius:10px !important; padding:1.2rem !important; text-align:center !important; margin-top:1rem !important; }
.yc-sim-amount { font-size:2.5rem !important; font-weight:900 !important; line-height:1 !important; color:#fff !important; }
.yc-sim-sub { font-size:.8rem !important; opacity:.85 !important; color:#fff !important; margin-top:.3rem !important; }

/* Reviews */
.yc-review-card { background:#fff !important; border:1.5px solid var(--yca-border) !important; border-radius:var(--yca-rad) !important; padding:1.6rem !important; box-shadow:0 4px 16px rgba(0,0,0,.05) !important; height:100%; }
.yc-review-stars { color:#f59e0b !important; font-size:1rem !important; letter-spacing:.1em !important; margin-bottom:.8rem !important; }
.yc-review-text { font-size:.88rem !important; font-style:italic !important; line-height:1.7 !important; margin-bottom:1rem !important; color:#374151 !important; }
.yc-review-avatar { width:38px; height:38px; background:var(--yca-light) !important; color:var(--yca) !important; border-radius:50%; display:inline-flex; align-items:center; justify-content:center; font-weight:700; font-size:.85rem; }

/* Zone tags */
.yc-zone-tag { display:inline-block; background:#fff; border:1.5px solid var(--yca-border); border-radius:50px; padding:.35rem 1rem; font-size:.83rem; font-weight:500; margin:.25rem; transition:border-color .2s,color .2s; }
.yc-zone-tag:hover { border-color:var(--yca); color:var(--yca); }
.yc-zone-hot { border-color:var(--yca) !important; color:var(--yca) !important; background:var(--yca-light) !important; }

/* FAQ — chaque item en card distincte (matcher live Toulouse, colle a gauche) */
.yc-faq-list { max-width: 900px !important; width: 100% !important; margin: 0 !important; }
/* Section FAQ : retire le padding-left de TOUTES les sections imbriquees contenant
   la FAQ pour coller la liste au bord gauche (la FAQ est dans 2 niveaux de wp:group
   + 1 wp:columns) */
body .entry-content .wp-block-group:has(.yc-faq-list),
body .entry-content .wp-block-group .yc-faq-list,
body .entry-content .wp-block-columns:has(.yc-faq-item),
body .entry-content .wp-block-column:has(.yc-faq-item) {
  padding-left: 0 !important;
  margin-left: 0 !important;
}
.yc-faq-list .wp-block-columns,
.yc-faq-list .wp-block-column { padding-left: 0 !important; margin-left: 0 !important; }
.yc-faq-item {
  background: #fff !important;
  border: none !important;
  border-radius: 0 !important;
  box-shadow: none !important;
  padding: .5rem 2rem !important;
  margin: 0 !important;
  border-bottom: 1px solid rgba(0,0,0,.06) !important;
  transition: background .2s;
}
.yc-faq-item:first-child { border-top-left-radius: 12px !important; border-top-right-radius: 12px !important; }
.yc-faq-item:last-child { border-bottom-left-radius: 12px !important; border-bottom-right-radius: 12px !important; border-bottom: none !important; }
.yc-faq-list > .wp-block-group__inner-container {
  border-radius: 12px !important;
  overflow: hidden !important;
  box-shadow: 0 2px 10px rgba(0,0,0,.05) !important;
  background: #fff !important;
}
.yc-faq-item:hover { box-shadow: 0 4px 14px rgba(0,0,0,.08) !important; }
.yc-faq-q { font-weight:700 !important; font-size: 1rem !important; cursor:pointer; display:flex; justify-content:space-between; align-items:center; padding: 1.1rem 0 !important; gap:1rem; user-select:none; }
.yc-faq-q::after { content:'+'; font-size:1.3rem; color:var(--yca); flex-shrink:0; }
.yc-faq-item.open .yc-faq-q::after { content:'×'; }
.yc-faq-a { display:none; font-size:.9rem; color:var(--yca-gray); padding-bottom:1rem; line-height:1.7; }
.yc-faq-item.open .yc-faq-a { display:block; }

/* CTA final */
.yc-cta-final { text-align:center; }
.yc-guarantee { font-size:.8rem !important; opacity:.75 !important; color:#fff !important; margin-top:1rem !important; }


 Sublabels — masqués (les champs Nom ont déjà label principal) 
/*.yc-wpf-card .wpforms-field-sublabel { display:none !important; }*/
/* Fix: inner-container padding */
.wp-block-group.yc-wpf-card > .wp-block-group__inner-container {
  padding:0 !important;
  padding-left:0 !important;
  padding-right:0 !important;
  width:100% !important;
  max-width:100% !important;
  box-sizing:border-box !important;
}

/* Fix: WPForms max-width:60% override */
.yc-wpf-card .wpforms-container input.wpforms-field-medium,
.yc-wpf-card .wpforms-container select.wpforms-field-medium,
.yc-wpf-card .wpforms-container .wpforms-field-row.wpforms-field-medium,
.yc-wpf-card .wpforms-container .wpforms-field-row,
.yc-wpf-card .wpforms-field-name:has(.wpforms-field-row) .wpforms-field-row,
.yc-wpf-card .wpforms-container input,
.yc-wpf-card .wpforms-container select {
  max-width:100% !important;
  width:100% !important;
  box-sizing:border-box !important;
}

 .yc-wpf-card.yc-wpf-card .wpforms-field input[type="checkbox"]
 {
	 width:16px !important;
 }
/* Responsive */
@media (max-width:768px) {
  .yc-hero-cover .wp-block-cover { min-height:auto; padding:3rem 0; }
  .yc-wpf-card { display:none !important; }
  .yc-proof-stat { border-right:none; border-bottom:1px solid rgba(255,255,255,.2); }
}


/* ===== TOP BAR ===== */
.yc-top-bar {
  background: #1a2744 !important;
  color: rgba(255,255,255,.9) !important;
  font-size: .78rem !important;
  padding: .4rem 0 !important;
}
.yc-top-bar .yc-top-bar-inner {
  max-width: 1200px !important;
  margin: 0 auto !important;
  padding: 0 1.5rem !important;
  display: flex !important;
  justify-content: space-between !important;
  align-items: center !important;
}
.yc-top-bar-left { display: flex !important; align-items: center !important; gap: 1.2rem !important; }
.yc-top-bar-right { display: flex !important; align-items: center !important; gap: 1rem !important; }
.yc-top-bar a {
  color: #fff !important;
  text-decoration: none !important;
  display: flex !important;
  align-items: center !important;
  gap: .35rem !important;
  font-weight: 500 !important;
  transition: color .2s !important;
}
.yc-top-bar a:hover { color: #e85d26 !important; }
.yc-top-bar .yc-phone-cta {
  background: #e85d26 !important;
  padding: .25rem .75rem !important;
  border-radius: 20px !important;
  font-weight: 700 !important;
  font-size: .8rem !important;
}
.yc-top-bar .yc-phone-cta:hover { background: #c94d1e !important; color: #fff !important; }
.yc-top-bar-sep {
  color: rgba(255,255,255,.3) !important;
  font-size: .7rem !important;
}

/* ===== HEADER AMÉLIORÉ ===== */
.site-header {
  background: #fff !important;
  box-shadow: 0 2px 12px rgba(0,0,0,.08) !important;
  position: sticky !important;
  top: 0 !important;
  z-index: 999 !important;
}
.inside-header {
  padding: .6rem 1.5rem !important;
  display: flex !important;
  align-items: center !important;
  justify-content: space-between !important;
  max-width: 1200px !important;
}
/* Logo */
.site-logo img {
  max-height: 56px !important;
  width: auto !important;
}
/* Nav links */
.main-navigation .menu li a {
  font-weight: 600 !important;
  font-size: .88rem !important;
  color: #1a2744 !important;
  letter-spacing: .02em !important;
  padding: .4rem .8rem !important;
  border-radius: 6px !important;
  transition: background .2s, color .2s !important;
}
.main-navigation .menu li a:hover,
.main-navigation .menu li.current-menu-item > a {
  background: #fff5f0 !important;
  color: #e85d26 !important;
}
/* Bouton Contact (GenerateBlocks gb-button) */
.site-header .gb-button {
  background: #e85d26 !important;
  color: #fff !important;
  border-radius: 8px !important;
  padding: .45rem 1.2rem !important;
  font-weight: 700 !important;
  font-size: .88rem !important;
  text-decoration: none !important;
  transition: background .2s !important;
  box-shadow: 0 2px 8px rgba(232,93,38,.35) !important;
}
.site-header .gb-button:hover {
  background: #c94d1e !important;
  color: #fff !important;
  box-shadow: 0 4px 14px rgba(232,93,38,.45) !important;
}
/* Admin bar compensation */
.admin-bar .site-header { top: 32px !important; }
@media (max-width: 782px) { .admin-bar .site-header { top: 46px !important; } }


/* ===== MOBILE FIXES v19 ===== */
@media (max-width: 768px) {

  /* Top bar : masquer l'accroche, centrer le téléphone */
  .yc-top-bar-left { display: none !important; }
  .yc-top-bar .yc-top-bar-inner {
    justify-content: center !important;
    padding: 0 1rem !important;
  }
  .yc-top-bar-right {
    width: 100% !important;
    justify-content: center !important;
    gap: .75rem !important;
  }

  /* Proof bar : grille 2 colonnes */
  .yc-proof-bar {
    display: grid !important;
    grid-template-columns: 1fr 1fr !important;
    gap: .6rem !important;
    padding: .75rem !important;
  }
  .yc-proof-stat {
    border-right: none !important;
    border-bottom: none !important;
    padding: .5rem !important;
    background: rgba(255,255,255,.1) !important;
    border-radius: 8px !important;
  }
  .yc-proof-stat strong { font-size: 1.1rem !important; }
  .yc-proof-stat span { font-size: .68rem !important; }

  /* FAQ : pleine largeur, padding minimal */
  .yc-faq {
    max-width: 100% !important;
    margin: 0 !important;
    padding: 0 !important;
  }
  .yc-faq-q { font-size: .88rem !important; padding: .75rem 0 !important; }
  .yc-faq-a { font-size: .82rem !important; }

  /* Services : 1 colonne */
  .yc-services-grid { grid-template-columns: 1fr !important; }

  /* Steps : 2 colonnes */
  .yc-steps { grid-template-columns: 1fr 1fr !important; gap: 1rem !important; }

  /* Simulator : 1 colonne */
  .yc-sim-grid { grid-template-columns: 1fr !important; }

  /* Testimonials : 1 colonne */
  .yc-testimonials { grid-template-columns: 1fr !important; }
}

@media (max-width: 480px) {
  /* Sur très petits écrans : steps en 1 colonne, masquer "Nous écrire" */
  .yc-steps { grid-template-columns: 1fr !important; }
  .yc-top-bar-right a:not(.yc-phone-cta) { display: none !important; }
}

/* ===== MOBILE FIXES FINAL ===== */
@media (max-width: 768px) {

  /* ---- Top bar : seulement téléphone, centré ---- */
  .yc-top-bar-left { display: none !important; }
  .yc-top-bar .yc-top-bar-inner {
    justify-content: center !important;
    padding: 0 .75rem !important;
  }
  .yc-top-bar-right {
    width: 100% !important;
    justify-content: center !important;
    flex-wrap: wrap !important;
    gap: .5rem !important;
  }

  /* ---- Proof bar : 1 ligne flex, scroll horizontal si nécessaire ---- */
  .yc-proof-bar {
    display: flex !important;
    flex-direction: row !important;
    flex-wrap: nowrap !important;
    overflow-x: auto !important;
    gap: 0 !important;
    padding: .6rem .75rem !important;
    -webkit-overflow-scrolling: touch !important;
    scrollbar-width: none !important;
  }
  .yc-proof-bar::-webkit-scrollbar { display: none !important; }
  .yc-proof-stat {
    flex: 0 0 auto !important;
    min-width: 90px !important;
    border-right: 1px solid rgba(255,255,255,.25) !important;
    border-bottom: none !important;
    padding: .3rem .75rem !important;
    text-align: center !important;
  }
  .yc-proof-stat:last-child { border-right: none !important; }
  .yc-proof-stat strong {
    font-size: 1.1rem !important;
    white-space: nowrap !important;
  }
  .yc-proof-stat span {
    font-size: .65rem !important;
    white-space: nowrap !important;
  }

  /* ---- FAQ : pleine largeur, 0 marges ---- */
  .yc-faq {
    max-width: 100% !important;
    width: 100% !important;
    margin: 0 !important;
    padding: 0 !important;
    box-sizing: border-box !important;
  }
  /* S'assurer que le parent du faq n'a pas de padding excessif */
  .yc-faq-item { padding: .1rem 0 !important; }
  .yc-faq-q {
    font-size: .85rem !important;
    padding: .7rem 0 !important;
    line-height: 1.4 !important;
  }
  .yc-faq-item.open .yc-faq-a { max-height: 500px !important; }

  /* ---- Misc ---- */
  .yc-services-grid { grid-template-columns: 1fr !important; }
  .yc-steps { grid-template-columns: 1fr 1fr !important; gap: .75rem !important; }
  .yc-sim-grid { grid-template-columns: 1fr !important; }
  .yc-testimonials { grid-template-columns: 1fr !important; }
  .yc-simulator { padding: 1.25rem !important; }
  .yc-simulator h2 { font-size: 1.2rem !important; }
}

@media (max-width: 480px) {
  .yc-steps { grid-template-columns: 1fr !important; }
  .yc-top-bar-right a:not(.yc-phone-cta) { display: none !important; }
  .yc-proof-stat { min-width: 80px !important; }
}

/* ===== TOP BAR STICKY ===== */
/* Top bar colle en haut, juste sous la barre admin */
.yc-top-bar {
  position: sticky !important;
  top: 0 !important;
  z-index: 1000 !important;
}
/* Header se place juste sous la top bar (~32px) */
.site-header {
  top: 32px !important;  /* hauteur top bar */
  z-index: 999 !important;
}
/* Avec barre admin WordPress (32px) */
.admin-bar .yc-top-bar { top: 32px !important; }
.admin-bar .site-header { top: 64px !important; } /* 32px admin + 32px topbar */
@media (max-width: 782px) {
  .admin-bar .yc-top-bar { top: 46px !important; }
  .admin-bar .site-header { top: 78px !important; } /* 46px admin + 32px topbar */
}

/* ===== STICKY TOP CORRECTION (topbar=40px) ===== */
/* Sans barre admin */
.yc-top-bar { top: 0 !important; }
.site-header { top: 40px !important; }
/* Avec barre admin (32px) */
.admin-bar .yc-top-bar { top: 32px !important; }
.admin-bar .site-header { top: 72px !important; }
@media (max-width: 782px) {
  .admin-bar .yc-top-bar { top: 46px !important; }
  .admin-bar .site-header { top: 86px !important; }
}

/* ===== ALTERNANCE FONDS DE SECTIONS ===== */

/* Sections blanches (Nos services, Simulateur, Zones) */
.wp-block-group.alignfull:not(.yc-proof-bar):not(.has-background):not(.yc-cta-final) {
  background: #ffffff !important;
  padding-top: 4rem !important;
  padding-bottom: 4rem !important;
}

/* Sections teintées bleu-navy très léger (4 étapes, Témoignages, FAQ) */
.wp-block-group.alignfull.has-background:not(.yc-proof-bar):not(.yc-cta-final), .wp-block-group.alignwide.has-background:not(.yc-proof-bar):not(.yc-cta-final) {
  background: #fff5f0 !important;
  padding-top: 2rem !important;
  padding-bottom: 2rem !important;
}

/* Titres h2 des sections — meilleure lisibilité */
.wp-block-group.alignfull h2 {
  color: #1a2744 !important;
}
.wp-block-group.alignfull h2.h2white
{
	color:#fff !important;
}
/* Séparateur subtil entre sections */
.wp-block-group.alignfull {
  border-top: 1px solid rgba(26, 39, 68, .06) !important;
}
/* Pas de bordure sur les sections colorées (proof, cta) */
.yc-proof-bar, .yc-cta-final { border-top: none !important; }


/*Contact */
/*
 * YES CONCIERGERIE TOULOUSE — Page Contact
 * CSS à coller dans : Apparence → Éditeur → style.css
 * ou via : Apparence → Personnaliser → CSS additionnel
 * ─────────────────────────────────────────────────────
 */

/* ── Formulaire de contact ── */
.yc-form { font-family: inherit; }

.yc-form .yc-row {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 14px;
  margin-bottom: 14px;
}
.yc-form .yc-row.full { grid-template-columns: 1fr; }

.yc-form label {
  display: block;
  font-size: 12px;
  font-weight: 700;
  color: #1a1a1a;
  text-transform: uppercase;
  letter-spacing: .05em;
  margin-bottom: 5px;
}

.yc-form input[type=text],
.yc-form input[type=email],
.yc-form input[type=tel],
.yc-form textarea {
  width: 100%;
  padding: 11px 14px;
  border: 1.5px solid #e5e7eb;
  border-radius: 8px;
  font-size: 15px;
  font-family: inherit;
  color: #1a1a1a;
  background: #fff;
  transition: border-color .2s, box-shadow .2s;
  outline: none;
  box-sizing: border-box;
}

.yc-form input:focus,
.yc-form textarea:focus {
  border-color: #E05A4A;
  box-shadow: 0 0 0 3px rgba(224, 90, 74, .12);
}

.yc-form textarea {
  resize: vertical;
  min-height: 130px;
}

/* ── Chips "Raison du contact" ── */
.yc-chips {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
  margin-bottom: 14px;
}

.yc-chips input[type=radio] { display: none; }

.yc-chips label {
  cursor: pointer;
  padding: 7px 16px;
  border-radius: 50px;
  border: 1.5px solid #e5e7eb;
  font-size: 13px;
  font-weight: 500;
  color: #6b7280;
  transition: all .2s;
  text-transform: none;
  letter-spacing: 0;
}

.yc-chips input[type=radio]:checked + label {
  background: #fff2f0;
  border-color: #E05A4A;
  color: #E05A4A;
  font-weight: 700;
}

.yc-chips label:hover {
  border-color: #E05A4A;
  color: #E05A4A;
}

/* ── Case confidentialité ── */
.yc-privacy {
  display: flex;
  align-items: flex-start;
  gap: 10px;
  font-size: 13px;
  color: #6b7280;
  margin-bottom: 14px;
}

.yc-privacy input[type=checkbox] {
  margin-top: 2px;
  accent-color: #E05A4A;
  flex-shrink: 0;
}

.yc-privacy a { color: #E05A4A; }

/* ── Bouton d'envoi ── */
.yc-submit {
  width: 100%;
  padding: 14px;
  background: #E05A4A;
  color: #fff;
  border: none;
  border-radius: 8px;
  font-size: 16px;
  font-weight: 700;
  cursor: pointer;
  transition: background .2s, transform .1s;
  font-family: inherit;
}

.yc-submit:hover {
  background: #c44a3a;
  transform: translateY(-1px);
}

/* ── Mention de promesse ── */
.yc-promise {
  text-align: center;
  font-size: 13px;
  color: #6b7280;
  margin-top: 10px;
}

.yc-promise .dot { color: #22c55e; }

/* ── Responsive ── */
@media (max-width: 600px) {
  .yc-form .yc-row { grid-template-columns: 1fr; }
}


/*voyageurs */ 
/* ===== STEPS — fix affichage colonnes Gutenberg ===== */
.yc-step {
  display: flex;
  flex-direction: column;
  align-items: center;
  text-align: center;
  padding: 1.5rem 1rem;
}

.yc-step .yc-step-num {
  width: 56px !important;
  height: 56px !important;
  min-width: 56px !important;
  min-height: 56px !important;
  background: var(--yca) !important;
  color: #fff !important;
  border-radius: 50% !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  font-size: 1.3rem !important;
  font-weight: 900 !important;
  margin: 0 auto 1rem !important;
  padding: 0 !important;
  line-height: 1 !important;
  flex-shrink: 0 !important;
}

.yc-step h3 {
  margin-top: 0 !important;
  margin-bottom: .5rem !important;
}

.yc-step p {
  margin: 0 !important;
}

.wp-block-column.yc-step .wp-block-heading {
  text-align: center !important;
  width: 100% !important;
}
.wp-block-group.bgexc.alignfull.has-background:not(.yc-proof-bar):not(.yc-cta-final)
{
	background-color: #1a1a2e !important;
}
.wp-block-group.bgexc.alignfull h2, .wp-block-group.bgexc.alignfull ul li
{
	color:#fff !important;
}


.yc-service-card--centered {
  display: flex !important;
  flex-direction: column !important;
  align-items: center !important;
  justify-content: flex-start !important;
  text-align: center !important;
  height: 100% !important;
}

.wp-block-column:has(.yc-service-card--centered) {
  display: flex !important;
}

/* ===== LOT 2-bis — Espacement entre sections intro (ex: bloc Predictor → "Une gestion complète, de qualité") ===== */
.wp-block-group.alignwide[style*="padding-top:64px"] {
  margin-top: 3rem !important;
  padding-top: 4rem !important;
}
/* Espace entre titre "Une gestion complete, de qualite" et le paragraphe quartiers */
.wp-block-heading + .wp-block-group .has-text-align-center.has-text-color {
  margin-top: 1.5rem !important;
}
.wp-block-group.alignwide h2.wp-block-heading + .wp-block-group {
  margin-top: 1.5rem !important;
}

/* ===== LOT 4-quinquies — Image de fond derrière les cards "Une gestion complète, de qualité" =====
   Reproduit le rendu Toulouse (background-image sur .card-tarification dans wp-custom-css du live)
   avec l'image Villard locale. La card interne (yc-service-card) reste légèrement translucide pour
   laisser voir l'image au travers. */
.card-tarification {
  background-image: url('/wp-content/uploads/2026/05/annecy-hero.jpg');
  background-size: cover;
  background-position: center;
  border-radius: 12px;
  overflow: hidden !important;
  position: relative;
  isolation: isolate;
  box-sizing: border-box !important;
  max-width: 100% !important;
}
.card-tarification > *,
.card-tarification > * > * {
  box-sizing: border-box !important;
  max-width: 100% !important;
}
.card-tarification .yc-service-card {
  background: rgba(255, 255, 255, 0.86) !important;
  /* backdrop-filter: blur(2px); -- retire : provoquait un debordement visuel a droite sur certaines cards (Assurance degradation) */
  border-radius: 12px !important;
  overflow: hidden !important;
  height: 100% !important;
  width: 100% !important;
  margin: 0 !important;
}

/* ===== LOT 4-sexies — Page contact : padding lateraux du wp:columns =====
   Le wp:columns alignwide n'avait pas de padding-left/right -> formulaire colle au bord. */
.page-id-15 .entry-content > .wp-block-columns.alignwide {
  padding-left: 24px !important;
  padding-right: 24px !important;
  box-sizing: border-box !important;
}
@media (min-width: 768px) {
  .page-id-15 .entry-content > .wp-block-columns.alignwide {
    padding-left: 60px !important;
    padding-right: 60px !important;
  }
}
@media (min-width: 1200px) {
  .page-id-15 .entry-content > .wp-block-columns.alignwide {
    padding-left: 80px !important;
    padding-right: 80px !important;
  }
}

/* ===== LOT 4-octies — Boutons sociaux Suivez-nous sur une seule ligne ===== */
.yc-social-buttons {
  flex-wrap: nowrap !important;
  gap: 6px !important;
}
.yc-social-buttons .wp-block-button {
  flex: 0 1 auto !important;
  min-width: 0 !important;
}
.yc-social-buttons .wp-block-button .wp-block-button__link {
  padding: 6px 10px !important;
  font-size: 12px !important;
  white-space: nowrap !important;
}

/* ===== Page Blog — cards articles ===== */
body.page-id-818 .wp-block-query .wp-block-post-template {
  display: grid !important;
  grid-template-columns: repeat(3, 1fr) !important;
  gap: 1.75rem !important;
  list-style: none !important;
  padding: 0 !important;
  margin: 0 !important;
}
@media (max-width: 1000px) { body.page-id-818 .wp-block-query .wp-block-post-template { grid-template-columns: repeat(2, 1fr) !important; } }
@media (max-width: 600px)  { body.page-id-818 .wp-block-query .wp-block-post-template { grid-template-columns: 1fr !important; } }
.yc-blog-card {
  background: #fff !important;
  border-radius: 12px !important;
  overflow: hidden !important;
  box-shadow: 0 4px 16px rgba(0,0,0,.06) !important;
  transition: transform .2s, box-shadow .2s !important;
  display: flex !important;
  flex-direction: column !important;
  height: 100% !important;
}
.yc-blog-card:hover { transform: translateY(-3px); box-shadow: 0 12px 28px rgba(0,0,0,.10) !important; }
.yc-blog-card .wp-block-post-featured-image { margin: 0 !important; }
.yc-blog-card .wp-block-post-featured-image img {
  width: 100% !important;
  height: 100% !important;
  object-fit: cover !important;
  display: block !important;
  border-radius: 12px 12px 0 0 !important;
}
.yc-blog-card .wp-block-post-title a { text-decoration: none !important; transition: color .2s; }
.yc-blog-card .wp-block-post-title a:hover { color: var(--yca) !important; }

/* Masque l'auteur et la mention "by ..." sur les pages d'archive et single post */
.entry-meta .byline,
.posted-by,
.author.vcard,
.byline {
  display: none !important;
}

/* ===== LOT 4-nonies — Footer brand (logo + liens juridiques) ===== */
.yc-footer-brand {
  background: #f1f5fb;
  padding: 3rem 1.5rem 2.5rem;
  text-align: center;
}
.yc-footer-inner {
  max-width: 1200px;
  margin: 0 auto;
}
.yc-footer-logo {
  display: inline-block;
  margin-bottom: 1.5rem;
}
.yc-footer-logo img {
  max-width: 110px;
  height: auto;
}
.yc-footer-links {
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  align-items: center;
  gap: .35rem .75rem;
  font-size: 14px;
}
.yc-footer-links a {
  color: #1a1a2e;
  text-decoration: none;
  padding: .25rem .35rem;
  border-radius: 4px;
  transition: color .2s, background .2s;
}
.yc-footer-links a:hover {
  color: var(--yca);
}
.yc-footer-sep {
  color: #94a3b8;
}
@media (max-width: 600px) {
  .yc-footer-links { gap: .25rem .5rem; font-size: 13px; }
  .yc-footer-sep { display: none; }
}

/* ===== LOT 4-decies — Trait orange sous la navigation (alignement visuel Toulouse) ===== */
.site-header {
  border-bottom: 3px solid #E05A4A !important;
}

/* ===== LOT 4-undecies bis — Masquer le footer copyright GP (on a notre propre footer yc-footer-brand) ===== */
.site-info { display: none !important; }

/* ===== LOT 4-undecies — Home : retirer margin/max-width de TOUS les wrappers parents ===== */
body.home div.site, body.home .site-content, body.home .content-area, body.home .site-main, body.home .inside-article, body.home .entry-content,
body.page-id-5 div.site, body.page-id-5 .site-content, body.page-id-5 .content-area, body.page-id-5 .site-main, body.page-id-5 .inside-article, body.page-id-5 .entry-content,
body.page-id-9 div.site, body.page-id-9 .site-content, body.page-id-9 .content-area, body.page-id-9 .site-main, body.page-id-9 .inside-article, body.page-id-9 .entry-content,
body.page-id-10 div.site, body.page-id-10 .site-content, body.page-id-10 .content-area, body.page-id-10 .site-main, body.page-id-10 .inside-article, body.page-id-10 .entry-content,
body.page-id-11 div.site, body.page-id-11 .site-content, body.page-id-11 .content-area, body.page-id-11 .site-main, body.page-id-11 .inside-article, body.page-id-11 .entry-content,
body.page-id-1194 div.site, body.page-id-1194 .site-content, body.page-id-1194 .content-area, body.page-id-1194 .site-main, body.page-id-1194 .inside-article, body.page-id-1194 .entry-content,
body.page-id-1248 div.site, body.page-id-1248 .site-content, body.page-id-1248 .content-area, body.page-id-1248 .site-main, body.page-id-1248 .inside-article, body.page-id-1248 .entry-content,
body.page-id-1250 div.site, body.page-id-1250 .site-content, body.page-id-1250 .content-area, body.page-id-1250 .site-main, body.page-id-1250 .inside-article, body.page-id-1250 .entry-content,
body.page-id-1253 div.site, body.page-id-1253 .site-content, body.page-id-1253 .content-area, body.page-id-1253 .site-main, body.page-id-1253 .inside-article, body.page-id-1253 .entry-content,
body.page-id-1231 div.site, body.page-id-1231 .site-content, body.page-id-1231 .content-area, body.page-id-1231 .site-main, body.page-id-1231 .inside-article, body.page-id-1231 .entry-content {
  max-width: 100% !important;
  width: 100% !important;
  margin: 0 !important;
  padding: 0 !important;
}
body.home .entry-content .alignfull,
body.home .entry-content .alignwide,
body.page-id-5 .entry-content .alignfull,
body.page-id-5 .entry-content .alignwide,
body.page-id-9 .entry-content .alignfull,
body.page-id-9 .entry-content .alignwide,
body.page-id-10 .entry-content .alignfull,
body.page-id-10 .entry-content .alignwide,
body.page-id-11 .entry-content .alignfull,
body.page-id-11 .entry-content .alignwide,
body.page-id-1194 .entry-content .alignfull,
body.page-id-1194 .entry-content .alignwide,
body.page-id-1248 .entry-content .alignfull,
body.page-id-1248 .entry-content .alignwide,
body.page-id-1250 .entry-content .alignfull,
body.page-id-1250 .entry-content .alignwide,
body.page-id-1253 .entry-content .alignfull,
body.page-id-1253 .entry-content .alignwide,
body.page-id-1231 .entry-content .alignfull,
body.page-id-1231 .entry-content .alignwide {
  margin-left: 0 !important;
  margin-right: 0 !important;
  width: 100% !important;
  max-width: 100% !important;
}
/* Inner container des wp:group : retrait du max-width 1480 + padding 40 sur home + sub pages */
body.home .wp-block-group__inner-container,
body.page-id-5 .wp-block-group__inner-container,
body.page-id-10 .wp-block-group__inner-container,
body.page-id-11 .wp-block-group__inner-container,
body.page-id-9 .wp-block-group__inner-container,
body.home .site-main .wp-block-group__inner-container,
body.page-id-5 .site-main .wp-block-group__inner-container,
body.page-id-10 .site-main .wp-block-group__inner-container,
body.page-id-11 .site-main .wp-block-group__inner-container,
body.page-id-9 .site-main .wp-block-group__inner-container,
body.page-id-1194 .wp-block-group__inner-container,
body.page-id-1194 .site-main .wp-block-group__inner-container,
body.page-id-1248 .wp-block-group__inner-container,
body.page-id-1248 .site-main .wp-block-group__inner-container,
body.page-id-1250 .wp-block-group__inner-container,
body.page-id-1250 .site-main .wp-block-group__inner-container,
body.page-id-1253 .wp-block-group__inner-container,
body.page-id-1253 .site-main .wp-block-group__inner-container,
body.page-id-1231 .wp-block-group__inner-container,
body.page-id-1231 .site-main .wp-block-group__inner-container {
  max-width: 100% !important;
  padding: 0 !important;
  margin-left: 0 !important;
  margin-right: 0 !important;
}
/* Force la liste FAQ a 900px max + son inner-container, pour eviter que
   le tout s'etende a 100% suite a l'override ci-dessus */
.yc-faq-list,
.yc-faq-list > .wp-block-group__inner-container {
  max-width: 900px !important;
  width: 100% !important;
}

/* ===== LOT 4-duodecies — Compacter les sections home + page proprietes (matcher Toulouse) =====
   Les sections wp:group alignfull du save Toulouse ont padding-top/bottom 5rem (inline style).
   On reduit ces 5rem a 2.5rem MAIS on conserve le padding-left/right (2rem inline) qui
   sert a aerer les blocs (testimonials, cards, FAQ, etc) du bord du viewport. */
body.home .entry-content > .wp-block-group.alignfull,
body.home .entry-content > .wp-block-group.alignwide,
body.page-id-5 .entry-content > .wp-block-group.alignfull,
body.page-id-5 .entry-content > .wp-block-group.alignwide,
body.page-id-10 .entry-content > .wp-block-group.alignfull,
body.page-id-10 .entry-content > .wp-block-group.alignwide,
body.page-id-11 .entry-content > .wp-block-group.alignfull,
body.page-id-11 .entry-content > .wp-block-group.alignwide,
body.page-id-1194 .entry-content > .wp-block-group.alignfull,
body.page-id-1194 .entry-content > .wp-block-group.alignwide,
body.page-id-1248 .entry-content > .wp-block-group.alignfull,
body.page-id-1248 .entry-content > .wp-block-group.alignwide,
body.page-id-1250 .entry-content > .wp-block-group.alignfull,
body.page-id-1250 .entry-content > .wp-block-group.alignwide,
body.page-id-1253 .entry-content > .wp-block-group.alignfull,
body.page-id-1253 .entry-content > .wp-block-group.alignwide,
body.page-id-1231 .entry-content > .wp-block-group.alignfull,
body.page-id-1231 .entry-content > .wp-block-group.alignwide {
  padding-top: 2.5rem !important;
  padding-bottom: 2.5rem !important;
}
/* Padding lateral genereux (videos / cards / FAQ / 4 etapes ne doivent pas toucher les bords)
   sur tous les blocs alignfull/alignwide SAUF le hero et la section "Presents a Villard-de-Lans"
   qui contient l'image carte (.yc-zone-tag) plein largeur. */
body.home .entry-content > .wp-block-group.alignfull:not(:has(.yc-zone-tag)),
body.home .entry-content > .wp-block-group.alignwide:not(:has(.yc-zone-tag)),
body.page-id-5 .entry-content > .wp-block-group.alignfull:not(:has(.yc-zone-tag)),
body.page-id-5 .entry-content > .wp-block-group.alignwide:not(:has(.yc-zone-tag)),
body.page-id-10 .entry-content > .wp-block-group.alignfull:not(:has(.yc-zone-tag)),
body.page-id-10 .entry-content > .wp-block-group.alignwide:not(:has(.yc-zone-tag)),
body.page-id-11 .entry-content > .wp-block-group.alignfull:not(:has(.yc-zone-tag)),
body.page-id-11 .entry-content > .wp-block-group.alignwide:not(:has(.yc-zone-tag)) {
  padding-left: clamp(1.5rem, 10vw, 10rem) !important;
  padding-right: clamp(1.5rem, 10vw, 10rem) !important;
}
body.home .entry-content > .wp-block-cover.yc-hero-cover,
body.page-id-5 .entry-content > .wp-block-cover.yc-hero-cover {
  min-height: 55vh !important;
  padding-top: 2rem !important;
  padding-bottom: 2rem !important;
}
/* Cards "L'excellence à chaque étape" : padding intermediaire (Toulouse-like) */
body.home .yc-service-card,
body.page-id-5 .yc-service-card {
  padding: 1.6rem 1.4rem !important;
  min-height: 200px !important;
}
body.home .yc-service-card .wp-block-heading,
body.page-id-5 .yc-service-card .wp-block-heading {
  margin-bottom: .5rem !important;
}
/* Bug visuel hover : translate de la card decouvrait l'image background du
   .card-tarification parent (4px en haut). On retire le translate et on
   garde juste le changement de border + box-shadow. */
.yc-service-card:hover {
  transform: none !important;
}
.card-tarification:hover .yc-service-card {
  border-color: var(--yca) !important;
  box-shadow: 0 12px 32px rgba(224,90,74,.15) !important;
}
/* Footer custom yc-footer-brand : plus compact */
.yc-footer-brand {
  padding: 1.5rem 1.5rem 1.25rem !important;
}
.yc-footer-brand .yc-footer-logo {
  margin-bottom: .75rem !important;
}
.yc-footer-brand .yc-footer-logo img {
  max-width: 80px !important;
}


/* ===== Page Contact (FR id=15 + EN id=1231) — éliminer le gap entre nav et hero =====
   Sans toucher au layout horizontal (l ancien fix avec width:100% + margin:0
   créait un décalage à droite — voir leçon canon Paris 18). On ne cible que
   le padding-top vertical des wrappers. */
body.page-id-15 .site-main,
body.page-id-1231 .site-main,
body.page-id-15 .site-content,
body.page-id-1231 .site-content,
body.page-id-15 .entry-content,
body.page-id-1231 .entry-content {
  padding-top: 0 !important;
  margin-top: 0 !important;
}
/* La 1ère wp:cover/wp:group alignfull du contenu (le hero) doit toucher la nav */
body.page-id-15 .entry-content > .wp-block-cover:first-child,
body.page-id-15 .entry-content > .wp-block-group:first-child,
body.page-id-1231 .entry-content > .wp-block-cover:first-child,
body.page-id-1231 .entry-content > .wp-block-group:first-child {
  margin-top: 0 !important;
}

/* Fix responsive bouton CTA inline (Estimer revenus, etc.) — 2026-05-08 */
a[style*="border-radius:50px"][style*="padding"] {
  display: inline-block;
  max-width: 100%;
  box-sizing: border-box;
  text-align: center;
  white-space: normal;
  word-break: break-word;
}
@media (max-width: 600px) {
  a[style*="border-radius:50px"][style*="padding"] {
    padding: 14px 22px !important;
    font-size: 15px !important;
    width: auto;
    max-width: calc(100% - 24px);
  }
}

/* Fix responsive wp-block-buttons (gap + colonne sur mobile) — 2026-05-08 */
@media (max-width: 600px) {
  .wp-block-buttons {
    gap: 12px !important;
    flex-wrap: wrap;
  }
}
@media (max-width: 480px) {
  .wp-block-buttons {
    flex-direction: column !important;
    align-items: center;
    gap: 12px !important;
  }
  .wp-block-buttons .wp-block-button {
    width: 100%;
    max-width: 360px;
  }
  .wp-block-buttons .wp-block-button__link {
    display: block;
    width: 100%;
    text-align: center;
    box-sizing: border-box;
  }
}

/* Fix responsive container vidéo (Yes Predictor) — 2026-05-08 */
@media (max-width: 600px) {
  /* Container vidéo avec min-width:320px qui colle au bord du téléphone */
  div[style*="min-width:320px"][style*="border-radius:16px"] {
    margin: 0 16px !important;
    max-width: calc(100% - 32px) !important;
    min-width: auto !important;
  }
  /* Container flex parent : assure padding latéral */
  div[style*="display:flex"][style*="gap"][style*="flex-wrap"] {
    padding-left: 16px;
    padding-right: 16px;
    box-sizing: border-box;
  }
}

/* Fix responsive titres trop grands + listes sur mobile — 2026-05-08 */
@media (max-width: 600px) {
  h2.wp-block-heading {
    font-size: clamp(1.4rem, 5.5vw, 1.8rem) !important;
    line-height: 1.2 !important;
  }
  h3.wp-block-heading {
    font-size: clamp(1.2rem, 4.8vw, 1.5rem) !important;
    line-height: 1.25 !important;
  }
  /* Listes à puces : padding réduit + line-height plus serré */
  .wp-block-list,
  ul.wp-block-list {
    padding-left: 1.2rem !important;
  }
  .wp-block-list li,
  ul.wp-block-list li {
    margin-bottom: 0.4rem !important;
    line-height: 1.4 !important;
  }
}
@media (max-width: 480px) {
  h2.wp-block-heading {
    font-size: 1.35rem !important;
  }
}

/* Fix élargi : tous h2/h3 (avec ou sans class wp-block-heading) — 2026-05-08 */
@media (max-width: 600px) {
  h2,
  h2.wp-block-heading,
  h2[style*="font-size"] {
    font-size: clamp(1.4rem, 5.5vw, 1.8rem) !important;
    line-height: 1.2 !important;
  }
  h3,
  h3.wp-block-heading,
  h3[style*="font-size"] {
    font-size: clamp(1.2rem, 4.8vw, 1.5rem) !important;
    line-height: 1.25 !important;
  }
}
@media (max-width: 480px) {
  h2,
  h2.wp-block-heading,
  h2[style*="font-size"] {
    font-size: 1.35rem !important;
  }
}

/* Fix wp-block-columns : passer en colonne pleine largeur sur mobile — 2026-05-08 */
@media (max-width: 768px) {
  .wp-block-columns {
    flex-direction: column !important;
    gap: 24px !important;
  }
  .wp-block-columns .wp-block-column,
  .wp-block-columns > .wp-block-column {
    width: 100% !important;
    flex-basis: 100% !important;
    flex: 0 0 100% !important;
    max-width: 100% !important;
  }
  /* Listes : padding réduit + line-height confortable */
  .wp-block-column .wp-block-list,
  .wp-block-column ul.wp-block-list {
    padding-left: 1.4rem !important;
  }
  /* Limiter les containers flex avec min-width fixé */
  .wp-block-column [style*="min-width"] {
    min-width: 0 !important;
  }
}

/* Centrer wrappers vidéo / images sur mobile — 2026-05-08 */
@media (max-width: 768px) {
  /* Tous les wrappers avec border-radius (vidéos, cartes, etc.) */
  div[style*="border-radius:16px"][style*="overflow:hidden"] {
    margin: 0 auto !important;
    display: block;
    max-width: calc(100% - 32px) !important;
    min-width: 0 !important;
  }
  /* Vidéos directement */
  video {
    display: block;
    margin: 0 auto;
    max-width: 100%;
    height: auto;
  }
}

/* Centrer tout le contenu des wp-block-column sur mobile (texte, boutons, médias) — 2026-05-08 */
@media (max-width: 768px) {
  .wp-block-columns .wp-block-column {
    text-align: center !important;
  }
  .wp-block-columns .wp-block-column h1,
  .wp-block-columns .wp-block-column h2,
  .wp-block-columns .wp-block-column h3,
  .wp-block-columns .wp-block-column h4,
  .wp-block-columns .wp-block-column p {
    text-align: center !important;
  }
  /* Liens-boutons inline : centrer via leur parent */
  .wp-block-columns .wp-block-column > a,
  .wp-block-columns .wp-block-column > div > a {
    display: inline-block;
    margin-left: auto !important;
    margin-right: auto !important;
  }
  /* wp-block-buttons : justification centre */
  .wp-block-columns .wp-block-column .wp-block-buttons {
    justify-content: center !important;
  }
  /* Listes : passer en center via padding-left:0 list-style-position:inside */
  .wp-block-columns .wp-block-column .wp-block-list,
  .wp-block-columns .wp-block-column ul {
    text-align: left !important;  /* Listes restent gauche pour lisibilité */
    display: inline-block;
    margin-left: auto !important;
    margin-right: auto !important;
  }
}

/* Largeur uniforme pour les blocs centrés sur mobile — 2026-05-08 */
@media (max-width: 768px) {
  /* Image / figure dans wp-block-column : prend toute la largeur dispo */
  .wp-block-columns .wp-block-column .wp-block-image,
  .wp-block-columns .wp-block-column figure,
  .wp-block-columns .wp-block-column img {
    margin: 0 auto !important;
    max-width: 100% !important;
    width: 100% !important;
    height: auto;
    display: block;
  }
  /* Tout container dans wp-block-column qui pourrait être étroit */
  .wp-block-columns .wp-block-column > div,
  .wp-block-columns .wp-block-column > p,
  .wp-block-columns .wp-block-column > h1,
  .wp-block-columns .wp-block-column > h2,
  .wp-block-columns .wp-block-column > h3 {
    margin-left: auto !important;
    margin-right: auto !important;
  }
}

/* Fix div flex inline (utilisé dans 'Découvrez le potentiel') sur page 11 — 2026-05-08 */
@media (max-width: 768px) {
  /* Parent div flex : forcer wrap */
  div[style*="display:flex"][style*="gap"]:has(> div[style*="flex:"]) {
    flex-wrap: wrap !important;
  }
  /* Enfants flex:1 et flex:1.5 : passent à 100% width */
  div[style*="display:flex"] > div[style*="flex:1"],
  div[style*="display:flex"] > div[style*="flex: 1"] {
    flex: 1 1 100% !important;
    min-width: 0 !important;
    width: 100% !important;
    max-width: 100% !important;
    text-align: center !important;
  }
  /* L'image/vidéo dans le 2e enfant : centré et plein largeur */
  div[style*="display:flex"] > div[style*="min-width:320px"] img,
  div[style*="display:flex"] > div[style*="min-width:320px"] video {
    display: block;
    margin: 0 auto;
    max-width: 100%;
    height: auto;
  }
}

/* Image au-dessus du texte sur mobile pour wp-block-columns texte→image — 2026-05-08 */
@media (max-width: 768px) {
  /* Si la 2e column contient une image / figure : inverser l'ordre */
  .wp-block-columns:has(> .wp-block-column:nth-child(2) figure),
  .wp-block-columns:has(> .wp-block-column:nth-child(2) .wp-block-image),
  .wp-block-columns:has(> .wp-block-column:nth-child(2) img) {
    flex-direction: column-reverse !important;
  }
}

/* Universal : image toujours AU-DESSUS du texte sur mobile (via order) — 2026-05-08 */
@media (max-width: 768px) {
  /* Annuler le column-reverse précédent + forcer column normal */
  .wp-block-columns {
    flex-direction: column !important;
  }
  /* La column qui contient une image / figure passe en 1er (order: -1) */
  .wp-block-columns .wp-block-column:has(figure),
  .wp-block-columns .wp-block-column:has(.wp-block-image),
  .wp-block-columns .wp-block-column:has(img),
  .wp-block-columns .wp-block-column:has(video),
  .wp-block-columns .wp-block-column:has(.wp-block-cover) {
    order: -1 !important;
  }
  /* Pour les div flex inline (page 11 'Découvrez') aussi */
  div[style*="display:flex"] > div:has(figure),
  div[style*="display:flex"] > div:has(img),
  div[style*="display:flex"] > div:has(video) {
    order: -1 !important;
  }
}

/* Override Gutenberg is-not-stacked-on-mobile : forcer column sur mobile — 2026-05-08 */
@media (max-width: 768px) {
  .wp-block-columns.is-not-stacked-on-mobile {
    flex-direction: column !important;
    flex-wrap: wrap !important;
    gap: 24px !important;
  }
  .wp-block-columns.is-not-stacked-on-mobile > .wp-block-column {
    flex-basis: 100% !important;
    flex: 1 1 100% !important;
    width: 100% !important;
    max-width: 100% !important;
  }
  /* Image dans is-not-stacked-on-mobile passe aussi en 1er via order */
  .wp-block-columns.is-not-stacked-on-mobile > .wp-block-column:has(figure),
  .wp-block-columns.is-not-stacked-on-mobile > .wp-block-column:has(.wp-block-image),
  .wp-block-columns.is-not-stacked-on-mobile > .wp-block-column:has(img),
  .wp-block-columns.is-not-stacked-on-mobile > .wp-block-column:has(.wp-block-cover) {
    order: -1 !important;
  }
}

/* Compense le swap HTML : sur desktop, image à droite (row-reverse) — 2026-05-08 */
@media (min-width: 769px) {
  .wp-block-columns.is-mobile-image-first {
    flex-direction: row-reverse;
  }
}

/* Retirer les puces des listes sur mobile — 2026-05-08 */
@media (max-width: 768px) {
  .wp-block-list,
  ul.wp-block-list,
  .wp-block-column ul,
  .wp-block-column ol {
    list-style: none !important;
    padding-left: 0 !important;
  }
}
