/* Shared foundation for every LR WEB page; loaded after module styles. */
:root {
  --zp-ink: var(--z-ink);
  --zp-panel: var(--z-panel);
  --zp-panel-2: var(--z-panel-2);
  --zp-paper: var(--z-paper);
  --zp-green: var(--z-green);
  --zp-blue: var(--z-blue);
  --zp-muted: var(--z-muted);
  --zp-danger: #ff5d4a;
  --zp-line: var(--z-line);
  --zp-line-strong: var(--z-line-strong);
}
:where(button, input, select, textarea) { font: inherit; }
body { height: auto; min-height: 100svh; }
.container-fluid { height: auto; flex: 1 0 auto; }
.container-fluid > * { flex-shrink: 0; }
:where(a, button, input, select, textarea, summary, [tabindex]):focus-visible {
  outline: 2px solid var(--zp-green) !important;
  outline-offset: 3px;
}
.zaraysk-page-head { flex-shrink: 0; width: 100%; align-self: stretch; }
.zaraysk-page-head h1 { overflow-wrap: anywhere; line-height: 1.08; }
.zaraysk-page-head__copy { min-width: 0; }
.zaraysk-page-head__meta { flex: 0 0 220px; }
.navbar { backdrop-filter: none; -webkit-backdrop-filter: none; }
.dropdown_block { box-shadow: none !important; }
.drpdwn_menu button.dropbtn { display: inline-flex; align-items: center; cursor: pointer; }
.header_burger { padding: 0; border: 0; background: transparent; border-radius: 0; }
.dropdown_item p { opacity: 1 !important; }
.dropdown_item:hover p { color: var(--zp-paper) !important; }
.card { background-image: none; border: 1px solid var(--zp-line); box-shadow: none; }
.card-header { border-bottom: 1px solid var(--zp-line); background: var(--zp-ink); }
.card-header .badge { color: var(--zp-paper); background: transparent; }

/* Exclude controls whose dimensions carry meaning: toggles, range and color. */
body[class*="page-"] :is(input, textarea, select):not([type="radio"]):not([type="checkbox"]):not([type="hidden"]):not([type="range"]):not([type="color"]):not([type="submit"]):not([type="button"]) {
  min-height: 44px;
  max-width: 100%;
  color: var(--zp-paper);
  background: var(--zp-panel-2);
  border: 1px solid var(--zp-line);
  border-radius: 0 !important;
  box-shadow: none;
}
input::placeholder, textarea::placeholder { color: var(--zp-muted); opacity: 1; }
.inputs-inline > label { display: block; margin-bottom: 6px; max-width: 100%; white-space: normal; overflow-wrap: anywhere; }
.inputs-inline > select { float: none; }
.zaraysk-form-error { display: block; max-width: 100%; margin-top: 6px; color: var(--zp-danger); white-space: normal; overflow-wrap: anywhere; font-size: 14px; line-height: 1.5; }
.inputs-inline > :is(input, select, textarea):not([type="checkbox"]):not([type="radio"]):not([type="range"]):not([type="color"]) { width: 100%; }
input[type="radio"], input[type="checkbox"], input[type="range"] { accent-color: var(--zp-green); }
[aria-invalid="true"] { border-color: var(--zp-danger) !important; }
button:disabled, input:disabled, select:disabled, textarea:disabled { opacity: .55; cursor: not-allowed; }
.button-delete { color: var(--zp-danger); border-color: var(--zp-danger); }
.table-responsive { max-width: 100%; overflow-x: auto; overscroll-behavior-x: contain; }
.table, .table-responsive, .admin_nav { border-radius: 0 !important; box-shadow: none !important; }
.table { color: var(--zp-paper); border-collapse: collapse; }
.table :is(th, td) { border-color: var(--zp-line); }
.table th { color: var(--zp-muted); background: var(--zp-ink); font-size: 12px; }
.table td { font-size: 14px; }
.table tbody tr:nth-child(even) { background: var(--zp-panel-2); }
.table tbody tr:hover { background: rgba(155, 203, 104, .06); }
.admin_nav { flex-wrap: wrap; gap: 0; border: 1px solid var(--zp-line); background: var(--zp-panel); }
.admin_nav > :is(button, a), .admin-nav__btn { min-height: 44px; padding: 10px 14px; border-radius: 0 !important; box-shadow: none !important; }
.admin_nav > :is(button, a):not(.active) { color: var(--zp-paper); background: transparent; }
.admin_nav > .active { color: var(--zp-ink) !important; background: var(--zp-green) !important; }
.pagination a { min-width: 44px; min-height: 44px; border-radius: 0 !important; }
.no-data, .empty_blocks, .empty_friends { color: var(--zp-muted); line-height: 1.5; }
.zaraysk-service-notice { margin: 0 0 16px; padding: 14px 16px; color: var(--zp-paper); background: var(--zp-panel); border: 1px solid var(--zp-line); border-left: 3px solid var(--zp-blue); font-size: 15px; line-height: 1.5; }
.page-store .shop_product_button:disabled { color: var(--zp-muted) !important; background: var(--zp-panel-2) !important; opacity: 1; cursor: not-allowed; }
.page-store :is(.shop_header, .shop_servers_wrap_area, .shop_card_wrapper) { border-radius: 0 !important; }

