/*
 * NebraOT - Global Modern UI layer
 * Applies to the complete public MyAAC site without changing business logic.
 */
:root {
  --nebra-bg: #090706;
  --nebra-panel: rgba(18, 13, 11, .94);
  --nebra-panel-2: rgba(31, 21, 16, .94);
  --nebra-panel-soft: rgba(40, 27, 20, .78);
  --nebra-line: rgba(210, 158, 69, .34);
  --nebra-line-strong: rgba(234, 181, 83, .62);
  --nebra-gold: #e9b558;
  --nebra-gold-soft: #ffd989;
  --nebra-red: #9d2c1a;
  --nebra-red-dark: #52120c;
  --nebra-text: #f2e5d2;
  --nebra-text-soft: #cdbba6;
  --nebra-muted: #9d8a77;
  --nebra-good: #6ecf8b;
  --nebra-bad: #f27768;
  --nebra-radius: 14px;
  --nebra-shadow: 0 14px 36px rgba(0, 0, 0, .38);
}

html {
  min-height: 100%;
  scroll-behavior: smooth;
}

body {
  min-height: 100vh;
  color: var(--nebra-text);
  font-family: Inter, "Segoe UI", Tahoma, Arial, sans-serif !important;
  background-color: #080605 !important;
}

#ArtworkHelper {
  min-width: 0 !important;
  min-height: 100vh;
  background:
    linear-gradient(180deg, rgba(8, 5, 4, .12) 0%, rgba(8, 5, 4, .48) 58%, rgba(8, 5, 4, .84) 100%),
    radial-gradient(circle at 50% 5%, rgba(157, 44, 26, .10), transparent 45%);
}

#Bodycontainer {
  box-sizing: border-box;
  min-width: 0 !important;
  max-width: 1460px !important;
  width: 100% !important;
  padding: 0 18px 72px !important;
}

#ContentRow {
  top: 155px !important;
  display: grid !important;
  grid-template-columns: 205px minmax(0, 1fr) 205px;
  gap: 18px;
  align-items: start;
}

#MenuColumn,
#ContentColumn,
#ThemeboxesColumn {
  position: relative !important;
  left: auto !important;
  right: auto !important;
  top: auto !important;
  margin: 0 !important;
  min-width: 0 !important;
}

#MenuColumn,
#ThemeboxesColumn {
  width: 100% !important;
}

#ContentColumn {
  width: auto !important;
}

/* ---------- logo ---------- */
#LeftArtwork {
  left: 2px !important;
}
#LeftArtwork #TibiaLogoArtworkTop {
  filter: drop-shadow(0 8px 16px rgba(0,0,0,.7));
  transition: transform .18s ease, filter .18s ease;
}
#LeftArtwork #TibiaLogoArtworkTop:hover {
  transform: translateY(-2px) scale(1.015);
  filter: drop-shadow(0 10px 20px rgba(0,0,0,.82));
}

/* ---------- left account / download cards ---------- */
#Loginbox,
.SmallMenuBox,
#Menu {
  box-sizing: border-box;
  left: 0 !important;
  width: 100% !important;
}

#Loginbox,
.SmallMenuBox#DownloadBox {
  margin: 0 0 12px !important;
  padding: 9px !important;
  border: 1px solid var(--nebra-line);
  border-radius: 12px;
  background: linear-gradient(145deg, rgba(18,13,11,.96), rgba(42,24,18,.92));
  box-shadow: 0 8px 24px rgba(0,0,0,.34), inset 0 1px rgba(255,255,255,.03);
}

#LoginTop,
#LoginBottom,
.LoginBorder,
.SmallMenuBox .SmallBoxTop,
.SmallMenuBox .SmallBoxBottom,
.SmallMenuBox .SmallBoxBorder {
  display: none !important;
}

#LoginButtonContainer,
#Loginbox .Loginstatus,
.SmallMenuBox .SmallBoxButtonContainer {
  box-sizing: border-box;
  position: relative !important;
  left: auto !important;
  top: auto !important;
  width: 100% !important;
  height: auto !important;
  margin: 0 !important;
  background: none !important;
}

