/* ============================================================
   GESTION LOCATIVE — Styles spécifiques
   Complète style.css sans écraser les composants globaux.
   ============================================================ */

/* ============================================================
   SECTION POURQUOI KEYMOJO — Sélecteur profil multi-personas
   ============================================================ */

.pourquoi-gestion {
  padding: 7rem 0 0;
}

/* ---- En-tête de section ---- */
.pourquoi-gestion__header {
  text-align: center;
  margin-bottom: 4rem;
}

.pourquoi-gestion__subtitle {
  font-size: 1.8rem;
  color: rgba(255, 255, 255, 0.82);
  text-align: center;
  max-width: 54rem;
  margin: 0.8rem auto 0;
  line-height: 1.5;
}

/* ---- Tabs (2 cartes profil identiques à la home) ---- */
.pourquoi-gestion__tabs {
  display: flex;
  gap: 1.6rem;
  margin-bottom: 4rem;
}
.pourquoi-gestion__tabs .profil-tab {
  flex: 1;
}

/* ---- Panneau de contenu ---- */
.gl-content {
  position: relative;
}

@keyframes gl-slide-out {
  from { opacity: 1; transform: translateY(0); }
  to   { opacity: 0; transform: translateY(-2%); }
}
@keyframes gl-slide-in {
  from { opacity: 0; transform: translateY(2%); }
  to   { opacity: 1; transform: translateY(0); }
}

.gl-content.gl-switching-out {
  animation: gl-slide-out 0.18s ease-in forwards;
  pointer-events: none;
}
.gl-content.gl-switching-in {
  animation: gl-slide-in 0.28s cubic-bezier(0.16, 1, 0.3, 1) forwards;
}

/* ---- En-tête de bloc (au-dessus des cartes, injecté par gestion.js) ---- */
.gl-bloc-header {
  text-align: center;
  padding: 4rem 2rem 3.6rem;
}
.gl-bloc-h3 {
  font-size: 2.4rem;
  line-height: 3.2rem;
  font-weight: 700;
  color: #fff;
  margin: 0 auto;
  max-width: 62rem;
}

/* ---- Neutralise le background/padding de pain-solution-bloc (desktop #gl-content + mobile acc-panel) ---- */
.gl-pain-bloc {
  background: transparent;
  padding: 0 0 3.2rem;
}
/* ---- Annule le double container (gl-pain-bloc est déjà dans .container de pc-section-beige) ---- */
.gl-pain-bloc > .container {
  margin: 0;
}

/* ---- Mention inline dans les cartes solution ---- */
.ps-mention {
  display: block;
  margin-top: 0.8rem;
  font-size: 1.2rem;
  line-height: 1.5;
  font-style: italic;
  color: rgba(255, 255, 255, 0.55);
}

/* ---- Chute mémorable ---- */
.gl-quote {
  text-align: center;
  padding: 3.2rem 2rem 4.8rem;
}
.gl-quote .cta-primary {
  margin: 2.4rem auto 0;
}
.gl-quote p {
  margin: 0 auto;
  max-width: 72rem;
  font-size: 3.2rem;
  line-height: 4rem;
  font-weight: 700;
  font-style: italic;
  color: rgba(255, 255, 255, 0.9);
}

/* ---- Responsive tablet ---- */
@media screen and (max-width: 991px) {
  .pourquoi-gestion {
    padding: 5rem 0 0;
  }
  .pourquoi-gestion__header {
    margin-bottom: 2.8rem;
  }
  .pourquoi-gestion__tabs {
    flex-direction: column;
    gap: 1rem;
  }
  .gl-quote p {
    font-size: 2.6rem;
    line-height: 3.4rem;
  }
}

/* ---- Responsive mobile ---- */
@media screen and (max-width: 767px) {
  .pourquoi-gestion {
    padding: 4rem 0 0;
  }
  .pourquoi-gestion__tabs {
    margin-bottom: 0;
  }
  .gl-bloc-header {
    padding: 2.8rem 0 2.4rem;
  }
  .gl-bloc-h3 {
    font-size: 2rem;
    line-height: 2.8rem;
  }
  .gl-quote {
    padding: 2rem 2rem 3.6rem;
  }
  .gl-quote p {
    font-size: 2rem;
    line-height: 2.8rem;
  }
  .gl-content .pain-solution-bloc {
    padding: 0 0 3.2rem;
  }
}

/* ---- Reduced motion ---- */
@media (prefers-reduced-motion: reduce) {
  .gl-content.gl-switching-out,
  .gl-content.gl-switching-in,
  #fg-content.gl-switching-out,
  #fg-content.gl-switching-in {
    animation: none;
  }
}

/* ============================================================
   SECTION 3 — NOS FORMULES (3 packs gestion)
   Fond beige naturel (#f7f0ea). Couleurs inversées vs Section 2.
   ============================================================ */

.formules-gestion {
  padding: 7rem 0 5rem;
}

/* ---- En-tête ---- */
.formules-gestion__header {
  text-align: center;
  margin-bottom: 4rem;
}
.formules-gestion__subtitle {
  font-size: 1.8rem;
  color: rgba(4, 96, 83, 0.65);
  text-align: center;
  max-width: 62rem;
  margin: 0.8rem auto 0;
  line-height: 1.5;
}

/* ---- Tabs (3 boutons colonne, style profil-tab inversé) ---- */
.formules-gestion__tabs {
  display: flex;
  flex-wrap: wrap;
  gap: 1.2rem;
  align-items: flex-start;
  margin-bottom: 3.2rem;
}

/* ---- Flip card container ---- */
.formule-tab {
  position: relative;
  flex: 1;
  perspective: 900px;
  cursor: pointer;
  overflow: visible;
  -webkit-tap-highlight-color: transparent;
  touch-action: manipulation;
  transition: transform 0.18s ease;
}
.formule-tab:not(.flipped):hover {
  transform: translateY(-2px);
}

/* ---- Flip inner (3D) ---- */
.fg-flip-inner {
  position: relative;
  width: 100%;
  transform-style: preserve-3d;
  transition: transform 0.5s cubic-bezier(0.645, 0.045, 0.355, 1);
  border-radius: 1.6rem;
}
.formule-tab.flipped .fg-flip-inner {
  transform: rotateY(180deg);
}

