/* RUNGEL — базовый слой.

   Всё, что раньше приходило от родительской темы: сброс, типографика,
   скелет страницы, текстовые страницы, записи, комментарии и классические
   компоненты WooCommerce (кабинет, формы, уведомления, таблицы).

   Правило проекта то же: ни одного HEX и ни одного случайного размера —
   только переменные из tokens.css.

   Порядок подключения: fonts → tokens → base → theme. */

/* ============================================================
   СБРОС
   ============================================================ */

*,
*::before,
*::after { box-sizing: border-box; }

html { -webkit-text-size-adjust: 100%; }

body,
h1, h2, h3, h4, h5, h6,
p, figure, blockquote, dl, dd { margin: 0; }

img, picture, video, canvas, svg {
    display: block;
    max-width: 100%;
    height: auto;
}

input, button, textarea, select {
    font: inherit;
    color: inherit;
}

button { cursor: pointer; }

table { border-collapse: collapse; }

/* Атрибут hidden должен побеждать раскладку компонента: без этого
   выпадающее меню шапки, помеченное hidden, всё равно отрисовывается. */
[hidden] { display: none !important; }

/* ============================================================
   ДОКУМЕНТ
   ============================================================ */

body {
    background: var(--rg-bg);
    color: var(--rg-text);
    font-family: var(--rg-font-text);
    font-size: var(--rg-body);
    line-height: 1.6;
    -webkit-font-smoothing: antialiased;
}

h1, h2, h3, h4, h5, h6 {
    color: var(--rg-ink);
    font-family: var(--rg-font-display);
    font-weight: var(--rg-w-bold);
    line-height: 1.15;
    letter-spacing: -.02em;
}

a { color: var(--rg-moss); }
a:hover { color: var(--rg-taiga); }

:focus-visible {
    outline: 0;
    box-shadow: var(--rg-focus);
    border-radius: var(--rg-r-xs);
}

::selection {
    background: color-mix(in srgb, var(--rg-moss) 25%, transparent);
}

/* ============================================================
   СЛУЖЕБНОЕ
   ============================================================ */

.screen-reader-text {
    position: absolute !important;
    width: 1px;
    height: 1px;
    padding: 0;
    margin: -1px;
    overflow: hidden;
    clip-path: inset(50%);
    white-space: nowrap;
    border: 0;
}

.rg-skip-link {
    position: absolute;
    top: var(--rg-s-3);
    left: var(--rg-s-3);
    z-index: 100;
    padding: var(--rg-s-3) var(--rg-s-4);
    background: var(--rg-surface);
    border-radius: var(--rg-r-sm);
    color: var(--rg-ink);
    font-weight: var(--rg-w-semi);
    text-decoration: none;
    transform: translateY(-200%);
}
.rg-skip-link:focus { transform: none; }

/* Значок наследует цвет текста, поэтому отдельных правил на каждое место
   не нужно: меняется цвет ссылки — меняется и значок. */
.rg-icon {
    display: block;
    flex: none;
    fill: currentColor;
}

/* ============================================================
   СКЕЛЕТ СТРАНИЦЫ
   ============================================================ */

.rg-page {
    display: flex;
    flex-direction: column;
    min-height: 100vh;
}

.site-content { flex: 1 0 auto; }

/* Секционные страницы (главная, каталог, карточка, лендинг) держат
   отступы сами — им нужна вся ширина. */
.site-content.rg-wide { width: 100%; }

/* Остальные живут в колонке: текст, кабинет, корзина, оформление. */
.site-content.rg-fixed {
    width: 100%;
    max-width: calc(1180px + var(--rg-gutter) * 2);
    margin: 0 auto;
    padding: var(--rg-s-7) var(--rg-gutter) var(--rg-s-8);
}

.rg-main { width: 100%; }

.page-title {
    margin: 0 0 var(--rg-s-6);
    font-size: var(--rg-h2);
    font-weight: var(--rg-w-black);
    letter-spacing: -.02em;
    text-transform: uppercase;
    overflow-wrap: normal;
}

/* ============================================================
   ТЕКСТОВЫЙ КОНТЕНТ
   ============================================================ */

.rg-prose .entry-content,
.rg-prose .rg-archive__intro {
    max-width: 72ch;
}

/* Кабинет, корзина и оформление — это интерфейс, а не текст:
   ограничение по длине строки им только мешает. */
