/* Eva — violet, citron and gentle complementary colours, October 2026.
   Loaded last; scoped to Eva so the other Everymo universes keep their identity. */
body.eva-vibrant {
  --eva-purple: #32144c;
  --eva-violet: #744297;
  --eva-lemon: #dfff53;
  --eva-lilac: #f2e8fb;
  --eva-rose: #fce8f0;
  --eva-apricot: #fff0df;
  --eva-citrus: #f5f9d9;
  --panel-neon: #bd94d5;
  --panel-glow: #a371c01b;
}
body.eva-vibrant.eva-pastel {
  --petrol: #32144c;
  --lime: #dfff53;
  --soft: #fbf7fd;
  --eva-neon: #dfff53;
}
body.eva-vibrant .em-booking-eva {
  --booking-neon: #dfff53;
  --booking-bg: #32144c;
  --booking-glow: #a66cd52b;
}
body.eva-vibrant.eva-pastel main > .hero,
body.eva-vibrant.eva-pastel .journal-heading {
  background: radial-gradient(ellipse at 100% 0, #f2e8fb 0, transparent 62%);
}
body.eva-vibrant.eva-pastel main > .hero > h1,
body.eva-vibrant.eva-pastel .journal-heading h1 { color: var(--eva-purple); }
body.eva-vibrant.eva-pastel main > .hero h1 em,
body.eva-vibrant.eva-pastel .journal-intro h1 em,
body.eva-vibrant.eva-pastel .section > h2 em,
body.eva-vibrant.eva-pastel .section-head h2 em,
body.eva-vibrant.eva-pastel .feature-text h2 em { color: var(--eva-violet); }
body.eva-vibrant.eva-pastel main > .hero > .eyebrow,
body.eva-vibrant.eva-pastel .feature-text > .eyebrow,
body.eva-vibrant.eva-pastel .journal-heading > .eyebrow,
body.eva-vibrant.eva-pastel .section > .eyebrow { color: #744297; }

/* A single, full portrait between the introduction and the booking action. */
body.eva-vibrant #main .eva-profile-hero { max-width: 1120px; margin-inline: auto; }
body.eva-vibrant #main .eva-profile-hero .eva-intro-portrait {
  width: min(100%, 520px);
  height: auto;
  margin: 30px auto 22px;
  padding: 6px;
  border: 1px solid #b998d0 !important;
  border-radius: 24px !important;
  background: #32144c;
  box-sizing: border-box;
  overflow: hidden;
}
body.eva-vibrant #main .eva-profile-hero .eva-intro-portrait > img {
  display: block;
  width: 100%;
  height: auto !important;
  min-height: 0;
  max-height: none !important;
  object-fit: contain;
  outline: 0;
  border-radius: 18px !important;
  box-shadow: none !important;
}
body.eva-vibrant #eva-reservation-priority { width: min(100%, 520px); margin: 0 auto 12px; }
body.eva-vibrant #eva-reservation-priority .em-eva-action {
  display: flex;
  width: 100%;
  min-height: 56px;
  padding: 17px 20px;
  gap: 12px;
  box-sizing: border-box;
  text-align: center;
  font-weight: 650;
  border-radius: 18px;
  background: var(--eva-lemon);
  color: var(--eva-purple);
  border-color: var(--eva-purple);
  box-shadow: 0 5px 18px #32144c14;
}
body.eva-vibrant #main .feature.eva-biography {
  display: block;
  width: min(100%, 900px);
  margin-inline: auto;
  background: transparent;
}
body.eva-vibrant #main .eva-biography .feature-text { background: var(--eva-lilac); }