#Loginbox #LoginButton,
#PlayNowContainer,
.MediumButtonBackground {
  box-sizing: border-box;
  position: relative !important;
  inset: auto !important;
  width: 100% !important;
  height: 38px !important;
}

#Loginbox #LoginButton {
  display: flex;
  align-items: center;
  justify-content: center;
  border: 1px solid rgba(234,181,83,.58);
  border-radius: 9px;
  background: linear-gradient(180deg, #9b311e, #5f160e) !important;
  box-shadow: inset 0 1px rgba(255,255,255,.08), 0 4px 10px rgba(0,0,0,.28);
  overflow: hidden;
}

#Loginbox #LoginButton .Button,
#Loginbox #LoginButton #ButtonText,
.MediumButtonOver,
.MediumButtonText {
  background-image: none !important;
}

#Loginbox #LoginButton #ButtonText {
  position: absolute !important;
  inset: 0 !important;
  width: 100% !important;
  height: 100% !important;
}

.NebraLoginButtonText,
.NebraDownloadText {
  position: absolute;
  inset: 0;
  display: flex;
  align-items: center;
  justify-content: center;
  pointer-events: none;
  color: #fff0c4;
  font-size: 11px;
  font-weight: 800;
  letter-spacing: .8px;
  text-transform: uppercase;
  text-shadow: 0 1px 2px #000;
  z-index: 30;
}

#Loginbox .Loginstatus {
  margin-top: 7px !important;
  min-height: 27px;
  border-radius: 7px;
  background: rgba(255,255,255,.035) !important;
}
#LoginstatusText_2 {
  position: relative !important;
  width: 100% !important;
  min-height: 27px;
  cursor: pointer;
}
#Loginbox .LoginstatusText {
  display: none !important;
}
.NebraLoginStatusText {
  display: flex;
  align-items: center;
  justify-content: center;
  min-height: 27px;
  color: var(--nebra-text-soft);
  font-size: 10px;
  font-weight: 700;
  letter-spacing: .25px;
}
.NebraLoginStatusText:hover { color: var(--nebra-gold-soft); }

.SmallMenuBox#DownloadBox {
  top: auto !important;
  min-height: 58px;
}
.SmallMenuBox .SmallBoxButtonContainer {
  min-height: 38px;
}
#PlayNowContainer {
  top: auto !important;
  left: auto !important;
}
#PlayNowContainer .MediumButtonBackground {
  border: 1px solid rgba(234,181,83,.52);
  border-radius: 9px;
  background: linear-gradient(180deg, #3f2a1a, #21150f) !important;
  overflow: hidden;
}
#PlayNowContainer .MediumButtonText {
  opacity: 0 !important;
}
#PlayNowContainer:hover .MediumButtonBackground {
  border-color: var(--nebra-gold);
  background: linear-gradient(180deg, #5a3820, #281810) !important;
}

/* ---------- modern navigation ---------- */
#Menu {
  padding: 8px;
  border: 1px solid var(--nebra-line);
  border-radius: 14px;
  background: linear-gradient(155deg, rgba(14,10,9,.97), rgba(34,21,16,.95));
  box-shadow: var(--nebra-shadow);
}
#MenuTop,
#MenuBottom { display: none !important; }

