/* =========================================================
   CORRECTIFS FINAUX SITEORIGIN
   Largeur + taille + hero + effets astraux visibles
   Compatible sans CSS Grid
   À coller tout en bas de SiteOrigin CSS
   ========================================================= */

/* SECTION GLOBALE */
.msb-astro {
  max-width: 1180px !important;
  width: 96% !important;
  margin-left: auto !important;
  margin-right: auto !important;
  padding: 56px !important;
  border-radius: 34px !important;
  color: #f8f4ff !important;
  background:
    radial-gradient(circle at 18% 10%, rgba(176, 124, 255, 0.30), transparent 28%),
    radial-gradient(circle at 82% 18%, rgba(240, 212, 138, 0.20), transparent 30%),
    radial-gradient(circle at 48% 75%, rgba(141, 92, 246, 0.22), transparent 38%),
    linear-gradient(145deg, #1b1230 0%, #34204f 48%, #1a102b 100%) !important;
  box-shadow: 0 28px 90px rgba(40, 18, 70, 0.38) !important;
}

/* SUPPRESSION DU GRID POUR SITEORIGIN */
.msb-hero,
.msb-services,
.msb-grid-2,
.msb-payment,
.msb-contact-band,
.msb-pricing-head {
  display: flex !important;
}

/* HERO */
.msb-hero {
  align-items: center !important;
  justify-content: space-between !important;
  padding-bottom: 44px !important;
}

.msb-hero > div:first-child {
  flex: 1 1 auto !important;
  max-width: 560px !important;
  margin-right: 48px !important;
}

.msb-hero > .msb-orbit-card {
  flex: 0 0 380px !important;
}

/* H1 */
.msb-title {
  max-width: 560px !important;
  color: #fff4de !important;
  font-size: 62px !important;
  line-height: 0.98 !important;
  letter-spacing: -0.045em !important;
}

.msb-title span {
  display: block !important;
  color: transparent !important;
  background: linear-gradient(90deg, #f0d48a 0%, #d4a84f 42%, #b283ff 100%) !important;
  -webkit-background-clip: text !important;
  background-clip: text !important;
}

/* TEXTE D’INTRO */
.msb-lead {
  max-width: 520px !important;
  color: #e7dcf7 !important;
  font-size: 19px !important;
  line-height: 1.65 !important;
}

/* BOUTONS */
.msb-hero-actions {
  display: flex !important;
  flex-wrap: wrap !important;
  margin-top: 28px !important;
}

.msb-btn {
  margin-right: 14px !important;
  margin-bottom: 12px !important;
}

.msb-btn-primary,
.msb-phone,
.msb-price {
  color: #17120a !important;
  background: linear-gradient(135deg, #f5dc8c, #d4a84f) !important;
}

/* CARTE ASTRALE DE DROITE */
.msb-orbit-card {
  width: 380px !important;
  max-width: 380px !important;
  min-height: 355px !important;
  border: 1px solid rgba(240, 212, 138, 0.44) !important;
  border-radius: 28px !important;
  background:
    radial-gradient(circle at 64% 26%, rgba(240, 212, 138, 0.34), transparent 20%),
    radial-gradient(circle at 30% 72%, rgba(178, 131, 255, 0.32), transparent 32%),
    linear-gradient(160deg, rgba(112, 78, 150, 0.94), rgba(55, 35, 84, 0.94)) !important;
  box-shadow:
    0 24px 70px rgba(0, 0, 0, 0.30),
    inset 0 0 45px rgba(240, 212, 138, 0.10) !important;
}

/* ORBITES */
.msb-orbit-card::before,
.msb-orbit-card::after {
  border-color: rgba(240, 212, 138, 0.48) !important;
  box-shadow: 0 0 18px rgba(240, 212, 138, 0.12) !important;
}

/* LUNE */
.msb-moon {
  width: 92px !important;
  height: 92px !important;
  top: 58px !important;
  right: 52px !important;
  background:
    radial-gradient(circle at 34% 30%, #fff9df 0 10%, transparent 11%),
    radial-gradient(circle at 68% 66%, rgba(88, 61, 18, 0.18) 0 8%, transparent 9%),
    linear-gradient(135deg, #fff1ad, #e0b958) !important;
  box-shadow:
    0 0 42px rgba(240, 212, 138, 0.72),
    0 0 90px rgba(240, 212, 138, 0.28) !important;
}

/* ÉTOILES */
.msb-star {
  width: 7px !important;
  height: 7px !important;
  background: #fff1ad !important;
  box-shadow:
    0 0 10px rgba(255, 241, 173, 1),
    0 0 24px rgba(240, 212, 138, 0.85) !important;
}

/* ENCART NOIR DANS L’IMAGE */
.msb-hero-note {
  left: 26px !important;
  right: 26px !important;
  bottom: 26px !important;
  padding: 20px !important;
  background: rgba(20, 15, 36, 0.74) !important;
  border: 1px solid rgba(240, 212, 138, 0.28) !important;
  border-radius: 20px !important;
  box-shadow: 0 18px 42px rgba(0, 0, 0, 0.24) !important;
}

.msb-hero-note strong {
  color: #f7d978 !important;
}

.msb-hero-note p {
  color: #f4ecff !important;
}

/* SECTIONS */
.msb-section {
  margin-top: 28px !important;
  padding: 34px !important;
  border-radius: 28px !important;
}

.msb-section h2,
.msb-pricing h2,
.msb-contact-band h2 {
  color: #fff4de !important;
  font-size: 34px !important;
  line-height: 1.12 !important;
}

.msb-astro h3 {
  color: #f8f4ff !important;
}

.msb-section p,
.msb-service p,
.msb-payment-card p,
.msb-contact-band p,
.msb-list li {
  color: #ddd2ee !important;
}

/* CARTES 2 COLONNES */
.msb-grid-2,
.msb-payment {
  flex-wrap: wrap !important;
}

.msb-info-card,
.msb-payment-card {
  flex: 1 1 320px !important;
  margin-right: 18px !important;
  margin-bottom: 18px !important;
}

/* BANDE CONTACT */
.msb-contact-band {
  align-items: center !important;
  justify-content: space-between !important;
  padding: 34px !important;
}

.msb-contact-band > div {
  flex: 1 1 auto !important;
  margin-right: 24px !important;
}

.msb-phone {
  flex: 0 0 auto !important;
}

/* PRESTATIONS */
.msb-pricing {
  margin-top: 56px !important;
}

.msb-pricing-head {
  align-items: flex-end !important;
  justify-content: space-between !important;
  margin-bottom: 24px !important;
}

.msb-pricing-head > div {
  flex: 1 1 auto !important;
  margin-right: 28px !important;
}

.msb-pricing-head > p {
  flex: 0 1 520px !important;
}

.msb-services {
  flex-wrap: wrap !important;
}

.msb-service {
  flex: 1 1 360px !important;
  margin-right: 18px !important;
  margin-bottom: 18px !important;
  border-radius: 28px !important;
}

.msb-service-featured {
  flex: 1 1 100% !important;
}

.msb-service h3 {
  color: #f8f4ff !important;
  font-size: 25px !important;
}

.msb-service-subtitle,
.msb-kicker,
.msb-payment-card h3,
.msb-info-card h3 {
  color: #f0d48a !important;
}

/* TABLETTE */
@media (max-width: 980px) {
  .msb-astro {
    width: 94% !important;
    padding: 36px 24px !important;
  }

  .msb-hero {
    display: block !important;
    padding-bottom: 30px !important;
  }

  .msb-hero > div:first-child {
    max-width: 100% !important;
    margin-right: 0 !important;
    margin-bottom: 30px !important;
  }

  .msb-title {
    max-width: 100% !important;
    font-size: 52px !important;
  }

  .msb-lead {
    max-width: 100% !important;
  }

  .msb-orbit-card {
    width: 100% !important;
    max-width: 100% !important;
    min-height: 330px !important;
  }

  .msb-contact-band,
  .msb-pricing-head {
    display: block !important;
  }

  .msb-contact-band > div,
  .msb-pricing-head > div {
    margin-right: 0 !important;
    margin-bottom: 20px !important;
  }
}

/* MOBILE */
@media (max-width: 600px) {
  .msb-astro {
    width: 96% !important;
    padding: 24px 16px !important;
    border-radius: 22px !important;
  }

  .msb-title {
    font-size: 41px !important;
    line-height: 1.02 !important;
  }

  .msb-lead {
    font-size: 17px !important;
  }

  .msb-section {
    padding: 24px 18px !important;
  }

  .msb-section h2,
  .msb-pricing h2,
  .msb-contact-band h2 {
    font-size: 28px !important;
  }

  .msb-orbit-card {
    min-height: 320px !important;
  }

  .msb-moon {
    width: 76px !important;
    height: 76px !important;
    top: 38px !important;
    right: 34px !important;
  }

  .msb-hero-note {
    left: 18px !important;
    right: 18px !important;
    bottom: 18px !important;
  }

  .msb-btn,
  .msb-phone {
    width: 100% !important;
    margin-right: 0 !important;
  }

  .msb-info-card,
  .msb-payment-card,
  .msb-service {
    flex: 1 1 100% !important;
    margin-right: 0 !important;
  }
}

/* =========================================================
   CORRECTIF PUCE + PRIX
   À coller tout en bas de SiteOrigin CSS
   ========================================================= */

/* 1) PRIX : empêcher le retour à la ligne */
.msb-service-top {
  display: flex !important;
  align-items: flex-start !important;
  justify-content: space-between !important;
  flex-wrap: nowrap !important;
  gap: 16px !important;
}

.msb-service-top h3 {
  flex: 1 1 auto !important;
  margin-right: 12px !important;
}

.msb-price {
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  flex: 0 0 auto !important;
  min-width: 74px !important;
  height: 38px !important;
  padding: 0 14px !important;
  white-space: nowrap !important;
  word-break: normal !important;
  overflow-wrap: normal !important;
  line-height: 1 !important;
  font-size: 16px !important;
  border-radius: 999px !important;
}



/* 2) PUCES : les rendre plus visibles */
.msb-list {
  list-style: none !important;
  padding-left: 0 !important;
  margin-top: 14px !important;
}

.msb-list li {
  position: relative !important;
  padding-left: 28px !important;
}

.msb-list li::before {
  content: "" !important;
  position: absolute !important;
  left: 0 !important;
  top: 11px !important;
  width: 9px !important;
  height: 9px !important;
  border-radius: 50% !important;
  background: #d9b35f !important;
  box-shadow: 0 0 10px rgba(217, 179, 95, 0.55) !important;
}