/*
 * RuKink theme token contract — STEP 43.
 *
 * В STEP 43 файл НЕ подключается к Blade и не меняет внешний вид сайта.
 *
 * dark  — точная палитра нынешнего Stage;
 * lux   — основная тёмно-изумрудная тема;
 * light — утверждённая светлая тема.
 *
 * Цвета статусов пока остаются семантическими константами.
 */

:root,
html[data-rk-theme="dark"] {
    --rk-bg-page: #202020;
    --rk-bg-deep: #0B080A;
    --rk-surface-primary: #252429;
    --rk-surface-secondary: #313035;
    --rk-surface-active: #313035;
    --rk-surface-disabled: #5A585F;
    --rk-surface-muted: #949494;
    --rk-surface-contrast: #FFFFFF;
    --rk-card-bg: #252429;
    --rk-input-bg: #202020;

    --rk-text-primary: #FFFFFF;
    --rk-text-secondary: #C4C4C4;
    --rk-text-muted: #949494;
    --rk-text-soft: #E8E8E8;
    --rk-text-inverse: #0B080A;
    --rk-control-ink: #000000;

    --rk-border: #949494;
    --rk-border-subtle: hsla(0, 0%, 58%, 0.5);
    --rk-border-strong: #C4C4C4;
    --rk-border-highlight: #FFFFFF;

    --rk-accent: #BE2E21;
    --rk-accent-hover: #98251A;
    --rk-accent-contrast: #FFFFFF;

    --rk-overlay: rgba(11, 8, 10, 0.4);
    --rk-overlay-media: rgba(37, 36, 41, 0.7);
    --rk-error-bg: #FFFFFF;
    --rk-error-text: #B0BEC5;
    --rk-required-mark: #FF0000;

    --rk-footer-bg: #0B080A;
    --rk-footer-text: #FFFFFF;

    --rk-status-success: #69B831;
    --rk-status-danger: #E3342F;
    --rk-status-warning: #FFB800;
    --rk-counter-accent: #00E5A3;
}

html[data-rk-theme="lux"] {
    --rk-bg-page: #04231C;
    --rk-bg-deep: #0B1A16;
    --rk-surface-primary: #0B1A16;
    --rk-surface-secondary: #04231C;
    --rk-surface-active: #04231C;
    --rk-surface-disabled: #0B1A16;
    --rk-surface-muted: #C59B73;
    --rk-surface-contrast: #E5B887;
    --rk-card-bg: #0B1A16;
    --rk-input-bg: #0B1A16;

    --rk-text-primary: #F3ECE2;
    --rk-text-secondary: #E5B887;
    --rk-text-muted: #C59B73;
    --rk-text-soft: #F3ECE2;
    --rk-text-inverse: #04231C;
    --rk-control-ink: #04231C;

    --rk-border: #C59B73;
    --rk-border-subtle: rgba(197, 155, 115, 0.5);
    --rk-border-strong: #E5B887;
    --rk-border-highlight: #E5B887;

    --rk-accent: #C59B73;
    --rk-accent-hover: #E5B887;
    --rk-accent-contrast: #04231C;

    --rk-overlay: rgba(11, 26, 22, 0.4);
    --rk-overlay-media: rgba(11, 26, 22, 0.72);
    --rk-error-bg: #04231C;
    --rk-error-text: #F3ECE2;
    --rk-required-mark: #E3342F;

    --rk-footer-bg: #0B1A16;
    --rk-footer-text: #F3ECE2;

    --rk-status-success: #69B831;
    --rk-status-danger: #E3342F;
    --rk-status-warning: #FFB800;
    --rk-counter-accent: #00E5A3;
}

