/**
 * GoldenOT site fixes — layout, contrast, forms, tables.
 * Loaded last. Prefer local scroll and reflow over clipping.
 */

/* ----- Page overflow: keep body tidy, but tables can scroll locally ----- */
body.go-layout #go-main.go-col-md-6,
body.go-layout #go-main {
  overflow-x: visible;
}

body.go-layout #go-main .content-bg,
body.go-layout #go-main .go-main-inner,
body.go-layout #go-main .content-txt,
body.go-layout #go-main .TableContainer,
body.go-layout #go-main .InnerTableContainer,
body.go-layout #go-main .TableContentContainer,
body.go-layout #go-main .BoxContent {
  overflow-x: visible;
}

body.go-layout #go-main .go-table-scroll {
  display: block;
  width: 100%;
  max-width: 100%;
  overflow-x: auto;
  -webkit-overflow-scrolling: touch;
}

/* Forms: never force a 206px floated field off-screen */
@media (max-width: 767.98px) {
  body.go-layout #go-main table.TableContent,
  body.go-layout #go-main table.Table5,
  body.go-layout #go-main table.Table3,
  body.go-layout #go-main table.Table2 {
    display: table !important;
    width: 100% !important;
    max-width: 100% !important;
    table-layout: auto;
  }

  body.go-layout #go-main .TableContentAndRightShadow,
  body.go-layout #go-main .InnerTableContainer {
    overflow-x: auto;
    -webkit-overflow-scrolling: touch;
  }

  body.go-layout #go-main input[type="text"],
  body.go-layout #go-main input[type="password"],
  body.go-layout #go-main input[type="email"],
  body.go-layout #go-main input.CipAjaxInput,
  body.go-layout #go-main select,
  body.go-layout #go-main textarea {
    float: none !important;
    width: 100% !important;
    max-width: 100% !important;
    min-width: 0 !important;
    box-sizing: border-box;
    height: auto;
    min-height: 2.4em;
    padding: 8px 10px;
  }

  body.go-layout #go-main .LabelV150,
  body.go-layout #go-main td.LabelV150 {
    display: block;
    width: 100%;
    padding-bottom: 2px;
  }

  body.go-layout #go-main .TableContent tr {
    display: block;
    width: 100%;
    box-sizing: border-box;
  }

  body.go-layout #go-main .TableContent tr > td {
    display: block;
    width: 100% !important;
    max-width: 100%;
    box-sizing: border-box;
    padding: 6px 8px;
  }

  body.go-layout #go-main .ge-is-controls input[type="text"] {
    min-width: 0;
    flex: 1 1 100%;
    height: 2.5em;
  }

  body.go-layout #go-main .ge-is-table {
    min-width: 520px;
  }

  body.go-layout #go-main .ge-is-results {
    overflow: auto;
  }

  body.go-layout #LoginCreateAccountBox {
    float: none !important;
    width: 100%;
  }

  body.go-layout #LoginCreateAccountBox + div,
  body.go-layout .MediumButtonForm {
    float: none !important;
    margin: 12px 0 0;
  }

  body.go-layout .go-mobile-brand {
    padding: 6px 10px 4px;
    font-size: 15px;
  }

  body.go-layout .go-mobile-brand small {
    display: block;
    color: #fff;
    font-size: 11px;
    opacity: 0.95;
  }

  body.go-layout #space {
    min-height: 0;
    height: var(--go-mobile-gap, 90px);
    max-height: none;
  }

  body.go-layout #header {
    display: none !important;
    height: 0 !important;
    max-height: 0 !important;
  }

  body.go-layout .news-text,
  body.go-layout .NewsTickerText,
  body.go-layout #go-main p {
    text-align: left;
    hyphens: auto;
  }
}

@media (min-width: 992px) {
  body.go-layout #space {
    height: var(--go-desk-gap, 152px);
    max-height: none;
  }

  body.go-layout #header {
    display: none !important;
    height: 0 !important;
    max-height: 0 !important;
  }
}

/* Highscores / worlds: local horizontal scroll, visible */
body.go-layout #go-main .go-hs-filters,
body.go-layout #go-main .InnerTableContainer {
  max-width: 100%;
}

body.go-layout #go-main .Table2,
body.go-layout #go-main .Table3 {
  max-width: 100%;
}

body.go-layout #go-main td {
  overflow-wrap: anywhere;
}

/* CTA contrast: keep green text solid, no faded gray */
body.go-layout .go-cta-stack .cta-sub,
body.go-layout .go-cta-stack a.cta-banner .cta-sub {
  color: #0b3d1c;
  opacity: 1;
  font-weight: 600;
}

body.go-layout .go-cta-stack .cta-title {
  color: #0b3d1c;
}

body.go-layout .go-cta-stack a.cta-banner:focus {
  outline: 2px solid var(--gold);
  outline-offset: 2px;
}

/* Equipment / NPC selected tabs */
body.go-layout #go-main .voc-tab.active,
body.go-layout #go-main .npc-tab.active {
  outline: 2px solid var(--gold);
  box-shadow: inset 0 0 0 1px #1a1a1a;
  font-weight: 800;
}

body.go-layout #go-main .filter-select option:checked,
body.go-layout #go-main select.filter-select:focus {
  color: #fff;
  background: #2a2a2a;
}

body.go-layout #go-main .voc-tab,
body.go-layout #go-main .npc-tab {
  display: inline-flex;
  align-items: center;
  justify-content: center;
}

