/* ==========================================================================
   Kitchen Care 2026 — INNER PAGES
   About, Services, Gallery, Quotes & Pricing, Contact.
   Same system as the homepage: calm light sections, one readable column for
   copy, card grids for features, rounded media. Page content is unchanged.
   ========================================================================== */

/* Page frame ------------------------------------------------------------ */
body:not(.home) #content .page-content { max-width: none; padding: 0; }
body:not(.home) .themify_builder_content > .module_row { padding: clamp(40px, 6vw, 80px) 0; background: transparent; }
body:not(.home) .themify_builder_content > .module_row:first-child { padding: 0; min-height: 0; }
body:not(.home) .themify_builder_content > .module_row:first-child .module-video { display: none; }

/* Page title band = first content row ----------------------------------- */
body:not(.home) .themify_builder_content > .module_row:nth-child(2) {
	background: linear-gradient(180deg, var(--kc-teal-soft) 0, #fff 340px) no-repeat !important;
	padding-top: clamp(40px, 6vw, 72px);
	padding-bottom: 8px;
}
body:not(.home) .themify_builder_content > .module_row:nth-child(2) h2:has(img) { display: none; }
body:not(.home) .themify_builder_content > .module_row:nth-child(2) h2:not(:has(img)) {
	text-align: center !important;
	font-size: clamp(36px, 5.4vw, 64px);
	font-weight: 800;
	margin: 0 0 8px;
}
body:not(.home) .themify_builder_content > .module_row:nth-child(2) h2 + h3 { text-align: center !important; color: var(--kc-muted) !important; font-weight: 500; margin-top: 0; }

/* Readable copy column -------------------------------------------------- */
body:not(.home) .themify_builder_content .module-text .tb_text_wrap { max-width: 820px; margin-left: auto; margin-right: auto; }
body:not(.home) .themify_builder_content .module-text :is(p, li) { font-size: 17.5px; line-height: 1.8; color: var(--kc-ink-2); }
body:not(.home) .themify_builder_content .module-text :is(p, li, span, strong, b) { font-family: var(--kc-font) !important; }
body:not(.home) .themify_builder_content .module-text p span[style*="color"] { color: inherit !important; }
body:not(.home) .themify_builder_content .module-text :is(h3, h4, h5) { color: var(--kc-ink) !important; font-weight: 700; letter-spacing: -.01em; margin: 1.8em 0 .5em; }
body:not(.home) .themify_builder_content .module-text h3 { font-size: clamp(21px, 2.4vw, 26px); }
body:not(.home) .themify_builder_content .module-text h4 { font-size: 20px; }
body:not(.home) .themify_builder_content .module-text :is(h3, h4, h5) :is(span, strong, b) { color: inherit !important; font-weight: inherit; }
body:not(.home) .themify_builder_content .module-text h2 { color: var(--kc-ink) !important; text-align: center; }
body:not(.home) .themify_builder_content .module-text h2 :is(span, strong) { color: inherit !important; }

/* Lists get teal ticks -------------------------------------------------- */
body:not(.home) .themify_builder_content .module-text ul { list-style: none; margin: 1.2em 0; padding: 0; display: grid; gap: 10px; }
body:not(.home) .themify_builder_content .module-text ul li {
	position: relative;
	padding: 12px 16px 12px 52px;
	background: var(--kc-bg);
	border: 1px solid var(--kc-line);
	border-radius: 14px;
}
body:not(.home) .themify_builder_content .module-text ul li::before {
	content: "";
	position: absolute;
	left: 16px;
	top: 50%;
	width: 24px;
	height: 24px;
	margin-top: -12px;
	border-radius: 50%;
	background: var(--kc-teal) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23fff' stroke-width='3' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M6 12.5l4 4 8-9'/%3E%3C/svg%3E") center / 14px no-repeat;
}

/* No entrance animations on any page ------------------------------------ */
body :is(.wow, [data-tf-animation], .tf_lax_done, .tf_lax) { animation: none !important; opacity: 1 !important; visibility: visible !important; transform: none !important; }

/* Feature icons (Services page): same card language as the homepage ----- */
body:not(.home) .themify_builder_content .row_inner:has(> .module_column .module-feature) {
	display: grid !important;
	grid-template-columns: repeat(4, 1fr) !important;
	grid-template-areas: none !important;
	gap: 24px;
}
body:not(.home) .themify_builder_content .row_inner:has(> .module_column .module-feature) > .module_column { grid-area: auto !important; width: auto !important; margin: 0 !important; display: flex; }
body:not(.home) .themify_builder_content .module-feature {
	flex: 1;
	padding: 32px 22px 26px;
	background: #fff;
	border: 1px solid var(--kc-line);
	border-radius: var(--kc-radius);
	box-shadow: var(--kc-shadow);
	text-align: center;
	transition: transform .3s ease, box-shadow .3s ease;
}
body:not(.home) .themify_builder_content .module-feature:hover { transform: translateY(-5px); box-shadow: var(--kc-shadow-lg); }
body:not(.home) .themify_builder_content .module-feature .module-feature-chart-html5 { background: var(--kc-teal-soft); border-radius: 22px; width: 84px !important; height: 84px !important; display: inline-grid !important; place-items: center; }
body:not(.home) .themify_builder_content .module-feature .module-feature-chart-html5 svg { display: none; }
body:not(.home) .themify_builder_content .module-feature .chart-html5-circle { position: static !important; width: 50px !important; height: 50px !important; border: 0 !important; background: transparent !important; }
body:not(.home) .themify_builder_content .module-feature .chart-html5-circle img { width: 50px !important; height: 50px !important; object-fit: contain; border-radius: 0 !important; }
body:not(.home) .themify_builder_content .module-feature .module-feature-title,
body:not(.home) .themify_builder_content .module-feature .module-feature-content h3 { font-size: 18px; line-height: 1.3; margin: 16px 0 0; color: var(--kc-ink) !important; }
@media (max-width: 1000px) { body:not(.home) .themify_builder_content .row_inner:has(> .module_column .module-feature) { grid-template-columns: repeat(2, 1fr) !important; } }
@media (max-width: 520px) { body:not(.home) .themify_builder_content .row_inner:has(> .module_column .module-feature) { grid-template-columns: 1fr !important; } }

/* Long service copy sits in a soft panel (Services page) ---------------- */
body:not(.home) .themify_builder_content > .module_row.animated-bg { background: var(--kc-bg) !important; }
body:not(.home) .themify_builder_content > .module_row.animated-bg .builder_row_cover { display: none; }
body:not(.home) .themify_builder_content > .module_row.animated-bg .module-text .tb_text_wrap {
	background: #fff;
	border: 1px solid var(--kc-line);
	border-radius: 24px;
	padding: clamp(24px, 4vw, 56px);
	box-shadow: var(--kc-shadow);
	max-width: 920px;
}
body:not(.home) .themify_builder_content > .module_row.animated-bg .module-text h2 { font-size: clamp(28px, 3.4vw, 40px); margin-bottom: 18px; }
body:not(.home) .themify_builder_content > .module_row.animated-bg .module-text :is(h3, h4):first-child { margin-top: 0; }

/* Image + call-to-action row (Services page) ---------------------------- */
body:not(.home) .themify_builder_content .module-image.circle img { border-radius: 50%; box-shadow: var(--kc-shadow-lg); border: 6px solid #fff; }
body:not(.home) .themify_builder_content .module-image { text-align: center; }
body:not(.home) .themify_builder_content .module-buttons { text-align: center; }
body:not(.home) .themify_builder_content .module-buttons .module-buttons-item { margin: 6px; }
body:not(.home) .themify_builder_content .module-buttons .builder_button { font-size: 18px; padding: 16px 32px; }

/* Gallery page + gallery modules ---------------------------------------- */
body:not(.home) .themify_builder_content .module-gallery-grid { display: grid !important; grid-template-columns: repeat(3, 1fr); gap: 16px; max-width: var(--kc-wrap); margin: 0 auto; }
body:not(.home) .themify_builder_content .module-gallery-grid .gallery-item { width: auto !important; margin: 0 !important; float: none; }
body:not(.home) .themify_builder_content .module-gallery-grid .gallery-icon { display: block; border-radius: 18px; overflow: hidden; background: var(--kc-ink); aspect-ratio: 4 / 3; box-shadow: var(--kc-shadow); }
body:not(.home) .themify_builder_content .module-gallery-grid .gallery-icon a { display: block; height: 100%; }
body:not(.home) .themify_builder_content .module-gallery-grid .gallery-icon img { width: 100% !important; height: 100% !important; object-fit: cover; transition: transform .5s ease; }
body:not(.home) .themify_builder_content .module-gallery-grid .gallery-icon:hover img { transform: scale(1.07); }
body:not(.home) .themify_builder_content :is(.module-slider, .module-gallery.layout-slider) { border-radius: var(--kc-radius); overflow: hidden; box-shadow: var(--kc-shadow); max-width: var(--kc-wrap); margin-left: auto; margin-right: auto; }
@media (max-width: 900px) { body:not(.home) .themify_builder_content .module-gallery-grid { grid-template-columns: repeat(2, 1fr); } }
@media (max-width: 520px) { body:not(.home) .themify_builder_content .module-gallery-grid { grid-template-columns: 1fr; } }

/* Contact page: map + address ------------------------------------------- */
body:not(.home) .themify_builder_content .module-map { max-width: var(--kc-wrap); margin: 0 auto 28px; }
body:not(.home) .themify_builder_content .module-text h5 { font-size: 15px; letter-spacing: .06em; text-transform: uppercase; color: var(--kc-teal-dark) !important; margin: 1.4em 0 .3em; }
body:not(.home) .themify_builder_content .module-text a { color: var(--kc-teal-dark); font-weight: 600; text-decoration: none; }
body:not(.home) .themify_builder_content .module-text a:hover { text-decoration: underline; }

/* Builder Contact module form (Services page "Wanna Talk?") ------------- */
body .module-contact { max-width: 860px; margin: 0 auto; padding: clamp(24px, 3vw, 40px); background: #fff; border: 1px solid var(--kc-line); border-radius: var(--kc-radius); box-shadow: var(--kc-shadow); }
body .module-contact .module-title { text-align: center; font-size: clamp(26px, 3vw, 36px); margin: 0 0 24px; color: var(--kc-ink) !important; }
body .module-contact .builder-contact-fields { display: grid; grid-template-columns: 1fr 1fr; gap: 18px; }
body .module-contact .builder-contact-field { margin: 0; opacity: 1 !important; }
body .module-contact :is(.builder-contact-field-message, .builder-contact-field-send, .builder-contact-field-sendcopy, .builder-contact-field-captcha) { grid-column: 1 / -1; }
body .module-contact label { display: block; font-size: 14px; font-weight: 700; color: var(--kc-ink); margin-bottom: 8px; }
body .module-contact :is(input[type="text"], input[type="email"], textarea) {
	width: 100%;
	padding: 14px 16px;
	font-family: var(--kc-font);
	font-size: 16px;
	color: var(--kc-ink);
	background: var(--kc-bg);
	border: 1.5px solid transparent;
	border-radius: var(--kc-radius-sm);
	box-shadow: none;
}
body .module-contact textarea { min-height: 150px; }
body .module-contact :is(input, textarea):focus { outline: none; background: #fff; border-color: var(--kc-teal); box-shadow: 0 0 0 4px rgba(14, 152, 173, .15); }
body .module-contact button[type="submit"] {
	padding: 16px 40px;
	border: 0;
	border-radius: 999px;
	background: var(--kc-teal) !important;
	color: #fff !important;
	font-family: var(--kc-font);
	font-size: 16px;
	font-weight: 700;
	cursor: pointer;
	box-shadow: 0 12px 24px -12px rgba(14, 152, 173, .8);
}
body .module-contact button[type="submit"]:hover { background: var(--kc-teal-dark) !important; }
body .module-contact .contact-message p { margin: 0 0 12px; padding: 12px 16px; border-radius: 12px; }
@media (max-width: 640px) { body .module-contact .builder-contact-fields { grid-template-columns: 1fr; } }

/* Later section titles (e.g. "Wanna Talk?" on About / Quotes) ----------- */
body:not(.home) .themify_builder_content > .module_row:not(:nth-child(-n+2)) .module-text h2 { font-size: clamp(28px, 3.4vw, 40px); }
body:not(.home) .themify_builder_content > .module_row:not(:nth-child(-n+2)) .module-text h2 + h3 { color: var(--kc-muted) !important; font-weight: 500; margin-top: 0; text-align: center; }

/* Builder Contact: neutralise the plugin's old float/absolute layouts */
body .module-contact .builder-contact-fields { display: grid !important; grid-template-columns: 1fr 1fr; gap: 18px; height: auto !important; width: 100% !important; }
body .module-contact .builder-contact-field { float: none !important; position: static !important; width: auto !important; height: auto !important; margin: 0 !important; padding: 0 !important; }
body .module-contact .builder-contact-field .control-input { width: 100% !important; display: block; margin: 0 !important; }
body .module-contact .builder-contact-field :is(input.form-control, textarea.form-control) { width: 100% !important; height: auto; box-sizing: border-box; }
body .module-contact .builder-contact-field-subject { grid-column: 1 / -1; }
body .module-contact .builder-contact-field-message { grid-column: 1 / -1; }
body .module-contact .builder-contact-field-message textarea { min-height: 150px; }
body .module-contact .builder-contact-field-send .control-input { text-align: left; }
body .module-contact .tb-label-span { font-weight: 700; }
body .module-contact .required { color: var(--kc-teal-dark); }

/* Multi-column rows stack on tablets/phones */
@media (max-width: 860px) {
	body:not(.home) .themify_builder_content :is(.row_inner, .module_subrow):has(> .module_column ~ .module_column):not(:has(.module-feature)) {
		display: grid !important;
		grid-template-columns: 1fr !important;
		grid-template-areas: none !important;
		gap: 28px;
	}
	body:not(.home) .themify_builder_content :is(.row_inner, .module_subrow):has(> .module_column ~ .module_column):not(:has(.module-feature)) > .module_column { grid-area: auto !important; grid-column: auto !important; width: 100% !important; margin: 0 !important; }
	body:not(.home) .themify_builder_content .row_inner { padding-left: 20px; padding-right: 20px; }
}

/* Equal-height feature cards (Services page) */
body:not(.home) .themify_builder_content .row_inner:has(> .module_column .module-feature) { align-items: stretch; }
body:not(.home) .themify_builder_content .row_inner:has(> .module_column .module-feature) > .module_column { align-self: stretch; height: auto !important; }
body:not(.home) .themify_builder_content .row_inner:has(> .module_column .module-feature) > .module_column > * { display: flex; flex: 1 1 auto; width: 100%; }
body:not(.home) .themify_builder_content .row_inner:has(> .module_column .module-feature) .module-feature { flex: 1 1 auto; width: 100%; height: auto; min-height: 280px; display: flex; flex-direction: column; align-items: center; justify-content: flex-start; }

/* Feature cards: height follows the tallest card, no extra bottom space */
body:not(.home) .themify_builder_content .row_inner:has(> .module_column .module-feature) .module-feature { min-height: 0; padding-bottom: 24px; }
body:not(.home) .themify_builder_content > .module_row:has(.module-feature) { padding-bottom: clamp(24px, 3vw, 40px); }

/* ==========================================================================
   TYPE SCALE + SECTION SPACING (inner pages)
   page title 34–52 · section title 28–40 · sub-heading 19–22 · item title 18
   ========================================================================== */
body:not(.home) .themify_builder_content .module-text h2 { font-size: clamp(28px, 3.4vw, 40px); line-height: 1.15; font-weight: 800; text-align: center; margin: 0 0 12px; }
body:not(.home) .themify_builder_content > .module_row:nth-child(2) .module_column > :first-child .tb_text_wrap > h2:not(:has(img)) { font-size: clamp(34px, 4.6vw, 52px); margin-bottom: 10px; }
body:not(.home) .themify_builder_content .module-text h2 + h3 { font-size: clamp(18px, 1.8vw, 21px); font-weight: 500; line-height: 1.4; margin: 0 0 8px; }
body:not(.home) .themify_builder_content .module-text :is(h3, h4):not(h2 + h3) { margin-top: 1.6em; }
body:not(.home) .themify_builder_content .module-text h3 { font-size: clamp(20px, 2vw, 22px); }
body:not(.home) .themify_builder_content .module-text h4 { font-size: 18px; }

/* Breathing room between stacked modules (gallery → form heading → form) */
body:not(.home) .themify_builder_content .module_column > * { margin-bottom: clamp(28px, 4vw, 56px); }
body:not(.home) .themify_builder_content .module_column > *:last-child { margin-bottom: 0; }
body:not(.home) .themify_builder_content .module_column > * + * .module-text:has(> .tb_text_wrap > h2) { margin-top: clamp(24px, 3vw, 40px); }
body:not(.home) .themify_builder_content .module-gallery-grid + *, body:not(.home) .themify_builder_content .module-gallery { margin-bottom: clamp(32px, 4vw, 56px); }
body:not(.home) .themify_builder_content .module-text .tb_text_wrap { padding-left: 4px; padding-right: 4px; }
body:not(.home) .themify_builder_content > .module_row:nth-child(2) { padding-bottom: clamp(40px, 6vw, 80px); }

/* Specificity guard: only the first heading in the title band is page-title size */
body:not(.home) .themify_builder_content > .module_row:nth-child(2) .module-text h2:not(:has(img)) { font-size: clamp(28px, 3.4vw, 40px) !important; text-align: center !important; margin-bottom: 12px; }
body:not(.home) .themify_builder_content > .module_row:nth-child(2) .module_column > :first-child .tb_text_wrap > h2:not(:has(img)) { font-size: clamp(34px, 4.6vw, 52px) !important; }
