
/* Horoscope personnalisé — styles exclusivement limités à cette section. */
#horoscope-personnalise {
  --vchp-ink: #24106c;
  --vchp-gold: #985016;
  --vchp-edge: #e6b991;
  --vchp-serif: Georgia, 'Times New Roman', serif;
  --vchp-sans: Manrope, Arial, sans-serif;
  position: relative;
  isolation: isolate;
  overflow: hidden;
  margin: 0;
  color: var(--vchp-ink);
  background: #fcf7f4;
  font: 400 17px/1.5 var(--vchp-sans);
  -webkit-font-smoothing: antialiased;
}
#horoscope-personnalise,
#horoscope-personnalise *,
#horoscope-personnalise *::before,
#horoscope-personnalise *::after { box-sizing: border-box; }
#horoscope-personnalise :is(h2,h3,h4,p,figure) { margin: 0; padding: 0; }
#horoscope-personnalise a { color: inherit; text-decoration: none; }
#horoscope-personnalise svg { display: block; }
#horoscope-personnalise a:focus-visible { outline: 3px solid #5c297d; outline-offset: 4px; }
#horoscope-personnalise .vchp-shell { width: min(1418px, 92.4%); margin-inline: auto; position: relative; }

/* Fond généré : élément image responsive, texte et interface en HTML. */
#horoscope-personnalise .vchp-stage { position: relative; isolation: isolate; padding: 32px 0 22px; }
#horoscope-personnalise .vchp-background { position: absolute; z-index: -2; inset: 0; display: block; width: 100%; height: 100%; max-width: none; object-fit: cover; object-position: center; }
#horoscope-personnalise .vchp-stage::before { content: ''; position: absolute; z-index: -1; inset: 0; pointer-events: none; background: linear-gradient(90deg, #fffaf530 0%, #fffaf510 43%, transparent 62%), linear-gradient(0deg, #fcf7f4 0%, transparent 8%); }
#horoscope-personnalise .vchp-intro { max-width: 735px; padding-inline: 18px; }
#horoscope-personnalise .vchp-opening-line { display: flex; align-items: center; gap: 10px; width: 255px; margin: 0 0 11px -18px; color: #a86526; }
#horoscope-personnalise .vchp-opening-line::before { content: ''; height: 1px; flex: 1; background: linear-gradient(90deg,#dab68f,#a86526); }
#horoscope-personnalise .vchp-opening-line svg { width: 13px; height: 13px; }
#horoscope-personnalise .vchp-kicker { max-width: 540px; color: var(--vchp-gold); font: 400 clamp(20px,1.85vw,28px)/1.25 var(--vchp-serif); letter-spacing: .24em; }
#horoscope-personnalise .vchp-title { margin: 12px 0 14px; font: 400 clamp(42px,3.85vw,60px)/.99 var(--vchp-serif); letter-spacing: -.035em; color: var(--vchp-ink); }
#horoscope-personnalise .vchp-title > span { display: block; }
#horoscope-personnalise .vchp-title em { color: var(--vchp-gold); font-weight: 400; white-space: nowrap; }
#horoscope-personnalise .vchp-description { max-width: 610px; font-size: 18px; line-height: 1.45; text-wrap: pretty; }
#horoscope-personnalise .vchp-description span { display: block; }