/* ---- Face avant : sélecteur compact ---- */
.fg-flip-front {
  position: relative;
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  gap: 0.5rem;
  padding: 2rem 2.4rem 2rem 6.5rem;
  background: rgba(4, 96, 83, 0.05);
  border: 1.5px solid rgba(4, 96, 83, 0.18);
  border-radius: 1.6rem;
  text-align: left;
  color: #046053;
  overflow: hidden;
  backface-visibility: hidden;
  -webkit-backface-visibility: hidden;
  transition: background 0.2s ease, border-color 0.2s ease;
}
.formule-tab:not(.flipped):hover .fg-flip-front {
  background: rgba(4, 96, 83, 0.1);
  border-color: rgba(4, 96, 83, 0.35);
}
/* Face avant invisible quand retournée — doit être inerte aux clics
   sinon elle bloque le bouton × de la face arrière */
.formule-tab.flipped .fg-flip-front {
  pointer-events: none;
}
/* Face arrière non retournée — inerte aux clics pour ne pas bloquer
   la face avant (même après injection du contenu au premier clic) */
.formule-tab:not(.flipped) .fg-flip-back {
  pointer-events: none;
}

/* ---- Face arrière : contenu de la formule ---- */
.fg-flip-back {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  min-height: 100%;
  transform: rotateY(180deg);
  backface-visibility: hidden;
  -webkit-backface-visibility: hidden;
  background: #fff;
  border: 1.5px solid rgba(4, 96, 83, 0.18);
  border-radius: 1.6rem;
  padding: 5rem 2.4rem 2.4rem;
  box-sizing: border-box;
  overflow: visible;
}

/* When fully expanded: back face in document flow so height:auto works */
.formule-tab.fg-expanded .fg-flip-back {
  position: relative;
  top: auto;
  left: auto;
}
.formule-tab.fg-expanded .fg-flip-front {
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
}

/* Badge identité en dépassement au-dessus de la back face */
/* Invisible + légèrement bas pendant le flip, fade-in une fois fg-expanded actif */
.fg-back-badge-wrap {
  position: absolute;
  top: -2rem;
  left: 50%;
  transform: translateX(-50%) translateY(6px);
  z-index: 10;
  white-space: nowrap;
  opacity: 0;
  transition: opacity 0.35s ease, transform 0.35s ease;
}
.formule-tab.fg-expanded .fg-back-badge-wrap {
  opacity: 1;
  transform: translateX(-50%) translateY(0);
  transition-delay: 0.12s;
}

/* Prix dans la back face */
.fg-back-price-hero {
  font-size: 3.6rem;
  font-weight: 900;
  color: #046053;
  line-height: 1.1;
  margin: 0 0 0.5rem;
}
[data-fg-pack="smart"] .fg-back-price-hero {
  color: #F9BB44;
}
[data-fg-pack="zen"] .fg-back-price-hero {
  color: #F9BB44;
}
[data-fg-pack="koloc"] .fg-back-price-hero {
  color: #CB5540;
}
.fg-back-price-unit { font-size: 1.8rem; font-weight: 600; vertical-align: super; }
.fg-back-price-period { font-size: 1.4rem; font-weight: 500; opacity: 0.7; }
.fg-back-precision {
  font-size: 1.35rem;
  color: #555;
  margin: 0 0 1.8rem;
  font-style: italic;
}

/* Bouton retour sélection */
.fg-flip-close-btn {
  display: inline-flex;
  align-items: center;
  gap: 0.5rem;
  margin-top: 2rem;
  padding: 0.7rem 1.6rem;
  background: rgba(4, 96, 83, 0.06);
  border: 1px solid rgba(4, 96, 83, 0.2);
  border-radius: 999px;
  font-size: 1.2rem;
  font-weight: 600;
  color: #046053;
  cursor: pointer;
  transition: background 0.2s;
}
.fg-flip-close-btn:hover { background: rgba(4, 96, 83, 0.12); }

/* Ligne CTA + bouton retour côte à côte */
.fg-back-cta-row {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 1.2rem;
  margin-top: 1.6rem;
}
.fg-back-cta-row .fg-flip-close-btn { margin-top: 0; }
.fg-back-cta-row .pricing-cta { margin-top: 0; }

@media (max-width: 767px) {
  .fg-back-cta-row {
    flex-direction: column;
    align-items: center;
    gap: 1rem;
  }
  .fg-back-cta-row .fg-cta,
  .fg-back-cta-row .fg-flip-close-btn {
    width: 100%;
    text-align: center;
    justify-content: center;
  }
}

/* Bouton fermeture haut (×) */
.fg-flip-close-btn--top {
  position: absolute;
  top: 1.4rem;
  right: 1.4rem;
  width: 2.6rem;
  height: 2.6rem;
  border-radius: 50%;
  padding: 0;
  margin: 0;
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 1.3rem;
  line-height: 1;
  font-weight: 700;
  z-index: 5;
}