html[data-rk-theme="light"] {
    --rk-bg-page: #F3ECE2;
    --rk-bg-deep: #E8DED2;
    --rk-surface-primary: #FFF9F1;
    --rk-surface-secondary: #E8DED2;
    --rk-surface-active: #E8DED2;
    --rk-surface-disabled: #E8DED2;
    --rk-surface-muted: #E8DED2;
    --rk-surface-contrast: #FFF9F1;
    --rk-card-bg: #FFF9F1;
    --rk-input-bg: #FFF9F1;

    --rk-text-primary: #183A32;
    --rk-text-secondary: #6F665E;
    --rk-text-muted: #6F665E;
    --rk-text-soft: #A9784F;
    --rk-text-inverse: #FFF9F1;
    --rk-control-ink: #183A32;

    --rk-border: #CDBBA8;
    --rk-border-subtle: rgba(205, 187, 168, 0.5);
    --rk-border-strong: #A9784F;
    --rk-border-highlight: #CDBBA8;

    --rk-accent: #0D4A3B;
    --rk-accent-hover: #183A32;
    --rk-accent-contrast: #FFF9F1;

    --rk-overlay: rgba(24, 58, 50, 0.25);
    --rk-overlay-media: rgba(24, 58, 50, 0.18);
    --rk-error-bg: #F3ECE2;
    --rk-error-text: #183A32;
    --rk-required-mark: #E3342F;

    --rk-footer-bg: #0D4A3B;
    --rk-footer-text: #FFF9F1;

    --rk-status-success: #69B831;
    --rk-status-danger: #E3342F;
    --rk-status-warning: #FFB800;
    --rk-counter-accent: #00E5A3;
}

/* RuKink STEP 57 — global runtime surface bridge.
 * Colors only: no dimensions, layout, typography or component logic.
 * Semantic danger/success/warning colors are intentionally untouched.
 */
html[data-rk-theme] body {
    background-color: var(--rk-bg-page);
    color: var(--rk-text-primary);
}

html[data-rk-theme] .img-thumbnail,
html[data-rk-theme] .form-control,
html[data-rk-theme] .form-control:focus,
html[data-rk-theme] select.form-control:focus::-ms-value,
html[data-rk-theme] .input-group-text,
html[data-rk-theme] .custom-control-label::before,
html[data-rk-theme] .custom-control-input:checked ~ .custom-control-label::before,
html[data-rk-theme] .custom-control-input:disabled ~ .custom-control-label::before,
html[data-rk-theme] .custom-control-input[disabled] ~ .custom-control-label::before,
html[data-rk-theme] .custom-file-label,
html[data-rk-theme] .custom-file-label::after,
html[data-rk-theme] .custom-select,
html[data-rk-theme] .custom-select:focus::-ms-value,
html[data-rk-theme] .nav-tabs .nav-item.show .nav-link,
html[data-rk-theme] .nav-tabs .nav-link.active {
    background-color: var(--rk-input-bg);
    color: var(--rk-text-primary);
}

html[data-rk-theme] .form-control,
html[data-rk-theme] .form-control:focus,
html[data-rk-theme] .input-group-text,
html[data-rk-theme] .custom-select,
html[data-rk-theme] .custom-select:focus,
html[data-rk-theme] .custom-file-label,
html[data-rk-theme] .custom-file-input:focus ~ .custom-file-label,
html[data-rk-theme] .custom-control-label::before,
html[data-rk-theme] .custom-control-input:checked ~ .custom-control-label::before,
html[data-rk-theme] .custom-control-input:focus:not(:checked) ~ .custom-control-label::before {
    border-color: var(--rk-border);
}

html[data-rk-theme] .form-control::placeholder {
    color: var(--rk-text-muted);
}

html[data-rk-theme] .dropdown-menu,
html[data-rk-theme] .list-group-item,
html[data-rk-theme] .list-group-item.disabled,
html[data-rk-theme] .list-group-item:disabled {
    background-color: var(--rk-surface-primary);
    color: var(--rk-text-primary);
}

html[data-rk-theme] .dropdown-item,
html[data-rk-theme] .list-group-item-action {
    color: var(--rk-text-secondary);
}

html[data-rk-theme] .dropdown-item.active,
html[data-rk-theme] .dropdown-item:active,
html[data-rk-theme] .dropdown-item:focus,
html[data-rk-theme] .dropdown-item:hover,
html[data-rk-theme] .list-group-item-action:focus,
html[data-rk-theme] .list-group-item-action:hover,
html[data-rk-theme] .list-group-item.active,
html[data-rk-theme] .nav-pills .nav-link.active,
html[data-rk-theme] .nav-pills .show > .nav-link,
html[data-rk-theme] .page-item.active .page-link,
html[data-rk-theme] .custom-range::-webkit-slider-thumb,
html[data-rk-theme] .custom-range::-moz-range-thumb,
html[data-rk-theme] .custom-range::-ms-thumb {
    background-color: var(--rk-surface-active);
}

