/* РМД — токены и базовые классы дизайн-системы. Источник: DESIGN.md */
:root {
  /* Цвета */
  --copper: #9b092d;        /* Раскалённая медь — CTA, цены, акценты */
  --copper-dark: #6b170f;
  --copper-light: #b6252f;
  --on-primary: #f3eddf;
  --bronze: #a58978;        /* Старинная бронза — гравюра */
  --bronze-dark: #5f3619;
  --bronze-light: #baa98e;
  --gold: #c39a65;          /* Византийское золото — футер, рамки */
  --gold-dark: #ae7f50;
  --gold-light: #e6dcbf;
  --canvas: #f3eddf;
  --card: #ffffff;
  --ink: #1c1c1b;
  --body: #3b3630;
  --muted: #8a8072;
  --hairline: #e6dcbf;
  --hairline-soft: #efe8da;
  --burgundy: #892725;
  --navy: #1e4771;
  --teal: #26727d;
  --price-yellow: #fdd10d;
  --error: #b6252f;
  /* Шрифты */
  --font-display: 'Lazurski', serif;
  --font-ui: 'Geologica', sans-serif;
  /* Радиусы */
  --r-xs: 3px; --r-sm: 5px; --r-md: 8px; --r-lg: 12px;
}

* { box-sizing: border-box; }
body { margin: 0; font-family: var(--font-ui); font-weight: 400; color: var(--body); background: var(--canvas); font-size: 16px; line-height: 1.6; }

/* Типографика */
.display { font-family: var(--font-display); font-weight: 400; color: var(--ink); line-height: 1.15; margin: 0; }
.display--xl { font-size: 56px; letter-spacing: 1px; line-height: 1.12; }
.display--lg { font-size: 44px; letter-spacing: 0.5px; }
.display--md { font-size: 32px; letter-spacing: 0.5px; line-height: 1.2; }
.display--sm { font-size: 26px; letter-spacing: 0.3px; line-height: 1.25; }
.display--caps { text-transform: uppercase; }
.overline { font-family: var(--font-ui); font-size: 13px; font-weight: 500; letter-spacing: 2px; text-transform: uppercase; color: var(--bronze); margin: 0 0 12px; }
.title-md { font-family: var(--font-ui); font-size: 18px; font-weight: 600; color: var(--ink); line-height: 1.35; margin: 0; }

/* Паттерн-подложки (url относителен styles.css) */
.pattern-cream { background-color: var(--canvas); background-image: url('assets/rmd-pattern-tile.jpg'); background-size: 420px; background-blend-mode: multiply; }
.pattern-tint  { position: relative; }
.pattern-tint::before { content: ''; position: absolute; inset: 0; background: url('assets/rmd-pattern-tile.jpg') 0 0 / 380px; opacity: 0.10; mix-blend-mode: luminosity; pointer-events: none; }
.pattern-tint > * { position: relative; }

/* Кнопки */
.btn { display: inline-flex; align-items: center; justify-content: center; gap: 8px; height: 48px; padding: 14px 28px; border-radius: var(--r-sm); border: none; cursor: pointer; font-family: var(--font-ui); font-size: 15px; font-weight: 600; letter-spacing: 0.5px; text-transform: uppercase; text-decoration: none; }
.btn--primary { background: var(--copper); color: var(--on-primary); }
.btn--primary:hover, .btn--primary.is-active { background: var(--copper-dark); }
.btn--outline { background: transparent; color: var(--bronze-dark); border: 1px solid var(--bronze-dark); }
.btn--outline:hover, .btn--outline.is-active { background: rgba(95,54,25,0.07); }

/* Карточки и рамки */
.card { background: var(--card); border: 1px solid var(--hairline); border-radius: var(--r-md); }
.double-rule { border: 1px solid var(--gold-dark); outline: 1px solid var(--gold-dark); outline-offset: 3px; }

/* Цены */
.price { font-family: var(--font-ui); font-weight: 800; font-size: 36px; color: var(--copper); line-height: 1; }
.price--old { font-weight: 500; font-size: 18px; color: var(--muted); text-decoration: line-through; }
.price-badge { display: inline-block; background: var(--price-yellow); color: var(--copper); font-weight: 800; font-family: var(--font-ui); border-radius: var(--r-xs); padding: 8px 16px; }

/* Бейджи */
.badge-gift { display: inline-block; background: var(--copper-light); color: var(--on-primary); font-size: 14px; font-weight: 600; border-radius: var(--r-xs); padding: 8px 14px; }
.ribbon { display: inline-block; background: var(--copper-light); color: var(--on-primary); font-size: 12px; font-weight: 600; letter-spacing: 1px; text-transform: uppercase; padding: 4px 10px; border-radius: var(--r-xs); }

/* Печать-гарантия (розетка) */
.seal { width: 96px; height: 96px; border-radius: 50%; background: var(--copper); color: var(--on-primary); display: flex; flex-direction: column; align-items: center; justify-content: center; text-align: center; font-family: var(--font-ui); box-shadow: 0 0 0 3px var(--on-primary) inset, 0 0 0 6px var(--copper) inset; }
.seal b { font-size: 17px; font-weight: 800; }
.seal span { font-size: 8.5px; font-weight: 600; letter-spacing: 0.6px; text-transform: uppercase; }

/* Формы */
.input { width: 100%; height: 48px; padding: 12px 16px; border: 1px solid var(--hairline); border-radius: var(--r-sm); background: var(--card); font-family: var(--font-ui); font-size: 16px; color: var(--ink); outline: none; }
.input:focus, .input.is-focus { border-color: var(--copper); box-shadow: 0 0 0 3px rgba(155,9,45,0.12); }
.input.is-error { border-color: var(--error); box-shadow: 0 0 0 3px rgba(182,37,47,0.12); }
.label { display: block; font-size: 16px; font-weight: 500; color: var(--ink); margin-bottom: 8px; }
.helper { font-size: 13px; color: var(--muted); margin-top: 6px; }
.helper--error { color: var(--error); }

/* Разделитель */
.rule { border: none; border-top: 1px solid var(--gold-light); margin: 24px 0; }