/* Une seule carte réunit la présentation et les deux offres. */
#horoscope-personnalise .vchp-offer-panel { position: relative; isolation: isolate; display: grid; grid-template-columns: minmax(0,1fr) 188px 216px; gap: 18px; align-items: stretch; width: min(1060px, 78%); margin-top: 24px; padding: 20px; border: 1px solid #dca56c; border-radius: 23px; background: linear-gradient(125deg,#fffdf9f5,#fffaf5eb 60%,#fffaf3ed); box-shadow: 0 8px 22px #75415b10; }
#horoscope-personnalise .vchp-offer-decoration { position: absolute; z-index: -1; left: 0; top: 0; width: 48%; height: 100%; border-radius: 22px 0 0 22px; overflow: hidden; pointer-events: none; opacity: .7; }
#horoscope-personnalise .vchp-offer-copy { position: relative; display: flex; flex-direction: column; justify-content: center; padding: 16px 32px 16px 64px; margin-right: 10px; }
#horoscope-personnalise .vchp-offer-copy::after { content: ''; position: absolute; top: 16px; bottom: 16px; right: 0; width: 1px; background: linear-gradient(transparent,#ddaa78 15%,#ddaa78 85%,transparent); }
#horoscope-personnalise .vchp-divider-star { position: absolute; right: -10px; top: calc(50% - 12px); width: 21px; height: 25px; color: #ad641e; z-index: 1; }
#horoscope-personnalise .vchp-label { margin-bottom: 9px; font: 600 14px/1.4 var(--vchp-sans); color: var(--vchp-gold); letter-spacing: .18em; }
#horoscope-personnalise .vchp-offer-copy h3 { font: 400 37px/1.14 var(--vchp-serif); letter-spacing: -.04em; color: var(--vchp-ink); }
#horoscope-personnalise .vchp-offer-copy > p:last-child { margin-top: 11px; font-size: 17px; line-height: 1.5; text-wrap: pretty; }
#horoscope-personnalise .vchp-plan { position: relative; display: flex; flex-direction: column; align-items: center; text-align: center; min-width: 0; padding: 15px 15px 12px; border: 1px solid #efd2bd; border-radius: 19px; background: linear-gradient(145deg,#fffdfbf2,#fff8efb3); box-shadow: 0 4px 9px #ad6b4010; }
#horoscope-personnalise .vchp-plan--week { background: linear-gradient(135deg,#fcf7ff,#f4ecf7); border-color: #d6bde1; }
#horoscope-personnalise .vchp-plan h4 { font: 400 18px/1.3 var(--vchp-serif); color: var(--vchp-ink); }
#horoscope-personnalise .vchp-plan-description { margin-top: 4px; font-size: 12.5px; line-height: 1.5; max-width: 180px; min-height: 38px; }
#horoscope-personnalise .vchp-price { margin: 8px 0 10px; color: #873e0f; font: 400 34px/1 var(--vchp-serif); letter-spacing: -.05em; white-space: nowrap; }
#horoscope-personnalise .vchp-button { display: inline-flex; align-items: center; justify-content: center; gap: 10px; width: 100%; min-height: 46px; margin-top: auto; padding: 8px 18px; border: 1px solid #de995f; border-radius: 999px; color: #702b13; background: linear-gradient(#fffcf6,#fff4e7); box-shadow: inset 0 0 0 2px #ffffffa8, 0 3px 7px #935e2c09; font: 400 20px/1.2 var(--vchp-serif); transition: background .2s ease, border-color .2s ease; }
#horoscope-personnalise .vchp-button:hover { border-color: #a9672c; background: #f9ecdf; }
#horoscope-personnalise .vchp-button--primary { color: #fff; background: linear-gradient(115deg,#772a96,#29124e); border-color: #502067; box-shadow: 0 4px 10px #411b6b20; }
#horoscope-personnalise .vchp-button--primary:hover { background: linear-gradient(115deg,#8738a5,#35175e); }
#horoscope-personnalise .vchp-badge { position: absolute; top: -17px; left: 50%; transform: translateX(-50%); display: flex; align-items: center; justify-content: center; gap: 6px; width: max-content; max-width: 100%; padding: 6px 15px; border-radius: 12px 12px 0 12px; background: linear-gradient(110deg,#cb8f36,#dfaa52 45%,#b4731a); color: white; box-shadow: 0 3px 8px #7a461d15; font: 600 12px/1.4 var(--vchp-sans); white-space: nowrap; }
#horoscope-personnalise .vchp-badge svg { width: 12px; height: 12px; flex-shrink: 0; }
#horoscope-personnalise .vchp-availability { width: min(1060px,78%); margin-top: 8px; padding-inline: 16px; color: #6e5376; font-size: 11px; line-height: 1.4; }