html[data-rk-theme] .list-group-item,
html[data-rk-theme] .list-group-item.active,
html[data-rk-theme] .page-item.active .page-link {
    border-color: var(--rk-border);
}

html[data-rk-theme] .custom-checkbox .custom-control-input:indeterminate ~ .custom-control-label::before {
    background-color: var(--rk-surface-active);
    border-color: var(--rk-border);
}

html[data-rk-theme] .custom-switch .custom-control-input:checked ~ .custom-control-label::after {
    background-color: var(--rk-text-primary);
}

html[data-rk-theme] .nav-tabs .nav-item.show .nav-link,
html[data-rk-theme] .nav-tabs .nav-link.active {
    border-color: var(--rk-border) var(--rk-border) var(--rk-input-bg);
}

/* RuKink STEP 58 — friends runtime theme bridge.
 * Colors only: the autonomous Friends palette is mapped to shared theme roles.
 * Layout, dimensions, typography, content, actions and Vue logic are untouched.
 */
html[data-rk-theme] .friends-page {
    --friends-red: var(--rk-accent);
    --friends-red-dark: var(--rk-accent-hover);
    --friends-green: var(--rk-status-success);
    --friends-panel: var(--rk-surface-primary);
    --friends-panel-raised: var(--rk-surface-secondary);
    --friends-border: var(--rk-border);
    --friends-muted: var(--rk-text-muted);
    color: var(--rk-text-primary);
}

html[data-rk-theme] .friends-page-shell,
html[data-rk-theme] .friends-hub,
html[data-rk-theme] .friends-content {
    background-color: var(--rk-surface-primary);
    background-image: none;
    border-color: var(--rk-border);
    color: var(--rk-text-primary);
}

html[data-rk-theme] .friends-page-heading {
    background-color: var(--rk-surface-primary);
    background-image: none;
    border-color: var(--rk-border);
}

html[data-rk-theme] .friends-page-heading h1,
html[data-rk-theme] .friends-content__header,
html[data-rk-theme] .friends-empty,
html[data-rk-theme] .friends-card__name,
html[data-rk-theme] .friends-card__name:focus,
html[data-rk-theme] .friends-card__name:hover {
    color: var(--rk-text-primary);
}

html[data-rk-theme] .friends-page-heading p,
html[data-rk-theme] .friends-content__total,
html[data-rk-theme] .friends-card__city {
    color: var(--rk-text-muted);
}

html[data-rk-theme] .friends-empty__icon {
    color: var(--rk-accent);
}

html[data-rk-theme] .friends-page-private {
    background-color: var(--rk-surface-secondary);
    border-color: var(--rk-border);
    color: var(--rk-text-secondary);
}

html[data-rk-theme] .friends-page-private i {
    color: var(--rk-status-success);
}

html[data-rk-theme] .friends-page-noscript,
html[data-rk-theme] .friends-error {
    background-color: var(--rk-surface-primary);
    border-color: var(--rk-status-danger);
    color: var(--rk-status-danger);
}

html[data-rk-theme] .friends-request-notice {
    background-color: var(--rk-surface-primary);
    background-image: none;
    border-color: var(--rk-accent);
    color: var(--rk-text-primary);
}

html[data-rk-theme] .friends-request-notice__icon {
    background-color: var(--rk-surface-secondary);
    border-color: var(--rk-accent);
    color: var(--rk-accent);
}

html[data-rk-theme] .friends-request-notice__copy p {
    color: var(--rk-text-secondary);
}

html[data-rk-theme] .friends-request-notice__button,
html[data-rk-theme] .friends-load-more button,
html[data-rk-theme] .friends-card__action.is-primary {
    background-color: var(--rk-accent);
    border-color: var(--rk-accent);
    color: var(--rk-accent-contrast);
}

html[data-rk-theme] .friends-request-notice__button:focus,
html[data-rk-theme] .friends-request-notice__button:hover,
html[data-rk-theme] .friends-load-more button:focus,
html[data-rk-theme] .friends-load-more button:hover,
html[data-rk-theme] .friends-card__action.is-primary:focus,
html[data-rk-theme] .friends-card__action.is-primary:hover {
    background-color: var(--rk-accent-hover);
    border-color: var(--rk-accent-hover);
    color: var(--rk-accent-contrast);
}

html[data-rk-theme] .friends-toolbar {
    background-color: var(--rk-surface-secondary);
    border-color: var(--rk-border);
    color: var(--rk-text-secondary);
}

