/* Horoscope Annuel V3 : règles de la maquette, limitées à la composition annuelle. */
.vch-annual-v3 {
  --prune: #44205c;
  --violet: #391160;
  --encre: #493550;
  --or: #b88646;
  --or-texte: #865928;
  --filet: #c6a36e8c;
  --serif: Georgia, 'Times New Roman', serif;
  --sans: Manrope, Arial, sans-serif;
  --atmosphere-annuelle: radial-gradient(at 10% 80%, color(srgb 0.12549 0.109804 0.560784 / 0.13), rgba(0, 0, 0, 0) 51%), radial-gradient(at 80% 10%, color(srgb 0.772549 0.713726 0.839216 / 0.62), rgba(0, 0, 0, 0) 57%), linear-gradient(145deg, rgb(253, 235, 201), rgb(239, 228, 219) 58%, rgb(204, 207, 250));
  max-inline-size: none;
  line-height: normal;
}
.vch-annual-v3, .vch-annual-v3 *, .vch-annual-v3 *::before, .vch-annual-v3 *::after { box-sizing: border-box; }
/* Les groupes Gutenberg ajoutent un rythme de blocs. Le folio applique ses propres espacements. */
.vch-annual-v3 .annual-intro > .vc-celestial-periods,
.vch-annual-v3 > .annual-folio { margin-block: 0; }
.vch-annual-v3 .annual-folio > .annual-chapter { margin-block-start: 0; }
.vch-annual-v3 :is(.annual-identity,.annual-sign,.annual-sign-copy,.annual-vibration,.annual-rating-value,
  .annual-transits,.annual-counsel,.annual-counsel-copy,.chapter-heading) > * { margin-block-start: 0; }
.vch-annual-v3 .annual-rating-value > p,
.vch-annual-v3 .annual-consult { margin: 0; }
.vch-annual-v3 .annual-copy { max-inline-size: 820px; }
.vch-annual-v3 .annual-sign .vch-image-unavailable { display: block; font-size: 13px; overflow-wrap: anywhere; }

