/* =====================================================================
   AGON MU — шаблон "agon"
   Арена: чёрный обсидиан, раскалённый красный, косые «клинки».
   Подключается последним и перекрашивает Bootstrap 3 и классы WebEngine.
   ===================================================================== */

:root {
	--bg: #0a0607;
	--bg2: #120c0d;
	--card: #140e0f;
	--card2: #191112;
	--line: #2a1a1c;
	--line2: #3a2224;
	--txt: #f2e9e4;
	--mut: #b8a69f;
	--ember: #e3262f;
	--hot: #ff7a52;
	--gold: #ffb35c;
}

html { min-width: 0 !important; height: auto; }
body {
	background: var(--bg) !important;
	color: var(--txt) !important;
	font: 500 16px/1.6 Barlow, system-ui, -apple-system, 'Segoe UI', sans-serif !important;
	min-width: 0;
}
a { color: #f2e9e4; }
a:hover, a:focus { color: var(--hot) !important; text-decoration: none; }
::selection { background: #7a1c22; color: #fff; }
.ag-hide { display: none !important; }
.ag-wrap { max-width: 1240px; margin: 0 auto; padding: 0 24px; box-sizing: border-box; }
.ag-teko { font-family: Teko, sans-serif; }

/* косой «клинок» и срезанный угол */
.ag-blade { clip-path: polygon(14px 0, 100% 0, calc(100% - 14px) 100%, 0 100%); }
.ag-cut { clip-path: polygon(0 0, 100% 0, 100% calc(100% - 26px), calc(100% - 26px) 100%, 0 100%); }

@keyframes agPulse { 0%, 100% { box-shadow: 0 0 0 0 rgba(255,90,60,.55); } 50% { box-shadow: 0 0 0 7px rgba(255,90,60,0); } }
.ag-dot { display: inline-block; width: 8px; height: 8px; border-radius: 50%; background: #ff5a3c; animation: agPulse 2.2s ease-in-out infinite; flex: 0 0 8px; }
@media (prefers-reduced-motion: reduce) { .ag-dot { animation: none; } }

/* ---------------- кнопки ---------------- */
.ag-btn, .btn-primary, .btn-default, .btn-success, .btn-danger, .btn-warning, .btn-info {
	display: inline-flex !important; align-items: center; justify-content: center; gap: 10px;
	padding: 12px 26px !important; border: 0 !important; border-radius: 0 !important;
	clip-path: polygon(12px 0, 100% 0, calc(100% - 12px) 100%, 0 100%);
	font: 700 15px/1.2 Barlow, sans-serif !important; letter-spacing: .06em; text-transform: uppercase;
	color: #fff !important; background: linear-gradient(180deg, #f0353d, #b5141c) !important;
	box-shadow: none !important; text-shadow: none !important; cursor: pointer; text-decoration: none !important; box-sizing: border-box; max-width: 100%; }
.ag-btn:hover, .btn-primary:hover, .btn-default:hover, .btn-success:hover, .btn-danger:hover, .btn-warning:hover, .btn-info:hover { filter: brightness(1.12); color: #fff !important; }
.ag-btn:focus-visible, .btn:focus-visible { outline: 2px solid var(--hot) !important; outline-offset: 3px; }
.ag-btn.dark, .btn-default { background: #1d1415 !important; box-shadow: inset 0 0 0 1px var(--line2) !important; color: var(--txt) !important; }
.ag-btn.dark:hover, .btn-default:hover { background: #2a1a1c !important; color: #fff !important; }
.ag-btn.lg { padding: 18px 34px !important; font-size: 16px !important; clip-path: polygon(14px 0, 100% 0, calc(100% - 14px) 100%, 0 100%); }
.ag-btn.lg.fire { box-shadow: 0 10px 34px rgba(227,38,47,.45) !important; }
.ag-btn.sm { padding: 10px 20px !important; font-size: 14px !important; }
.btn-xs { padding: 7px 16px !important; font-size: 12px !important; }
.btn-sm { padding: 9px 18px !important; font-size: 13px !important; }

/* ---------------- шапка ---------------- */
.ag-bar { position: relative; z-index: 20; border-bottom: 1px solid rgba(227,38,47,.28); background: rgba(10,6,7,.86); backdrop-filter: blur(6px); }
.ag-bar .ag-wrap { display: flex; align-items: center; gap: 28px; min-height: 76px; }
.ag-brand { display: flex; align-items: center; gap: 10px; text-decoration: none !important; flex: 0 0 auto; }
.ag-brand img { width: 46px; height: auto; }
.ag-brand span { font: 600 30px/1 Teko, sans-serif; letter-spacing: .06em; color: #f2e9e4; }
.ag-brand span b { color: var(--ember); font-weight: 600; }
.ag-nav ul { display: flex; gap: 26px; margin: 0; padding: 0; list-style: none; }
.ag-nav a { position: relative; display: inline-block; padding: 8px 0; font-weight: 600; font-size: 15px; letter-spacing: .04em; text-transform: uppercase; color: #f2e9e4 !important; text-decoration: none !important; }
.ag-nav a:hover { color: var(--hot) !important; }
.ag-nav a.on { color: var(--hot) !important; }
.ag-nav a.on::after { content: ""; position: absolute; left: 0; right: 0; bottom: -2px; height: 2px; background: var(--ember); box-shadow: 0 0 12px var(--ember); }
.ag-right { margin-left: auto; display: flex; align-items: center; gap: 10px; }
.ag-online { display: inline-flex; align-items: center; gap: 8px; padding: 8px 12px; font-size: 14px; font-weight: 600; background: #160f10; border: 1px solid var(--line2); white-space: nowrap; }
.ag-discord { display: inline-grid; place-items: center; width: 40px; height: 40px; background: #1d1415; border: 1px solid var(--line2); color: #f2e9e4 !important; }
.ag-discord:hover { color: #fff !important; background: #5865f2; border-color: #5865f2; }
.ag-burger { display: none; margin-left: auto; width: 44px; height: 44px; border: 1px solid var(--line2); background: #1d1415; color: #fff; font-size: 22px; cursor: pointer; }

/* ---------------- главный экран ---------------- */
.ag-hero { position: relative; min-height: 560px;
	background: linear-gradient(90deg, rgba(10,6,7,.96) 0%, rgba(10,6,7,.72) 38%, rgba(10,6,7,.15) 70%), linear-gradient(180deg, rgba(10,6,7,0) 55%, #0a0607 100%), var(--ag-hero) right top / cover no-repeat; }
.ag-hero .ag-wrap { display: flex; align-items: center; gap: 44px; padding-top: 70px; padding-bottom: 110px; min-height: 560px; }
.ag-hero-text { display: flex; flex-direction: column; align-items: flex-start; gap: 18px; max-width: 560px; }
.ag-hero-logo { width: 280px; flex: 0 0 280px; height: auto; filter: drop-shadow(0 0 40px rgba(227,38,47,.45)); }
.ag-live { display: inline-flex; align-items: center; gap: 10px; padding: 7px 14px; border: 1px solid rgba(255,90,60,.5); background: rgba(227,38,47,.12); font-weight: 700; font-size: 13px; letter-spacing: .12em; text-transform: uppercase; color: #ffb39e; }
.ag-h1 { margin: 0; font: 700 74px/.95 Teko, sans-serif; letter-spacing: .02em; text-transform: uppercase; color: #fff; }
.ag-h1 span { color: var(--ember); }
.ag-lead { margin: 0; max-width: 480px; font-size: 19px; line-height: 1.55; color: #d9cbc5; }
.ag-ctas { display: flex; gap: 14px; flex-wrap: wrap; margin-top: 8px; }
.ag-timer { display: flex; gap: 10px; }
.ag-timer div { min-width: 86px; padding: 12px 8px 8px; text-align: center; background: rgba(10,6,7,.8); border: 1px solid var(--line2); }
.ag-timer b { display: block; font: 600 54px/.85 Teko, sans-serif; color: #fff; }
.ag-timer span { font-size: 12px; font-weight: 700; letter-spacing: .1em; text-transform: uppercase; color: var(--mut); }

/* ---------------- полоса рейтов ---------------- */
.ag-rates { position: relative; z-index: 2; margin-top: -54px; }
.ag-rates .grid { display: grid; grid-template-columns: repeat(auto-fit, minmax(160px, 1fr)); background: var(--card); border: 1px solid var(--line2); border-top: 2px solid var(--ember); box-shadow: 0 24px 60px rgba(0,0,0,.6); }
.ag-rates .grid > div { padding: 20px 24px; border-right: 1px solid var(--line); }
.ag-rates .grid > div:last-child { border-right: 0; }
.ag-rates b { display: block; font: 600 46px/.9 Teko, sans-serif; color: #fff; }
.ag-rates b.hot { color: var(--hot); }
.ag-rates span { display: block; margin-top: 6px; font-size: 13px; font-weight: 600; letter-spacing: .08em; text-transform: uppercase; color: var(--mut); }

/* ---------------- секции главной ---------------- */
.ag-sec { padding-top: 90px; }
.ag-h2 { margin: 0; font: 600 50px/1 Teko, sans-serif !important; text-transform: uppercase; color: #fff; }
.ag-head { display: flex; align-items: baseline; justify-content: space-between; gap: 16px; margin-bottom: 18px; flex-wrap: wrap; }
.ag-more { font-weight: 700; font-size: 14px; letter-spacing: .06em; text-transform: uppercase; color: var(--hot) !important; text-decoration: none !important; }
.ag-two { display: flex; gap: 28px; flex-wrap: wrap; }
.ag-two > .l { flex: 999 1 560px; min-width: 0; }
.ag-two > .r { flex: 1 1 400px; min-width: 0; }

.ag-lead-news { position: relative; display: flex; flex-direction: column; justify-content: flex-end; min-height: 320px; padding: 28px; border-top: 2px solid var(--ember); text-decoration: none !important;
	background: linear-gradient(180deg, rgba(10,6,7,.05) 15%, rgba(10,6,7,.95) 100%), var(--ag-img) center / cover no-repeat; }
.ag-lead-news:hover { filter: brightness(1.08); }
.ag-tag { align-self: flex-start; padding: 5px 10px; font-size: 12px; font-weight: 700; letter-spacing: .1em; text-transform: uppercase; background: var(--ember); color: #fff; }
.ag-lead-news h3 { margin: 12px 0 6px; font: 600 42px/1 Teko, sans-serif !important; text-transform: uppercase; color: #fff; }
.ag-lead-news time { font-size: 14px; color: #d9cbc5; }
.ag-list { display: flex; flex-direction: column; margin-top: 18px; border: 1px solid var(--line); background: var(--bg2); }
.ag-list a, .ag-list .row-i { display: flex; align-items: center; gap: 16px; padding: 15px 20px; border-bottom: 1px solid var(--line); color: var(--txt) !important; text-decoration: none !important; }
.ag-list > :last-child { border-bottom: 0; }
.ag-list a:hover { background: rgba(227,38,47,.07); }
.ag-list .n { width: 28px; font: 500 26px/1 Teko, sans-serif; color: var(--ember); }
.ag-list .t { flex: 1; min-width: 0; font-weight: 600; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.ag-list .d { font-size: 13px; color: var(--mut); white-space: nowrap; }
.ag-empty { padding: 28px; text-align: center; color: var(--mut); border: 1px solid var(--line); background: var(--bg2); }

.ag-tabs { display: flex; }
.ag-tabs button { padding: 8px 16px; border: 0; font: 700 13px Barlow, sans-serif; letter-spacing: .06em; text-transform: uppercase; background: #1d1415; color: #d9cbc5; cursor: pointer; clip-path: polygon(10px 0, 100% 0, calc(100% - 10px) 100%, 0 100%); }
.ag-tabs button.on { background: var(--ember); color: #fff; }
.ag-podium { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 10px; align-items: end; }
.ag-podium .p { padding: 14px 10px; text-align: center; background: #160f10; border: 1px solid var(--line2); min-width: 0; }
.ag-podium .p .pl { font: 500 40px/.9 Teko, sans-serif; }
.ag-podium .p .nm { margin-top: 6px; font-weight: 700; font-size: 15px; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.ag-podium .p .nm a { color: #fff !important; }
.ag-podium .p .cl { font-size: 12px; color: var(--mut); }
.ag-podium .p .sc { margin-top: 8px; font: 500 24px/1 Teko, sans-serif; color: #f2e9e4; white-space: nowrap; }
.ag-podium .p .rs { font-size: 12px; color: var(--mut); white-space: nowrap; }
.ag-podium .p img { width: 46px; height: 46px; object-fit: cover; margin-top: 8px; border: 1px solid var(--line2); }
.ag-podium .p2 { border-top: 2px solid #b9c2cc; } .ag-podium .p2 .pl { color: #c9d1da; }
.ag-podium .p3 { border-top: 2px solid #c98a5b; } .ag-podium .p3 .pl { color: #e0a57a; }
.ag-podium .p1 { padding-top: 22px; padding-bottom: 18px; background: linear-gradient(180deg, rgba(227,38,47,.22), #160f10 70%); border-color: #5a3236; border-top: 2px solid #ff5a3c; box-shadow: 0 0 34px rgba(227,38,47,.25); }
.ag-podium .p1 .pl { font-size: 54px; color: var(--gold); }
.ag-podium .p1 svg { display: block; margin: 0 auto; }
.ag-list .gr { font-size: 14px; color: #d9cbc5; white-space: nowrap; }
.ag-list .gr b { font: 500 20px/1 Teko, sans-serif; color: #fff; }

/* осада */
.ag-siege { padding: 48px; border: 1px solid var(--line2); border-left: 3px solid var(--ember); display: flex; gap: 40px; flex-wrap: wrap; align-items: center;
	background: linear-gradient(90deg, #0a0607 0%, rgba(10,6,7,.86) 45%, rgba(10,6,7,.3) 100%), url('../img/agon/siege.jpg') right center / cover no-repeat; }
.ag-siege .info { flex: 1 1 380px; min-width: 0; }
.ag-kicker { font-weight: 700; font-size: 13px; letter-spacing: .14em; text-transform: uppercase; color: #ffb39e; }
.ag-siege h2 { margin: 6px 0 14px; font: 700 72px/.85 Teko, sans-serif !important; text-transform: uppercase; color: #fff; }
.ag-siege p { margin: 0 0 22px; max-width: 440px; color: #d9cbc5; }
.ag-siege p b, .ag-siege p a { color: #fff !important; }
.ag-cd { flex: 1 1 420px; display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 10px; }
.ag-cd div { padding: 18px 6px; text-align: center; background: rgba(10,6,7,.82); border: 1px solid var(--line2); }
.ag-cd div:last-child { background: rgba(227,38,47,.16); border-color: #5a3236; }
.ag-cd b { display: block; font: 600 64px/.85 Teko, sans-serif; color: #fff; }
.ag-cd div:last-child b { color: var(--hot); }
.ag-cd span { font-size: 12px; font-weight: 700; letter-spacing: .1em; text-transform: uppercase; color: var(--mut); }
.ag-cd .battle { grid-column: 1 / -1; font: 600 54px/1 Teko, sans-serif; color: var(--hot); text-transform: uppercase; }

/* почему мы */
.ag-feats { display: grid; grid-template-columns: repeat(auto-fit, minmax(260px, 1fr)); gap: 14px; }
.ag-feat { display: flex; flex-direction: column; background: var(--card); border-top: 2px solid var(--ember); }
.ag-feat .im { height: 170px; background: center / cover no-repeat; }
.ag-feat .tx { padding: 20px 24px 28px; }
.ag-feat .tx svg { margin-top: -44px; padding: 10px; background: #160f10; border: 1px solid var(--line2); color: var(--hot); width: 46px; height: 46px; box-sizing: border-box; }
.ag-feat h3 { margin: 12px 0 6px; font: 600 30px/1 Teko, sans-serif !important; text-transform: uppercase; color: #fff; }
.ag-feat p { margin: 0; font-size: 15px; line-height: 1.55; color: #c8b6af; }

/* ---------------- внутренние страницы ---------------- */
.ag-sub { height: 270px; background: linear-gradient(90deg, rgba(10,6,7,.95) 0%, rgba(10,6,7,.55) 55%, rgba(10,6,7,.25) 100%), linear-gradient(180deg, rgba(10,6,7,0) 40%, #0a0607 100%), var(--ag-sub) center 35% / cover no-repeat; }
.ag-page { position: relative; z-index: 3; margin-top: -60px; padding-bottom: 20px; }
.ag-panel { background: var(--card); border: 1px solid var(--line2); border-top: 2px solid var(--ember); box-shadow: 0 24px 60px rgba(0,0,0,.45); }
.ag-content { padding: 36px 40px 44px; min-height: 380px; }
.ag-content .row { margin-left: -12px; margin-right: -12px; }
.ag-content [class*="col-"] { padding-left: 12px; padding-right: 12px; }

/* заголовок модуля WebEngine */
.page-title { margin: 0 0 26px !important; padding: 0 0 14px !important; border-bottom: 1px solid var(--line) !important; background: none !important; text-align: left !important; }
.page-title span { display: inline-block; font: 700 58px/.9 Teko, sans-serif !important; letter-spacing: .01em; text-transform: uppercase !important; color: #fff !important; }
h1, h2, h3, h4 { color: #f5ece8; }
h2, h3 { font-family: Teko, sans-serif; font-weight: 600; letter-spacing: .01em; }
h2 { font-size: 40px; } h3 { font-size: 30px; }

/* ---------------- подвал ---------------- */
.ag-foot { margin-top: 100px; border-top: 1px solid var(--line); background: #080506; color: var(--mut); font-size: 14px; }
.ag-foot .ag-wrap { padding-top: 32px; padding-bottom: 32px; }
.ag-foot .top { display: flex; align-items: center; gap: 24px; flex-wrap: wrap; }
.ag-foot nav { display: flex; gap: 22px; flex-wrap: wrap; }
.ag-foot nav a { color: #c8b6af !important; text-decoration: none !important; }
.ag-foot nav a:hover { color: var(--hot) !important; }
.ag-foot .copy { margin-top: 18px; padding-top: 18px; border-top: 1px solid #1c1213; font-size: 13px; color: #9a8881; display: flex; justify-content: space-between; gap: 10px; flex-wrap: wrap; }

/* ---------------- адаптив ---------------- */
@media (max-width: 1080px) {
	.ag-nav ul { gap: 18px; }
	.ag-online { display: none; }
}
@media (max-width: 900px) {
	.ag-burger { display: inline-grid; place-items: center; }
	.ag-bar .ag-wrap { flex-wrap: wrap; gap: 12px; padding-top: 12px; padding-bottom: 12px; }
	.ag-nav, .ag-right { display: none; width: 100%; }
	.ag-bar.open .ag-nav, .ag-bar.open .ag-right { display: flex; }
	.ag-nav ul { flex-direction: column; gap: 4px; width: 100%; }
	.ag-right { margin: 0; flex-wrap: wrap; padding-bottom: 6px; }
	.ag-hero { min-height: 0; background-position: 70% top; }
	.ag-hero .ag-wrap { flex-direction: column; align-items: flex-start; gap: 20px; min-height: 0; padding-top: 36px; padding-bottom: 90px; }
	.ag-hero-logo { width: 170px; flex-basis: auto; }
	.ag-h1 { font-size: 56px; }
	.ag-lead { font-size: 17px; }
	.ag-siege { padding: 28px 22px; }
	.ag-siege h2 { font-size: 56px; }
	.ag-cd b { font-size: 48px; }
	.ag-content { padding: 26px 18px 30px; }
	.page-title span { font-size: 46px !important; }
	.ag-content .col-xs-8, .ag-content .col-xs-4, .ag-content .col-xs-6 { width: 100%; float: none; }
	.ag-sub { height: 200px; }
}
@media (max-width: 520px) {
	.ag-h1 { font-size: 48px; }
	.ag-h2 { font-size: 42px !important; }
	.ag-rates .grid > div { padding: 16px; }
	.ag-rates b { font-size: 38px; }
	.ag-cd { gap: 6px; }
	.ag-cd b { font-size: 40px; }
	.ag-podium .p .nm { font-size: 13px; }
}

/* =====================================================================
   МОДУЛИ WEBENGINE (панели, таблицы, формы, старые светлые блоки)
   ===================================================================== */

/* ---------------- Bootstrap: панели ---------------- */
.panel, .panel-sidebar, .panel-news, .panel-general, .panel-downloads, .panel-addstats, .castle-owner-widget {
	background: linear-gradient(180deg, var(--card2), var(--card)) !important;
	border: 1px solid var(--line) !important; border-radius: 0 !important;
	box-shadow: inset 0 1px 0 rgba(255,255,255,.04), 0 18px 40px rgba(0,0,0,.25) !important;
	color: var(--txt) !important; overflow: hidden; }
.panel > .panel-heading, .panel-sidebar > .panel-heading, .panel-news .panel-heading {
	position: relative; background: linear-gradient(180deg, #221617, #170f10) !important; color: var(--txt) !important;
	border: 0 !important; border-bottom: 1px solid var(--line) !important; border-radius: 0 !important; padding: 14px 18px !important; }
.panel > .panel-heading::before { content: ""; position: absolute; left: 0; right: 0; top: 0; height: 1px; background: linear-gradient(90deg, transparent, #e3262f 30%, #fff 50%, #e3262f 70%, transparent); opacity: .6; }
.panel-title, .panel-heading h3 { font: 800 16px/1.3 Barlow, sans-serif !important; color: #f5ece8 !important; }
.panel-body { color: var(--txt); }
.panel-footer { background: #110b0c !important; border-top: 1px solid var(--line) !important; color: var(--mut) !important; }
.panel-news .panel-title { font: 900 22px/1.2 Teko, sans-serif !important; }

/* ---------------- таблицы ---------------- */
.table, .rankings-table, .general-table-ui, .myaccount-table, table.cells {
	width: 100%; background: transparent !important; color: var(--txt) !important; border-collapse: collapse; border: 0 !important; }
.table > thead > tr > th, .table > thead > tr > td, .rankings-table tr:first-child td, .general-table-ui tr:first-child td, table.cells td.header {
	background: #140e0f !important; color: var(--mut) !important; font-size: 12px !important; font-weight: 800 !important;
	letter-spacing: .08em; text-transform: uppercase; border: 0 !important; border-bottom: 1px solid var(--line2) !important; padding: 12px 14px !important; }
.table > tbody > tr > td, .rankings-table tr td, .general-table-ui tr td, .myaccount-table tr td, table.cells td {
	background: transparent !important; border: 0 !important; border-bottom: 1px solid var(--line) !important; padding: 11px 14px !important;
	color: var(--txt) !important; vertical-align: middle !important; }
.table-striped > tbody > tr:nth-of-type(odd), .general-table-ui tr:nth-child(2n+2) td, table.cells tr:nth-child(even) { background: rgba(255,255,255,.015) !important; }
.table-hover > tbody > tr:hover, .rankings-table tr:hover td, table.cells tr:hover { background: rgba(227,38,47,.05) !important; }
.myaccount-table tr td:first-child { color: var(--mut) !important; font-weight: 700; }
.rankings-table-place { font-weight: 900 !important; color: #f5ece8 !important; font-family: Teko, sans-serif; }
.rankings-class-image { border-radius: 0; border: 1px solid var(--line2); }
.rankings-update-time { color: var(--mut) !important; }
.rankings_menu { display: flex !important; flex-wrap: wrap; gap: 6px; margin-bottom: 18px !important; }
.rankings_menu span { display: none !important; }
.rankings_menu a { display: inline-flex !important; align-items: center; min-height: 40px; padding: 0 16px !important; margin: 0 !important;
	border-radius: 0 !important; border: 1px solid var(--line2) !important; background: #160f10 !important; color: var(--mut) !important;
	font-weight: 700 !important; text-decoration: none !important; }
.rankings_menu a:hover { color: #fff !important; border-color: #7a3a3e !important; }
.rankings_menu a.active { color: #fff !important; border-color: transparent !important; background: linear-gradient(180deg, #f0353d, #b5141c) !important; }
.rankings-class-filter { background: #160f10 !important; border: 1px solid var(--line) !important; border-radius: 0 !important; }
.rankings-class-filter-selection { color: var(--mut) !important; }
.rankings-class-filter-selection:hover { color: #fff !important; }

/* ---------------- формы ---------------- */
.form-control, input[type=text], input[type=password], input[type=number], input[type=email], select, textarea {
	background: var(--bg2) !important; border: 1px solid var(--line2) !important; border-radius: 0 !important;
	color: var(--txt) !important; box-shadow: none !important; font: 500 15px Barlow, sans-serif !important; }
.form-control { height: 46px; padding: 0 14px; }
textarea.form-control { height: auto; padding: 12px 14px; }
.form-control:focus, input:focus, select:focus, textarea:focus { border-color: #e3262f !important; box-shadow: 0 0 0 3px rgba(227,38,47,.18) !important; outline: none; }
.form-control::placeholder { color: #7d6a64; }
label, .control-label { color: #e9dcd6 !important; font-weight: 700 !important; }
.help-block { color: var(--mut) !important; }
.input-group-addon { background: #1d1415 !important; border-color: var(--line2) !important; color: var(--mut) !important; }
.checkbox label, .radio label { font-weight: 500 !important; }

/* ---------------- сообщения, вкладки, прочее ---------------- */
.alert { border-radius: 0 !important; border: 1px solid var(--line2) !important; background: #140e0f !important; color: var(--txt) !important; }
.alert-danger, .alert-error { border-color: #6b2f2a !important; background: #2a1514 !important; color: #ffb4a8 !important; }
.alert-success { border-color: #285a3c !important; background: #12251a !important; color: #9ff0bf !important; }
.alert-warning { border-color: #6b5524 !important; background: #261f10 !important; color: #f6dca0 !important; }
.alert-info { border-color: #2e4a70 !important; background: #121c2b !important; color: #b8d3ff !important; }
.nav-tabs { border-bottom: 1px solid var(--line2) !important; }
.nav-tabs > li > a { color: var(--mut) !important; border: 0 !important; border-radius: 0 9px 0 0 !important; font-weight: 700; }
.nav-tabs > li > a:hover { background: rgba(255,255,255,.04) !important; color: #fff !important; }
.nav-tabs > li.active > a, .nav-tabs > li.active > a:focus, .nav-tabs > li.active > a:hover { background: #1d1415 !important; color: #fff !important; box-shadow: inset 0 -2px 0 #e3262f; }
.pagination > li > a, .pagination > li > span { background: #160f10 !important; border-color: var(--line2) !important; color: var(--txt) !important; }
.pagination > .active > a, .pagination > .active > span { background: #e3262f !important; color: #fff !important; border-color: #e3262f !important; }
.well { background: #160f10 !important; border: 1px solid var(--line) !important; box-shadow: none !important; }
.modal-content { background: #160f10 !important; border: 1px solid var(--line2) !important; color: var(--txt) !important; }
.modal-header, .modal-footer { border-color: var(--line) !important; }
.close { color: #fff !important; opacity: .7; text-shadow: none; }
.thumbnail { background: #160f10 !important; border-color: var(--line) !important; }
.label-default { background: #3a2224; }
.tooltip-inner { background: #1d1415; border: 1px solid var(--line2); }
hr { border-top-color: var(--line) !important; }
.text-muted, .smalltext, .alt { color: var(--mut) !important; }
.module-requirements { background: #140e0f !important; border: 1px solid var(--line) !important; color: var(--mut) !important; border-radius: 0; }

/* ---------------- боковая колонка (личный кабинет) ---------------- */
.panel-usercp { background: linear-gradient(180deg, var(--card2), var(--card)) !important; }
.panel-usercp ul { list-style: none; margin: 0; padding: 4px 0 !important; }
.panel-usercp ul li { display: flex !important; align-items: center; gap: 10px; line-height: 1.3 !important; padding: 8px 4px; border-bottom: 1px solid var(--line); }
.panel-usercp ul li:last-child { border-bottom: 0; }
.panel-usercp ul li img { width: 26px !important; height: 26px !important; top: 0 !important; margin: 0 !important; filter: grayscale(.3) brightness(1.1); }
.panel-usercp ul li a { color: var(--txt) !important; font-weight: 700 !important; }
.panel-usercp ul li a:hover { color: #fff !important; }
.sidebar-banner img { width: 100%; border-radius: 0 !important; box-shadow: none !important; border: 1px solid var(--line) !important; }

/* ---------------- Castle Siege ---------------- */
.castle-owner-widget .panel-body { background: linear-gradient(180deg, rgba(10,6,7,.35), rgba(10,6,7,.92)), url('../img/agon/siege.jpg') center/cover !important; }


/* =====================================================================
   СОВМЕСТИМОСТЬ СО СТАРЫМИ МОДУЛЯМИ (светлые блоки, float-колонки)
   ===================================================================== */

/* пластина растягивается под колонки col-xs-* (регистрация, вход, донат) */
.ag-content { display: flow-root; }
.ag-content::after { content: ""; display: table; clear: both; }
.ag-content .col-xs-8.col-xs-offset-2 { float: none; margin: 10px auto 0 !important; width: 100%; max-width: 640px; }

/* новости: жирный текст остаётся обычным жирным текстом, а не синей плашкой */
.ag-content p > strong {
	display: inline !important; background: none !important; border: 0 !important; padding: 0 !important; margin: 0 !important;
	font: inherit !important; font-weight: 800 !important; color: #fff !important; text-align: inherit !important;
	text-transform: none !important; box-shadow: none !important; text-shadow: none !important; letter-spacing: normal !important; }
.panel-news .panel-body { font-size: 15px; line-height: 1.7; }
.panel-news .panel-body p { margin: 0 0 12px; }

/* страница Info: заголовки разделов (p > strong) — стальная полоса */
.ag-p-info .ag-content p > strong {
	display: block !important; margin: 30px 0 12px !important; padding: 12px 18px !important; border-radius: 0;
	font: 900 20px/1.2 Teko, sans-serif !important; color: #f5ece8 !important; text-align: left !important;
	background: linear-gradient(90deg, rgba(227,38,47,.18), rgba(227,38,47,0)) !important;
	border-left: 3px solid #e3262f !important; }

/* инлайновые светлые блоки старых модулей (донат, тикеты, профиль, загрузки и т.д.) */
.ag-content [style*="background: rgba(241, 241, 241)"], .ag-content [style*="background:rgba(241,241,241)"],
.ag-content [style*="background: rgba(241,241,241)"], .ag-content [style*="background:rgba(241, 241, 241)"],
.ag-content [style*="background: #f1f1f1"], .ag-content [style*="background:#f1f1f1"],
.ag-content [style*="background: #f9f9f9"], .ag-content [style*="background:#f9f9f9"],
.ag-content [style*="background: #fff"], .ag-content [style*="background:#fff"],
.ag-content [style*="background: white"], .ag-content [style*="background: #e3e3e3"], .ag-content [style*="background: #fdf7f7"],
.ag-content [style*="background: #f8f9fa"], .ag-content [style*="background-color: #fff"] {
	background: rgba(10,6,7,.55) !important; color: var(--txt) !important; border-color: var(--line) !important; border-radius: 0; }
.ag-content [style*="color: #333"], .ag-content [style*="color:#333"], .ag-content [style*="color: #666"], .ag-content [style*="color:#666"],
.ag-content [style*="color: #000"], .ag-content [style*="color:#000"], .ag-content [style*="color:#2c3e50"], .ag-content [style*="color: #2c3e50"] { color: var(--txt) !important; }
.ag-content [style*="color: #3f6588"], .ag-content [style*="color:#3f6588"] { color: #f5ece8 !important; }
.ag-content [style*="#e3e3e3"], .ag-content [style*="#ccc"], .ag-content [style*="#ddd"], .ag-content [style*="#eee"] { border-color: var(--line) !important; }
.ag-content h3[style], .ag-content h4[style] { font-family: Teko, sans-serif !important; }
.ag-content [style*="background: #3f6588"], .ag-content [style*="background:#3f6588"] {
	background: linear-gradient(180deg, #2a1a1c, #1d1415) !important; color: #f5ece8 !important; border-color: var(--line2) !important; }
.ag-content button[style*="background: #3f6588"] { background: linear-gradient(180deg, #f0353d, #b5141c) !important; color: #fff !important; border-radius: 0; }
.ag-content [style*="border-left: 3px solid #d9534f"] { border-left-color: #ff5a3c !important; }
.ag-content .btn[style*="#28a745"] { background: linear-gradient(180deg, #4cc46a, #2b8a43) !important; border-color: transparent !important; color: #fff !important; }
.ag-content .checkbox label { color: var(--txt); }
.ag-content .checkbox a, .ag-content label a { color: #fff !important; }

/* донат: окно с условиями (переносится в body скриптом, чтобы не обрезалось) */
#tosModal > div { border-radius: 0; border-color: var(--line2) !important; background: var(--card) !important; }
#tosModal > div > div { color: var(--txt) !important; }
#tosModal > div > div:first-child { background: linear-gradient(180deg, #2a1a1c, #1d1415) !important; }
#tosModal > div > div:nth-child(2) { background: #110b0c !important; }
#tosModal > div > div:last-child { background: #160f10 !important; border-color: var(--line) !important; }
#tosModal h3, #tosModal h4 { font-family: Teko, sans-serif; color: #f5ece8 !important; border-color: var(--line) !important; }
#tosModal p[style] { background: rgba(224,100,95,.1) !important; }
#tosModal button { background: linear-gradient(180deg, #f0353d, #b5141c) !important; color: #fff !important; border-radius: 0; }

/* донат PayPal: способы оплаты */
.ag-content .pay-box { background: #160f10 !important; border: 1px solid var(--line) !important; border-radius: 0 !important; }
.ag-content .pay-box span { color: var(--txt) !important; }
.ag-content .pay-methods-wrap label:hover .pay-box { border-color: #7a3a3e !important; }
.ag-content .pay-methods-wrap input:checked + .pay-box { border-color: #ff7a52 !important; background: #221516 !important; box-shadow: 0 0 0 3px rgba(255,90,60,.12) !important; }
.ag-content #freekassa_selector_block { background: #110b0c !important; border: 1px solid var(--line) !important; border-radius: 0 !important; }
.ag-content .fk-title { color: #f5ece8 !important; }
.ag-content .fk-method-card { background: #160f10 !important; border-color: var(--line) !important; border-radius: 0 !important; }
.ag-content .fk-method-card:hover, .ag-content .fk-method-card.active { background: #221516 !important; border-color: #ff7a52 !important; }
.ag-content .fk-method-card span { color: var(--txt) !important; }
.ag-content input[name="amount"] { width: 120px !important; height: 44px; padding: 0 12px !important; border-radius: 0; }
.paypal-gateway-content { background: #110b0c !important; border: 1px solid var(--line) !important; border-radius: 0 !important; color: var(--txt); }
.paypal-gateway-logo { background-color: #160f10 !important; border-radius: 0; }
.paypal-gateway-form input[type=text] { border: 1px solid var(--line2) !important; color: #fff !important; }

/* профиль персонажа: экипировка */
.mu-profile-equipment { background: rgba(10,6,7,.55) !important; border: 1px solid var(--line) !important; border-radius: 0; color: var(--txt) !important; }
.mu-profile-equipment h4 { color: #f5ece8 !important; font-family: Teko, sans-serif; border-color: var(--line) !important; }
.mu-profile-equip-slot { background: #160f10 !important; border: 1px solid var(--line2) !important; border-radius: 0 !important; box-shadow: inset 0 1px 0 rgba(255,255,255,.04) !important; }
.mu-profile-equip-slot.has-item { background: #221516 !important; }
.mu-profile-equip-slot.is-empty, .mu-profile-equipment-board.is-hidden .mu-profile-equip-slot { background: #0e090a !important; }
.mu-profile-equipment-hidden { color: #f5ece8 !important; background: rgba(22,15,16,.94) !important; border-color: var(--line2) !important; border-radius: 0; }
.profiles_player_card, .profiles_guild_card { border-radius: 0 !important; border: 1px solid var(--line) !important; }
.profiles_player_content { background: rgba(10,6,7,.62) !important; border-color: var(--line) !important; }

/* загрузки: картинка и текст в инфоблоке */
.ag-content .download-description { color: var(--mut); }
.ag-content ol li h4 { font-family: Barlow, sans-serif !important; font-weight: 800; font-size: 16px; color: #f5ece8; }
.ag-content hr { border-top-color: var(--line) !important; }

/* старые таблицы info/профиля внутри пластины */
.ag-content table[style*="background: #fff"] td, .ag-content table[style*="background:#fff"] td { background: transparent; }
.ag-content td[style*="background: #f9f9f9"] { background: rgba(255,255,255,.03) !important; }
.ag-content .pay-box img { background: #eef2f6; border-radius: 0; padding: 5px 10px; max-height: 42px !important; box-sizing: content-box; }
.ag-content .pay-methods-wrap { gap: 12px !important; }
.ag-content form label { color: var(--txt); }

/* рейтинги: кнопки по ширине текста, в одну строку */
.rankings_menu a { width: auto !important; white-space: nowrap !important; line-height: 1 !important; height: 40px; }

/* кнопка AdminCP (видна только админу) */
.admincp-button { position: fixed !important; top: auto !important; bottom: 18px; right: 18px !important; z-index: 50;
	background: linear-gradient(180deg, #f0353d, #b5141c) !important; border: 0 !important; color: #fff !important;
	border-radius: 0 !important; font-weight: 800 !important; box-shadow: 0 8px 22px rgba(0,0,0,.45); }

/* остатки тёмного текста из старого style.css */
.panel-general, .panel-addstats, .panel-downloads, .panel-news { color: var(--txt) !important; }
.panel-body .panel-title, .panel-addstats .character-name { color: #f5ece8 !important; border-color: var(--line) !important; }
.tos_list li p, .paypal-gateway-conversion-rate, .paypal-gateway-form div, .download-description { color: var(--txt) !important; }
.webengine-powered { color: var(--mut) !important; }

/* личный кабинет: мои персонажи */
.myaccount-character-name a { color: #f5ece8 !important; font-weight: 800 !important; }
.myaccount-character-name a:hover { color: #fff !important; }
.myaccount-character-block { background: #160f10 !important; border: 1px solid var(--line2) !important; border-radius: 0 !important; padding: 6px !important; }
.myaccount-character-block img { border-radius: 0 !important; box-shadow: none !important; }
.myaccount-character-block-location { color: var(--mut) !important; font-size: 12px; }
.myaccount-character-block-level { color: #fff !important; background: rgba(10,6,7,.8) !important; border: 1px solid var(--line2); font-weight: 800; }


/* вкладки рейтинга — косые клинки, как кнопки */
.rankings_menu a { clip-path: polygon(10px 0, 100% 0, calc(100% - 10px) 100%, 0 100%); padding: 0 22px !important; border: 0 !important; background: #1d1415 !important; color: #d9cbc5 !important; text-transform: uppercase; letter-spacing: .04em; font-size: 13px !important; }
.rankings_menu a:hover { background: #2a1a1c !important; color: #fff !important; }
.rankings_menu a.active { background: linear-gradient(180deg, #f0353d, #b5141c) !important; color: #fff !important; }

/* онлайн в шапке — зелёный */
@keyframes agPulseG { 0%, 100% { box-shadow: 0 0 0 0 rgba(61,220,132,.55); } 50% { box-shadow: 0 0 0 7px rgba(61,220,132,0); } }
.ag-online { color: #7ff0b0; border-color: rgba(61,220,132,.35); background: rgba(61,220,132,.08); }
.ag-online .ag-dot { background: #3ddc84; animation-name: agPulseG; }

/* Castle Siege page: owner panel background image */
.castle-siege-block .castle-owner-panel { background: linear-gradient(90deg, rgba(10,6,7,.92) 0%, rgba(10,6,7,.6) 45%, rgba(10,6,7,.15) 100%), url('../img/agon/siege.jpg') center/cover no-repeat !important; min-height: 260px; }
.castle-siege-block .castle-owner-panel .panel-body { background: transparent !important; }

/* ===== Guild profile page ===== */
.profiles_guild_card { background: linear-gradient(180deg, rgba(10,6,7,.55) 0%, rgba(10,6,7,.94) 210px, var(--card) 100%), url('../img/agon/hall.jpg') center top / 100% auto no-repeat, var(--card) !important; padding: 28px !important; box-shadow: none !important; color: var(--txt) !important; text-shadow: none !important; overflow: hidden; }
.profiles_guild_card > .row:first-child { display: flex; flex-wrap: wrap; align-items: center; gap: 24px; margin: 0 !important; }
.profiles_guild_card > .row:first-child > div { float: none !important; width: auto !important; padding: 0 !important; }
.profiles_guild_card > .row:first-child > div:last-child { flex: 1 1 300px; text-align: left !important; }
.profiles_guild_card .guild_logo { display: block; padding: 8px; background: rgba(0,0,0,.45); border: 1px solid var(--line2); }
.profiles_guild_card .guild_logo img { display: block; width: 128px !important; height: 128px !important; image-rendering: pixelated; border: 0 !important; box-shadow: none !important; margin: 0 !important; }
.profiles_guild_card .guild_name { display: block; margin: 0 0 14px !important; padding: 0 !important; font: 700 40px/1.05 Teko, sans-serif !important; color: var(--txt) !important; text-align: left !important; }
.profiles_guild_card table.table { width: 100%; max-width: 460px; margin: 0 !important; background: transparent !important; border-collapse: collapse; }
.profiles_guild_card table.table td { padding: 8px 0 !important; border: 0 !important; border-bottom: 1px solid var(--line) !important; background: transparent !important; color: var(--txt) !important; font-size: 15px; text-align: left !important; }
.profiles_guild_card table.table td:first-child { color: var(--mut) !important; width: 52%; padding-right: 12px !important; }
.profiles_guild_card table.table td a { color: var(--hot) !important; font-weight: 700; }
.profiles_guild_card hr { margin: 28px 0 22px !important; border: 0 !important; border-top: 1px solid var(--line) !important; }
.profiles_guild_card > .row { margin-left: 0 !important; margin-right: 0 !important; }
.profiles_guild_card > .row:last-child > div { float: none !important; width: 100% !important; padding: 0 !important; text-align: left !important; }
.profiles_guild_card .guild_members { display: block; margin: 0 0 14px !important; font: 700 28px/1.1 Teko, sans-serif !important; color: var(--txt) !important; text-align: left !important; }
.profiles_guild_card .guild_members_table_wrap { overflow-x: auto; border: 1px solid var(--line) !important; background: rgba(0,0,0,.25) !important; max-height: none !important; border-radius: 0 !important; }
.profiles_guild_card .guild_members_table { width: 100%; min-width: 560px; border-collapse: collapse !important; background: transparent !important; margin: 0 !important; }
.profiles_guild_card .guild_members_table th { padding: 11px 12px !important; background: var(--card2) !important; color: var(--mut) !important; font-size: 13px !important; font-weight: 700 !important; text-transform: none !important; letter-spacing: 0 !important; border: 0 !important; border-bottom: 1px solid var(--line2) !important; text-align: center; white-space: nowrap; }
.profiles_guild_card .guild_members_table td { padding: 8px 12px !important; border: 0 !important; border-bottom: 1px solid var(--line) !important; background: transparent !important; color: var(--txt) !important; font-size: 15px !important; text-align: center; vertical-align: middle !important; }
.profiles_guild_card .guild_members_table tbody tr:nth-child(even) td { background: rgba(255,255,255,.02) !important; }
.profiles_guild_card .guild_members_table tbody tr:hover td { background: rgba(255,255,255,.05) !important; }
.profiles_guild_card .guild_members_table .guild_member_num { color: var(--mut) !important; width: 44px; }
.profiles_guild_card .guild_members_table th.guild_member_name, .profiles_guild_card .guild_members_table td.guild_member_name { text-align: left !important; }
.profiles_guild_card .guild_members_table td.guild_member_name a { color: var(--hot) !important; font-weight: 700; }
.profiles_guild_card .guild_members_table .rankings-class-image { width: 34px !important; height: 34px !important; border: 1px solid var(--line2) !important; border-radius: 0 !important; box-shadow: none !important; }
.profiles_guild_card .guild_members_empty { color: var(--mut) !important; padding: 20px !important; }
@media (max-width: 600px) {
	.profiles_guild_card { padding: 18px !important; }
	.profiles_guild_card > .row:first-child { justify-content: center; }
	.profiles_guild_card .guild_name { font-size: 32px !important; text-align: center !important; }
	.profiles_guild_card .guild_logo img { width: 104px !important; height: 104px !important; }
}

/* Info page tables (table.cells): same alignment and size in every column */
table.cells { table-layout: fixed; width: 100% !important; }
table.cells td, table.cells td.header { text-align: left !important; padding: 11px 16px !important; font-size: 14px !important; line-height: 1.45 !important; vertical-align: middle !important; word-wrap: break-word; }
table.cells td.header { font-size: 12px !important; letter-spacing: .06em !important; }
table.cells td[style*="font-size"], table.cells td[style*="font-size"] span { font-size: 14px !important; text-shadow: none !important; color: var(--hot) !important; font-weight: 700; }
table.cells td[style*="color: 0px"], table.cells span[style*="color: 0px"] { color: var(--txt) !important; }
@media (max-width: 600px) { table.cells td, table.cells td.header { padding: 9px 8px !important; font-size: 13px !important; } table.cells td.header { font-size: 11px !important; letter-spacing: 0 !important; } }