body.go-layout #go-main .voc-tab:focus,
body.go-layout #go-main .npc-tab:focus,
body.go-layout #go-main .page-btn:focus,
body.go-layout #go-main .go-flatbtn:focus,
body.go-layout #go-main a:focus {
  outline: 2px solid var(--gold);
  outline-offset: 2px;
}

/* Houses radios */
@media (max-width: 767.98px) {
  body.go-layout #go-main input[type="radio"],
  body.go-layout #go-main input[type="checkbox"] {
    width: 1.1em !important;
    height: 1.1em;
    min-width: 1.1em !important;
    margin-right: 8px;
    vertical-align: middle;
  }

  body.go-layout #go-main label {
    display: flex;
    align-items: center;
    gap: 8px;
    min-height: 44px;
  }
}

/* Drawer a11y: closed drawer is not tabbable */
@media (max-width: 767.98px) {
  body.go-layout #go-sidebar-left:not(.is-open) {
    visibility: hidden;
    pointer-events: none;
  }

  body.go-layout #go-sidebar-left:not(.is-open) a,
  body.go-layout #go-sidebar-left:not(.is-open) button {
    visibility: hidden;
  }

  body.go-layout #go-sidebar-left.is-open {
    visibility: visible;
    pointer-events: auto;
  }
}

/* Hierarchy */
body.go-layout #go-main h1,
body.go-layout #go-main .go-page-title,
body.go-layout #go-main .ge-is-title,
body.go-layout #go-main .go-dl-title {
  font-family: var(--font-display);
  color: var(--heading-sand);
  font-weight: 700;
}

body.go-layout #go-main .ge-is-lead,
body.go-layout #go-main .go-dl-text {
  color: var(--text);
  text-align: left;
}

/* Item search search field */
body.go-layout #go-main .ge-is-controls {
  align-items: stretch;
}

body.go-layout #go-main .ge-is-controls input,
body.go-layout #go-main .ge-is-controls select {
  line-height: 1.3;
  height: auto;
}

/* Filters collapsible on equipment */
@media (max-width: 767.98px) {
  body.go-layout #go-main .filters-panel {
    padding: 12px;
  }

  body.go-layout #go-main .go-filters-summary {
    display: block;
    margin: 0 0 8px;
    color: var(--heading-sand);
    font-size: 13px;
  }
}

.go-filters-summary { display: none; }

.go-social-item.is-disabled {
  opacity: 0.45;
  cursor: default;
  pointer-events: none;
}

.go-empty-state {
  padding: 16px;
  color: var(--text);
  border: 1px solid var(--border);
  background: var(--bg-panel);
}

.go-id-legend {
  font-size: 11px;
  color: var(--text-muted);
  margin: 0 0 10px;
}

.go-sr-only {
  position: absolute;
  width: 1px;
  height: 1px;
  padding: 0;
  margin: -1px;
  overflow: hidden;
  clip: rect(0, 0, 0, 0);
  border: 0;
}

.go-login-welcome {
  display: flex;
  flex-direction: column;
  gap: 10px;
  padding: 8px 4px;
}

.go-login-welcome h1 {
  margin: 0;
  font-size: 1.25rem;
  color: var(--heading-sand);
}

.go-login-welcome p {
  margin: 0;
  text-align: left;
}

.go-house-filters {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 12px;
  padding: 10px 8px;
}

.go-house-filters fieldset {
  border: 1px solid var(--border);
  margin: 0;
  padding: 8px 10px 10px;
  min-width: 0;
}

.go-house-filters legend {
  font-weight: 700;
  color: var(--heading-sand);
  padding: 0 4px;
}

.go-house-filters label {
  display: flex;
  align-items: center;
  gap: 8px;
  min-height: 36px;
  margin: 0;
}

@media (max-width: 767.98px) {
  .go-house-filters {
    grid-template-columns: 1fr;
  }

  body.go-layout #go-main .go-login-welcome,
  body.go-layout #LoginCreateAccountBox {
    width: 100%;
    float: none;
  }

  body.go-layout #go-main .filters-panel.is-collapsed .filter-section,
  body.go-layout #go-main .filters-panel.is-collapsed .filter-row,
  body.go-layout #go-main .filters-panel.is-collapsed .filter-buttons {
    display: none;
  }

  body.go-layout #go-main .filters-panel .go-filters-toggle,
  body.go-layout #go-main .go-filters-summary {
    display: block;
    width: 100%;
    margin: 0 0 8px;
  }
}

.go-filters-toggle {
  display: none;
  background: #2a2a2a;
  color: var(--heading-sand);
  border: 1px solid var(--gold);
  padding: 10px 12px;
  font-weight: 700;
  cursor: pointer;
}

body.go-layout #go-main .voc-tab {
  border: 2px solid #3f3f3f;
  background: #1a1a1a;
  color: #d4c0a1;
}

body.go-layout #go-main .voc-tab.active {
  background: #d4c0a1;
  color: #1a1a1a;
  outline: 2px solid var(--gold);
  outline-offset: 2px;
  font-weight: 800;
}

body.go-layout #go-main .news-text,
body.go-layout #go-main .news-text p {
  text-align: left;
  hyphens: auto;
}

body.go-layout #go-main button.ge-is-orb {
  background: transparent;
  border: 0;
  padding: 0;
  cursor: pointer;
}