.vch-annual-v3 {
  padding: clamp(20px, 2.5vw, 34px) 0 30px;
  background:
    radial-gradient(ellipse at 0 7%, #e6d6f391, transparent 34%),
    radial-gradient(ellipse at 100% 27%, #f8e5ec70, transparent 37%),
    radial-gradient(ellipse at 0 85%, #eadcf58c, transparent 28%),
    linear-gradient(180deg, #fffbf5, #faf4fa 56%, #fff8f1);
  font-family: var(--serif);
}
.vch-annual-v3 .annual-intro { inline-size: min(1180px, calc(100% - 44px)); margin: 0 auto 25px; }
.vch-annual-v3 .vch-page-intro { text-align: center; margin: 0 0 26px; }
.vch-annual-v3 .vch-eyebrow,
.vch-annual-v3 .vch-ornament {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 12px;
  margin: 0 auto;
}
.vch-annual-v3 .vch-eyebrow { font-size: 19px; color: #98682f; letter-spacing: .07em; }
.vch-annual-v3 .vch-eyebrow::before,
.vch-annual-v3 .vch-eyebrow::after,
.vch-annual-v3 .vch-ornament::before,
.vch-annual-v3 .vch-ornament::after {
  content: '';
  block-size: 1px;
  background: linear-gradient(90deg, transparent, #c9a56b, transparent);
}
.vch-annual-v3 .vch-eyebrow::before,
.vch-annual-v3 .vch-eyebrow::after { inline-size: 50px; }
.vch-annual-v3 .vch-horoscope-title {
  margin: 5px 0 0;
  color: var(--violet);
  font: 400 clamp(30px, 4.4vw, 58px)/1.1 var(--serif);
  letter-spacing: -.045em;
  text-transform: uppercase;
}
.vch-annual-v3 .vch-ornament { max-inline-size: 550px; margin-top: 12px; color: var(--or); font-size: 20px; line-height: 1; }
.vch-annual-v3 .vch-ornament::before,
.vch-annual-v3 .vch-ornament::after { flex: 1; }

.vch-annual-v3 .annual-folio {
  position: relative;
  isolation: isolate;
  inline-size: min(1040px, calc(100% - 72px));
  margin-inline: auto;
  padding: 0 clamp(22px, 5vw, 70px) 28px;
  border-block-start: 6px solid #c2934d;
  color: var(--prune);
}
.vch-annual-v3 .annual-folio::before {
  content: '';
  position: absolute;
  inset: 0;
  z-index: -1;
  background: var(--atmosphere-annuelle);
  mask-image: linear-gradient(#000 calc(100% - 13px), transparent);
}
.vch-annual-v3 .annual-identity {
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  gap: clamp(12px, 2.6vw, 36px);
  align-items: center;
  max-inline-size: 976px;
  margin-inline: auto;
  padding-block: clamp(18px, 2.1vw, 30px);
}
.vch-annual-v3 .annual-sign { display: flex; align-items: center; gap: clamp(12px, 2.3vw, 32px); min-inline-size: 0; }
.vch-annual-v3 .annual-sign figure { flex: 0 0 auto; margin: 0; inline-size: clamp(78px, 10.2vw, 140px); }
.vch-annual-v3 .annual-sign img { display: block; inline-size: 100%; block-size: auto; transform: translateX(-30px); }
.vch-annual-v3 .annual-sign-copy { min-inline-size: 0; }
.vch-annual-v3 .annual-year { margin: 0 0 12px; color: var(--or-texte); font-family: var(--serif); font-size: 19.2px; font-weight: 700; letter-spacing: .06em; text-align: center; transform: translateY(calc((12px - clamp(24px, 3vw, 40px)) / 2 + 2px)); }
.vch-annual-v3 .annual-sign h2 {
  margin: 0;
  font: 400 clamp(33px, 4.65vw, 64px)/.98 'Times New Roman', serif;
  letter-spacing: -.035em;
  overflow-wrap: anywhere;
}
.vch-annual-v3 .annual-dates { margin: 8px 0 0; color: #765285; font-size: 14px; letter-spacing: .05em; text-transform: uppercase; }
.vch-annual-v3 .annual-vibration {
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  align-items: center;
  gap: 0 16px;
  padding: 12px 0 12px 23px;
  border-inline-start: 1px solid var(--filet);
}
.vch-annual-v3 .annual-rating-label {
  grid-column: 1;
  margin: 0;
  max-inline-size: 145px;
  color: var(--or-texte);
  font: 600 11px/1.5 var(--sans);
  letter-spacing: .105em;
}
.vch-annual-v3 .annual-rating-value { grid-column: 2; grid-row: 1 / 3; margin: 0; display: flex; align-items: baseline; white-space: nowrap; }
.vch-annual-v3 .annual-rating-value .number { font: 400 64px/.92 'Times New Roman', serif; letter-spacing: -.05em; }
.vch-annual-v3 .annual-rating-value .out-of { color: var(--or-texte); font: 400 22px/1 var(--serif); }
.vch-annual-v3 .vch-horoscope-vibration-stars { display: flex; align-items: center; gap: 4px; margin-top: 7px; }
.vch-annual-v3 .vch-horoscope-vibration-star { display: block; color: #b28748; }
.vch-annual-v3 .vch-horoscope-vibration-star.is-inactive { color: #dbd0c4; }
.vch-annual-v3 .vch-horoscope-vibration-star svg { display: block; inline-size: 16px; block-size: 16px; fill: currentColor; }

.vch-annual-v3 .annual-chapter {
  max-inline-size: 820px;
  margin-inline: auto;
  padding-block: clamp(24px, 3vw, 40px);
  border-block-start: 1px solid var(--filet);
}
.vch-annual-v3 .chapter-heading { display: flex; align-items: center; gap: 15px; margin: 0 0 17px; }
.vch-annual-v3 .chapter-heading h2 {
  margin: 0;
  color: var(--prune);
  font: 400 clamp(22px, 2.25vw, 30px)/1.16 var(--serif);
  letter-spacing: -.025em;
  text-transform: uppercase;
  overflow-wrap: anywhere;
}
.vch-annual-v3 .chapter-heading .fgl-icon,
.vch-annual-v3 .transit-mark { display: inline-grid; place-items: center; inline-size: 43px; block-size: 43px; flex: 0 0 auto; }
.vch-annual-v3 .chapter-heading svg { display: block; inline-size: 100%; block-size: 100%; }
.vch-annual-v3 .transit-mark { border-radius: 50%; background: #fff3d8; color: #a67535; font-size: 25px; }
.vch-annual-v3 .annual-copy {
  margin: 0;
  color: var(--encre);
  font: 400 clamp(18px, 1.5vw, 21px)/1.68 var(--serif);
  overflow-wrap: anywhere;
}
.vch-annual-v3 .annual-transits .annual-copy { line-height: 1.66; color: var(--prune); }
.vch-annual-v3 .annual-counsel {
  display: grid;
  grid-template-columns: auto minmax(0, 1fr) auto;
  align-items: center;
  gap: 16px 22px;
  position: relative;
  isolation: isolate;
  max-inline-size: 976px;
  padding-block: 28px 14px;
}
.vch-annual-v3 .annual-counsel figure {
  inline-size: 96px;
  aspect-ratio: 1;
  margin: 0;
  padding: 5px;
  border: 1px solid #c79d61;
  border-radius: 50%;
  background: #fff9ee;
}
.vch-annual-v3 .annual-counsel img { display: block; inline-size: 100%; block-size: 100%; border-radius: 50%; object-fit: cover; object-position: 50% 36%; }
.vch-annual-v3 .annual-counsel h2 { margin: 0 0 7px; color: var(--prune); font: 400 clamp(20px, 1.8vw, 25px)/1.2 var(--serif); text-transform: uppercase; letter-spacing: -.025em; }
.vch-annual-v3 .annual-counsel .annual-copy { font-style: italic; color: #765285; }
.vch-annual-v3 .annual-consult > a {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-block-size: 49px;
  padding: 10px 18px;
  text-align: center;
  color: #fff;
  background: var(--prune);
  border: 1px solid #bd9559;
  border-radius: 4px;
  font: 400 17px/1.35 var(--serif);
  text-decoration: none;
}
.vch-annual-v3 .annual-consult > a:hover { background: #57336c; }
.vch-annual-v3 .annual-counsel .fgl-ornament {
  position: absolute;
  z-index: -1;
  inset: 13px 8px 0 auto;
  inline-size: 140px;
  opacity: .32;
  pointer-events: none;
}
.vch-annual-v3 .annual-counsel .fgl-ornament svg { inline-size: 100%; block-size: 100%; }

.vch-annual-v3 #horoscope-personnalise { margin-block-start: clamp(24px, 3.5vw, 48px); }
.vch-annual-v3 .annual-ending { padding: 22px 18px 0; text-align: center; color: var(--prune); }
.vch-annual-v3 .annual-ending p { margin: 0 auto; }
.vch-annual-v3 .vch-back { display: flex; justify-content: center; align-items: center; gap: 14px; max-inline-size: 600px; }
.vch-annual-v3 .vch-back::before,
.vch-annual-v3 .vch-back::after { content: ''; block-size: 1px; flex: 1; background: linear-gradient(90deg, transparent, #c3a170, transparent); }
.vch-annual-v3 .vch-back a { display: inline-flex; align-items: center; min-block-size: 44px; font-size: 17px; text-decoration: none; }
.vch-annual-v3 .vch-back a:hover { text-decoration: underline; text-underline-offset: 4px; }
.vch-annual-v3 .vch-bottom-star { color: var(--or); font-size: 26px; }

@media (max-width: 820px) {
  .vch-annual-v3 .annual-folio { inline-size: calc(100% - 38px); padding-inline: 28px; }

}
@media (max-width: 610px) {


  .vch-annual-v3 .annual-intro { inline-size: calc(100% - 24px); margin-block-end: 18px; }
  .vch-annual-v3 .vch-page-intro { margin-block-end: 16px; }
  .vch-annual-v3 .vch-eyebrow { font-size: 16px; }
  .vch-annual-v3 .vch-horoscope-title { font-size: clamp(26px, 7.3vw, 42px); }
  .vch-annual-v3 .vch-ornament { max-inline-size: 75%; font-size: 16px; margin-block-start: 7px; }
  .vch-annual-v3 .annual-folio { inline-size: calc(100% - 24px); padding: 0 18px 22px; border-block-start-width: 4px; }
  .vch-annual-v3 .annual-identity { grid-template-columns: minmax(0, 1fr); gap: 15px; padding-block: 18px; }
  .vch-annual-v3 .annual-sign { gap: 12px; }
  .vch-annual-v3 .annual-sign figure { inline-size: clamp(68px, 21vw, 104px); }
  .vch-annual-v3 .annual-sign h2 { font-size: clamp(26px, 8.4vw, 43px); }
  .vch-annual-v3 .annual-year { font-size: 16.8px; transform: translateY(-6px); }
  .vch-annual-v3 .annual-dates { margin-block-start: 6px; font-size: 11px; }
  .vch-annual-v3 .annual-vibration { border-inline-start: 0; border-block-start: 1px solid var(--filet); padding: 12px 0 1px; }
  .vch-annual-v3 .annual-rating-label { max-inline-size: none; }
  .vch-annual-v3 .annual-rating-value .number { font-size: 47px; }
  .vch-annual-v3 .annual-rating-value .out-of { font-size: 18px; }
  .vch-annual-v3 .chapter-heading { gap: 11px; margin-block-end: 13px; }
  .vch-annual-v3 .chapter-heading .fgl-icon,
  .vch-annual-v3 .transit-mark { inline-size: 37px; block-size: 37px; }
  .vch-annual-v3 .chapter-heading h2 { font-size: 21px; }
  .vch-annual-v3 .annual-copy { line-height: 1.64; }
  .vch-annual-v3 .annual-counsel { grid-template-columns: auto minmax(0, 1fr); gap: 14px; }
  .vch-annual-v3 .annual-counsel figure { inline-size: 71px; }
  .vch-annual-v3 .annual-consult { grid-column: 1 / -1; justify-self: start; }
}
@media (max-width: 350px) {



  .vch-annual-v3 .annual-folio { inline-size: calc(100% - 20px); padding-inline: 15px; }
  .vch-annual-v3 .annual-sign { gap: 10px; }
  .vch-annual-v3 .annual-sign img { transform: translateX(-20px); }
  .vch-annual-v3 .chapter-heading h2 { font-size: 20px; }
}
@media (prefers-reduced-motion: reduce) {
  .vch-annual-v3 * { scroll-behavior: auto; transition-duration: 0s; }
}