/* Découvertes : les trois cartes et leurs illustrations vectorielles. */
#horoscope-personnalise .vchp-more { position: relative; isolation: isolate; padding: 16px 0 46px; background: radial-gradient(ellipse at 0 80%,#eee3f490,transparent 45%),radial-gradient(ellipse at 100% 90%,#f1e1ef99,transparent 45%),linear-gradient(#fcf7f4,#fcf6f3); }
#horoscope-personnalise .vchp-flow { position: absolute; z-index: -1; inset: 0; width: 100%; height: 100%; pointer-events: none; }
#horoscope-personnalise .vchp-more-heading { display: flex; justify-content: center; align-items: center; gap: 22px; margin-bottom: 5px; }
#horoscope-personnalise .vchp-more-heading::before,
#horoscope-personnalise .vchp-more-heading::after { content: ''; width: 164px; height: 1px; background: #d5a171; }
#horoscope-personnalise .vchp-more-heading h3 { color: var(--vchp-ink); font: 400 42px/1.15 var(--vchp-serif); letter-spacing: -.045em; text-align: center; }
#horoscope-personnalise .vchp-more-intro { max-width: 790px; margin: 0 auto 17px; text-align: center; font-size: 18px; line-height: 1.4; text-wrap: pretty; }
#horoscope-personnalise .vchp-services { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap: 14px; }
#horoscope-personnalise .vchp-service { min-width: 0; display: grid; grid-template-columns: 116px minmax(0,1fr); grid-template-rows: auto 1fr auto; gap: 12px 25px; padding: 24px 32px 20px 42px; border: 1px solid #edd0be; border-radius: 20px; background: linear-gradient(125deg,#fffdf9ed,#fdf7f1ed); box-shadow: 0 7px 15px #7c45660b; }
#horoscope-personnalise .vchp-service-icon { grid-column: 1; grid-row: 1 / 4; width: 116px; height: 116px; }
#horoscope-personnalise .vchp-service h4 { grid-column: 2; color: var(--vchp-ink); font: 400 27px/1.02 var(--vchp-serif); letter-spacing: -.035em; }
#horoscope-personnalise .vchp-service p { grid-column: 2; font-size: 15px; line-height: 1.5; text-wrap: pretty; }
#horoscope-personnalise .vchp-service .vchp-button { grid-column: 2; min-height: 44px; font-size: 19px; }

