
/* Safe shared public header + page utilities */
*, *::before, *::after { box-sizing: border-box; }
:root {
  --rz-font: "DM Sans", -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
  --rz-font: "Cormorant Garamond", Georgia, serif;
  --bg: #fafaf8; --bg2: #f2f0ea; --bg3: #ffffff;
  --text: #1a1a18; --text2: #6b6b67; --text3: #a8a89f;
  --border: rgba(0,0,0,0.09); --border2: rgba(0,0,0,0.16);
  --gold: #b8975a; --gold-light: #f5ede0; --radius: 14px;
}
body { margin: 0; background: var(--bg); color: var(--text); min-height: 100vh; }
.container { max-width: 1140px; margin: 0 auto; padding: 0 36px; }
nav { border-bottom: 0.5px solid var(--border); background: var(--bg); position: sticky; top: 0; z-index: 100; }
.nav-inner { display: flex; align-items: center; justify-content: space-between; height: 60px; gap: 16px; }
.logo { font-size: 14px; font-weight: 500; letter-spacing: 0.2em; text-transform: uppercase; color: var(--text); text-decoration: none; white-space: nowrap; }
.logo span { color: var(--gold); }
.nav-links { display: flex; gap: 24px; }
.nav-links a { font-size: 11px; letter-spacing: 0.12em; text-transform: uppercase; color: var(--text2); text-decoration: none; cursor: pointer; white-space: nowrap; }
.nav-links a:hover { color: var(--text); }
.nav-search { display: flex; align-items: center; gap: 8px; border: 0.5px solid var(--border2); border-radius: 99px; padding: 7px 16px; background: var(--bg3); min-width: 0; }
.nav-search svg { width: 14px; height: 14px; stroke: var(--text3); fill: none; flex-shrink: 0; }
.nav-search input { border: none; outline: none; background: transparent; font-size: 12px; color: var(--text); width: 160px; min-width: 0; }
.nav-search input::placeholder { color: var(--text3); }
.lang-select { font-size: 11px; letter-spacing: 0.08em; text-transform: uppercase; color: var(--text2); border: 0.5px solid var(--border2); border-radius: 99px; padding: 6px 10px; background: var(--bg3); outline: none; cursor: pointer; }
.nav-burger { display: none; flex-direction: column; gap: 5px; cursor: pointer; padding: 4px; }
.nav-burger span { display: block; width: 22px; height: 1.5px; background: var(--text); border-radius: 2px; }
.mobile-menu { display: none; position: fixed; inset: 0; z-index: 200; background: var(--bg); flex-direction: column; padding: 24px 24px 40px; }
.mobile-menu.open { display: flex; }
.mm-header { display: flex; align-items: center; justify-content: space-between; margin-bottom: 32px; }
.mm-close { font-size: 24px; cursor: pointer; color: var(--text2); background: none; border: none; }
.mm-links { display: flex; flex-direction: column; gap: 4px; margin-bottom: 28px; }
.mm-links a { font-size: 22px; font-weight: 300; color: var(--text); text-decoration: none; padding: 10px 0; border-bottom: 0.5px solid var(--border); }
.mm-search { display: flex; align-items: center; gap: 10px; border: 0.5px solid var(--border2); border-radius: 12px; padding: 12px 16px; background: var(--bg3); }
.mm-search svg { width: 16px; height: 16px; stroke: var(--text3); fill: none; }
.mm-search input { border: none; outline: none; background: transparent; font-size: 14px; color: var(--text); flex: 1; }
@media (max-width: 768px) {
  .container { padding: 0 20px; }
  .nav-links, .nav-search, nav .lang-select { display: none; }
  .nav-burger { display: flex; }
}

/* FIX84 unified footer final */
.site-footer {
  margin-top: 72px !important;
  border-top: 1px solid #eee8dd !important;
  background: rgba(255, 255, 255, .92) !important;
}

.site-footer .footer-inner {
  max-width: 1220px !important;
  height: 72px !important;
  margin: 0 auto !important;
  padding: 0 24px !important;
  display: grid !important;
  grid-template-columns: 220px 1fr 80px !important;
  align-items: center !important;
  gap: 24px !important;
}

.site-footer .footer-brand {
  color: #777 !important;
  font-size: 14px !important;
  letter-spacing: .18em !important;
  text-transform: uppercase !important;
}

.site-footer .footer-brand span {
  color: #b9975b !important;
}

