/**
 * Внутрішні сторінки (helper): тот самий клубний каркас, що index / clubarch,
 * без правил лише для головної (index-grace-home).
 */

@keyframes grace-digita-shimmer {
  0%,
  100% {
    background-position: 0% 50%;
  }
  50% {
    background-position: 100% 50%;
  }
}

/* Без зображення arch/bg.webp (лише ці підсторінки) */
body.clubarch-page.grace-subpage #oliven-main::before {
  background-image: none !important;
  opacity: 0 !important;
}

body.clubarch-page.grace-subpage #oliven-main .story {
  background: transparent;
  font-family: var(--ca-font-ui);
  color: var(--ca-text-on-dark);
  padding-bottom: 48px;
}

body.clubarch-page.grace-subpage #oliven-main .story .container {
  max-width: 1140px;
}

body.clubarch-page.grace-subpage #oliven-main .story p,
body.clubarch-page.grace-subpage #oliven-main .story li,
body.clubarch-page.grace-subpage #oliven-main .story td,
body.clubarch-page.grace-subpage #oliven-main .story th,
body.clubarch-page.grace-subpage #oliven-main .story blockquote {
  color: rgba(244, 242, 238, 0.88);
  font-family: var(--ca-font-ui);
}

body.clubarch-page.grace-subpage #oliven-main .story h1,
body.clubarch-page.grace-subpage #oliven-main .story h2,
body.clubarch-page.grace-subpage #oliven-main .story h3,
body.clubarch-page.grace-subpage #oliven-main .story h4,
body.clubarch-page.grace-subpage #oliven-main .story h5,
body.clubarch-page.grace-subpage #oliven-main .story h6 {
  font-family: var(--ca-font-serif);
  color: var(--ca-gold-bright);
}

body.clubarch-page.grace-subpage #oliven-main .story a:not(.openPopup) {
  color: var(--ca-gold-bright);
  border-bottom-color: var(--ca-gold-border);
}

body.clubarch-page.grace-subpage #oliven-main .story a:not(.openPopup):hover {
  color: #fff8e8;
}

body.clubarch-page.grace-subpage #oliven-main .story strong {
  color: #fff8e8;
}

body.clubarch-page.grace-subpage #oliven-main .story img {
  border-radius: 8px;
  box-shadow: 0 12px 40px rgba(0, 0, 0, 0.35);
}

body.clubarch-page.grace-subpage #oliven-main .story table {
  color: inherit;
}

body.clubarch-page.grace-subpage .plahka {
  background: rgba(46, 38, 31, 0.92);
  box-shadow: 0 8px 32px rgba(0, 0, 0, 0.35);
  border: 1px solid var(--ca-line);
}

body.clubarch-page.grace-subpage .plahka li {
  color: var(--ca-gold-dim) !important;
}

body.clubarch-page.grace-subpage .cifra {
  box-shadow: 0 8px 28px rgba(0, 0, 0, 0.4);
  border: 1px solid var(--ca-gold-border);
  overflow: auto;
}

body.clubarch-page.grace-subpage .cifra em {
  color: var(--ca-gold-bright);
  text-shadow: none;
}

/* Психосоматика: прибираємо маркери списку (голі <li> у .types) */
body.clubarch-page.grace-subpage #oliven-main .types,
body.clubarch-page.grace-subpage #oliven-main .types li {
  list-style: none;
  list-style-type: none;
}

body.clubarch-page.grace-subpage #oliven-main .types li::marker {
  content: none;
}

body.clubarch-page.grace-subpage #oliven-main .types li {
  margin-left: 0;
  padding-left: 0;
}

body.clubarch-page.grace-subpage #oliven-main .types h2 {
  margin-top: 1.75rem;
  margin-bottom: 1rem;
}

