/* DPChallenge v2 theme — opt-in preview. All rules scoped under body.theme-v2. */

body.theme-v2 {
	--dpc-blue: #003664;
	--dpc-blue-mid: #5279A0;
	--dpc-blue-bar: #63748F;
	--dpc-bg: #EEF1F5;
	--dpc-surface: #FFFFFF;
	--dpc-border: #D5DAE1;
	--dpc-text: #1F2733;
	--dpc-text-muted: #5B6675;
	--dpc-radius: 6px;
	--dpc-shadow: 0 1px 3px rgba(15, 30, 50, .14);
	--dpc-font: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Helvetica, Arial, sans-serif;

	background: var(--dpc-bg);
	color: var(--dpc-text);
	font-family: var(--dpc-font);
	font-size: 14px;
	line-height: 1.5;
}

/* ---------- base typography ---------- */

body.theme-v2,
body.theme-v2 table,
body.theme-v2 font {
	font-family: var(--dpc-font);
}

body.theme-v2 table { font-size: 14px; color: var(--dpc-text); }
body.theme-v2 .textsm { font-size: 13px; color: inherit; }
body.theme-v2 .textsmi { font-size: 13px; font-style: italic; color: inherit; }
body.theme-v2 .textsm2 { font-size: 12px; color: var(--dpc-text-muted); }

body.theme-v2 .heading { font-size: 22px; font-weight: 700; color: var(--dpc-blue); letter-spacing: -.01em; }
body.theme-v2 .imagetitle { font-size: 19px; font-weight: 700; }

body.theme-v2 hr { border: none; border-top: 1px solid var(--dpc-border); margin: 14px 0; }

/* ---------- header ---------- */