.woocommerce-account .entry-content,
.woocommerce-cart .entry-content,
.woocommerce-checkout .entry-content,
.woocommerce-order-received .entry-content { max-width: none; }

.entry-content > * + * { margin-top: var(--rg-s-4); }

.entry-content h2 {
    margin-top: var(--rg-s-7);
    font-size: var(--rg-h3);
    font-weight: var(--rg-w-black);
}
.entry-content h3 {
    margin-top: var(--rg-s-6);
    font-size: var(--rg-body-lg);
    font-weight: var(--rg-w-bold);
}

.entry-content ul,
.entry-content ol { padding-left: var(--rg-s-5); }
.entry-content li + li { margin-top: var(--rg-s-2); }

.entry-content blockquote {
    padding: var(--rg-s-4) var(--rg-s-5);
    border-left: 3px solid var(--rg-moss);
    background: var(--rg-bg-soft);
    border-radius: 0 var(--rg-r-md) var(--rg-r-md) 0;
    color: var(--rg-ink-2);
}

.entry-content img,
.entry-content figure { border-radius: var(--rg-r-md); }

.entry-content figcaption {
    margin-top: var(--rg-s-2);
    color: var(--rg-muted);
    font-size: var(--rg-caption);
}

.entry-content code,
.entry-content kbd {
    padding: .1em .35em;
    background: var(--rg-surface-muted);
    border-radius: var(--rg-r-xs);
    font-family: var(--rg-font-mono);
    font-size: .9em;
}

.entry-content table {
    width: 100%;
    font-size: var(--rg-body-sm);
}
.entry-content th,
.entry-content td {
    padding: var(--rg-s-3);
    border-bottom: 1px solid var(--rg-line-soft);
    text-align: left;
}
.entry-content th { color: var(--rg-ink); font-weight: var(--rg-w-semi); }

.entry-content hr {
    height: 1px;
    margin: var(--rg-s-6) 0;
    border: 0;
    background: var(--rg-line);
}

/* ============================================================
   ЗАПИСИ И АРХИВЫ
   ============================================================ */

.rg-posts {
    display: grid;
    grid-template-columns: repeat(auto-fill, minmax(17rem, 1fr));
    gap: var(--rg-s-6);
    margin-bottom: var(--rg-s-7);
}

.rg-post {
    display: flex;
    flex-direction: column;
    overflow: hidden;
    background: var(--rg-surface);
    border: 1px solid var(--rg-line);
    border-radius: var(--rg-r-lg);
}

.rg-post__media img {
    width: 100%;
    aspect-ratio: 3 / 2;
    object-fit: cover;
}

.rg-post__body {
    display: flex;
    flex: 1;
    flex-direction: column;
    gap: var(--rg-s-2);
    padding: var(--rg-s-5);
}

.rg-post__meta {
    color: var(--rg-faint);
    font-family: var(--rg-font-mono);
    font-size: var(--rg-mono);
    letter-spacing: .07em;
    text-transform: uppercase;
}

.rg-post__title {
    font-size: var(--rg-body-lg);
    font-weight: var(--rg-w-bold);
    overflow-wrap: normal;
}
.rg-post__title a { color: var(--rg-ink); text-decoration: none; }
.rg-post__title a:hover { color: var(--rg-moss); }

.rg-post__excerpt {
    color: var(--rg-text);
    font-size: var(--rg-body-sm);
}

.rg-entry__meta {
    margin-bottom: var(--rg-s-5);
    color: var(--rg-faint);
    font-family: var(--rg-font-mono);
    font-size: var(--rg-mono);
    letter-spacing: .07em;
    text-transform: uppercase;
}

.rg-entry__media {
    margin-bottom: var(--rg-s-6);
    border-radius: var(--rg-r-lg);
    overflow: hidden;
}

.rg-archive__intro {
    margin-bottom: var(--rg-s-6);
    color: var(--rg-muted);
}

.rg-empty {
    padding: var(--rg-s-7) 0;
    color: var(--rg-muted);
}
.rg-empty p + p { margin-top: var(--rg-s-4); }

/* --- Постраничная навигация --- */

.navigation.pagination,
.woocommerce-pagination {
    margin: var(--rg-s-7) 0 0;
}

.nav-links,
.woocommerce-pagination ul {
    display: flex;
    flex-wrap: wrap;
    gap: var(--rg-s-2);
    padding: 0;
    margin: 0;
    list-style: none;
    border: 0;
}

