/* ============================================================
   _do_clean.css — professional styling for static/content pages.

   SAFE BY DESIGN: every rule is scoped under .white-container or
   .static-content. The home, portfolio, sitemap and other
   templates do NOT use these wrappers, so they are unaffected.
   Uses fixed px units so it never depends on the root font-size.
   ============================================================ */

/* --- Unify the whole site on the new design font ------------ */
/* Header, footer and any un-scoped text inherit this. Icon fonts
   (entypo-fontello, FontAwesome, glyphicons) set their own
   font-family and are unaffected. */
body,
._do_header,
._do_header a,
._do_footer,
._do_footer a,
._do_footer p {
	font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Arial, sans-serif;
}

/* --- Center all content into one readable column ------------ */
.white-container > p,                 /* breadcrumb row          */
.white-container .static-content {
	max-width: 880px;
	margin-left: auto;
	margin-right: auto;
}

/* --- Breadcrumb --------------------------------------------- */
.white-container > p { font-size: 13px; color: #8a909b; }
.site-bread-crumb { color: #8a909b; text-decoration: none; }
.site-bread-crumb:hover { color: #2563c9; text-decoration: underline; }

/* --- Document column ---------------------------------------- */
.static-content {
	color: #2b2f36;
	font-size: 15px;
	line-height: 1.75;
	padding-bottom: 56px;
	font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Arial, sans-serif;
	-webkit-font-smoothing: antialiased;
}

/* --- Page title --------------------------------------------- */
.static-content-header {
	border-bottom: 1px solid #e6e8ec;
	padding-bottom: 18px;
	margin-bottom: 30px;
}
.static-content-header h1 {
	margin: 0;
	font-size: 32px;
	line-height: 1.2;
	font-weight: 700;
	letter-spacing: -.01em;
	color: #14171c;
}
.static-content-header h1 span { font-weight: inherit; color: inherit; }
.static-content-header .static-content-sub {
	margin: 7px 0 0;
	font-size: 13px;
	color: #8a909b;
}

/* --- Body text ---------------------------------------------- */
.static-content-main p,
.static-content-passage {
	margin: 0 0 15px;
	color: #2b2f36;
}

/* --- Section headings --------------------------------------- */
.static-content-main h2,
.static-content-passage-header {
	font-size: 20px;
	line-height: 1.3;
	font-weight: 700;
	color: #14171c;
	margin: 34px 0 10px;
}
.static-content-main h3 {
	font-size: 16px;
	font-weight: 600;
	color: #2b2f36;
	margin: 24px 0 8px;
}

/* --- Lists -------------------------------------------------- */
.static-content-main ul,
.static-content-main ol,
.static-content-passage > ol,
.static-content-passage > ul {
	margin: 0 0 16px;
	padding-left: 22px;
}
.static-content-main li,
.static-content-passage > ol > li { margin-bottom: 7px; }

/* --- Links -------------------------------------------------- */
.static-content a { color: #2563c9; text-decoration: none; word-break: break-word; }
.static-content a:hover { text-decoration: underline; }

/* --- Address / contact card --------------------------------- */
.static-content address {
	font-style: normal;
	line-height: 1.9;
	background: #f6f8fa;
	border: 1px solid #e6e8ec;
	border-radius: 8px;
	padding: 16px 20px;
}

/* --- Contact form polish ------------------------------------ */
/* Two balanced columns: form | contact info */
.static-content .account-register {
	width: 56%;
	padding-right: 40px;
	border-right: 1px solid #e6e8ec;
	box-sizing: border-box;
}
.static-content .account-login {
	width: 44%;
	padding-left: 40px;
	box-sizing: border-box;
}
.static-content .contact-intro {
	margin: 0 0 22px;
	font-size: 15px;
	color: #6b7280;
}
/* Even, compact field spacing (overrides the old 2.5rem top gap) */
.static-content .account-element { margin: 0 0 16px; }
.static-content .form-element {
	width: 100%;
	max-width: 100%;
	padding: 11px 14px;
	border: 1px solid #d4d8df;
	border-radius: 8px;
	font-size: 15px;
	line-height: 1.4;
	background: #fff;
	color: #14171c;
	box-sizing: border-box;
}
.static-content .form-element::placeholder { color: #9aa1ac; }
.static-content .form-element:focus {
	outline: none;
	border-color: #2563c9;
	box-shadow: 0 0 0 3px rgba(37, 99, 201, .12);
}
.static-content textarea.form-element { min-height: 130px; resize: vertical; }
.static-content .form-botton {
	width: auto;
	background: #14171c;
	color: #fff;
	border: 0;
	border-radius: 8px;
	padding: 12px 34px;
	font-size: 15px;
	font-weight: 600;
	cursor: pointer;
	transition: background .15s ease;
}
.static-content .form-botton:hover { background: #2563c9; }
.static-content .custom_error { margin: 6px 0 0; font-size: 13px; color: #d23; }

/* Contact info column */
.static-content .account-login address {
	font-style: normal;
	line-height: 1.85;
	color: #4b515c;
	background: #f6f8fa;
	border: 1px solid #e6e8ec;
	border-radius: 10px;
	padding: 18px 20px;
}
.static-content .account-login address strong { color: #14171c; }
.static-content .contact-emails { display: block; margin-top: 12px; }
.static-content .contact-emails a { display: block; padding: 2px 0; }

/* Stack columns on small screens */
@media screen and (max-width: 760px) {
	.static-content .account-register,
	.static-content .account-login {
		width: 100%;
		padding: 0;
		border-right: 0;
	}
	.static-content .account-login { margin-top: 28px; }
}

/* --- Mobile ------------------------------------------------- */
@media screen and (max-width: 600px) {
	.static-content-header h1 { font-size: 26px; }
	.static-content-main h2,
	.static-content-passage-header { font-size: 18px; }
}


/* ============================================================
   GLOBAL HEADER POLISH (appears on every page)
   Selectors match/exceed the existing specificity (incl. the
   #_do_sticky ID rule) so these actually win. Layout untouched.
   ============================================================ */
._do_header,
#_do_sticky._do_header {
	background-color: #fff;
	border-bottom: 1px solid #e8eaed;
	box-shadow: 0 1px 4px rgba(20, 23, 28, .06);
}
#_do_sticky { background-color: #fff; }      /* beats the ID bg rule */
._do_header ._do_header_top,
._do_header_top {
	background-color: #fff;
	border-bottom: 0;
}
._do_header_shortcuts a {
	font-size: 14px;
	color: #2b2f36;
	font-weight: 500;
	letter-spacing: .01em;
	transition: color .15s ease;
}
._do_header_shortcuts a:hover { color: #2563c9; }


/* ============================================================
   GLOBAL FOOTER POLISH (appears on every page)
   Uses the full existing selector paths so the high-specificity
   _do_main15.css rules are overridden.
   ============================================================ */
._do_footer { background: #14171c; }

/* Even, top-aligned columns via grid (replaces the old 25% floats) */
._do_footer ._do_footer_top {
	/* was a fixed 1130px (overflowed on mobile) — now responsive */
	width: auto;
	max-width: 1130px;
	box-sizing: border-box;
	padding: 48px 24px 28px;
	display: grid;
	grid-template-columns: repeat(4, 1fr);
	gap: 32px 40px;
	align-items: start;
}
._do_footer ._do_footer_top > div { width: auto; float: none; color: #c7ccd6; }
._do_footer ._do_footer_left,
._do_footer ._do_footer_right { padding: 0; border: 0; }

/* Column heading */
._do_footer ._do_footer_title {
	margin: 0 0 16px;
	font-size: 13px;
	font-weight: 600;
	letter-spacing: .07em;
	text-transform: uppercase;
	color: #fff;
}

/* Link lists — drop the old min-height/margin hacks, even rhythm */
._do_footer ._do_footer_top > div ._do_footer_body ul {
	list-style: none;
	min-height: 0;
	margin: 0;
	padding: 0;
}
._do_footer ._do_footer_top > div ._do_footer_body ul li { margin: 0; }
._do_footer ._do_footer_top > div ._do_footer_body ul li a,
._do_footer .textwidget a {
	display: block;
	padding: 5px 0;
	color: #aab2c0;
	font-size: 14px;
	font-weight: 400;
	line-height: 1.5;
	text-decoration: none;
	transition: color .15s ease;
}
._do_footer ._do_footer_top > div ._do_footer_body ul li a:hover,
._do_footer .textwidget a:hover { color: #fff; font-weight: 400; }

/* Bottom bar */
._do_footer ._do_footer_bottom {
	max-width: 1130px;
	margin: 0 auto;
	border-top: 1px solid rgba(255, 255, 255, .08);
	padding: 20px 24px;
	text-align: center;
}
._do_footer ._do_footer_bottom p { color: #8a909b; font-size: 12px; letter-spacing: .3px; margin: 0; }
._do_footer ._do_footer_bottom a { color: #aab2c0; text-decoration: none; }
._do_footer ._do_footer_bottom a:hover { color: #fff; }

/* Responsive columns */
@media screen and (max-width: 760px) {
	._do_footer ._do_footer_top { grid-template-columns: repeat(2, 1fr); gap: 28px 24px; }
}
@media screen and (max-width: 440px) {
	._do_footer ._do_footer_top { grid-template-columns: 1fr; }
}