.site-footer .footer-text {
  color: #9a9a9a !important;
  font-size: 12px !important;
  text-align: center !important;
}

.site-footer .footer-year {
  color: #9a9a9a !important;
  font-size: 12px !important;
  text-align: right !important;
}

@media (max-width: 700px) {
  .site-footer .footer-inner {
    height: auto !important;
    padding: 24px !important;
    grid-template-columns: 1fr !important;
    text-align: center !important;
  }

  .site-footer .footer-text,
  .site-footer .footer-year {
    text-align: center !important;
  }
}


/* Rosenauer footer brand link fix */
.rz-unified-footer__brand,
.rz-unified-footer__brand:visited,
.rz-unified-footer__brand:hover,
.rz-unified-footer__brand:active {
  text-decoration: none !important;
  color: inherit;
}

/* Footer links underline fix */
.rz-unified-footer a,
.rz-unified-footer a:visited,
.rz-unified-footer a:hover,
.rz-unified-footer a:active,
.rz-unified-footer__text a,
.rz-unified-footer__text a:visited,
.rz-unified-footer__text a:hover,
.rz-unified-footer__text a:active,
footer a,
footer a:visited,
footer a:hover,
footer a:active {
  text-decoration: none !important;
  border-bottom: 0 !important;
  box-shadow: none !important;
  color: inherit !important;
}

/* === Rozenauer UI polish 2026-06-22 === */
:root {
  --rz-font-main: Inter, -apple-system, BlinkMacSystemFont, "Segoe UI", Arial, sans-serif;
  --rz-font-accent: "Cormorant Garamond", Georgia, "Times New Roman", serif;
}

html,
body,
button,
input,
select,
textarea {
  font-variant-numeric: lining-nums tabular-nums;
}

h1,
h2,
h3,
.hero-title,
.card-title,
.product-title,
.detail-title {
  letter-spacing: -0.02em;
}

.price,
.card-price,
.detail-price,
.stat-value,
.hero-stat-value {
  font-variant-numeric: lining-nums tabular-nums;
  letter-spacing: -0.02em;
}

.brand-chips,
.brand-filters,
.quick-filters {
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
  align-items: center;
}

.brand-chips button,
.brand-filters button,
.quick-filters button,
.filter-chip,
.chip {
  min-height: 34px;
  border-radius: 999px;
  padding: 8px 15px;
  letter-spacing: 0.08em;
  font-size: 11px;
  text-transform: uppercase;
  transition: border-color .2s ease, background .2s ease, color .2s ease, transform .2s ease;
}

.brand-chips button:hover,
.brand-filters button:hover,
.quick-filters button:hover,
.filter-chip:hover,
.chip:hover {
  transform: translateY(-1px);
}

.rz-disclaimer {
  margin: 18px auto 28px;
  padding: 16px 20px;
  border: 1px solid rgba(184, 151, 90, .22);
  border-radius: 18px;
  background: linear-gradient(135deg, rgba(255,255,255,.92), rgba(250,247,240,.78));
  color: #777;
  font-size: 12px;
  line-height: 1.65;
}

.rz-disclaimer strong {
  color: #1f1f1d;
  font-weight: 600;
}

.open-price-label,
.stat-open-price,
.hero-open-price {
  white-space: normal;
}

@media (max-width: 640px) {
  .brand-chips,
  .brand-filters,
  .quick-filters {
    gap: 8px;
  }

  .brand-chips button,
  .brand-filters button,
  .quick-filters button,
  .filter-chip,
  .chip {
    font-size: 10px;
    padding: 7px 12px;
  }

  .rz-disclaimer {
    margin: 14px 0 22px;
    padding: 14px 15px;
    font-size: 11px;
    border-radius: 14px;
  }
}


/* === Final small UI corrections === */

body,
button,
input,
select,
textarea {
  font-variant-numeric: tabular-nums lining-nums;
  font-feature-settings: "tnum" 1, "lnum" 1;
}

/* Дисклеймер в левом нижнем углу hero, прозрачнее */
.hero {
  position: relative;
}

.hero-disclaimer {
  position: absolute;
  left: 24px;
  bottom: 22px;
  max-width: 690px;
  padding: 0;
  border: 0;
  background: transparent;
  color: rgba(20, 20, 20, .48);
  font-size: 11px;
  line-height: 1.45;
  z-index: 4;
}

.hero-disclaimer strong {
  color: rgba(20, 20, 20, .62);
  font-weight: 600;
}