.nav-links .page-numbers,
.woocommerce-pagination .page-numbers {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-width: var(--rg-tap-min);
    height: var(--rg-tap-min);
    padding: 0 var(--rg-s-3);
    background: var(--rg-surface);
    border: 1px solid var(--rg-line);
    border-radius: var(--rg-r-sm);
    color: var(--rg-ink);
    font-family: var(--rg-font-display);
    font-weight: var(--rg-w-semi);
    text-decoration: none;
}
.nav-links .page-numbers:hover,
.woocommerce-pagination .page-numbers:hover {
    border-color: var(--rg-taiga);
    color: var(--rg-taiga);
}
.nav-links .page-numbers.current,
.woocommerce-pagination .page-numbers.current {
    background: var(--rg-taiga);
    border-color: var(--rg-taiga);
    color: var(--rg-bg);
}
.screen-reader-text + .nav-links { margin-top: 0; }

/* ============================================================
   ПОИСК И ФОРМЫ
   ============================================================ */

.rg-search {
    display: flex;
    flex-wrap: wrap;
    gap: var(--rg-s-3);
    max-width: 32rem;
    margin: 0 0 var(--rg-s-6);
}
.rg-search .rg-field { flex: 1 1 14rem; }

label { display: inline-block; }

/* ============================================================
   КОММЕНТАРИИ
   ============================================================ */

.rg-comments {
    max-width: 72ch;
    margin-top: var(--rg-s-8);
    padding-top: var(--rg-s-6);
    border-top: 1px solid var(--rg-line);
}

.rg-comments__title {
    margin-bottom: var(--rg-s-5);
    font-size: var(--rg-h3);
}

.rg-comments__list,
.rg-comments__list .children {
    padding: 0;
    list-style: none;
}
.rg-comments__list .children { padding-left: var(--rg-s-5); }

.rg-comments__list .comment-body {
    padding: var(--rg-s-5) 0;
    border-bottom: 1px solid var(--rg-line-soft);
}

.comment-form { margin-top: var(--rg-s-6); }
.comment-form p { margin-bottom: var(--rg-s-4); }
.comment-form input[type='text'],
.comment-form input[type='email'],
.comment-form input[type='url'],
.comment-form textarea {
    width: 100%;
    padding: 14px 16px;
    background: var(--rg-surface);
    border: 1.5px solid var(--rg-line);
    border-radius: var(--rg-r-md);
    color: var(--rg-ink);
}
.comment-form textarea { min-height: 8rem; }

/* ============================================================
   WOOCOMMERCE — КЛАССИЧЕСКИЕ ЧАСТИ

   Оформительскую таблицу стилей WooCommerce мы не подключаем: цвета,
   кнопки и уведомления рисуем на токенах. Структурная (`layout`)
   остаётся за ним — колонки кабинета и сетки считает он.
   ============================================================ */

/* --- Уведомления --- */

.woocommerce-notices-wrapper:empty { display: none; }

.woocommerce-message,
.woocommerce-info,
.woocommerce-error,
.woocommerce-noreviews {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: var(--rg-s-3) var(--rg-s-4);
    margin: 0 0 var(--rg-s-5);
    padding: var(--rg-s-4) var(--rg-s-5);
    list-style: none;
    background: var(--rg-surface);
    border: 1px solid var(--rg-line);
    border-left: 4px solid var(--rg-moss);
    border-radius: var(--rg-r-md);
    color: var(--rg-ink-2);
}
.woocommerce-info { border-left-color: var(--rg-gold); }
.woocommerce-error {
    border-left-color: var(--rg-error);
    background: var(--rg-warn-bg);
}
.woocommerce-error li + li { margin-top: var(--rg-s-2); }

/* Кнопку WooCommerce ставит в разметке перед текстом — визуально она
   должна быть после него, иначе сообщение читается задом наперёд. */
.woocommerce-message .button,
.woocommerce-info .button {
    order: 2;
    margin-left: auto;
}
.woocommerce-message,
.woocommerce-info { justify-content: space-between; }

/* --- Кнопки магазина --- */