html[data-rk-theme] .friends-tab {
    background-color: transparent;
    border-color: transparent;
    color: var(--rk-text-secondary);
}

html[data-rk-theme] .friends-tab:focus,
html[data-rk-theme] .friends-tab:hover {
    background-color: var(--rk-surface-active);
    border-color: var(--rk-border);
    color: var(--rk-text-primary);
}

html[data-rk-theme] .friends-tab.is-active {
    background-color: var(--rk-surface-active);
    border-color: var(--rk-accent);
    color: var(--rk-text-primary);
}

html[data-rk-theme] .friends-tab__count {
    background-color: var(--rk-surface-primary);
    border-color: var(--rk-border);
    color: var(--rk-text-secondary);
}

html[data-rk-theme] .friends-tab__count.has-new {
    background-color: var(--rk-accent);
    border-color: var(--rk-accent);
    color: var(--rk-accent-contrast);
}

html[data-rk-theme] .friends-online-toggle {
    color: var(--rk-text-secondary);
}

html[data-rk-theme] .friends-online-toggle__switch {
    background-color: var(--rk-surface-disabled);
    border-color: var(--rk-border);
}

html[data-rk-theme] .friends-online-toggle input:checked + .friends-online-toggle__switch,
html[data-rk-theme] .friends-online-toggle input:checked ~ .friends-online-toggle__switch {
    background-color: var(--rk-surface-active);
    border-color: var(--rk-status-success);
}

html[data-rk-theme] .friends-online-toggle__dot,
html[data-rk-theme] .friends-online-toggle input:checked + .friends-online-toggle__switch::after,
html[data-rk-theme] .friends-online-toggle input:checked ~ .friends-online-toggle__switch::after {
    background-color: var(--rk-status-success);
    border-color: var(--rk-status-success);
    color: var(--rk-text-inverse);
}

html[data-rk-theme] .friends-card__status {
    background-color: var(--rk-surface-primary);
    border-color: var(--rk-status-success);
    color: var(--rk-status-success);
}

html[data-rk-theme] .friends-card__status.is-offline {
    background-color: var(--rk-surface-disabled);
    border-color: var(--rk-border);
    color: var(--rk-text-muted);
}

html[data-rk-theme] .friends-grid__item,
html[data-rk-theme] article.user_card.friends-page-card {
    background-color: var(--rk-card-bg);
    border-color: var(--rk-border);
    color: var(--rk-text-primary);
}

html[data-rk-theme] article.user_card.friends-page-card:focus-within,
html[data-rk-theme] article.user_card.friends-page-card:hover {
    border-color: var(--rk-border-strong);
}

html[data-rk-theme] .friends-card__media,
html[data-rk-theme] .friends-card__body,
html[data-rk-theme] .friends-card__actions {
    background-color: var(--rk-card-bg);
    border-color: var(--rk-border);
    color: var(--rk-text-primary);
}

html[data-rk-theme] .friends-card__media::after {
    background-image: linear-gradient(to top, var(--rk-overlay), transparent 55%);
}

html[data-rk-theme] .friends-card__menu-button {
    background-color: var(--rk-surface-secondary);
    border-color: var(--rk-border);
    color: var(--rk-text-secondary);
}

html[data-rk-theme] .friends-card__menu-button:focus,
html[data-rk-theme] .friends-card__menu-button:hover {
    background-color: var(--rk-surface-active);
    border-color: var(--rk-border-strong);
    color: var(--rk-text-primary);
}

html[data-rk-theme] .friends-page .friends-card__menu .dropdown-menu {
    background-color: var(--rk-surface-primary);
    border-color: var(--rk-border);
}

html[data-rk-theme] .friends-page .friends-card__menu .dropdown-item {
    background-color: transparent;
    color: var(--rk-text-secondary);
}

html[data-rk-theme] .friends-page .friends-card__menu .dropdown-item:focus,
html[data-rk-theme] .friends-page .friends-card__menu .dropdown-item:hover {
    background-color: var(--rk-surface-active);
    color: var(--rk-text-primary);
}

html[data-rk-theme] .friends-card__interest {
    background-color: var(--rk-surface-secondary);
    border-color: var(--rk-border);
    color: var(--rk-text-secondary);
}

