/* Public browsing only. Owner/admin workflows retain their established assets. */
* { box-sizing: border-box; }
html { -webkit-text-size-adjust: 100%; }
body { margin: 0; background: var(--site-page); color: var(--site-ink); font-size: 15px; line-height: 1.5; }
a { color: inherit; text-decoration: none; }
button, input, select { font: inherit; }
button, select, summary { cursor: pointer; }
button, input { border: 1px solid var(--site-border); }
a:focus-visible, button:focus-visible, input:focus-visible, summary:focus-visible, select:focus-visible { outline: 2px solid var(--site-focus); outline-offset: 4px; }
.sr-only { position: absolute; width: 1px; height: 1px; padding: 0; margin: -1px; overflow: hidden; clip: rect(0,0,0,0); white-space: nowrap; border: 0; }
#wholepage { display: flex; flex-direction: column; min-height: 100vh; }
.body-content { flex: 1; background: inherit; }
.site-navbar { background: #202222; color: #e2e4df; margin: 0; }
.site-navbar > .container-fluid { max-width: 1440px; margin: auto; padding: 0 28px; display: flex; align-items: center; min-height: 64px; gap: 30px; }
.site-navbar .navbar-header { flex-shrink: 0; }
.site-navbar ul { list-style: none; padding: 0; margin: 0 !important; }
.site-navbar .nav { display: flex; align-items: center; }
.site-navbar .navbar-header li { margin: 0 !important; }
.site-navbar .navbar-brand { display: flex; align-items: center; min-height: 64px; }
.site-navbar .navbar-brand img { width: 168px; height: 30px; }
.site-navbar #site-navigation { display: flex; align-items: center; flex: 1; gap: 24px; min-width: 0; }
.site-navbar .main-navbar-nav { margin: 0 auto !important; gap: 4px; }
.site-navbar .nav > li > a { min-height: 44px; display: flex; align-items: center; gap: 6px; padding: 10px 12px; font-size: 14px; border-radius: 4px; transition: color 120ms, background-color 120ms; }
.site-navbar .nav > li > a:hover { color: #fff; background: #303333; }
.site-navbar .site-account { gap: 8px; }
.site-navbar .site-language { padding: 0; }
.site-navbar .site-language-form .form-group { margin: 0; }
.site-navbar select { height: 44px; max-width: 150px; border: 1px solid #535754; border-radius: 5px; color: #e2e4df; background: #202222; padding: 0 10px; }
.site-navbar .navbar-toggle { display: none; }
.site-navbar .dropdown { position: relative; }
.site-navbar .dropdown-menu { display: none; position: absolute; z-index: 20; inset-inline-end: 0; min-width: 150px; padding: 6px; background: var(--site-surface); color: var(--site-ink); box-shadow: 0 4px 20px #0002; border-radius: 6px; }
.site-navbar .dropdown-menu a { display: block; padding: 12px; }
.site-navbar .dropdown.open .dropdown-menu { display: block; }
.site-navbar .text-gold { color: #f5d65c; }
.site-navbar .caret { border-top: 4px solid; border-inline: 4px solid transparent; }
.keob-footer { background: var(--site-footer); padding: 22px 28px; font-size: 12px; }
.keob-footer .container { max-width: 1224px; margin: auto; }
.keob-footer .row { display: flex; justify-content: space-between; flex-wrap: wrap; gap: 16px; }
.keob-footer p { margin: 0; }
.keob-footer a { display: inline-flex; align-items: center; min-height: 44px; margin-inline-end: 18px; }
@media (max-width: 991px) {
    .site-navbar > .container-fluid { display: block; padding: 0 20px; }
    .site-navbar .navbar-header { display: flex; align-items: center; justify-content: space-between; flex-direction: row-reverse; }
    .site-navbar .navbar-toggle { display: flex; flex-direction: column; justify-content: center; gap: 4px; width: 44px; height: 44px; border: 1px solid #4d514c; border-radius: 4px; background: transparent; }
    .site-navbar .icon-bar { display: block; width: 20px; height: 2px; background: #e2e4df; margin: 0 auto; }
    .site-navbar #site-navigation { display: none; padding-bottom: 16px; }
    .site-navbar #site-navigation.in { display: block; }
    .site-navbar .nav { display: block; }
    .site-navbar .nav > li > a { padding-inline: 0; }
    .site-navbar .site-account { border-top: 1px solid #424640; padding-top: 8px; margin-top: 8px !important; }
    .site-navbar select { max-width: none; width: 100%; font-size: 16px; }
    .site-navbar .dropdown-menu { position: static; color: #e2e4df; background: transparent; box-shadow: none; }
}

@media (max-width:600px) { .keob-footer { padding-inline:20px; } }
@media (prefers-reduced-motion:reduce) { *, *::before, *::after { transition:none !important; } }
