/* Shared public identity — Crônica de Tibia */
body.site-chronicle {
  --site-ink: #201d18;
  --site-coal: #181714;
  --site-coal-soft: #24211c;
  --site-paper: #eee7d7;
  --site-paper-deep: #ded3bd;
  --site-rule: #9a8b70;
  --site-brass: #a98a45;
  --site-gold: #c9a227;
  --site-gold-bright: #ffd700;
  --site-gold-hover: #e0bd47;
  --site-rust: #873f2c;
  --site-rust-dark: #6f3122;
  --site-moss: #4e5b43;
  min-height: 100vh;
  background-color: var(--site-paper);
  color: var(--site-ink);
  font-family: Georgia, "Times New Roman", serif;
}

body.site-chronicle h1,
body.site-chronicle h2,
body.site-chronicle h3,
body.site-chronicle h4,
body.site-chronicle h5,
body.site-chronicle h6,
body.site-chronicle .card-title,
body.site-chronicle .page-title,
body.site-chronicle .section-title {
  font-family: 'MedievalSharp', cursive;
}

body.site-chronicle a { color: var(--site-rust); }
body.site-chronicle a:hover { color: var(--site-rust-dark); }

/* Navigation */
body.site-chronicle #mainNav {
  position: sticky !important;
  top: 0;
  padding: 0;
  background: var(--site-coal) !important;
  border-bottom: 1px solid #5f5138;
  box-shadow: none;
  backdrop-filter: none;
}

body.site-chronicle #mainNav .container-fluid {
  --nav-side-width: 190px;
  display: grid;
  grid-template-columns: var(--nav-side-width) minmax(0, 1fr);
  column-gap: 0;
  width: 100%;
  max-width: none;
  min-height: 72px;
  padding-right: clamp(1.25rem, 2.2vw, 2.75rem);
  padding-left: clamp(1.25rem, 2.2vw, 2.75rem);
}

body.site-chronicle #mainNav .navbar-brand {
  margin: 0;
  padding: 0;
  justify-self: start;
  width: var(--nav-side-width);
}

body.site-chronicle #mainNav #navbarNav {
  min-width: 0;
}

body.site-chronicle #mainNav .navbar-primary-links {
  min-width: 0;
  flex: 1 1 auto;
  justify-content: center;
}

body.site-chronicle #mainNav .navbar-account-area {
  display: flex;
  flex: 0 0 auto;
  align-items: center;
  justify-content: flex-end;
  white-space: nowrap;
}

body.site-chronicle #mainNav .navbar-account-area > .btn-group,
body.site-chronicle #mainNav .navbar-account-area .nav-link {
  margin-right: 0 !important;
  margin-left: 0 !important;
}

body.site-chronicle #mainNav .navbar-account-area .login-btn {
  padding: .75rem 0 .75rem 1rem;
}

body.site-chronicle #mainNav .navbar-brand img {
  height: 58px !important;
  filter: none;
}

body.site-chronicle #mainNav .navbar-brand:hover img,
body.site-chronicle #mainNav .login-btn:hover,
body.site-chronicle #mainNav .nav-link:hover { transform: none; }

body.site-chronicle #mainNav .navbar-nav .nav-link,
body.site-chronicle #mainNav .btn-group > .nav-link {
  margin: 0;
  padding: 1.55rem .75rem !important;
  border: 0;
  border-radius: 0;
  color: var(--site-gold-bright) !important;
  background: transparent;
  font-family: Arial, Helvetica, sans-serif;
  font-size: .75rem;
  font-weight: 700;
  letter-spacing: .08em;
  text-transform: uppercase;
}

body.site-chronicle #mainNav .navbar-nav .nav-link::before { display: none; }
body.site-chronicle #mainNav .navbar-nav .nav-link:hover,
body.site-chronicle #mainNav .btn-group > .nav-link:hover {
  color: #ffe76a !important;
  background: #26231d;
}

body.site-chronicle #mainNav .dropdown-menu {
  margin-top: 0;
  padding: .4rem;
  color: #e8ddc8;
  background: #211f1b;
  border: 1px solid #5f5138;
  border-radius: 2px;
  box-shadow: 0 12px 24px rgba(0, 0, 0, .3);
  backdrop-filter: none;
}

body.site-chronicle #mainNav .dropdown-item {
  padding: .55rem .75rem;
  border-radius: 0;
  color: #e3cf91 !important;
  font-family: Arial, Helvetica, sans-serif;
  font-size: .82rem;
}

body.site-chronicle #mainNav .dropdown-item:hover {
  color: var(--site-gold-bright) !important;
  background: #312c23 !important;
}

body.site-chronicle #mainNav .dropdown-divider { border-color: #514937; }
body.site-chronicle #mainNav .dropdown-header { color: #bca66f !important; }

/* Shared content surfaces */
body.site-chronicle main,
body.site-chronicle .page-content,
body.site-chronicle .content-wrapper { color: var(--site-ink); }