html[data-rk-theme] .friends-card__action.is-secondary {
    background-color: var(--rk-surface-secondary);
    border-color: var(--rk-border);
    color: var(--rk-text-secondary);
}

html[data-rk-theme] .friends-card__action.is-secondary:focus,
html[data-rk-theme] .friends-card__action.is-secondary:hover {
    background-color: var(--rk-surface-active);
    border-color: var(--rk-border-strong);
    color: var(--rk-text-primary);
}

html[data-rk-theme] .friends-card__action.is-accept {
    background-color: var(--rk-status-success);
    border-color: var(--rk-status-success);
    color: var(--rk-text-inverse);
}

html[data-rk-theme] .friends-card__action.is-decline {
    background-color: var(--rk-status-danger);
    border-color: var(--rk-status-danger);
    color: var(--rk-footer-text);
}

html[data-rk-theme] .friends-card__action:disabled,
html[data-rk-theme] .friends-request-notice__button:disabled,
html[data-rk-theme] .friends-load-more button:disabled {
    background-color: var(--rk-surface-disabled);
    border-color: var(--rk-border);
    color: var(--rk-text-muted);
}

html[data-rk-theme] .friends-skeleton,
html[data-rk-theme] .friends-skeleton__photo,
html[data-rk-theme] .friends-skeleton__line,
html[data-rk-theme] .friends-skeleton__button {
    background-color: var(--rk-surface-secondary);
    background-image: linear-gradient(90deg, var(--rk-surface-secondary) 25%, var(--rk-surface-active) 50%, var(--rk-surface-secondary) 75%);
    border-color: var(--rk-border);
}

/*
 * RK_STEP61C_LIGHT_CASCADE_CORRECTION_RETRY
 * Light-only color correction.
 * Layout, dimensions, content, components and behaviour are unchanged.
 */

html[data-rk-theme="light"] .form-control,
html[data-rk-theme="light"] .form-control:focus,
html[data-rk-theme="light"] .custom-select,
html[data-rk-theme="light"] .custom-select:focus,
html[data-rk-theme="light"] .input-group-text,
html[data-rk-theme="light"] .custom-file-label,
html[data-rk-theme="light"] .custom-file-label::after {
    background-color: var(--rk-input-bg) !important;
    color: var(--rk-text-primary) !important;
    border-color: var(--rk-border) !important;
}

html[data-rk-theme="light"] .custom-select {
    background-image: url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' width='4' height='5'%3E%3Cpath fill='%23183A32' d='M2 0L0 2h4zm0 5L0 3h4z'/%3E%3C/svg%3E") !important;
}

html[data-rk-theme="light"] .form-control::placeholder {
    color: var(--rk-text-muted) !important;
    opacity: 1;
}

html[data-rk-theme="light"] .form-control:disabled,
html[data-rk-theme="light"] .form-control[readonly],
html[data-rk-theme="light"] .custom-select:disabled {
    background-color: var(--rk-surface-disabled) !important;
    color: var(--rk-text-secondary) !important;
}

html[data-rk-theme="light"] .form-control:-webkit-autofill,
html[data-rk-theme="light"] .form-control:-webkit-autofill:hover,
html[data-rk-theme="light"] .form-control:-webkit-autofill:focus {
    -webkit-text-fill-color: var(--rk-text-primary) !important;
    box-shadow: 0 0 0 1000px var(--rk-input-bg) inset !important;
}

html[data-rk-theme="light"] .more-button {
    background-color: var(--rk-accent) !important;
    border-color: var(--rk-accent) !important;
    color: var(--rk-accent-contrast) !important;
}

html[data-rk-theme="light"] .more-button:hover,
html[data-rk-theme="light"] .more-button:focus,
html[data-rk-theme="light"] .more-button:active,
html[data-rk-theme="light"] .more-button.active {
    background-color: var(--rk-accent-hover) !important;
    border-color: var(--rk-accent-hover) !important;
    color: var(--rk-accent-contrast) !important;
}

html[data-rk-theme="light"] .more-button:disabled,
html[data-rk-theme="light"] .more-button.disabled {
    background-color: var(--rk-surface-disabled) !important;
    border-color: var(--rk-border) !important;
    color: var(--rk-text-muted) !important;
}

html[data-rk-theme="light"] .btn-link {
    background-color: transparent !important;
    color: var(--rk-accent) !important;
}

