/*
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.20260512.LOT2-sablesdolonne
*/

.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; }
/* Surtitre / eyebrow harmonisé (Lot 2C, 2026-05-11) : on retire la pilule rose
   au profit d'un libellé corail discret précédé d'un filet — un seul format
   utilisé partout (home, pages, FAQ). */
.yc-tag, .yc-eyebrow {
  display:inline-flex; align-items:center; background:transparent; color:var(--yca);
  font-size:.74rem; font-weight:800; text-transform:uppercase; letter-spacing:.13em;
  padding:0; border-radius:0; margin:0 0 .8rem;
}
.yc-tag::before, .yc-eyebrow::before {
  content:""; display:inline-block; width:1.7rem; height:2px; background:var(--yca);
  margin-right:.7rem; flex-shrink:0;
}

/* 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; 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 — vue liste */
.yc-zone-tag { display:flex; align-items:baseline; gap:.6rem; padding:.4rem 0; font-size:.95rem; font-weight:500; color:#374151; border-bottom:none; transition:color .2s; }
.yc-zone-tag::before { content:"›"; color:var(--yca); font-weight:700; flex-shrink:0; }
.yc-zone-tag:hover { color:var(--yca); }
.yc-zone-hot { color:#374151; background:none; font-weight:500; }
/* Section "Présents à ..." : image plus compacte + colonnes alignées (sync Annecy prod 2026-05-11) */
.wp-block-columns:has(> .wp-block-column .yc-zone-tag) { align-items: center !important; }
.wp-block-columns:has(> .wp-block-column .yc-zone-tag) .wp-block-image { margin: 0 !important; }
.wp-block-columns:has(> .wp-block-column .yc-zone-tag) .wp-block-image img { width: 100% !important; max-height: 420px !important; object-fit: cover !important; border-radius: 12px !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: 100% !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 0 .6rem 1.5rem !important;
  display: flex !important;
  align-items: center !important;
  justify-content: space-between !important;
  max-width: 100% !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):not(.yc-whatsapp-cta) { display: none !important; }  /* Lot 2D : WhatsApp reste visible sur mobile */
}

/* ===== 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):not(.yc-whatsapp-cta) { display: none !important; }  /* Lot 2D : WhatsApp reste visible sur mobile */
  .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;
  /* Centrage vertical du bloc titre + texte dans la card (sync Annecy prod 2026-05-11) */
  display: flex !important;
  flex-direction: column !important;
  justify-content: center !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, body.page-id-851 .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, body.page-id-851 .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, body.page-id-851 .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; }

/* ===== Page Blog + articles — finitions (sync Annecy prod 2026-05-11) — FR id 818 + EN id 851 ===== */
.yc-blog-card .wp-block-post-featured-image { display:block; }
/* Pagination de la grille d'articles */
body.page-id-818 .wp-block-query-pagination,
body.page-id-851 .wp-block-query-pagination { margin-top: 2.5rem !important; gap: .4rem !important; flex-wrap: wrap; }
body.page-id-818 .wp-block-query-pagination a,
body.page-id-818 .wp-block-query-pagination .page-numbers,
body.page-id-851 .wp-block-query-pagination a,
body.page-id-851 .wp-block-query-pagination .page-numbers {
  display: inline-flex; align-items: center; justify-content: center;
  min-width: 2.2rem; height: 2.2rem; padding: 0 .55rem;
  border: 1px solid var(--yca-border); border-radius: 8px;
  color: #1a2744; text-decoration: none; font-weight: 600; font-size: .92rem;
  transition: border-color .2s, color .2s, background .2s;
}
body.page-id-818 .wp-block-query-pagination a:hover, body.page-id-851 .wp-block-query-pagination a:hover { border-color: var(--yca); color: var(--yca); }
body.page-id-818 .wp-block-query-pagination .page-numbers.current, body.page-id-851 .wp-block-query-pagination .page-numbers.current { background: var(--yca); border-color: var(--yca); color: #fff; }
body.page-id-818 .wp-block-query-pagination-previous, body.page-id-818 .wp-block-query-pagination-next,
body.page-id-851 .wp-block-query-pagination-previous, body.page-id-851 .wp-block-query-pagination-next { font-weight: 600 !important; color: var(--yca) !important; }

/* ===== Articles de blog (single post) — lisibilité + cohérence charte ===== */
body.single-post .featured-image img,
body.single-post .post-image img,
body.single-post img.wp-post-image {
  width: 100% !important;
  max-height: 440px !important;
  object-fit: cover !important;
  object-position: center 55% !important;
  border-radius: var(--yca-rad) !important;
  display: block !important;
}
body.single-post .featured-image,
body.single-post .post-image { margin-bottom: 1.6rem !important; }
body.single-post .entry-content { font-size: 1.05rem; line-height: 1.75; }
body.single-post .entry-content > p,
body.single-post .entry-content > ul,
body.single-post .entry-content > ol,
body.single-post .entry-content > blockquote,
body.single-post .entry-content > figure:not(.wp-block-image.alignwide):not(.wp-block-image.alignfull) {
  max-width: 760px; margin-left: auto; margin-right: auto;
}
body.single-post .entry-content > p { margin-bottom: 1.3rem; }
body.single-post .entry-content ul,
body.single-post .entry-content ol { padding-left: 1.4rem; }
body.single-post .entry-content li { margin-bottom: .45rem; }
body.single-post .entry-content a { color: var(--yca); text-underline-offset: 2px; }
body.single-post .entry-content a:hover { color: var(--yca-dark, #c44a3a); }
body.single-post .entry-content strong { color: #1a1a2e; }
body.single-post .entry-content > h2 {
  max-width: 760px; margin: 2.6rem auto .85rem;
  font-weight: 800; font-size: clamp(1.45rem, 2.5vw, 1.85rem);
  color: #1a2744; padding-left: .85rem; border-left: 3px solid var(--yca);
}
body.single-post .entry-content > h3 {
  max-width: 760px; margin: 1.8rem auto .55rem;
  font-weight: 700; font-size: 1.2rem; color: #1a2744;
}
body.single-post .entry-header .entry-title { max-width: 900px; margin-left: auto; margin-right: auto; }
body.single-post .entry-header .entry-meta { max-width: 900px; margin-left: auto; margin-right: auto; font-size: .9rem; color: var(--yca-gray); }
@media (max-width: 600px) {
  body.single-post .featured-image img, body.single-post .post-image img, body.single-post img.wp-post-image { max-height: 230px !important; }
  body.single-post .entry-content { font-size: 1rem; }
  body.single-post .entry-content > p, body.single-post .entry-content > ul, body.single-post .entry-content > ol,
  body.single-post .entry-content > blockquote, body.single-post .entry-content > h2, body.single-post .entry-content > h3 { max-width: none; }
}

/* 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 {
  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 {
  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 {
  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 {
  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;
}
/* V3 Bilingue : étendre la règle full-width aux pages EN (canon Paris 18 / Villard) */
body.page-id-841 div.site, body.page-id-841 .site-content, body.page-id-841 .content-area, body.page-id-841 .site-main, body.page-id-841 .inside-article, body.page-id-841 .entry-content,
body.page-id-842 div.site, body.page-id-842 .site-content, body.page-id-842 .content-area, body.page-id-842 .site-main, body.page-id-842 .inside-article, body.page-id-842 .entry-content,
body.page-id-843 div.site, body.page-id-843 .site-content, body.page-id-843 .content-area, body.page-id-843 .site-main, body.page-id-843 .inside-article, body.page-id-843 .entry-content,
body.page-id-844 div.site, body.page-id-844 .site-content, body.page-id-844 .content-area, body.page-id-844 .site-main, body.page-id-844 .inside-article, body.page-id-844 .entry-content,
body.page-id-845 div.site, body.page-id-845 .site-content, body.page-id-845 .content-area, body.page-id-845 .site-main, body.page-id-845 .inside-article, body.page-id-845 .entry-content,
body.page-id-846 div.site, body.page-id-846 .site-content, body.page-id-846 .content-area, body.page-id-846 .site-main, body.page-id-846 .inside-article, body.page-id-846 .entry-content,
body.page-id-847 div.site, body.page-id-847 .site-content, body.page-id-847 .content-area, body.page-id-847 .site-main, body.page-id-847 .inside-article, body.page-id-847 .entry-content,
body.page-id-848 div.site, body.page-id-848 .site-content, body.page-id-848 .content-area, body.page-id-848 .site-main, body.page-id-848 .inside-article, body.page-id-848 .entry-content,
body.page-id-849 div.site, body.page-id-849 .site-content, body.page-id-849 .content-area, body.page-id-849 .site-main, body.page-id-849 .inside-article, body.page-id-849 .entry-content,
body.page-id-850 div.site, body.page-id-850 .site-content, body.page-id-850 .content-area, body.page-id-850 .site-main, body.page-id-850 .inside-article, body.page-id-850 .entry-content,
body.page-id-851 div.site, body.page-id-851 .site-content, body.page-id-851 .content-area, body.page-id-851 .site-main, body.page-id-851 .inside-article, body.page-id-851 .entry-content {
  max-width: 100% !important;
  width: 100% !important;
  margin: 0 !important;
  padding: 0 !important;
}
body.page-id-841 .entry-content .alignfull, body.page-id-841 .entry-content .alignwide,
body.page-id-844 .entry-content .alignfull, body.page-id-844 .entry-content .alignwide,
body.page-id-845 .entry-content .alignfull, body.page-id-845 .entry-content .alignwide,
body.page-id-846 .entry-content .alignfull, body.page-id-846 .entry-content .alignwide {
  margin-left: 0 !important;
  margin-right: 0 !important;
  width: 100% !important;
  max-width: 100% !important;
}


/* ===== Page Contact — éliminer le gap nav→hero (sans toucher layout horizontal) ===== */
body.page-id-15 .site-main,
body.page-id-15 .site-content,
body.page-id-15 .entry-content,
body.page-id-850 .site-main,
body.page-id-850 .site-content,
body.page-id-850 .entry-content {
  padding-top: 0 !important;
  margin-top: 0 !important;
}
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-850 .entry-content > .wp-block-cover:first-child,
body.page-id-850 .entry-content > .wp-block-group:first-child {
  margin-top: 0 !important;
}

/* === Responsive mobile (port Annecy prod, 2026-05-08) === */
/* 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) {
  div[style*="min-width:320px"][style*="border-radius:16px"] {
    margin: 0 16px !important;
    max-width: calc(100% - 32px) !important;
    min-width: auto !important;
  }
  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;
  }
  .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;
  }
  .wp-block-column .wp-block-list,
  .wp-block-column ul.wp-block-list {
    padding-left: 1.4rem !important;
  }
  .wp-block-column [style*="min-width"] {
    min-width: 0 !important;
  }
}

/* Centrer wrappers vidéo / images sur mobile — 2026-05-08 */
@media (max-width: 768px) {
  div[style*="border-radius:16px"][style*="overflow:hidden"] {
    margin: 0 auto !important;
    display: block;
    max-width: calc(100% - 32px) !important;
    min-width: 0 !important;
  }
  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;
  }
  .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-columns .wp-block-column .wp-block-buttons {
    justify-content: center !important;
  }
  .wp-block-columns .wp-block-column .wp-block-list,
  .wp-block-columns .wp-block-column ul {
    text-align: left !important;
    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) {
  .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;
  }
  .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) {
  div[style*="display:flex"][style*="gap"]:has(> div[style*="flex:"]) {
    flex-wrap: wrap !important;
  }
  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;
  }
  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) {
  .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) {
  .wp-block-columns {
    flex-direction: column !important;
  }
  .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;
  }
  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;
  }
  .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;
  }
}