/* Coloured reading cards keep their text dark and their photographs untouched. */
body.eva-vibrant.eva-pastel main :is(.feature-text, .text-tiles > article, .timeline > article, .detail-panel) {
  background: var(--eva-lilac);
  color: #392747;
  border-color: #c3a1d8 !important;
  border-radius: 18px;
}
body.eva-vibrant.eva-pastel main :is(.feature-text, .text-tiles > article, .timeline > article, .detail-panel) p { color: #55425e; }
body.eva-vibrant.eva-pastel main :is(.text-tiles > article, .timeline > article):nth-child(3n + 2) {
  background: var(--eva-rose);
  border-color: #e2afc5 !important;
  --frame-neon: #ef9ac5;
}
body.eva-vibrant.eva-pastel main :is(.text-tiles > article, .timeline > article):nth-child(3n) {
  background: var(--eva-apricot);
  border-color: #e7bc90 !important;
  --frame-neon: #efb66d;
}
body.eva-vibrant.eva-pastel main .moving-frame { --frame-neon: #bd94d5; }
body.eva-vibrant.eva-pastel main :is(.cards, .service-cards, .new-products) > .card {
  background: #fff9fd !important;
  border: 1px solid #e4cce9 !important;
  border-radius: 20px;
}
body.eva-vibrant.eva-pastel main :is(.cards, .service-cards, .new-products) > .card:nth-child(3n + 2) { background: #fff7ec !important; }
body.eva-vibrant.eva-pastel main :is(.cards, .service-cards, .new-products) > .card:nth-child(3n) { background: var(--eva-citrus) !important; }
body.eva-vibrant.eva-pastel main .service-practical,
body.eva-vibrant.eva-pastel main .em-choice-help { background: var(--eva-citrus); border-color: #bac773; border-radius: 16px; }
body.eva-vibrant.eva-pastel main .service-practical { padding: 20px; }
body.eva-vibrant.eva-pastel .journal-card-copy { background: #fcf6ff; border-radius: 0 0 16px 16px; }
body.eva-vibrant.eva-pastel .testimony-card:nth-child(3n + 2) { background: var(--eva-rose); }
body.eva-vibrant.eva-pastel .testimony-card:nth-child(3n) { background: var(--eva-citrus); }
body.eva-vibrant.eva-pastel .journal-end { background: var(--eva-lilac); border-color: #c3a1d8; }
body.eva-vibrant.eva-pastel main .button,
body.eva-vibrant .em-quick-actions .em-eva-action {
  background: var(--eva-purple);
  color: #fffaf2;
  border-color: var(--eva-purple);
  border-radius: 14px;
  box-shadow: 0 4px 14px #32144c18;
}
body.eva-vibrant.eva-pastel main .button.light { background: var(--eva-lemon); color: var(--eva-purple); }
body.eva-vibrant.eva-pastel main .text-link { border-color: #b58bcf; text-decoration-color: #8d5ca9; }
body.eva-vibrant .em-page-guide > a:not(.em-booking-link) { background: #f6effb; color: #4d2a65; border-color: #d0b7df; }
body.eva-vibrant .em-page-guide > a:nth-of-type(3) { background: #fff0df; }
body.eva-vibrant .em-page-guide > a:nth-of-type(4) { background: #fce8f0; }
body.eva-vibrant #referral-booking[data-universe="eva"] {
  --booking-accent: #32144c;
  --booking-bg: #f7f0fc;
  --booking-ink: #392747;
  border-color: #c3a1d8;
}
body.eva-vibrant #referral-booking[data-universe="eva"] .booking-submit { background: var(--eva-lemon); color: var(--eva-purple); }

/* The Refuge remains quiet during listening; brighter accents live on actions. */
body.eva-vibrant.catalogue-page .tabs button[aria-selected="true"],
body.eva-vibrant.catalogue-page .purchase .button,
body.eva-vibrant.catalogue-page .welcome-copy > .button {
  background: var(--eva-lemon); color: var(--eva-purple); border-color: var(--eva-purple);
}
body.eva-vibrant.catalogue-page .meditation { border-color: #ceb4df; }
body.eva-vibrant.catalogue-page .meditation:nth-child(3n + 2) .card-copy { background: #faf1ff; }
body.eva-vibrant.catalogue-page .meditation:nth-child(3n) .card-copy { background: #fff5e9; }
body.eva-vibrant.catalogue-page .art .duration,
body.eva-vibrant.meditation-page .duration-label { background: var(--eva-citrus); color: var(--eva-purple); }
body.eva-vibrant.meditation-page .listening-card { border-color: #c9a8dd; }
body.eva-vibrant.meditation-page .after-listening .paper:first-child { background: #faf1ff; }
body.eva-vibrant.meditation-page .after-listening .paper:last-child { background: #fff5e9; }
body.eva-vibrant.journey-page .journey-action { background: var(--eva-citrus); }
body.eva-vibrant.journey-page .journey-after { background: var(--eva-rose); }
body.eva-vibrant.breathing-page .breathing-frame { border-color: #c9a8dd; }
body.eva-vibrant .choices button[aria-pressed="true"] { background: #f2e8fb; border-color: #744297; color: #32144c; }

/* Eva's learning, gemstone and recruitment pages share the same accent pair. */
body.eva-vibrant #formation-content .btn:not(.btn-outline) { background: var(--eva-purple); border-color: var(--eva-purple); color: #fffaf2; }
body.eva-vibrant #formation-content :is(.hero-actions, .enroll-action, .price-card) .btn:not(.btn-outline) { background: var(--eva-lemon); color: var(--eva-purple); }
body.eva-vibrant #gemstones .gem-hero-copy { background: #32144c; }
body.eva-vibrant #gemstones .gem-hero h1 em { color: #dfff53; }
body.eva-vibrant #gemstones .gem-detail-copy h1 { color: #583071; }
body.eva-vibrant #gemstones .gem-purchase { background: #f2e8fb; border-color: #c3a1d8; }
body.eva-vibrant #gemstones .gem-buy { background: #dfff53; color: #32144c !important; border-radius: 12px; }
body.eva-vibrant.commercial.eva .c-btn:not(.secondary) { background: #32144c; border-color: #32144c; color: #fffaf2; }
body.eva-vibrant.commercial.eva .c-hero .c-btn:not(.secondary) { background: #dfff53; color: #32144c; }

body.eva-vibrant main :is(a, button, summary):focus-visible { outline: 3px solid #a569bf; outline-offset: 4px; }
body.eva-vibrant #eva-reservation-priority a:hover { background: #e9ff8a; }
@media (max-width: 600px) {
  body.eva-vibrant #main .eva-profile-hero .eva-intro-portrait { margin: 24px auto 18px; padding: 4px; border-radius: 20px !important; }
  body.eva-vibrant #main .eva-profile-hero .eva-intro-portrait > img { border-radius: 16px !important; }
  body.eva-vibrant #eva-reservation-priority .em-eva-action { font-size: 1rem; line-height: 1.45; }
}