body.theme-v2 .dpc-header {
	background: var(--dpc-blue);
	border-bottom: 3px solid var(--dpc-blue-mid);
}
body.theme-v2 .dpc-header td { padding: 8px 12px; }
body.theme-v2 .dpc-header tr:nth-child(2) { display: none; }
body.theme-v2 .dpc-header,
body.theme-v2 .dpc-header .textsm { color: #D7E2EE; font-size: 13px; }
body.theme-v2 .dpc-header a:link,
body.theme-v2 .dpc-header a:visited { color: #FFFFFF; font-weight: 600; }
body.theme-v2 .dpc-header a:hover { color: #B9CBDD; }

/* ---------- layout ---------- */

body.theme-v2 .dpc-layout { width: 100%; max-width: 1400px; margin: 14px auto 0 auto; }
body.theme-v2 .dpc-layout > tbody > tr > td { padding: 0 10px; }

body.theme-v2 .dpc-sidebar { width: 200px; white-space: normal; vertical-align: top; }

body.theme-v2 .dpc-content {
	background: var(--dpc-surface);
	border: 1px solid var(--dpc-border);
	border-radius: var(--dpc-radius);
	box-shadow: var(--dpc-shadow);
	padding: 16px;
	vertical-align: top;
}
body.theme-v2 .dpc-content img { max-width: 100%; height: auto; }

/* ---------- sidebar boxes ---------- */

body.theme-v2 .dpc-leftbox {
	background: var(--dpc-surface);
	border: 1px solid var(--dpc-border);
	border-collapse: separate;
	border-radius: var(--dpc-radius);
	box-shadow: var(--dpc-shadow);
	margin: 0 0 14px 0;
	width: 100%;
	overflow: hidden;
}
body.theme-v2 .dpc-leftbox-head {
	background: var(--dpc-blue-bar);
	color: #FFFFFF;
	font-size: 12px;
	letter-spacing: .04em;
	text-transform: uppercase;
	padding: 7px 10px;
}
body.theme-v2 .dpc-leftbox-body { padding: 8px 10px; }

/* ---------- section dividers ---------- */

body.theme-v2 .divider {
	background: var(--dpc-blue-bar);
	border: none;
	border-left: 4px solid var(--dpc-blue);
	border-radius: 3px;
	color: #FFFFFF;
	font-size: 13px;
	font-weight: 600;
	letter-spacing: .03em;
	padding: 6px 10px;
	margin: 12px 0 8px;
}
body.theme-v2 .divider a:link,
body.theme-v2 .divider a:visited { color: #FFFFFF; }
body.theme-v2 .divider a:hover { color: #D7E2EE; }
body.theme-v2 .divider_container { display: block; margin: 0 0 14px 0; min-width: 0; }

/* ---------- tables ---------- */

body.theme-v2 table[bgcolor] { background: var(--dpc-surface); }

body.theme-v2 .tableheading { background: var(--dpc-blue-bar); color: #FFFFFF; font-weight: 600; }
body.theme-v2 .tableheading td { border-bottom: none; padding: 6px 8px; }
body.theme-v2 .tablerow1 { background: #FFFFFF; }
body.theme-v2 .tablerow2 { background: #F4F7FA; }
body.theme-v2 .tablehidden { background: #F3DCDC; color: var(--dpc-text); }

/* ---------- forums ---------- */

body.theme-v2 .forum-superheading { background: var(--dpc-blue); color: #FFFFFF; font-weight: 600; }
body.theme-v2 .forum-heading { background: var(--dpc-blue-bar); color: #FFFFFF; font-weight: 600; }
body.theme-v2 .forum-bg1 { background: #FFFFFF; }
body.theme-v2 .forum-bg2 { background: #F4F7FA; }
body.theme-v2 .forum-bg_flag1 { background: #F3DCDC; }
body.theme-v2 .forum-bg_flag2 { background: #DFF0DF; }

/* ---------- status / alerts ---------- */

body.theme-v2 .status {
	background: #EAF1F8;
	border: 1px solid #B9C8D8;
	border-radius: var(--dpc-radius);
	padding: 10px 12px;
	width: auto;
}
body.theme-v2 .status_error {
	background: #FDECEC;
	border: 1px solid #E5B5B5;
	border-radius: var(--dpc-radius);
	padding: 10px 12px;
	width: auto;
}
body.theme-v2 .error { color: #B3261E; }

/* ---------- forms ---------- */

body.theme-v2 input[type="text"],
body.theme-v2 input[type="password"],
body.theme-v2 input[type="email"],
body.theme-v2 select,
body.theme-v2 textarea,
body.theme-v2 .left-input,
body.theme-v2 .form-generic {
	background: #FFFFFF;
	border: 1px solid var(--dpc-border);
	border-radius: 4px;
	color: var(--dpc-text);
	font-family: var(--dpc-font);
	font-size: 13px;
	padding: 5px 8px;
}
body.theme-v2 input[type="text"]:focus,
body.theme-v2 input[type="password"]:focus,
body.theme-v2 select:focus,
body.theme-v2 textarea:focus {
	border-color: var(--dpc-blue-mid);
	box-shadow: 0 0 0 2px rgba(82, 121, 160, .25);
	outline: none;
}

body.theme-v2 input[type="submit"],
body.theme-v2 input[type="button"],
body.theme-v2 button,
body.theme-v2 .left-submit {
	background: var(--dpc-blue);
	border: none;
	border-radius: 4px;
	color: #FFFFFF;
	cursor: pointer;
	font-family: var(--dpc-font);
	font-size: 13px;
	font-weight: 600;
	padding: 6px 14px;
}
body.theme-v2 input[type="submit"]:hover,
body.theme-v2 input[type="button"]:hover,
body.theme-v2 button:hover { background: var(--dpc-blue-mid); }
body.theme-v2 input[type="submit"][disabled],
body.theme-v2 button[disabled] { background: #9AA7B4; cursor: default; }

/* ---------- links & voting ---------- */

body.theme-v2 a:link { color: var(--dpc-blue); }
body.theme-v2 a:visited { color: var(--dpc-blue); }
body.theme-v2 a:hover { color: var(--dpc-blue-mid); }

body.theme-v2 .vs,
body.theme-v2 a.vs:link, body.theme-v2 a.vs:visited, body.theme-v2 a.vs:hover, body.theme-v2 a.vs:active {
	border: 1px solid var(--dpc-border); border-radius: 3px; padding: 1px 5px;
}
body.theme-v2 .vsu,
body.theme-v2 a.vsu:link, body.theme-v2 a.vsu:visited, body.theme-v2 a.vsu:hover, body.theme-v2 a.vsu:active {
	border: 1px solid #2E7D32; border-radius: 3px; padding: 1px 5px;
}
body.theme-v2 .vsd,
body.theme-v2 a.vsd:link, body.theme-v2 a.vsd:visited, body.theme-v2 a.vsd:hover, body.theme-v2 a.vsd:active {
	border: 1px solid #B3261E; border-radius: 3px; padding: 1px 5px;
}

/* ---------- vote breakdown bars ---------- */

body.theme-v2 .breakdown_vote_bar { border: 1px solid var(--dpc-border); border-radius: 2px; }

/* ---------- footer ---------- */

body.theme-v2 .dpc-footer {
	border-top: 1px solid var(--dpc-border);
	color: var(--dpc-text-muted);
	font-size: 12px;
	margin-top: 24px;
	padding: 14px 0 20px;
}
body.theme-v2 .dpc-footer a:link,
body.theme-v2 .dpc-footer a:visited { color: var(--dpc-text-muted); }
body.theme-v2 .dpc-footer a:hover { color: var(--dpc-blue); }

/* ---------- responsive ---------- */

@media (max-width: 768px) {
	body.theme-v2 .dpc-layout,
	body.theme-v2 .dpc-layout > tbody,
	body.theme-v2 .dpc-layout > tbody > tr,
	body.theme-v2 .dpc-layout > tbody > tr > td {
		display: block;
		width: 100% !important;
	}
	body.theme-v2 .dpc-layout > tbody > tr > td { padding: 0 8px; }
	body.theme-v2 .dpc-sidebar { width: 100% !important; margin-bottom: 12px; }
	body.theme-v2 .dpc-content { padding: 12px; }
	body.theme-v2 .page-image img { max-width: 100%; }
	body.theme-v2 .dpc-header td { display: block; width: 100% !important; text-align: left; }
}