/* Поиск после брендов — такой же как в шапке */
.brand-search-inline {
  display: inline-flex !important;
  width: 250px;
  height: 32px;
  margin-left: 8px;
  vertical-align: middle;
  border: 0.5px solid var(--border2);
  border-radius: 99px;
  padding: 7px 14px;
  background: var(--bg3);
}

.brand-search-inline svg {
  width: 14px;
  height: 14px;
  stroke: var(--text3);
  fill: none;
  flex-shrink: 0;
}

.brand-search-inline input {
  border: none;
  outline: none;
  background: transparent;
  font-size: 12px;
  color: var(--text);
  width: 100%;
  min-width: 0;
}

.brand-search-inline input::placeholder {
  color: var(--text3);
}

@media (max-width: 640px) {
  .hero-disclaimer {
    left: 14px;
    right: 14px;
    bottom: 14px;
    max-width: none;
    font-size: 10px;
  }

  .brand-search-inline {
    display: flex !important;
    width: 100%;
    margin: 10px 0 0;
  }
}

/* === Final hero disclaimer + number baseline fix === */

/* Реальная hero-карточка должна быть позиционируемым контейнером */
.hero,
.hero-card,
.hero-section,
.hero-wrap,
.hero-inner,
section:has(.hero-disclaimer),
div:has(.hero-disclaimer) {
  position: relative !important;
}

/* Дисклеймер: левый нижний угол hero, прозрачный, не отдельный жирный блок */
.hero-disclaimer {
  position: absolute !important;
  left: 24px !important;
  bottom: 22px !important;
  top: auto !important;
  right: auto !important;
  width: auto !important;
  max-width: 680px !important;
  margin: 0 !important;
  padding: 0 !important;
  border: 0 !important;
  background: transparent !important;
  box-shadow: none !important;
  backdrop-filter: none !important;
  -webkit-backdrop-filter: none !important;
  color: rgba(20, 20, 20, .32) !important;
  font-size: 11px !important;
  line-height: 1.45 !important;
  font-weight: 400 !important;
  letter-spacing: 0 !important;
  z-index: 6 !important;
}

.hero-disclaimer strong {
  color: rgba(20, 20, 20, .46) !important;
  font-weight: 600 !important;
}

/* Фикс прыгающих цифр: все числовые блоки в один sans-serif и tabular nums */
.value-card,
.value-card *,
.stat-card,
.stat-card *,
.card-price,
.card-price *,
.product-price,
.product-price *,
.detail-price,
.detail-price *,
.price,
.price *,
[class*="price"],
[class*="price"] *,
[class*="Price"],
[class*="Price"] * {
  font-variant-numeric: tabular-nums lining-nums !important;
  font-feature-settings: "tnum" 1, "lnum" 1 !important;
}

/* Ровная базовая линия и высота у цен */
.value-card .value,
.value-card .value-main,
.value-card .value-big,
.stat-card strong,
.card-price,
.product-price,
.detail-price,
.price,
[class*="price"],
[class*="Price"] {
  line-height: 1.08 !important;
  letter-spacing: -0.01em !important;
  vertical-align: baseline !important;
  white-space: nowrap !important;
}

/* Если цена состоит из вложенных span — выравниваем */
.card-price,
.product-price,
.detail-price,
.price {
  display: inline-flex !important;
  align-items: baseline !important;
  gap: 4px !important;
}

/* Символы валюты не должны подниматься/падать отдельно */
.card-price span,
.product-price span,
.detail-price span,
.price span,
.value-card span,
.stat-card span {
  line-height: inherit !important;
  vertical-align: baseline !important;
}

@media (max-width: 640px) {
  .hero-disclaimer {
    left: 14px !important;
    right: 14px !important;
    bottom: 14px !important;
    max-width: none !important;
    font-size: 10px !important;
  }
}

/* === FINAL FIX: hero disclaimer exact position + stable numbers === */

/* Дисклеймер строго в левый нижний угол hero */
.container > .hero {
  position: relative !important;
  overflow: hidden !important;
}

.container > .hero .hero-disclaimer {
  position: absolute !important;
  left: 24px !important;
  bottom: 26px !important;
  top: auto !important;
  right: auto !important;
  max-width: 720px !important;
  margin: 0 !important;
  padding: 0 !important;
  background: transparent !important;
  border: 0 !important;
  box-shadow: none !important;
  backdrop-filter: none !important;
  -webkit-backdrop-filter: none !important;
  color: rgba(20, 20, 20, .28) !important;
  font-size: 10.5px !important;
  line-height: 1.45 !important;
  font-weight: 400 !important;
  letter-spacing: 0 !important;
  z-index: 20 !important;
  pointer-events: none !important;
}