body.site-chronicle .card,
body.site-chronicle .list-group-item,
body.site-chronicle .modal-content,
body.site-chronicle .offcanvas,
body.site-chronicle .accordion-item {
  color: var(--site-ink);
  background-color: #f6f0e3;
  border-color: #b7aa91;
  border-radius: 3px;
  box-shadow: none;
  backdrop-filter: none;
}

body.site-chronicle .card:hover { box-shadow: none; }
body.site-chronicle .card-header,
body.site-chronicle .card-footer,
body.site-chronicle .accordion-button {
  color: var(--site-ink);
  background-color: var(--site-paper-deep);
  border-color: #b7aa91;
}

body.site-chronicle .accordion-button:not(.collapsed) {
  color: #fff7e7;
  background-color: var(--site-coal-soft);
  box-shadow: none;
}

body.site-chronicle .table {
  --bs-table-color: var(--site-ink);
  --bs-table-bg: transparent;
  --bs-table-border-color: #b7aa91;
  --bs-table-striped-bg: rgba(91, 76, 50, .055);
  --bs-table-hover-bg: rgba(135, 63, 44, .075);
}

body.site-chronicle .table thead th {
  color: #fff3db;
  background: var(--site-coal-soft);
  border-color: #5f5138;
  font-family: Arial, Helvetica, sans-serif;
  font-size: .72rem;
  letter-spacing: .08em;
  text-transform: uppercase;
}

body.site-chronicle .breadcrumb {
  padding: .7rem .9rem;
  background: rgba(255, 255, 255, .24);
  border: 1px solid #c0b49d;
  border-radius: 2px;
}

body.site-chronicle .badge { border-radius: 2px; }
body.site-chronicle hr { border-color: var(--site-rule); opacity: .45; }

/* Buttons and controls */
body.site-chronicle .btn {
  border-radius: 2px;
  box-shadow: none;
  font-family: Arial, Helvetica, sans-serif;
  font-size: .78rem;
  font-weight: 800;
  letter-spacing: .055em;
  text-transform: uppercase;
  transition: background-color .15s ease, border-color .15s ease, color .15s ease;
}

body.site-chronicle .btn:hover,
body.site-chronicle .btn:focus { transform: none; box-shadow: none; }
body.site-chronicle .btn-primary,
body.site-chronicle .btn-warning,
body.site-chronicle .btn-success {
  --bs-btn-active-color: #000;
  --bs-btn-active-bg: #ffcd39;
  --bs-btn-active-border-color: #ffc720;
  color: var(--bs-btn-active-color);
  background-color: var(--bs-btn-active-bg);
  border-color: var(--bs-btn-active-border-color);
}
body.site-chronicle .btn-primary:hover,
body.site-chronicle .btn-warning:hover,
body.site-chronicle .btn-success:hover {
  color: var(--bs-btn-active-color);
  background-color: var(--bs-btn-active-bg);
  border-color: var(--bs-btn-active-border-color);
  filter: brightness(1.06);
}
body.site-chronicle .btn-secondary {
  color: #fff7e7;
  background: var(--site-coal-soft);
  border-color: var(--site-coal-soft);
}
body.site-chronicle .btn-outline-primary,
body.site-chronicle .btn-outline-warning,
body.site-chronicle .btn-outline-secondary {
  color: #8b6c13;
  background: transparent;
  border-color: var(--site-gold);
}
body.site-chronicle .btn-outline-primary:hover,
body.site-chronicle .btn-outline-warning:hover,
body.site-chronicle .btn-outline-secondary:hover {
  color: #171208;
  background: var(--site-gold);
  border-color: var(--site-gold);
}

