/* KRCM site-wide style layer: header, footer and inner-page polish. */
body.krcm-site {
	--k-terra: #a35020;
	--k-terra-dk: #8a4219;
	--k-amber: #f5a524;
	--k-brown: #4a3426;
	--k-ink: #2a1c13;
	--k-text: #3b2a20;
	--k-muted: #6b5a4e;
	--k-cream: #f5efe8;
	--k-sand: #ece2d5;
	--k-line: #e2d6c7;
	--k-head: var(--global-heading-font-family, Montserrat, sans-serif);
	--k-body: var(--global-body-font-family, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, sans-serif);
	background: var(--k-cream);
}
.krcm-chrome-wrap { width: 100%; max-width: 1200px; margin: 0 auto; padding: 0 24px; box-sizing: border-box; }
.krcm-topbar svg, .krcm-header svg, .krcm-footer svg { width: 1em; height: 1em; flex: none; }

.krcm-chrome-btn {
	display: inline-flex; align-items: center; gap: 8px;
	padding: 11px 20px; border-radius: 999px;
	background: var(--k-terra); color: #fff !important;
	font-family: var(--k-head); font-weight: 700; font-size: 0.88rem; line-height: 1.2;
	text-decoration: none !important; white-space: nowrap;
	transition: background 0.2s;
}
.krcm-chrome-btn:hover { background: var(--k-terra-dk); }

/* Top bar */
.krcm-topbar { background: var(--k-ink); color: rgba(255, 255, 255, 0.82); font-family: var(--k-body); font-size: 0.8rem; }
.krcm-topbar__inner { display: flex; justify-content: space-between; align-items: center; gap: 16px; min-height: 38px; }
.krcm-topbar__right { display: inline-flex; align-items: center; gap: 6px; }
.krcm-topbar__right svg { color: var(--k-amber); }