.menuitem {
  margin: 0 0 5px;
  border-radius: 9px;
  overflow: hidden;
}
.MenuButton {
  box-sizing: border-box;
  width: 100% !important;
  height: 38px !important;
  border: 1px solid transparent;
  border-radius: 8px;
  background: rgba(255,255,255,.025) !important;
  transition: border-color .14s ease, background .14s ease, transform .14s ease;
}
.MenuButton:hover {
  border-color: rgba(234,181,83,.38);
  background: linear-gradient(90deg, rgba(116,29,18,.66), rgba(71,29,18,.34)) !important;
  transform: translateX(2px);
}
.MenuButton > div { height: 100% !important; }
.MenuButton .Button,
.MenuButton .Lights,
.MenuButton .Label {
  display: none !important;
}
.MenuButton .Icon {
  top: 3px !important;
  left: 5px !important;
  width: 32px !important;
  height: 32px !important;
  filter: drop-shadow(0 2px 3px rgba(0,0,0,.75));
}
.MenuButton .Extend {
  top: 13px !important;
  right: 8px !important;
  opacity: .72;
  filter: sepia(1) saturate(.7) brightness(1.4);
}
.NebraMenuText {
  position: absolute;
  left: 42px;
  right: 27px;
  top: 0;
  height: 38px;
  display: flex;
  align-items: center;
  color: #f0dfc5;
  font-size: 11px;
  font-weight: 800;
  letter-spacing: .45px;
  text-transform: uppercase;
  text-shadow: 0 1px 2px #000;
  pointer-events: none;
}