html[data-rk-theme="light"] .btn-link:hover,
html[data-rk-theme="light"] .btn-link:focus {
    color: var(--rk-accent-hover) !important;
}

html[data-rk-theme="light"] #app > footer {
    background-color: var(--rk-footer-bg) !important;
    color: var(--rk-footer-text) !important;
    border-color: var(--rk-border-strong) !important;
}

html[data-rk-theme="light"] #app > footer .info_footer,
html[data-rk-theme="light"] #app > footer .tile_info,
html[data-rk-theme="light"] #app > footer .footer_links,
html[data-rk-theme="light"] #app > footer .footer_socials,
html[data-rk-theme="light"] #app > footer a {
    color: var(--rk-footer-text) !important;
}

html[data-rk-theme="light"] #app > footer .count_info {
    color: var(--rk-footer-text) !important;
}

html[data-rk-theme="light"] #app > footer .count_info.online_cunt {
    color: var(--rk-status-success) !important;
}

html[data-rk-theme="light"] #app > footer hr,
html[data-rk-theme="light"] #app > footer .line {
    border-color: var(--rk-border-subtle) !important;
}

html[data-rk-theme="light"] .carousel_title {
    color: var(--rk-accent) !important;
}

/*
 * RK_STEP62B_LIGHT_FRIENDS_FOOTER_CONTRAST
 * Light-only contrast correction for Friends and Footer.
 * The temporary /community HTML page is intentionally excluded.
 * Layout, dimensions, content, components and behaviour are unchanged.
 */

html[data-rk-theme="light"] .friends-request-notice__copy strong {
    color: var(--rk-text-primary) !important;
}

html[data-rk-theme="light"] .friends-request-notice__copy span,
html[data-rk-theme="light"] .friends-request-notice__copy p {
    color: var(--rk-text-secondary) !important;
}

html[data-rk-theme="light"] .friends-content__header {
    background-color: var(--rk-surface-secondary) !important;
    border-color: var(--rk-border) !important;
    color: var(--rk-text-primary) !important;
}

html[data-rk-theme="light"] .friends-content__header h2,
html[data-rk-theme="light"] .friends-empty strong {
    color: var(--rk-text-primary) !important;
}

html[data-rk-theme="light"] .friends-content__header p,
html[data-rk-theme="light"] .friends-content__total,
html[data-rk-theme="light"] .friends-empty p {
    color: var(--rk-text-secondary) !important;
}

html[data-rk-theme="light"] #app > footer .copyright,
html[data-rk-theme="light"] #app > footer .copyright * {
    color: var(--rk-footer-text) !important;
}

/* RuKink STEP 63B — approved three-theme switcher. */
.rk-theme-switcher {
    display: inline-flex;
    align-items: center;
    gap: 5px;
}

.rk-theme-switcher__button {
    width: 20px;
    height: 20px;
    padding: 2px;
    border: 1px solid var(--rk-border);
    border-radius: 50%;
    background: transparent;
    cursor: pointer;
    line-height: 1;
}

.rk-theme-switcher__button:focus {
    outline: 1px solid var(--rk-accent);
    outline-offset: 2px;
}

.rk-theme-switcher__button[aria-pressed="true"] {
    border-color: var(--rk-accent);
    box-shadow: 0 0 0 2px var(--rk-accent);
}

.rk-theme-switcher__swatch {
    display: block;
    width: 100%;
    height: 100%;
    border-radius: 50%;
}

.rk-theme-switcher__swatch--lux {
    background-color: #04231C;
}

.rk-theme-switcher__swatch--light {
    background-color: #F3ECE2;
}

.rk-theme-switcher__swatch--dark {
    background-color: #202020;
}


/* RuKink STEP 64B — verified theme access and premium header service zones. */
header .rk-header-service-row {
    align-items: flex-start;
}

header .rk-header-utility,
header .rk-header-account-zone {
    min-height: 52px;
    margin-top: 2rem;
    margin-bottom: 1rem;
    align-items: center;
}

header .rk-header-utility {
    display: flex;
    flex-wrap: wrap;
    gap: 10px;
    font-size: 14px;
}

header .rk-header-control,
header .rk-header-guest,
header .rk-header-member {
    border: 1px solid var(--rk-border-subtle);
    background: var(--rk-surface-primary);
    box-shadow:
        inset 0 1px 0 var(--rk-border-subtle),
        0 8px 24px var(--rk-overlay);
}