.woocommerce .button,
.woocommerce button.button,
.woocommerce input.button,
.woocommerce a.button,
.woocommerce-Button {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-height: var(--rg-btn-h);
    padding: 14px 26px;
    background: var(--rg-taiga);
    border: 0;
    /* Та же капсула, что у собственных кнопок темы: кнопки магазина
       стоят с ними на одних страницах — корзина, кабинет, оформление. */
    border-radius: var(--rg-r-pill);
    color: var(--rg-bg);
    font-family: var(--rg-font-display);
    font-size: var(--rg-body);
    font-weight: var(--rg-w-extra);
    text-decoration: none;
    transition: background var(--rg-ease), transform var(--rg-ease);
}
.woocommerce .button:hover,
.woocommerce button.button:hover,
.woocommerce input.button:hover,
.woocommerce a.button:hover,
.woocommerce-Button:hover {
    background: var(--rg-taiga-deep);
    color: var(--rg-bg);
    transform: translateY(-1px);
}
.woocommerce .button:disabled { opacity: .55; transform: none; cursor: not-allowed; }

/* --- Формы --- */

.woocommerce form .form-row {
    display: flex;
    flex-direction: column;
    gap: var(--rg-s-2);
    margin: 0 0 var(--rg-s-4);
    padding: 0;
}
.woocommerce form .form-row label { color: var(--rg-muted); font-size: var(--rg-body-sm); }
.woocommerce form .form-row .required { color: var(--rg-error); text-decoration: none; }

.woocommerce form .form-row input.input-text,
.woocommerce form .form-row textarea,
.woocommerce form .form-row select,
.woocommerce .woocommerce-Input {
    width: 100%;
    min-height: var(--rg-btn-h);
    padding: 14px 18px;
    background: var(--rg-surface);
    border: 1.5px solid var(--rg-line);
    border-radius: var(--rg-r-md);
    color: var(--rg-ink);
}
.woocommerce form .form-row input.input-text:focus,
.woocommerce form .form-row textarea:focus,
.woocommerce form .form-row select:focus {
    outline: 0;
    border-color: var(--rg-moss);
    box-shadow: var(--rg-focus);
}

.woocommerce form.login,
.woocommerce form.register,
.woocommerce form.lost_reset_password,
.woocommerce-EditAccountForm,
.woocommerce-address-fields {
    max-width: 34rem;
    padding: var(--rg-s-6);
    background: var(--rg-surface);
    border: 1px solid var(--rg-line);
    border-radius: var(--rg-r-lg);
}

.woocommerce form .form-row-first,
.woocommerce form .form-row-last { width: 100%; }

/* Страна одна — Россия (настройка магазина). В форме адреса выбирать
   не из чего, значение всё равно уходит в заказ.

   `!important` здесь по делу: строку показывает скрипт адресов WooCommerce
   (`wc-address-i18n` делает `.show()`), а инлайновый стиль обычным правилом
   не перебить. */
.woocommerce-address-fields #billing_country_field,
.woocommerce-address-fields #shipping_country_field,
.woocommerce-billing-fields #billing_country_field,
.woocommerce-shipping-fields #shipping_country_field { display: none !important; }

/* Кнопка «показать пароль». Свою картинку WooCommerce рисует в отключённых
   нами классических стилях, поэтому глаз рисуем сами — маской по
   `currentColor`, чтобы иконка красилась темой и не тянула файл. */
.woocommerce .password-input { position: relative; display: block; }

.woocommerce .show-password-input {
    position: absolute;
    right: 12px;
    top: 50%;
    width: 22px;
    height: 22px;
    transform: translateY(-50%);
    border: 0;
    background-color: var(--rg-muted);
    cursor: pointer;
    -webkit-mask: var(--rg-icon-eye) center / 22px 22px no-repeat;
    mask: var(--rg-icon-eye) center / 22px 22px no-repeat;
}
.woocommerce .show-password-input:hover { background-color: var(--rg-ink); }
.woocommerce .show-password-input.display-password { background-color: var(--rg-taiga); }

/* Поле оставляет место под кнопку, иначе точки пароля уезжают под неё. */
.woocommerce .password-input input { padding-right: 44px; }

/* Смена пароля в профиле обёрнута в `fieldset` — у него браузерная рамка
   «в канавку» родом из девяностых. Группу обозначаем заголовком и линией. */
.woocommerce-EditAccountForm fieldset {
    margin: var(--rg-s-6) 0 0;
    padding: var(--rg-s-5) 0 0;
    border: 0;
    border-top: 1px solid var(--rg-line);
}
.woocommerce-EditAccountForm legend {
    /* Браузер вырезает `legend` из рамки и кладёт поверх неё. Нам нужна
       обычная строка над линией — плавающий блок на всю ширину делает
       заголовок нормальным элементом потока. */
    float: left;
    width: 100%;
    padding: 0;
    margin-bottom: var(--rg-s-4);
    font-family: var(--rg-font-display);
    font-size: var(--rg-body-lg);
    font-weight: var(--rg-w-black);
    color: var(--rg-ink);
}
.woocommerce-EditAccountForm legend + * { clear: both; }