/* ============================================================
   PRESSE / MÉDIA — page FR id 9 + page EN id 1248 (refonte UX — 2026-05-11)
   Composants : bandeau "Vu et entendu dans", carte en vedette,
   grille des apparitions presse, section vidéos corporate, CTA.
   ============================================================ */

/* Conteneur centré des sections presse */
body.page-id-9 .entry-content .yc-press-wrap,
body.page-id-844 .entry-content .yc-press-wrap {
  max-width: var(--yca-max);
  margin-left: auto;
  margin-right: auto;
  padding-left: 1.5rem;
  padding-right: 1.5rem;
  box-sizing: border-box;
}

/* Hero : limiter la largeur du texte */
body.page-id-9 .wp-block-cover.alignfull .wp-block-cover__inner-container,
body.page-id-844 .wp-block-cover.alignfull .wp-block-cover__inner-container {
  max-width: 780px;
  margin-left: auto;
  margin-right: auto;
  padding-left: 1.25rem;
  padding-right: 1.25rem;
}

/* Neutralise les espacements parasites GeneratePress (espace blanc avant le footer, gap média/corps des cartes) */
body.page-id-9 .yc-press-card figure,
body.page-id-844 .yc-press-card figure {
  margin: 0 !important;
}
.yc-press-card__body { margin-top: 0 !important; }
body.page-id-9 .site-main, body.page-id-9 .site-main > article, body.page-id-9 article.post, body.page-id-9 .inside-article,
body.page-id-9 .content-area, body.page-id-9 #primary, body.page-id-9 .site-content, body.page-id-9 #content, body.page-id-9 div.site,
body.page-id-844 .site-main, body.page-id-844 .site-main > article, body.page-id-844 article.post, body.page-id-844 .inside-article,
body.page-id-844 .content-area, body.page-id-844 #primary, body.page-id-844 .site-content, body.page-id-844 #content, body.page-id-844 div.site {
  padding-bottom: 0 !important;
  margin-bottom: 0 !important;
}
body.page-id-9 .yc-press-cta, body.page-id-844 .yc-press-cta { margin-bottom: 0 !important; }
body.page-id-9 .site-footer, body.page-id-9 footer.site-info, body.page-id-9 .yc-footer-brand,
body.page-id-844 .site-footer, body.page-id-844 footer.site-info, body.page-id-844 .yc-footer-brand {
  margin-top: 0 !important;
}
/* Filet de sécurité : la dernière section est le CTA coral → tous les conteneurs autour du flux
   de contenu prennent la même teinte, pour qu'aucune bande claire ne soit visible entre cette
   section et le footer (les sections plein écran couvrant chacune leur zone, aucune couture n'apparaît). */
body.page-id-9, body.page-id-9 div.site, body.page-id-9 #page, body.page-id-9 .site-content, body.page-id-9 #content, body.page-id-9 .content-area, body.page-id-9 #primary, body.page-id-9 .site-main, body.page-id-9 .site-main > article, body.page-id-9 article.post, body.page-id-9 .inside-article,
body.page-id-844, body.page-id-844 div.site, body.page-id-844 #page, body.page-id-844 .site-content, body.page-id-844 #content, body.page-id-844 .content-area, body.page-id-844 #primary, body.page-id-844 .site-main, body.page-id-844 .site-main > article, body.page-id-844 article.post, body.page-id-844 .inside-article {
  background-color: #E05A4A !important;
}
/* Et par sécurité absolue : on remonte le footer pour recouvrir toute bande résiduelle sous la section CTA.
   (Le CTA a 56px de padding-bas de coral pur sous son bouton, donc le léger chevauchement est invisible.) */
body.page-id-9 .yc-footer-brand,
body.page-id-844 .yc-footer-brand {
  margin-top: -94px !important;
  position: relative;
  z-index: 2;
}