header .rk-header-control {
    min-height: 44px;
    border-radius: 999px;
    transition:
        border-color .2s ease,
        box-shadow .2s ease,
        transform .2s ease;
}

header .rk-header-control:hover,
header .rk-header-control:focus,
header .rk-header-control:focus-within {
    border-color: var(--rk-border-strong);
    box-shadow:
        inset 0 1px 0 var(--rk-border-subtle),
        0 10px 28px var(--rk-overlay);
    transform: translateY(-1px);
    outline: none;
}

header .rk-header-control__button {
    min-height: 42px;
    padding: 0 15px;
    display: inline-flex;
    align-items: center;
    gap: 9px;
    color: var(--rk-text-secondary) !important;
    text-decoration: none !important;
    font-size: 14px;
    font-weight: 700;
    line-height: 1;
    white-space: nowrap;
}

header .rk-header-control__button i,
header .rk-header-control--search i,
header .rk-theme-control__icon {
    color: var(--rk-accent);
}

header .rk-header-control--search {
    width: 44px;
    height: 44px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    color: var(--rk-accent) !important;
    text-decoration: none !important;
    flex: 0 0 44px;
}

header .rk-theme-control {
    min-height: 44px;
    padding: 6px 10px 6px 12px;
    display: inline-flex;
    align-items: center;
    gap: 9px;
}

header .rk-theme-control__icon {
    width: 22px;
    height: 22px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    font-size: 15px;
}

header .rk-theme-switcher {
    display: inline-flex;
    align-items: center;
    gap: 7px;
}

header .rk-theme-switcher__button {
    width: 23px;
    height: 23px;
    padding: 3px;
    border: 1px solid var(--rk-border);
    border-radius: 50%;
    background: transparent;
    cursor: pointer;
    line-height: 1;
    transition:
        border-color .18s ease,
        box-shadow .18s ease,
        transform .18s ease;
}

header .rk-theme-switcher__button:hover {
    border-color: var(--rk-border-strong);
    transform: scale(1.08);
}

header .rk-theme-switcher__button:focus {
    outline: 1px solid var(--rk-accent);
    outline-offset: 2px;
}

header .rk-theme-switcher__button[aria-pressed="true"] {
    border-color: var(--rk-accent);
    box-shadow:
        0 0 0 2px var(--rk-surface-primary),
        0 0 0 4px var(--rk-accent);
}

html[data-rk-theme-access="locked"] .rk-theme-control {
    display: none !important;
}

header .rk-header-dropdown {
    min-width: 190px;
    margin-top: 10px;
    padding: 8px;
    border: 1px solid var(--rk-border);
    border-radius: 12px;
    background: var(--rk-surface-primary);
    box-shadow: 0 18px 44px var(--rk-overlay);
}

header .rk-header-dropdown .dropdown-item {
    padding: 9px 11px;
    border-radius: 8px;
    color: var(--rk-text-secondary);
    font-size: 14px;
}

header .rk-header-account-zone {
    display: flex;
}

header .rk-header-guest,
header .rk-header-member {
    min-height: 48px;
    display: inline-flex;
    align-items: center;
    border-radius: 999px;
}

header .rk-header-guest {
    gap: 9px;
    padding: 6px 15px;
    color: var(--rk-text-secondary);
    font-size: 14px;
    text-transform: none;
}

header .rk-header-guest > i {
    color: var(--rk-accent);
}

header .rk-header-guest a {
    color: var(--rk-text-primary);
    text-decoration: none;
    text-transform: none;
}

header .rk-header-guest a:hover {
    color: var(--rk-accent-hover);
}

header .rk-header-guest__separator {
    color: var(--rk-text-muted);
    font-weight: 400;
}

header .rk-header-member {
    gap: 5px;
    padding: 5px 7px 5px 9px;
}

header .rk-header-notifications {
    display: inline-flex;
    align-items: center;
}

header .rk-header-account-zone .header_icon_notification {
    display: inline-flex;
    align-items: center;
    gap: 3px;
    margin: 0;
    padding: 0;
}

header .rk-header-account-zone .header_icon_notification .nav-item {
    width: 36px;
    height: 36px;
    margin: 0 !important;
    border: 1px solid transparent;
    border-radius: 50%;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    color: var(--rk-text-secondary);
    transition:
        color .18s ease,
        background-color .18s ease,
        border-color .18s ease,
        transform .18s ease;
}

