/* Acabamento compartilhado; medidas e posicionamento seguem as folhas originais. */
:root,
html[data-theme="dark"] {
  --muted: #cbbfae;
  --faint: #b1a38d;
  --line: #443b30;
  --seal: #e18e70;
  --seal-ink: #24150e;
  --control-hover: #30291f;
  --radius-control: 0.375rem;
  --radius-card: 0.75rem;
}

html[data-theme="light"] {
  --bg: #f1e9d9;
  --bg-2: #e9deca;
  --paper: #fcf7ed;
  --muted: #594e40;
  --faint: #716351;
  --line: #d3c4aa;
  --seal: #a3422b;
  --seal-ink: #fff8ee;
  --header-bg: #fcf7ed;
  --control-hover: #e1d3ba;
}

html {
  scrollbar-color: var(--line) var(--bg);
}

:focus-visible {
  outline: 2px solid var(--seal);
  outline-offset: 3px;
}

input {
  caret-color: var(--seal);
}

input::placeholder {
  color: var(--faint);
  opacity: 1;
}

input[type="checkbox"] {
  accent-color: var(--seal);
}

.site-header {
  box-shadow: 0 4px 16px rgb(0 0 0 / 0.08);
  scrollbar-color: var(--faint) var(--header-bg);
}

.nav-link {
  border-radius: var(--radius-control);
}

.nav-link:hover,
.nav-link.is-active {
  background: var(--bg-2);
  color: var(--seal);
}

.header-search input,
.search-form input,
.map-search input,
.map-index-tools input,
.map-index-tools select {
  border-radius: var(--radius-control);
}

.header-search button,
.theme-toggle {
  display: inline-grid;
  place-items: center;
}

.header-search button,
.theme-toggle,
.btn,
.search-form button,
.map-tools button,
.map-styles button,
.map-layer-actions button,
.map-filters-toggle,
.map-panel-close,
.map-games-actions button,
.map-popup-found {
  border-radius: var(--radius-control);
}

.btn:hover,
.search-form button:hover {
  background: var(--brass);
  border-color: var(--brass);
  color: var(--seal-ink);
  filter: none;
}

.btn--ghost {
  border-color: var(--line);
}

.btn--ghost:hover,
.header-search button:hover,
.theme-toggle:hover,
.map-tools button:hover,
.map-layer-actions button:hover,
.map-styles button:not(.is-active):hover,
.map-filters-toggle:hover,
.map-panel-close:hover,
.map-games-actions button:hover {
  background: var(--control-hover);
  color: var(--ink);
  border-color: var(--brass);
}

.hero-band {
  box-shadow: inset 0 1px 0 var(--line);
}

.home-facts dt,
.trust-facts dt {
  color: var(--brass);
}

.map-card,
.map-plate-card {
  border-radius: var(--radius-card);
}

.map-card-media,
.map-plate-art {
  border-radius: calc(var(--radius-card) - 1px) calc(var(--radius-card) - 1px) 0 0;
  overflow: hidden;
}

.map-card-body .kicker {
  letter-spacing: 0.1em;
  font-weight: 600;
}

.pager a,
.pager [aria-current="page"] {
  border-radius: var(--radius-control);
  text-decoration: none;
}

.pager a:hover {
  background: var(--bg-2);
  color: var(--ink);
}

.pager [aria-current="page"] {
  background: var(--seal);
  color: var(--seal-ink);
  box-shadow: none;
}

.site-footer a {
  text-decoration: none;
}

.site-footer a:hover {
  color: #fff2dc;
  text-decoration: underline;
  text-underline-offset: 0.2em;
}

.map-panel {
  border-right-color: var(--line);
  scrollbar-color: var(--line) var(--paper);
}

.map-tabs button:hover,
.map-tabs-ext:hover,
.map-cat:hover,
.map-index-row:hover {
  background: var(--bg-2);
}

.map-tabs button.is-active {
  background: var(--bg-2);
}

.map-cat {
  border-radius: var(--radius-control);
}

.map-cat .map-count {
  font-variant-numeric: tabular-nums;
}

.map-dossier-art,
.map-index-thumb,
.map-games-choice {
  border-radius: var(--radius-control);
}

@media (prefers-reduced-motion: no-preference) {
  .nav-link,
  .header-search button,
  .theme-toggle,
  .btn,
  .pager a,
  .map-tabs button,
  .map-tabs-ext,
  .map-layer-actions button,
  .map-styles button,
  .map-tools button,
  .map-filters-toggle {
    transition: background-color var(--dur) var(--ease), color var(--dur) var(--ease), border-color var(--dur) var(--ease);
  }
}