/* Чакри: компактні «медальйони» з золотим переливом */
body.clubarch-page.grace-subpage .cifra .digita2 {
  width: 46px !important;
  height: 46px !important;
  min-width: 46px;
  line-height: 42px !important;
  font-size: 19px !important;
  font-weight: 700;
  float: left;
  border-radius: 50%;
  border: 1px solid rgba(243, 226, 173, 0.55) !important;
  color: #1a1208 !important;
  background: linear-gradient(145deg, #3f3024 0%, #a8895c 32%, #f8ecd4 48%, #c9a66b 72%, #5c4630 100%) !important;
  background-size: 200% 200% !important;
  animation: grace-digita-shimmer 10s ease-in-out infinite;
  box-shadow:
    0 0 16px rgba(243, 226, 173, 0.28),
    inset 0 1px 0 rgba(255, 255, 255, 0.38),
    0 6px 18px rgba(0, 0, 0, 0.35);
}

/* Нумерологія: цифри 0–9 на плашках у клубному стилі */
body.clubarch-page.grace-subpage .cifra .digita {
  width: 58px !important;
  height: 58px !important;
  min-width: 58px;
  line-height: 54px !important;
  font-size: 28px !important;
  font-weight: 700;
  border-radius: 14px;
  float: left;
  border: 1px solid rgba(243, 226, 173, 0.48) !important;
  color: #140d08 !important;
  background: linear-gradient(145deg, #35291f 0%, #8f7349 30%, #f3e6c8 50%, #b89258 78%, #4a3828 100%) !important;
  background-size: 200% 200% !important;
  animation: grace-digita-shimmer 11s ease-in-out infinite;
  box-shadow: var(--ca-gold-glow), 0 10px 26px rgba(0, 0, 0, 0.38);
}

body.clubarch-page.grace-subpage .cifra strong:not(.digita):not(.digita2) {
  color: rgba(244, 242, 238, 0.95);
}

/* Нумерологія: цитата-виноска (читабельно на темному) */
body.clubarch-page.grace-subpage blockquote.grace-numerologia-callout {
  font-style: italic;
  text-align: right;
  color: rgba(244, 242, 238, 0.9);
  border: 1px solid var(--ca-line);
  border-left: 3px solid rgba(243, 226, 173, 0.45);
  border-bottom: none;
  background: rgba(28, 22, 18, 0.72);
  padding: 1.25rem 1.35rem;
  border-radius: 12px;
  margin: 1.5rem 0 2rem;
  box-shadow: 0 8px 28px rgba(0, 0, 0, 0.25);
}

body.clubarch-page.grace-subpage #oliven-main .story blockquote.grace-numerologia-callout strong {
  color: var(--ca-gold-bright);
  font-weight: 700;
}

/* Заголовки секцій як на головній (крапки + смуга), замість .goldl */
body.clubarch-page.grace-subpage .story p > strong:has(> u.goldl) {
  color: inherit;
  font-weight: 600;
}

body.clubarch-page.grace-subpage .story u.goldl {
  text-decoration: none !important;
  border: none !important;
  font-family: var(--ca-font-serif), "Noto Serif", Georgia, serif;
  font-weight: 600;
  letter-spacing: 0.14em;
  text-transform: uppercase;
  font-size: clamp(0.82rem, 2.4vw, 1.05rem);
  display: block;
  margin: 2rem 0 1rem;
  padding-top: 0.35rem;
  background: var(--ca-signature-grad);
  -webkit-background-clip: text;
  background-clip: text;
  color: transparent !important;
  -webkit-text-fill-color: transparent !important;
  filter:
    drop-shadow(1px 2px 1px rgba(38, 28, 20, 0.22))
    drop-shadow(0 3px 6px rgba(62, 42, 28, 0.18))
    drop-shadow(0 1px 12px rgba(243, 226, 173, 0.14));
}

body.clubarch-page.grace-subpage .story u.goldl::before {
  content: "";
  display: block;
  width: min(200px, 55vw);
  height: 6px;
  margin: 0 0 14px;
  background-image: radial-gradient(circle, var(--ca-gold-bright) 1.5px, transparent 2px);
  background-size: 18px 6px;
  background-repeat: repeat-x;
  background-position: 0 50%;
  opacity: 0.88;
  filter: drop-shadow(0 0 6px rgba(243, 226, 173, 0.35));
  -webkit-background-clip: border-box;
  background-clip: border-box;
}

body.clubarch-page.grace-subpage .story u.goldl::after {
  content: "";
  display: block;
  width: 56px;
  height: 2px;
  background: var(--ca-signature-grad);
  margin: 12px 0 0;
  opacity: 0.9;
  box-shadow: 0 0 12px rgba(243, 226, 173, 0.28);
  -webkit-background-clip: border-box;
  background-clip: border-box;
}

body.clubarch-page.grace-subpage .story u.goldl[style*="color:red"],
body.clubarch-page.grace-subpage .story u.goldl[style*="color: red"] {
  background: none !important;
  -webkit-text-fill-color: #ff9a9a !important;
  color: #ff9a9a !important;
  filter: none !important;
}

body.clubarch-page.grace-subpage .story u.goldl[style*="color:red"]::before,
body.clubarch-page.grace-subpage .story u.goldl[style*="color: red"]::before {
  background-image: radial-gradient(circle, #ff9a9a 1.5px, transparent 2px);
  opacity: 0.65;
}

body.clubarch-page.grace-subpage .story u.goldl[style*="color:red"]::after,
body.clubarch-page.grace-subpage .story u.goldl[style*="color: red"]::after {
  background: linear-gradient(90deg, rgba(255, 154, 154, 0.2), #ff9a9a);
}

/* Бокова панель */
body.grace-subpage #oliven-aside {
  background: linear-gradient(180deg, #3a2c24 0%, #2e221a 48%, #251a14 100%);
  border-right: 1px solid var(--ca-line, rgba(212, 197, 169, 0.28));
}

body.grace-subpage #oliven-aside .oliven-logo {
  color: var(--ca-gold-bright, #f3e2ad);
}

body.grace-subpage #oliven-aside .oliven-logo a span {
  color: var(--ca-gold, #d4c5a9) !important;
}

body.grace-subpage #oliven-aside .oliven-logo h6 {
  color: var(--ca-text-muted-dark, rgba(244, 242, 238, 0.58));
}

body.grace-subpage #oliven-aside .oliven-main-menu ul li a {
  color: var(--ca-gold-dim, #a89878);
}

body.grace-subpage #oliven-aside .oliven-main-menu ul li a:hover {
  color: var(--ca-gold-bright, #f3e2ad);
  border-bottom-color: var(--ca-gold-border, rgba(243, 226, 173, 0.45));
}

body.grace-subpage #oliven-aside .footer1 p,
body.grace-subpage #oliven-aside .footer1 a {
  color: var(--ca-text-muted-dark, rgba(244, 242, 238, 0.55)) !important;
}

body.grace-subpage #oliven-aside .separator {
  border-bottom-color: var(--ca-line, rgba(212, 197, 169, 0.28));
}

