/* Shared Country/Western visual foundation */
:root {
  --site-bg: #1b120d;
  --site-surface: #2a1b13;
  --site-surface-raised: #3a2519;
  --site-line: rgba(226, 181, 112, .24);
  --site-text: #fff4df;
  --site-muted: #c8ad8c;
  --site-accent: #d49a45;
  --site-accent-strong: #f0bd69;
  --site-success: #82b57a;
  --site-danger: #d96b58;
  --site-teal: #6da7a0;
  --site-radius: 12px;
  --site-shadow: 0 14px 34px rgba(0, 0, 0, .38);
}

html { min-width: 320px; background: var(--site-bg); }
*, *::before, *::after { box-sizing: border-box; }
body {
  min-width: 320px;
  max-width: 100%;
  margin: 0;
  overflow-x: hidden;
  color: var(--site-text);
  background-color: var(--site-bg);
  text-rendering: optimizeLegibility;
}
img, video, canvas, svg { max-width: 100%; height: auto; }
button, input, select, textarea { max-width: 100%; font: inherit; }
button, [role="button"], a { -webkit-tap-highlight-color: transparent; }
button { touch-action: manipulation; }
a { color: var(--site-accent-strong); }
:focus-visible { outline: 3px solid rgba(244, 201, 107, .85); outline-offset: 2px; }

/* Shared controls keep the same leather, brass and turquoise language. */
button:not([class*="danger"]),
input[type="submit"],
input[type="button"] {
  accent-color: var(--site-accent);
}

button:not([class*="danger"]):hover,
input[type="submit"]:hover,
input[type="button"]:hover {
  filter: brightness(1.08) saturate(1.05);
}

.site-surface,
.dashboard-card,
.admin-card,
.sidebar-card,
.auth-box,
.card,
.glass-card {
  background-color: var(--site-surface);
  border-color: var(--site-line);
}