.woocommerce-form-login__rememberme { color: var(--rg-muted); font-size: var(--rg-body-sm); }
.woocommerce-LostPassword { margin-top: var(--rg-s-4); font-size: var(--rg-body-sm); }

/* Заголовки «Вход» и «Регистрация» стоят вне карточек с формами, а нижнего
   отступа у заголовков в `.entry-content` нет — подпись прилипала к рамке. */
.woocommerce #customer_login h2 { margin-bottom: var(--rg-s-5); }

/* Пояснение под заголовком формы регистрации. */
.rg-register-intro { margin: 0 0 var(--rg-s-5); color: var(--rg-muted); font-size: var(--rg-body-sm); }

/* --- Флажки: согласия при регистрации и «запомнить меня» --- */

/* Сетка, а не строка: длинное согласие переносится на вторую строку, и она
   должна встать под текстом, а не под квадратиком. */
.woocommerce .rg-check,
.woocommerce .woocommerce-form-login__rememberme {
    display: grid;
    grid-template-columns: auto 1fr;
    align-items: start;
    gap: var(--rg-s-3);
    cursor: pointer;
    line-height: 1.5;
}
.woocommerce .rg-check input[type="checkbox"],
.woocommerce .woocommerce-form-login__rememberme input[type="checkbox"] {
    width: 1.15rem;
    height: 1.15rem;
    /* Квадратик выше строчных букв — сдвигаем его к середине первой строки. */
    margin: .15rem 0 0;
    accent-color: var(--rg-taiga);
}
.woocommerce .rg-check span { color: var(--rg-text); font-size: var(--rg-body-sm); }
.woocommerce .rg-check a { text-underline-offset: .2em; }

/* Согласия — отдельная группа между паролем и кнопкой. */
.woocommerce form .form-row.rg-consent { margin-bottom: var(--rg-s-3); }
.woocommerce form .form-row:not(.rg-consent) + .rg-consent { margin-top: var(--rg-s-5); }
.woocommerce form .form-row.rg-consent + .form-row:not(.rg-consent) { margin-top: var(--rg-s-5); }

/* --- Таблицы магазина --- */

.woocommerce table.shop_table {
    width: 100%;
    margin: 0 0 var(--rg-s-6);
    border: 0;
    border-radius: 0;
    font-size: var(--rg-body-sm);
}
.woocommerce table.shop_table th {
    padding: var(--rg-s-3) var(--rg-s-3) var(--rg-s-3) 0;
    border-bottom: 1.5px solid var(--rg-line);
    color: var(--rg-muted);
    font-family: var(--rg-font-mono);
    font-size: var(--rg-mono);
    font-weight: var(--rg-w-medium);
    letter-spacing: .07em;
    text-align: left;
    text-transform: uppercase;
}
.woocommerce table.shop_table td {
    padding: var(--rg-s-4) var(--rg-s-3) var(--rg-s-4) 0;
    border-top: 0;
    border-bottom: 1px solid var(--rg-line-soft);
    color: var(--rg-text);
}
.woocommerce table.shop_table .woocommerce-Price-amount {
    color: var(--rg-ink);
    font-family: var(--rg-font-display);
    font-weight: var(--rg-w-bold);
}

/* --- Две колонки: адреса, классическое оформление --- */

.woocommerce .col2-set {
    display: grid;
    gap: var(--rg-s-6);
    grid-template-columns: repeat(auto-fit, minmax(18rem, 1fr));
}
.woocommerce .col2-set .col-1,
.woocommerce .col2-set .col-2 { width: 100%; float: none; }

.woocommerce-Addresses { margin-bottom: var(--rg-s-6); }

.woocommerce-columns {
    display: grid;
    gap: var(--rg-s-6);
    grid-template-columns: repeat(auto-fit, minmax(18rem, 1fr));
}

/* --- Личный кабинет --- */

.woocommerce-account .woocommerce {
    display: grid;
    gap: var(--rg-s-6);
}

/* Товары в списках заказов и в письмах-таблицах */
.woocommerce table.shop_table img {
    width: 3rem;
    height: auto;
    border-radius: var(--rg-r-xs);
}