header .rk-header-account-zone .header_icon_notification .nav-item:hover {
    color: var(--rk-accent-hover);
    background: var(--rk-surface-secondary);
    border-color: var(--rk-border-subtle);
    transform: translateY(-1px);
}

header .rk-header-account-zone .header_icon_notification .nav-item.active {
    color: var(--rk-status-success);
}

header .rk-account-menu {
    min-height: 38px;
    padding-left: 8px;
    border-left: 1px solid var(--rk-border-subtle);
    display: inline-flex;
    align-items: center;
}

header .rk-account-menu__avatar {
    width: 36px;
    height: 36px;
    margin: 0;
    object-fit: cover;
    border: 1px solid var(--rk-border-strong);
    box-shadow: 0 0 0 3px var(--rk-surface-secondary);
}

header .rk-account-menu__toggle {
    min-width: 0;
    padding: 8px 9px;
    display: inline-flex;
    align-items: center;
    gap: 7px;
    color: var(--rk-text-primary) !important;
    text-decoration: none !important;
    text-transform: none !important;
    font-size: 14px;
    font-weight: 700;
}

header .rk-account-menu__name {
    max-width: 135px;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}

header .rk-account-menu__dropdown {
    min-width: 250px;
    margin-top: 12px;
    padding: 8px;
    overflow: hidden;
    border: 1px solid var(--rk-border);
    border-radius: 14px;
    background: var(--rk-surface-primary);
    box-shadow: 0 20px 52px var(--rk-overlay);
}

header .rk-account-menu__dropdown .dropdown-item {
    min-height: 42px;
    padding: 10px 12px;
    border: 0 !important;
    border-radius: 8px;
    display: flex;
    align-items: center;
    gap: 11px;
    color: var(--rk-text-secondary);
    text-decoration: none;
    text-transform: none;
    font-size: 13px;
    font-weight: 600;
}

header .rk-account-menu__dropdown .dropdown-item + .dropdown-item {
    margin-top: 2px;
}

header .rk-account-menu__dropdown .dropdown-item i {
    width: 18px;
    color: var(--rk-accent);
    text-align: center;
}

header .rk-account-menu__dropdown .dropdown-item:hover,
header .rk-account-menu__dropdown .dropdown-item:focus {
    background: var(--rk-surface-secondary);
    color: var(--rk-text-primary);
}

header .rk-account-menu__dropdown .rk-account-menu__logout {
    margin-top: 7px;
    border-top: 1px solid var(--rk-border-subtle) !important;
    border-radius: 0 0 8px 8px;
}

header .rk-account-menu__dropdown .rk-account-menu__logout i {
    color: var(--rk-required-mark);
}

@media (max-width: 991.98px) {
    header .rk-header-utility,
    header .rk-header-account-zone {
        justify-content: center !important;
    }

    header .rk-account-menu__name {
        max-width: 100px;
    }
}

@media (max-width: 767.98px) {
    header .rk-header-service-row > .rk-header-utility,
    header .rk-header-service-row > .rk-header-account-zone {
        flex: 0 0 100%;
        max-width: 100%;
    }

    header .rk-header-utility {
        margin-top: 1.25rem;
        margin-bottom: .45rem !important;
    }

    header .rk-header-account-zone {
        margin-top: .45rem;
        margin-bottom: 1rem;
    }
}

@media (max-width: 479.98px) {
    header .rk-header-member {
        max-width: 100%;
    }

    header .rk-header-account-zone .header_icon_notification .nav-item {
        width: 32px;
        height: 32px;
    }

    header .rk-account-menu__avatar {
        width: 32px;
        height: 32px;
    }

    header .rk-account-menu__toggle {
        padding-left: 7px;
        padding-right: 7px;
    }

    header .rk-account-menu__name {
        max-width: 88px;
    }
}

/* RuKink STEP 66L — public language dropdown layering contract.
 * Keeps the existing Bootstrap dropdown behavior and only defines
 * a stable public-header stacking layer below modal/dialog layers.
 */
header .rk-header-control--language {
    position: relative;
    z-index: 1035;
}

header .rk-header-control--language.show,
header .rk-header-control--language:focus-within {
    z-index: 1040;
}

header .rk-header-control--language > .rk-header-dropdown {
    z-index: 1041 !important;
    pointer-events: auto;
}
