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

:root {
	--bg: #0c0708;
	--bg2: #120809;
	--card: #140a0c;
	--card2: #1a0d10;
	--line: #2b1a14;
	--line2: #3b2418;
	--txt: #f1e6d6;
	--mut: #b9a58f;
	--gold: #e2b350;
	--gold2: #f3cf7a;
	--goldd: #a87f3a;
	--crim: #b3161f;
}

html { min-width: 0 !important; height: auto; }
body {
	background: var(--bg) !important;
	color: var(--txt) !important;
	font: 400 17px/1.6 'Alegreya Sans', system-ui, -apple-system, 'Segoe UI', sans-serif !important;
	min-width: 0;
}
a { color: #f1e6d6; }
a:hover, a:focus { color: var(--gold2) !important; text-decoration: none; }
::selection { background: #6b1a1f; color: #fff; }
.dv-hide { display: none !important; }
.dv-wrap { max-width: 1240px; margin: 0 auto; padding: 0 24px; box-sizing: border-box; }

/* золотая рамка с ромбами по углам */
.dv-frame { position: relative; border: 1px solid #6b4e24; box-shadow: inset 0 0 0 4px var(--bg), inset 0 0 0 5px rgba(226,179,80,.35); }
.dv-frame::before, .dv-frame::after { content: ""; position: absolute; z-index: 2; width: 9px; height: 9px; background: var(--gold); transform: rotate(45deg); top: -5px; left: -5px; box-shadow: 0 0 10px rgba(226,179,80,.6); pointer-events: none; }
.dv-frame::after { left: auto; right: -5px; }
.dv-rule { display: flex; align-items: center; gap: 14px; margin: 0 0 24px; font: 700 42px/1.1 'Grenze Gotisch', serif; color: #f6ead6; text-align: center; }
.dv-rule::before, .dv-rule::after { content: ""; flex: 1; height: 1px; background: linear-gradient(90deg, transparent, var(--goldd), transparent); }

/* ---------------- кнопки ---------------- */
.dv-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; box-sizing: border-box; max-width: 100%;
	padding: 12px 26px !important; border: 0 !important; border-radius: 0 !important;
	font: 800 15px/1.2 'Alegreya Sans', sans-serif !important; letter-spacing: .08em; text-transform: uppercase;
	color: #1a0f05 !important; background: linear-gradient(180deg, #f3cf7a, #c08a34) !important;
	box-shadow: inset 0 0 0 1px rgba(255,240,200,.35) !important; text-shadow: none !important; cursor: pointer; text-decoration: none !important; }
.dv-btn:hover, .btn-primary:hover, .btn-default:hover, .btn-success:hover, .btn-danger:hover, .btn-warning:hover, .btn-info:hover { filter: brightness(1.1); color: #1a0f05 !important; }
.dv-btn:focus-visible, .btn:focus-visible { outline: 2px solid var(--gold2) !important; outline-offset: 3px; }
.dv-btn.blood { color: #fff !important; background: linear-gradient(180deg, #d42630, #8e0f16) !important; box-shadow: 0 10px 30px rgba(179,22,31,.45), inset 0 0 0 1px rgba(243,207,122,.35) !important; }
.dv-btn.blood:hover { color: #fff !important; }
.dv-btn.line, .btn-default { color: var(--gold2) !important; background: rgba(12,7,8,.6) !important; box-shadow: inset 0 0 0 1px var(--goldd) !important; }
.dv-btn.line:hover, .btn-default:hover { color: #fff !important; background: rgba(226,179,80,.1) !important; }
.dv-btn.lg { padding: 17px 34px !important; font-size: 16px !important; }
.dv-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; }

/* ---------------- полоса отсчёта (внутренние страницы) ---------------- */
.dv-strip { background: #120809; border-bottom: 1px solid var(--line2); text-align: center; padding: 9px 16px; font-size: 14px; font-weight: 700; letter-spacing: .12em; text-transform: uppercase; color: #d6c4ad; }
.dv-strip b { text-transform: none; margin-left: 10px; font: 700 19px/1 Grenze, serif; letter-spacing: .04em; color: var(--gold2); }

/* ---------------- шапка ---------------- */
.dv-bar { position: relative; z-index: 20; background: linear-gradient(180deg, rgba(12,7,8,.97), rgba(12,7,8,.8)); border-bottom: 1px solid var(--line2); }
.dv-bar .dv-wrap { height: 78px; display: grid; grid-template-columns: minmax(0, 1fr) auto minmax(0, 1fr); align-items: center; gap: 20px; }
.dv-nav ul { display: flex; gap: 22px; margin: 0; padding: 0; list-style: none; flex-wrap: wrap; }
.dv-nav a { display: inline-block; padding: 6px 0; border-bottom: 1px solid transparent; font-weight: 700; font-size: 15px; letter-spacing: .08em; text-transform: uppercase; color: #f1e6d6 !important; text-decoration: none !important; }
.dv-nav a:hover { color: var(--gold2) !important; }
.dv-nav a.on { color: var(--gold) !important; border-bottom-color: var(--gold); }
.dv-brand { display: block; margin-bottom: -42px; position: relative; z-index: 2; }
.dv-brand img { width: 150px; height: auto; display: block; filter: drop-shadow(0 6px 18px rgba(0,0,0,.75)); }
.dv-right { display: flex; justify-content: flex-end; align-items: center; gap: 10px; }
.dv-online { display: inline-flex; align-items: center; gap: 8px; padding: 8px 12px; font-size: 14px; font-weight: 700; color: #a7f0c4; border: 1px solid rgba(61,220,132,.3); background: rgba(61,220,132,.07); white-space: nowrap; }
.dv-online i { width: 8px; height: 8px; border-radius: 50%; background: #3ddc84; box-shadow: 0 0 8px #3ddc84; }
.dv-burger { display: none; width: 44px; height: 44px; border: 1px solid var(--goldd); background: transparent; color: var(--gold2); font-size: 22px; cursor: pointer; }

/* ---------------- главный экран ---------------- */
.dv-hero { min-height: 660px;
	background: radial-gradient(ellipse at 30% 55%, rgba(12,7,8,.2), rgba(12,7,8,.85) 70%), linear-gradient(90deg, rgba(12,7,8,.95) 0%, rgba(12,7,8,.55) 45%, rgba(12,7,8,0) 75%), linear-gradient(180deg, rgba(12,7,8,0) 60%, #0c0708 100%), var(--dv-hero) right 20% / cover no-repeat; }
.dv-hero .dv-wrap { padding-top: 104px; padding-bottom: 72px; display: flex; flex-direction: column; align-items: flex-start; gap: 20px; }
.dv-kicker { font: 600 16px/1 Grenze, serif; letter-spacing: .3em; text-transform: uppercase; color: var(--gold); }
.dv-h1 { margin: 0; max-width: 640px; font: 700 84px/.95 'Grenze Gotisch', serif !important; color: #f6ead6 !important; text-shadow: 0 4px 30px rgba(179,22,31,.45); }
.dv-lead { margin: 0; max-width: 480px; font-size: 19px; line-height: 1.55; color: #d6c4ad; }
.dv-timer { margin-top: 8px; padding: 22px 30px; background: rgba(12,7,8,.82); display: flex; align-items: center; gap: 18px; }
.dv-timer .u { text-align: center; min-width: 82px; }
.dv-timer b { display: block; font: 700 64px/.9 Grenze, serif; color: var(--gold2); }
.dv-timer .u:last-child b { color: #ff6b5e; }
.dv-timer span { display: block; margin-top: 6px; font-size: 12px; font-weight: 800; letter-spacing: .18em; text-transform: uppercase; color: var(--mut); }
.dv-timer i { width: 7px; height: 7px; background: var(--crim); transform: rotate(45deg); flex: 0 0 7px; }
.dv-when { font-size: 15px; font-weight: 700; letter-spacing: .12em; text-transform: uppercase; color: #d6c4ad; }
.dv-when b { color: var(--gold2); }
.dv-ctas { display: flex; gap: 12px; flex-wrap: wrap; margin-top: 6px; }

/* ---------------- секции главной ---------------- */
.dv-sec { padding-top: 80px; }
.dv-terms { padding: 26px 40px; background: linear-gradient(180deg, #1a0d10, #120809); display: grid; grid-template-columns: repeat(auto-fit, minmax(320px, 1fr)); column-gap: 60px; }
.dv-lead-row { display: flex; align-items: baseline; gap: 10px; padding: 11px 0; border-bottom: 1px solid var(--line); }
.dv-lead-row:last-child { border-bottom: 0; }
.dv-lead-row > span:first-child { color: #d6c4ad; }
.dv-lead-row > span:nth-child(2) { flex: 1; min-width: 20px; border-bottom: 1px dotted #6b4e24; transform: translateY(-4px); }
.dv-lead-row b { font: 700 22px/1 Grenze, serif; color: var(--gold2); white-space: nowrap; }

.dv-news { display: grid; grid-template-columns: repeat(auto-fit, minmax(300px, 1fr)); gap: 20px; }
.dv-card { display: flex; flex-direction: column; background: var(--card); text-decoration: none !important; }
.dv-card:hover { background: #1c0e11; }
.dv-card .im { height: 190px; background: center / cover no-repeat; }
.dv-card .tx { padding: 20px 22px 24px; }
.dv-card time { font-size: 13px; font-weight: 700; letter-spacing: .12em; text-transform: uppercase; color: var(--goldd); }
.dv-card h3 { margin: 6px 0 0; font: 700 26px/1.15 Grenze, serif !important; color: #f6ead6 !important; }
.dv-empty { padding: 28px; text-align: center; color: var(--mut); background: var(--card); }

.dv-two { display: flex; gap: 28px; flex-wrap: wrap; }
.dv-two > .l { flex: 999 1 560px; min-width: 0; }
.dv-two > .r { flex: 1 1 380px; min-width: 0; }
.dv-tabs { display: flex; justify-content: center; gap: 8px; margin: -8px 0 18px; }
.dv-tabs button { padding: 8px 18px; border: 1px solid var(--line2); background: var(--card); color: #d6c4ad; font: 800 13px 'Alegreya Sans', sans-serif; letter-spacing: .1em; text-transform: uppercase; cursor: pointer; }
.dv-tabs button.on { color: #1a0f05; border-color: transparent; background: linear-gradient(180deg, #f3cf7a, #c08a34); }
.dv-hall { background: var(--card); padding: 8px 24px; }
.dv-hall .row-i { display: flex; align-items: center; gap: 16px; padding: 13px 0; border-bottom: 1px solid var(--line); }
.dv-hall .row-i:last-child { border-bottom: 0; }
.dv-hall .n { width: 40px; font: 700 26px/1 Grenze, serif; color: var(--mut); }
.dv-hall .row-i:nth-child(1) .n { font-size: 32px; color: var(--gold2); }
.dv-hall .row-i:nth-child(2) .n { font-size: 30px; color: #d8d0c4; }
.dv-hall .row-i:nth-child(3) .n { font-size: 30px; color: #d79a63; }
.dv-hall img.av { width: 34px; height: 34px; object-fit: cover; border: 1px solid #6b4e24; }
.dv-hall .nm { flex: 1; min-width: 0; font-weight: 800; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.dv-hall .nm a { color: #f6ead6 !important; }
.dv-hall .cl { color: var(--mut); white-space: nowrap; }
.dv-hall .sc { text-align: right; white-space: nowrap; color: #d6c4ad; }
.dv-hall .sc b { font: 700 21px/1 Grenze, serif; color: var(--gold2); }

.dv-castle { min-height: 360px; padding: 28px; display: flex; flex-direction: column; justify-content: flex-end; gap: 10px;
	background: linear-gradient(180deg, rgba(20,10,12,.1) 20%, #140a0c 85%), url('../img/devil/castle.jpg') center 30% / cover no-repeat; }
.dv-castle .k { font-size: 13px; font-weight: 800; letter-spacing: .16em; text-transform: uppercase; color: var(--gold); }
.dv-castle .g { font: 700 44px/1 'Grenze Gotisch', serif; color: #f6ead6; }
.dv-castle .g a { color: #f6ead6 !important; }
.dv-castle .m { color: #d6c4ad; }
.dv-castle .m a { color: #fff !important; }
.dv-castle .cd { font: 700 22px/1 Grenze, serif; color: var(--gold2); }

/* ---------------- внутренние страницы ---------------- */
.dv-sub { height: 280px; background: linear-gradient(90deg, rgba(12,7,8,.95) 0%, rgba(12,7,8,.5) 60%, rgba(12,7,8,.2) 100%), linear-gradient(180deg, rgba(12,7,8,0) 40%, #0c0708 100%), var(--dv-sub) right 30% / cover no-repeat; }
.dv-page { position: relative; z-index: 3; margin-top: -60px; padding-bottom: 20px; }
.dv-panel { background: linear-gradient(180deg, #1a0d10, #120809); }
.dv-content { padding: 40px 40px 44px; min-height: 380px; }
.dv-content .row { margin-left: -12px; margin-right: -12px; }
.dv-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(--line2) !important; background: none !important; text-align: left !important; }
.page-title span { display: inline-block; font: 700 56px/1 'Grenze Gotisch', serif !important; text-transform: none !important; color: #f6ead6 !important; text-shadow: 0 4px 24px rgba(179,22,31,.35); }
h1, h2, h3, h4 { color: #f6ead6; }
h2, h3 { font-family: Grenze, serif; font-weight: 700; }

/* ---------------- подвал ---------------- */
.dv-foot { margin-top: 100px; border-top: 1px solid var(--line2); background: #080405; color: var(--mut); font-size: 15px; }
.dv-foot .dv-wrap { padding-top: 34px; padding-bottom: 34px; display: flex; flex-direction: column; align-items: center; gap: 14px; text-align: center; }
.dv-foot img { width: 90px; height: auto; opacity: .9; }
.dv-foot nav { display: flex; gap: 24px; flex-wrap: wrap; justify-content: center; }
.dv-foot nav a { color: #d6c4ad !important; text-decoration: none !important; }
.dv-foot nav a:hover { color: var(--gold2) !important; }
.dv-foot .copy { font-size: 13px; color: #9c8a76; display: flex; gap: 6px 18px; flex-wrap: wrap; justify-content: center; }

/* ---------------- адаптив ---------------- */
@media (max-width: 1000px) {
	.dv-nav ul { gap: 14px; }
	.dv-nav a { font-size: 13px; }
	.dv-online { display: none; }
}
@media (max-width: 900px) {
	.dv-bar .dv-wrap { height: auto; grid-template-columns: auto minmax(0, 1fr); padding-top: 10px; padding-bottom: 10px; }
	.dv-brand { margin-bottom: 0; grid-column: 1; grid-row: 1; }
	.dv-brand img { width: 96px; }
	.dv-burger { display: inline-grid; place-items: center; grid-column: 2; grid-row: 1; justify-self: end; }
	.dv-nav, .dv-right { display: none; grid-column: 1 / -1; }
	.dv-bar.open .dv-nav, .dv-bar.open .dv-right { display: flex; }
	.dv-nav ul { flex-direction: column; gap: 4px; }
	.dv-right { justify-content: flex-start; flex-wrap: wrap; padding-bottom: 8px; }
	.dv-hero { min-height: 0; background-position: 70% top; }
	.dv-hero .dv-wrap { padding-top: 40px; padding-bottom: 60px; }
	.dv-h1 { font-size: 56px !important; }
	.dv-timer { padding: 16px; gap: 8px; }
	.dv-timer .u { min-width: 0; flex: 1; }
	.dv-timer b { font-size: 44px; }
	.dv-timer span { font-size: 10px; letter-spacing: .06em; }
	.dv-terms { padding: 18px 20px; }
	.dv-rule { font-size: 32px; }
	.dv-content { padding: 26px 18px 30px; }
	.page-title span { font-size: 44px !important; }
	.dv-content .col-xs-8, .dv-content .col-xs-4, .dv-content .col-xs-6 { width: 100%; float: none; }
	.dv-sub { height: 200px; }
	.dv-hall .cl { display: none; }
}
@media (max-width: 480px) {
	.dv-h1 { font-size: 46px !important; }
	.dv-timer b { font-size: 36px; }
	.dv-timer i { display: none; }
}

/* вкладки рейтинга */
.rankings_menu a { width: auto !important; white-space: nowrap !important; line-height: 1 !important; height: 40px; border-radius: 0 !important; }
.rankings_menu a.active { color: #1a0f05 !important; }

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

/* =====================================================================
   МОДУЛИ 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, #1f1013, #170b0e) !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, #e2b350 30%, #fff 50%, #e2b350 70%, transparent); opacity: .6; }
.panel-title, .panel-heading h3 { font: 800 16px/1.3 'Alegreya Sans', sans-serif !important; color: #f6ead6 !important; }
.panel-body { color: var(--txt); }
.panel-footer { background: #100707 !important; border-top: 1px solid var(--line) !important; color: var(--mut) !important; }
.panel-news .panel-title { font: 900 22px/1.2 Grenze, 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: #140a0c !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(226,179,80,.05) !important; }
.myaccount-table tr td:first-child { color: var(--mut) !important; font-weight: 700; }
.rankings-table-place { font-weight: 900 !important; color: #f6ead6 !important; font-family: Grenze, 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: #140a0c !important; color: var(--mut) !important;
	font-weight: 700 !important; text-decoration: none !important; }
.rankings_menu a:hover { color: #fff !important; border-color: #a87f3a !important; }
.rankings_menu a.active { color: #140a0c !important; border-color: transparent !important; background: linear-gradient(180deg, #f3cf7a, #c08a34) !important; }
.rankings-class-filter { background: #140a0c !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 'Alegreya Sans', 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: #e2b350 !important; box-shadow: 0 0 0 3px rgba(226,179,80,.18) !important; outline: none; }
.form-control::placeholder { color: #7d6a58; }
label, .control-label { color: #e7d7bf !important; font-weight: 700 !important; }
.help-block { color: var(--mut) !important; }
.input-group-addon { background: #1a0d10 !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: #140a0c !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: #1a0d10 !important; color: #fff !important; box-shadow: inset 0 -2px 0 #e2b350; }
.pagination > li > a, .pagination > li > span { background: #140a0c !important; border-color: var(--line2) !important; color: var(--txt) !important; }
.pagination > .active > a, .pagination > .active > span { background: #e2b350 !important; color: #1a0f05 !important; border-color: #e2b350 !important; }
.well { background: #140a0c !important; border: 1px solid var(--line) !important; box-shadow: none !important; }
.modal-content { background: #140a0c !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: #140a0c !important; border-color: var(--line) !important; }
.label-default { background: #3b2418; }
.tooltip-inner { background: #1a0d10; border: 1px solid var(--line2); }
hr { border-top-color: var(--line) !important; }
.text-muted, .smalltext, .alt { color: var(--mut) !important; }
.module-requirements { background: #140a0c !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(12,7,8,.35), rgba(12,7,8,.92)), url('../img/devil/castle.jpg') center/cover !important; }


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

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

/* новости: жирный текст остаётся обычным жирным текстом, а не синей плашкой */
.dv-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) — стальная полоса */
.dv-p-info .dv-content p > strong {
	display: block !important; margin: 30px 0 12px !important; padding: 12px 18px !important; border-radius: 0;
	font: 900 20px/1.2 Grenze, serif !important; color: #f6ead6 !important; text-align: left !important;
	background: linear-gradient(90deg, rgba(226,179,80,.18), rgba(226,179,80,0)) !important;
	border-left: 3px solid #e2b350 !important; }

/* инлайновые светлые блоки старых модулей (донат, тикеты, профиль, загрузки и т.д.) */
.dv-content [style*="background: rgba(241, 241, 241)"], .dv-content [style*="background:rgba(241,241,241)"],
.dv-content [style*="background: rgba(241,241,241)"], .dv-content [style*="background:rgba(241, 241, 241)"],
.dv-content [style*="background: #f1f1f1"], .dv-content [style*="background:#f1f1f1"],
.dv-content [style*="background: #f9f9f9"], .dv-content [style*="background:#f9f9f9"],
.dv-content [style*="background: #fff"], .dv-content [style*="background:#fff"],
.dv-content [style*="background: white"], .dv-content [style*="background: #e3e3e3"], .dv-content [style*="background: #fdf7f7"],
.dv-content [style*="background: #f8f9fa"], .dv-content [style*="background-color: #fff"] {
	background: rgba(12,7,8,.55) !important; color: var(--txt) !important; border-color: var(--line) !important; border-radius: 0; }
.dv-content [style*="color: #333"], .dv-content [style*="color:#333"], .dv-content [style*="color: #666"], .dv-content [style*="color:#666"],
.dv-content [style*="color: #000"], .dv-content [style*="color:#000"], .dv-content [style*="color:#2c3e50"], .dv-content [style*="color: #2c3e50"] { color: var(--txt) !important; }
.dv-content [style*="color: #3f6588"], .dv-content [style*="color:#3f6588"] { color: #f6ead6 !important; }
.dv-content [style*="#e3e3e3"], .dv-content [style*="#ccc"], .dv-content [style*="#ddd"], .dv-content [style*="#eee"] { border-color: var(--line) !important; }
.dv-content h3[style], .dv-content h4[style] { font-family: Grenze, serif !important; }
.dv-content [style*="background: #3f6588"], .dv-content [style*="background:#3f6588"] {
	background: linear-gradient(180deg, #2a1a12, #1a0d10) !important; color: #f6ead6 !important; border-color: var(--line2) !important; }
.dv-content button[style*="background: #3f6588"] { background: linear-gradient(180deg, #f3cf7a, #c08a34) !important; color: #140a0c !important; border-radius: 0; }
.dv-content [style*="border-left: 3px solid #d9534f"] { border-left-color: #d42630 !important; }
.dv-content .btn[style*="#28a745"] { background: linear-gradient(180deg, #4cc46a, #2b8a43) !important; border-color: transparent !important; color: #fff !important; }
.dv-content .checkbox label { color: var(--txt); }
.dv-content .checkbox a, .dv-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, #2a1a12, #1a0d10) !important; }
#tosModal > div > div:nth-child(2) { background: #100707 !important; }
#tosModal > div > div:last-child { background: #140a0c !important; border-color: var(--line) !important; }
#tosModal h3, #tosModal h4 { font-family: Grenze, serif; color: #f6ead6 !important; border-color: var(--line) !important; }
#tosModal p[style] { background: rgba(224,100,95,.1) !important; }
#tosModal button { background: linear-gradient(180deg, #f3cf7a, #c08a34) !important; color: #140a0c !important; border-radius: 0; }

/* донат PayPal: способы оплаты */
.dv-content .pay-box { background: #140a0c !important; border: 1px solid var(--line) !important; border-radius: 0 !important; }
.dv-content .pay-box span { color: var(--txt) !important; }
.dv-content .pay-methods-wrap label:hover .pay-box { border-color: #a87f3a !important; }
.dv-content .pay-methods-wrap input:checked + .pay-box { border-color: #e2b350 !important; background: #1f1013 !important; box-shadow: 0 0 0 3px rgba(226,179,80,.12) !important; }
.dv-content #freekassa_selector_block { background: #100707 !important; border: 1px solid var(--line) !important; border-radius: 0 !important; }
.dv-content .fk-title { color: #f6ead6 !important; }
.dv-content .fk-method-card { background: #140a0c !important; border-color: var(--line) !important; border-radius: 0 !important; }
.dv-content .fk-method-card:hover, .dv-content .fk-method-card.active { background: #1f1013 !important; border-color: #e2b350 !important; }
.dv-content .fk-method-card span { color: var(--txt) !important; }
.dv-content input[name="amount"] { width: 120px !important; height: 44px; padding: 0 12px !important; border-radius: 0; }
.paypal-gateway-content { background: #100707 !important; border: 1px solid var(--line) !important; border-radius: 0 !important; color: var(--txt); }
.paypal-gateway-logo { background-color: #140a0c !important; border-radius: 0; }
.paypal-gateway-form input[type=text] { border: 1px solid var(--line2) !important; color: #fff !important; }

/* профиль персонажа: экипировка */
.mu-profile-equipment { background: rgba(12,7,8,.55) !important; border: 1px solid var(--line) !important; border-radius: 0; color: var(--txt) !important; }
.mu-profile-equipment h4 { color: #f6ead6 !important; font-family: Grenze, serif; border-color: var(--line) !important; }
.mu-profile-equip-slot { background: #140a0c !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: #1f1013 !important; }
.mu-profile-equip-slot.is-empty, .mu-profile-equipment-board.is-hidden .mu-profile-equip-slot { background: #0e0607 !important; }
.mu-profile-equipment-hidden { color: #f6ead6 !important; background: rgba(20,10,12,.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(12,7,8,.62) !important; border-color: var(--line) !important; }

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

/* старые таблицы info/профиля внутри пластины */
.dv-content table[style*="background: #fff"] td, .dv-content table[style*="background:#fff"] td { background: transparent; }
.dv-content td[style*="background: #f9f9f9"] { background: rgba(255,255,255,.03) !important; }
.dv-content .pay-box img { background: #eef2f6; border-radius: 0; padding: 5px 10px; max-height: 42px !important; box-sizing: content-box; }
.dv-content .pay-methods-wrap { gap: 12px !important; }
.dv-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, #f3cf7a, #c08a34) !important; border: 0 !important; color: #140a0c !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: #f6ead6 !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: #f6ead6 !important; font-weight: 800 !important; }
.myaccount-character-name a:hover { color: #fff !important; }
.myaccount-character-block { background: #140a0c !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(12,7,8,.8) !important; border: 1px solid var(--line2); font-weight: 800; }


/* Castle Siege page: owner panel background image */
.castle-siege-block .castle-owner-panel { background: linear-gradient(90deg, rgba(12,7,8,.92) 0%, rgba(12,7,8,.6) 45%, rgba(12,7,8,.15) 100%), url('../img/devil/castle.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(12,7,8,.55) 0%, rgba(12,7,8,.94) 210px, var(--card) 100%), url('../img/devil/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 'Grenze Gotisch', 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(--gold2) !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 'Grenze Gotisch', 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(--gold2) !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(--gold2) !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; } }

/* Логотип слева в шапке (на всех страницах) */
.dv-bar .dv-wrap { display: flex; align-items: center; gap: 28px; grid-template-columns: none; }
.dv-brand { order: -1; margin: 0; flex: 0 0 auto; }
.dv-bar .dv-wrap { height: 72px; }
.dv-brand { display: flex !important; align-items: center; gap: 10px; text-decoration: none !important; }
.dv-brand img { width: auto; height: 46px; filter: none; }
.dv-brand .nm { font: 700 26px/1 'Grenze Gotisch', serif; color: #f6ead6; white-space: nowrap; }
.dv-brand .nm b { color: var(--gold); font-weight: 700; }
.dv-nav { flex: 1; min-width: 0; }
.dv-right { flex: 0 0 auto; }
@media (max-width: 900px) {
	.dv-bar .dv-wrap { flex-wrap: wrap; gap: 10px 16px; height: auto; }
	.dv-brand img { width: auto; height: 40px; }
	.dv-burger { margin-left: auto; order: -1; }
	.dv-nav, .dv-right { flex-basis: 100%; }
}
@media (max-width: 480px) { .dv-timer { width: 100%; box-sizing: border-box; } .dv-timer span { font-size: 9px; letter-spacing: .02em; } }
@media (max-width: 1000px) { .dv-online { display: inline-flex; } }
@media (max-width: 900px) { .dv-online { display: none; } .dv-bar.open .dv-online { display: inline-flex; } }

/* Главный экран, вариант 3: заголовок слева, таймер полосой внизу */
.dv-hero3 { min-height: 0; }
.dv-hero3 > .dv-wrap { padding-top: 70px; padding-bottom: 56px; gap: 20px; }
.dv-hero3 .dv-h1 { font-size: 80px !important; max-width: none; }
.dv-tstrip { background: rgba(12,7,8,.86); border-top: 1px solid #6b4e24; border-bottom: 1px solid #6b4e24; }
.dv-hero .dv-tstrip .dv-wrap { display: flex; flex-direction: row; align-items: center; justify-content: space-between; gap: 24px; padding-top: 16px; padding-bottom: 16px; }
.dv-tstrip .dv-when { line-height: 1.5; }
.dv-tstrip .dv-timer { margin: 0; padding: 0; background: none; box-shadow: none; border: 0; }
.dv-tstrip .dv-timer b { font-size: 50px; }
@media (max-width: 900px) {
	.dv-hero3 > .dv-wrap { padding-top: 34px; padding-bottom: 36px; }
	.dv-hero3 .dv-h1 { font-size: 50px !important; }
	.dv-hero .dv-tstrip .dv-wrap { flex-direction: column; align-items: stretch; text-align: center; gap: 10px; }
	.dv-tstrip .dv-timer { justify-content: space-between; }
	.dv-tstrip .dv-timer b { font-size: 38px; }
}
@media (max-width: 480px) { .dv-hero3 .dv-h1 { font-size: 40px !important; } .dv-tstrip .dv-timer i { display: none; } .dv-tstrip .dv-timer b { font-size: 34px; } }