@media (min-width: 1600px) {
  #horoscope-personnalise .vchp-stage { padding-top: 38px; padding-bottom: 30px; }
}
@media (max-width: 1350px) and (min-width: 1001px) {
  #horoscope-personnalise .vchp-offer-panel { width: 86%; grid-template-columns: minmax(0,1fr) 174px 194px; }
  #horoscope-personnalise .vchp-offer-copy { padding-left: 30px; padding-right: 24px; }
  #horoscope-personnalise .vchp-offer-copy h3 { font-size: 33px; }
  #horoscope-personnalise .vchp-service { grid-template-columns: 82px minmax(0,1fr); gap: 12px 18px; padding: 24px; }
  #horoscope-personnalise .vchp-service-icon { width: 82px; height: 82px; }
  #horoscope-personnalise .vchp-service h4 { font-size: 25px; }
}
@media (max-width: 1000px) {
  #horoscope-personnalise .vchp-shell { width: calc(100% - 48px); }
  #horoscope-personnalise .vchp-intro { padding-inline: 0; max-width: 650px; }
  #horoscope-personnalise .vchp-opening-line { margin-left: 0; }
  #horoscope-personnalise .vchp-stage::before { background: linear-gradient(90deg,#fffaf5ee,#fffaf5cc 55%,#fffaf540),linear-gradient(0deg,#fcf7f4,transparent 30%); }
  #horoscope-personnalise .vchp-title { font-size: 46px; line-height: 1.03; }
  #horoscope-personnalise .vchp-description { max-width: 560px; font-size: 17px; }
  #horoscope-personnalise .vchp-offer-panel { width: 100%; grid-template-columns: minmax(0,1fr) 154px 170px; gap: 13px; padding: 17px; margin-top: 30px; }
  #horoscope-personnalise .vchp-offer-copy { padding: 12px 20px 12px 12px; margin-right: 0; }
  #horoscope-personnalise .vchp-label { font-size: 11px; }
  #horoscope-personnalise .vchp-offer-copy h3 { font-size: 30px; }
  #horoscope-personnalise .vchp-offer-copy > p:last-child { font-size: 15px; }
  #horoscope-personnalise .vchp-plan { padding-inline: 10px; }
  #horoscope-personnalise .vchp-badge { font-size: 10px; padding-inline: 11px; }
  #horoscope-personnalise .vchp-availability { width: 100%; }
  #horoscope-personnalise .vchp-more-heading { gap: 16px; }
  #horoscope-personnalise .vchp-more-heading::before,
  #horoscope-personnalise .vchp-more-heading::after { width: 70px; }
  #horoscope-personnalise .vchp-more-heading h3 { font-size: 35px; }
  #horoscope-personnalise .vchp-more-intro { font-size: 17px; max-width: 680px; margin-bottom: 22px; }
  #horoscope-personnalise .vchp-services { grid-template-columns: 1fr; gap: 16px; }
  #horoscope-personnalise .vchp-service { grid-template-columns: 104px minmax(0,1fr); padding: 24px 30px; gap: 10px 26px; }
  #horoscope-personnalise .vchp-service-icon { width: 104px; height: 104px; }
  #horoscope-personnalise .vchp-service h4 { font-size: 28px; }
  #horoscope-personnalise .vchp-service h4 br { display: none; }
  #horoscope-personnalise .vchp-service .vchp-button { max-width: 250px; }
}
@media (max-width: 600px) {
  #horoscope-personnalise .vchp-shell { width: calc(100% - 36px); }
  #horoscope-personnalise .vchp-stage { padding: 175px 0 18px; }
  #horoscope-personnalise .vchp-background { height: 290px; object-position: 73% center; }
  #horoscope-personnalise .vchp-stage::before { background: linear-gradient(0deg,#fcf7f4 calc(100% - 265px),#fcf7f4ed calc(100% - 205px),#fcf7f400 calc(100% - 90px)); }
  #horoscope-personnalise .vchp-opening-line { width: 160px; margin-bottom: 14px; }
  #horoscope-personnalise .vchp-kicker { max-width: 330px; font-size: 16px; letter-spacing: .2em; line-height: 1.45; }
  #horoscope-personnalise .vchp-title { margin: 14px 0; font-size: clamp(34px,9vw,40px); line-height: 1.05; letter-spacing: -.035em; text-wrap: pretty; }
  #horoscope-personnalise .vchp-title > span { display: inline; }
  #horoscope-personnalise .vchp-description { font-size: 16px; line-height: 1.6; }
  #horoscope-personnalise .vchp-description span + span { margin-top: 7px; }
  #horoscope-personnalise .vchp-offer-panel { grid-template-columns: repeat(2,minmax(0,1fr)); gap: 27px 12px; margin-top: 25px; padding: 20px 14px 14px; border-radius: 21px; }
  #horoscope-personnalise .vchp-offer-decoration { width: 100%; opacity: .4; }
  #horoscope-personnalise .vchp-offer-copy { grid-column: 1 / -1; padding: 3px 5px 19px; }
  #horoscope-personnalise .vchp-offer-copy::after { inset: auto 5px 0; width: auto; height: 1px; background: linear-gradient(90deg,#ddaa78,transparent); }
  #horoscope-personnalise .vchp-divider-star { display: none; }
  #horoscope-personnalise .vchp-label { font-size: 10px; letter-spacing: .15em; }
  #horoscope-personnalise .vchp-offer-copy h3 { font-size: 30px; line-height: 1.12; }
  #horoscope-personnalise .vchp-offer-copy > p:last-child { font-size: 15px; line-height: 1.55; }
  #horoscope-personnalise .vchp-plan { padding: 18px 9px 10px; border-radius: 16px; }
  #horoscope-personnalise .vchp-plan h4 { font-size: 17px; }
  #horoscope-personnalise .vchp-plan-description { font-size: 12px; line-height: 1.5; min-height: 54px; }
  #horoscope-personnalise .vchp-price { font-size: 31px; margin-top: 10px; }
  #horoscope-personnalise .vchp-plan .vchp-button { min-height: 46px; padding-inline: 12px; font-size: 18px; }
  #horoscope-personnalise .vchp-badge { font-size: 9px; gap: 4px; padding: 6px 8px; top: -14px; }
  #horoscope-personnalise .vchp-badge svg { width: 10px; height: 10px; }
  #horoscope-personnalise .vchp-availability { font-size: 10px; padding-inline: 3px; line-height: 1.5; }
  #horoscope-personnalise .vchp-more { padding: 20px 0 34px; }
  #horoscope-personnalise .vchp-more-heading { gap: 8px; }
  #horoscope-personnalise .vchp-more-heading::before,
  #horoscope-personnalise .vchp-more-heading::after { width: 22px; flex-shrink: 0; }
  #horoscope-personnalise .vchp-more-heading h3 { font-size: 32px; line-height: 1.08; text-wrap: balance; }
  #horoscope-personnalise .vchp-more-intro { margin-top: 13px; margin-bottom: 22px; font-size: 15px; line-height: 1.6; }
  #horoscope-personnalise .vchp-service { grid-template-columns: 72px minmax(0,1fr); padding: 22px 17px; gap: 12px 17px; border-radius: 19px; }
  #horoscope-personnalise .vchp-service-icon { width: 72px; height: 72px; }
  #horoscope-personnalise .vchp-service h4 { font-size: 25px; line-height: 1.06; }
  #horoscope-personnalise .vchp-service p { grid-column: 1 / -1; font-size: 15px; line-height: 1.6; }
  #horoscope-personnalise .vchp-service .vchp-button { grid-column: 1 / -1; max-width: none; min-height: 46px; }
  #horoscope-personnalise .vchp-service-icon { grid-row: 1; }
}
@media (prefers-reduced-motion: reduce) {
  #horoscope-personnalise .vchp-button { transition: none; }
}
