/* RIVNE.BIZ — design tokens + base + layout */

:root {
  /* Палітра — синій герба + золото + теплий off-white */
  --rb-bg: #f6f4ee;
  --rb-bg-alt: #efece3;
  --rb-ink: #0d1f3c;
  --rb-ink-2: #2c3e5c;
  --rb-muted: #6b7891;
  --rb-line: #d9d3c1;
  --rb-line-2: #c8c1ac;
  --rb-blue: #1f3a76;
  --rb-blue-deep: #142552;
  --rb-gold: #d4a534;
  --rb-gold-soft: #e8cf80;
  --rb-red: #b04a3a;
  --rb-paper: #ffffff;

  --rb-font-sans: 'Manrope', system-ui, -apple-system, 'Segoe UI', sans-serif;
  --rb-font-serif: 'Fraunces', 'Times New Roman', serif;
  --rb-font-mono: 'JetBrains Mono', ui-monospace, 'SF Mono', Menlo, monospace;

  --rb-radius: 4px;
  --rb-radius-lg: 10px;
  --rb-shadow: 0 1px 0 rgba(13, 31, 60, 0.04), 0 6px 22px -10px rgba(13, 31, 60, 0.18);

  --rb-container: 1320px;
  --rb-pad: clamp(20px, 4vw, 56px);
}

/* DARK */
[data-theme="dark"] {
  --rb-bg: #0c1322;
  --rb-bg-alt: #131c30;
  --rb-ink: #f3efe1;
  --rb-ink-2: #c5cad6;
  --rb-muted: #8995ab;
  --rb-line: #1f2b44;
  --rb-line-2: #2a3859;
  --rb-paper: #131c30;
  --rb-blue: #6c8ad4;
  --rb-blue-deep: #b9c8eb;
  --rb-gold: #e8cf80;
}

* { box-sizing: border-box; }
html, body { margin: 0; padding: 0; }
body {
  background: var(--rb-bg);
  color: var(--rb-ink);
  font-family: var(--rb-font-sans);
  -webkit-font-smoothing: antialiased;
  text-rendering: optimizeLegibility;
  font-size: 16px;
  line-height: 1.5;
}

button { font: inherit; color: inherit; background: none; border: 0; padding: 0; cursor: pointer; }
a { color: inherit; text-decoration: none; }
code { font-family: var(--rb-font-mono); font-size: 0.92em; }

/* container */
.rb-container, .rb-section, .rb-stats, .rb-pagehead, .rb-quote, .rb-hero, .rb-header__inner, .rb-footer__top, .rb-footer__bottom, .rb-header__strip {
  max-width: var(--rb-container);
  margin-left: auto; margin-right: auto;
  padding-left: var(--rb-pad); padding-right: var(--rb-pad);
}

/* ============ HEADER ============ */
.rb-header { position: sticky; top: 0; z-index: 50; background: color-mix(in oklab, var(--rb-bg) 92%, transparent); backdrop-filter: blur(12px); border-bottom: 1px solid var(--rb-line); }
.rb-header__inner { display: flex; align-items: center; gap: 32px; padding-top: 14px; padding-bottom: 14px; }
.rb-brand { display: flex; align-items: center; gap: 12px; }
.rb-brand__mark { color: var(--rb-blue); display: block; }
.rb-brand__type { display: flex; flex-direction: column; line-height: 1; gap: 2px; }
.rb-brand__name { font-weight: 800; letter-spacing: -0.01em; font-size: 17px; }
.rb-brand__dot { color: var(--rb-gold); }
.rb-brand__sub { font-size: 10px; letter-spacing: 0.18em; text-transform: uppercase; color: var(--rb-muted); font-weight: 500; }

.rb-nav { display: flex; gap: 4px; margin-left: auto; }
.rb-nav__link { padding: 8px 14px; border-radius: 99px; color: var(--rb-ink-2); font-size: 14px; font-weight: 500; transition: all 0.15s; }
.rb-nav__link:hover { background: var(--rb-bg-alt); color: var(--rb-ink); }
.rb-nav__link.is-active { background: var(--rb-ink); color: var(--rb-bg); }