body.site-chronicle .form-control,
body.site-chronicle .form-select,
body.site-chronicle input,
body.site-chronicle textarea,
body.site-chronicle select {
  color: var(--site-ink);
  background-color: #faf6ec;
  border-color: #aa9d85;
  border-radius: 2px;
}
body.site-chronicle .form-control:focus,
body.site-chronicle .form-select:focus,
body.site-chronicle input:focus,
body.site-chronicle textarea:focus,
body.site-chronicle select:focus {
  border-color: var(--site-rust);
  box-shadow: 0 0 0 .18rem rgba(135, 63, 44, .16);
}
body.site-chronicle label,
body.site-chronicle .form-label { color: #433c31; }

body.site-chronicle .pagination { gap: 2px; }
body.site-chronicle .page-link {
  color: var(--site-rust);
  background: #f6f0e3;
  border-color: #b7aa91;
  border-radius: 2px !important;
}
body.site-chronicle .active > .page-link,
body.site-chronicle .page-link.active {
  color: #fff8e9;
  background: var(--site-rust);
  border-color: var(--site-rust);
}

/* Shared contact and footer */
body.site-chronicle .ft-contact-section {
  padding: 64px 0;
  background: var(--site-paper) !important;
  border-top: 1px solid #b7aa91;
}
body.site-chronicle .ft-contact-title {
  color: var(--site-ink);
  background: none;
  -webkit-text-fill-color: currentColor;
}
body.site-chronicle .ft-contact-sub { color: #6a6152; }
body.site-chronicle .ft-contact-card {
  color: #544c40;
  background: transparent;
  border: 1px solid #aa9d85;
  border-radius: 2px;
}
body.site-chronicle .ft-contact-btn {
  --bs-btn-active-color: #000;
  --bs-btn-active-bg: #ffcd39;
  --bs-btn-active-border-color: #ffc720;
  color: var(--bs-btn-active-color);
  background-color: var(--bs-btn-active-bg);
  border: 1px solid var(--bs-btn-active-border-color);
  border-radius: 2px;
  box-shadow: none;
}
body.site-chronicle .ft-contact-btn:hover {
  color: var(--bs-btn-active-color);
  background-color: var(--bs-btn-active-bg);
  border-color: var(--bs-btn-active-border-color);
  filter: brightness(1.06);
  transform: none;
  box-shadow: none;
}

body.site-chronicle footer {
  margin-top: 0;
  color: #a9a08f !important;
  background: var(--site-coal) !important;
  border-top: 1px solid #5f5138;
}
body.site-chronicle footer p,
body.site-chronicle footer small { color: #a9a08f !important; }
body.site-chronicle footer a { color: var(--site-gold-bright) !important; }
body.site-chronicle footer a:hover { color: #ffe76a !important; }

body.site-chronicle .chronicle-button-primary {
  color: var(--bs-btn-active-color) !important;
  background-color: var(--bs-btn-active-bg);
  border-color: var(--bs-btn-active-border-color);
}
body.site-chronicle .chronicle-text-link {
  color: var(--site-gold-bright) !important;
  text-decoration-color: #a98a45;
}
body.site-chronicle .chronicle-text-link:hover { color: #ffe76a !important; }

/* Keep the draggable widget distinct, but within the same material language. */
body.site-chronicle .online-characters-box {
  border-color: #6f5f3d;
  border-radius: 8px;
  background: var(--site-coal);
}
body.site-chronicle .online-characters-header { background: var(--site-coal-soft); }
body.site-chronicle .rp-header-btn { border-radius: 6px; }

@media (min-width: 1200px) {
  body.site-chronicle #mainNav .container-fluid {
    min-height: 104px;
    column-gap: 0;
  }
  body.site-chronicle #mainNav .navbar-brand img { height: 80px !important; }
  body.site-chronicle #mainNav #navbarNav { gap: 0; }
  body.site-chronicle #mainNav .navbar-nav .nav-link,
  body.site-chronicle #mainNav .btn-group > .nav-link {
    padding: 1.55rem .85rem !important;
    font-family: Arial, Helvetica, sans-serif;
    font-size: .75rem;
    font-weight: 700;
  }
}

@media (min-width: 992px) {
  body.site-chronicle #mainNav #navbarNav {
    display: grid !important;
    grid-template-columns: minmax(0, 1fr) var(--nav-side-width);
    align-items: stretch;
    gap: 0;
  }
  body.site-chronicle #mainNav .navbar-account-area {
    width: var(--nav-side-width);
  }
}

@media (max-width: 1199px) and (min-width: 992px) {
  body.site-chronicle #mainNav .container-fluid {
    --nav-side-width: 140px;
    min-height: 64px;
  }
  body.site-chronicle #mainNav .navbar-nav .nav-link,
  body.site-chronicle #mainNav .btn-group > .nav-link { padding: 1.35rem .55rem !important; font-size: .69rem; }
  body.site-chronicle #mainNav .navbar-account-area .nav-link { padding-right: .35rem !important; padding-left: .35rem !important; }
}

@media (max-width: 991px) {
  body.site-chronicle #mainNav .container-fluid {
    --nav-side-width: auto;
    grid-template-columns: 1fr auto;
    column-gap: 1rem;
    padding-top: .4rem;
    padding-bottom: .4rem;
  }
  body.site-chronicle #mainNav .navbar-brand { justify-self: start; }
  body.site-chronicle #mainNav .navbar-brand { width: auto; }
  body.site-chronicle #mainNav .navbar-toggler { grid-column: 2; grid-row: 1; }
  body.site-chronicle #mainNav #navbarNav {
    grid-column: 1 / -1;
    padding: .6rem 0 .8rem;
    border-top: 1px solid #3d382e;
  }
  body.site-chronicle #mainNav .navbar-primary-links { align-items: stretch; }
  body.site-chronicle #mainNav .navbar-nav .nav-link,
  body.site-chronicle #mainNav .btn-group > .nav-link { width: 100%; padding: .75rem .85rem !important; text-align: left; }
  body.site-chronicle #mainNav .navbar-account-area {
    justify-content: flex-start;
    padding: .6rem .85rem 0;
    border-top: 1px solid #3d382e;
  }
}

@media (prefers-reduced-motion: reduce) {
  body.site-chronicle *,
  body.site-chronicle *::before,
  body.site-chronicle *::after {
    scroll-behavior: auto !important;
    transition-duration: .01ms !important;
  }
}