/* ── Bandeau "Vu et entendu dans" — carrousel de logos défilant ── */
.yc-press-logos { text-align: center; }
.yc-press-logos__label {
  font-size: .72rem;
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: .14em;
  color: var(--yca);
  margin: 0 0 1.1rem;
}
.yc-press-marquee {
  overflow: hidden;
  width: 100%;
  -webkit-mask-image: linear-gradient(90deg, transparent 0, #000 6%, #000 94%, transparent 100%);
          mask-image: linear-gradient(90deg, transparent 0, #000 6%, #000 94%, transparent 100%);
}
.yc-press-marquee__track {
  display: flex;
  align-items: center;
  width: max-content;
  list-style: none;
  margin: 0;
  padding: 0;
  animation: yc-press-marquee-scroll 32s linear infinite;
}
.yc-press-marquee:hover .yc-press-marquee__track { animation-play-state: paused; }
/* Chaque logo : boîte de taille identique (footprint uniforme), espacement porté par le padding
   pour que la boucle translateX(-50%) soit parfaitement raccord. */
.yc-press-logo {
  flex: 0 0 auto;
  box-sizing: content-box;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 150px;
  height: 50px;
  padding: 0 1.4rem;
}
.yc-press-logo img {
  max-width: 100%;
  max-height: 100%;
  width: auto;
  height: auto;
  object-fit: contain;
  display: block;
}
@keyframes yc-press-marquee-scroll {
  from { transform: translateX(0); }
  to   { transform: translateX(-50%); }
}
@media (prefers-reduced-motion: reduce) {
  .yc-press-marquee {
    -webkit-mask-image: none;
            mask-image: none;
  }
  .yc-press-marquee__track {
    animation: none;
    flex-wrap: wrap;
    justify-content: center;
    width: auto;
  }
  .yc-press-marquee__track > [aria-hidden="true"] { display: none; }
}
.yc-press-pill {
  display: inline-flex;
  align-items: center;
  background: #ffffff;
  border: 1.5px solid #ecdcd7;
  color: #3a2f2c;
  font-weight: 700;
  font-size: .88rem;
  letter-spacing: .005em;
  padding: .42rem 1rem;
  border-radius: 999px;
  box-shadow: 0 2px 8px rgba(224, 90, 74, .06);
}

/* ── Intro centrée sous un H2 de section ── */
.yc-press-intro {
  max-width: 760px;
  margin-left: auto;
  margin-right: auto;
  margin-bottom: 2.4rem;
}

/* ── Badges média ── */
.yc-press-badges {
  display: flex;
  flex-wrap: wrap;
  gap: .4rem .45rem;
  margin-bottom: .7rem;
}
.yc-press-badge {
  display: inline-block;
  background: var(--yca);
  color: #fff;
  font-size: .67rem;
  font-weight: 800;
  text-transform: uppercase;
  letter-spacing: .07em;
  line-height: 1.4;
  padding: .3rem .75rem;
  border-radius: 999px;
}
.yc-press-badge--soft {
  background: var(--yca-light);
  color: var(--yca);
}

/* ── Carte en vedette (L'Express Franchise) ── */
.yc-press-featured { margin-bottom: 2.6rem; }
.yc-press-featured .wp-block-embed,
.yc-press-featured .wp-block-video {
  margin: 0;
  width: 100%;
}
.yc-press-featured .wp-block-video video {
  width: 100%;
  aspect-ratio: 16 / 9;
  display: block;
  object-fit: cover;
  background: #0e0e0e;
  border-radius: var(--yca-rad);
}
.yc-press-featured__body { padding-left: .25rem; }

/* ── Grille des apparitions presse (3 rangées x 2 cartes — hauteurs égales par rangée) ── */
.yc-press-row { gap: 1.6rem !important; align-items: stretch !important; }
.yc-press-section .yc-press-row + .yc-press-row { margin-top: 1.6rem; }
.yc-press-row > .wp-block-column {
  display: flex !important;
  flex-direction: column !important;
}
.yc-press-row > .wp-block-column > .yc-press-card { flex: 1 1 auto; }
.yc-press-card__body { flex: 1 1 auto; }
.yc-press-card {
  display: flex;
  flex-direction: column;
  background: #fff;
  border: 1.5px solid var(--yca-border);
  border-radius: var(--yca-rad);
  overflow: hidden;
  box-shadow: 0 6px 22px rgba(0, 0, 0, .05);
  transition: transform .2s ease, box-shadow .2s ease, border-color .2s ease;
}
.yc-press-card:hover {
  transform: translateY(-3px);
  box-shadow: 0 16px 34px rgba(224, 90, 74, .12);
  border-color: rgba(224, 90, 74, .45);
}
/* Média en tête de carte, à fleur des bords */
.yc-press-card figure,
.yc-press-card .wp-block-video,
.yc-press-card .wp-block-image,
.yc-press-card .wp-block-embed {
  margin: 0 !important;
  width: 100% !important;
}
.yc-press-card .wp-block-embed__wrapper { margin: 0 !important; }
.yc-press-card .wp-block-video video {
  width: 100%;
  aspect-ratio: 16 / 9;
  display: block;
  object-fit: cover;
  background: #0e0e0e;
}
.yc-press-card .wp-block-image { background: #f5efec; }
.yc-press-card .wp-block-image img {
  width: 100%;
  aspect-ratio: 4 / 3;
  object-fit: cover;
  object-position: top center;
  display: block;
}
.yc-press-card__body { padding: 1.3rem 1.4rem 1.5rem; }
.yc-press-card__title {
  font-size: 1.12rem;
  font-weight: 800;
  line-height: 1.3;
  color: #1a1a1a;
  margin: 0 0 .5rem;
}
.yc-press-card__desc {
  font-size: .94rem;
  line-height: 1.6;
  color: #4b5563;
  margin: 0;
}

/* ── Section vidéos corporate ── */
.yc-press-videos { gap: 1.6rem; }
.yc-press-videos .wp-block-embed {
  margin: 0 0 .25rem;
  width: 100%;
}
.yc-press-videos .yc-press-video-title {
  font-size: 1.05rem;
  font-weight: 700;
  line-height: 1.35;
  color: #1a1a1a;
  margin: .9rem 0 0;
}

/* ── CTA bas de page ── */
.yc-press-cta .wp-block-button__link {
  transition: transform .12s ease, box-shadow .2s ease, background-color .2s ease;
}
.yc-press-cta .wp-block-button__link:hover {
  transform: translateY(-1px);
  box-shadow: 0 12px 26px rgba(0, 0, 0, .2);
  background-color: #fff2f0 !important;
}

/* ── Responsive (tablette / mobile) ── */
@media (max-width: 781px) {
  body.page-id-9 .entry-content .yc-press-wrap,
  body.page-id-844 .entry-content .yc-press-wrap {
    padding-left: 1.1rem;
    padding-right: 1.1rem;
  }
  .yc-press-row { gap: 1.2rem !important; }
  .yc-press-section .yc-press-row + .yc-press-row { margin-top: 1.2rem; }
  .yc-press-row > .wp-block-column + .wp-block-column > .yc-press-card { margin-top: 1.2rem; }
  .yc-press-intro { margin-bottom: 1.8rem; }
  .yc-press-logos__label { margin-bottom: .85rem; }
  .yc-press-logo { width: 100px; height: 40px; padding: 0 1rem; }
  .yc-press-marquee__track { animation-duration: 24s; }
  .yc-press-featured { margin-bottom: 2rem; }
  .yc-press-featured__body {
    padding-left: 0;
    margin-top: 1.2rem;
  }
  .yc-press-videos .yc-press-video-title { margin-top: .7rem; }
}

/* === yc-exc — grille « activités réelles » (section Yes Excursions) === */
.yc-exc-grid { display:grid; grid-template-columns:repeat(2,1fr); gap:14px; }
.yc-exc-card { position:relative; display:flex; flex-direction:column; background:rgba(255,255,255,.05); border:1px solid rgba(255,255,255,.09); border-radius:14px; overflow:hidden; text-decoration:none!important; color:#fff!important; transition:transform .22s,border-color .22s,box-shadow .22s; }
.yc-exc-card:hover { transform:translateY(-4px); border-color:#E05A4A; box-shadow:0 14px 32px rgba(0,0,0,.42); }
.yc-exc-thumb { display:block; aspect-ratio:4/3; overflow:hidden; background:#14141f; }
.yc-exc-thumb img { width:100%; height:100%; object-fit:cover; display:block; transition:transform .35s; }
.yc-exc-card:hover .yc-exc-thumb img { transform:scale(1.07); }
.yc-exc-tag { position:absolute; top:.55rem; left:.55rem; font-size:.62rem; font-weight:800; text-transform:uppercase; letter-spacing:.06em; padding:.22rem .5rem; border-radius:999px; color:#fff; box-shadow:0 2px 7px rgba(0,0,0,.3); }
.yc-exc-tag--ete { background:#E05A4A; } .yc-exc-tag--hiver { background:#3f7cb3; }
.yc-exc-name { display:block; padding:.62rem .72rem .68rem; font-weight:700; font-size:.82rem; line-height:1.3; color:#fff; }
@media (max-width:600px){ .yc-exc-grid{gap:10px;} .yc-exc-name{font-size:.78rem; padding:.5rem .6rem .56rem;} }

/* ============================================================
   LOT 2 — Audit fixes design/conversion (Ingénierie 043, 2026-05-11)
   ============================================================ */

/* ----- Lot 2A : refonte hero home + preuve sociale ----- */
.yc-hero-cover .wp-block-cover__inner-container { max-width: var(--yca-max) !important; }
.yc-hero-cover h1 { letter-spacing: -.01em; text-shadow: 0 2px 20px rgba(8,16,32,.4); }
.yc-hero-cover .yc-hero-ctas { gap: .8rem !important; flex-wrap: wrap !important; }
.yc-hero-cover .yc-btn-primary > .wp-block-button__link {
  background: var(--yca) !important; color: #fff !important; font-weight: 800 !important;
  padding: .9rem 1.8rem !important; border: 2px solid var(--yca) !important;
  box-shadow: 0 8px 26px rgba(224,90,74,.42) !important;
}
.yc-hero-cover .yc-btn-primary > .wp-block-button__link:hover { background: var(--yca-dark) !important; border-color: var(--yca-dark) !important; }
.yc-hero-cover .yc-btn-secondary > .wp-block-button__link {
  background: rgba(255,255,255,.06) !important; color: #fff !important;
  border: 2px solid rgba(255,255,255,.85) !important; font-weight: 700 !important; padding: .85rem 1.7rem !important;
}
.yc-hero-cover .yc-btn-secondary > .wp-block-button__link:hover { background: rgba(255,255,255,.16) !important; border-color: #fff !important; }
.yc-hero-rating {
  margin-top: 1.7rem !important; color: #fff !important; font-size: .96rem !important;
  display: flex; align-items: center; gap: .5rem; flex-wrap: wrap;
  text-shadow: 0 1px 10px rgba(8,16,32,.45);
}
.yc-hero-rating .yc-hero-stars { color: #fbbf24 !important; letter-spacing: .08em; font-size: 1.05rem; }
.yc-hero-rating strong { font-weight: 900 !important; }
.yc-hero-rating .yc-hero-dot { opacity: .55; }
@media (max-width: 768px) {
  .yc-hero-cover .yc-hero-ctas { justify-content: stretch !important; }
  .yc-hero-cover .yc-hero-ctas .wp-block-button { flex: 1 1 100% !important; }
  .yc-hero-cover .yc-hero-ctas .wp-block-button__link { display: block !important; text-align: center !important; }
}

/* ----- Lot 2B : casser la grille des 8 cartes "L'excellence à chaque étape" ----- */
.yc-bento-wrap { max-width: var(--yca-max); margin: 0 auto; }
.yc-bento-title { font-size:clamp(1.7rem,3.2vw,2.5rem); font-weight:900; line-height:1.14; margin:0 0 .65rem; color:#1a1a2e; }
.yc-bento-lead { color:var(--yca-gray); font-size:1.05rem; max-width:640px; margin:0 0 2.5rem; line-height:1.6; }
.yc-bento { display:grid; grid-template-columns:repeat(4,1fr); grid-auto-rows:minmax(0,auto); gap:1.1rem; }
.yc-bento-card { background:var(--yca-bg); border:1.5px solid var(--yca-border); border-radius:var(--yca-rad); padding:1.5rem 1.6rem; transition:border-color .2s, transform .2s, box-shadow .2s; }
.yc-bento-card:hover { border-color:var(--yca); transform:translateY(-3px); box-shadow:0 14px 34px rgba(224,90,74,.13); }
.yc-bento-card h3 { font-size:1.02rem; font-weight:800; margin:0 0 .45rem; color:#1a1a2e; line-height:1.3; }
.yc-bento-card p { font-size:.87rem; color:var(--yca-gray); line-height:1.6; margin:0; }
.yc-bento-feature { grid-column:span 2; grid-row:span 2; display:flex; flex-direction:column; background:linear-gradient(155deg,#fff5f2 0%,#ffe6e0 100%); border-color:#f4c7bd; padding:1.9rem 2rem; }
.yc-bento-feature h3 { font-size:1.45rem; }
.yc-bento-badge { align-self:flex-start; background:var(--yca); color:#fff; font-size:.64rem; font-weight:800; text-transform:uppercase; letter-spacing:.12em; padding:.28rem .75rem; border-radius:50px; margin-bottom:1rem; }
.yc-bento-big { font-size:clamp(2.2rem,4vw,3rem); font-weight:900; line-height:1; margin:.25rem 0 .8rem; color:#1a1a2e; }
.yc-bento-big .yc-accent { color:var(--yca) !important; }
.yc-bento-feature > p:last-child { font-size:.95rem; margin-top:auto; }
.yc-bento-wide { grid-column:span 2; }
.yc-bento-wide h3 { font-size:1.18rem; }
@media (max-width:1000px) {
  .yc-bento { grid-template-columns:repeat(2,1fr); }
  .yc-bento-feature { grid-column:1 / -1; grid-row:auto; }
  .yc-bento-wide { grid-column:1 / -1; }
}
@media (max-width:560px) {
  .yc-bento { grid-template-columns:1fr; }
  .yc-bento-wide, .yc-bento-feature { grid-column:auto; }
  .yc-bento-feature { padding:1.6rem; }
}

/* ----- Lot 2C : hiérarchie typographique + respiration des sections ----- */
/* H1 de page (hero) reste dominant (cf. Lot 2A : clamp jusqu'à 3.4rem).
   Titres de section h2 : poids fort, taille intermédiaire, interligne resserré
   — ratio ~1.45 vs H1. (Périmètre : pages marketing uniquement, pas le blog/légal.) */
body.page-id-5 .entry-content h2.wp-block-heading:not(.h2white):not(.yc-bento-title),
body.page-id-1194 .entry-content h2.wp-block-heading:not(.h2white):not(.yc-bento-title),
body.page-id-11 .entry-content h2.wp-block-heading:not(.h2white):not(.yc-bento-title),
body.page-id-1253 .entry-content h2.wp-block-heading:not(.h2white):not(.yc-bento-title),
body.page-id-10 .entry-content h2.wp-block-heading:not(.h2white):not(.yc-bento-title),
body.page-id-1250 .entry-content h2.wp-block-heading:not(.h2white):not(.yc-bento-title),
body.page-id-1487 .entry-content h2.wp-block-heading:not(.h2white):not(.yc-bento-title),
body.page-id-1488 .entry-content h2.wp-block-heading:not(.h2white):not(.yc-bento-title) {
  font-size: clamp(1.7rem, 3.1vw, 2.35rem) !important;
  font-weight: 900 !important;
  line-height: 1.16 !important;
  letter-spacing: -.01em !important;
  color: #1a1a2e;
  margin-bottom: .55rem !important;
}
/* Sous-titre de section (paragraphe gris juste après le h2) un cran plus aéré */
body.page-id-5 .entry-content h2.wp-block-heading + p { margin-top: .25rem; }
/* h3 dans les sections : interligne propre, pas de saut de poids brutal */
body.page-id-5 .entry-content h3.wp-block-heading,
body.page-id-11 .entry-content h3.wp-block-heading,
body.page-id-10 .entry-content h3.wp-block-heading { line-height: 1.3; }
/* La variation de respiration verticale des sections est faite directement
   dans le post_content (paddings 4rem / 4.5rem / 5rem / 5.5rem). */

/* ----- Lot 2D : rationalisation des CTA ----- */
/* Mention téléphone discrète sous le duo de boutons de la section CTA finale (corail) */
.yc-cta-final .yc-cta-phone { color:rgba(255,255,255,.92) !important; font-size:.92rem !important; }
.yc-cta-final .yc-cta-phone a { color:#fff !important; text-decoration:underline; text-underline-offset:2px; font-weight:700; }
/* Téléphone + WhatsApp vivent dans la top bar uniquement.
   Sur mobile, on garde WhatsApp + le bouton téléphone corail, on masque le lien "Nous écrire"
   (joignable via le menu) pour ne pas surcharger la barre. */
@media (max-width: 768px) {
  .yc-top-bar-right .yc-topbar-contact { display:none !important; }
  .yc-top-bar-right { gap:.55rem !important; flex-wrap:wrap !important; }
}

/* ----- Lot 2E : page FAQ dédiée + lien depuis la home ----- */
/* En-tête de la page FAQ */
.yc-faq-head { max-width: 760px; margin: 0 auto; text-align: center; }
.yc-faq-head .yc-eyebrow { display: inline-flex; }
.yc-faq-h1 { font-size: clamp(1.9rem,3.6vw,2.8rem); font-weight: 900; line-height: 1.15; letter-spacing: -.01em; margin: .2rem 0 .8rem; color: #1a1a2e; }
.yc-faq-intro { color: var(--yca-gray); font-size: 1.05rem; line-height: 1.65; margin: 0; }
.yc-faq-intro a { color: var(--yca); font-weight: 700; text-underline-offset: 2px; }
/* Liste FAQ sur la page dédiée : centrée, largeur lisible */
.yc-faq-page-wrap { max-width: 820px; margin: 0 auto; padding: 0 .25rem; }
.yc-faq-page-wrap .yc-faq-list { max-width: 100% !important; margin: 0 auto !important; }
.yc-faq-list--page .yc-faq-item { padding: .5rem 1.6rem !important; }
.yc-faq-list--page .yc-faq-q { font-size: 1.02rem !important; }
/* Lien "Voir toutes les questions" sur la home */
.yc-faq-more { margin-top: 1.6rem !important; }
.yc-faq-more a {
  display: inline-flex; align-items: center; gap: .3rem;
  color: var(--yca) !important; font-weight: 800; font-size: .95rem;
  text-decoration: none; border-bottom: 2px solid transparent; transition: border-color .2s;
}
.yc-faq-more a:hover { border-bottom-color: var(--yca); }

/* ----- Lot 2F : sections image/texte page propriétés — l'image remplit sa colonne ----- */
/* Les 5 sections alternées (« Visibilité maximale » … « Préparation premium ») utilisent toutes
   des colonnes "are-vertically-aligned-center". On force chaque image à remplir sa colonne en 3:2,
   cadrée proprement, pour aligner les sections « faibles » sur les 2 premières (chaise / dashboard). */
body.page-id-11 .entry-content .wp-block-columns.are-vertically-aligned-center .wp-block-image,
body.page-id-1253 .entry-content .wp-block-columns.are-vertically-aligned-center .wp-block-image { margin: 0 !important; }
body.page-id-11 .entry-content .wp-block-columns.are-vertically-aligned-center .wp-block-image img,
body.page-id-1253 .entry-content .wp-block-columns.are-vertically-aligned-center .wp-block-image img {
  width: 100% !important;
  aspect-ratio: 3 / 2;
  height: auto !important;
  object-fit: cover !important;
  object-position: center !important;
  border-radius: 16px !important;
  display: block;
}
@media (max-width: 768px) {
  body.page-id-11 .entry-content .wp-block-columns.are-vertically-aligned-center .wp-block-image img,
  body.page-id-1253 .entry-content .wp-block-columns.are-vertically-aligned-center .wp-block-image img {
    aspect-ratio: 16 / 10;
  }
}

/* ============================================================
   ROUND 2 — Retours fondateur (2026-05-11) : bento "Ménage premium"
   en levier n°1, polish des 4 étapes, zones cliquables avec photo.
   ============================================================ */

/* Carte feature du bento : liste de points (Ménage premium devient le levier n°1) */
.yc-bento-feat-list { list-style:none; margin:.9rem 0 0; padding:0; display:flex; flex-direction:column; gap:.45rem; }
.yc-bento-feat-list li { position:relative; padding-left:1.35rem; font-size:.88rem; color:#374151; line-height:1.45; }
.yc-bento-feat-list li::before { content:""; position:absolute; left:0; top:.5em; width:.5rem; height:.5rem; border-radius:50%; background:var(--yca); }
.yc-bento-feature > p:first-of-type { font-size:.95rem; }

/* Étapes numérotées ("Démarrez en 4 étapes", "Du check-in au check-out…") :
   chaque étape devient une carte blanche bordée — appliqué partout où .yc-step apparaît
   (home + page propriétés + page voyageurs, FR & EN) pour un rendu cohérent. */
.entry-content .wp-block-column.yc-step {
  background:#fff !important; border:1.5px solid var(--yca-border); border-radius:var(--yca-rad);
  padding:1.8rem 1.2rem 1.6rem; transition:border-color .2s, transform .2s, box-shadow .2s;
}
.entry-content .wp-block-column.yc-step:hover {
  border-color:var(--yca); transform:translateY(-3px); box-shadow:0 12px 30px rgba(224,90,74,.12);
}
.entry-content .wp-block-columns:has(.yc-step) { gap:1.1rem !important; }

/* Zones d'intervention : sélecteur cliquable + photo qui change */
.yc-zones-widget { display:grid; grid-template-columns:minmax(0,360px) 1fr; gap:2.5rem; align-items:center; margin-top:2rem; max-width:var(--yca-max); }
.yc-zones-hint { color:var(--yca-gray); font-size:.85rem; margin:0 0 .9rem; font-weight:600; }
.yc-zone-tags { list-style:none; padding:0; margin:0; display:flex; flex-wrap:wrap; gap:.5rem; }
.yc-zone-tags li { margin:0; }
.yc-zone-tags .yc-zone-tag {
  display:inline-flex; align-items:center; gap:.35rem; font:inherit; line-height:1.2; cursor:pointer;
  background:#fff; border:1.5px solid var(--yca-border); color:#374151;
  padding:.42rem .85rem; border-radius:50px; font-size:.88rem; font-weight:600; transition:background .15s,border-color .15s,color .15s;
}
.yc-zone-tags .yc-zone-tag::before { content:"\203A"; color:var(--yca); font-weight:800; }
.yc-zone-tags .yc-zone-tag:hover { border-color:var(--yca); color:var(--yca); }
.yc-zone-tags .yc-zone-active { background:var(--yca); border-color:var(--yca); color:#fff; }
.yc-zone-tags .yc-zone-active::before { color:#fff; }
.yc-zones-more { margin:1.1rem 0 0; font-size:.84rem; color:var(--yca-gray); }
.yc-zones-photo { position:relative; margin:0; border-radius:var(--yca-rad); overflow:hidden; box-shadow:0 14px 38px rgba(0,0,0,.13); }
.yc-zones-photo img { display:block; width:100%; aspect-ratio:16/10; object-fit:cover; object-position:center 35%; }
.yc-zone-photo-label { position:absolute; left:1rem; bottom:1rem; background:rgba(19,33,61,.82); color:#fff; padding:.35rem .9rem; border-radius:50px; font-size:.84rem; font-weight:700; }
@media (max-width:880px) {
  .yc-zones-widget { grid-template-columns:1fr; gap:1.4rem; }
  .yc-zones-photo { order:-1; }
}

/* ============================================================
   ROUND 3 — Retours fondateur : pages propriétés/voyageurs comme la home,
   défilement auto des zones, pills de zones en colonne.
   ============================================================ */

/* Héros centrés des pages propriétés (11/1253) et voyageurs (10/1250) — même langage que la home */
.yc-hero-centered .wp-block-cover__inner-container { max-width:780px !important; text-align:center; }
.yc-hero-centered h1 { letter-spacing:-.01em; text-shadow:0 2px 22px rgba(8,16,32,.4); }
.yc-hero-centered .yc-hero-ctas { justify-content:center !important; }
.yc-hero-centered .has-white-color { text-shadow:0 1px 12px rgba(8,16,32,.4); }
.yc-eyebrow-light { display:flex !important; justify-content:center; color:#ff9a7e !important; }
.yc-eyebrow-light::before { background:#ff9a7e !important; }
.yc-hero-rating-center { justify-content:center !important; }
@media (max-width:768px) {
  .yc-hero-centered .yc-hero-ctas { flex-direction:column; }
  .yc-hero-centered .yc-hero-ctas .wp-block-button { width:100%; }
  .yc-hero-centered .yc-hero-ctas .wp-block-button__link { display:block; text-align:center; }
}

/* Listes "check" des pages propriétés / voyageurs : puce ronde corail au lieu des emojis.
   On ne l'applique qu'aux listes DÉJÀ nettoyées des emojis : tant qu'un <li> contient
   encore une <img class="emoji"> (cas des autres sites Yes en attente de nettoyage), la
   puce CSS n'est PAS posée — sinon double-puce (emoji + ✓). Auto-réparant une fois le
   site nettoyé. (multisite : page-id-11/10/1253/1250 = mêmes templates sur les sister sites) */
body.page-id-11 .yc-checklist:not(:has(img.emoji)), body.page-id-1253 .yc-checklist:not(:has(img.emoji)),
body.page-id-10 .yc-checklist:not(:has(img.emoji)), body.page-id-1250 .yc-checklist:not(:has(img.emoji)),
body.page-id-846 .yc-checklist:not(:has(img.emoji)), body.page-id-845 .yc-checklist:not(:has(img.emoji)) {
  list-style:none !important; padding-left:0 !important; margin:0 !important;
}
body.page-id-11 .yc-checklist:not(:has(img.emoji)) li, body.page-id-1253 .yc-checklist:not(:has(img.emoji)) li,
body.page-id-10 .yc-checklist:not(:has(img.emoji)) li, body.page-id-1250 .yc-checklist:not(:has(img.emoji)) li,
body.page-id-846 .yc-checklist:not(:has(img.emoji)) li, body.page-id-845 .yc-checklist:not(:has(img.emoji)) li {
  position:relative; padding-left:1.85rem; margin-bottom:.55rem; line-height:1.5; color:#374151; list-style:none;
}
body.page-id-11 .yc-checklist:not(:has(img.emoji)) li::before, body.page-id-1253 .yc-checklist:not(:has(img.emoji)) li::before,
body.page-id-10 .yc-checklist:not(:has(img.emoji)) li::before, body.page-id-1250 .yc-checklist:not(:has(img.emoji)) li::before,
body.page-id-846 .yc-checklist:not(:has(img.emoji)) li::before, body.page-id-845 .yc-checklist:not(:has(img.emoji)) li::before {
  content:"✓"; position:absolute; left:0; top:.1em; width:1.2rem; height:1.2rem;
  background:var(--yca-light); color:var(--yca); border-radius:50%;
  display:inline-flex; align-items:center; justify-content:center; font-size:.72rem; font-weight:900;
}

/* Sélecteur de zones : pills en colonne (plus propre que le wrap en vrac) + transition photo */
.yc-zone-tags { flex-direction:column; gap:.4rem; }
.yc-zone-tags li { width:100%; }
.yc-zone-tags .yc-zone-tag { width:100%; justify-content:flex-start; }
.yc-zones-photo img { transition:opacity .22s ease; }
@media (max-width:880px) {
  .yc-zone-tags { gap:.35rem; }
}

/* ============================================================
   ROUND 4 — Retours fondateur : étapes en cartes partout (déjà fait ci-dessus),
   et FAQ au même style que la home sur toutes les pages.
   ============================================================ */
/* FAQ uniforme partout : on retire le "gros cadre blanc" autour de l'accordéon
   (page propriétés / voyageurs / FAQ) → des items séparés par un filet fin, comme la home. */
body .entry-content .yc-faq-list > .wp-block-group__inner-container {
  background:transparent !important;
  box-shadow:none !important;
  border-radius:0 !important;
  overflow:visible !important;
}
/* Les items gardent leur séparateur fin ; pas de fond ni d'arrondi de "carte" */
body .entry-content .yc-faq-item { background:transparent !important; }
body .entry-content .yc-faq-item:first-child,
body .entry-content .yc-faq-item:last-child { border-radius:0 !important; }

/* === Cartes cliquables vers articles de blog (CEO 2026-05-12) === */
.yc-service-card, .yc-bento-card { position: relative; }
.yc-card-link { position: absolute; inset: 0; z-index: 2; border-radius: inherit; }
.yc-bento-feature .yc-card-link { z-index: 2; }

/* ============================================================
   LOT 2 — La Plagne · Refonte UX/design (Ingénierie 046, 2026-05-12) — COMPLÉMENTS
   Ajouté lors du push prod 2026-05-12 (Operations). Le bloc LOT 2 (043) ci-dessus
   apporte déjà toutes les classes génériques (.yc-bento*, .yc-zones*, .yc-faq-*, .yc-step,
   .yc-checklist, .yc-hero-centered…) ; ce bloc-ci ajoute surtout les scopings page-id
   La Plagne (841/846/845/951/952) + des raffinements (les versions ci-dessous, plus récentes,
   prennent le pas — léger effet cosmétique partagé, assumé).
   LOT 2 — Refonte UX/design (Ingénierie 046, 2026-05-12)
   Équivalent La Plagne du Lot 2 Annecy (043) : héros, bento,
   hiérarchie typo, CTA, page FAQ, sélecteur de zones, listes check.
   Pages marketing La Plagne : 5 (home FR), 841 (home EN),
   11 (propriétés FR), 846 (propriétés EN), 10 (voyageurs FR),
   845 (voyageurs EN), 908 (FAQ FR), 910 (FAQ EN).
   ============================================================ */

/* ----- 2A : héros home + duo CTA ----- */
.yc-hero-cover .wp-block-cover__inner-container { max-width: var(--yca-max) !important; }
.yc-hero-cover h1 { letter-spacing: -.01em; text-shadow: 0 2px 20px rgba(8,16,32,.4); }
.yc-hero-cover .yc-hero-ctas { gap: .8rem !important; flex-wrap: wrap !important; }
.yc-hero-cover .yc-btn-primary > .wp-block-button__link {
  background: var(--yca) !important; color: #fff !important; font-weight: 800 !important;
  padding: .9rem 1.8rem !important; border: 2px solid var(--yca) !important; border-radius: 50px !important;
  box-shadow: 0 8px 26px rgba(224,90,74,.42) !important;
}
.yc-hero-cover .yc-btn-primary > .wp-block-button__link:hover { background: var(--yca-dark) !important; border-color: var(--yca-dark) !important; }
.yc-hero-cover .yc-btn-secondary > .wp-block-button__link {
  background: rgba(255,255,255,.06) !important; color: #fff !important; border-radius: 50px !important;
  border: 2px solid rgba(255,255,255,.85) !important; font-weight: 700 !important; padding: .85rem 1.7rem !important;
}
.yc-hero-cover .yc-btn-secondary > .wp-block-button__link:hover { background: rgba(255,255,255,.16) !important; border-color: #fff !important; }
@media (max-width: 768px) {
  .yc-hero-cover .yc-hero-ctas { justify-content: stretch !important; }
  .yc-hero-cover .yc-hero-ctas .wp-block-button { flex: 1 1 100% !important; }
  .yc-hero-cover .yc-hero-ctas .wp-block-button__link { display: block !important; text-align: center !important; }
}

/* ----- 2B : bento asymétrique (remplace les 8 cartes "L'excellence") ----- */
.yc-bento-wrap { max-width: var(--yca-max); margin: 0 auto; }
.yc-bento-title { font-size:clamp(1.7rem,3.2vw,2.5rem); font-weight:900; line-height:1.14; margin:0 0 .65rem; color:#1a1a2e; }
.yc-bento-lead { color:var(--yca-gray); font-size:1.05rem; max-width:640px; margin:0 0 2.5rem; line-height:1.6; }
.yc-bento { display:grid; grid-template-columns:repeat(4,1fr); grid-auto-rows:minmax(0,auto); gap:1.1rem; }
.yc-bento-card { background:var(--yca-bg); border:1.5px solid var(--yca-border); border-radius:var(--yca-rad); padding:1.5rem 1.6rem; transition:border-color .2s, transform .2s, box-shadow .2s; }
.yc-bento-card:hover { border-color:var(--yca); transform:translateY(-3px); box-shadow:0 14px 34px rgba(224,90,74,.13); }
.yc-bento-card h3 { font-size:1.02rem; font-weight:800; margin:0 0 .45rem; color:#1a1a2e; line-height:1.3; }
.yc-bento-card p { font-size:.87rem; color:var(--yca-gray); line-height:1.6; margin:0; }
.yc-bento-feature { grid-column:span 2; grid-row:span 2; display:flex; flex-direction:column; background:linear-gradient(155deg,#fff5f2 0%,#ffe6e0 100%); border-color:#f4c7bd; padding:1.9rem 2rem; }
.yc-bento-feature h3 { font-size:1.45rem; }
.yc-bento-badge { align-self:flex-start; background:var(--yca); color:#fff; font-size:.64rem; font-weight:800; text-transform:uppercase; letter-spacing:.12em; padding:.28rem .75rem; border-radius:50px; margin-bottom:1rem; }
.yc-bento-big { font-size:clamp(2.2rem,4vw,3rem); font-weight:900; line-height:1; margin:.25rem 0 .8rem; color:#1a1a2e; }
.yc-bento-big .yc-accent { color:var(--yca) !important; }
.yc-bento-feature > p:last-child { font-size:.95rem; margin-top:auto; }
.yc-bento-wide { grid-column:span 2; }
.yc-bento-wide h3 { font-size:1.18rem; }
.yc-bento-feat-list { list-style:none; margin:.9rem 0 0; padding:0; display:flex; flex-direction:column; gap:.45rem; }
.yc-bento-feat-list li { position:relative; padding-left:1.35rem; font-size:.88rem; color:#374151; line-height:1.45; list-style:none; }
.yc-bento-feat-list li::before { content:""; position:absolute; left:0; top:.5em; width:.5rem; height:.5rem; border-radius:50%; background:var(--yca); }
.yc-bento-feature > p:first-of-type { font-size:.95rem; }
@media (max-width:1000px) {
  .yc-bento { grid-template-columns:repeat(2,1fr); }
  .yc-bento-feature { grid-column:1 / -1; grid-row:auto; }
  .yc-bento-wide { grid-column:1 / -1; }
}
@media (max-width:560px) {
  .yc-bento { grid-template-columns:1fr; }
  .yc-bento-wide, .yc-bento-feature { grid-column:auto; }
  .yc-bento-feature { padding:1.6rem; }
}

/* ----- 2C : hiérarchie typo (h2 de section sur les pages marketing) ----- */
body.page-id-5 .entry-content h2.wp-block-heading:not(.h2white):not(.yc-bento-title),
body.page-id-841 .entry-content h2.wp-block-heading:not(.h2white):not(.yc-bento-title),
body.page-id-11 .entry-content h2.wp-block-heading:not(.h2white):not(.yc-bento-title),
body.page-id-846 .entry-content h2.wp-block-heading:not(.h2white):not(.yc-bento-title),
body.page-id-10 .entry-content h2.wp-block-heading:not(.h2white):not(.yc-bento-title),
body.page-id-845 .entry-content h2.wp-block-heading:not(.h2white):not(.yc-bento-title),
body.page-id-951 .entry-content h2.wp-block-heading:not(.h2white):not(.yc-bento-title),
body.page-id-952 .entry-content h2.wp-block-heading:not(.h2white):not(.yc-bento-title) {
  font-size: clamp(1.7rem, 3.1vw, 2.35rem) !important;
  font-weight: 900 !important;
  line-height: 1.16 !important;
  letter-spacing: -.01em !important;
  color: #1a1a2e;
  margin-bottom: .55rem !important;
}
body.page-id-5 .entry-content h2.wp-block-heading + p { margin-top: .25rem; }
body.page-id-5 .entry-content h3.wp-block-heading,
body.page-id-11 .entry-content h3.wp-block-heading,
body.page-id-10 .entry-content h3.wp-block-heading { line-height: 1.3; }

/* ----- 2D : rationalisation des CTA ----- */
.yc-cta-final .yc-btn-primary > .wp-block-button__link {
  background:#fff !important; color:var(--yca) !important; border:2px solid #fff !important;
  font-weight:800 !important; padding:.9rem 1.85rem !important; border-radius:50px !important;
  box-shadow:0 10px 28px rgba(0,0,0,.18) !important;
}
.yc-cta-final .yc-btn-primary > .wp-block-button__link:hover { background:#fff2f0 !important; }
.yc-cta-final .yc-btn-secondary > .wp-block-button__link {
  background:transparent !important; color:#fff !important; border:2px solid rgba(255,255,255,.85) !important;
  font-weight:700 !important; padding:.85rem 1.7rem !important; border-radius:50px !important;
}
.yc-cta-final .yc-btn-secondary > .wp-block-button__link:hover { background:rgba(255,255,255,.16) !important; border-color:#fff !important; }
.yc-cta-final .yc-cta-phone { color:rgba(255,255,255,.92) !important; font-size:.92rem !important; margin-top:1.1rem !important; }
.yc-cta-final .yc-cta-phone a { color:#fff !important; text-decoration:underline; text-underline-offset:2px; font-weight:700; }
/* Téléphone + WhatsApp vivent dans la top bar uniquement. Sur mobile on garde
   le bouton téléphone + WhatsApp, on masque le lien "Nous écrire". */
@media (max-width: 768px) {
  .yc-top-bar-right .yc-topbar-write { display:none !important; }
  .yc-top-bar-right { gap:.55rem !important; flex-wrap:wrap !important; }
}
.yc-top-bar-right .yc-whatsapp-cta { display:inline-flex; align-items:center; gap:.3rem; }

/* ----- 2E : page FAQ dédiée + lien depuis la home ----- */
.yc-faq-head { max-width: 760px; margin: 0 auto; text-align: center; }
.yc-faq-head .yc-eyebrow { display: inline-flex; }
.yc-faq-h1 { font-size: clamp(1.9rem,3.6vw,2.8rem); font-weight: 900; line-height: 1.15; letter-spacing: -.01em; margin: .2rem 0 .8rem; color: #1a1a2e; }
.yc-faq-intro { color: var(--yca-gray); font-size: 1.05rem; line-height: 1.65; margin: 0; }
.yc-faq-intro a { color: var(--yca); font-weight: 700; text-underline-offset: 2px; }
.yc-faq-page-wrap { max-width: 820px; margin: 0 auto; padding: 0 .25rem; }
.yc-faq-page-wrap .yc-faq-list { max-width: 100% !important; margin: 0 auto !important; }
.yc-faq-list--page .yc-faq-item { padding: .5rem 1.6rem !important; }
.yc-faq-list--page .yc-faq-q { font-size: 1.02rem !important; }
.yc-faq-more { margin-top: 1.6rem !important; }
.yc-faq-more a {
  display: inline-flex; align-items: center; gap: .3rem;
  color: var(--yca) !important; font-weight: 800; font-size: .95rem;
  text-decoration: none; border-bottom: 2px solid transparent; transition: border-color .2s;
}
.yc-faq-more a:hover { border-bottom-color: var(--yca); }

/* ----- 2F : sections image/texte page propriétés — l'image remplit sa colonne ----- */
body.page-id-11 .entry-content .wp-block-columns.are-vertically-aligned-center .wp-block-image,
body.page-id-846 .entry-content .wp-block-columns.are-vertically-aligned-center .wp-block-image { margin: 0 !important; }
body.page-id-11 .entry-content .wp-block-columns.are-vertically-aligned-center .wp-block-image img,
body.page-id-846 .entry-content .wp-block-columns.are-vertically-aligned-center .wp-block-image img {
  width: 100% !important; aspect-ratio: 3 / 2; height: auto !important;
  object-fit: cover !important; object-position: center !important; border-radius: 16px !important; display: block;
}
@media (max-width: 768px) {
  body.page-id-11 .entry-content .wp-block-columns.are-vertically-aligned-center .wp-block-image img,
  body.page-id-846 .entry-content .wp-block-columns.are-vertically-aligned-center .wp-block-image img { aspect-ratio: 16 / 10; }
}

/* ----- Étapes numérotées (.yc-step) : cartes blanches bordées partout ----- */
.entry-content .wp-block-column.yc-step {
  background:#fff !important; border:1.5px solid var(--yca-border); border-radius:var(--yca-rad);
  padding:1.8rem 1.2rem 1.6rem; transition:border-color .2s, transform .2s, box-shadow .2s; text-align:center;
}
.entry-content .wp-block-column.yc-step:hover {
  border-color:var(--yca); transform:translateY(-3px); box-shadow:0 12px 30px rgba(224,90,74,.12);
}
.entry-content .wp-block-columns:has(.yc-step) { gap:1.1rem !important; }

/* ----- Héros centrés des pages propriétés / voyageurs (même langage que la home) ----- */
.yc-hero-centered .wp-block-cover__inner-container { max-width:800px !important; text-align:center; }
.yc-hero-centered h1 { letter-spacing:-.01em; text-shadow:0 2px 22px rgba(8,16,32,.4); }
.yc-hero-centered .yc-hero-ctas { justify-content:center !important; }
.yc-hero-centered .has-white-color, .yc-hero-centered .has-text-white-color { text-shadow:0 1px 12px rgba(8,16,32,.4); }
.yc-eyebrow-light { display:flex !important; justify-content:center; color:#ff9a7e !important; }
.yc-eyebrow-light::before { background:#ff9a7e !important; }
@media (max-width:768px) {
  .yc-hero-centered .yc-hero-ctas { flex-direction:column; }
  .yc-hero-centered .yc-hero-ctas .wp-block-button { width:100%; }
  .yc-hero-centered .yc-hero-ctas .wp-block-button__link { display:block; text-align:center; }
}

/* ----- Listes "check" : la puce ronde corail ✓ est définie dans le bloc LOT 2 (043),
   règle scopée body.page-id-{11,1253,10,1250,846,845} .yc-checklist:not(:has(img.emoji))
   — pas re-déclarée ici pour éviter une double-puce sur les sites non encore nettoyés. ----- */
/* ----- Sélecteur de zones cliquable + photo (Présents à La Plagne) ----- */
.yc-zones-widget { display:grid; grid-template-columns:minmax(0,340px) 1fr; gap:2.5rem; align-items:center; margin-top:2rem; max-width:var(--yca-max); }
.yc-zones-hint { color:var(--yca-gray); font-size:.85rem; margin:0 0 .9rem; font-weight:600; }
.yc-zone-tags { list-style:none; padding:0; margin:0; display:flex; flex-direction:column; gap:.4rem; }
.yc-zone-tags li { margin:0; width:100%; }
.yc-zone-tags .yc-zone-tag {
  display:inline-flex; align-items:center; gap:.35rem; font:inherit; line-height:1.2; cursor:pointer; width:100%;
  background:#fff; border:1.5px solid var(--yca-border); color:#374151; justify-content:flex-start;
  padding:.5rem .95rem; border-radius:50px; font-size:.9rem; font-weight:600; transition:background .15s,border-color .15s,color .15s; text-align:left;
}
.yc-zone-tags .yc-zone-tag::before { content:"\203A"; color:var(--yca); font-weight:800; }
.yc-zone-tags .yc-zone-tag:hover { border-color:var(--yca); color:var(--yca); }
.yc-zone-tags .yc-zone-active { background:var(--yca); border-color:var(--yca); color:#fff; }
.yc-zone-tags .yc-zone-active::before { color:#fff; }
.yc-zones-more { margin:1.1rem 0 0; font-size:.84rem; color:var(--yca-gray); }
.yc-zones-photo { position:relative; margin:0; border-radius:var(--yca-rad); overflow:hidden; box-shadow:0 14px 38px rgba(0,0,0,.13); }
.yc-zones-photo img { display:block; width:100%; aspect-ratio:16/10; object-fit:cover; object-position:center 40%; transition:opacity .22s ease; }
.yc-zone-photo-label { position:absolute; left:1rem; bottom:1rem; background:rgba(19,33,61,.82); color:#fff; padding:.35rem .9rem; border-radius:50px; font-size:.84rem; font-weight:700; }
@media (max-width:880px) {
  .yc-zones-widget { grid-template-columns:1fr; gap:1.4rem; }
  .yc-zones-photo { order:-1; }
  .yc-zone-tags { gap:.35rem; }
}

/* ----- FAQ uniforme partout : pas de "gros cadre blanc" autour de l'accordéon ----- */
body .entry-content .yc-faq-list > .wp-block-group__inner-container {
  background:transparent !important; box-shadow:none !important; border-radius:0 !important; overflow:visible !important;
}
body .entry-content .yc-faq-item { background:transparent !important; }
body .entry-content .yc-faq-item:first-child,
body .entry-content .yc-faq-item:last-child { border-radius:0 !important; }


/* ----- Duo CTA générique sur les fonds sombres (héros pages + sections cover CTA) ----- */
.wp-block-cover .yc-btn-primary > .wp-block-button__link,
.yc-hero-ctas .yc-btn-primary > .wp-block-button__link {
  background:var(--yca) !important; color:#fff !important; border:2px solid var(--yca) !important; border-radius:50px !important;
  font-weight:800 !important; padding:.85rem 1.75rem !important; box-shadow:0 8px 24px rgba(224,90,74,.38) !important;
}
.wp-block-cover .yc-btn-primary > .wp-block-button__link:hover,
.yc-hero-ctas .yc-btn-primary > .wp-block-button__link:hover { background:var(--yca-dark) !important; border-color:var(--yca-dark) !important; }
.wp-block-cover .yc-btn-secondary > .wp-block-button__link,
.yc-hero-ctas .yc-btn-secondary > .wp-block-button__link {
  background:rgba(255,255,255,.08) !important; color:#fff !important; border:2px solid rgba(255,255,255,.85) !important; border-radius:50px !important;
  font-weight:700 !important; padding:.8rem 1.65rem !important;
}
.wp-block-cover .yc-btn-secondary > .wp-block-button__link:hover,
.yc-hero-ctas .yc-btn-secondary > .wp-block-button__link:hover { background:rgba(255,255,255,.18) !important; border-color:#fff !important; }
/* mention téléphone discrète sous le duo, sur fond sombre */
.wp-block-cover .yc-cta-phone { color:rgba(255,255,255,.9) !important; font-size:.92rem !important; margin-top:1.1rem !important; }
.wp-block-cover .yc-cta-phone a { color:#fff !important; text-decoration:underline; text-underline-offset:2px; font-weight:700; }

/* ----- Correctifs Lot 2 (2026-05-12, retours fondateur) ----- */
/* a) Section CTA finale corail : le bouton primaire doit rester BLANC sur corail
   (la règle générique .yc-hero-ctas .yc-btn-primary le rendait corail-sur-corail = invisible). */
.yc-cta-final .yc-hero-ctas .yc-btn-primary > .wp-block-button__link,
.yc-cta-final .yc-btn-primary > .wp-block-button__link {
  background:#fff !important; color:var(--yca) !important; border:2px solid #fff !important;
  font-weight:800 !important; padding:.9rem 1.85rem !important; border-radius:50px !important;
  box-shadow:0 10px 28px rgba(0,0,0,.18) !important;
}
.yc-cta-final .yc-hero-ctas .yc-btn-primary > .wp-block-button__link:hover { background:#fff2f0 !important; }
.yc-cta-final .yc-hero-ctas .yc-btn-secondary > .wp-block-button__link,
.yc-cta-final .yc-btn-secondary > .wp-block-button__link {
  background:#374151 !important; color:#fff !important; border:2px solid #374151 !important;
  font-weight:700 !important; padding:.85rem 1.7rem !important; border-radius:50px !important;
  box-shadow:0 6px 18px rgba(0,0,0,.18) !important;
}
.yc-cta-final .yc-hero-ctas .yc-btn-secondary > .wp-block-button__link:hover,
.yc-cta-final .yc-btn-secondary > .wp-block-button__link:hover { background:#2b3543 !important; border-color:#2b3543 !important; }
/* ligne garanties sous le duo : blanche, discrète */
.yc-cta-final .yc-guarantee { color:rgba(255,255,255,.92) !important; font-size:.86rem; margin-top:.55rem; letter-spacing:.01em; }
/* b) Bento "Tarification dynamique" : le gros chiffre garde la vedette, "de revenus" en sous-titre. */
.yc-bento-big { font-size:clamp(1.9rem,3.4vw,2.6rem); line-height:1.05; display:flex; flex-wrap:wrap; align-items:baseline; gap:.4rem; }
.yc-bento-big .yc-accent { font-size:1.5em; line-height:1; }
.yc-bento-big-sub { font-size:.42em; font-weight:800; color:var(--yca-gray); letter-spacing:.02em; text-transform:uppercase; }


/* ============================================================
   LOT 2 — Nevers · Refonte UX/design (Ingenierie 047, 2026-05-12) — COMPLEMENTS
   Ajoute lors de la migration prod 2026-05-12 (Operations 011, blog 17).
   Le bloc LOT 2 (043) + le bloc La Plagne (046) complements ci-dessus contiennent
   deja toutes les classes generiques (.yc-bento*, .yc-zones*, .yc-faq-head/h1/intro/more,
   .yc-hero-cover/.yc-hero-centered, .yc-eyebrow-light, .yc-exc-*, .yc-step,
   .yc-checklist:not(:has(img.emoji)) scopee page-id-{11,1253,10,1250,846,845},
   .yc-cta-final duo + bouton secondaire fonce + ligne garanties blanche).
   Les pages marketing de Nevers reutilisent les IDs 5/1194/11/1253/10/1250
   (deja scopes par le bloc 043). Ici : uniquement le scoping page-id des NOUVELLES
   pages de Nevers — FAQ 1324 (FR) / 1325 (EN) et estimateur 1326 (FR) / 1327 (EN) —
   pour la hierarchie h2. Aucune classe generique re-declaree, aucune regle checklist naive.
   ============================================================ */
body.page-id-1324 .entry-content h2.wp-block-heading:not(.h2white):not(.yc-bento-title),
body.page-id-1325 .entry-content h2.wp-block-heading:not(.h2white):not(.yc-bento-title),
body.page-id-1326 .entry-content h2.wp-block-heading:not(.h2white):not(.yc-bento-title),
body.page-id-1327 .entry-content h2.wp-block-heading:not(.h2white):not(.yc-bento-title) {
  font-size: clamp(1.7rem, 3.1vw, 2.35rem) !important;
  font-weight: 900 !important;
  line-height: 1.16 !important;
  letter-spacing: -.01em !important;
  color: #1a1a2e;
  margin-bottom: .55rem !important;
}
/* fin LOT 2 — Nevers (047) complements */


/* ============================================================
   LOT 2 — Les Sables d'Olonne · Refonte UX/design (Ingenierie 048, 2026-05-12) — COMPLEMENTS
   Ajoute lors de la migration prod 2026-05-12 (Operations 013, blog 19).
   Les blocs LOT 2 (043) + La Plagne (046) + Nevers (047) ci-dessus contiennent deja
   toutes les classes generiques (.yc-bento*, .yc-zones*, .yc-faq-head/h1/intro/more,
   .yc-hero-cover/.yc-hero-centered, .yc-eyebrow-light, .yc-exc-* (--ete/--hiver),
   .yc-step, .yc-checklist:not(:has(img.emoji)) scopee page-id-{11,1253,10,1250,...},
   .yc-cta-final duo + bouton secondaire fonce + ligne garanties blanche).
   Les pages marketing des Sables reutilisent les IDs 5/1194/11/1253/10/1250 (deja scopes
   par le bloc 043) ; les pages FAQ des Sables ont les IDs 1326 (FR) / 1327 (EN), deja
   scopes par le bloc Nevers ci-dessus. Ici : (a) le scoping page-id des pages estimateur
   des Sables (1328 FR / 1329 EN) pour la hierarchie h2 ; (b) la variante de pastille saison
   .yc-exc-tag--saisons (cartes Yes Excursions ouvertes 4 saisons), absente du prod.
   Aucune classe generique re-declaree, aucune regle checklist naive.
   ============================================================ */
body.page-id-1328 .entry-content h2.wp-block-heading:not(.h2white):not(.yc-bento-title),
body.page-id-1329 .entry-content h2.wp-block-heading:not(.h2white):not(.yc-bento-title) {
  font-size: clamp(1.7rem, 3.1vw, 2.35rem) !important;
  font-weight: 900 !important;
  line-height: 1.16 !important;
  letter-spacing: -.01em !important;
  color: #1a1a2e;
  margin-bottom: .55rem !important;
}
.yc-exc-tag--saisons { background:rgba(255,255,255,.22); }
/* fin LOT 2 — Les Sables d'Olonne (048) complements */