.rb-header__actions { display: flex; align-items: center; gap: 18px; }
.rb-lang { display: flex; align-items: center; gap: 4px; font-size: 12px; font-weight: 600; letter-spacing: 0.08em; color: var(--rb-muted); }
.rb-lang button { padding: 4px 6px; border-radius: 4px; }
.rb-lang button.is-on { color: var(--rb-ink); background: var(--rb-bg-alt); }
.rb-lang__sep { opacity: 0.4; }
.rb-cta { display: inline-flex; align-items: center; gap: 6px; padding: 9px 16px; background: var(--rb-blue); color: #fff; border-radius: 99px; font-size: 13px; font-weight: 600; transition: transform 0.15s; }
.rb-cta:hover { transform: translateY(-1px); }

.rb-header__strip { display: flex; gap: clamp(16px, 3vw, 40px); padding-top: 8px; padding-bottom: 8px; border-top: 1px solid var(--rb-line); font-family: var(--rb-font-mono); font-size: 11px; color: var(--rb-muted); letter-spacing: 0.06em; overflow-x: auto; }

/* ============ HERO ============ */
.rb-hero { padding-top: clamp(40px, 6vw, 80px); padding-bottom: clamp(40px, 6vw, 80px); }
.rb-hero__grid { display: grid; grid-template-columns: 1.4fr 1fr; gap: 48px; align-items: center; }
.rb-eyebrow { display: inline-flex; align-items: center; gap: 8px; font-size: 12px; letter-spacing: 0.14em; text-transform: uppercase; color: var(--rb-muted); font-weight: 600; margin-bottom: 28px; }
.rb-eyebrow__dot { width: 6px; height: 6px; background: var(--rb-gold); border-radius: 50%; }
.rb-h1 { font-family: var(--rb-font-serif); font-weight: 400; font-size: clamp(48px, 7vw, 96px); line-height: 0.96; letter-spacing: -0.025em; margin: 0 0 28px; text-wrap: pretty; }
.rb-h1__a { display: block; color: var(--rb-ink); }
.rb-h1__b { display: block; color: var(--rb-blue); font-style: italic; }
.rb-h1--page { font-size: clamp(40px, 5.5vw, 72px); }
.rb-lead { font-size: clamp(16px, 1.4vw, 19px); line-height: 1.55; color: var(--rb-ink-2); max-width: 56ch; margin: 0 0 36px; }
.rb-hero__cta { display: flex; gap: 12px; flex-wrap: wrap; }
.rb-btn { display: inline-flex; align-items: center; gap: 8px; padding: 14px 22px; border-radius: 99px; font-size: 14px; font-weight: 600; transition: all 0.18s; }
.rb-btn--primary { background: var(--rb-ink); color: var(--rb-bg); }
.rb-btn--primary:hover { background: var(--rb-blue); transform: translateY(-1px); }
.rb-btn--ghost { background: transparent; color: var(--rb-ink); border: 1px solid var(--rb-line-2); }
.rb-btn--ghost:hover { border-color: var(--rb-ink); }

.rb-hero__meta { display: flex; gap: 24px; flex-wrap: wrap; margin-top: 36px; padding-top: 24px; border-top: 1px solid var(--rb-line); font-family: var(--rb-font-mono); font-size: 11px; color: var(--rb-muted); letter-spacing: 0.06em; }

.rb-hero__visual { position: relative; aspect-ratio: 1; display: grid; place-items: center; }
.rb-hero__crest { position: relative; z-index: 2; color: var(--rb-blue); }
.rb-hero__rings { position: absolute; inset: 0; display: grid; place-items: center; }
.rb-ring { position: absolute; border: 1px solid var(--rb-line-2); border-radius: 50%; }
.rb-ring--1 { width: 60%; height: 60%; }
.rb-ring--2 { width: 80%; height: 80%; border-style: dashed; opacity: 0.6; }
.rb-ring--3 { width: 100%; height: 100%; opacity: 0.4; }
.rb-hero__tag { position: absolute; padding: 6px 12px; background: var(--rb-paper); border: 1px solid var(--rb-line); border-radius: 99px; font-family: var(--rb-font-mono); font-size: 12px; color: var(--rb-blue); font-weight: 600; box-shadow: var(--rb-shadow); }
.rb-hero__tag--1 { top: 8%; right: 8%; }
.rb-hero__tag--2 { bottom: 14%; left: 0%; }
.rb-hero__tag--3 { bottom: 0%; right: 12%; }

/* ============ STATS ============ */
.rb-stats { padding-top: 36px; padding-bottom: 36px; border-top: 1px solid var(--rb-line); border-bottom: 1px solid var(--rb-line); }
.rb-stats__label { font-size: 11px; letter-spacing: 0.16em; text-transform: uppercase; color: var(--rb-muted); margin-bottom: 20px; font-weight: 600; }
.rb-stats__grid { display: grid; grid-template-columns: repeat(4, 1fr); gap: 32px; }
.rb-stat__num { font-family: var(--rb-font-serif); font-size: clamp(36px, 4vw, 56px); font-weight: 400; letter-spacing: -0.02em; color: var(--rb-ink); line-height: 1; }
.rb-stat__lab { font-size: 13px; color: var(--rb-muted); margin-top: 10px; max-width: 22ch; }

/* ============ SECTIONS ============ */
.rb-section { padding-top: clamp(60px, 8vw, 96px); padding-bottom: clamp(60px, 8vw, 96px); }
.rb-section--alt { background: var(--rb-bg-alt); max-width: none; padding-left: 0; padding-right: 0; }
.rb-section--alt > * { max-width: var(--rb-container); margin-left: auto; margin-right: auto; padding-left: var(--rb-pad); padding-right: var(--rb-pad); }
.rb-section__head { margin-bottom: 48px; max-width: 720px; }
.rb-h2 { font-family: var(--rb-font-serif); font-size: clamp(32px, 4vw, 52px); font-weight: 400; letter-spacing: -0.02em; line-height: 1.05; margin: 0 0 12px; }
.rb-sub { color: var(--rb-muted); font-size: 17px; max-width: 56ch; margin: 0; }

/* ============ DOMAINS ============ */
.rb-domains { display: grid; grid-template-columns: repeat(4, 1fr); gap: 1px; background: var(--rb-line); border: 1px solid var(--rb-line); border-radius: var(--rb-radius-lg); overflow: hidden; }
.rb-domain { background: var(--rb-paper); padding: 28px; text-align: left; display: flex; flex-direction: column; gap: 14px; min-height: 220px; transition: background 0.2s; position: relative; }
.rb-domain:hover { background: var(--rb-bg-alt); }
.rb-domain__row { display: flex; justify-content: space-between; align-items: center; }
.rb-domain__tag { font-family: var(--rb-font-mono); font-size: 10px; letter-spacing: 0.12em; padding: 3px 8px; background: var(--rb-ink); color: var(--rb-bg); border-radius: 3px; font-weight: 600; }
.rb-domain__count { font-family: var(--rb-font-mono); font-size: 13px; color: var(--rb-muted); }
.rb-domain__tld { font-family: var(--rb-font-serif); font-size: 28px; font-weight: 400; color: var(--rb-blue); margin-top: auto; letter-spacing: -0.01em; }
.rb-domain__purpose { font-size: 13px; color: var(--rb-ink-2); }
.rb-domain__arrow { position: absolute; bottom: 24px; right: 24px; opacity: 0; transform: translateX(-4px); transition: all 0.2s; color: var(--rb-blue); font-size: 18px; }
.rb-domain:hover .rb-domain__arrow { opacity: 1; transform: translateX(0); }

/* ============ CARDS (sections) ============ */
.rb-cards { display: grid; grid-template-columns: repeat(3, 1fr); gap: 20px; }
.rb-card { display: grid; grid-template-columns: auto 1fr auto; gap: 24px; align-items: start; padding: 28px; background: var(--rb-paper); border: 1px solid var(--rb-line); border-radius: var(--rb-radius-lg); text-align: left; transition: all 0.2s; min-height: 200px; }
.rb-card:hover { border-color: var(--rb-blue); transform: translateY(-2px); box-shadow: var(--rb-shadow); }
.rb-card__num { font-family: var(--rb-font-mono); font-size: 12px; color: var(--rb-muted); padding-top: 4px; }
.rb-card__title { font-family: var(--rb-font-serif); font-size: 26px; font-weight: 400; letter-spacing: -0.01em; margin-bottom: 10px; }
.rb-card__desc { font-size: 14px; color: var(--rb-ink-2); line-height: 1.5; margin-bottom: 18px; }
.rb-card__tags { display: flex; flex-wrap: wrap; gap: 6px; }
.rb-card__tags span { font-family: var(--rb-font-mono); font-size: 11px; padding: 3px 8px; background: var(--rb-bg-alt); border-radius: 3px; color: var(--rb-ink-2); }
.rb-card__arrow { color: var(--rb-blue); font-size: 18px; align-self: end; }

/* ============ MAP ============ */
.rb-map { display: grid; grid-template-columns: 1.5fr 1fr; gap: 32px; align-items: stretch; min-height: 480px; }
.rb-map__canvas { position: relative; background: var(--rb-paper); border: 1px solid var(--rb-line); border-radius: var(--rb-radius-lg); padding: 0; overflow: hidden; min-height: 480px; color: var(--rb-blue); }
.rb-map__svg { width: 100%; height: 100%; min-height: 480px; }
.rb-map__corner { position: absolute; font-family: var(--rb-font-mono); font-size: 10px; letter-spacing: 0.1em; color: var(--rb-muted); text-transform: uppercase; }
.rb-map__corner--tl { top: 16px; left: 16px; }
.rb-map__corner--tr { top: 16px; right: 16px; }
.rb-map__corner--bl { bottom: 16px; left: 16px; }
.rb-map__corner--br { bottom: 16px; right: 16px; }
.rb-map__info { background: var(--rb-paper); border: 1px solid var(--rb-line); border-radius: var(--rb-radius-lg); padding: 28px; display: flex; flex-direction: column; gap: 8px; }
.rb-map__h { font-size: 11px; letter-spacing: 0.14em; text-transform: uppercase; color: var(--rb-muted); font-weight: 600; }
.rb-map__name { font-family: var(--rb-font-serif); font-size: 36px; line-height: 1; letter-spacing: -0.02em; }
.rb-map__sub { font-family: var(--rb-font-mono); color: var(--rb-blue); font-size: 13px; margin-bottom: 16px; }
.rb-map__row { display: flex; justify-content: space-between; padding: 10px 0; border-top: 1px solid var(--rb-line); font-size: 13px; }
.rb-map__row span { color: var(--rb-muted); }
.rb-map__list { display: flex; flex-wrap: wrap; gap: 6px; margin-top: 16px; }
.rb-map__chip { padding: 6px 12px; border: 1px solid var(--rb-line); border-radius: 99px; font-size: 12px; transition: all 0.15s; }
.rb-map__chip:hover, .rb-map__chip.is-on { background: var(--rb-ink); color: var(--rb-bg); border-color: var(--rb-ink); }

/* ============ QUOTE ============ */
.rb-quote { padding-top: 80px; padding-bottom: 100px; text-align: center; }
.rb-quote blockquote { font-family: var(--rb-font-serif); font-size: clamp(24px, 3vw, 40px); font-weight: 400; line-height: 1.25; letter-spacing: -0.015em; max-width: 24ch; margin: 0 auto 24px; font-style: italic; }
.rb-quote cite { font-family: var(--rb-font-mono); font-style: normal; font-size: 11px; letter-spacing: 0.12em; text-transform: uppercase; color: var(--rb-muted); }

/* ============ PAGES ============ */
.rb-pagehead { padding-top: clamp(48px, 6vw, 80px); padding-bottom: clamp(32px, 4vw, 48px); border-bottom: 1px solid var(--rb-line); }

/* CHECKER */
.rb-checker { background: var(--rb-paper); border: 1px solid var(--rb-line); border-radius: var(--rb-radius-lg); padding: 24px; }
.rb-checker__row { display: flex; align-items: center; gap: 8px; flex-wrap: wrap; }
.rb-checker__input { flex: 1 1 200px; padding: 14px 16px; background: var(--rb-bg); border: 1px solid var(--rb-line); border-radius: var(--rb-radius); font-family: var(--rb-font-mono); font-size: 16px; color: var(--rb-ink); }
.rb-checker__input:focus { outline: 2px solid var(--rb-blue); outline-offset: -2px; }
.rb-checker__dot { font-family: var(--rb-font-mono); font-size: 22px; color: var(--rb-muted); }
.rb-checker__select { padding: 14px 16px; background: var(--rb-bg); border: 1px solid var(--rb-line); border-radius: var(--rb-radius); font-family: var(--rb-font-mono); font-size: 14px; color: var(--rb-ink); }
.rb-checker__hint { margin-top: 14px; font-size: 13px; color: var(--rb-ink-2); display: flex; align-items: center; gap: 8px; }
.rb-checker__status--free { color: #2e8b57; }

/* REASONS */
.rb-reasons { display: grid; grid-template-columns: repeat(3, 1fr); gap: 1px; background: var(--rb-line); border: 1px solid var(--rb-line); border-radius: var(--rb-radius-lg); overflow: hidden; }
.rb-reason { background: var(--rb-paper); padding: 32px; }
.rb-reason__num { font-family: var(--rb-font-mono); font-size: 12px; color: var(--rb-gold); margin-bottom: 16px; letter-spacing: 0.1em; }
.rb-reason__t { font-family: var(--rb-font-serif); font-size: 24px; line-height: 1.1; margin-bottom: 12px; }
.rb-reason__d { font-size: 14px; color: var(--rb-ink-2); line-height: 1.55; }

/* PLANS */
.rb-plans { display: grid; grid-template-columns: repeat(3, 1fr); gap: 16px; align-items: start; }
.rb-plan { background: var(--rb-paper); border: 1px solid var(--rb-line); border-radius: var(--rb-radius-lg); padding: 32px; display: flex; flex-direction: column; gap: 18px; }
.rb-plan.is-featured { border-color: var(--rb-blue); background: var(--rb-blue); color: #fff; transform: translateY(-8px); }
.rb-plan.is-featured .rb-plan__feat li { border-color: rgba(255,255,255,0.18); color: rgba(255,255,255,0.86); }
.rb-plan.is-featured .rb-btn--primary { background: var(--rb-gold); color: var(--rb-blue-deep); }
.rb-plan__tld { font-family: var(--rb-font-mono); font-size: 14px; letter-spacing: 0.04em; }
.rb-plan__price span { font-family: var(--rb-font-serif); font-size: 56px; font-weight: 400; letter-spacing: -0.02em; }
.rb-plan__price em { font-style: normal; font-size: 13px; color: var(--rb-muted); }
.rb-plan.is-featured .rb-plan__price em { color: rgba(255,255,255,0.7); }
.rb-plan__feat { list-style: none; padding: 0; margin: 0; }
.rb-plan__feat li { padding: 12px 0; border-top: 1px solid var(--rb-line); font-size: 14px; }
.rb-plan__feat li:before { content: "✓"; color: var(--rb-gold); margin-right: 10px; font-weight: 700; }
.rb-plan__btn { justify-content: center; }

/* FLOW */
.rb-flow { display: grid; grid-template-columns: repeat(4, 1fr); gap: 24px; }
.rb-flow__step { position: relative; padding: 24px; background: var(--rb-paper); border: 1px solid var(--rb-line); border-radius: var(--rb-radius-lg); }
.rb-flow__n { font-family: var(--rb-font-mono); font-size: 11px; color: var(--rb-gold); letter-spacing: 0.1em; margin-bottom: 12px; }
.rb-flow__t { font-family: var(--rb-font-serif); font-size: 22px; margin-bottom: 8px; }
.rb-flow__d { font-size: 13px; color: var(--rb-ink-2); line-height: 1.5; }
.rb-flow__line { position: absolute; right: -18px; top: 50%; transform: translateY(-50%); color: var(--rb-line-2); font-size: 24px; z-index: 1; }

/* TABLE / CATALOG */
.rb-toolbar { display: flex; gap: 16px; margin-bottom: 24px; flex-wrap: wrap; align-items: center; }
.rb-toolbar__search { flex: 1 1 280px; padding: 12px 16px; background: var(--rb-paper); border: 1px solid var(--rb-line); border-radius: 99px; font-size: 14px; color: var(--rb-ink); }
.rb-toolbar__search:focus { outline: 2px solid var(--rb-blue); outline-offset: -1px; }
.rb-toolbar__cats { display: flex; gap: 6px; flex-wrap: wrap; }
.rb-chip { padding: 8px 14px; border: 1px solid var(--rb-line); border-radius: 99px; font-size: 13px; background: var(--rb-paper); transition: all 0.15s; }
.rb-chip:hover { border-color: var(--rb-ink); }
.rb-chip.is-on { background: var(--rb-ink); color: var(--rb-bg); border-color: var(--rb-ink); }

.rb-table { background: var(--rb-paper); border: 1px solid var(--rb-line); border-radius: var(--rb-radius-lg); overflow: hidden; }
.rb-table__head, .rb-row { display: grid; grid-template-columns: 1.6fr 0.9fr 1.4fr 1.4fr 0.7fr 0.5fr; gap: 16px; padding: 14px 20px; align-items: center; font-size: 13px; }
.rb-table__head { background: var(--rb-bg-alt); font-family: var(--rb-font-mono); font-size: 11px; letter-spacing: 0.1em; text-transform: uppercase; color: var(--rb-muted); }
.rb-row { border-top: 1px solid var(--rb-line); transition: background 0.15s; }
.rb-row:hover { background: var(--rb-bg-alt); }
.rb-row__name { font-weight: 600; display: flex; align-items: center; gap: 8px; }
.rb-row__badge { display: inline-grid; place-items: center; width: 18px; height: 18px; background: var(--rb-blue); color: #fff; border-radius: 50%; font-size: 11px; }
.rb-row__cat span { font-family: var(--rb-font-mono); font-size: 11px; padding: 3px 8px; background: var(--rb-bg-alt); border-radius: 3px; }
.rb-row__addr, .rb-row__d { color: var(--rb-ink-2); }
.rb-row--empty { padding: 40px; text-align: center; color: var(--rb-muted); display: block; }

/* TIMELINE */
.rb-timeline { list-style: none; padding: 0; margin: 0; max-width: 760px; }
.rb-tline { display: grid; grid-template-columns: 100px 24px 1fr; gap: 24px; padding: 24px 0; align-items: start; position: relative; }
.rb-tline:not(:last-child):after { content: ""; position: absolute; left: 112px; top: 36px; bottom: -12px; width: 1px; background: var(--rb-line); }
.rb-tline__year { font-family: var(--rb-font-mono); font-size: 14px; color: var(--rb-gold); padding-top: 4px; letter-spacing: 0.05em; }
.rb-tline__dot { width: 12px; height: 12px; border-radius: 50%; background: var(--rb-blue); margin-top: 8px; box-shadow: 0 0 0 4px var(--rb-bg); position: relative; z-index: 2; }
.rb-tline__t { font-family: var(--rb-font-serif); font-size: 26px; line-height: 1.15; margin-bottom: 6px; }
.rb-tline__d { color: var(--rb-ink-2); font-size: 15px; }

/* GOV */
.rb-gov { display: grid; grid-template-columns: repeat(3, 1fr); gap: 16px; }
.rb-gov__card { background: var(--rb-paper); border: 1px solid var(--rb-line); border-radius: var(--rb-radius-lg); padding: 24px; display: flex; flex-direction: column; gap: 8px; }
.rb-gov__head { padding-bottom: 14px; border-bottom: 1px solid var(--rb-line); margin-bottom: 8px; }
.rb-gov__name { font-family: var(--rb-font-serif); font-size: 22px; line-height: 1.15; margin-bottom: 6px; }
.rb-gov__notice { display: inline-flex; align-items: center; gap: 10px; padding: 10px 16px; background: var(--rb-paper); border: 1px solid var(--rb-line); border-radius: 6px; font-size: 13px; color: var(--rb-ink-2); margin-top: 14px; }
.rb-gov__noticeDot { width: 8px; height: 8px; border-radius: 50%; background: #2e8b57; box-shadow: 0 0 0 4px color-mix(in oklab, #2e8b57 22%, transparent); flex-shrink: 0; }
.rb-gov__d { color: var(--rb-blue); font-size: 13px; font-family: var(--rb-font-mono); text-decoration: none; word-break: break-all; }
a.rb-gov__d:hover { text-decoration: underline; }
.rb-gov__row { display: flex; justify-content: space-between; padding: 8px 0; font-size: 13px; gap: 16px; }
.rb-gov__row span { color: var(--rb-muted); flex-shrink: 0; }
.rb-gov__row b { font-weight: 500; text-align: right; }
.rb-gov__tags { display: flex; flex-wrap: wrap; gap: 6px; margin-top: 12px; padding-top: 14px; border-top: 1px solid var(--rb-line); }
.rb-gov__tags span { font-family: var(--rb-font-mono); font-size: 11px; padding: 3px 8px; background: var(--rb-bg-alt); border-radius: 3px; }

/* FOOTER */
.rb-footer { background: var(--rb-ink); color: var(--rb-bg); margin-top: 80px; }
.rb-footer__top { display: grid; grid-template-columns: 1.4fr 2fr; gap: 64px; padding-top: 64px; padding-bottom: 64px; }
.rb-footer__brand { display: flex; gap: 16px; align-items: center; color: var(--rb-gold); }
.rb-footer__name { font-family: var(--rb-font-serif); font-size: 32px; color: var(--rb-bg); letter-spacing: -0.01em; }
.rb-footer__sub { color: rgba(246,244,238,0.6); font-size: 13px; margin-top: 4px; }
.rb-footer__cols { display: grid; grid-template-columns: repeat(3, 1fr); gap: 32px; }
.rb-footer__h { font-size: 11px; letter-spacing: 0.14em; text-transform: uppercase; color: var(--rb-gold); margin-bottom: 16px; font-weight: 600; }
.rb-footer__cols a { display: block; padding: 4px 0; color: rgba(246,244,238,0.85); font-size: 14px; transition: color 0.15s; }
.rb-footer__cols a:hover { color: var(--rb-gold); }
.rb-footer__bottom { display: flex; justify-content: space-between; padding-top: 20px; padding-bottom: 20px; border-top: 1px solid rgba(246,244,238,0.12); font-family: var(--rb-font-mono); font-size: 11px; letter-spacing: 0.08em; color: rgba(246,244,238,0.5); }

/* ============ DECORATIVE VARIANT ============ */
.rb-home--decorative .rb-h1, .rb-page--decorative .rb-h1 { font-style: italic; letter-spacing: -0.03em; }
.rb-home--decorative .rb-h1__a { color: var(--rb-blue-deep); }
.rb-home--decorative .rb-h1__b { color: var(--rb-gold); font-style: italic; text-decoration: underline; text-decoration-color: var(--rb-gold-soft); text-decoration-thickness: 3px; text-underline-offset: 8px; }
.rb-header--decorative .rb-brand__mark { color: var(--rb-gold); }
.rb-header--decorative { background: var(--rb-blue-deep); border-color: var(--rb-blue); }
.rb-header--decorative .rb-brand__name, .rb-header--decorative .rb-nav__link, .rb-header--decorative .rb-lang { color: #fff; }
.rb-header--decorative .rb-nav__link.is-active { background: var(--rb-gold); color: var(--rb-blue-deep); }
.rb-header--decorative .rb-nav__link:hover { background: rgba(255,255,255,0.12); color: #fff; }
.rb-header--decorative .rb-cta { background: var(--rb-gold); color: var(--rb-blue-deep); }
.rb-header--decorative .rb-header__strip { color: rgba(255,255,255,0.5); border-color: rgba(255,255,255,0.12); }
.rb-header--decorative .rb-brand__sub { color: var(--rb-gold-soft); }

.rb-home--decorative .rb-hero, .rb-page--decorative .rb-pagehead { background: linear-gradient(180deg, color-mix(in oklab, var(--rb-gold) 14%, transparent), transparent); max-width: none; padding-left: 0; padding-right: 0; }
.rb-home--decorative .rb-hero > *, .rb-page--decorative .rb-pagehead > * { max-width: var(--rb-container); margin-left: auto; margin-right: auto; padding-left: var(--rb-pad); padding-right: var(--rb-pad); }
.rb-home--decorative .rb-card--decorative { background: var(--rb-bg-alt); border-color: var(--rb-line-2); }
.rb-home--decorative .rb-card--decorative:hover { background: var(--rb-paper); border-color: var(--rb-gold); }
.rb-home--decorative .rb-h2 { font-style: italic; }
.rb-home--decorative .rb-domain__tld { color: var(--rb-blue-deep); font-style: italic; }
.rb-home--decorative .rb-quote { background: var(--rb-blue-deep); color: var(--rb-bg); max-width: none; padding-left: 0; padding-right: 0; }
.rb-home--decorative .rb-quote blockquote { color: var(--rb-bg); }
.rb-home--decorative .rb-quote cite { color: var(--rb-gold); }

/* ============ WHOIS PAGE ============ */
.rb-pagehead--whois, .rb-pagehead--manifesto { background: linear-gradient(180deg, color-mix(in oklab, var(--rb-blue) 8%, transparent), transparent); max-width: none; padding-left: 0; padding-right: 0; position: relative; }
.rb-pagehead--whois > *, .rb-pagehead--manifesto > * { max-width: var(--rb-container); margin-left: auto; margin-right: auto; padding-left: var(--rb-pad); padding-right: var(--rb-pad); }

.rb-whois { background: var(--rb-paper); border: 1px solid var(--rb-line); border-radius: var(--rb-radius-lg); padding: 24px; margin-bottom: 24px; }
.rb-whois__bar { display: flex; align-items: center; gap: 12px; padding: 12px 18px; background: var(--rb-bg); border: 1px solid var(--rb-line); border-radius: 99px; }
.rb-whois__icon { font-family: var(--rb-font-mono); color: var(--rb-gold); font-size: 16px; }
.rb-whois__input { flex: 1; background: transparent; border: 0; outline: none; padding: 10px 0; font-family: var(--rb-font-mono); font-size: 16px; color: var(--rb-ink); }
.rb-whois__btn { padding: 10px 20px; }
.rb-whois__server { display: flex; align-items: center; gap: 10px; margin-top: 16px; padding-top: 16px; border-top: 1px dashed var(--rb-line); font-family: var(--rb-font-mono); font-size: 12px; color: var(--rb-muted); flex-wrap: wrap; }
.rb-whois__dot { width: 8px; height: 8px; border-radius: 50%; background: #2e8b57; box-shadow: 0 0 0 4px color-mix(in oklab, #2e8b57 22%, transparent); }
.rb-whois__lbl { letter-spacing: 0.08em; text-transform: uppercase; }
.rb-whois__server code { color: var(--rb-blue); font-weight: 600; }
.rb-whois__sep { opacity: 0.4; }

.rb-term { background: #0d1322; color: #c5cad6; border-radius: var(--rb-radius-lg); overflow: hidden; box-shadow: var(--rb-shadow); border: 1px solid #1f2b44; }
.rb-term__head { display: flex; align-items: center; gap: 14px; padding: 12px 16px; background: #131c30; border-bottom: 1px solid #1f2b44; }
.rb-term__dots { display: flex; gap: 6px; }
.rb-term__dots span { width: 11px; height: 11px; border-radius: 50%; background: #2a3859; }
.rb-term__dots span:nth-child(1) { background: #b04a3a; }
.rb-term__dots span:nth-child(2) { background: #d4a534; }
.rb-term__dots span:nth-child(3) { background: #2e8b57; }
.rb-term__title { font-family: var(--rb-font-mono); font-size: 12px; color: #8995ab; flex: 1; text-align: center; }
.rb-term__time { font-family: var(--rb-font-mono); font-size: 11px; color: #6c8ad4; }
.rb-term__body { padding: 22px 24px; font-family: var(--rb-font-mono); font-size: 13px; line-height: 1.85; }
.rb-term__line { color: #c5cad6; }
.rb-term__line .rb-term__c { color: #d4a534; margin-right: 6px; }
.rb-term__free { color: #6ee7a3; }
.rb-term__row { display: grid; grid-template-columns: 200px 1fr; gap: 16px; padding: 4px 0; }
.rb-term__row span { color: #6c8ad4; }
.rb-term__row b { color: #f3efe1; font-weight: 500; word-break: break-all; }
.rb-term__cta { display: flex; gap: 16px; align-items: center; margin-top: 18px; padding-top: 18px; border-top: 1px dashed #1f2b44; }
.rb-term__note { color: #d4a534; margin-top: 12px; font-size: 12px; }
.rb-status { font-family: var(--rb-font-mono); font-size: 12px; letter-spacing: 0.06em; padding: 4px 10px; border-radius: 4px; font-weight: 600; }
.rb-status--free { color: #2e8b57; background: color-mix(in oklab, #2e8b57 12%, transparent); }
.rb-status--taken { color: #b04a3a; background: color-mix(in oklab, #b04a3a 12%, transparent); }
.rb-status--retired { color: #6b7891; background: color-mix(in oklab, #6b7891 14%, transparent); text-decoration: line-through; }

/* BULK */
.rb-bulk__bar { display: inline-flex; align-items: center; gap: 6px; padding: 10px 16px; background: var(--rb-paper); border: 1px solid var(--rb-line); border-radius: 99px; margin-bottom: 20px; }
.rb-bulk__input { background: transparent; border: 0; outline: none; font-family: var(--rb-font-mono); font-size: 16px; color: var(--rb-ink); width: 200px; }
.rb-bulk__dot { font-family: var(--rb-font-mono); color: var(--rb-muted); font-size: 18px; }
.rb-bulk__hint { font-family: var(--rb-font-mono); font-size: 12px; color: var(--rb-muted); }
.rb-bulk__grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 10px; }
.rb-bulkitem { display: flex; align-items: center; justify-content: space-between; gap: 12px; padding: 14px 16px; background: var(--rb-paper); border: 1px solid var(--rb-line); border-radius: var(--rb-radius); transition: all 0.15s; text-align: left; }
.rb-bulkitem:hover { border-color: var(--rb-blue); transform: translateY(-1px); }
.rb-bulkitem code { font-size: 14px; color: var(--rb-ink); }
.rb-bulkitem.is-taken code { color: var(--rb-muted); }
.rb-bulkitem__price { font-family: var(--rb-font-mono); font-size: 11px; color: var(--rb-muted); }

.rb-loghist { background: var(--rb-paper); border: 1px solid var(--rb-line); border-radius: var(--rb-radius-lg); overflow: hidden; }
.rb-loghist__row { display: grid; grid-template-columns: 80px 1fr auto; gap: 16px; align-items: center; padding: 12px 18px; border-top: 1px solid var(--rb-line); }
.rb-loghist__row:first-child { border-top: 0; }
.rb-loghist__t { font-family: var(--rb-font-mono); color: var(--rb-muted); font-size: 12px; }
.rb-loghist__q { font-family: var(--rb-font-mono); color: var(--rb-blue); font-size: 14px; }

/* ============ MANIFESTO PAGE ============ */
.rb-flag { position: absolute; right: var(--rb-pad); top: 60px; width: 72px; display: flex; flex-direction: column; border-radius: 4px; overflow: hidden; box-shadow: var(--rb-shadow); }
.rb-flag__blue { height: 36px; background: #0057b8; }
.rb-flag__yellow { height: 36px; background: #ffd700; }

.rb-pills { display: grid; grid-template-columns: repeat(4, 1fr); gap: 16px; }
.rb-pill { background: var(--rb-paper); border: 1px solid var(--rb-line); border-radius: var(--rb-radius-lg); padding: 24px; position: relative; }
.rb-pill:before { content: ""; position: absolute; left: 0; top: 24px; bottom: 24px; width: 3px; background: linear-gradient(180deg, #0057b8 0%, #0057b8 50%, #ffd700 50%, #ffd700 100%); border-radius: 0 3px 3px 0; }
.rb-pill__num { font-family: var(--rb-font-mono); font-size: 11px; color: var(--rb-gold); margin-bottom: 12px; padding-left: 12px; letter-spacing: 0.1em; }
.rb-pill__t { font-family: var(--rb-font-serif); font-size: 22px; line-height: 1.15; margin-bottom: 8px; padding-left: 12px; }
.rb-pill__d { font-size: 13px; color: var(--rb-ink-2); padding-left: 12px; line-height: 1.55; }

.rb-dhistory { display: grid; grid-template-columns: repeat(4, 1fr); gap: 1px; background: var(--rb-line); border: 1px solid var(--rb-line); border-radius: var(--rb-radius-lg); overflow: hidden; }
.rb-dhist { background: var(--rb-paper); padding: 24px; position: relative; min-height: 180px; }
.rb-dhist.is-pivot { background: var(--rb-blue); color: #fff; }
.rb-dhist.is-pivot .rb-dhist__y { color: var(--rb-gold); }
.rb-dhist.is-pivot .rb-dhist__d { color: rgba(255,255,255,0.86); }
.rb-dhist__y { font-family: var(--rb-font-mono); font-size: 13px; color: var(--rb-gold); margin-bottom: 12px; letter-spacing: 0.05em; }
.rb-dhist__t { font-family: var(--rb-font-serif); font-size: 20px; line-height: 1.15; margin-bottom: 8px; }
.rb-dhist__d { font-size: 13px; color: var(--rb-ink-2); line-height: 1.5; }
.rb-dhist__badge { position: absolute; top: 14px; right: 14px; font-family: var(--rb-font-mono); font-size: 10px; padding: 3px 8px; background: var(--rb-gold); color: var(--rb-blue-deep); border-radius: 3px; letter-spacing: 0.06em; font-weight: 700; }

.rb-banner { display: grid; grid-template-columns: 1.4fr 1fr; gap: 32px; align-items: center; padding: 48px; background: linear-gradient(135deg, #0057b8, #142552); color: #fff; border-radius: var(--rb-radius-lg); position: relative; overflow: hidden; }
.rb-banner:before { content: ""; position: absolute; right: -100px; top: -100px; width: 320px; height: 320px; border-radius: 50%; background: radial-gradient(circle, #ffd700, transparent 70%); opacity: 0.4; }
.rb-banner__tag { font-family: var(--rb-font-mono); font-size: 12px; color: #ffd700; letter-spacing: 0.1em; margin-bottom: 14px; }
.rb-banner__t { font-family: var(--rb-font-serif); font-size: clamp(28px, 3vw, 42px); margin: 0 0 12px; line-height: 1.1; font-weight: 400; }
.rb-banner__s { color: rgba(255,255,255,0.86); margin: 0 0 24px; max-width: 50ch; }
.rb-banner .rb-btn--primary { background: #ffd700; color: #142552; }
.rb-banner__visual { display: flex; align-items: center; justify-content: center; gap: 16px; font-family: var(--rb-font-mono); position: relative; z-index: 2; }
.rb-banner__lock { position: relative; display: flex; flex-direction: column; align-items: center; gap: 8px; padding: 32px 36px 28px; background: rgba(255,255,255,0.08); border: 2px solid #ffd700; border-radius: 12px; backdrop-filter: blur(4px); }
.rb-banner__lockShape { position: absolute; top: -18px; left: 50%; transform: translateX(-50%); width: 36px; height: 36px; display: grid; place-items: center; background: #ffd700; color: #142552; border-radius: 50%; font-size: 0; box-shadow: 0 4px 12px rgba(0,0,0,0.2); }
.rb-banner__lockShape::before { content: "🛡"; font-size: 18px; }
.rb-banner__lockDomain { font-size: 32px; color: #fff; font-weight: 600; letter-spacing: -0.01em; }
.rb-banner__lockTld { font-size: 18px; color: #ffd700; font-weight: 600; }
.rb-banner__before { font-size: 28px; color: rgba(255,255,255,0.5); }
.rb-banner__before .strike { text-decoration: line-through; }
.rb-banner__arrow { font-size: 32px; color: #ffd700; }
.rb-banner__after { font-size: 36px; color: #fff; font-weight: 700; padding: 12px 20px; background: rgba(255,255,255,0.1); border: 2px solid #ffd700; border-radius: 8px; }

.rb-sponsors { display: grid; grid-template-columns: repeat(6, 1fr); gap: 1px; background: var(--rb-line); border: 1px solid var(--rb-line); border-radius: var(--rb-radius-lg); overflow: hidden; }
.rb-sponsor { background: var(--rb-paper); padding: 24px 18px; text-align: center; }
.rb-sponsor__name { font-family: var(--rb-font-serif); font-size: 17px; line-height: 1.15; margin-bottom: 6px; }
.rb-sponsor__tag { font-family: var(--rb-font-mono); font-size: 10px; color: var(--rb-muted); letter-spacing: 0.1em; text-transform: uppercase; }

.rb-adblock { display: grid; grid-template-columns: 1fr 1fr; gap: 40px; align-items: center; }
.rb-adblock__tag { font-family: var(--rb-font-mono); font-size: 11px; color: var(--rb-gold); letter-spacing: 0.16em; margin-bottom: 16px; }
.rb-adblock__t { font-family: var(--rb-font-serif); font-size: clamp(28px, 3vw, 42px); margin: 0 0 12px; line-height: 1.1; font-weight: 400; }
.rb-adblock__s { color: var(--rb-ink-2); margin: 0 0 24px; }
.rb-adblock__stats { display: grid; grid-template-columns: repeat(2, 1fr); gap: 18px; }
.rb-adblock__stats > div b { display: block; font-family: var(--rb-font-serif); font-size: 32px; line-height: 1; color: var(--rb-blue); }
.rb-adblock__stats > div span { font-size: 12px; color: var(--rb-muted); }
.rb-adblock__slots { display: grid; gap: 12px; }
.rb-adslot { padding: 22px; border: 2px dashed var(--rb-line-2); border-radius: var(--rb-radius); display: flex; justify-content: space-between; align-items: center; min-height: 100px; }
.rb-adslot--lg { min-height: 160px; background: repeating-linear-gradient(45deg, transparent, transparent 12px, color-mix(in oklab, var(--rb-blue) 5%, transparent) 12px, color-mix(in oklab, var(--rb-blue) 5%, transparent) 13px); border-color: var(--rb-blue); }
.rb-adslot__lbl { font-family: var(--rb-font-mono); font-size: 12px; color: var(--rb-muted); letter-spacing: 0.08em; }
.rb-adslot__price { font-family: var(--rb-font-mono); font-size: 13px; color: var(--rb-blue); font-weight: 600; }

.rb-contacts { display: grid; grid-template-columns: repeat(3, 1fr); gap: 16px; }
.rb-contact { background: var(--rb-paper); border: 1px solid var(--rb-line); border-radius: var(--rb-radius-lg); padding: 24px; }
.rb-contact__h { font-size: 11px; letter-spacing: 0.14em; text-transform: uppercase; color: var(--rb-muted); margin-bottom: 12px; font-weight: 600; }
.rb-contact__v { display: block; font-family: var(--rb-font-serif); font-size: 22px; line-height: 1.25; margin-bottom: 6px; color: var(--rb-ink); }
a.rb-contact__v:hover { color: var(--rb-blue); }
.rb-contact__sub { display: block; font-size: 13px; color: var(--rb-muted); }

/* ============ HOME WHOIS PROMO ============ */
.rb-whoisbar { background: var(--rb-paper); border: 1px solid var(--rb-line); border-radius: var(--rb-radius-lg); padding: 18px; display: flex; gap: 12px; align-items: center; flex-wrap: wrap; box-shadow: var(--rb-shadow); }
.rb-whoisbar__lbl { font-family: var(--rb-font-mono); font-size: 12px; letter-spacing: 0.08em; color: var(--rb-muted); padding-right: 8px; border-right: 1px solid var(--rb-line); }
.rb-whoisbar__input { flex: 1 1 200px; padding: 10px 14px; background: var(--rb-bg); border: 1px solid var(--rb-line); border-radius: 99px; font-family: var(--rb-font-mono); font-size: 15px; color: var(--rb-ink); }

/* responsive */
@media (max-width: 1024px) {
  .rb-hero__grid, .rb-map { grid-template-columns: 1fr; }
  .rb-cards, .rb-domains, .rb-reasons, .rb-plans, .rb-gov, .rb-flow, .rb-stats__grid, .rb-footer__top, .rb-footer__cols, .rb-pills, .rb-dhistory, .rb-bulk__grid, .rb-banner, .rb-adblock, .rb-contacts { grid-template-columns: repeat(2, 1fr); }
  .rb-sponsors { grid-template-columns: repeat(3, 1fr); }
  .rb-table__head, .rb-row { grid-template-columns: 1.4fr 0.8fr 1fr 1.2fr; }
  .rb-table__head > div:nth-child(5), .rb-table__head > div:nth-child(6), .rb-row > div:nth-child(5), .rb-row > div:nth-child(6) { display: none; }
  .rb-nav { display: none; }
  .rb-flag { display: none; }
}
@media (max-width: 640px) {
  .rb-cards, .rb-domains, .rb-reasons, .rb-plans, .rb-gov, .rb-flow, .rb-stats__grid, .rb-footer__cols, .rb-pills, .rb-dhistory, .rb-bulk__grid, .rb-banner, .rb-adblock, .rb-contacts, .rb-sponsors { grid-template-columns: 1fr; }
  .rb-footer__top { grid-template-columns: 1fr; gap: 32px; }
  .rb-term__row { grid-template-columns: 1fr; gap: 0; }
}

/* ============ WHOIS INLINE (схожий на форму карти) ============ */
.rb-whois { display: grid; grid-template-columns: 1.5fr 1fr; gap: 32px; align-items: stretch; min-height: 380px; }
.rb-whois__canvas { position: relative; background: var(--rb-paper); border: 1px solid var(--rb-line); border-radius: var(--rb-radius-lg); padding: 56px 36px 36px; display: flex; flex-direction: column; justify-content: center; min-height: 380px; }
.rb-whois__corner { position: absolute; font-family: var(--rb-font-mono); font-size: 10px; letter-spacing: 0.1em; color: var(--rb-muted); text-transform: uppercase; }
.rb-whois__corner--tl { top: 16px; left: 16px; }
.rb-whois__corner--tr { top: 16px; right: 16px; }
.rb-whois__corner--bl { bottom: 16px; left: 16px; }
.rb-whois__corner--br { bottom: 16px; right: 16px; }
.rb-whois__form { display: flex; flex-direction: column; gap: 18px; }
.rb-whois__zones { display: flex; flex-wrap: wrap; gap: 8px; }
.rb-whois__zone { position: relative; padding: 8px 14px; border: 1px solid var(--rb-line); background: transparent; color: var(--rb-text); font-family: var(--rb-font-mono); font-size: 12px; letter-spacing: 0.04em; cursor: pointer; border-radius: 999px; transition: all .15s; display: inline-flex; align-items: center; gap: 8px; }
.rb-whois__zone:hover { border-color: var(--rb-text); }
.rb-whois__zone.is-on { background: var(--rb-text); color: var(--rb-paper); border-color: var(--rb-text); }
.rb-whois__zone--retired { color: var(--rb-muted); border-style: dashed; }
.rb-whois__zone--retired.is-on { background: var(--rb-muted); border-color: var(--rb-muted); color: var(--rb-paper); }
.rb-whois__zone--private { border-color: var(--rb-accent); color: var(--rb-accent); }
.rb-whois__zone--private.is-on { background: var(--rb-accent); color: #1a1208; border-color: var(--rb-accent); }
.rb-whois__zoneBadge { font-size: 9px; padding: 2px 5px; border-radius: 3px; background: rgba(0,0,0,0.1); letter-spacing: 0.08em; font-weight: 700; }
.rb-whois__zone--private .rb-whois__zoneBadge { background: rgba(212,165,52,0.15); }
.rb-whois__inputRow { display: grid; grid-template-columns: 1fr auto auto; align-items: stretch; gap: 0; border: 1px solid var(--rb-line); border-radius: var(--rb-radius-md); background: var(--rb-bg); overflow: hidden; }
.rb-whois__input { border: none; background: transparent; padding: 18px 20px; font-family: var(--rb-font-mono); font-size: 22px; color: var(--rb-text); outline: none; min-width: 0; }
.rb-whois__input:disabled { opacity: 0.4; cursor: not-allowed; }
.rb-whois__input::placeholder { color: var(--rb-muted); }
.rb-whois__suffix { display: flex; align-items: center; padding: 0 12px 0 0; font-family: var(--rb-font-mono); font-size: 22px; color: var(--rb-muted); }
.rb-whois__btn { background: var(--rb-ink); color: var(--rb-bg); border: none; padding: 0 28px; font-weight: 600; font-size: 14px; letter-spacing: 0.02em; cursor: pointer; transition: opacity .15s; }
.rb-whois__btn:disabled { opacity: 0.3; cursor: not-allowed; }
.rb-whois__btn:hover:not(:disabled) { opacity: 0.85; }
.rb-whois__notice { font-family: var(--rb-font-mono); font-size: 12px; color: var(--rb-muted); padding: 10px 14px; border-left: 2px solid var(--rb-accent); background: var(--rb-bg); }

.rb-whois__info { background: var(--rb-paper); border: 1px solid var(--rb-line); border-radius: var(--rb-radius-lg); padding: 28px; display: flex; flex-direction: column; gap: 12px; }
.rb-whois__h { font-size: 11px; letter-spacing: 0.14em; text-transform: uppercase; color: var(--rb-muted); font-weight: 600; }
.rb-whois__name { font-family: var(--rb-font-mono); font-size: 22px; line-height: 1.2; word-break: break-all; color: var(--rb-text); }
.rb-whois__name--idle { color: var(--rb-muted); }
.rb-whois__statusIdle { font-family: var(--rb-font-mono); font-size: 12px; color: var(--rb-muted); }
.rb-whois__status { display: inline-flex; align-items: center; gap: 8px; font-family: var(--rb-font-mono); font-size: 13px; padding: 6px 0; }
.rb-whois__status.is-free { color: #1a7f3e; }
.rb-whois__status.is-taken { color: #b8341a; }
.rb-whois__dot { width: 8px; height: 8px; border-radius: 50%; background: currentColor; display: inline-block; }
.rb-whois__cta { background: transparent; border: 1px solid var(--rb-text); color: var(--rb-text); padding: 10px 14px; font-family: var(--rb-font-sans); font-size: 12px; cursor: pointer; text-align: left; border-radius: var(--rb-radius-sm); margin-top: 4px; transition: all .15s; }
.rb-whois__cta:hover { background: var(--rb-text); color: var(--rb-paper); }
.rb-whois__row { display: flex; justify-content: space-between; gap: 12px; padding: 8px 0; border-top: 1px solid var(--rb-line); font-family: var(--rb-font-mono); font-size: 12px; }
.rb-whois__row span { color: var(--rb-muted); }
.rb-whois__row b { font-weight: 600; }
.rb-whois__chips { display: flex; flex-wrap: wrap; gap: 6px; margin-top: auto; padding-top: 12px; border-top: 1px solid var(--rb-line); }
.rb-whois__chip { background: var(--rb-bg); border: 1px solid var(--rb-line); padding: 4px 10px; font-family: var(--rb-font-mono); font-size: 11px; color: var(--rb-muted); cursor: pointer; border-radius: 999px; transition: all .15s; }
.rb-whois__chip:hover { color: var(--rb-text); border-color: var(--rb-text); }

/* Editorial variant */
.rb-whois--decorative .rb-whois__canvas { background: var(--rb-text); color: var(--rb-paper); }
.rb-whois--decorative .rb-whois__canvas .rb-whois__corner { color: rgba(255,255,255,0.4); }
.rb-whois--decorative .rb-whois__inputRow { background: rgba(255,255,255,0.04); border-color: rgba(255,255,255,0.15); }
.rb-whois--decorative .rb-whois__input { color: var(--rb-paper); }
.rb-whois--decorative .rb-whois__suffix { color: rgba(255,255,255,0.5); }
.rb-whois--decorative .rb-whois__btn { background: var(--rb-gold); color: var(--rb-ink); }
.rb-whois--decorative .rb-whois__zone { color: var(--rb-paper); border-color: rgba(255,255,255,0.2); }
.rb-whois--decorative .rb-whois__zone:hover { border-color: var(--rb-paper); }
.rb-whois--decorative .rb-whois__zone.is-on { background: var(--rb-paper); color: var(--rb-text); border-color: var(--rb-paper); }

@media (max-width: 880px) {
  .rb-whois { grid-template-columns: 1fr; }
  .rb-whois__input { font-size: 18px; padding: 14px 16px; }
  .rb-whois__suffix { font-size: 18px; }
}

/* ============ REGISTRARS PAGE ============ */
.rb-pagehead--reg { background: linear-gradient(180deg, var(--rb-bg) 0%, var(--rb-paper) 100%); }

.rb-admin { display: grid; grid-template-columns: auto 1fr; gap: 32px; padding: 32px; background: var(--rb-paper); border: 1px solid var(--rb-line); border-radius: var(--rb-radius-lg); align-items: start; }
.rb-admin__badge { display: flex; align-items: center; justify-content: center; flex-shrink: 0; align-self: start; }
.rb-admin__logo { width: 150px; height: auto; display: block; }
.rb-admin__body { display: flex; flex-direction: column; gap: 8px; }
.rb-admin__label { font-size: 11px; letter-spacing: 0.14em; text-transform: uppercase; color: var(--rb-muted); font-weight: 600; }
.rb-admin__name { font-family: var(--rb-font-serif); font-size: 36px; line-height: 1; letter-spacing: -0.02em; }
.rb-admin__desc { font-size: 15px; color: var(--rb-muted); margin: 4px 0; line-height: 1.55; max-width: 720px; }
.rb-admin__meta { display: flex; flex-wrap: wrap; gap: 20px; padding: 12px 0; border-top: 1px solid var(--rb-line); margin-top: 8px; font-family: var(--rb-font-mono); font-size: 12px; color: var(--rb-muted); }
.rb-admin__meta b { color: var(--rb-text); font-weight: 600; }
.rb-admin__link { display: inline-flex; align-items: center; gap: 6px; color: var(--rb-text); text-decoration: none; font-family: var(--rb-font-mono); font-size: 13px; padding: 8px 0; border-bottom: 1px solid currentColor; align-self: flex-start; transition: opacity .15s; }
.rb-admin__link:hover { opacity: 0.7; }

.rb-regs { border: 1px solid var(--rb-line); border-radius: var(--rb-radius-lg); overflow: hidden; background: var(--rb-paper); }
.rb-regs__head, .rb-regs__row { display: grid; grid-template-columns: 1.6fr 2fr 0.9fr; gap: 16px; align-items: center; padding: 16px 24px; }
.rb-regs__head { background: var(--rb-bg); font-family: var(--rb-font-mono); font-size: 11px; letter-spacing: 0.1em; text-transform: uppercase; color: var(--rb-muted); font-weight: 600; }
.rb-regs__head .rb-regs__num { text-align: right; }
.rb-regs__row { border-top: 1px solid var(--rb-line); transition: background .15s; }
.rb-regs__row:hover { background: var(--rb-bg); }
.rb-regs__name { display: flex; gap: 12px; align-items: center; min-width: 0; }
.rb-regs__idx { font-family: var(--rb-font-mono); font-size: 11px; color: var(--rb-muted); width: 24px; flex-shrink: 0; }
.rb-regs__title { font-weight: 600; font-size: 15px; display: flex; align-items: center; gap: 6px; }
.rb-regs__chk { color: var(--rb-accent); font-size: 13px; }
.rb-regs__site { font-family: var(--rb-font-mono); font-size: 12px; color: var(--rb-muted); margin-top: 2px; }
.rb-regs__zones { display: flex; flex-wrap: wrap; gap: 4px; }
.rb-regs__zone { background: var(--rb-bg); padding: 3px 8px; border-radius: 3px; font-family: var(--rb-font-mono); font-size: 10px; color: var(--rb-muted); border: 1px solid var(--rb-line); }
.rb-regs__price { text-align: right; font-family: var(--rb-font-mono); font-size: 14px; }
.rb-regs__price b { font-size: 18px; font-weight: 600; color: var(--rb-text); margin-right: 2px; }
.rb-regs__support { font-family: var(--rb-font-mono); font-size: 12px; color: var(--rb-muted); }
.rb-regs__cta { color: var(--rb-text); text-decoration: none; font-family: var(--rb-font-mono); font-size: 12px; padding: 6px 10px; border: 1px solid var(--rb-line); border-radius: var(--rb-radius-sm); text-align: center; transition: all .15s; }
.rb-regs__cta:hover { background: var(--rb-text); color: var(--rb-paper); border-color: var(--rb-text); }

.rb-helpgrid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 16px; }
.rb-helpcard { padding: 24px; background: var(--rb-paper); border: 1px solid var(--rb-line); border-radius: var(--rb-radius-md); display: flex; flex-direction: column; gap: 10px; }
.rb-helpcard__num { font-family: var(--rb-font-mono); font-size: 11px; color: var(--rb-accent); letter-spacing: 0.1em; font-weight: 700; }
.rb-helpcard__t { font-weight: 600; font-size: 16px; line-height: 1.3; }
.rb-helpcard__d { font-size: 13px; color: var(--rb-muted); line-height: 1.5; }

.rb-faq { border: 1px solid var(--rb-line); border-radius: var(--rb-radius-lg); overflow: hidden; background: var(--rb-paper); }
.rb-faq__item { border-top: 1px solid var(--rb-line); }
.rb-faq__item:first-child { border-top: none; }
.rb-faq__q { width: 100%; display: grid; grid-template-columns: auto 1fr auto; gap: 16px; align-items: center; padding: 20px 24px; background: transparent; border: none; cursor: pointer; text-align: left; font-family: var(--rb-font-sans); font-size: 16px; color: var(--rb-text); transition: background .15s; }
.rb-faq__q:hover { background: var(--rb-bg); }
.rb-faq__qNum { font-family: var(--rb-font-mono); font-size: 11px; color: var(--rb-muted); }
.rb-faq__qTxt { font-weight: 600; }
.rb-faq__qArr { font-size: 22px; color: var(--rb-accent); width: 24px; text-align: center; font-weight: 300; }
.rb-faq__a { padding: 0 24px 24px 64px; color: var(--rb-muted); font-size: 14px; line-height: 1.6; max-width: 800px; }
.rb-faq__item.is-open { background: var(--rb-bg); }

@media (max-width: 880px) {
  .rb-admin { grid-template-columns: 1fr; }
  .rb-regs__head { display: none; }
  .rb-regs__row { grid-template-columns: 1fr; gap: 8px; padding: 16px; }
  .rb-helpgrid { grid-template-columns: 1fr 1fr; }
}


/* === ADMIN === */
.rb-section--admin { padding-top: 0; }
.rb-admin {
  border: 1px solid var(--rb-line);
  background: var(--rb-surface);
  padding: 28px 32px;
  display: grid;
  gap: 18px;
}
.rb-admin__label {
  font-size: 11px;
  letter-spacing: 0.16em;
  text-transform: uppercase;
  color: var(--rb-muted);
  font-family: var(--rb-font-mono);
}
.rb-admin__main {
  display: grid;
  grid-template-columns: minmax(220px, 1fr) 2fr;
  gap: 32px;
  align-items: center;
}
.rb-admin__id { display: grid; gap: 6px; }
.rb-admin__company { font-family: var(--rb-font-serif); font-size: 28px; line-height: 1.1; letter-spacing: -0.01em; }
.rb-admin__site { font-family: var(--rb-font-mono); font-size: 13px; color: var(--rb-muted); text-decoration: none; }
.rb-admin__site:hover { color: var(--rb-fg); }
.rb-admin__facts {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 16px;
  margin: 0;
  border-left: 1px solid var(--rb-line);
  padding-left: 32px;
}
.rb-admin__fact { display: grid; gap: 4px; }
.rb-admin__fact dt {
  font-size: 11px;
  letter-spacing: 0.1em;
  text-transform: uppercase;
  color: var(--rb-muted);
  font-family: var(--rb-font-mono);
}
.rb-admin__fact dd {
  margin: 0;
  font-size: 18px;
  font-family: var(--rb-font-serif);
  letter-spacing: -0.01em;
}
.rb-admin__fact dd code {
  font-family: var(--rb-font-mono);
  font-size: 13px;
  letter-spacing: 0;
}
@media (max-width: 800px) {
  .rb-admin__main { grid-template-columns: 1fr; gap: 20px; }
  .rb-admin__facts { grid-template-columns: repeat(2, 1fr); border-left: 0; border-top: 1px solid var(--rb-line); padding-left: 0; padding-top: 18px; }
}


/* ============ CATALOG v2 (real data, 415 entries) ============ */
.rb-catstats { display: grid; grid-template-columns: 1fr 1fr 1.8fr; gap: 24px; margin-top: 32px; padding: 24px; background: var(--rb-paper); border: 1px solid var(--rb-line); border-radius: var(--rb-radius-lg); }
.rb-catstats__cell { display: flex; flex-direction: column; gap: 4px; }
.rb-catstats__n { font-family: var(--rb-font-display); font-size: 44px; line-height: 1; font-weight: 500; color: var(--rb-ink); }
.rb-catstats__lbl { font-size: 12px; color: var(--rb-muted); text-transform: uppercase; letter-spacing: 0.08em; }
.rb-catstats__cell--zones { gap: 8px; justify-content: center; }
.rb-catstats__zonerow { display: flex; align-items: center; justify-content: space-between; gap: 12px; font-size: 13px; }
.rb-catstats__zonerow strong { font-family: var(--rb-font-mono); font-weight: 500; color: var(--rb-ink); }

.rb-zone { display: inline-block; font-family: var(--rb-font-mono); font-size: 11px; padding: 3px 8px; border-radius: 3px; letter-spacing: 0.02em; }
.rb-zone--rvua    { background: oklch(0.94 0.04 250); color: oklch(0.35 0.12 250); }
.rb-zone--rivneua { background: oklch(0.94 0.05 140); color: oklch(0.33 0.14 145); }
.rb-zone--rovnoua { background: oklch(0.94 0.04 30);  color: oklch(0.42 0.16 30); }

.rb-section__head--tight { margin-bottom: 16px; }
.rb-h2--s { font-size: 24px; }

.rb-insights { display: grid; grid-template-columns: repeat(4, 1fr); gap: 16px; }
.rb-insight { padding: 20px; background: var(--rb-paper); border: 1px solid var(--rb-line); border-radius: var(--rb-radius); }
.rb-insight__n { font-family: var(--rb-font-mono); font-size: 11px; color: var(--rb-muted); margin-bottom: 8px; }
.rb-insight__t { font-weight: 600; font-size: 15px; margin-bottom: 6px; color: var(--rb-ink); }
.rb-insight__d { font-size: 13px; color: var(--rb-ink-2); line-height: 1.5; }

.rb-cattools { display: grid; grid-template-columns: 1fr 220px 200px; gap: 12px; margin-bottom: 16px; }
.rb-cattools__search { padding: 12px 16px; background: var(--rb-paper); border: 1px solid var(--rb-line); border-radius: 8px; font-size: 14px; color: var(--rb-ink); font-family: inherit; }
.rb-cattools__search:focus { outline: 2px solid var(--rb-blue); outline-offset: -1px; }
.rb-cattools__sel { padding: 12px 14px; background: var(--rb-paper); border: 1px solid var(--rb-line); border-radius: 8px; font-size: 14px; color: var(--rb-ink); font-family: inherit; cursor: pointer; }

.rb-subchips { display: flex; flex-wrap: wrap; gap: 6px; margin-bottom: 16px; padding: 12px; background: var(--rb-bg-alt); border-radius: 8px; }
.rb-subchip { padding: 5px 11px; background: var(--rb-paper); border: 1px solid var(--rb-line); border-radius: 99px; font-size: 12px; cursor: pointer; transition: all 0.15s; display: inline-flex; gap: 6px; align-items: center; }
.rb-subchip em { font-style: normal; color: var(--rb-muted); font-family: var(--rb-font-mono); font-size: 10px; }
.rb-subchip:hover { border-color: var(--rb-ink); }
.rb-subchip.is-on { background: var(--rb-ink); color: var(--rb-bg); border-color: var(--rb-ink); }
.rb-subchip.is-on em { color: var(--rb-bg); opacity: 0.65; }

.rb-catmeta { display: flex; justify-content: space-between; align-items: center; font-size: 13px; color: var(--rb-muted); padding: 0 4px 12px; }
.rb-catmeta strong { color: var(--rb-ink); font-family: var(--rb-font-mono); font-weight: 500; }
.rb-catmeta__reset { background: none; border: none; cursor: pointer; color: var(--rb-blue); font-size: 13px; padding: 4px 8px; }
.rb-catmeta__reset:hover { text-decoration: underline; }

.rb-catlist { background: var(--rb-paper); border: 1px solid var(--rb-line); border-radius: var(--rb-radius-lg); overflow: hidden; }
.rb-catrow { display: grid; grid-template-columns: 1fr auto; gap: 24px; padding: 14px 20px; align-items: center; border-top: 1px solid var(--rb-line); transition: background 0.12s; text-decoration: none; color: inherit; }
.rb-catrow:first-child { border-top: none; }
.rb-catrow:hover { background: var(--rb-bg-alt); }
.rb-catrow__name { font-weight: 600; font-size: 14px; color: var(--rb-ink); line-height: 1.3; margin-bottom: 4px; }
.rb-catrow__meta { font-size: 12px; color: var(--rb-muted); display: flex; gap: 6px; flex-wrap: wrap; align-items: center; }
.rb-catrow__cat { font-family: var(--rb-font-mono); font-size: 11px; padding: 2px 7px; background: var(--rb-bg-alt); border-radius: 3px; color: var(--rb-ink-2); }
.rb-catrow__sub { color: var(--rb-muted); }
.rb-catrow__flag { color: oklch(0.5 0.18 30); font-size: 11px; font-weight: 500; }
.rb-catrow__dom { display: flex; gap: 10px; align-items: center; }
.rb-catrow__code { font-family: var(--rb-font-mono); font-size: 12px; padding: 4px 10px; border-radius: 4px; }
.rb-catrow__code--rv-ua    { background: oklch(0.95 0.03 250); color: oklch(0.38 0.12 250); }
.rb-catrow__code--rivne-ua { background: oklch(0.95 0.04 140); color: oklch(0.36 0.14 145); }
.rb-catrow__code--rovno-ua { background: oklch(0.95 0.03 30);  color: oklch(0.45 0.16 30); }
.rb-catrow__arr { color: var(--rb-muted); font-size: 14px; opacity: 0; transition: opacity 0.12s; }
.rb-catrow:hover .rb-catrow__arr { opacity: 1; }
.rb-catrow--empty { padding: 48px; text-align: center; color: var(--rb-muted); display: block; }

.rb-catmore { display: flex; justify-content: space-between; align-items: center; gap: 16px; margin-top: 16px; padding: 0 4px; font-size: 13px; color: var(--rb-muted); }

@media (max-width: 880px) {
  .rb-catstats { grid-template-columns: 1fr 1fr; }
  .rb-catstats__cell--zones { grid-column: 1 / -1; flex-direction: row; flex-wrap: wrap; }
  .rb-catstats__zonerow { flex: 1 1 120px; }
  .rb-insights { grid-template-columns: 1fr 1fr; }
  .rb-cattools { grid-template-columns: 1fr; }
}
@media (max-width: 560px) {
  .rb-insights { grid-template-columns: 1fr; }
  .rb-catrow { grid-template-columns: 1fr; gap: 8px; }
  .rb-catrow__dom { justify-content: flex-start; }
}


/* === SECURITY GRID === */
.rb-secgrid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 16px; }
.rb-seccard { padding: 24px; background: var(--rb-paper); border: 1px solid var(--rb-line); border-radius: 10px; display: flex; flex-direction: column; gap: 10px; transition: border-color 0.15s; }
.rb-seccard:hover { border-color: var(--rb-ink); }
.rb-seccard__head { display: flex; justify-content: space-between; align-items: center; }
.rb-seccard__num { font-family: var(--rb-font-mono); font-size: 11px; color: var(--rb-muted); letter-spacing: 0.08em; }
.rb-seccard__tag { font-family: var(--rb-font-mono); font-size: 10px; padding: 3px 8px; background: oklch(0.94 0.04 250); color: oklch(0.35 0.12 250); border-radius: 3px; letter-spacing: 0.04em; text-transform: lowercase; }
.rb-seccard__t { font-weight: 600; font-size: 17px; color: var(--rb-ink); line-height: 1.25; }
.rb-seccard__d { font-size: 13px; color: var(--rb-ink-2); line-height: 1.55; }

@media (max-width: 880px) {
  .rb-secgrid { grid-template-columns: 1fr 1fr; }
}
@media (max-width: 560px) {
  .rb-secgrid { grid-template-columns: 1fr; }
}


/* === REGISTER PAGE (rebuilt from "Тарифи") === */
.rb-regcheck { background: var(--rb-paper); border: 1px solid var(--rb-line); border-radius: 12px; padding: 28px; display: flex; flex-direction: column; gap: 16px; }
.rb-regcheck__lbl { font-size: 11px; letter-spacing: 0.16em; text-transform: uppercase; color: var(--rb-muted); font-family: var(--rb-font-mono); }
.rb-regcheck__zones { display: flex; flex-wrap: wrap; gap: 8px; }
.rb-regcheck__zone { padding: 8px 14px; border: 1px solid var(--rb-line); background: transparent; color: var(--rb-ink); font-family: var(--rb-font-mono); font-size: 13px; cursor: pointer; border-radius: 99px; transition: all 0.15s; display: inline-flex; gap: 8px; align-items: center; }
.rb-regcheck__zone:hover { border-color: var(--rb-ink); }
.rb-regcheck__zone.is-on { background: var(--rb-ink); color: var(--rb-bg); border-color: var(--rb-ink); }
.rb-regcheck__zone--retired { color: var(--rb-muted); border-style: dashed; }
.rb-regcheck__zone--retired.is-on { background: var(--rb-muted); border-color: var(--rb-muted); color: var(--rb-paper); }
.rb-regcheck__zone--private { border-color: #d4a534; color: #8a6d23; }
.rb-regcheck__zone--private.is-on { background: #d4a534; color: #1a1208; border-color: #d4a534; }
.rb-regcheck__zoneBadge { font-size: 9px; padding: 2px 5px; border-radius: 3px; background: rgba(0,0,0,0.1); letter-spacing: 0.08em; font-weight: 700; }
.rb-regcheck__zone--private .rb-regcheck__zoneBadge { background: rgba(212,165,52,0.15); }
.rb-regcheck__row { display: grid; grid-template-columns: 1fr auto auto; align-items: stretch; border: 1px solid var(--rb-line); border-radius: 8px; background: var(--rb-bg); overflow: hidden; }
.rb-regcheck__input { border: none; background: transparent; padding: 16px 18px; font-family: var(--rb-font-mono); font-size: 18px; color: var(--rb-ink); outline: none; min-width: 0; }
.rb-regcheck__input:disabled { opacity: 0.4; cursor: not-allowed; }
.rb-regcheck__input::placeholder { color: var(--rb-muted); }
.rb-regcheck__suf { display: flex; align-items: center; padding: 0 14px 0 0; font-family: var(--rb-font-mono); font-size: 18px; color: var(--rb-muted); }
.rb-regcheck__btn { border-radius: 0 8px 8px 0; padding: 14px 24px; margin: -1px; }
.rb-regcheck__btn:disabled { opacity: 0.35; cursor: not-allowed; }
.rb-regcheck__notice { padding: 10px 14px; font-size: 13px; color: var(--rb-muted); border-left: 2px solid #d4a534; background: var(--rb-bg); font-family: var(--rb-font-mono); }
.rb-regcheck__result { display: flex; flex-wrap: wrap; align-items: center; gap: 10px; padding: 12px 16px; border-radius: 8px; background: var(--rb-bg); }
.rb-regcheck__result.is-free  { background: oklch(0.94 0.06 145); color: oklch(0.33 0.14 145); }
.rb-regcheck__result.is-taken { background: oklch(0.94 0.05 30);  color: oklch(0.42 0.16 30); }
.rb-regcheck__result.is-err   { background: oklch(0.94 0.03 250); color: oklch(0.4 0.05 250); }
.rb-regcheck__dot { width: 8px; height: 8px; border-radius: 50%; background: currentColor; }
.rb-regcheck__result code { font-family: var(--rb-font-mono); font-size: 15px; font-weight: 600; }
.rb-regcheck__msg { font-size: 13px; flex: 1; }
.rb-regcheck__cta { background: var(--rb-ink); color: var(--rb-bg); border: none; padding: 8px 14px; border-radius: 6px; font-size: 13px; cursor: pointer; font-family: inherit; }
.rb-regcheck__src { font-family: var(--rb-font-mono); font-size: 11px; color: var(--rb-muted); letter-spacing: 0.04em; }

.rb-flow__cta { display: flex; justify-content: center; margin-top: 24px; }

.rb-zonegrid { display: grid; grid-template-columns: repeat(4, 1fr); gap: 16px; }
.rb-zonecard { background: var(--rb-paper); border: 1px solid var(--rb-line); border-radius: 12px; padding: 24px; display: flex; flex-direction: column; gap: 10px; }
.rb-zonecard--retired { opacity: 0.7; }
.rb-zonecard__head { display: flex; justify-content: space-between; align-items: center; }
.rb-zonecard__tag { font-family: var(--rb-font-mono); font-size: 10px; padding: 3px 8px; border-radius: 3px; letter-spacing: 0.06em; font-weight: 700; }
.rb-zonecard__tag--open    { background: oklch(0.94 0.05 140); color: oklch(0.33 0.14 145); }
.rb-zonecard__tag--private { background: oklch(0.92 0.08 80);  color: oklch(0.35 0.14 75);  }
.rb-zonecard__tag--retired { background: oklch(0.94 0.04 30);  color: oklch(0.42 0.16 30);  }
.rb-zonecard__tld { font-family: var(--rb-font-mono); font-size: 22px; font-weight: 600; color: var(--rb-ink); letter-spacing: -0.01em; }
.rb-zonecard__short { font-size: 14px; color: var(--rb-ink); font-weight: 600; }
.rb-zonecard__long { font-size: 13px; color: var(--rb-ink-2); line-height: 1.5; margin: 0; flex: 1; }
.rb-zonecard__cta { margin-top: 8px; background: transparent; border: 1px solid var(--rb-line); color: var(--rb-ink); padding: 10px 14px; border-radius: 8px; font-size: 13px; cursor: pointer; font-family: inherit; text-align: left; transition: all 0.15s; }
.rb-zonecard__cta:hover { background: var(--rb-ink); color: var(--rb-bg); border-color: var(--rb-ink); }

.rb-regcta { display: flex; align-items: center; justify-content: space-between; gap: 24px; padding: 28px 32px; background: var(--rb-ink); color: var(--rb-bg); border-radius: 12px; flex-wrap: wrap; }
.rb-regcta__t { font-family: var(--rb-font-serif); font-size: 24px; margin: 0 0 6px; font-weight: 400; }
.rb-regcta__s { font-size: 14px; opacity: 0.75; margin: 0; }
.rb-regcta .rb-btn--primary { background: var(--rb-bg); color: var(--rb-ink); }

@media (max-width: 880px) {
  .rb-zonegrid { grid-template-columns: 1fr 1fr; }
  .rb-regcheck__row { grid-template-columns: 1fr; }
  .rb-regcheck__suf { padding: 0 14px 8px; }
  .rb-regcheck__btn { border-radius: 0; }
}
@media (max-width: 560px) {
  .rb-zonegrid { grid-template-columns: 1fr; }
}


/* === REGISTRARS TABLE v2 (live data) === */
.rb-regtools { display: grid; grid-template-columns: 1fr auto; gap: 12px; align-items: center; margin-bottom: 16px; }
.rb-regtools__search { padding: 12px 16px; background: var(--rb-paper); border: 1px solid var(--rb-line); border-radius: 8px; font-size: 14px; color: var(--rb-ink); font-family: inherit; }
.rb-regtools__search:focus { outline: 2px solid var(--rb-blue); outline-offset: -1px; }
.rb-regtools__meta { display: flex; gap: 12px; align-items: center; font-size: 13px; color: var(--rb-muted); font-family: var(--rb-font-mono); }
.rb-regtools__reset { background: none; border: none; color: var(--rb-blue); cursor: pointer; font-size: 13px; padding: 4px 8px; font-family: inherit; }
.rb-regtools__reset:hover { text-decoration: underline; }

.rb-regs__head, .rb-regs__row { display: grid; grid-template-columns: 1.4fr 1.8fr 0.7fr; gap: 16px; align-items: center; padding: 14px 20px; }
.rb-regs__head { background: var(--rb-bg-alt); font-family: var(--rb-font-mono); font-size: 10px; letter-spacing: 0.1em; text-transform: uppercase; color: var(--rb-muted); font-weight: 600; }
.rb-regs__row { border-top: 1px solid var(--rb-line); transition: background 0.12s; }
.rb-regs__row:hover { background: var(--rb-bg-alt); }
.rb-regs__row--rift { background: oklch(0.95 0.04 80); }
.rb-regs__row--rift:hover { background: oklch(0.93 0.06 80); }

.rb-regs__title { display: flex; align-items: center; gap: 8px; font-weight: 600; font-size: 14px; color: var(--rb-ink); flex-wrap: wrap; }
.rb-regs__chk { display: inline-grid; place-items: center; width: 14px; height: 14px; font-size: 9px; background: oklch(0.55 0.16 145); color: #fff; border-radius: 50%; }
.rb-regs__riftBadge { font-family: var(--rb-font-mono); font-size: 10px; letter-spacing: 0.06em; padding: 2px 8px; background: oklch(0.65 0.16 75); color: #fff; border-radius: 3px; font-weight: 600; text-transform: uppercase; }
.rb-regs__site { font-family: var(--rb-font-mono); font-size: 12px; color: var(--rb-blue); text-decoration: none; margin-top: 2px; display: inline-block; }
.rb-regs__site:hover { text-decoration: underline; }
.rb-regs__company { font-size: 13px; color: var(--rb-ink-2); line-height: 1.4; }
.rb-regs__cta { color: var(--rb-ink); text-decoration: none; font-family: var(--rb-font-mono); font-size: 12px; padding: 6px 10px; border: 1px solid var(--rb-line); border-radius: 6px; text-align: center; transition: all 0.12s; }
.rb-regs__cta:hover { background: var(--rb-ink); color: var(--rb-bg); border-color: var(--rb-ink); }
.rb-regs__empty { padding: 48px; text-align: center; color: var(--rb-muted); border-top: 1px solid var(--rb-line); }

@media (max-width: 880px) {
  .rb-regtools { grid-template-columns: 1fr; }
  .rb-regs__head { display: none; }
  .rb-regs__row { grid-template-columns: 1fr; gap: 6px; padding: 14px 16px; }
}


/* === PARTNER CTA === */
.rb-partner { display: flex; align-items: center; justify-content: space-between; gap: 32px; padding: 32px 36px; background: var(--rb-paper); border: 1px solid var(--rb-line); border-radius: 12px; flex-wrap: wrap; }
.rb-partner__copy { flex: 1 1 360px; }
.rb-partner__t { font-family: var(--rb-font-serif); font-size: 24px; line-height: 1.2; margin: 0 0 8px; font-weight: 400; color: var(--rb-ink); }
.rb-partner__d { font-size: 14px; color: var(--rb-ink-2); margin: 0; line-height: 1.55; max-width: 60ch; }

@media (max-width: 600px) {
  .rb-partner { padding: 24px; }
}


.rb-adslot--live { position: relative; padding: 0; overflow: hidden; }
.rb-adslot--live .rb-adslot__lbl { position: absolute; top: 8px; left: 12px; z-index: 0; }
.rb-adslot--live .adsbygoogle { position: relative; z-index: 1; }

.rb-adblock__cta { margin-top: 20px; display: inline-flex; }