body.offcanvas.grace-subpage #oliven-aside {
  background: linear-gradient(180deg, #2a221c 0%, #1b1410 100%);
}

body.grace-subpage .oliven-nav-toggle i,
body.grace-subpage .oliven-nav-toggle i::before,
body.grace-subpage .oliven-nav-toggle i::after {
  background: var(--ca-gold-bright, #f3e2ad);
}

body.grace-subpage .oliven-nav-toggle.dark i,
body.grace-subpage .oliven-nav-toggle.dark i::before,
body.grace-subpage .oliven-nav-toggle.dark i::after {
  background: var(--ca-gold-bright, #f3e2ad);
}

/* Нижній футер сторінки */
body.clubarch-page.grace-subpage #oliven-main .footer2 {
  background: linear-gradient(180deg, rgba(30, 24, 20, 0.96) 0%, rgba(20, 16, 14, 0.98) 100%);
  border-top: 1px solid var(--ca-line);
  padding-top: 72px;
  padding-bottom: 72px;
}

body.clubarch-page.grace-subpage #oliven-main .footer2 h2,
body.clubarch-page.grace-subpage #oliven-main .footer2 h2 a {
  color: var(--ca-gold-bright);
}

body.clubarch-page.grace-subpage #oliven-main .footer2 .copyright,
body.clubarch-page.grace-subpage #oliven-main .footer2 .copyright a {
  color: var(--ca-text-muted-dark) !important;
}

body.clubarch-page.grace-subpage #oliven-main .footer2 .copyright a:hover {
  color: var(--ca-gold-bright) !important;
}

body.clubarch-page.grace-subpage #oliven-main .gift-section.gift {
  background: linear-gradient(180deg, rgba(45, 36, 30, 0.95) 0%, rgba(27, 20, 16, 0.98) 100%);
  border-top: 1px solid var(--ca-line);
}

/* Кнопки в стилі clubarch-btn-primary */
body.clubarch-page.grace-subpage a.openPopup,
body.clubarch-page.grace-subpage #oliven-main .gift .dpo,
body.clubarch-page.grace-subpage button.closePopup {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  padding: 12px 22px;
  border-radius: 12px;
  font-size: 11px;
  font-weight: 600;
  letter-spacing: 0.18em;
  text-transform: uppercase;
  text-decoration: none !important;
  color: #1a1208 !important;
  background: var(--ca-signature-grad);
  background-size: 200% 200%;
  border: 1px solid rgba(243, 226, 173, 0.35) !important;
  box-shadow: var(--ca-gold-glow), 0 10px 28px rgba(0, 0, 0, 0.4);
  transition:
    transform 0.38s cubic-bezier(0.22, 1, 0.36, 1),
    box-shadow 0.38s cubic-bezier(0.22, 1, 0.36, 1),
    filter 0.35s ease,
    background-position 0.8s ease;
  cursor: pointer;
  font-family: var(--ca-font-ui), inherit;
  margin: 6px 4px 6px 0;
  max-width: 100%;
  box-sizing: border-box;
  text-align: left;
  line-height: 1.25;
  white-space: normal;
  flex-wrap: wrap;
}

body.clubarch-page.grace-subpage a.openPopup:hover,
body.clubarch-page.grace-subpage #oliven-main .gift .dpo:hover,
body.clubarch-page.grace-subpage button.closePopup:hover {
  transform: translateY(-2px) scale(1.02);
  filter: brightness(1.08);
  background-position: 100% 50%;
  box-shadow: 0 0 44px rgba(243, 226, 173, 0.38), 0 16px 40px rgba(0, 0, 0, 0.5);
  color: #1a1208 !important;
}

body.clubarch-page.grace-subpage button.closePopup {
  appearance: none;
  -webkit-appearance: none;
  border-bottom: 1px solid rgba(243, 226, 173, 0.35) !important;
}

body.clubarch-page.grace-subpage #oliven-main .gift .dpo {
  display: block;
  width: fit-content;
  margin-left: auto;
  margin-right: auto;
}