/* ---- Badge ruban diagonal — SMART uniquement (vert pin + étoile jaune) ---- */
.formule-tab__badge {
  position: absolute;
  top: 2.8rem;
  left: -3.8rem;
  width: 14rem;
  transform: rotate(-45deg);
  background: linear-gradient(180deg, #067a67 0%, #046053 50%, #034a40 100%);
  color: #F9BB44;
  text-align: center;
  font-size: 0.88rem;
  font-weight: 900;
  letter-spacing: 0.08em;
  text-transform: uppercase;
  padding: 0.5rem 0;
  z-index: 2;
  line-height: 1;
  box-shadow: 0 3px 10px rgba(0,0,0,0.35), 0 1px 3px rgba(0,0,0,0.2),
              inset 0 1px 0 rgba(255,255,255,0.12), inset 0 -1px 0 rgba(0,0,0,0.15);
  text-shadow: 0 1px 2px rgba(0,0,0,0.3);
}

/* ---- Badge pill identité pack dans le sélecteur ---- */
.fg-tab-pack-badge {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  padding: 5px 13px;
  border-radius: 999px;
  font-size: 1.15rem;
  font-weight: 700;
  letter-spacing: 0.04em;
  text-transform: uppercase;
  border: 1.5px solid currentColor;
  margin-bottom: 0.2rem;
}
/* SMART : jaune mimosa (fond translucide + bordure + texte en ambre lisible) */
.fg-tab-pack-badge--smart { color: #E8960E; background: rgba(249,187,68,0.12); border-color: rgba(249,187,68,0.55); }
.fg-tab-pack-badge--zen   { color: #3B82F6; background: rgba(59,130,246,0.08);  border-color: rgba(59,130,246,0.35); }
.fg-tab-pack-badge--koloc { color: #E85D4A; background: rgba(232,93,74,0.08);   border-color: rgba(232,93,74,0.35); }

/* ---- Prix affiché dans le tab ---- */
.formule-tab__price {
  display: block;
  font-size: 3rem;
  font-weight: 900;
  line-height: 1.1;
  color: inherit;
}
.formule-tab__price small { font-size: 1.45rem; font-weight: 500; opacity: 0.75; }
/* Variantes couleur prix par pack */
.formule-tab__price--smart { color: #E8960E; }
.formule-tab__price--koloc { color: #E85D4A; }
/* ZEN : prix base en jaune mimosa, accent GLI en bleu ZEN */
.ftp--mimosa { color: #E8960E; }
.ftp--zen    { color: #3B82F6; font-size: 1.3rem; font-weight: 600; }

/* ---- Sous-titre (type de logement) ---- */
.formule-tab__sub {
  display: block;
  font-size: 1.25rem;
  color: inherit;
  opacity: 0.7;
  font-style: italic;
}

/* ---- Check circle (coin supérieur droit) ---- */
.formule-tab__check {
  position: absolute;
  top: 1.4rem;
  right: 1.4rem;
  width: 2.2rem;
  height: 2.2rem;
  border-radius: 50%;
  border: 1.5px solid rgba(4, 96, 83, 0.25);
  display: flex;
  align-items: center;
  justify-content: center;
  flex-shrink: 0;
  color: transparent;
  transition: border-color 0.2s, background 0.2s, color 0.2s;
}
.formule-tab__check::after { content: '✓'; font-size: 1.1rem; font-weight: 800; line-height: 1; }
.formule-tab.flipped .formule-tab__check {
  background: #F9BB44;
  border-color: #F9BB44;
  color: #1a1a1a;
}

/* ---- Keyframes flip ---- */
@keyframes fg-flip-to-back {
  from { transform: rotateY(0deg); }
  to   { transform: rotateY(180deg); }
}
@keyframes fg-flip-to-front {
  from { transform: rotateY(180deg); }
  to   { transform: rotateY(0deg); }
}

/* ---- Layout quand une carte est ouverte ---- */
/* Séparation flex-sizing (fg-full-width) et état flip (flipped) pour contrôler
   le moment où la carte reprend sa largeur compacte (en fin de fermeture).
   margin-top crée l'espace pour que le badge en dépassement (-2rem) ne chevauche pas
   la carte compacte de la ligne précédente */
.formule-tab.fg-full-width {
  flex: 1 1 100%;
  margin-top: 2.5rem;
  max-width: 80rem;
  margin-left: auto;
  margin-right: auto;
}

/* ---- Placeholder état 0 ---- */
.fg-placeholder {
  text-align: center;
  padding: 3.2rem 2rem;
  color: rgba(4, 96, 83, 0.45);
  font-size: 1.5rem;
  font-style: italic;
}

/* ---- Carte wrapper ---- */
.fg-card-wrap {
  max-width: 68rem;
  margin: 0 auto;
  padding-top: 2.2rem; /* espace pour le badge centré débordant */
}

.fg-price-plus {
  font-size: 1.6rem;
  font-weight: 600;
  color: #3B82F6;
  vertical-align: middle;
}

/* ---- CTA ---- */
.fg-cta {
  display: flex !important;
  align-items: center;
  gap: 1rem;
  width: fit-content;
  margin: 1.6rem auto 0;
  padding: 1rem 1.5rem 1rem 1.2rem;
  background: #ff7348;
  color: rgba(247, 240, 234, 0.9) !important;
  font-weight: 800;
  font-size: 1.5rem;
  border-radius: 5rem;
  white-space: nowrap;
  text-decoration: none;
}
.fg-cta::before {
  content: "";
  width: 16px;
  height: 14px;
  min-width: 16px;
  display: block;
  background-repeat: no-repeat;
  background-position: center;
  background-image: url("data:image/svg+xml,%3Csvg width='15' height='17' viewBox='0 0 15 17' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M13.5975 6.51984C12.7944 4.17128 10.7593 2.49784 8.28607 2.15118L8.28641 2.15236C4.9195 1.68326 1.71869 3.90531 0.999497 7.21117C0.62138 8.94735 0.956403 10.7186 1.94297 12.1989C2.93008 13.6792 4.43892 14.6768 6.19152 15.0072C8.40858 15.4251 10.6514 14.6941 12.1916 13.0523C13.0268 12.0477 14.4773 9.33466 13.5975 6.51984Z' stroke='white' stroke-miterlimit='10'/%3E%3Cpath d='M6.70127 12.0507C4.80497 11.6932 3.55277 9.8592 3.91026 7.96291C4.26776 6.06661 6.10179 4.81441 7.99809 5.1719C9.89438 5.5294 11.1466 7.36343 10.7891 9.25973C10.4316 11.156 8.59756 12.4082 6.70127 12.0507Z' fill='white'/%3E%3C/svg%3E");
}
.fg-cta:hover {
  background: #e8582a;
  color: rgba(247, 240, 234, 0.9) !important;
  opacity: 1;
}
.fg-cta:hover::before {
  background-image: url("data:image/svg+xml,%3Csvg width='15' height='17' viewBox='0 0 15 17' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M13.6054 6.51593C12.8022 4.16737 10.7671 2.49393 8.29389 2.14727L8.29423 2.14846C4.92731 1.67936 1.72651 3.90141 1.00731 7.20726C0.629192 8.94345 0.964215 10.7147 1.95078 12.1949C2.93789 13.6753 4.44673 14.6729 6.19934 15.0033C8.41639 15.4212 10.6593 14.6902 12.1994 13.0484C13.0346 12.0438 14.4851 9.33075 13.6054 6.51593Z' stroke='white' stroke-miterlimit='10'/%3E%3Cpath d='M6.12283 15.1557C2.51228 14.475 0.128079 10.983 0.808752 7.37247C1.48943 3.76192 4.98143 1.37772 8.59198 2.05839C12.2025 2.73907 14.5867 6.23107 13.9061 9.84162C13.2254 13.4522 9.73337 15.8364 6.12283 15.1557Z' fill='white'/%3E%3C/svg%3E");
}

/* ---- Eyebrow interne ---- */
.fg-section-eyebrow {
  font-size: 1.1rem;
  font-weight: 800;
  letter-spacing: 0.12em;
  color: #E8960E;
  text-transform: uppercase;
  margin: 2rem 0 1.2rem;
}

/* ---- Badge identité pack (centré en haut du contenu) ---- */
.fg-pack-badge {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  padding: 10px 22px;
  border-radius: 999px;
  font-size: 1.35rem;
  font-weight: 800;
  letter-spacing: 0.06em;
  text-transform: uppercase;
  border: 2px solid currentColor;
  margin: 0 auto 2rem;
  width: fit-content;
}
.fg-pack-badge svg { flex-shrink: 0; }
.fg-pack-badge--smart {
  color: #E8960E;
  background: rgba(249, 187, 68, 0.12);
  border-color: rgba(249, 187, 68, 0.5);
}
.fg-pack-badge--zen {
  color: #3B82F6;
  background: rgba(59, 130, 246, 0.08);
  border-color: rgba(59, 130, 246, 0.3);
}
.fg-pack-badge--koloc {
  color: #E85D4A;
  background: rgba(232, 93, 74, 0.08);
  border-color: rgba(232, 93, 74, 0.3);
}

/* ---- Mention astérisque ---- */
.fg-mention {
  font-size: 1.1rem;
  color: #888;
  margin-top: 1rem;
  line-height: 1.55;
}

/* ---- Bloc GLI (Pack ZEN) — couleur dominante : bleu ---- */
.fg-gli-block {
  background: rgba(59, 130, 246, 0.07);
  border: 1.5px solid rgba(59, 130, 246, 0.28);
  border-left: 4px solid #3B82F6;
  border-radius: 1.2rem;
  padding: 1.6rem;
  margin-bottom: 1.2rem;
}
.fg-gli-block__title {
  font-size: 1.55rem;
  font-weight: 800;
  color: #1D4ED8;
  margin-bottom: 0.6rem;
}
.fg-gli-block__desc {
  font-size: 1.4rem;
  color: #444;
  line-height: 1.5;
  margin-bottom: 1rem;
}
.fg-gli-toggle {
  background: none;
  border: none;
  cursor: pointer;
  font-size: 1.3rem;
  font-weight: 600;
  color: #2563EB;
  padding: 0;
  text-decoration: underline;
  text-underline-offset: 3px;
  transition: color 0.15s;
}
.fg-gli-toggle:hover { color: #1D4ED8; }
.fg-gli-detail {
  margin-top: 1.2rem;
  border-top: 1px solid rgba(59, 130, 246, 0.25);
  padding-top: 1.2rem;
}
.fg-gli-items {
  display: flex;
  flex-direction: column;
  gap: 1rem;
  margin-bottom: 1.2rem;
}
.fg-gli-item {
  display: flex;
  align-items: flex-start;
  gap: 8px;
  font-size: 1.35rem;
  line-height: 1.5;
  color: #333;
}
.fg-gli-item::before {
  content: "✓";
  color: #3B82F6;
  font-size: 1.3rem;
  font-weight: 800;
  flex-shrink: 0;
  margin-top: 2px;
  line-height: 1.45;
}
.fg-gli-option {
  background: rgba(59, 130, 246, 0.06);
  border-left: 3px solid #3B82F6;
  padding: 1rem 1.2rem;
  border-radius: 0 0.6rem 0.6rem 0;
  font-size: 1.35rem;
  color: #333;
  line-height: 1.5;
}

/* ---- Bloc COLOC (Pack KOLOC) — couleur dominante : corail ---- */
.fg-coloc-block {
  background: rgba(232, 93, 74, 0.07);
  border: 1.5px solid rgba(232, 93, 74, 0.28);
  border-left: 4px solid #E85D4A;
  border-radius: 1.2rem;
  padding: 1.6rem;
  margin-bottom: 1.2rem;
}
.fg-coloc-block__title {
  font-size: 1.55rem;
  font-weight: 800;
  color: #B83E2C;
  margin-bottom: 0.6rem;
}
.fg-coloc-block__desc {
  font-size: 1.4rem;
  color: #444;
  line-height: 1.5;
  margin-bottom: 1rem;
}
.fg-coloc-toggle {
  background: none;
  border: none;
  cursor: pointer;
  font-size: 1.3rem;
  font-weight: 600;
  color: #C44430;
  padding: 0;
  text-decoration: underline;
  text-underline-offset: 3px;
  transition: color 0.15s;
}
.fg-coloc-toggle:hover { color: #B83E2C; }
.fg-coloc-detail {
  margin-top: 1.2rem;
  border-top: 1px solid rgba(232, 93, 74, 0.25);
  padding-top: 1.2rem;
}
.fg-coloc-items {
  display: flex;
  flex-direction: column;
  gap: 1rem;
}
.fg-coloc-item {
  display: flex;
  align-items: flex-start;
  gap: 8px;
  font-size: 1.35rem;
  line-height: 1.5;
  color: #333;
}
.fg-coloc-item::before {
  content: "✓";
  color: #E85D4A;
  font-size: 1.3rem;
  font-weight: 800;
  flex-shrink: 0;
  margin-top: 2px;
  line-height: 1.45;
}

/* ---- Responsive tablet ---- */
@media screen and (max-width: 991px) {
  .formules-gestion {
    padding: 5rem 0 4rem;
  }
  .formules-gestion__tabs {
    flex-wrap: wrap;
    gap: 0.8rem;
  }
  .formule-tab {
    flex: 1 1 calc(50% - 0.4rem);
  }
  .formules-gestion__subtitle {
    font-size: 1.6rem;
  }
}

/* ---- Responsive mobile ---- */
@media screen and (max-width: 767px) {
  .formules-gestion {
    padding: 4rem 0 3rem;
  }
  .formules-gestion__header {
    margin-bottom: 2.8rem;
  }
  .formules-gestion__tabs {
    flex-direction: column;
    gap: 0.8rem;
    margin-bottom: 0;
  }
  .formule-tab {
    flex: none;
    width: 100%;
  }
  .fg-tab-pack-badge {
    font-size: 1.05rem;
    padding: 4px 11px;
  }
  .formule-tab__price {
    font-size: 1.7rem;
  }
  .fg-cta {
    font-size: 1.35rem;
  }
  .formules-gestion__subtitle {
    font-size: 1.5rem;
  }
  .fg-flip-back {
    padding: 4.5rem 1.8rem 2rem;
  }
  .fg-back-price-hero {
    font-size: 2.8rem;
  }
}

/* ============================================================
   BADGE ÉCONOMIES — Comparateur embed gestion.php
   ============================================================ */

/* Ligne titre + badge */
.fg-calc-header-row {
  display: flex;
  align-items: center;
  position: relative;
  margin-bottom: 1.2rem;
}

/* Label centré dans la ligne, au-dessus du badge */
.fg-calc-header-row .cp-calc-label {
  position: absolute;
  left: 50%;
  transform: translateX(-50%);
  margin-bottom: 0;
  white-space: nowrap;
  pointer-events: none;
  z-index: 2;
}

/* Badge compact, extrême droite, déborde du padding du wrapper */
.fg-savings-badge {
  margin-left: auto;
  margin-right: -3.2rem;
  background: #0E4D40;
  border-radius: 0.7rem 0 0 0.7rem;
  padding: 0.45rem 1.2rem 0.45rem 0.8rem;
  color: #fff;
  text-align: center;
  min-width: 8rem;
  flex-shrink: 0;
  z-index: 1;
}

.fg-savings-badge__label {
  font-size: 0.75rem;
  font-weight: 700;
  letter-spacing: 0.06em;
  text-transform: uppercase;
  opacity: 0.65;
  margin-bottom: 0.1rem;
}

.fg-savings-badge__amount {
  font-size: 1.6rem;
  font-weight: 800;
  line-height: 1.1;
  margin-bottom: 0.1rem;
}

.fg-savings-badge__amount sup {
  font-size: 0.9rem;
  font-weight: 600;
  vertical-align: super;
  opacity: 0.75;
}

.fg-savings-badge__note {
  font-size: 0.72rem;
  opacity: 0.5;
  line-height: 1.3;
}

@media (max-width: 600px) {
  .fg-savings-badge {
    margin-right: -1.6rem;
  }
}

/* CTA "rendez-vous" contenu dans la section comparateur verte */
.calculator-v1.background {
  padding-bottom: 5rem;
}
.calculator-v1.background .fg-cta {
  position: relative;
  z-index: 3;
  margin-bottom: 0;
}

.reviews-gestion-wrap {
  position: relative;
  z-index: 1;
}

/* Corrige l'espace vide sous les slides courts : chaque slide prend
   uniquement la hauteur de son contenu (pas de stretch Flexbox). */
.reviews-gestion-wrap .swiper-wrapper {
  align-items: flex-start;
}

/* ============================================================
   SECTION AVIS — fond beige sur gestion.php
   ============================================================ */

.reviews-gestion-wrap .reviews-bloc-alt.background {
  background: #f7f0ea;
  padding-bottom: 1.5rem;
}

.reviews-gestion-wrap .reviews-bloc-alt.background .title {
  color: #0E4D40;
}

.reviews-gestion-wrap .reviews-google-wrapper .google-content {
  border: 1px solid rgba(14, 77, 64, 0.15);
}

/* Flèches du carousel — vert sauge sur fond beige */
.reviews-gestion-wrap .controls.alt .left,
.reviews-gestion-wrap .controls.alt .right {
  border-color: #4f9087;
}
.reviews-gestion-wrap .controls.alt .left {
  background-image: url("data:image/svg+xml,%3Csvg width='18' height='17' viewBox='0 0 18 17' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M5.56355 0.755384C5.96774 0.216453 6.77838 0.223247 7.17349 0.768875L7.48504 1.19912C7.74208 1.55408 7.73805 2.03503 7.4751 2.38563L5.21324 5.40144C4.71881 6.06068 5.1892 7.00144 6.01324 7.00144L16.375 7.00145C16.9273 7.00145 17.375 7.44916 17.375 8.00145L17.375 8.93407C17.375 9.48635 16.9273 9.93407 16.375 9.93407L6.01324 9.93406C5.1892 9.93406 4.71881 10.8748 5.21324 11.5341L7.4751 14.5499C7.73805 14.9005 7.74208 15.3814 7.48504 15.7364L7.17349 16.1666C6.77838 16.7123 5.96774 16.7191 5.56355 16.1801L0.229269 9.06775C-0.0373991 8.7122 -0.0373972 8.22331 0.229269 7.86775L5.56355 0.755384Z' fill='%23B4CFCB'/%3E%3C/svg%3E");
}
.reviews-gestion-wrap .controls.alt .right {
  background-image: url("data:image/svg+xml,%3Csvg width='18' height='17' viewBox='0 0 18 17' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M12.4365 16.2407C12.0323 16.7796 11.2216 16.7728 10.8265 16.2272L10.515 15.797C10.2579 15.442 10.262 14.9611 10.5249 14.6105L12.7868 11.5946C13.2812 10.9354 12.8108 9.99465 11.9868 9.99465H1.625C1.07272 9.99465 0.625 9.54693 0.625 8.99465V8.06202C0.625 7.50974 1.07272 7.06203 1.625 7.06203H11.9868C12.8108 7.06203 13.2812 6.12126 12.7868 5.46203L10.5249 2.44621C10.262 2.09561 10.2579 1.61466 10.515 1.2597L10.8265 0.829456C11.2216 0.283828 12.0323 0.277036 12.4365 0.815967L17.7707 7.92834C18.0374 8.28389 18.0374 8.77278 17.7707 9.12834L12.4365 16.2407Z' fill='%23B4CFCB'/%3E%3C/svg%3E");
}
.reviews-gestion-wrap .controls.alt .left:hover,
.reviews-gestion-wrap .controls.alt .right:hover {
  background-color: #ff8f6d;
  border-color: #ff8f6d;
}

.reviews-gestion-cta {
  background: #f7f0ea;
  padding: 1.5rem 0 3rem;
  display: flex;
  justify-content: center;
}

/* ============================================================
   STEPS — réduit le padding-top excessif sur mobile
   ============================================================ */
@media (max-width: 767px) {
  .steps-bloc.steps--visual.background.alt {
    padding-top: 4rem;
  }
}

/* ============================================================
   PRESTATIONS COMPLÉMENTAIRES — section fond beige (pc-*)
   ============================================================ */

.pc-section-beige {
  background: #f7f0ea;
  padding: 6rem 0 7rem;
  margin: 0;
}

/* Heading section */
.pc-section-beige .heading h2 {
  color: #0E4D40;
}
.pc-section-beige .heading p {
  color: rgba(14, 77, 64, 0.7);
}

/* Surcharges couleur pour fond beige */
.pc-section-beige .pc-card {
  background: #fff;
  border-color: rgba(14, 77, 64, 0.12);
}
.pc-section-beige .pc-card:hover {
  border-color: rgba(14, 77, 64, 0.28);
}
.pc-section-beige .pc-card__tag {
  background: rgba(14, 77, 64, 0.07);
  color: #0E4D40;
}
.pc-section-beige .pc-card__icon {
  background: rgba(79, 144, 135, 0.1);
}
.pc-section-beige .pc-card__title {
  color: #0E4D40 !important;
}
.pc-section-beige .pc-card__pitch {
  color: rgba(14, 77, 64, 0.65) !important;
  opacity: 1;
}
.pc-section-beige .pc-card__features {
  border-top-color: rgba(14, 77, 64, 0.1);
}
.pc-section-beige .pc-feature {
  border-bottom-color: rgba(14, 77, 64, 0.1);
}
.pc-section-beige .pc-feature__title {
  color: #0E4D40;
}
.pc-section-beige .pc-feature__sub {
  color: rgba(14, 77, 64, 0.58);
}

/* ---- Grid 2 colonnes ---- */
.pc-grid {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 2.4rem;
  margin-top: 4.5rem;
}
@media (max-width: 900px) {
  .pc-grid {
    grid-template-columns: 1fr;
    gap: 2rem;
  }
}

/* ---- Carte ---- */
.pc-card {
  background: rgba(255, 255, 255, 0.06);
  border: 1px solid rgba(180, 207, 203, 0.2);
  border-radius: 1.6rem;
  padding: 2.8rem;
  display: flex;
  flex-direction: column;
  gap: 0;
  transition: border-color 0.2s;
}
.pc-card:hover {
  border-color: rgba(180, 207, 203, 0.45);
}

/* ---- En-tête de carte ---- */
.pc-card__head {
  margin-bottom: 2.4rem;
}

.pc-card__tag {
  display: inline-flex;
  align-items: center;
  background: rgba(180, 207, 203, 0.14);
  color: #B4CFCB;
  font-size: 0.78rem;
  font-weight: 700;
  letter-spacing: 0.1em;
  text-transform: uppercase;
  border-radius: 2rem;
  padding: 0.3rem 1rem;
  margin-bottom: 1.4rem;
}

.pc-card__icon-title {
  display: flex;
  align-items: flex-start;
  gap: 1.4rem;
}

.pc-card__icon {
  flex-shrink: 0;
  width: 5.2rem;
  height: 5.2rem;
  border-radius: 1rem;
  background: rgba(180, 207, 203, 0.14);
  display: flex;
  align-items: center;
  justify-content: center;
}

.pc-card__title {
  margin: 0 0 0.5rem !important;
  font-size: 1.9rem !important;
  line-height: 1.2;
}

.pc-card__pitch {
  margin: 0 !important;
  font-size: 1.25rem !important;
  line-height: 1.55;
  opacity: 0.75;
}

/* ---- Liste de sous-services ---- */
.pc-card__features {
  list-style: none;
  padding: 0;
  margin: 0 0 2.4rem;
  border-top: 1px solid rgba(180, 207, 203, 0.14);
  flex: 1;
}

.pc-feature {
  display: flex;
  align-items: flex-start;
  gap: 1.2rem;
  padding: 1.4rem 0;
  border-bottom: 1px solid rgba(180, 207, 203, 0.14);
}

.pc-feature__icon {
  flex-shrink: 0;
  width: 3.4rem;
  height: 3.4rem;
  border-radius: 0.65rem;
  background-color: rgba(255, 115, 72, 0.12);
  background-repeat: no-repeat;
  background-position: center;
  background-size: 1.9rem;
  margin-top: 0.1rem;
}

/* Icons — feature rows */
.pc-feature__icon--mel {
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23ff7348' stroke-width='1.7' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M3 12L12 3l9 9'/%3E%3Cpath d='M9 21V12h6v9'/%3E%3C/svg%3E");
}
.pc-feature__icon--edl {
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23ff7348' stroke-width='1.7' stroke-linecap='round' stroke-linejoin='round'%3E%3Crect x='5' y='2' width='14' height='20' rx='2'/%3E%3Cline x1='9' y1='7' x2='15' y2='7'/%3E%3Cline x1='9' y1='11' x2='15' y2='11'/%3E%3Cline x1='9' y1='15' x2='12' y2='15'/%3E%3C/svg%3E");
}
.pc-feature__icon--coloc {
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23ff7348' stroke-width='1.7' stroke-linecap='round' stroke-linejoin='round'%3E%3Ccircle cx='8' cy='7' r='2'/%3E%3Ccircle cx='16' cy='7' r='2'/%3E%3Cpath d='M2 21v-2a4 4 0 0 1 4-4h2'/%3E%3Cpath d='M22 21v-2a4 4 0 0 0-4-4h-2'/%3E%3Cpath d='M12 14v7'/%3E%3C/svg%3E");
}
.pc-feature__icon--photo {
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23ff7348' stroke-width='1.7' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M23 19a2 2 0 0 1-2 2H3a2 2 0 0 1-2-2V8a2 2 0 0 1 2-2h4l2-3h6l2 3h4a2 2 0 0 1 2 2z'/%3E%3Ccircle cx='12' cy='13' r='4'/%3E%3C/svg%3E");
}
.pc-feature__icon--diag {
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23ff7348' stroke-width='1.7' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M9 11l3 3L22 4'/%3E%3Cpath d='M21 12v7a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2V5a2 2 0 0 1 2-2h11'/%3E%3C/svg%3E");
}
.pc-feature__icon--travaux {
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23ff7348' stroke-width='1.7' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M14.7 6.3a1 1 0 0 0 0 1.4l1.6 1.6a1 1 0 0 0 1.4 0l3-3a1 1 0 0 0 0-1.4l-1.6-1.6a1 1 0 0 0-1.4 0l-3 3z'/%3E%3Cpath d='M6 21l7.5-7.5'/%3E%3Cpath d='M10.5 10.5L6 6l-3 3 4.5 4.5'/%3E%3C/svg%3E");
}

.pc-feature__body {
  display: flex;
  flex-direction: column;
  gap: 0.28rem;
}

.pc-feature__title {
  color: #fff;
  font-weight: 700;
  font-size: 1.3rem;
  line-height: 1.3;
}

.pc-feature__sub {
  color: rgba(255, 255, 255, 0.58);
  font-size: 1.15rem;
  line-height: 1.5;
}

/* ---- CTA de carte ---- */
.pc-card__cta {
  display: inline-flex;
  align-items: center;
  align-self: flex-start;
  padding: 0.9rem 1.8rem;
  background: #ff7348;
  color: rgba(247, 240, 234, 0.95) !important;
  font-weight: 800;
  font-size: 1.3rem;
  border-radius: 5rem;
  text-decoration: none !important;
  white-space: nowrap;
  transition: background 0.15s;
  margin-top: auto;
}
.pc-card__cta:hover {
  background: #e8582a;
  color: rgba(247, 240, 234, 0.95) !important;
  opacity: 1;
}

@media (max-width: 600px) {
  .pc-card {
    padding: 2rem;
  }
  .pc-card__cta {
    width: 100%;
    justify-content: center;
  }
}

/* ============================================================
   SÉLECTEURS DE SITUATION — section services à la carte
   ============================================================ */

.pc-sel-grid {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 1.6rem;
  margin-top: 3.5rem;
  align-items: start;
}

/* Desktop : boutons fixés sur la ligne 1, panels pleine largeur ligne 2 */
.pc-sel-card[data-pc-panel="panel-location"]  { grid-column: 1; grid-row: 1; }
.pc-sel-card[data-pc-panel="panel-renovation"] { grid-column: 2; grid-row: 1; }
.pc-services-panel { grid-column: 1 / -1; margin-top: 0; }

.pc-sel-card {
  flex: 1;
  display: flex;
  flex-direction: row;
  align-items: center;
  gap: 2rem;
  padding: 2rem 2.4rem;
  min-height: 9rem;
  background: rgba(255, 255, 255, 0.65);
  border: 1.5px solid rgba(14, 77, 64, 0.14);
  border-radius: 1.6rem;
  cursor: pointer;
  text-align: left;
  color: rgba(14, 77, 64, 0.80);
  transition: background 0.2s ease, border-color 0.2s ease, transform 0.18s ease;
}

.pc-sel-card:hover {
  background: rgba(255, 255, 255, 0.95);
  border-color: rgba(14, 77, 64, 0.30);
  transform: translateY(-2px);
  color: #0E4D40;
}

.pc-sel-card.active {
  background: #0E4D40;
  border-color: #0E4D40;
  border-width: 2px;
  color: #fff;
  transform: none;
}

/* Icône */
.pc-sel-card__icon {
  width: 5.6rem;
  height: 5.6rem;
  border-radius: 1.2rem;
  background: rgba(14, 77, 64, 0.08);
  display: flex;
  align-items: center;
  justify-content: center;
  flex-shrink: 0;
  transition: background 0.2s ease, color 0.2s ease;
}

.pc-sel-card__icon svg {
  width: 2.4rem;
  height: 2.4rem;
}

.pc-sel-card.active .pc-sel-card__icon {
  background: rgba(255, 255, 255, 0.15);
  color: #fff;
}

/* Corps */
.pc-sel-card__body {
  flex: 1;
  display: flex;
  flex-direction: column;
  gap: 0.3rem;
  text-align: left;
  align-items: flex-start;
}

.pc-sel-card__label {
  font-size: 2rem;
  font-weight: 700;
  line-height: 1.25;
}

.pc-sel-card__sub {
  display: block;
  font-size: 1.5rem;
  opacity: 0.72;
  line-height: 1.45;
}

/* Cercle check */
.pc-sel-card__check {
  width: 3.2rem;
  height: 3.2rem;
  border-radius: 50%;
  border: 1.5px solid rgba(14, 77, 64, 0.25);
  display: flex;
  align-items: center;
  justify-content: center;
  flex-shrink: 0;
  color: transparent;
  transition: all 0.2s ease;
}

.pc-sel-card__check svg {
  width: 1.5rem;
  height: 1.5rem;
}

.pc-sel-card.active .pc-sel-card__check {
  background: rgba(255, 255, 255, 0.9);
  border-color: rgba(255, 255, 255, 0.9);
  color: #0E4D40;
}

/* ---- Panels ---- */
.pc-services-panel {
  margin-top: 3rem;
}

.pc-services-panel[hidden] {
  display: none;
}

/* Placeholder panel rénovation */
.pc-coming-soon {
  text-align: center;
  font-size: 1.6rem;
  color: rgba(14, 77, 64, 0.6);
  padding: 3rem 0 1rem;
}

.pc-coming-soon__cta {
  display: block;
  width: fit-content;
  margin: 1.5rem auto 0;
  padding: 1rem 2.4rem;
  background: #0E4D40;
  color: #fff !important;
  font-weight: 700;
  font-size: 1.4rem;
  border-radius: 5rem;
  text-decoration: none !important;
  transition: background 0.15s;
}

.pc-coming-soon__cta:hover {
  background: #0a3d32;
  opacity: 1;
}

/* ---- Hero grid : MEL + Kopilote côte à côte ---- */
.pc-heros-grid-g {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 1.6rem;
  align-items: start;
  margin-bottom: 1.6rem;
}

@media (max-width: 900px) {
  .pc-heros-grid-g {
    grid-template-columns: 1fr;
  }
}

@media (max-width: 767px) {
  .pc-sel-grid {
    grid-template-columns: 1fr;
  }
  /* Mobile : interleaving bouton / panel / bouton / panel */
  .pc-sel-card[data-pc-panel="panel-location"]  { grid-column: 1; grid-row: 1; }
  .pc-services-panel#panel-location             { grid-column: 1; grid-row: 2; }
  .pc-sel-card[data-pc-panel="panel-renovation"] { grid-column: 1; grid-row: 3; }
  .pc-services-panel#panel-renovation           { grid-column: 1; grid-row: 4; }
  .pc-sel-card {
    padding: 1.6rem 1.8rem;
    gap: 1.4rem;
    min-height: 7.6rem;
  }
  .pc-sel-card__label {
    font-size: 1.75rem;
  }
}

/* ============================================================
   NOUVEAUX BLOCS VIOLETS — Shooting & Diagnostics
   ============================================================ */

.pricing-card--shooting,
.pricing-card--diag-g {
  border: 1.5px solid var(--color-pervenche);
  background: linear-gradient(135deg, #6B66B9 0%, var(--color-pervenche) 60%);
}

.pricing-service-label--shooting,
.pricing-service-label--diag-g {
  color: var(--color-off-white);
  font-size: clamp(1.5rem, 2vw, 1.9rem);
}

.pricing-price--shooting,
.pricing-price--diag-g {
  display: block;
  font-size: clamp(2.2rem, 3.5vw, 3rem);
  font-weight: 800;
  color: var(--color-pervenche);
  background: linear-gradient(to right, var(--color-off-white) 0%, var(--color-off-white) 55%, rgba(247, 240, 234, 0) 88%, transparent 100%);
  margin-left: -24px;
  padding: 6px 16px 6px 24px;
  border-radius: 0 4px 4px 0;
  margin-top: 8px;
}

.pricing-card--shooting .pricing-collapsible-header,
.pricing-card--diag-g .pricing-collapsible-header {
  background: transparent;
  color: var(--color-off-white);
}

.pricing-card--shooting .pricing-chevron,
.pricing-card--diag-g .pricing-chevron {
  color: var(--color-pervenche);
  align-self: flex-end;
}

.pricing-checklist--shooting li::before,
.pricing-checklist--diag-g li::before {
  color: var(--color-pervenche);
}

.pricing-cta--shooting,
.pricing-cta--diag-g {
  background: var(--color-pervenche);
  color: var(--color-off-white) !important;
}

@media screen and (min-width: 768px) {
  .pc-services-panel .pricing-services-grid {
    grid-template-columns: 1fr 1fr;
  }
}

.pc-services-panel .pricing-services-grid .svc-row-label {
  grid-column: 1 / -1;
  display: flex;
  align-items: center;
  gap: 10px;
  margin: 0.8rem 0 0;
  font-size: 1.1rem;
  font-weight: 600;
  text-transform: uppercase;
  letter-spacing: 0.07em;
  color: #046053;
}

.pc-services-panel .pricing-services-grid .svc-row-label::before {
  content: '';
  display: block;
  width: 28px;
  height: 2px;
  background: currentColor;
  flex-shrink: 0;
}

.pc-services-panel .pricing-services-grid .svc-row-label:first-child {
  margin-top: 0;
}

/* ---- Maintenance & Rénovation — variante pervenche (même famille EDL/Bail/Diag) ---- */
.svc-flip-card--maintenance .svc-flip-front,
.svc-flip-card--renovation-travaux .svc-flip-front {
  background:
    radial-gradient(ellipse 140% 120% at 110% 115%, rgba(155, 151, 219, 0.50) 0%, rgba(155, 151, 219, 0) 55%),
    rgba(155, 151, 219, 0.10);
  border-color: rgba(155, 151, 219, 0.35);
  transition: background 0.3s ease, border-color 0.2s ease;
}
.svc-flip-card--maintenance:not(.flipped):hover .svc-flip-front,
.svc-flip-card--renovation-travaux:not(.flipped):hover .svc-flip-front {
  background:
    radial-gradient(ellipse 140% 120% at 110% 115%, rgba(155, 151, 219, 0.65) 0%, rgba(155, 151, 219, 0) 55%),
    rgba(155, 151, 219, 0.16);
  border-color: rgba(155, 151, 219, 0.50);
}
.svc-flip-card--maintenance .svc-flip-front__badge,
.svc-flip-card--renovation-travaux .svc-flip-front__badge {
  color: #514CA8;
  background: rgba(247, 240, 234, 0.55);
  border-color: rgba(155, 151, 219, 0.55);
}
.svc-flip-card--maintenance .svc-flip-front__price,
.svc-flip-card--renovation-travaux .svc-flip-front__price { color: #514CA8; }
.svc-flip-card--maintenance .svc-flip-front__label,
.svc-flip-card--renovation-travaux .svc-flip-front__label { font-weight: 700; }
.svc-flip-card--maintenance .svc-flip-front__check,
.svc-flip-card--renovation-travaux .svc-flip-front__check {
  border-color: rgba(155, 151, 219, 0.75);
  background: rgba(247, 240, 234, 0.55);
}
.svc-flip-card--maintenance.flipped .svc-flip-front__check,
.svc-flip-card--renovation-travaux.flipped .svc-flip-front__check {
  background: #6B66B9;
  border-color: #6B66B9;
  color: #fff;
}
.svc-flip-card--maintenance .svc-flip-back,
.svc-flip-card--renovation-travaux .svc-flip-back { border-color: rgba(155, 151, 219, 0.25); }
.svc-flip-card--maintenance .svc-back-price-hero,
.svc-flip-card--renovation-travaux .svc-back-price-hero { color: #6B66B9; }
.svc-flip-card--maintenance .svc-flip-back .svc-flip-front__badge,
.svc-flip-card--renovation-travaux .svc-flip-back .svc-flip-front__badge { color: #6B66B9; }
.svc-flip-card--maintenance .pricing-checklist--maintenance li::before,
.svc-flip-card--renovation-travaux .pricing-checklist--renovation li::before { color: #6B66B9; }
.svc-flip-card--maintenance .svc-flip-close-btn,
.svc-flip-card--maintenance .svc-flip-close-btn--top,
.svc-flip-card--renovation-travaux .svc-flip-close-btn,
.svc-flip-card--renovation-travaux .svc-flip-close-btn--top {
  background: rgba(155, 151, 219, 0.08);
  border-color: rgba(155, 151, 219, 0.30);
  color: #6B66B9;
}
.svc-flip-card--maintenance .svc-flip-close-btn:hover,
.svc-flip-card--maintenance .svc-flip-close-btn--top:hover,
.svc-flip-card--renovation-travaux .svc-flip-close-btn:hover,
.svc-flip-card--renovation-travaux .svc-flip-close-btn--top:hover { background: rgba(155, 151, 219, 0.18); }
.pricing-highlight--maintenance,
.pricing-highlight--renovation {
  background: rgba(155, 151, 219, 0.10);
  border-left: 3px solid rgba(107, 102, 185, 0.45);
  color: #3d3880;
}
.pricing-cta--maintenance,
.pricing-cta--renovation {
  background: #514CA8;
  color: #fff;
}
.pricing-cta--maintenance:hover,
.pricing-cta--renovation:hover { background: #3d3880; }