.Submenu {
  box-sizing: border-box;
  width: 100% !important;
  margin: 4px 0 8px !important;
  padding: 4px !important;
  border: 1px solid rgba(234,181,83,.14);
  border-radius: 8px;
  background: rgba(0,0,0,.28) !important;
}
.Submenu .LeftChain,
.Submenu .RightChain { display: none !important; }
.Submenuitem {
  border-radius: 6px;
  overflow: hidden;
  background: transparent !important;
}
.SubmenuitemLabel {
  box-sizing: border-box;
  padding: 7px 7px 7px 23px !important;
  border: 0 !important;
  color: var(--nebra-text-soft) !important;
  font-size: 10px;
  font-weight: 650;
  line-height: 1.25;
}
.Submenuitem:hover {
  background: linear-gradient(90deg, rgba(157,44,26,.42), rgba(157,44,26,.08)) !important;
}
.Submenuitem:hover .SubmenuitemLabel { color: #fff2d1 !important; }
.ActiveSubmenuItemIcon {
  top: 9px !important;
  left: 7px !important;
  filter: sepia(1) saturate(1.4) brightness(1.6);
}

/* ---------- main content shell ---------- */
.Content .Box {
  box-sizing: border-box;
  margin: 0 0 18px !important;
  border: 1px solid var(--nebra-line) !important;
  border-radius: var(--nebra-radius);
  background: rgba(17,12,10,.92) !important;
  box-shadow: var(--nebra-shadow), inset 0 1px rgba(255,255,255,.025);
  overflow: hidden !important;
}
.Content .Box > .Corner-tl,
.Content .Box > .Corner-tr,
.Content .Box > .CornerWrapper-b,
.Content .Box > .Border_1,
.Content .Box > .BorderTitleText {
  display: none !important;
}
.Content .Box > .Title {
  position: relative !important;
  inset: auto !important;
  display: block;
  max-width: calc(100% - 28px);
  height: auto;
  margin: 13px 14px 8px;
  filter: drop-shadow(0 2px 4px rgba(0,0,0,.72)) sepia(.18) saturate(1.12);
}
.Content .Border_2,
.Content .Border_3 {
  margin: 0 !important;
  padding: 0 !important;
  border: 0 !important;
  background: transparent !important;
}
.Content .BoxContent {
  box-sizing: border-box;
  min-height: 360px !important;
  padding: 16px !important;
  color: var(--nebra-text) !important;
  background:
    radial-gradient(circle at 90% 0%, rgba(157,44,26,.09), transparent 28%),
    linear-gradient(180deg, rgba(28,19,15,.84), rgba(14,10,9,.92)) !important;
  font-family: Inter, "Segoe UI", Tahoma, Arial, sans-serif !important;
  font-size: 12px !important;
  line-height: 1.52;
  overflow-x: auto;
}
.Content .BoxContent td,
.Content .BoxContent .ff_info,
.Content .BoxContent .ff_infotext,
.Content .BoxContent .ff_smallinfo,
.Content .BoxContent .ff_large,
.Content .BoxContent .ff_pagetext,
.Content .BoxContent .ff_pagetextgrey {
  color: var(--nebra-text) !important;
  font-family: Inter, "Segoe UI", Tahoma, Arial, sans-serif !important;
}
.Content .BoxContent .ff_pagetextgrey,
.Content .BoxContent .grey { color: var(--nebra-muted) !important; }
.Content .BoxContent .white,
.Content .BoxContent td .white,
.Content .BoxContent td .whites { color: #fff6e7 !important; }

.Content a,
.Content a:link,
.Content a:visited {
  color: var(--nebra-gold-soft) !important;
  text-decoration: none;
  transition: color .14s ease;
}
.Content a:hover {
  color: #fff1b8 !important;
  text-decoration: underline;
}

.Content h1,
.Content h2,
.Content h3,
.Content h4 {
  color: var(--nebra-gold-soft);
  font-family: Georgia, "Times New Roman", serif;
  letter-spacing: .2px;
}
.Content hr {
  border: 0;
  border-top: 1px solid var(--nebra-line);
}

/* ---------- forms ---------- */
.Content input[type="text"],
.Content input[type="email"],
.Content input[type="password"],
.Content input[type="number"],
.Content input[type="search"],
.Content input[type="url"],
.Content textarea,
.Content select {
  box-sizing: border-box;
  min-height: 34px;
  padding: 7px 9px;
  border: 1px solid rgba(234,181,83,.32) !important;
  border-radius: 8px !important;
  outline: none;
  background: rgba(7,6,5,.68) !important;
  color: #f4e7d2 !important;
  font: 12px/1.3 Inter, "Segoe UI", Arial, sans-serif !important;
  box-shadow: inset 0 1px 4px rgba(0,0,0,.3);
}
.Content textarea { min-height: 90px; resize: vertical; }
.Content input:focus,
.Content textarea:focus,
.Content select:focus {
  border-color: var(--nebra-gold) !important;
  box-shadow: 0 0 0 3px rgba(233,181,88,.11) !important;
}
.Content input::placeholder,
.Content textarea::placeholder { color: #8d7b69; }
.Content option { background: #16100d; color: #f3e4cd; }

/* ---------- classic MyAAC buttons ---------- */
.BigButton,
.MediumButtonBackground {
  box-sizing: border-box !important;
  border: 1px solid rgba(234,181,83,.48) !important;
  border-radius: 8px !important;
  background: linear-gradient(180deg, #8f2a19, #57140d) !important;
  box-shadow: 0 4px 11px rgba(0,0,0,.28), inset 0 1px rgba(255,255,255,.08);
  overflow: hidden;
}
.BigButtonOver,
.MediumButtonOver {
  background: linear-gradient(180deg, #b13a22, #731b10) !important;
}
.BigButtonText,
.Content input[type="submit"],
.Content input[type="button"],
.Content button,
.Content .btn {
  border-radius: 8px !important;
  color: #fff0c9 !important;
  font-family: Inter, "Segoe UI", Arial, sans-serif !important;
  font-weight: 750 !important;
  text-shadow: 0 1px 2px rgba(0,0,0,.75) !important;
}
.Content input[type="submit"]:not(.BigButtonText),
.Content input[type="button"]:not(.BigButtonText),
.Content button:not(.close),
.Content .btn {
  min-height: 34px;
  padding: 7px 13px;
  border: 1px solid rgba(234,181,83,.46) !important;
  background: linear-gradient(180deg, #8f2a19, #55140d) !important;
  cursor: pointer;
}
.Content input[type="submit"]:hover,
.Content input[type="button"]:hover,
.Content button:not(.close):hover,
.Content .btn:hover {
  border-color: var(--nebra-gold) !important;
  filter: brightness(1.12);
}

/* ---------- tables everywhere ---------- */
.TableContainer {
  box-sizing: border-box;
  border: 0 !important;
  border-radius: 11px;
  background: transparent !important;
  overflow: hidden;
  font-size: inherit !important;
}
.TableContainer .CaptionContainer,
.TableContainer .CaptionContainer .CaptionInnerContainer {
  min-height: 36px;
  background: linear-gradient(100deg, #35100b, #63180f 66%, #842315) !important;
}
.TableContainer .CaptionContainer {
  border: 1px solid rgba(234,181,83,.38);
  border-radius: 10px 10px 0 0;
}
.TableContainer .CaptionContainer .CaptionInnerContainer {
  box-sizing: border-box;
  padding: 8px 12px !important;
}
.TableContainer .CaptionContainer .Text {
  margin: 0 !important;
  padding: 0 !important;
  color: #ffe0a0 !important;
  font: 800 12px/20px Inter, "Segoe UI", Arial, sans-serif !important;
  letter-spacing: .15px;
}
.TableContainer .CaptionContainer [class*="CaptionEdge"],
.TableContainer .CaptionContainer [class*="CaptionBorder"],
.TableContainer .CaptionContainer [class*="CaptionVertical"],
.TableShadowContainer,
.TableShadowContainerRightTop,
.TableBottomShadow {
  display: none !important;
}
.TableContainer .Table1,
.TableContainer .Table2,
.TableContainer .Table3,
.TableContainer .Table4,
.TableContainer .Table5,
.TableContentContainer,
.TableContent {
  border-color: rgba(234,181,83,.22) !important;
  background: rgba(23,16,13,.82) !important;
  color: var(--nebra-text) !important;
  box-shadow: none !important;
}
.TableContainer .InnerTableContainer {
  box-sizing: border-box;
  margin: 0 !important;
  padding: 8px !important;
}
.TableContentContainer {
  margin: 0 0 7px !important;
  border-radius: 8px;
  overflow: hidden;
}
.TableContent {
  width: 100%;
  border-collapse: collapse;
}
.TableContent td,
.TableContainer td {
  border-color: rgba(234,181,83,.13) !important;
  color: var(--nebra-text) !important;
}
.TableContainer .Odd,
.Content .BoxContent .Odd,
tr.Odd,
.Odd { background: rgba(255,255,255,.026) !important; }
.TableContainer .Even,
.Content .BoxContent .Even,
tr.Even,
.Even { background: rgba(255,255,255,.055) !important; }
.TableContainer tr:hover td { background-color: rgba(157,44,26,.09); }
.LabelH,
.LabelH td,
.Content th {
  background: rgba(92,25,16,.86) !important;
  color: #ffe2aa !important;
}
.LabelV,
.LabelV80,
.LabelV100,
.LabelV120,
.LabelV150,
.LabelV175,
.LabelV200,
.LabelV250 { color: #e9c98f !important; }

/* legacy HTML tables using bgcolor attributes */
.Content table[bgcolor],
.Content tr[bgcolor] > td,
.Content td[bgcolor] {
  background-color: rgba(27,19,15,.88) !important;
  color: var(--nebra-text) !important;
}
.Content table {
  max-width: 100%;
}

/* ---------- messages / alerts ---------- */
.SmallBox .MessageContainer {
  border: 1px solid var(--nebra-line) !important;
  border-radius: 10px;
  overflow: hidden;
  background: rgba(29,20,16,.88) !important;
  box-shadow: 0 7px 18px rgba(0,0,0,.26);
}
.SmallBox .Message,
.SmallBox .ErrorMessage {
  color: var(--nebra-text) !important;
  background: transparent !important;
}
.SmallBox .BoxFrameHorizontal,
.SmallBox .BoxFrameVerticalRight,
.SmallBox .BoxFrameVerticalLeft,
.SmallBox [class*="BoxFrameEdge"] { display: none !important; }
.note,
.success,
.warning,
.error,
.alert {
  box-sizing: border-box;
  border-radius: 9px !important;
  padding: 10px 12px !important;
}
.note,
.alert-info { border: 1px solid rgba(93,156,207,.35) !important; background: rgba(32,74,105,.18) !important; color: #c9e5fa !important; }
.success,
.alert-success { border: 1px solid rgba(110,207,139,.35) !important; background: rgba(37,105,57,.18) !important; color: #c9f3d4 !important; }
.warning,
.alert-warning { border: 1px solid rgba(233,181,88,.38) !important; background: rgba(119,82,20,.18) !important; color: #ffe3a6 !important; }
.error,
.alert-danger { border: 1px solid rgba(242,119,104,.38) !important; background: rgba(112,32,24,.22) !important; color: #ffc9c2 !important; }

/* ---------- right-side theme boxes ---------- */
#ThemeboxesColumn {
  padding-top: 2px;
}
#RightArtwork {
  right: 14px !important;
  filter: drop-shadow(0 8px 12px rgba(0,0,0,.55));
}
#Themeboxes .Themebox {
  box-sizing: border-box;
  width: 100% !important;
  max-width: 180px;
  margin: 0 auto 12px !important;
  border-radius: 12px;
  filter: drop-shadow(0 8px 14px rgba(0,0,0,.35));
  overflow: hidden;
}
#Themeboxes .ThemeboxButton,
#Themeboxes .BigButton {
  border-radius: 8px;
}

/* ---------- ticker / status / helper ---------- */
#ContentHelper { min-width: 0 !important; }
.NewsTicker,
#NewsTicker,
.InfoBar,
#statusbar {
  border-radius: 10px !important;
  border-color: rgba(234,181,83,.25) !important;
}
#HelperDivContainer {
  border: 1px solid var(--nebra-line-strong) !important;
  border-radius: 10px;
  color: var(--nebra-text) !important;
  background: rgba(19,13,11,.97) !important;
  box-shadow: var(--nebra-shadow);
}
#HelperDivContainer .HelperDivArrow { display: none !important; }

/* ---------- footer / scroll ---------- */
#Footer {
  margin-top: 18px;
  padding: 14px 8px 30px !important;
  color: rgba(239,222,197,.66) !important;
  font-size: 10px !important;
  letter-spacing: .2px;
}
#Footer a { color: var(--nebra-gold-soft) !important; }
.scrollToTop {
  padding: 8px !important;
  border: 1px solid var(--nebra-line);
  border-radius: 999px;
  background: rgba(18,13,11,.88);
  box-shadow: 0 8px 20px rgba(0,0,0,.35);
}
.scrollToTop img { width: 34px !important; }

/* ---------- preserve custom Nebra sections ---------- */
.NebraBazaarHero,
.nebra-rules-shell,
.nebra-rules-page {
  font-family: Inter, "Segoe UI", Arial, sans-serif;
}

/* ---------- responsive ---------- */
@media (max-width: 1180px) {
  #ContentRow {
    grid-template-columns: 205px minmax(0, 1fr);
  }
  #ThemeboxesColumn { display: none !important; }
}

@media (max-width: 820px) {
  #Bodycontainer { padding: 0 10px 55px !important; }
  #ContentRow {
    top: 145px !important;
    display: block !important;
  }
  #MenuColumn {
    display: none;
    width: 100% !important;
    margin-bottom: 12px !important;
  }
  body.nebra-mobile-menu-open #MenuColumn { display: block !important; }
  #ContentColumn { width: 100% !important; }
  #LeftArtwork {
    width: 170px !important;
    left: 50% !important;
    transform: translateX(-50%);
  }
  .NebraMobileMenuButton {
    display: inline-flex !important;
  }
  .Content .BoxContent { padding: 12px !important; }
}

.NebraMobileMenuButton {
  display: none;
  position: fixed;
  left: 12px;
  top: 12px;
  z-index: 99999;
  align-items: center;
  gap: 7px;
  min-height: 38px;
  padding: 0 12px;
  border: 1px solid rgba(234,181,83,.5);
  border-radius: 9px;
  background: rgba(25,15,12,.95);
  color: #ffe2a9;
  font: 800 11px/1 Inter, "Segoe UI", Arial, sans-serif;
  box-shadow: 0 8px 22px rgba(0,0,0,.4);
  cursor: pointer;
}

@media (max-width: 560px) {
  .Content .BoxContent { font-size: 11px !important; }
  .TableContent td,
  .TableContainer td { padding: 6px !important; }
  .NebraBazaarHero { padding: 14px !important; }
}