.woocommerce-MyAccount-navigation {
    width: 100%;
    float: none;
    /* Отступ до содержимого задаёт сетка кабинета (`gap`); свой нижний отступ
       складывался с ним, и вкладки отрывались от того, что под ними. */
    margin: 0;
    padding-bottom: var(--rg-s-2);
    border-bottom: 1px solid var(--rg-line);
    overflow-x: auto;
}
.woocommerce-MyAccount-navigation ul {
    display: flex;
    gap: var(--rg-s-5);
    padding: 0;
    margin: 0;
    list-style: none;
    white-space: nowrap;
}
.woocommerce-MyAccount-navigation li a {
    display: inline-block;
    padding: var(--rg-s-3) 0;
    border-bottom: 2px solid transparent;
    color: var(--rg-muted);
    font-family: var(--rg-font-display);
    font-weight: var(--rg-w-semi);
    text-decoration: none;
}
/* Список вкладок горизонтальный, а в `.entry-content` соседние пункты
   списка разъезжает правило `li + li { margin-top }` — первая вкладка
   вставала выше остальных. */
.woocommerce-MyAccount-navigation li + li { margin-top: 0; }

.woocommerce-MyAccount-navigation li a:hover { color: var(--rg-ink); }
.woocommerce-MyAccount-navigation li.is-active a {
    border-bottom-color: var(--rg-taiga);
    color: var(--rg-ink);
}

.woocommerce-MyAccount-content {
    width: 100%;
    float: none;
}
.woocommerce-MyAccount-content p { margin-bottom: var(--rg-s-4); }

/* Заголовки внутри кабинета. В `.entry-content` у них большой отступ сверху
   и никакого снизу: форма адреса отъезжала от вкладок и прилипала к своему
   заголовку. Внутри кабинета отступы свои. */
.woocommerce-MyAccount-content > h2,
.woocommerce-MyAccount-content > h3,
.woocommerce-MyAccount-content form > h2,
.woocommerce-MyAccount-content form > h3,
.woocommerce-MyAccount-content fieldset > legend {
    margin: 0 0 var(--rg-s-4);
    font-size: var(--rg-h3);
    font-weight: var(--rg-w-black);
}
.woocommerce-MyAccount-content form > h2 + *,
.woocommerce-MyAccount-content form > h3 + * { margin-top: 0; }

/* Пустая обёртка уведомлений не должна занимать высоту. */
.woocommerce-MyAccount-content > .woocommerce-notices-wrapper:empty { display: none; }

.woocommerce-Address {
    padding: var(--rg-s-5);
    background: var(--rg-surface);
    border: 1px solid var(--rg-line);
    border-radius: var(--rg-r-lg);
}

/* Карточка адреса живёт внутри `.entry-content`, где у заголовков большой
   отступ сверху: он выдавливал строку вниз, а под ней всё слипалось.
   Внутри карточки типографика своя. */
/* Уведомления магазина получают программный фокус (`tabindex="-1"`), чтобы их
   прочитал скринридер. Кольцо фокуса при этом не нужно: с клавиатуры на такой
   элемент не попасть, а рамка читается как «здесь что-то можно нажать». */
[tabindex="-1"]:focus,
[tabindex="-1"]:focus-visible { outline: 0; box-shadow: none; }

.woocommerce-Address-title {
    display: flex;
    flex-wrap: wrap;
    align-items: baseline;
    gap: var(--rg-s-2) var(--rg-s-4);
    margin: 0 0 var(--rg-s-3);
}
.woocommerce-Address-title h2 {
    margin: 0;
    font-size: var(--rg-h3);
    font-weight: var(--rg-w-black);
}
.woocommerce-Address-title .edit {
    font-size: var(--rg-body-sm);
    font-weight: var(--rg-w-semi);
}
.woocommerce-Address address { margin: 0; font-style: normal; line-height: 1.6; color: var(--rg-text); }

/* --- Мелочи --- */

.woocommerce .quantity .qty {
    width: 5rem;
    min-height: var(--rg-tap-min);
    padding: 8px 10px;
    background: var(--rg-surface);
    border: 1.5px solid var(--rg-line);
    border-radius: var(--rg-r-sm);
    color: var(--rg-ink);
    font-family: var(--rg-font-display);
    text-align: center;
}

.woocommerce .price,
.woocommerce-Price-amount {
    color: var(--rg-ink);
    font-family: var(--rg-font-display);
}

.woocommerce-terms-and-conditions-wrapper { font-size: var(--rg-body-sm); }