/* Buttons and form actions share the warm brass/leather treatment everywhere. */
button,
input[type="submit"],
input[type="button"],
.btn,
[class*="-btn"],
[class*=" btn"] {
  background: linear-gradient(135deg, #d49a45, #a9652f) !important;
  border-color: #f0bd69 !important;
  color: #211309 !important;
}

button:hover,
button:focus-visible,
input[type="submit"]:hover,
input[type="button"]:hover,
.btn:hover,
[class*="-btn"]:hover,
[class*=" btn"]:hover {
  background: linear-gradient(135deg, #f0bd69, #d49a45) !important;
  color: #211309 !important;
  box-shadow: 0 6px 16px rgba(212, 154, 69, .28) !important;
}

.close-btn,
.icon-btn,
.btn-icon,
[aria-label*="Schließen"],
[aria-label*="Close"] {
  background: rgba(212, 154, 69, .12) !important;
  color: #f0bd69 !important;
}

.site-surface,
.dashboard-card,
.admin-card,
.sidebar-card,
.auth-box {
  border-color: var(--site-line);
  box-shadow: var(--site-shadow);
}

@media (max-width: 900px) {
  .main-content, .container, .page-container, main { max-width: 100%; }
  table { max-width: 100%; }
}

@media (max-width: 600px) {
  body { font-size: 15px; }
  h1 { font-size: clamp(1.45rem, 7vw, 2rem); }
  h2 { font-size: clamp(1.2rem, 6vw, 1.7rem); }
  .main-content, .container, .page-container, main { width: 100%; padding-left: 12px; padding-right: 12px; }
  button, input, select, textarea { min-height: 42px; }
}

@media (prefers-reduced-motion: reduce) {
  *, *::before, *::after { scroll-behavior: auto !important; animation-duration: .01ms !important; animation-iteration-count: 1 !important; transition-duration: .01ms !important; }
}
/* Country Western action palette */
button:not(.close-btn), input[type="submit"], input[type="button"], .btn, [class*="-btn"] { background: linear-gradient(135deg, #d49a45, #a9652f) !important; border-color: #f0bd69 !important; color: #211309 !important; }
button:not(.close-btn):hover, input[type="submit"]:hover, input[type="button"]:hover, .btn:hover, [class*="-btn"]:hover { background: linear-gradient(135deg, #f0bd69, #d49a45) !important; color: #211309 !important; box-shadow: 0 6px 16px rgba(212, 154, 69, .28) !important; }
.close-btn, .icon-btn, .btn-icon { background: rgba(212, 154, 69, .12) !important; border-color: rgba(240, 189, 105, .55) !important; color: #f0bd69 !important; }
/* Country Western surface palette */
html, body { background-color: #1b120d; }
header, .header, .admin-sidebar, .sidebar, .admin-shell { background-color: #21150e !important; }
.card, .panel, .modal, .admin-card, .dashboard-card, .sidebar-card, .glass-card, .auth-box, .games-live-lobby, .games-matches-panel, .games-progress-panel, .game-leaderboard-dialog, .game-guide-dialog, .login-card { background-color: #3a2519 !important; border-color: rgba(212, 154, 69, .28) !important; }
/* Country Western admin reference bridge */
:root { --cw-bg: #1b120d; --cw-bg-deep: #120b08; --cw-wood: #2a1a11; --cw-wood-2: #3a2417; --cw-leather: #4a2e1b; --cw-brass: #c98a38; --cw-gold: #f0bd69; --cw-gold-soft: #d9a252; --cw-copper: #a9652f; --cw-red: #a94735; --cw-cream: #fff2d8; --cw-muted: #c4a886; --cw-muted-2: #9d805f; --cw-line: rgba(212,154,69,.26); }
html { background: var(--cw-bg); }
body { color: var(--cw-cream); background-color: var(--cw-bg) !important; }
header, .header, .sidebar, .admin-sidebar, .admin-shell { background: linear-gradient(180deg, var(--cw-wood), var(--cw-bg-deep)) !important; border-color: var(--cw-line) !important; }
.card, .panel, .modal, .admin-card, .dashboard-card, .sidebar-card, .glass-card, .auth-box, .login-card, .games-live-lobby, .games-matches-panel, .games-progress-panel, .game-leaderboard-dialog, .game-guide-dialog { background: linear-gradient(145deg, var(--cw-wood-2), var(--cw-leather)) !important; border-color: var(--cw-line) !important; color: var(--cw-cream); }
h1, h2, h3, h4, h5, h6 { color: var(--cw-cream); }
a { color: var(--cw-gold); }
button:not(.close-btn), input[type="submit"], input[type="button"], .btn, .primary-btn, .login-btn, [class*="-btn"] { background: linear-gradient(135deg, var(--cw-brass), var(--cw-copper)) !important; border-color: var(--cw-gold) !important; color: #211309 !important; }
button:not(.close-btn):hover, input[type="submit"]:hover, input[type="button"]:hover, .btn:hover, .primary-btn:hover, .login-btn:hover, [class*="-btn"]:hover { background: linear-gradient(135deg, var(--cw-gold), var(--cw-brass)) !important; color: #211309 !important; box-shadow: 0 6px 16px rgba(201,138,56,.28) !important; }
input, select, textarea { background: rgba(18,11,8,.72) !important; border-color: var(--cw-line) !important; color: var(--cw-cream) !important; }
input:focus, select:focus, textarea:focus { border-color: var(--cw-gold) !important; outline-color: var(--cw-gold) !important; }
.close-btn, .icon-btn, .btn-icon { background: rgba(201,138,56,.14) !important; border-color: rgba(240,189,105,.55) !important; color: var(--cw-gold) !important; }
.success, .alert-success { border-color: rgba(130,181,122,.42) !important; }
.error, .alert-error, .danger { border-color: rgba(169,71,53,.55) !important; }
/* End Country Western admin reference bridge */