
/* ===== McElhinney Redesign — Design System ===== */
@import url('https://fonts.googleapis.com/css2?family=Oswald:wght@400;500;600;700&family=Inter:wght@300;400;500;600&display=swap');

:root {
  --mc-charcoal: #1a1a1a;
  --mc-dark: #111111;
  --mc-amber: #C8870A;
  --mc-amber-lt: #E09B18;
  --mc-cream: #F7F4EF;
  --mc-warm-gray: #6b6560;
  --mc-white: #ffffff;
}

/* Body */
body { font-family: 'Inter', sans-serif !important; }

/* All headings → Oswald */
h1, h2, h3, h4, h5, h6,
.elementor-heading-title,
.cz_title h2, .cz_title h3,
.widget-title { font-family: 'Oswald', sans-serif !important; }

/* ── HEADER ── */
.cz_wrap_header,
#site-header,
.site-header { background: #fff !important; box-shadow: 0 2px 12px rgba(0,0,0,0.08) !important; }

/* Header top bar */
.cz_row_header_1 { background: #111 !important; border-bottom: 2px solid var(--mc-amber) !important; }
.cz_row_header_1, .cz_row_header_1 a { color: #ccc !important; font-size: 0.82rem !important; }
.cz_row_header_1 a:hover { color: var(--mc-amber-lt) !important; }

/* Nav links */
.cz_main_menu > li > a,
.cz_main_menu .nav-menu > li > a {
  font-family: 'Inter', sans-serif !important;
  font-weight: 500 !important;
  font-size: 0.88rem !important;
  color: #1a1a1a !important;
  letter-spacing: 0.3px !important;
}
.cz_main_menu > li > a:hover { color: var(--mc-amber) !important; }

/* Nav CTA button */
.cz_main_menu > li:last-child > a,
.header_btn a, .cz_btn {
  background: var(--mc-amber) !important;
  color: #fff !important;
  border-radius: 4px !important;
  font-weight: 600 !important;
  padding: 10px 20px !important;
}
.cz_main_menu > li:last-child > a:hover,
.header_btn a:hover { background: var(--mc-amber-lt) !important; }

/* ── BUTTONS (global) ── */
.elementor-button,
.elementor-button-wrapper .elementor-button,
a.btn, .wp-block-button__link,
input[type="submit"] {
  background-color: var(--mc-amber) !important;
  border-color: var(--mc-amber) !important;
  color: #fff !important;
  font-family: 'Inter', sans-serif !important;
  font-weight: 600 !important;
  border-radius: 4px !important;
  letter-spacing: 0.3px !important;
  transition: background 0.2s !important;
}
.elementor-button:hover,
input[type="submit"]:hover { background-color: var(--mc-amber-lt) !important; border-color: var(--mc-amber-lt) !important; }

/* Secondary / outline buttons */
.elementor-button.elementor-button-link,
.btn-outline-primary { background: transparent !important; border: 2px solid var(--mc-amber) !important; color: var(--mc-amber) !important; }
.elementor-button.elementor-button-link:hover { background: var(--mc-amber) !important; color: #fff !important; }

/* ── HERO / BANNER ── */
.elementor-section.elementor-top-section:first-of-type,
.cz_rev_slider_wrap,
.rev_slider_wrapper { position: relative; }

/* Section accent lines */
.elementor-widget-heading .elementor-heading-title {
  font-family: 'Oswald', sans-serif !important;
  font-weight: 700 !important;
  letter-spacing: 0.5px !important;
  line-height: 1.1 !important;
}

/* ── SECTION BACKGROUNDS ── */
/* Alternate cream/white backgrounds for sections */
.elementor-section.elementor-section-boxed:nth-of-type(even) {
  background-color: var(--mc-cream) !important;
}

/* ── SERVICE CARDS / ICON BOXES ── */
.elementor-widget-icon-box .elementor-icon-box-wrapper,
.elementor-widget-icon-box .elementor-icon-box-content,
.cz_content_box {
  border-radius: 8px !important;
  transition: transform 0.2s, box-shadow 0.2s !important;
}
.elementor-widget-icon-box:hover .elementor-icon-box-wrapper {
  transform: translateY(-4px) !important;
  box-shadow: 0 12px 32px rgba(0,0,0,0.1) !important;
}
.elementor-icon i, .elementor-icon svg { color: var(--mc-amber) !important; fill: var(--mc-amber) !important; }

/* ── ACCENT COLOR overrides ── */
/* Replace green (#2a9e00) everywhere with amber */
a { color: var(--mc-amber) !important; }
a:hover { color: var(--mc-amber-lt) !important; }
.cz_color_1, .cz_color1 { color: var(--mc-amber) !important; }
.cz_bg_color_1 { background-color: var(--mc-amber) !important; }
.cz_border_color_1 { border-color: var(--mc-amber) !important; }

/* Progress bars, highlights */
.elementor-progress-bar { background-color: var(--mc-amber) !important; }

/* ── FOOTER ── */
#footer, .cz_wrap_footer,
footer { background: #111 !important; }
.cz_row_footer_1 { border-bottom: 1px solid rgba(255,255,255,0.1) !important; }
.cz_row_footer_2 { background: #0a0a0a !important; border-top: 3px solid var(--mc-amber) !important; }
.cz_row_footer, .footer-widget,
#footer p, #footer li, #footer span { color: rgba(255,255,255,0.55) !important; font-size: 0.87rem !important; }
#footer h5, #footer h4, #footer h3,
.footer-widget-title, .cz_widget_title { color: #fff !important; font-family: 'Oswald', sans-serif !important; font-size: 0.85rem !important; letter-spacing: 1.5px !important; text-transform: uppercase !important; margin-bottom: 16px !important; }
#footer a { color: rgba(255,255,255,0.45) !important; }
#footer a:hover { color: var(--mc-amber-lt) !important; }

/* Footer social icons */
.cz_social_icons a, .cz_social_wrap a {
  background: rgba(255,255,255,0.05) !important;
  border-radius: 50% !important;
  width: 36px !important; height: 36px !important;
  display: inline-flex !important; align-items: center !important; justify-content: center !important;
  transition: background 0.2s !important;
}
.cz_social_icons a:hover, .cz_social_wrap a:hover { background: var(--mc-amber) !important; color: #fff !important; }

/* ── MOBILE NAV ── */
.cz_mobile_menu { background: #111 !important; }
.cz_mobile_menu a { color: #fff !important; font-family: 'Oswald', sans-serif !important; font-size: 1.2rem !important; }
.cz_mobile_menu a:hover { color: var(--mc-amber) !important; }

/* Mobile fixed nav phone */
.cz_mobile_fixed_nav { background: var(--mc-amber) !important; }
.cz_mobile_fixed_nav a { color: #fff !important; }

/* ── FORM INPUTS ── */
input[type="text"], input[type="email"], input[type="tel"], textarea, select {
  border-radius: 5px !important;
  border: 1px solid #ddd !important;
  transition: border-color 0.2s !important;
}
input[type="text"]:focus, input[type="email"]:focus, input[type="tel"]:focus,
textarea:focus, select:focus { border-color: var(--mc-amber) !important; outline: none !important; box-shadow: 0 0 0 2px rgba(200,135,10,0.15) !important; }

/* ── REMOVE DEMO/GENERIC STYLES ── */
/* Hide any lingering green from the old theme */
.cz_color_green, .color_green { color: var(--mc-amber) !important; }

/* ── MISC POLISH ── */
/* Sticky header border */
.cz_sticky_header { border-bottom: 3px solid var(--mc-amber) !important; }
/* Section titles — amber underline accent */
.elementor-widget-heading .elementor-heading-title::after { border-color: var(--mc-amber) !important; }
/* Blockquotes, callouts */
blockquote { border-left-color: var(--mc-amber) !important; }
/* Horizontal rules */
hr { border-color: var(--mc-amber) !important; opacity: 0.3 !important; }
