/* Главная-каталог (22.10.2026). Цвета сайта: фиолетовый #9F3ED5, розовый #E63A9B, ночной #2a1550. Без мигания. */
.og-home { color: #2b2340; }
.og-home .container { max-width: 1200px; }
.og-h2 { font-size: 28px; line-height: 1.25; color: #2a1550; margin: 0 0 22px; text-align: center; }

.og-hero { position: relative; overflow: hidden; padding: 46px 0 34px; text-align: center; color: #fff;
  background: radial-gradient(700px 320px at 85% -10%, rgba(230, 58, 155, .45), transparent 60%),
              radial-gradient(600px 320px at 0% 120%, rgba(159, 62, 213, .55), transparent 60%),
              linear-gradient(160deg, #1f1240 0%, #3a1d6b 55%, #2a1550 100%); }
.og-hero::before { content: ""; position: absolute; inset: 0; pointer-events: none; opacity: .45;
  background-image: radial-gradient(1px 1px at 12% 22%, #fff, transparent), radial-gradient(1px 1px at 78% 18%, #fff, transparent),
    radial-gradient(1.5px 1.5px at 62% 70%, #fff, transparent), radial-gradient(1px 1px at 30% 80%, #fff, transparent),
    radial-gradient(1px 1px at 90% 60%, #fff, transparent), radial-gradient(1.5px 1.5px at 45% 35%, #fff, transparent); }
.og-hero > .container { position: relative; }
.og-home h1.og-hero__title { color: #fff; font-size: 44px; line-height: 1.15; margin: 0 0 12px; font-weight: 700; }
.og-hero__lead { max-width: 720px; margin: 0 auto 8px; font-size: 18px; line-height: 1.55; color: #eee6ff; }
.og-hero__stat { margin: 0 0 22px; font-size: 15px; color: #d9cdf5; }
.og-hero__stat strong { color: #ffd98a; font-size: 17px; }
.og-topics { display: flex; flex-wrap: wrap; justify-content: center; gap: 8px; }
.og-topic { padding: 9px 18px; border-radius: 999px; border: 1px solid rgba(255, 255, 255, .28); background: rgba(255, 255, 255, .1);
  color: #fff; font: 600 15px/1.2 inherit; cursor: pointer; text-decoration: none; transition: background .2s, border-color .2s; }
.og-topic:hover, .og-topic.is-on { background: #E63A9B; border-color: #E63A9B; color: #fff; text-decoration: none; }
.og-topic--link { border-color: #ffd98a; color: #ffd98a; }
.og-topic--link:hover { background: #ffd98a; border-color: #ffd98a; color: #2a1550; }

.og-sec { padding: 46px 0; }
.og-sec--soft { background: #f8f3fd; }

.og-grid { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 18px; }
.og-card { display: flex; flex-direction: column; background: #fff; border: 1px solid #ece4f7; border-radius: 16px; overflow: hidden;
  text-decoration: none; color: inherit; box-shadow: 0 6px 18px rgba(63, 25, 110, .06); transition: transform .2s, box-shadow .2s, border-color .2s; }
.og-card:hover { transform: translateY(-3px); border-color: #E63A9B; box-shadow: 0 12px 28px rgba(63, 25, 110, .12); text-decoration: none; color: inherit; }
.og-card[hidden] { display: none; }
.og-card__img { width: 100%; aspect-ratio: 16 / 10; object-fit: contain; display: block; padding: 10px 0; background: radial-gradient(circle at 50% 40%, #4a2585, #1f1240 75%); }
.og-card__body { display: flex; flex-direction: column; gap: 8px; padding: 14px 16px 16px; flex: 1; }
.og-card__title { font-weight: 700; font-size: 15px; line-height: 1.35; color: #2a1550; }
.og-card__meta { margin-top: auto; display: flex; flex-wrap: wrap; justify-content: space-between; gap: 4px 10px; font-size: 13px; color: #7a6a93; }
.og-card__rate { color: #c27a00; font-weight: 600; }
.og-card__rate small { color: #9a8bb0; font-weight: 400; }
.og-stars { position: relative; display: inline-block; font-size: 15px; letter-spacing: 1px; line-height: 1; color: #e3d9ef; vertical-align: -1px; }
.og-stars::before { content: "★★★★★"; }
.og-stars::after { content: "★★★★★"; position: absolute; left: 0; top: 0; width: var(--r); overflow: hidden; white-space: nowrap; color: #f5b301; }
.og-card--big .og-card__title { font-size: 16px; }

.og-ways { display: grid; grid-template-columns: repeat(auto-fill, minmax(170px, 1fr)); gap: 14px; }
.og-way { display: flex; flex-direction: column; align-items: center; gap: 6px; padding: 20px 12px; border-radius: 16px; background: #fff;
  border: 1px solid #ece4f7; text-align: center; text-decoration: none; color: #2a1550; transition: border-color .2s, transform .2s; }
.og-way:hover { border-color: #9F3ED5; transform: translateY(-2px); text-decoration: none; color: #2a1550; }
.og-way__ico { font-size: 30px; line-height: 1; color: #9F3ED5; height: 34px; display: flex; align-items: center; }
.og-way__name { font-weight: 700; font-size: 16px; }
.og-way__n { font-size: 13px; color: #7a6a93; }
.og-way--angel { background: linear-gradient(160deg, #2a1550, #3a1d6b); border-color: transparent; color: #fff; }
.og-way--angel:hover { color: #fff; border-color: #ffd98a; }
.og-way--angel .og-way__ico { color: #ffd98a; font: 700 22px/34px "Libre Franklin", Helvetica, Arial, sans-serif; }
.og-way--angel .og-way__n { color: #d9cdf5; }

.og-empty { text-align: center; color: #7a6a93; margin-top: 18px; }

.og-duo { display: grid; grid-template-columns: 1fr 1fr; gap: 20px; }
.og-angel, .og-ask { border-radius: 20px; padding: 30px 28px; text-align: center; }
.og-angel { color: #fff; background: radial-gradient(420px 220px at 90% -20%, rgba(230, 58, 155, .45), transparent 60%), linear-gradient(160deg, #1f1240, #3a1d6b); }
.og-ask { background: linear-gradient(135deg, #fff0f8, #f3e9fb); border: 1px solid #f2d3ea; }
.og-angel__kicker, .og-ask__kicker { font-size: 13px; letter-spacing: .14em; text-transform: uppercase; margin: 0 0 10px; }
.og-angel__kicker { color: #f7c3e1; }
.og-ask__kicker { color: #9F3ED5; }
.og-home p.og-angel__title, .og-home p.og-ask__title { font-size: 24px; font-weight: 700; line-height: 1.25; margin: 0 0 8px; }
.og-home p.og-angel__title { color: #fff; }
.og-home p.og-ask__title { color: #2a1550; }
.og-angel__text { color: #e9e0ff; margin: 0 0 16px; }
.og-ask__text { color: #555; margin: 0 0 16px; }
.og-angel__form { display: flex; gap: 10px; justify-content: center; flex-wrap: wrap; }
.og-angel__input { height: 50px; min-width: 140px; padding: 0 14px; border-radius: 12px; border: 0; background: #fff; color: #2a1550; font-size: 20px; font-weight: 600; }
.og-btn { height: 50px; padding: 0 26px; border: 0; border-radius: 999px; cursor: pointer; font-weight: 700; font-size: 16px; color: #fff;
  background: linear-gradient(135deg, #E63A9B, #9F3ED5); box-shadow: 0 8px 22px rgba(230, 58, 155, .3); transition: transform .2s, box-shadow .2s; }
.og-btn:hover { transform: translateY(-1px); box-shadow: 0 12px 28px rgba(230, 58, 155, .4); }

.og-blog { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 18px; }
.og-post { display: flex; flex-direction: column; background: #fff; border-radius: 16px; overflow: hidden; border: 1px solid #ece4f7; text-decoration: none; color: #2a1550; font-weight: 700; }
.og-post:hover { border-color: #E63A9B; text-decoration: none; color: #2a1550; }
.og-post img { width: 100%; aspect-ratio: 3 / 2; object-fit: cover; }
.og-post span { padding: 14px 16px; line-height: 1.4; }
.og-more { text-align: center; margin: 18px 0 0; }
.og-more a { color: #E63A9B; font-weight: 700; }

.og-seo { max-width: 900px; }
.og-seo p { font-size: 17px; line-height: 1.75; color: #333; }

@media (prefers-reduced-motion: reduce) { .og-card, .og-way, .og-btn { transition: none; } }
@media (max-width: 1100px) { .og-grid { grid-template-columns: repeat(3, minmax(0, 1fr)); } }
@media (max-width: 800px) {
  .og-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 12px; }
  .og-duo, .og-blog { grid-template-columns: 1fr; }
  .og-home h1.og-hero__title { font-size: 32px; }
}
@media (max-width: 599px) {
  .og-hero { padding: 30px 0 24px; }
  .og-hero__lead { font-size: 16px; }
  .og-topic { padding: 6px 12px; font-size: 13px; }
  .og-sec { padding: 32px 0; }
  .og-h2 { font-size: 23px; }
  .og-card__body { padding: 10px 12px 12px; }
  .og-card__title { font-size: 14px; }
  .og-card__meta { font-size: 12px; }
  .og-ways { grid-template-columns: repeat(2, 1fr); gap: 10px; }
  .og-angel, .og-ask { padding: 24px 16px; }
  .og-angel__input, .og-btn { width: 100%; }
}

/* рубрики (CAT_20261022) */
.og-hero--cat { padding: 26px 0 26px; }
.og-hero--cat .og-hero__title { font-size: 34px; }
.og-hero--cat .og-hero__lead { font-size: 16px; }
.og-crumbs { font-size: 13px; color: #cbbde6; margin: 0 0 10px; }
.og-crumbs a { color: #f7c3e1; }
.og-sec--tight { padding: 0 0 40px; }
.og-ask--wide { max-width: 900px; margin: 0 auto; }
.og-seo h2 { font-size: 26px; color: #2a1550; margin: 30px 0 12px; }
.og-seo h3 { font-size: 20px; color: #9F3ED5; margin: 22px 0 8px; }
.og-seo p, .og-seo li { font-size: 17px; line-height: 1.75; color: #333; }
.og-seo ul, .og-seo ol { margin: 10px 0 16px 24px; }
.og-seo ul { list-style: disc outside; }
.og-seo li::marker { color: #E63A9B; }
@media (max-width: 599px) { .og-hero--cat .og-hero__title { font-size: 26px; } }
/* LINKS_20261022: блоки связей на страницах гаданий и статей */
.og-related { padding: 40px 0 10px; }
.og-related .og-related__h { margin-top: 40px; }
/* GADNAV_20261022: рубрики гаданий на светлом фоне — на странице гадания */
.og-gadnav { padding: 8px 0 40px; text-align: center; }
.og-gadnav__t { margin: 0 0 12px; font: 700 15px/1.3 var(--og-sans, sans-serif); color: #2a1158; }
.og-topics--light .og-topic { background: #fff; border-color: #e3d8f3; color: #2a1158; }
.og-topics--light .og-topic:hover, .og-topics--light .og-topic.is-on { background: #E63A9B; border-color: #E63A9B; color: #fff; }
.og-topics--light .og-topic--link { border-color: #d8a93a; color: #8a5a00; }
.og-topics--light .og-topic--link:hover { background: #ffd98a; border-color: #ffd98a; color: #2a1550; }
/* STARS_GREEN_20261022: рейтинг 4,5–5 — звёзды зелёные */
.og-stars--high::after { color: #22a35a; }