/* Keep player imagery and the existing statistics layout. */
.page-profiles :is(.profile_user_card, .user_back, .user_back img, .user_back video,
  .user_balance, .user_menu_short, .user_badge, .tables_info, .fill_blocks,
  .friend_card, .adm_content, .settings_container, .adaptive-select) {
  border-radius: 0 !important;
  box-shadow: none !important;
}
.page-profiles :is(.user_balance, .user_menu_short, .tables_info, .friend_card, .adm_content) { background: var(--zp-panel-2); border-color: var(--zp-line); }
.page-profiles :is(.user_menu_short a, .user_settings, .social__button-profile) { min-height: 44px; }
.page-profiles .user_menu_short .a_active { color: var(--zp-ink); background: var(--zp-green); }
.page-profiles .user_nickname { overflow-wrap: anywhere; }

/* The server tools panel inherits the site's tokens rather than its blue fallback. */
.at-wrap {
  --at-accent: var(--zp-green);
  --at-accent-dark: var(--zp-paper);
  --at-bg: var(--zp-ink);
  --at-bg-card: var(--zp-panel);
  --at-bg-hover: var(--zp-panel-2);
  --at-border: var(--zp-line);
  --at-text: var(--zp-paper);
  --at-text-muted: var(--zp-muted);
  --at-danger: var(--zp-danger);
  --at-radius: 0;
  width: 100%;
  min-width: 0;
  font-family: var(--z-body);
  box-shadow: none;
  border: 1px solid var(--zp-line);
}
.at-header { background: var(--zp-panel); }
.at-btn--primary, .at-btn--primary:hover { color: var(--zp-ink); }
.at-btn--danger { color: var(--zp-ink); }
.at-btn, .at-nav__link { min-height: 44px; }
.at-table-wrap { overflow-x: auto; }
.at-content { min-width: 0; }
.at-body, .at-header__search, .at-stat { min-width: 0; }
.at-nav { max-width: 100%; }
.at-section__header { flex-wrap: wrap; gap: 12px; }

.page-faq .accordion { max-width: 900px; margin: 0 auto; gap: 8px; }
.page-faq .acordeon-container { padding: 18px; }
.page-faq :is(.accordion__details, .accordion__content-body) { color: var(--zp-paper); background: var(--zp-panel-2); border: 1px solid var(--zp-line); border-radius: 0; }
.page-faq .accordion__content-body::before { display: none; }
.page-faq .accordion__content-body p { color: var(--zp-paper); user-select: text; font-size: 16px; line-height: 1.6; }
.page-faq .accordion__summary { min-height: 54px; }
.page-faq .accordion__title { white-space: normal; overflow: visible; text-overflow: clip; line-height: 1.5; }
.page-faq .accordion__heading h1 { font-family: var(--z-display); font-size: 18px; }
.page-oferta .oferta_list { max-width: 950px; font-size: 16px; line-height: 1.65; }
.page-oferta .title_offer { color: var(--zp-green); }

@media (max-width: 1024px) {
  .zaraysk-page-head h1 { font-size: clamp(30px, 5vw, 52px); }
  .zaraysk-page-head__meta { flex-basis: 180px; }
}
@media (max-width: 768px) {
  body { font-size: 15px; }
  .header_burger { width: 44px; height: 44px; min-width: 44px; margin-block: 0; }
  .header_burger::before, .header_burger::after, .header_burger span { left: 11px; width: 22px; }
  .header_burger::before { top: 13px; }
  .header_burger::after { bottom: 12px; }
  .header_burger span { top: 21px; }
  .header_burger.mmactive::before { top: 21px; }
  .header_burger.mmactive::after { bottom: 20px; }
  .nav_header_menu { max-height: 100dvh; overflow-y: auto; }
  .header_list { padding: 16px; padding-bottom: calc(24px + env(safe-area-inset-bottom)); }
  .header_list a { display: flex; align-items: center; min-height: 48px; border-bottom: 1px solid var(--zp-line); }
  .page-profiles .profile_settings_inputs { width: 100%; }
  .at-content { width: 100%; padding: 16px; }
  .at-header { padding: 16px; }
  .at-header__title { white-space: normal; }
  .at-stat-grid { grid-template-columns: 1fr; }
  .page-faq .acordeon-container { padding: 12px; }
  .page-faq .accordion__summary { padding-inline: 0; }
  .admin_nav > :is(button, a) { flex: 1 1 150px; }
  .zaraysk-page-head h1 { font-size: clamp(28px, 8vw, 44px); }
}
@media (prefers-reduced-motion: reduce) {
  html { scroll-behavior: auto; }
  *, *::before, *::after { animation-duration: .01ms !important; animation-iteration-count: 1 !important; transition-duration: .01ms !important; }
}