/* Header */
.krcm-header {
	position: sticky; top: 0; z-index: 1000;
	background: rgba(255, 255, 255, 0.97);
	border-bottom: 1px solid var(--k-line);
	backdrop-filter: saturate(1.2) blur(6px);
}
.admin-bar .krcm-header { top: 32px; }
.krcm-header__inner { display: flex; align-items: center; gap: 28px; min-height: 76px; }
.krcm-header__brand { display: flex; align-items: center; flex: none; text-decoration: none; }
.krcm-header__logo { display: block; height: 52px; width: auto; }
.krcm-nav { margin-left: auto; }
.krcm-nav__list { display: flex; align-items: center; gap: 4px; margin: 0; padding: 0; list-style: none; }
.krcm-nav__list li { position: relative; margin: 0; }
.krcm-nav__list a {
	display: block; padding: 10px 14px; border-radius: 8px;
	font-family: var(--k-head); font-weight: 600; font-size: 0.92rem;
	color: var(--k-ink) !important; text-decoration: none;
	transition: background 0.2s, color 0.2s;
}
.krcm-nav__list a:hover { background: var(--k-cream); color: var(--k-terra) !important; }
.krcm-nav__list .current-menu-item > a, .krcm-nav__list .current-menu-ancestor > a, .krcm-nav__list .current_page_parent > a { color: var(--k-terra) !important; }
.krcm-nav__list .sub-menu {
	position: absolute; top: 100%; left: 0; min-width: 240px; margin: 0; padding: 8px; list-style: none;
	background: #fff; border: 1px solid var(--k-line); border-radius: 12px; box-shadow: 0 18px 40px -20px rgba(42, 28, 19, 0.4);
	opacity: 0; visibility: hidden; transform: translateY(6px); transition: 0.2s;
}
.krcm-nav__list li:hover > .sub-menu, .krcm-nav__list li:focus-within > .sub-menu { opacity: 1; visibility: visible; transform: none; }
.krcm-nav__mobile-cta { display: none; }
.krcm-header__actions { display: flex; align-items: center; gap: 18px; }
.krcm-header__phone {
	display: inline-flex; align-items: center; gap: 8px;
	font-family: var(--k-head); font-weight: 700; font-size: 0.92rem;
	color: var(--k-ink) !important; text-decoration: none !important; white-space: nowrap;
}
.krcm-header__phone svg { color: var(--k-terra); }
.krcm-burger { display: none; width: 44px; height: 44px; padding: 11px 10px; border: 1px solid var(--k-line); border-radius: 10px; background: #fff; cursor: pointer; flex-direction: column; justify-content: space-between; }
.krcm-burger span { display: block; height: 2px; background: var(--k-ink); border-radius: 2px; transition: 0.25s; }
.krcm-nav-open .krcm-burger span:nth-child(1) { transform: translateY(8px) rotate(45deg); }
.krcm-nav-open .krcm-burger span:nth-child(2) { opacity: 0; }
.krcm-nav-open .krcm-burger span:nth-child(3) { transform: translateY(-8px) rotate(-45deg); }

@media (max-width: 1024px) {
	.krcm-header__inner { min-height: 68px; gap: 16px; }
	.krcm-header__logo { height: 44px; }
	.krcm-header__actions { margin-left: auto; gap: 10px; }
	.krcm-header__actions .krcm-header__phone { display: none; }
	.krcm-burger { display: flex; }
	.krcm-nav {
		position: absolute; top: 100%; left: 0; right: 0; margin: 0;
		background: #fff; border-bottom: 1px solid var(--k-line);
		box-shadow: 0 24px 40px -24px rgba(42, 28, 19, 0.45);
		padding: 8px 16px 20px; display: none;
	}
	.krcm-nav-open .krcm-nav { display: block; }
	.krcm-nav__list { flex-direction: column; align-items: stretch; gap: 0; }
	.krcm-nav__list a { padding: 14px 8px; border-bottom: 1px solid var(--k-cream); border-radius: 0; font-size: 1rem; }
	.krcm-nav__list .sub-menu { position: static; opacity: 1; visibility: visible; transform: none; box-shadow: none; border: 0; padding: 0 0 0 14px; }
	.krcm-nav__mobile-cta { display: flex; flex-wrap: wrap; align-items: center; gap: 14px 20px; padding-top: 18px; }
}
@media (max-width: 700px) {
	.krcm-chrome-wrap { padding: 0 16px; }
	.krcm-topbar__inner { justify-content: center; min-height: 34px; font-size: 0.74rem; }
	.krcm-topbar__inner > span:first-child { display: none; }
	.krcm-header__actions .krcm-chrome-btn { padding: 10px 14px; font-size: 0.82rem; }
}
@media (max-width: 782px) { .admin-bar .krcm-header { top: 0; } }

/* Footer */
.krcm-footer { background: var(--k-ink); color: rgba(255, 255, 255, 0.72); font-family: var(--k-body); font-size: 0.94rem; line-height: 1.6; padding: 72px 0 0; }
.krcm-footer a { color: rgba(255, 255, 255, 0.82); text-decoration: none; transition: color 0.2s; }
.krcm-footer a:hover { color: var(--k-amber); }
.krcm-footer__grid { display: grid; grid-template-columns: 1.5fr 1fr 1fr 1.3fr; gap: 40px; padding-bottom: 56px; }
.krcm-footer__brand { display: block; font-family: var(--k-head); font-weight: 800; font-size: 1.4rem; line-height: 1.15; color: #fff !important; letter-spacing: -0.02em; margin-bottom: 14px; }
.krcm-footer__brand span { color: var(--k-amber); }
.krcm-footer__about p { margin: 0 0 22px; max-width: 340px; }
.krcm-footer__title { margin: 0 0 16px; font-family: var(--k-head); font-weight: 700; font-size: 0.78rem; letter-spacing: 0.14em; text-transform: uppercase; color: #fff; }
.krcm-footer__links, .krcm-footer__contact { list-style: none; margin: 0; padding: 0; }
.krcm-footer__links li { margin: 0 0 10px; }
.krcm-footer__contact li { display: flex; gap: 10px; align-items: flex-start; margin: 0 0 12px; word-break: break-word; }
.krcm-footer__contact svg { margin-top: 4px; color: var(--k-amber); }
.krcm-footer__bottom { display: flex; justify-content: space-between; align-items: flex-end; gap: 24px; padding: 24px 0 28px; border-top: 1px solid rgba(255, 255, 255, 0.12); font-size: 0.82rem; }
.krcm-footer__bottom p { margin: 0; }
.krcm-footer__disclaimer { max-width: 620px; color: rgba(255, 255, 255, 0.55); }
@media (max-width: 1024px) { .krcm-footer__grid { grid-template-columns: 1fr 1fr; } }
@media (max-width: 600px) {
	.krcm-footer { padding-top: 52px; }
	.krcm-footer__grid { grid-template-columns: 1fr; gap: 32px; padding-bottom: 40px; }
	.krcm-footer__bottom { flex-direction: column; align-items: flex-start; }
}

/* ===== Inner pages: shared polish ===== */
.krcm-site #inner-wrap { background: var(--k-cream); }

/* Buttons */
.krcm-site .entry-content .kb-button,
.krcm-site .entry-content .wp-block-button__link,
.krcm-site .entry-content .kt-button {
	border-radius: 999px !important;
	font-family: var(--k-head) !important; font-weight: 700 !important;
	letter-spacing: 0 !important; text-transform: none !important;
	transition: background 0.2s, transform 0.2s, box-shadow 0.2s !important;
}
.krcm-site .entry-content .kb-button:hover,
.krcm-site .entry-content .wp-block-button__link:hover,
.krcm-site .entry-content .kt-button:hover { transform: translateY(-1px); }

/* Info boxes / cards */
.krcm-site .entry-content .kt-blocks-info-box-link-wrap {
	border-radius: 14px !important;
	box-shadow: none !important;
	transition: transform 0.25s, box-shadow 0.25s !important;
}
.krcm-site .entry-content .kt-blocks-info-box-link-wrap:hover { transform: translateY(-3px); box-shadow: 0 18px 36px -22px rgba(74, 52, 38, 0.45) !important; }
.krcm-site .entry-content .wp-block-kadence-column > .kt-inside-inner-col[style*="border"],
.krcm-site .entry-content .kadence-column-shadow { border-radius: 14px; }

/* Images */
.krcm-site .entry-content .kb-image-is-ratio-size,
.krcm-site .entry-content .wp-block-kadence-image img,
.krcm-site .entry-content .wp-block-image img { border-radius: 14px; }

/* Accordions (FAQ, About) */
.krcm-site .entry-content .kt-accordion-pane {
	background: #fff !important; border: 1px solid var(--k-line) !important; border-radius: 12px !important;
	margin-bottom: 12px !important; overflow: hidden;
}
.krcm-site .entry-content .kt-accordion-header-wrap { margin: 0 !important; }
.krcm-site .entry-content .kt-blocks-accordion-header {
	background: #fff !important; border: 0 !important; border-radius: 0 !important;
	padding: 20px 24px !important; color: var(--k-ink) !important;
	font-family: var(--k-head) !important; font-weight: 700 !important;
}
.krcm-site .entry-content .kt-blocks-accordion-header.kt-accordion-panel-active { color: var(--k-terra) !important; }
.krcm-site .entry-content .kt-accordion-panel-inner { border: 0 !important; padding: 0 24px 22px !important; background: #fff !important; color: var(--k-muted); }
.krcm-site .entry-content .kt-accordion-pane .kt-blocks-accordion-icon-trigger:before,
.krcm-site .entry-content .kt-accordion-pane .kt-blocks-accordion-icon-trigger:after { background: var(--k-terra) !important; }

/* Forms everywhere (WPForms) */
.krcm-site .wpforms-container input[type="text"],
.krcm-site .wpforms-container input[type="email"],
.krcm-site .wpforms-container input[type="tel"],
.krcm-site .wpforms-container input[type="number"],
.krcm-site .wpforms-container select,
.krcm-site .wpforms-container textarea {
	width: 100% !important; max-width: 100% !important; min-height: 46px !important;
	padding: 10px 14px !important; border-radius: 10px !important;
	border: 1px solid var(--k-line) !important; background: #fcfaf7 !important; color: var(--k-ink) !important;
	font-family: var(--k-body) !important; font-size: 0.95rem !important; box-shadow: none !important;
}
.krcm-site .wpforms-container textarea { min-height: 96px !important; }
.krcm-site .wpforms-container input:focus, .krcm-site .wpforms-container select:focus, .krcm-site .wpforms-container textarea:focus { border-color: var(--k-terra) !important; outline: 3px solid rgba(163, 80, 32, 0.18) !important; }
.krcm-site .wpforms-container .wpforms-field-label { font-family: var(--k-head) !important; font-weight: 700 !important; font-size: 0.82rem !important; }
.krcm-site .wpforms-container button[type="submit"] {
	width: 100% !important; height: auto !important; padding: 16px 22px !important;
	border: 0 !important; border-radius: 999px !important;
	background: var(--k-terra) !important; color: #fff !important;
	font-family: var(--k-head) !important; font-weight: 700 !important; font-size: 1rem !important;
}
.krcm-site .wpforms-container button[type="submit"]:hover { background: var(--k-terra-dk) !important; }
/* Form cards on inner pages get the same white card as the homepage */
.krcm-site:not(.krcm-home-page) .entry-content .wpforms-container {
	background: #fff; border: 1px solid var(--k-line); border-radius: 18px;
	padding: 24px 26px !important; box-shadow: 0 24px 50px -28px rgba(42, 28, 19, 0.45);
}
.krcm-site:not(.krcm-home-page) .entry-content .wpforms-container .wpforms-field-label,
.krcm-site:not(.krcm-home-page) .entry-content .wpforms-container .wpforms-field-sublabel { color: var(--k-ink) !important; }
.krcm-site:not(.krcm-home-page) .entry-content .wpforms-container .wpforms-field-label-inline,
.krcm-site:not(.krcm-home-page) .entry-content .wpforms-container .wpforms-field-description { color: var(--k-muted) !important; font-size: 0.78rem !important; }

/* Posts and simple pages (blog posts, legal pages) */
.krcm-plain .entry-hero { background: var(--k-ink); }
.krcm-plain .entry-hero .entry-title, .krcm-plain .entry-hero .entry-meta, .krcm-plain .entry-hero .entry-meta a { color: #fff; }
.krcm-plain .single-content { font-size: 1.05rem; line-height: 1.75; color: var(--k-text); }
.krcm-plain .single-content h2 { color: var(--k-ink); letter-spacing: -0.02em; margin-top: 1.8em; }
.krcm-plain .single-content h3 { color: var(--k-ink); }
.krcm-plain .single-content a:not(.kb-button):not(.wp-block-button__link) { color: var(--k-terra); text-underline-offset: 3px; }
.krcm-plain .single-content blockquote { border-left: 4px solid var(--k-terra); background: #fff; border-radius: 0 12px 12px 0; padding: 18px 22px; }
.krcm-plain .single-content table { border-collapse: separate; border-spacing: 0; border: 1px solid var(--k-line); border-radius: 12px; overflow: hidden; background: #fff; }
.krcm-plain .single-content th { background: var(--k-sand); color: var(--k-ink); font-family: var(--k-head); }
.krcm-plain .single-content th, .krcm-plain .single-content td { border: 0; border-bottom: 1px solid var(--k-line); padding: 12px 14px; }
.krcm-plain .entry-title { font-family: var(--k-head); letter-spacing: -0.02em; }

/* Blog archive cards */
.krcm-site .loop-entry { border-radius: 16px; overflow: hidden; border: 1px solid var(--k-line); box-shadow: none; transition: transform 0.25s, box-shadow 0.25s; }
.krcm-site .loop-entry:hover { transform: translateY(-4px); box-shadow: 0 22px 40px -24px rgba(74, 52, 38, 0.5); }

/* Rank Math FAQ block in posts */
.krcm-site .rank-math-faq-item { background: #fff; border: 1px solid var(--k-line); border-radius: 12px; padding: 18px 22px; margin-bottom: 12px; }
.krcm-site .rank-math-question { margin-top: 0 !important; font-size: 1.05rem !important; }

/* Homepage form anchor clears the sticky header */
#estimate { scroll-margin-top: 100px; }

/* Post hero: dark scrim like the homepage hero */
.krcm-site .entry-hero .hero-section-overlay { background: linear-gradient(100deg, rgba(31, 20, 13, 0.9), rgba(31, 20, 13, 0.6)) !important; opacity: 1 !important; }
.krcm-site .entry-hero .entry-title { color: #fff !important; }
.krcm-site .entry-hero .entry-meta, .krcm-site .entry-hero .entry-meta a { color: rgba(255, 255, 255, 0.8) !important; }

/* Blog page banner */
.page-id-8 .entry-content > .wp-block-kadence-rowlayout:first-child .kt-row-layout-overlay { background: rgba(31, 20, 13, 0.72) !important; opacity: 1 !important; }
.page-id-8 .entry-content > .wp-block-kadence-rowlayout:first-child :is(h1, h2) { color: #fff !important; }
.krcm-site .loop-entry .entry-title a { color: var(--k-ink); }
.krcm-site .loop-entry .more-link-wrap a, .krcm-site .loop-entry .post-more-link { color: var(--k-terra); font-family: var(--k-head); }
.page-id-8 .entry-content > .wp-block-kadence-rowlayout:first-child .wp-block-kadence-advancedheading,
.page-id-8 .entry-content > .wp-block-kadence-rowlayout:first-child .wp-block-kadence-advancedheading * { color: #fff !important; }
.krcm-header .krcm-burger, .krcm-header .krcm-burger:hover, .krcm-header .krcm-burger:focus { background: #fff !important; border: 1px solid var(--k-line) !important; box-shadow: none !important; color: var(--k-ink) !important; }

/* Readable accents on dark backgrounds */
.krcm-site .entry-related-title { color: var(--k-amber) !important; }
.krcm-final .krcm-eyebrow--light { color: #ffe2b0; }
.krcm-site .entry-hero h1, .krcm-site .entry-hero .page-title, .krcm-site .entry-hero .archive-title { color: #fff !important; }
[data-krcm-fixed] { transition: none !important; }
