/* Concept D skin for the mirrored WordPress (Elementor) pages.
   Loaded after each page's own stylesheet. It changes only the look: the
   Concept D typeface (Plus Jakarta Sans), colours, headings and buttons.
   Text, images and layout stay as they were. The homepage does not load it. */

/* Elementor's global colours and fonts, remapped to the Concept D palette. */
body.elementor-kit-9 {
  --e-global-color-primary: #82C449;
  --e-global-color-secondary: #0F1A13;
  --e-global-color-text: #3E4A42;
  --e-global-color-accent: #F5A300;
  --e-global-color-fa90e99: #0F1A13;
  --e-global-typography-primary-font-family: 'Plus Jakarta Sans';
  --e-global-typography-secondary-font-family: 'Plus Jakarta Sans';
  --e-global-typography-text-font-family: 'Plus Jakarta Sans';
  --e-global-typography-accent-font-family: 'Plus Jakarta Sans';
  --e-global-typography-primary-font-weight: 800;
  --e-global-typography-accent-font-weight: 700;
  color: #3E4A42;
  -webkit-font-smoothing: antialiased;
}

/* One typeface everywhere. Many widgets name Lato directly, so this wins over
   them; icon fonts (i elements and pseudo-elements) are left alone. */
body.elementor-kit-9,
body.elementor-kit-9 :is(h1, h2, h3, h4, h5, h6, p, a, li, span, div, strong, em, b, blockquote, cite, label, input, textarea, select, button, td, th, figcaption) {
  font-family: 'Plus Jakarta Sans', system-ui, -apple-system, 'Segoe UI', Roboto, sans-serif !important;
}

/* Headings: heavier and tighter, like the homepage. Colours stay as each
   section set them (white on photos, dark on light backgrounds). */
body.elementor-kit-9 :is(h1, h2, h3, h4, h5, h6),
body.elementor-kit-9 .elementor-heading-title {
  font-weight: 800;
  letter-spacing: -0.02em;
  line-height: 1.15;
}
body.elementor-kit-9 #content .elementor-widget-text-editor { line-height: 1.75; }
/* The old Lato text was set at weight 300; Plus Jakarta Sans needs 400 to read well. */
body.elementor-kit-9 #content :is(.elementor-widget-text-editor, .elementor-widget-text-editor p) { font-weight: 400; }

/* Text set in the brand green: leaf green fails contrast as text on white
   (CLAUDE.md), so text widgets use the darker brand green instead. Section
   backgrounds keep the leaf green. */
body.elementor-kit-9 #content :is(.elementor-widget-heading, .elementor-widget-text-editor, .elementor-widget-icon-list) {
  --e-global-color-primary: #2F6B1E;
}

/* Content links */
body.elementor-kit-9 #content .elementor-widget-text-editor a,
body.elementor-kit-9 #content .elementor-post__title a { color: #2F6B1E; text-decoration: underline; text-underline-offset: 3px; }
body.elementor-kit-9 #content .elementor-widget-text-editor a:hover { color: #0F1A13; }

/* Buttons: the Concept D orange button with dark text. */
body.elementor-kit-9 #content .elementor-button,
body.elementor-kit-9 #content .elementor-button-link {
  background-color: #F5A300 !important;
  color: #0F1A13 !important;
  fill: #0F1A13 !important;
  border-radius: 6px !important;
  border: 0 !important;
  font-weight: 700 !important;
  letter-spacing: 0;
  transition: background-color .18s ease, transform .18s cubic-bezier(.2, .7, .2, 1), box-shadow .18s ease;
}
body.elementor-kit-9 #content .elementor-button .elementor-button-icon svg,
body.elementor-kit-9 #content .elementor-button i { fill: #0F1A13 !important; color: #0F1A13 !important; }
body.elementor-kit-9 #content .elementor-button:hover,
body.elementor-kit-9 #content .elementor-button-link:hover {
  background-color: #FFB72B !important;
  color: #0F1A13 !important;
}
@media (prefers-reduced-motion: no-preference) {
  body.elementor-kit-9 #content .elementor-button:hover { transform: translateY(-2px); box-shadow: 0 8px 22px rgba(245, 163, 0, 0.32); }
  body.elementor-kit-9 #content .elementor-widget-image img { transition: transform .5s cubic-bezier(.2, .7, .2, 1); }
  body.elementor-kit-9 #content .elementor-widget-image a:hover img { transform: scale(1.02); }
}

/* Area and service link lists added on 31 October 2026. */
body.elementor-kit-9 .itr-links { background: #F3F5F2; color: #3E4A42; }
body.elementor-kit-9 .itr-links :is(h1, h2, h3) { color: #0F1A13; }
body.elementor-kit-9 .itr-links a { color: #2F6B1E; }

/* The Elementor page title area leaves no gap under the sticky header. */
body.elementor-kit-9 .site-main, body.elementor-kit-9 #content { margin-top: 0; }

/* 404 page: the theme left it as one unstyled line under a hidden title. */
body.error404 .site-main { max-width: 1240px; margin: 0 auto; padding: 96px 24px 104px; }
body.error404 .site-main .page-header { display: block; }
body.error404 h1.entry-title { display: block !important; margin: 0 0 16px; font-size: clamp(32px, 4vw, 48px); line-height: 1.08; color: #0F1A13; }
body.error404 .page-content p { margin: 0; font-size: 18px; line-height: 1.7; color: #3E4A42; }