.container > .hero .hero-disclaimer strong {
  color: rgba(20, 20, 20, .42) !important;
  font-weight: 600 !important;
}

/* Цифры: убираем прыжки, serif и разную базовую линию */
.value-main,
.value-num,
.stat-val,
.card-price,
.detail-price,
.product-price,
.item-price,
.price,
.card .price,
.product-card .price {
  font-variant-numeric: tabular-nums lining-nums !important;
  font-feature-settings: "tnum" 1, "lnum" 1 !important;
  line-height: 1 !important;
  letter-spacing: -0.01em !important;
  white-space: nowrap !important;
  vertical-align: baseline !important;
  transform: none !important;
}

/* Вложенные span / валюты — на одну линию */
.value-main *,
.value-num *,
.stat-val *,
.card-price *,
.detail-price *,
.product-price *,
.item-price *,
.price * {
  font-size: inherit !important;
  line-height: inherit !important;
  vertical-align: baseline !important;
  transform: none !important;
}

/* Карточные цены ровно по baseline */
.card-price,
.product-price,
.item-price,
.card .price,
.product-card .price {
  display: inline-flex !important;
  align-items: baseline !important;
  gap: 4px !important;
  min-height: 18px !important;
}

/* Большие цифры в статистике */
.value-main,
.value-num,
.stat-val {
  display: inline-flex !important;
  align-items: baseline !important;
  gap: 5px !important;
}

@media (max-width: 640px) {
  .container > .hero .hero-disclaimer {
    left: 14px !important;
    right: 14px !important;
    bottom: 16px !important;
    max-width: none !important;
    font-size: 10px !important;
  }
}

/* === About page premium intro === */

.about-premium-intro {
  max-width: 980px;
  margin: 44px auto 34px;
  padding: 0 0 8px;
}

.about-premium-eyebrow {
  margin-bottom: 18px;
  color: var(--gold);
  font-size: 11px;
  line-height: 1.4;
  letter-spacing: .18em;
  text-transform: uppercase;
}

.about-premium-card {
  position: relative;
  overflow: hidden;
  border: 1px solid rgba(184,151,90,.22);
  border-radius: 26px;
  padding: 42px 46px 44px;
  background:
    radial-gradient(circle at 78% 12%, rgba(184,151,90,.11), transparent 32%),
    linear-gradient(135deg, rgba(255,255,255,.96), rgba(250,247,240,.72));
  box-shadow: 0 24px 70px rgba(0,0,0,.045);
}

.about-premium-card::before {
  content: "ROSENAUER.RU";
  position: absolute;
  right: 34px;
  bottom: 24px;
  color: rgba(184,151,90,.08);
  font-size: 42px;
  font-weight: 600;
  letter-spacing: .18em;
  pointer-events: none;
}

.about-premium-kicker {
  margin-bottom: 10px;
  color: var(--gold);
  font-size: 11px;
  letter-spacing: .18em;
  text-transform: uppercase;
}

.about-premium-title {
  max-width: 720px;
  margin: 0 0 28px;
  color: var(--text);
  font-size: 48px;
  line-height: .98;
  font-weight: 600;
  letter-spacing: -.03em;
}

.about-premium-text {
  position: relative;
  z-index: 2;
  max-width: 790px;
  color: rgba(34,34,31,.78);
  font-size: 15px;
  line-height: 1.82;
}

.about-premium-text p {
  margin: 0 0 18px;
}

.about-premium-text strong {
  color: rgba(22,22,20,.95);
  font-weight: 650;
}

.about-premium-time {
  margin-top: 28px !important;
  color: rgba(22,22,20,.86);
  font-size: 17px;
  line-height: 1.55;
}

.about-premium-time span {
  display: inline-block;
  margin-top: 8px;
  color: var(--text);
  font-size: 44px;
  line-height: 1;
  font-weight: 600;
  letter-spacing: -.02em;
}

.about-premium-final {
  margin-top: 30px !important;
  color: var(--gold);
  font-size: 13px;
  font-weight: 600;
  letter-spacing: .13em;
  text-transform: uppercase;
}

@media (max-width: 760px) {
  .about-premium-intro {
    margin: 24px auto 28px;
  }

  .about-premium-card {
    border-radius: 20px;
    padding: 28px 22px 30px;
  }

  .about-premium-card::before {
    display: none;
  }

  .about-premium-title {
    font-size: 36px;
  }

  .about-premium-text {
    font-size: 14px;
    line-height: 1.72;
  }

  .about-premium-time span {
    font-size: 36px;
  }
}

/* RZ_TYPOGRAPHY */
/* Rosenauer theme — Onest (единый изысканный шрифт, кириллица) */
:root {
  --rz-font: "Onest", -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
  --rz-sans: var(--rz-font);
  --rz-display: var(--rz-font);
}

html {
  font-family: var(--rz-font);
  font-size: 16px;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
  text-rendering: optimizeLegibility;
}

body {
  font-family: var(--rz-font) !important;
  color: var(--text, #1a1a18);
}

button, input, select, textarea {
  font-family: inherit;
}

/* ── Stats row (about, sources, index) ── */
.stats .stat,
.stat {
  display: flex;
  flex-direction: column;
  justify-content: flex-end;
  min-height: 100px;
}

.stat-label {
  min-height: 30px;
  line-height: 1.35;
  margin-bottom: 8px !important;
  display: block;
}

.stat-val {
  font-family: var(--rz-font) !important;
  font-size: 26px !important;
  font-weight: 600 !important;
  line-height: 1 !important;
  min-height: 30px;
  font-variant-numeric: tabular-nums lining-nums !important;
  font-feature-settings: "tnum" 1, "lnum" 1 !important;
  letter-spacing: -0.02em;
}

/* ── Source cards (sources page) ── */
.source-card {
  display: flex;
  flex-direction: column;
  min-height: 210px;
}

.source-top {
  min-height: 58px;
  align-items: flex-start;
}

.source-name {
  font-family: var(--rz-font) !important;
  font-size: 18px !important;
  font-weight: 600 !important;
  line-height: 1.25 !important;
  min-height: 46px;
  display: -webkit-box;
  -webkit-line-clamp: 2;
  -webkit-box-orient: vertical;
  overflow: hidden;
}

.source-meta {
  margin-top: auto;
}

.source-num {
  font-family: var(--rz-font) !important;
  font-size: 18px !important;
  font-weight: 600 !important;
  line-height: 1.2 !important;
  min-height: 22px;
  font-variant-numeric: tabular-nums lining-nums !important;
  font-feature-settings: "tnum" 1, "lnum" 1 !important;
}

.source-label {
  min-height: 14px;
}

/* ── About premium block ── */
.about-premium-v2-title,
.about-premium-v2-time span,
.page-title,
.hero-title,
.info-title,
.value-main,
.price-main,
.sc-count {
  font-family: var(--rz-font) !important;
  font-weight: 600 !important;
  letter-spacing: -0.02em;
}

.about-premium-v2-eyebrow,
.about-premium-v2-kicker,
.about-premium-v2-text,
.page-sub,
.hero-sub,
.feature-card p {
  font-family: var(--rz-font) !important;
}

/* ── Index cards ── */
.cf {
  display: flex !important;
  flex-direction: column !important;
  align-items: flex-start !important;
  gap: 5px !important;
}

.cf-price,
.cf2-price {
  display: block !important;
  width: 100% !important;
  font-family: var(--rz-font) !important;
  font-size: 14px !important;
  font-weight: 600 !important;
  line-height: 1.3 !important;
  font-variant-numeric: tabular-nums lining-nums !important;
  font-feature-settings: "tnum" 1, "lnum" 1 !important;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
  max-height: none !important;
  min-height: auto !important;
}

.cf-src {
  width: 100%;
  max-width: 100%;
  font-size: 10px;
  overflow: hidden;
}

.value-num {
  font-family: var(--rz-font) !important;
  font-variant-numeric: tabular-nums lining-nums !important;
  font-weight: 600 !important;
}

/* Feature cards about */
.feature-card {
  display: flex;
  flex-direction: column;
  min-height: 160px;
}

.feature-card h3 {
  min-height: 40px;
  line-height: 1.3;
  font-weight: 600;
}

.card:hover,
.sc:hover,
.source-card:hover {
  transform: none !important;
}

@media (max-width: 768px) {
  body.mobile-grid-two-real #grid.grid .cf {
    flex-direction: column !important;
    align-items: flex-start !important;
  }

  body.mobile-grid-two-real #grid.grid .cf-src {
    max-width: 100% !important;
  }

  .stat-val {
    font-size: 22px !important;
  }
}

