/*  House Cleaning by Chelly  Global Elementor Fixes  */

/* Hide page title on all Elementor pages */
.elementor-page .entry-title,
.elementor-page .page-title,
.elementor-page h1.entry-title,
body.page .entry-title {
	  display: none !important;
}

/* Hide theme sidebar on Elementor pages */
.elementor-page .widget-area,
.elementor-page aside.sidebar,
.elementor-page #secondary,
.elementor-page .sidebar-area {
	  display: none !important;
}

/* Make main content full width on Elementor pages */
.elementor-page #primary,
.elementor-page .content-area,
.elementor-page main.site-main {
	  width: 100% !important;
	  max-width: 100% !important;
	  float: none !important;
	  margin: 0 !important;
	  padding: 0 !important;
}

/* Remove top padding/margin from Elementor page content */
.elementor-page .entry-content {
	  margin: 0 !important;
	  padding: 0 !important;
}

/* Make sure Elementor sections go full width */
.elementor-section.elementor-section-full_width {
	  left: 0;
	  right: 0;
}

/* Hide "Shop " button from header (not relevant to cleaning biz) */
/*  House Cleaning by Chelly  Layout Fixes  */

/* 1. Hide the WordPress page title on all pages */
.wp-block-post-title {
	  display: none !important;
}

/* 2. Hide the theme sidebar (second column = "I'm Veronica" area) */
/* removed column hide rule */

/* 3. Make the main content column take full width */
.wp-block-columns.alignwide > .wp-block-column:first-child {
	  width: 100% !important;
	  flex-basis: 100% !important;
	  max-width: 100% !important;
}

/* 4. Remove extra padding around Elementor content */
.entry-content.wp-block-post-content {
	  padding: 0 !important;
	  margin: 0 !important;
}

/* 5. Elementor sections should go edge to edge */
.wp-block-post-content .elementor-section,
.wp-block-post-content .e-container {
	  max-width: 100% !important;
}

/* 6. Remove any gap created by hiding the title */
.wp-block-group.is-layout-flow {
	  gap: 0 !important;
}

/* 7. Ensure Elementor inner container width is correct */
.elementor-inner > .elementor-container {
	  max-width: 100%;
}.header-shop-link,
a[href*="shop"] .wp-block-button {
	  display: none !important;
}
/* == House Cleaning by Chelly  Layout Fixes v2 == */

/* 1. Hide page title (H2) from showing above Elementor content */
h2.wp-block-post-title {
	  display: none !important;
}

/* 2. Hide sidebar column in main content area */
.wp-block-group.has-global-padding > /* removed column hide rule */

/* 3. Expand main content column to full width */
.wp-block-group.has-global-padding > .wp-block-columns > .wp-block-column:first-child {
	  width: 100% !important;
	  flex-basis: 100% !important;
	  max-width: 100% !important;
}

/* 4. Remove global padding so Elementor sections go edge-to-edge */
.wp-site-blocks > .wp-block-group.has-global-padding {
	  padding-left: 0 !important;
	  padding-right: 0 !important;
}
.wp-block-group.has-global-padding > .wp-block-columns {
	  max-width: 100% !important;
	  padding: 0 !important;
	  margin: 0 !important;
}

/* 5. Remove entry-content padding */
.entry-content.wp-block-post-content {
	  padding: 0 !important;
	  margin: 0 !important;
	  max-width: 100% !important;
}

/* 6. Hide the duplicate ALL-CAPS nav bar in the header */
header .wp-block-group.alignwide.has-primary-color {
	  display: none !important;
}

/* 7. Replace site title text with logo image */
h1.wp-block-site-title {
	  font-size: 0 !important;
	  line-height: 0 !important;
	  overflow: hidden !important;
}
h1.wp-block-site-title {
  display: flex !important;
  justify-content: center !important;
  align-items: center !important;
}
h1.wp-block-site-title a {
	  display: block !important;
	  width: 180px !important;
	  height: 65px !important;
	  background: url('https://housecleaningbychely.com/wp-content/uploads/2026/05/grok-image-8b81d8c4-fd98-4573-ad48-b335e8dedbd6.jpeg') no-repeat center center !important;
	  background-size: contain !important;
	  text-indent: -9999px !important;
	  overflow: hidden !important;
}

/* 8. Hide Shop button if present */
.header-shop-link,
a[href*="shop"].wp-block-button__link {
	  display: none !important;
}

/* 9. Fix Elementor inner container */
.elementor-section,
.elementor-container {
	  max-width: 100% !important;
}

/* 10. Inner content group gap fix */
.wp-block-group.is-layout-flow {
	  gap: 0 !important;
}

/* 11. Compact the header logo row - reduce extra white space */
header .wp-block-columns.alignwide.are-vertically-aligned-center {
	  padding-top: 6px !important;
	  padding-bottom: 6px !important;
	  min-height: auto !important;
}

/* 12. Make logo slightly larger */
h1.wp-block-site-title a {
	  width: 200px !important;
	  height: 72px !important;
}

/* 13. Remove gap between Elementor content and footer */
.wp-block-group.has-global-padding > .wp-block-columns {
	  margin-bottom: 0 !important;
}
.entry-content.wp-block-post-content {
	  margin-bottom: 0 !important;
}
}
}
}
}
}
}
}
}
}
}
}
}
}
}
}
}}
}
}
}
}
}

/* ============================================================
   HOUSE CLEANING BY CHELLY — PREMIUM DESIGN SYSTEM v1.0
   ============================================================ */

/* --- GOOGLE FONTS --- */
@import url('https://fonts.googleapis.com/css2?family=Playfair+Display:wght@400;600;700&family=Lato:wght@300;400;700&family=Montserrat:wght@500;600;700&display=swap');

/* --- DESIGN TOKENS --- */
:root {
  --chelly-green:      #4A90E2;
  --chelly-dark:       #1E3A5F;
  --chelly-gold:       #C9A96E;
  --chelly-teal:       #3A7BC8;
  --chelly-cream:      #F8F6F1;
  --chelly-text-dark:  #1E1E1E;
  --chelly-text-mid:   #4A4A4A;
  --chelly-text-light: #7A7A7A;
  --chelly-white:      #FFFFFF;
  --font-heading:      'Playfair Display', Georgia, serif;
  --font-body:         'Lato', sans-serif;
  --font-label:        'Montserrat', sans-serif;
  --shadow-card:       0 4px 30px rgba(0,0,0,0.07);
  --shadow-hover:      0 20px 50px rgba(0,0,0,0.12);
  --radius:            12px;
  --transition:        all 0.3s ease;
}

/* --- BASE --- */
* { -webkit-font-smoothing: antialiased; }
html { scroll-behavior: smooth; }

/* --- TYPOGRAPHY --- */
.elementor-widget-heading h1,
.elementor-widget-heading h2 {
  font-family: var(--font-heading) !important;
  color: var(--chelly-dark) !important;
  line-height: 1.2 !important;
}
.elementor-widget-heading h3,
.elementor-widget-heading h4 {
  font-family: var(--font-label) !important;
  color: var(--chelly-text-dark) !important;
}
.elementor-widget-text-editor,
.elementor-widget-text-editor p {
  font-family: var(--font-body) !important;
  line-height: 1.8 !important;
  color: var(--chelly-text-mid) !important;
}

/* --- BUTTONS --- */
.elementor-button {
  font-family: var(--font-label) !important;
  font-weight: 700 !important;
  letter-spacing: 1.5px !important;
  text-transform: uppercase !important;
  border-radius: 4px !important;
  transition: var(--transition) !important;
}
/* Force primary green buttons */
.elementor-button[style*="background"],
.elementor-widget-button .elementor-button {
  transition: transform 0.3s ease, box-shadow 0.3s ease !important;
}
.elementor-widget-button .elementor-button:hover {
  transform: translateY(-2px) !important;
  box-shadow: 0 8px 25px rgba(74, 144, 226, 0.4) !important;
}

/* --- CARD HOVER LIFT --- */
.elementor-widget-icon-box,
.elementor-widget-image-box {
  transition: transform 0.3s ease, box-shadow 0.3s ease !important;
  border-radius: var(--radius) !important;
  overflow: hidden;
}
.elementor-widget-icon-box:hover,
.elementor-widget-image-box:hover {
  transform: translateY(-6px) !important;
  box-shadow: var(--shadow-hover) !important;
}

/* --- ICON COLOR OVERRIDE FOR TRUST ICONS --- */
.elementor-widget-icon-box .elementor-icon i,
.elementor-widget-icon-box .elementor-icon svg {
  transition: color 0.3s ease !important;
}

/* --- SECTION SEPARATOR (gold accent line) --- */
.gold-divider {
  width: 60px; height: 3px;
  background: var(--chelly-gold);
  margin: 16px auto 24px;
  border-radius: 2px;
}

/* --- OVERLINE LABELS --- */
.elementor-widget-heading .overline {
  font-family: var(--font-label) !important;
  font-size: 12px !important;
  font-weight: 700 !important;
  letter-spacing: 3px !important;
  text-transform: uppercase !important;
  color: var(--chelly-gold) !important;
}

/* --- TESTIMONIAL GLASS CARDS (on dark bg) --- */
.glass-card .elementor-widget-wrap,
.elementor-section.testimonials-section .elementor-widget-testimonial {
  background: rgba(255,255,255,0.07) !important;
  backdrop-filter: blur(10px);
  border: 1px solid rgba(255,255,255,0.12) !important;
  border-radius: 16px !important;
  padding: 32px !important;
}

/* --- NAV LINK HOVER UNDERLINE --- */
.elementor-nav-menu--main .elementor-item {
  position: relative;
  transition: color 0.3s ease !important;
}
.elementor-nav-menu--main .elementor-item::after {
  content: '';
  position: absolute; bottom: -4px; left: 0;
  width: 0; height: 2px;
  background: var(--chelly-green);
  transition: width 0.3s ease;
}
.elementor-nav-menu--main .elementor-item:hover::after,
.elementor-nav-menu--main .elementor-item.elementor-item-active::after { width: 100%; }

/* --- IMAGE ZOOM ON HOVER --- */
.elementor-widget-image { overflow: hidden; border-radius: var(--radius); }
.elementor-widget-image img { transition: transform 0.6s ease !important; }
.elementor-widget-image:hover img { transform: scale(1.04) !important; }

/* --- CALENDLY EMBED --- */
.calendly-inline-widget {
  border-radius: var(--radius) !important;
  overflow: hidden !important;
  box-shadow: 0 10px 40px rgba(0,0,0,0.10) !important;
}

/* =============================================
   FLOATING "TEXT US" BUTTON (sitewide)
   ============================================= */
.floating-text-btn {
  position: fixed;
  bottom: 28px; right: 28px;
  z-index: 9999;
  background: var(--chelly-green);
  color: #fff !important;
  padding: 13px 22px;
  border-radius: 50px;
  font-family: var(--font-label);
  font-size: 14px; font-weight: 700;
  letter-spacing: 1px;
  text-decoration: none !important;
  display: flex; align-items: center; gap: 8px;
  box-shadow: 0 6px 25px rgba(74, 144, 226, 0.50);
  animation: chelly-pulse 2.5s infinite;
  transition: var(--transition);
}
.floating-text-btn:hover {
  background: #2E6DB4 !important;
  transform: translateY(-3px);
  text-decoration: none !important;
  color: #fff !important;
}
@keyframes chelly-pulse {
  0%,100% { box-shadow: 0 6px 25px rgba(74, 144, 226, 0.50); }
  50%      { box-shadow: 0 6px 38px rgba(74, 144, 226, 0.82); }
}

/* =============================================
   MOBILE STICKY CALL/TEXT BAR
   ============================================= */
@media (max-width: 767px) {
  .mobile-cta-bar {
    position: fixed;
    bottom: 0; left: 0; right: 0;
    display: flex; z-index: 9998;
    box-shadow: 0 -4px 20px rgba(0,0,0,0.15);
  }
  .mobile-cta-bar a {
    flex: 1; padding: 15px;
    text-align: center;
    font-family: var(--font-label);
    font-weight: 700; font-size: 14px;
    text-decoration: none !important;
    color: #fff !important;
    letter-spacing: 0.5px;
  }
  .mobile-cta-bar .call-btn { background: var(--chelly-dark); }
  .mobile-cta-bar .text-btn { background: var(--chelly-green); }
  /* removed floating-btn hide */
  body { padding-bottom: 54px; }
}

/* --- REMOVE CRAFTFULLY PLACEHOLDER CONTENT --- */
.blog-section:not(.elementor-widget),
/* removed craftfully hide rule */

/* --- HERO TEXT ALWAYS WHITE ON DARK SECTIONS --- */
.elementor-section[style*="#1E3A5F"] .elementor-heading-title,
.elementor-section[style*="#1E3A5F"] .elementor-widget-text-editor,
.elementor-section[style*="2C3E35"] h1,
.elementor-section[style*="2C3E35"] h2,
.elementor-section[style*="2C3E35"] p { color: #fff !important; }

/* Hide Craftfully theme sidebar - targets only columns containing a template-part directly */
.wp-block-column:has(> .wp-block-template-part) {
  display: none !important;
}

/* ============================================
   HOUSE CLEANING BY CHELLY — CSS POLISH v2
   Premium hover effects, animations, spacing
   ============================================ */

/* --- GOOGLE FONTS IMPORT --- */
@import url('https://fonts.googleapis.com/css2?family=Playfair+Display:wght@400;700&family=Lato:wght@300;400;700&family=Montserrat:wght@500;600;700;800&display=swap');

/* --- GLOBAL BODY TYPOGRAPHY --- */
body {
  font-family: 'Lato', sans-serif !important;
  -webkit-font-smoothing: antialiased;
}
h1, h2, h3, h4 {
  font-family: 'Playfair Display', serif !important;
}
.elementor-widget-heading .elementor-heading-title {
  font-family: 'Playfair Display', serif !important;
}

/* --- SECTION SPACING CONSISTENCY --- */
.elementor-section {
  position: relative;
}

/* --- SERVICE CARD HOVER LIFT --- */
[data-id="f6a7b8c9"] .elementor-column {
  transition: transform 0.3s ease;
}
[data-id="f6a7b8c9"] .elementor-column:hover {
  transform: translateY(-6px);
}
[data-id="f6a7b8c9"] .elementor-column > .elementor-column-wrap {
  height: 100%;
}
[data-id="f6a7b8c9"] .elementor-widget-html > .elementor-widget-container {
  height: 100%;
}

/* --- TRUST BAR ICON SIZING FIX --- */
[data-id="217c4eaf"] .elementor-icon-box-icon .elementor-icon {
  font-size: 32px !important;
  width: 56px !important;
  height: 56px !important;
  line-height: 56px !important;
}
[data-id="217c4eaf"] .elementor-icon-box-title {
  font-size: 15px !important;
  font-family: 'Montserrat', sans-serif !important;
  font-weight: 700 !important;
  letter-spacing: 0.3px;
}
[data-id="217c4eaf"] .elementor-icon-box-description {
  font-size: 12px !important;
  opacity: 0.75;
}

/* --- CTA BUTTONS — GLOBAL HOVER STATE --- */
.elementor-widget-button .elementor-button {
  transition: all 0.3s ease !important;
  font-family: 'Montserrat', sans-serif !important;
  font-weight: 700 !important;
  letter-spacing: 0.5px;
}
.elementor-widget-button .elementor-button:hover {
  transform: translateY(-2px);
  box-shadow: 0 8px 28px rgba(46, 109, 180, 0.35) !important;
  filter: brightness(1.06);
}

/* --- FLOATING TEXT BUTTON --- */
.floating-text-btn {
  transition: all 0.3s ease !important;
  font-family: 'Montserrat', sans-serif !important;
  font-weight: 700 !important;
}
.floating-text-btn:hover {
  transform: translateY(-3px) !important;
  box-shadow: 0 12px 32px rgba(46, 109, 180, 0.5) !important;
}

/* --- HEADER TOP BAR ANCHOR --- */
.wp-block-group a[href^="tel"] {
  transition: color 0.2s ease;
}
.wp-block-group a[href^="tel"]:hover {
  color: #FFFFFF !important;
  text-decoration: underline;
}

/* --- HEADER BUTTONS HOVER --- */
.wp-block-button__link {
  transition: all 0.25s ease !important;
}
.wp-block-button__link:hover {
  transform: translateY(-2px) !important;
  box-shadow: 0 6px 20px rgba(0,0,0,0.18) !important;
  filter: brightness(1.08) !important;
}

/* --- FOOTER LINK HOVER --- */
.wp-block-group a {
  transition: color 0.2s ease;
}

/* --- SCROLL ENTRANCE ANIMATIONS --- */
@keyframes fadeInUp {
  from { opacity: 0; transform: translateY(28px); }
  to   { opacity: 1; transform: translateY(0); }
}
@keyframes fadeInScale {
  from { opacity: 0; transform: scale(0.96); }
  to   { opacity: 1; transform: scale(1); }
}

.elementor-section.animated-section .elementor-column {
  animation: fadeInUp 0.6s ease both;
}
.elementor-section.animated-section .elementor-column:nth-child(2) {
  animation-delay: 0.1s;
}
.elementor-section.animated-section .elementor-column:nth-child(3) {
  animation-delay: 0.2s;
}

/* --- SERVICE CARD SECTION PADDING --- */
[data-id="f6a7b8c9"] {
  padding-top: 80px !important;
  padding-bottom: 80px !important;
}

/* --- HOW IT WORKS STEPS SPACING --- */
[data-id="226db0db"] .elementor-column > .elementor-column-wrap > .elementor-widget-wrap {
  padding: 8px !important;
}

/* --- TESTIMONIALS SECTION --- */
[data-id="9dab3c30"] .elementor-widget-container {
  line-height: 1.7;
}

/* --- SERVICE AREAS PILL SPACING --- */
[data-id="b2ccfbad"] {
  padding-top: 64px !important;
  padding-bottom: 64px !important;
}

/* --- CALENDLY / CAL SECTION --- */
[data-id="584c8f74"] {
  padding-top: 80px !important;
  padding-bottom: 80px !important;
}
#cal-inline-hp {
  border-radius: 12px;
  overflow: hidden;
  box-shadow: 0 8px 32px rgba(0,0,0,0.1);
}

/* --- ELEMENTOR ICON BOX GLOBAL --- */
.elementor-icon-box-wrapper {
  transition: transform 0.3s ease;
}
.elementor-icon-box-wrapper:hover {
  transform: translateY(-4px);
}

/* --- NAVIGATION LINKS HOVER --- */
.wp-block-navigation a {
  transition: color 0.2s ease !important;
}
.wp-block-navigation a:hover {
  color: #4A90E2 !important;
}

/* --- MOBILE RESPONSIVE FIXES --- */
@media (max-width: 768px) {
  /* Header top bar */
  .wp-block-group p[style*="text-align:center"] {
    font-size: 11px !important;
    padding: 0 8px;
  }
  /* Header buttons stack */
  .wp-block-buttons {
    flex-wrap: wrap;
    gap: 8px;
  }
  /* Service cards */
  [data-id="f6a7b8c9"] {
    padding-left: 16px !important;
    padding-right: 16px !important;
  }
  [data-id="f6a7b8c9"] .elementor-column {
    width: 100% !important;
    margin-bottom: 24px !important;
  }
  /* Footer grid stack */
  .wp-block-group div[style*="grid-template-columns:1fr 1fr 1fr"] {
    grid-template-columns: 1fr !important;
    gap: 32px !important;
  }
  /* Trust bar wrap */
  [data-id="217c4eaf"] .elementor-column {
    width: 50% !important;
    margin-bottom: 16px !important;
  }
  /* Section headings */
  .elementor-heading-title[style*="42px"],
  .elementor-heading-title[style*="44px"] {
    font-size: 32px !important;
  }
}

@media (max-width: 480px) {
  [data-id="217c4eaf"] .elementor-column {
    width: 100% !important;
  }
  .wp-block-group div[style*="grid-template-columns:1fr 1fr 1fr"] {
    grid-template-columns: 1fr !important;
  }
}

/* --- SMOOTH SCROLL GLOBAL --- */
html {
  scroll-behavior: smooth;
}

/* --- SELECTION COLOR --- */
::selection {
  background: rgba(74, 144, 226, 0.3);
  color: #1E3A5F;
}

/* --- FOCUS STATES ACCESSIBILITY --- */
a:focus-visible,
button:focus-visible {
  outline: 2px solid #4A90E2;
  outline-offset: 3px;
  border-radius: 4px;
}


/* ===== Cal.com Booking Widget ===== */
.cal-container {
  border-radius: 12px;
  overflow: hidden;
  box-shadow: 0 10px 40px rgba(0,0,0,0.10);
  background: #FFFFFF;
  padding: 10px;
  min-height: 700px;
}
.cal-inline-widget {
  border-radius: 12px;
}
/* Book an Estimate page hero */
.book-page-hero {
  background: linear-gradient(135deg, #1E3A5F 0%, #1E3A5F 100%);
  padding: 80px 40px;
  text-align: center;
}
.book-page-hero h1 {
  color: #FFFFFF;
  font-family: 'Playfair Display', serif;
  font-size: clamp(2rem, 4vw, 3rem);
  margin-bottom: 16px;
}
.book-page-hero p {
  color: rgba(255,255,255,0.85);
  font-size: 1.125rem;
  max-width: 560px;
  margin: 0 auto;
}
/* Responsive Cal embed */
@media (max-width: 768px) {
  .cal-container { min-height: 600px; padding: 6px; }
  .cal-inline-widget { height: 600px !important; }
}


/* ===== Hero Section Force Colors (high-specificity override) ===== */
/* Hero background */
.elementor-element-a1b2c3d4.elementor-section {
  background-color: #1E3A5F !important;
}
/* Badge label - gold */
.elementor-element-wgt_badge,
.elementor-element-wgt_badge p,
.elementor-element-wgt_badge * {
  color: #C9A96E !important;
}
/* Main H1 - white */
.elementor-element-wgt_h1 .elementor-heading-title {
  color: #FFFFFF !important;
}
/* Sub heading - soft white */
.elementor-element-wgt_sub .elementor-heading-title {
  color: rgba(255,255,255,0.88) !important;
}
/* Trust signals text */
.elementor-element-wgt_trust,
.elementor-element-wgt_trust p,
.elementor-element-wgt_trust * {
  color: #FFFFFF !important;
}
/* Hero body text */
.elementor-element-a1b2c3d4 .elementor-widget-text-editor *,
.elementor-element-a1b2c3d4 .elementor-widget-heading .elementor-heading-title {
  color: #FFFFFF !important;
}
/* Gold badge overrides white above */
.elementor-element-wgt_badge .elementor-widget-container *,
.elementor-element-wgt_badge .elementor-widget-container p {
  color: #C9A96E !important;
}


/* ===== Book-an-Estimate Page Hero Colors ===== */
/* Booking page hero - all text white/gold */
.elementor-element-bp_hero {
  background-color: #1E3A5F !important;
}
.elementor-element-bp_badge,
.elementor-element-bp_badge *,
.elementor-element-bp_badge p {
  color: #C9A96E !important;
}
.elementor-element-bp_h1 .elementor-heading-title {
  color: #FFFFFF !important;
}
.elementor-element-bp_sub .elementor-heading-title {
  color: rgba(255,255,255,0.88) !important;
}
/* Global: any section with dark bg — force headings white */
.elementor-section[style*="1A2B24"] .elementor-heading-title,
.elementor-section[style*="2C3E35"] .elementor-heading-title {
  color: #FFFFFF !important;
}
.elementor-section[style*="1A2B24"] .elementor-widget-text-editor,
.elementor-section[style*="1A2B24"] .elementor-widget-text-editor * {
  color: rgba(255,255,255,0.88) !important;
}


/* ===== Header White Premium Layout ===== */
/* Sticky header with shadow */
header.wp-block-template-part {
  position: sticky;
  top: 0;
  z-index: 9999;
  box-shadow: 0 2px 20px rgba(0,0,0,0.10);
}
/* Site title - dark green */
.wp-block-template-part .wp-block-site-title a {
  color: #1E3A5F !important;
  text-decoration: none !important;
  font-family: 'Playfair Display', serif !important;
}
.wp-block-template-part .wp-block-site-title a:hover {
  color: #2E6DB4 !important;
}
/* Nav links - dark green on white */
.wp-block-template-part .wp-block-navigation .wp-block-navigation-item__content {
  color: #1E3A5F !important;
}
.wp-block-template-part .wp-block-navigation .wp-block-navigation-item__content:hover,
.wp-block-template-part .wp-block-navigation .current-menu-item > .wp-block-navigation-item__content {
  color: #4A90E2 !important;
}
/* Outline button (Text Us) */
.wp-block-template-part .wp-block-button.is-style-outline .wp-block-button__link {
  border-color: #1E3A5F !important;
  color: #1E3A5F !important;
  background: transparent !important;
}
.wp-block-template-part .wp-block-button.is-style-outline .wp-block-button__link:hover {
  background: #1E3A5F !important;
  color: #FFFFFF !important;
}
/* Filled button (Book Estimate) stays dark green */
.wp-block-template-part .wp-block-button:not(.is-style-outline) .wp-block-button__link:hover {
  background-color: #2E6DB4 !important;
}
/* Nav items - prevent mid-word line breaks */
.wp-block-template-part .wp-block-navigation-item a {
  white-space: nowrap !important;
}
.wp-block-template-part .wp-block-navigation-item {
  white-space: nowrap !important;
}

/* ===== Readability & Contrast Fixes ===== */
/* "Why Families Choose Chelly" section — dark green bg needs white text */
.elementor-element-b2c3d4e5 .elementor-heading-title {
  color: #FFFFFF !important;
}
.elementor-element-b2c3d4e5 .elementor-widget-text-editor,
.elementor-element-b2c3d4e5 p {
  color: rgba(255, 255, 255, 0.88) !important;
}
/* Any Elementor section with dark green background — ensure white headings */
.elementor-section[style*="background-color: rgb(30, 58, 95)"] .elementor-heading-title,
.elementor-section[style*="background-color: rgb(30, 58, 95)"] .elementor-heading-title,
.elementor-section[style*="background-color:#1E3A5F"] .elementor-heading-title,
.elementor-section[style*="background-color:#1E3A5F"] .elementor-heading-title {
  color: #FFFFFF !important;
}
.elementor-section[style*="background-color: rgb(30, 58, 95)"] p,
.elementor-section[style*="background-color: rgb(30, 58, 95)"] p {
  color: rgba(255, 255, 255, 0.88) !important;
}
/* Hero text readability improvements */
.elementor-location-single .elementor-section:first-child .elementor-heading-title,
.e-con:first-child .elementor-heading-title {
  text-shadow: 0 2px 8px rgba(0,0,0,0.3);
}

/* ===== PHASE 1: Header Symmetry Polish ===== */

/* Force CTA buttons SIDE BY SIDE in header */
.wp-block-template-part .wp-block-buttons {
  flex-direction: row !important;
  flex-wrap: nowrap !important;
  gap: 6px !important;
  align-items: center !important;
  justify-content: flex-end !important;
}

/* Button sizing - compact to fit side by side */
.wp-block-template-part .wp-block-button__link {
  padding: 8px 14px !important;
  font-size: 11px !important;
  font-family: 'Montserrat', sans-serif !important;
  font-weight: 600 !important;
  letter-spacing: 0.5px !important;
  text-transform: uppercase !important;
  white-space: nowrap !important;
  border-radius: 3px !important;
  line-height: 1.4 !important;
}

/* Outline button (Text Us) */
.wp-block-template-part .wp-block-button.is-style-outline .wp-block-button__link {
  border: 1.5px solid #1E3A5F !important;
  color: #1E3A5F !important;
  background: transparent !important;
}
.wp-block-template-part .wp-block-button.is-style-outline .wp-block-button__link:hover {
  background: #1E3A5F !important;
  color: #FFFFFF !important;
}

/* Filled button (Book Estimate) */
.wp-block-template-part .wp-block-button:not(.is-style-outline) .wp-block-button__link {
  background: #1E3A5F !important;
  color: #FFFFFF !important;
  border: 1.5px solid #1E3A5F !important;
}
.wp-block-template-part .wp-block-button:not(.is-style-outline) .wp-block-button__link:hover {
  background: #4A90E2 !important;
  border-color: #4A90E2 !important;
  color: #FFFFFF !important;
}

/* Top bar refinement */
.wp-block-template-part .wp-block-group[style*="1A2B24"] p,
.wp-block-template-part .wp-block-group[style*="1A2B24"] {
  font-family: 'Lato', sans-serif !important;
  font-size: 12.5px !important;
}

/* Site title font */
.wp-block-template-part .wp-block-site-title,
.wp-block-template-part .wp-block-site-title a {
  font-family: 'Playfair Display', serif !important;
  font-size: 19px !important;
  font-weight: 700 !important;
  color: #1E3A5F !important;
  letter-spacing: -0.3px !important;
  text-decoration: none !important;
  line-height: 1.2 !important;
}

/* Nav link hover underline effect */
.wp-block-template-part .wp-block-navigation-item__content {
  position: relative !important;
  padding-bottom: 2px !important;
}
.wp-block-template-part .wp-block-navigation-item__content::after {
  content: '' !important;
  position: absolute !important;
  bottom: -2px !important;
  left: 0 !important;
  width: 0 !important;
  height: 2px !important;
  background: #4A90E2 !important;
  transition: width 0.25s ease !important;
}
.wp-block-template-part .wp-block-navigation-item:hover .wp-block-navigation-item__content::after {
  width: 100% !important;
}

/* ===== Mobile Menu Overlay - Premium Slide-in ===== */
.wp-block-template-part .wp-block-navigation__responsive-container.is-menu-open {
  background: #1E3A5F !important;
  padding: 40px 30px !important;
}
.wp-block-template-part .wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation-item__content {
  color: #FFFFFF !important;
  font-size: 18px !important;
  letter-spacing: 1px !important;
  padding: 12px 0 !important;
  border-bottom: 1px solid rgba(255,255,255,0.10) !important;
}
.wp-block-template-part .wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation-item__content:hover {
  color: #4A90E2 !important;
}
.wp-block-template-part .wp-block-navigation__responsive-container-close {
  color: #FFFFFF !important;
  top: 16px !important;
  right: 20px !important;
}
.wp-block-template-part .wp-block-navigation__responsive-container-open {
  color: #1E3A5F !important;
}

/* Header column balance - ensure 3-col stays aligned */
.wp-block-template-part .wp-block-columns.alignwide {
  align-items: center !important;
}
.wp-block-template-part .wp-block-column:first-child {
  display: flex !important;
  align-items: center !important;
}
.wp-block-template-part .wp-block-column:last-child {
  display: flex !important;
  align-items: center !important;
  justify-content: flex-end !important;
}


/* ===== PHASE 1 FIX: Header Column Proportions ===== */
/* Override the broken display:flex on columns */
.wp-block-template-part .wp-block-columns.alignwide {
  display: flex !important;
  flex-direction: row !important;
  flex-wrap: nowrap !important;
  align-items: center !important;
  width: 100% !important;
}

/* LOGO column: hard 18% - no grow/shrink */
.wp-block-template-part .wp-block-columns.alignwide > .wp-block-column:first-child {
  flex: 0 0 18% !important;
  max-width: 18% !important;
  min-width: 0 !important;
  display: flex !important;
  align-items: center !important;
  overflow: hidden !important;
}

/* NAV column: fills remaining space, overflow hidden to prevent bleed */
.wp-block-template-part .wp-block-columns.alignwide > .wp-block-column:nth-child(2) {
  flex: 1 1 auto !important;
  min-width: 0 !important;
  overflow: visible !important;
  display: block !important;
}

/* BUTTONS column: hard 22% for 2 buttons side by side */
.wp-block-template-part .wp-block-columns.alignwide > .wp-block-column:last-child {
  flex: 0 0 22% !important;
  max-width: 22% !important;
  min-width: 0 !important;
  display: flex !important;
  align-items: center !important;
  justify-content: flex-end !important;
}

/* Logo image size control */
.wp-block-template-part .wp-block-site-logo {
  width: 100% !important;
  max-width: 80px !important;
}
.wp-block-template-part .wp-block-site-logo img {
  max-width: 80px !important;
  width: auto !important;
  height: auto !important;
  max-height: 70px !important;
}

/* Site title text (fallback if no logo image) */
.wp-block-template-part .wp-block-site-title,
.wp-block-template-part .wp-block-site-title a {
  font-family: 'Playfair Display', serif !important;
  font-size: 18px !important;
  font-weight: 700 !important;
  color: #1E3A5F !important;
  white-space: nowrap !important;
  text-decoration: none !important;
  line-height: 1.2 !important;
}

/* Buttons wrapper: ensure row direction with gap */
.wp-block-template-part .wp-block-buttons {
  display: flex !important;
  flex-direction: row !important;
  flex-wrap: nowrap !important;
  gap: 8px !important;
  align-items: center !important;
  justify-content: flex-end !important;
}

/* Individual wp-block-button wrapper */
.wp-block-template-part .wp-block-button {
  flex: 0 0 auto !important;
}

/* Button link styling - compact */
.wp-block-template-part .wp-block-button__link {
  padding: 9px 16px !important;
  font-size: 11px !important;
  font-family: 'Montserrat', sans-serif !important;
  font-weight: 700 !important;
  letter-spacing: 0.6px !important;
  text-transform: uppercase !important;
  white-space: nowrap !important;
  border-radius: 3px !important;
  line-height: 1.3 !important;
  display: inline-block !important;
}

/* Outline button (Text Us) */
.wp-block-template-part .wp-block-button.is-style-outline .wp-block-button__link {
  border: 1.5px solid #1E3A5F !important;
  color: #1E3A5F !important;
  background: transparent !important;
}
.wp-block-template-part .wp-block-button.is-style-outline .wp-block-button__link:hover {
  background: #1E3A5F !important;
  color: #FFFFFF !important;
}

/* Filled button (Book Estimate) */
.wp-block-template-part .wp-block-button:not(.is-style-outline) .wp-block-button__link {
  background: #1E3A5F !important;
  color: #FFFFFF !important;
  border: 1.5px solid #1E3A5F !important;
}
.wp-block-template-part .wp-block-button:not(.is-style-outline) .wp-block-button__link:hover {
  background: #4A90E2 !important;
  border-color: #4A90E2 !important;
  color: #FFFFFF !important;
}


/* ===== PHASE 2: Hero Section - Kitchen Photo Background ===== */

/* IMG_1668 as hero background with dark green overlay */
.elementor-element-a1b2c3d4 {
  background-image: url('https://housecleaningbychely.com/wp-content/uploads/2026/05/IMG_1668.jpg') !important;
  background-color: transparent !important;
  background-size: cover !important;
  background-position: center 30% !important;
  background-repeat: no-repeat !important;
  position: relative !important;
}

/* Dark green overlay for text readability */
.elementor-element-a1b2c3d4::before {
  content: '' !important;
  position: absolute !important;
  inset: 0 !important;
  background: rgba(30, 58, 95, 0.80) !important;
  z-index: 0 !important;
}

/* Ensure hero content sits above the overlay */
.elementor-element-a1b2c3d4 > .elementor-container {
  position: relative !important;
  z-index: 1 !important;
}

/* Hero text - ensure crisp readability */
.elementor-element-a1b2c3d4 .elementor-heading-title {
  color: #FFFFFF !important;
  text-shadow: 0 2px 16px rgba(0,0,0,0.35) !important;
}
.elementor-element-a1b2c3d4 p,
.elementor-element-a1b2c3d4 .elementor-widget-text-editor {
  color: rgba(255,255,255,0.92) !important;
  text-shadow: 0 1px 8px rgba(0,0,0,0.30) !important;
}

/* Trust badge / subtitle text */
.elementor-element-a1b2c3d4 .elementor-text-editor,
.elementor-element-a1b2c3d4 [class*="subtitle"],
.elementor-element-a1b2c3d4 [class*="eyebrow"] {
  color: #C9A96E !important;
  letter-spacing: 2.5px !important;
}

/* Hero CTA buttons */
.elementor-element-a1b2c3d4 .elementor-button {
  border-radius: 3px !important;
  font-family: 'Montserrat', sans-serif !important;
  font-weight: 700 !important;
  letter-spacing: 0.8px !important;
  text-transform: uppercase !important;
  transition: all 0.25s ease !important;
}


/* ===== Gap Fix: Remove space between header and hero ===== */
/* Remove padding-top on the page content wrapper (41px default causes gap) */
.wp-block-group.has-global-padding.is-layout-constrained {
  padding-top: 0 !important;
  margin-top: 0 !important;
}
/* Remove Elementor page wrapper top margin */
.elementor-15, .elementor[data-elementor-id="15"] {
  margin-top: 0 !important;
  padding-top: 0 !important;
}


/* ===== PHASE 3: Premium Google Reviews Styling ===== */

/* Reviews section: H2 heading - Playfair italic */
.elementor-element-9dab3c30 h2 {
  font-family: 'Playfair Display', serif !important;
  font-size: clamp(32px, 4vw, 48px) !important;
  font-style: italic !important;
  color: #FFFFFF !important;
  line-height: 1.2 !important;
  text-align: center !important;
}
/* Stars row in header area */
.elementor-element-9dab3c30 .elementor-element-9b343a70 p {
  color: #C9A96E !important;
  font-size: 24px !important;
  letter-spacing: 6px !important;
  text-align: center !important;
}

/* Testimonial card divs: upgrade border to gold + add hover */
.elementor-element-4dbbad34 > div,
.elementor-element-1d531fc1 > div,
.elementor-element-a7bb6943 > div {
  border-color: rgba(201, 169, 110, 0.40) !important;
  transition: border-color 0.25s ease, transform 0.25s ease, box-shadow 0.25s ease !important;
  position: relative !important;
  height: auto !important;
}
.elementor-element-4dbbad34:hover > div,
.elementor-element-1d531fc1:hover > div,
.elementor-element-a7bb6943:hover > div {
  border-color: rgba(201, 169, 110, 0.75) !important;
  box-shadow: 0 20px 50px rgba(0, 0, 0, 0.28) !important;
  transform: translateY(-5px) !important;
}

/* Decorative large quotation mark watermark in each card */
.elementor-element-4dbbad34 > div::before,
.elementor-element-1d531fc1 > div::before,
.elementor-element-a7bb6943 > div::before {
  content: '\201C' !important;
  position: absolute !important;
  top: 6px !important;
  right: 16px !important;
  font-size: 90px !important;
  line-height: 1 !important;
  color: rgba(201, 169, 110, 0.11) !important;
  font-family: 'Playfair Display', Georgia, serif !important;
  pointer-events: none !important;
  z-index: 0 !important;
}

/* --- Google Stats Strip (5.0 Stars on Google) --- */
.elementor-element-c3d4e5f6 {
  border-top: 3px solid rgba(201, 169, 110, 0.45) !important;
}
.elementor-element-c3d4e5f6 .elementor-icon-box-title a,
.elementor-element-c3d4e5f6 .elementor-icon-box-title {
  color: #1E3A5F !important;
  font-family: 'Playfair Display', serif !important;
  font-weight: 700 !important;
}
.elementor-element-c3d4e5f6 .elementor-icon {
  color: #C9A96E !important;
}
.elementor-element-c3d4e5f6 .elementor-icon-box-description {
  color: #1E3A5F !important;
  font-size: 14px !important;
}

/* --- "Join Our Happy Clients" CTA row --- */
.elementor-element-836ea12b {
  background: linear-gradient(160deg, #1E3A5F 0%, #2A4F7A 100%) !important;
  border-top: 2px solid rgba(201, 169, 110, 0.30) !important;
  border-bottom: 2px solid rgba(201, 169, 110, 0.30) !important;
}
.elementor-element-836ea12b .elementor-heading-title {
  color: #F8F6F1 !important;
  font-family: 'Playfair Display', serif !important;
}
.elementor-element-836ea12b p {
  color: rgba(248, 246, 241, 0.80) !important;
}

/* Fix header stars wrapping - reduce letter-spacing */
.elementor-element-9dab3c30 .elementor-element-9b343a70 p {
  white-space: nowrap !important;
  letter-spacing: 3px !important;
  font-size: 20px !important;
}

/* ===== PHASE 4: Premium Polish ===== */

/* --- Global Typography Hierarchy --- */

/* Playfair Display for all section headings */
.elementor-widget-heading .elementor-heading-title {
  font-family: 'Playfair Display', serif !important;
}
/* Specific heading overrides for key sections */
.elementor-element-b2c3d4e5 h2,
.elementor-element-e5f6a7b8 h2,
.elementor-element-a0e9a879 h2,
.elementor-element-584c8f74 h2,
.elementor-element-b2ccfbad h2 {
  font-family: 'Playfair Display', serif !important;
  font-size: clamp(28px, 3.5vw, 42px) !important;
  line-height: 1.2 !important;
}

/* Body copy: Lato */
.elementor-widget-text-editor p,
.elementor-widget-text-editor li {
  font-family: 'Lato', sans-serif !important;
  line-height: 1.75 !important;
}

/* Buttons: Montserrat */
.elementor-button {
  font-family: 'Montserrat', sans-serif !important;
  font-weight: 700 !important;
  letter-spacing: 0.8px !important;
  text-transform: uppercase !important;
  border-radius: 3px !important;
}

/* --- Sticky Header: drop shadow on scroll --- */
.wp-block-template-part .wp-block-group.alignfull.has-background:last-child,
.wp-block-template-part > .wp-block-group > .wp-block-group.alignfull:last-child {
  position: sticky !important;
  top: 0 !important;
  z-index: 999 !important;
  box-shadow: 0 2px 20px rgba(30, 58, 95, 0.12) !important;
  transition: box-shadow 0.3s ease !important;
}

/* --- Section Spacing Consistency --- */
/* Remove excessive gaps between sections */
.elementor-section {
  padding-top: clamp(48px, 6vw, 80px) !important;
  padding-bottom: clamp(48px, 6vw, 80px) !important;
}
/* But keep hero full-height */
.elementor-element-a1b2c3d4 {
  padding-top: 0 !important;
  padding-bottom: 0 !important;
}
/* Trust icons bar stays compact */
.elementor-element-217c4eaf {
  padding-top: 32px !important;
  padding-bottom: 32px !important;
}

/* --- Service Cards: hover lift + gold accent --- */
.elementor-element-f6a7b8c9 .elementor-widget-wrap {
  transition: transform 0.25s ease, box-shadow 0.25s ease !important;
  border-radius: 8px !important;
}
.elementor-element-f6a7b8c9 .elementor-column:hover .elementor-widget-wrap {
  transform: translateY(-6px) !important;
  box-shadow: 0 16px 40px rgba(30, 58, 95, 0.15) !important;
}

/* --- Process Steps: number accent color --- */
.elementor-element-226db0db .elementor-widget {
  transition: transform 0.2s ease !important;
}

/* --- CTA Buttons: primary brand colors --- */
a.elementor-button.elementor-button-link,
.elementor-button-wrapper .elementor-button {
  transition: all 0.25s ease !important;
}
a.elementor-button.elementor-button-link:hover,
.elementor-button-wrapper .elementor-button:hover {
  transform: translateY(-2px) !important;
  box-shadow: 0 8px 24px rgba(30, 58, 95, 0.25) !important;
}

/* --- Footer CTA (sage green bar at bottom) --- */
.elementor-element-b8c9d0e1 .elementor-heading-title {
  font-family: 'Playfair Display', serif !important;
  font-style: italic !important;
  color: #1E3A5F !important;
}
.elementor-element-b8c9d0e1 p {
  color: rgba(30, 58, 95, 0.80) !important;
}

/* --- Mobile Menu: dark overlay polish --- */
@media (max-width: 991px) {
  .wp-block-template-part .wp-block-navigation__responsive-container.is-menu-open {
    background: #1E3A5F !important;
    padding: 48px 32px !important;
  }
  .wp-block-template-part .wp-block-navigation-item__content {
    color: #F8F6F1 !important;
    font-size: 20px !important;
    padding: 12px 0 !important;
  }
  .wp-block-template-part .wp-block-navigation__responsive-container-close svg {
    fill: #F8F6F1 !important;
  }
  /* Stack CTA buttons vertically on mobile */
  .wp-block-template-part .wp-block-buttons {
    flex-direction: column !important;
    gap: 10px !important;
  }
  /* Reduce hero padding on mobile */
  .elementor-element-a1b2c3d4 {
    min-height: 85vh !important;
  }
  /* Reviews section: stack cards */
  .elementor-element-9dab3c30 .elementor-col-33 {
    width: 100% !important;
    margin-bottom: 16px !important;
  }
}

/* --- Top bar: slightly smaller on mobile --- */

/* ===== Card stars: prevent wrapping ===== */
.elementor-element-4dbbad34 > div > p:first-child,
.elementor-element-1d531fc1 > div > p:first-child,
.elementor-element-a7bb6943 > div > p:first-child {
  white-space: nowrap !important;
  letter-spacing: 3px !important;
}


/* ===== Footer gap: remove spacer + wrapper bottom padding ===== */
.wp-block-spacer {
  display: none !important;
}
.wp-block-group.has-global-padding.is-layout-constrained {
  padding-bottom: 0 !important;
}


/* ===== PHASE 1: Global Blue Palette Overrides ===== */

/* Top Bar — dark blue background — REPLACED BELOW */

/* Header white strip stays white */
.wp-block-template-part > .wp-block-group > .wp-block-group.alignfull:last-child {
  background-color: #FFFFFF !important;
  border-bottom: 2px solid rgba(74, 144, 226, 0.12) !important;
}

/* Navigation links — blue active / hover */
.wp-block-navigation a { color: #1E3A5F !important; font-weight: 600 !important; }
.wp-block-navigation a:hover { color: #4A90E2 !important; }
.wp-block-navigation .current-menu-item a { color: #4A90E2 !important; }

/* CTA Buttons — primary blue filled */
.wp-block-button__link {
  background-color: #1E3A5F !important;
  color: #FFFFFF !important;
  border-color: #1E3A5F !important;
}
.wp-block-button__link:hover {
  background-color: #4A90E2 !important;
  border-color: #4A90E2 !important;
}

/* Outline button variant */
.wp-block-button.is-style-outline .wp-block-button__link {
  background-color: transparent !important;
  color: #1E3A5F !important;
  border: 2px solid #1E3A5F !important;
}
.wp-block-button.is-style-outline .wp-block-button__link:hover {
  background-color: #1E3A5F !important;
  color: #FFFFFF !important;
}

/* Elementor buttons — blue palette */
.elementor-button {
  font-family: 'Montserrat', sans-serif !important;
  font-weight: 700 !important;
}
.elementor-button.elementor-button-link,
a.elementor-button { transition: all 0.25s ease !important; }

/* Links throughout page */
a { color: #4A90E2; }
a:hover { color: #1E3A5F; }

/* Stats strip gold top border stays, update bg if needed */
.elementor-element-c3d4e5f6 {
  border-top: 3px solid rgba(201,169,110,0.45) !important;
}

/* Reviews section — blue dark bg */
.elementor-element-9dab3c30 {
  background-color: #1E3A5F !important;
}

/* "Join Our Happy Clients" CTA gradient — blue */
.elementor-element-836ea12b {
  background: linear-gradient(160deg, #1E3A5F 0%, #2A4F7A 100%) !important;
  border-top: 2px solid rgba(201,169,110,0.30) !important;
  border-bottom: 2px solid rgba(201,169,110,0.30) !important;
}

/* "Why Families Choose Chelly" heading section */
.elementor-element-b2c3d4e5 { background-color: #1E3A5F !important; }

/* Footer dark blue */
.wp-block-template-part footer,
.elementor[data-elementor-type="footer"],
footer.wp-block-template-part { background-color: #1E3A5F !important; }

/* Sage green footer CTA → blue */
.elementor-element-b8c9d0e1 { background-color: #4A90E2 !important; }

/* Service card badges */
.elementor-widget-html [style*="background:#6BAF92"],
.elementor-widget-html [style*="background: #6BAF92"],
.elementor-widget-html [style*="background-color:#6BAF92"] {
  background: #4A90E2 !important;
}

/* Blue scrollbar accent for premium feel */
:root {
  --primary-blue: #4A90E2;
  --dark-blue: #1E3A5F;
  --medium-blue: #2E6DB4;
  --gold: #C9A96E;
  --cream: #F8F6F1;
}


/* ===== Header: corrected blue selectors ===== */

/* Dark-blue top bar — only the FIRST direct grandchild of the template part */
.wp-block-template-part > .wp-block-group > .wp-block-group:first-child {
  background-color: #1E3A5F !important;
}

/* White header row — direct second child */
.wp-block-template-part > .wp-block-group > .wp-block-group:nth-child(2),
.wp-block-template-part > .wp-block-group > .wp-block-group.alignfull.has-background {
  background-color: #FFFFFF !important;
  border-bottom: 2px solid rgba(74, 144, 226, 0.12) !important;
}

/* Inner logo/nav/buttons row — must stay transparent on white */
.wp-block-template-part > .wp-block-group > .wp-block-group.alignfull > .wp-block-group {
  background-color: transparent !important;
}

/* Override the has-global-padding wrapper itself — no blue bg */
.wp-block-template-part > .wp-block-group {
  background-color: transparent !important;
}

/* Nav links in header — blue on white */
.wp-block-navigation .wp-block-navigation-item__content {
  color: #1E3A5F !important;
  font-weight: 600 !important;
}
.wp-block-navigation .wp-block-navigation-item__content:hover {
  color: #4A90E2 !important;
}
.wp-block-navigation .current-menu-item .wp-block-navigation-item__content {
  color: #4A90E2 !important;
}

/* "BOOK ESTIMATE" button — dark blue filled */
.wp-block-template-part .wp-block-button__link {
  background-color: #1E3A5F !important;
  color: #FFFFFF !important;
  border-color: #1E3A5F !important;
}
.wp-block-template-part .wp-block-button__link:hover {
  background-color: #4A90E2 !important;
  border-color: #4A90E2 !important;
}

/* "TEXT US" outline button */
.wp-block-template-part .wp-block-button.is-style-outline .wp-block-button__link {
  background-color: transparent !important;
  color: #1E3A5F !important;
  border: 2px solid #1E3A5F !important;
}
.wp-block-template-part .wp-block-button.is-style-outline .wp-block-button__link:hover {
  background-color: #1E3A5F !important;
  color: #FFFFFF !important;
}


/* ============================================================
   PHASE 2: HEADER REDESIGN — TOP BAR + SYMMETRY + MOBILE MENU
   ============================================================ */

/* ── TOP BAR: dark navy background, white text, centered ─── */
.wp-block-template-part > .wp-block-group > .wp-block-group:first-child {
  background-color: #1E3A5F !important;
  padding-top: 8px !important;
  padding-bottom: 8px !important;
  min-height: 36px !important;
}
/* Override the inline style on the top bar block */
.wp-block-template-part > .wp-block-group > .wp-block-group.is-content-justification-center:first-child,
.wp-block-template-part > .wp-block-group > .wp-block-group.is-nowrap:first-child {
  background-color: #1E3A5F !important;
}
/* Top bar text & paragraphs */
.wp-block-template-part > .wp-block-group > .wp-block-group:first-child p,
.wp-block-template-part > .wp-block-group > .wp-block-group:first-child span,
.wp-block-template-part > .wp-block-group > .wp-block-group:first-child a {
  color: rgba(255,255,255,0.92) !important;
  font-size: 12.5px !important;
  font-weight: 400 !important;
  letter-spacing: 0.3px !important;
  text-decoration: none !important;
}
.wp-block-template-part > .wp-block-group > .wp-block-group:first-child a:hover {
  color: #C9A96E !important;
}
/* Direct paragraph in top bar (the text node) */
.wp-block-template-part > .wp-block-group > .wp-block-group:first-child > p,
.wp-block-template-part > .wp-block-group > .wp-block-group:first-child > div,
.wp-block-template-part > .wp-block-group > .wp-block-group:first-child > * {
  color: rgba(255,255,255,0.92) !important;
  font-size: 12.5px !important;
}

/* ── WHITE HEADER ROW: pristine white, sharp shadow ─────── */
.wp-block-template-part > .wp-block-group > .wp-block-group:nth-child(2) {
  background-color: #FFFFFF !important;
  border-bottom: 1px solid rgba(74, 144, 226, 0.15) !important;
  box-shadow: 0 2px 12px rgba(30, 58, 95, 0.08) !important;
  padding-top: 10px !important;
  padding-bottom: 10px !important;
}

/* ── LOGO: slightly larger, crisp ──────────────────────── */
.wp-block-template-part .wp-block-site-logo img,
.wp-block-template-part .custom-logo,
.wp-block-template-part img.wp-block-site-logo__img {
  height: 56px !important;
  width: auto !important;
}

/* ── NAV LINKS: premium spacing and weight ─────────────── */
.wp-block-template-part .wp-block-navigation {
  gap: 0 !important;
}
.wp-block-template-part .wp-block-navigation-item {
  padding: 0 2px !important;
}
.wp-block-template-part .wp-block-navigation-item__content {
  color: #1E3A5F !important;
  font-size: 12.5px !important;
  font-weight: 700 !important;
  letter-spacing: 1.2px !important;
  text-transform: uppercase !important;
  padding: 8px 12px !important;
  border-radius: 4px !important;
  transition: color 0.2s, background 0.2s !important;
}
.wp-block-template-part .wp-block-navigation-item__content:hover,
.wp-block-template-part .wp-block-navigation-item.current-menu-item .wp-block-navigation-item__content {
  color: #4A90E2 !important;
  background-color: rgba(74, 144, 226, 0.06) !important;
}

/* ── HEADER BUTTONS: refined styling ───────────────────── */
.wp-block-template-part .wp-block-buttons {
  gap: 10px !important;
  align-items: center !important;
}
/* "Text Us" outline button */
.wp-block-template-part .wp-block-button.is-style-outline .wp-block-button__link {
  background-color: transparent !important;
  color: #1E3A5F !important;
  border: 2px solid #1E3A5F !important;
  font-size: 11px !important;
  font-weight: 700 !important;
  letter-spacing: 0.8px !important;
  padding: 9px 16px !important;
  border-radius: 5px !important;
  transition: all 0.2s !important;
}
.wp-block-template-part .wp-block-button.is-style-outline .wp-block-button__link:hover {
  background-color: #1E3A5F !important;
  color: #FFFFFF !important;
}
/* "Book Estimate" filled button */
.wp-block-template-part .wp-block-button:not(.is-style-outline) .wp-block-button__link {
  background-color: #1E3A5F !important;
  color: #FFFFFF !important;
  border: 2px solid #1E3A5F !important;
  font-size: 11px !important;
  font-weight: 700 !important;
  letter-spacing: 0.8px !important;
  padding: 9px 16px !important;
  border-radius: 5px !important;
  transition: all 0.2s !important;
}
.wp-block-template-part .wp-block-button:not(.is-style-outline) .wp-block-button__link:hover {
  background-color: #4A90E2 !important;
  border-color: #4A90E2 !important;
}

/* ── MOBILE MENU: premium slide-in overlay ──────────────── */
@media (max-width: 781px) {
  /* Top bar: compact on mobile */
  .wp-block-template-part > .wp-block-group > .wp-block-group:first-child {
    padding: 6px 16px !important;
    text-align: center !important;
  }
  .wp-block-template-part > .wp-block-group > .wp-block-group:first-child p,
  .wp-block-template-part > .wp-block-group > .wp-block-group:first-child > * {
    font-size: 11px !important;
  }
  /* Mobile nav overlay */
  .wp-block-navigation__responsive-container.is-menu-open {
    background-color: #1E3A5F !important;
    padding: 20px !important;
  }
  .wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation-item__content {
    color: #FFFFFF !important;
    font-size: 18px !important;
    padding: 14px 20px !important;
    letter-spacing: 1.5px !important;
    border-bottom: 1px solid rgba(255,255,255,0.1) !important;
  }
  .wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation-item__content:hover {
    color: #C9A96E !important;
    background-color: rgba(255,255,255,0.08) !important;
  }
  /* Mobile menu toggle button */
  .wp-block-navigation__responsive-container-open {
    color: #1E3A5F !important;
  }
  .wp-block-navigation__responsive-container-open svg {
    fill: #1E3A5F !important;
    stroke: #1E3A5F !important;
  }
  /* Close button */
  .wp-block-navigation__responsive-container-close {
    color: #FFFFFF !important;
  }
  .wp-block-navigation__responsive-container-close svg {
    fill: #FFFFFF !important;
    stroke: #FFFFFF !important;
  }
  /* Hide CTA buttons in mobile header to save space */
  .wp-block-template-part .wp-block-buttons {
    display: none !important;
  }
}

/* ── Hero “BOOK YOUR FREE ESTIMATE” button ── */
.elementor-element-wgt_btn_book a.elementor-button,
.elementor-element-wgt_btn_book .elementor-button,
.elementor-element-wgt_btn_book a.elementor-button[style],
.elementor-element-wgt_btn_book .elementor-button[style] {
  background-color: #C9A84C !important;
  background-image: none !important;
  border-color: #C9A84C !important;
  color: #1E3A5F !important;
}
.elementor-element-wgt_btn_book a.elementor-button:hover,
.elementor-element-wgt_btn_book .elementor-button:hover {
  background-color: #B8933D !important;
  border-color: #B8933D !important;
}
/* Broader catch for any Elementor button with green background in hero */
.elementor-section .elementor-button[style*="background-color"],
.e-con .elementor-button[style*="background-color"] {
  background-color: #4A90E2 !important;
}


/* ============================================================
   PHASE 3: GLOBAL GREEN REMNANTS FIX
   ============================================================ */

/* ── Service card CTA buttons: override inline green gradient ── */
[data-id="66b12536"] a,
[data-id="26c91639"] a {
  background: linear-gradient(135deg, #4A90E2, #1E3A5F) !important;
  background-image: linear-gradient(135deg, #4A90E2, #1E3A5F) !important;
  color: #FFFFFF !important;
  box-shadow: 0 4px 16px rgba(74, 144, 226, 0.35) !important;
  transition: all 0.25s !important;
}
[data-id="66b12536"] a:hover,
[data-id="26c91639"] a:hover {
  background: linear-gradient(135deg, #1E3A5F, #4A90E2) !important;
  background-image: linear-gradient(135deg, #1E3A5F, #4A90E2) !important;
  transform: translateY(-2px) !important;
  box-shadow: 0 8px 24px rgba(74, 144, 226, 0.45) !important;
}

/* ── Service card container: border green → blue ── */
[data-id="66b12536"] .elementor-widget-container > div,
[data-id="06bba651"] .elementor-widget-container > div,
[data-id="26c91639"] .elementor-widget-container > div {
  border-color: rgba(74, 144, 226, 0.20) !important;
}
/* Also target the inner card div that holds border inline style */
[data-id="f3be8e2d"] .elementor-widget-container > div > div,
[data-id="84df845f"] .elementor-widget-container > div > div,
[data-id="ce04b768"] .elementor-widget-container > div > div {
  border-color: rgba(74, 144, 226, 0.20) !important;
}

/* ── "Schedule My First Clean" CTA button ── */
.elementor-element-ff4b5a46 .elementor-button,
.elementor-element-ff4b5a46 a.elementor-button {
  background-color: #C9A84C !important;
  background-image: none !important;
  border-color: #C9A84C !important;
}
.elementor-element-ff4b5a46 .elementor-button:hover,
.elementor-element-ff4b5a46 a.elementor-button:hover {
  background-color: #B8933D !important;
  border-color: #B8933D !important;
}

/* ── Footer "Book Your Free Estimate" button ── */
.elementor-element-wgt_sbtn a.elementor-button,
.elementor-element-wgt_sbtn .elementor-button {
  background-color: #C9A84C !important;
  background-image: none !important;
  border-color: #C9A84C !important;
  color: #1E3A5F !important;
}
.elementor-element-wgt_sbtn a.elementor-button:hover,
.elementor-element-wgt_sbtn .elementor-button:hover {
  background-color: #B8933D !important;
  border-color: #B8933D !important;
}

/* ── "How It Works" step 3 icon: teal → blue ── */
[data-id="4397fd18"] .elementor-icon i,
[data-id="4397fd18"] .elementor-icon svg,
[data-id="4397fd18"] .elementor-icon {
  color: #4A90E2 !important;
  background-color: #4A90E2 !important;
  border-color: #4A90E2 !important;
}

/* ── Fix any residual green/teal on checkmarks and dividers ── */
[data-id="66b12536"] .elementor-widget-container *[style*="#4A8C70"],
[data-id="66b12536"] .elementor-widget-container *[style*="#6BAF92"],
[data-id="66b12536"] .elementor-widget-container *[style*="#2C7A5E"] {
  color: #4A90E2 !important;
}

/* ============================================================
   PHASE 4: SERVICES SECTION OVERHAUL — PREMIUM CHECKLIST STYLE
   ============================================================ */

/* ── Services section heading area ── */
[data-id="f6a7b8c9"] {
  background-color: #F8F6F1 !important;
}

/* ── Service card container: full-height, premium white card ── */
[data-id="66b12536"] .elementor-widget-container > div,
[data-id="06bba651"] .elementor-widget-container > div,
[data-id="26c91639"] .elementor-widget-container > div {
  border-radius: 16px !important;
  box-shadow: 0 6px 32px rgba(30, 58, 95, 0.10) !important;
  transition: transform 0.25s, box-shadow 0.25s !important;
  overflow: hidden !important;
}
[data-id="66b12536"] .elementor-widget-container > div:hover,
[data-id="26c91639"] .elementor-widget-container > div:hover {
  transform: translateY(-4px) !important;
  box-shadow: 0 16px 48px rgba(74, 144, 226, 0.18) !important;
}

/* ── "CLEANING SERVICE" label → blue ── */
[data-id="66b12536"] .elementor-widget-container p[style*="letter-spacing"],
[data-id="06bba651"] .elementor-widget-container p[style*="letter-spacing"],
[data-id="26c91639"] .elementor-widget-container p[style*="letter-spacing"] {
  color: #4A90E2 !important;
}

/* Specifically target the teal/green CLEANING SERVICE label text */
[data-id="f3be8e2d"] p[style*="color:#4A8C70"],
[data-id="84df845f"] p[style*="color:#4A8C70"],
[data-id="ce04b768"] p[style*="color:#4A8C70"],
[data-id="f3be8e2d"] p[style*="color: #4A8C70"],
[data-id="84df845f"] p[style*="color: #4A8C70"],
[data-id="ce04b768"] p[style*="color: #4A8C70"] {
  color: #4A90E2 !important;
}

/* ── Card title divider ── */
[data-id="66b12536"] hr,
[data-id="06bba651"] hr,
[data-id="26c91639"] hr {
  border-color: rgba(201, 169, 110, 0.50) !important;
  background-color: rgba(201, 169, 110, 0.50) !important;
}

/* ── Checklist checkmarks: teal → blue ── */
[data-id="66b12536"] p[style*="color"],
[data-id="26c91639"] p[style*="color"] {
  color: #1E3A5F !important;
}
/* The ✓ checkmark color */
[data-id="66b12536"] p span[style],
[data-id="26c91639"] p span[style] {
  color: #4A90E2 !important;
}

/* ── Featured Deep Clean card: gold border highlight ── */
[data-id="06bba651"] .elementor-widget-container > div {
  border: 2px solid #C9A96E !important;
  box-shadow: 0 8px 40px rgba(201, 169, 110, 0.25) !important;
}
[data-id="06bba651"] .elementor-widget-container > div:hover {
  transform: translateY(-4px) !important;
  box-shadow: 0 16px 48px rgba(201, 169, 110, 0.35) !important;
}

/* ── Standard + Moving card: blue accent border ── */
[data-id="f3be8e2d"],
[data-id="ce04b768"] {
  border-top: 3px solid #4A90E2 !important;
}

/* ── Move-in badge: blue → keep teal accent or swap ── */
[data-id="26c91639"] span[style*="background"],
[data-id="ce04b768"] span[style*="background:#3D9B8C"],
[data-id="ce04b768"] span[style*="background: #3D9B8C"] {
  background: #4A90E2 !important;
  background-color: #4A90E2 !important;
}

/* ── Services section tab/badge labels (★ Most Popular, ✦ First-Visit) ── */
[data-id="f3be8e2d"] span[style*="background:#4A90E2"],
[data-id="f3be8e2d"] span[style*="background: #4A90E2"] {
  background: #1E3A5F !important;
}


/* ============================================================
   SERVICE CARD INLINE STYLE OVERRIDES (attribute selectors)
   ============================================================ */

/* ✓ Checkmarks: green → blue */
[data-id="66b12536"] span[style*="color:#6BAF92"],
[data-id="06bba651"] span[style*="color:#6BAF92"],
[data-id="26c91639"] span[style*="color:#6BAF92"] {
  color: #4A90E2 !important;
}

/* "CLEANING SERVICE" label: green → blue */
[data-id="66b12536"] p[style*="color:#6BAF92"],
[data-id="06bba651"] p[style*="color:#6BAF92"],
[data-id="26c91639"] p[style*="color:#6BAF92"] {
  color: #4A90E2 !important;
}

/* Badge pill (★ Most Popular, Move-In/Out): green bg → dark blue */
[data-id="66b12536"] div[style*="background:#6BAF92"],
[data-id="06bba651"] div[style*="background:#6BAF92"],
[data-id="26c91639"] div[style*="background:#6BAF92"] {
  background: #1E3A5F !important;
  background-color: #1E3A5F !important;
}

/* Title divider: green-gold → blue-gold gradient */
[data-id="66b12536"] div[style*="linear-gradient(90deg,#6BAF92"],
[data-id="06bba651"] div[style*="linear-gradient(90deg,#6BAF92"],
[data-id="26c91639"] div[style*="linear-gradient(90deg,#6BAF92"] {
  background: linear-gradient(90deg, #4A90E2, #C9A96E) !important;
  background-image: linear-gradient(90deg, #4A90E2, #C9A96E) !important;
}

/* Card container border: dark-green → blue */
[data-id="66b12536"] div[style*="rgba(44,62,53"],
[data-id="06bba651"] div[style*="rgba(44,62,53"],
[data-id="26c91639"] div[style*="rgba(44,62,53"] {
  border-color: rgba(74, 144, 226, 0.22) !important;
}

/* ===== FOOTER BOOK BUTTON: inline green → blue ===== */
footer.wp-block-template-part a[style*="background:linear-gradient(135deg,#6BAF92"],
footer.wp-block-template-part a[style*="background: linear-gradient(135deg,#6BAF92"],
footer.wp-block-template-part a[style*="background:linear-gradient(135deg, #6BAF92"] {
  background: linear-gradient(135deg, #4A90E2, #1E3A5F) !important;
  background-image: linear-gradient(135deg, #4A90E2, #1E3A5F) !important;
  box-shadow: 0 4px 20px rgba(74, 144, 226, 0.4) !important;
}

/* ============================================================
   FINAL PASS: Remaining inline green (#6BAF92) → blue/gold
   ============================================================ */

/* Catch-all: any remaining inline color:#6BAF92 → blue */
[style*="color:#6BAF92"] { color: #4A90E2 !important; }

/* Catch-all: any remaining inline background:#6BAF92 → blue */
[style*="background:#6BAF92"] {
  background: #4A90E2 !important;
  background-color: #4A90E2 !important;
}
[style*="background: #6BAF92"] {
  background: #4A90E2 !important;
  background-color: #4A90E2 !important;
}

/* SERVICES & PRICING eyebrow label → gold (matches Reviews section style) */
[data-id="47824815"] p[style*="color:#6BAF92"] { color: #C9A96E !important; }

/* Eyebrow label decoration lines inherit gold */
[data-id="47824815"] p[style*="color:#6BAF92"]::before,
[data-id="47824815"] p[style*="color:#6BAF92"]::after { 
  background-color: #C9A96E !important; 
  border-color: #C9A96E !important;
}


/* Step 3 icon circle: #3D9B8C teal → blue */
[data-id="4b52ff29"] [style*="background:#3D9B8C"] {
  background: #4A90E2 !important;
  background-color: #4A90E2 !important;
}
[data-id="4b52ff29"] [style*="color:#3D9B8C"] {
  color: #4A90E2 !important;
}

/* Catch-all for any other teal variants */
[style*="color:#3D9B8C"] { color: #4A90E2 !important; }
[style*="background:#3D9B8C"] {
  background: #4A90E2 !important;
  background-color: #4A90E2 !important;
}


/* ============================================================
   FINAL PASS 2: Area pills (rgba green) + Header logo center
   ============================================================ */

/* Service area pills: rgba(107,175,146,...) → blue tint */
[style*="background:rgba(107,175,146"] {
  background: rgba(74, 144, 226, 0.15) !important;
  background-color: rgba(74, 144, 226, 0.15) !important;
}
[style*="border:1px solid rgba(107,175,146"] {
  border-color: rgba(74, 144, 226, 0.35) !important;
}
[style*="border: 1px solid rgba(107,175,146"] {
  border-color: rgba(74, 144, 226, 0.35) !important;
}

/* ── Header: center logo ──────────────────────────────────── */
/* Make the flex row position:relative so absolute works */
.wp-block-template-part > .wp-block-group > .wp-block-group:nth-child(2) .is-content-justification-space-between {
  position: relative !important;
}
/* Logo column (first child, no justification class): absolute center */
.wp-block-template-part > .wp-block-group > .wp-block-group:nth-child(2) .is-content-justification-space-between > .wp-block-group:first-child {
  position: absolute !important;
  left: 50% !important;
  transform: translateX(-50%) !important;
  z-index: 5 !important;
  width: auto !important;
  pointer-events: auto !important;
}


/* ============================================================
   Green section backgrounds → dark navy
   ============================================================ */

/* Trust badges section (5-Star Rated, 100% Insured…) */
.elementor-element-217c4eaf {
  background-color: #1E3A5F !important;
}

/* "Book Your Free Estimate" / Cal.com CTA section */
.elementor-element-a7b8c9d0 {
  background-color: #1E3A5F !important;
}


/* Book an Estimate page: trust badges section */
.elementor-element-bp_trust { background-color: #1E3A5F !important; }

/* Services & Pricing page: hero section */
.elementor-element-sv5e6f7a { background-color: #1E3A5F !important; }

/* Contact Us page: hero section + CTA button */
.elementor-element-c040 { background-color: #1E3A5F !important; }
.elementor-element-c015 .elementor-button {
  background-color: #4A90E2 !important;
  border-color: #4A90E2 !important;
}

/* Contact Us page: "Get in Touch" hero section */
.elementor-element-c001 { background-color: #1E3A5F !important; }

/* Catch-all: dark forest green rgb(44,62,53) Elementor backgrounds */
/* Also catch the slightly lighter variant rgb(26,43,36) */
[style*="background-color:rgb(44, 62, 53)"] { background-color: #1E3A5F !important; }
[style*="background-color:rgb(26, 43, 36)"] { background-color: #1E3A5F !important; }

/* About Chelly page: dark green hero sections */
.elementor-element-ab3d4e5f { background-color: #1E3A5F !important; }
.elementor-element-ab4e5f6a { background-color: #1E3A5F !important; }

/* About Chelly page: teal CTA section */
.elementor-element-ab5f6a7b { background-color: #1E3A5F !important; }

/* About Chelly page: teal CTA button */
.elementor-element-wgt_ab_cta .elementor-button {
  background-color: #4A90E2 !important;
  border-color: #4A90E2 !important;
}

/* Testimonials/Reviews page */
.elementor-element-tm1a2b3c { background-color: #1E3A5F !important; }
.elementor-element-tm5e6f7a { background-color: #1E3A5F !important; }

/* ============================================
   GLOBAL: Dark forest green text (#2C3E35)
   → override to navy #1E3A5F on all pages
   ============================================ */

/* Homepage: icon-box feature cards */
.elementor-element-wgt_f4 .elementor-icon-box-title,
.elementor-element-wgt_f4 .elementor-icon-box-title span,
.elementor-element-wgt_f5 .elementor-icon-box-title,
.elementor-element-wgt_f5 .elementor-icon-box-title span,
.elementor-element-wgt_f6 .elementor-icon-box-title,
.elementor-element-wgt_f6 .elementor-icon-box-title span { color: #1E3A5F !important; }

/* Homepage: process step headings */
.elementor-element-33fed0e5 h3,
.elementor-element-33fed0e5 h3 span,
.elementor-element-9bcf2cec h3,
.elementor-element-9bcf2cec h3 span,
.elementor-element-4b52ff29 h3,
.elementor-element-4b52ff29 h3 span,
.elementor-element-79366d8d h3,
.elementor-element-79366d8d h3 span,
.elementor-element-95ea0906 h3,
.elementor-element-95ea0906 h3 span { color: #1E3A5F !important; }

/* Homepage: CTA widget heading */
.elementor-element-wgt_cta_b1 .elementor-heading-title,
.elementor-element-wgt_cta_b1 .elementor-heading-title span { color: #1E3A5F !important; }

/* Global catch-all: ANY Elementor heading or icon-box with dark forest green */
.elementor-element-d4e5f6a7 .elementor-heading-title,
.elementor-element-d4e5f6a7 .elementor-icon-box-title,
.elementor-element-d4e5f6a7 h2, .elementor-element-d4e5f6a7 h3 { color: #1E3A5F !important; }
.elementor-element-226db0db .elementor-heading-title,
.elementor-element-226db0db h2, .elementor-element-226db0db h3 { color: #1E3A5F !important; }
.elementor-element-584c8f74 .elementor-heading-title,
.elementor-element-584c8f74 h2, .elementor-element-584c8f74 h3 { color: #1E3A5F !important; }
.elementor-element-b2ccfbad .elementor-heading-title,
.elementor-element-b2ccfbad h2, .elementor-element-b2ccfbad h3 { color: #1E3A5F !important; }
.elementor-element-b8c9d0e1 .elementor-heading-title,
.elementor-element-b8c9d0e1 h2, .elementor-element-b8c9d0e1 h3 { color: #1E3A5F !important; }

/* Catch-all: dark forest green inline text color #2C3E35 → navy */
[style*="color:#2C3E35"] { color: #1E3A5F !important; }

/* Area pills & service area spans: dark green text → navy */
.elementor-element-95ea0906 span { color: #1E3A5F !important; }

/* Also catch slight color variants used inline */
[style*="color: #2C3E35"] { color: #1E3A5F !important; }

/* Homepage: "Text Us" CTA button text + border green → navy */
.elementor-element-wgt_cta_b1 .elementor-button {
  color: #1E3A5F !important;
  border-color: #1E3A5F !important;
}

/* Services page: hero section */
.elementor-element-sv1a2b3c { background-color: #1E3A5F !important; }

/* Services page: "Text Us" CTA button */
.elementor-element-wgt_svc_cb .elementor-button {
  color: #1E3A5F !important;
  border-color: #1E3A5F !important;
}

/* Global catch-all: lime green #3CB829 borders (pricing card highlight) → gold */
[style*="solid #3CB829"] { border-color: #C9A96E !important; }
[style*="border:2px solid #3CB829"] { border-color: #C9A96E !important; }

/* Global catch-all: dark green background hex #2C3E35 (inline) */
[style*="background:#2C3E35"] { background-color: #1E3A5F !important; }
[style*="background-color:#2C3E35"] { background-color: #1E3A5F !important; }

/* Services page: Deep Clean column inner wrap has dark green bg */


/* Broader catch-all: any widget-wrap with dark forest green bg in pricing section */
.elementor-element-sv3c4d5e .elementor-widget-wrap {
  background-color: transparent !important;
}

/* ============================================================
   BATCH FIX: All remaining green across all pages
   ============================================================ */

/* --- About Chelly --- */
.elementor-element-wgt_ac_b .elementor-button { color: #1E3A5F !important; border-color: #1E3A5F !important; }
.elementor-element-ab5f6a7b { background: #1E3A5F !important; background-color: #1E3A5F !important; }
.elementor-element-col_ab_cta > .elementor-widget-wrap { background: transparent !important; background-color: transparent !important; }

/* --- Testimonials/Reviews --- */
.elementor-element-wgt_gbp_btn .elementor-button { color: #1E3A5F !important; border-color: #1E3A5F !important; }
.elementor-element-tm5e6f7a { background: #1E3A5F !important; background-color: #1E3A5F !important; }
.elementor-element-col_gbp > .elementor-widget-wrap { background: transparent !important; background-color: transparent !important; }

/* --- Contact Us --- */
.elementor-element-c044 .elementor-button,
.elementor-element-c044 .elementor-heading-title,
.elementor-element-c044 h2, .elementor-element-c044 h3,
.elementor-element-c044 p { color: #1E3A5F !important; border-color: #1E3A5F !important; }
.elementor-element-c045 .elementor-button,
.elementor-element-c045 .elementor-heading-title,
.elementor-element-c045 h2, .elementor-element-c045 h3 { color: #1E3A5F !important; border-color: #1E3A5F !important; }
.elementor-element-c040 { background: #1E3A5F !important; background-color: #1E3A5F !important; }
.elementor-element-c041 > .elementor-widget-wrap { background: transparent !important; background-color: transparent !important; }

/* --- Book an Estimate --- */
.elementor-element-bp_ben .elementor-heading-title,
.elementor-element-bp_ben h2, .elementor-element-bp_ben h3,
.elementor-element-bp_ben .elementor-icon-box-title { color: #1E3A5F !important; }
.elementor-element-bp_booking { background: #1E3A5F !important; background-color: #1E3A5F !important; }
.elementor-element-bp_left_col > .elementor-widget-wrap { background: transparent !important; background-color: transparent !important; }

/* --- Global: any column widget-wrap with dark forest green --- */
.elementor-widget-wrap[style*="background:rgb(44"] { background: transparent !important; background-color: transparent !important; }
.elementor-widget-wrap[style*="background-color:rgb(44"] { background: transparent !important; background-color: transparent !important; }

/* Catch-all: darkest forest green #1A2B24 inline text → navy */
[style*="color:#1A2B24"] { color: #1E3A5F !important; }
[style*="color: #1A2B24"] { color: #1E3A5F !important; }

/* Catch-all: #1A2B24 background → blue */
[style*="background:#1A2B24"] { background-color: #4A90E2 !important; background: #4A90E2 !important; }
[style*="background: #1A2B24"] { background-color: #4A90E2 !important; background: #4A90E2 !important; }

/* Also catch any remaining dark variants as backgrounds */
[style*="background:#2C3E35"] { background-color: #1E3A5F !important; background: #1E3A5F !important; }
[style*="background:#1B2F25"] { background-color: #1E3A5F !important; background: #1E3A5F !important; }

/* ============================================================
   HOUSE CLEANING BY CHELLY — PREMIUM REDESIGN v2.0
   Phases 1–4: Readability, Blue Scheme, Header, Typography
   ============================================================ */

/* --- GLOBAL FONT SMOOTHING --- */
*, *::before, *::after {
    -webkit-font-smoothing: antialiased;
    -moz-osx-font-smoothing: grayscale;
    box-sizing: border-box;
}

/* --- PHASE 1: HERO READABILITY --- */

/* Hero overlay: lighten from ~0.78 to 0.62 using a gradient */
.elementor-section.hero-section .elementor-background-overlay,
section.hero-section .elementor-background-overlay {
    background: linear-gradient(135deg, rgba(13,40,68,0.82) 0%, rgba(26,74,122,0.52) 100%) !important;
    opacity: 1 !important;
}

/* Hero headline text — larger, sharper */
.elementor-location-archive .elementor-heading-title,
section .elementor-heading-title {
    text-rendering: optimizeLegibility;
}

/* Hero subtext — bigger, better line height */
.elementor-widget-text-editor p {
    line-height: 1.78;
    color: #2E3A4E;
}

/* Trust bar below hero — readable text on dark navy */
.elementor-icon-box-title,
.elementor-icon-box-description {
    color: #ffffff !important;
}

/* --- PHASE 4: BLUE COLOR SCHEME (#4A90E2 primary, #1E3A5F dark navy) --- */

/* Primary buttons → blue */
.elementor-button-wrapper .elementor-button,
.elementor-button {
    transition: background-color 0.25s ease, border-color 0.25s ease, color 0.25s ease, transform 0.15s ease;
}
.elementor-button-wrapper .elementor-button:hover {
    transform: translateY(-1px);
    box-shadow: 0 6px 20px rgba(74,144,226,0.35) !important;
}

/* Replace lingering greens with blue */
a {
    color: #4A90E2;
    transition: color 0.2s ease;
}
a:hover {
    color: #1E3A5F;
}

/* Accent divider lines */
.elementor-divider-separator {
    border-color: #4A90E2 !important;
}

/* Section eyebrow labels */
.elementor-widget-heading .elementor-heading-title {
    text-rendering: optimizeLegibility;
}

/* --- HEADER SYMMETRY & STYLING --- */
.elementor-location-header {
    background: #ffffff !important;
    box-shadow: 0 2px 16px rgba(30,58,95,0.08) !important;
    transition: box-shadow 0.3s ease;
}

/* Nav menu links */
.elementor-location-header .elementor-nav-menu > li > a,
.elementor-location-header nav a {
    color: #1E3A5F !important;
    font-weight: 600 !important;
    font-size: 13.5px !important;
    letter-spacing: 0.5px !important;
    text-transform: uppercase !important;
    transition: color 0.2s ease !important;
}
.elementor-location-header .elementor-nav-menu > li > a:hover,
.elementor-location-header .elementor-nav-menu > .current-menu-item > a {
    color: #4A90E2 !important;
}

/* Logo centered & sized */
.elementor-location-header .elementor-image img,
.elementor-location-header img.site-logo {
    max-height: 72px !important;
    width: auto !important;
    display: block;
    margin: 0 auto;
}

/* Header CTA buttons */
.elementor-location-header .elementor-button[href*="text"],
.elementor-location-header .elementor-element a.elementor-button {
    font-size: 13px !important;
    font-weight: 700 !important;
    letter-spacing: 0.3px !important;
    border-radius: 6px !important;
    padding: 9px 18px !important;
}

/* --- SECTION BACKGROUNDS — keep navy consistent --- */
.elementor-section[data-settings*="1E3A5F"],
.e-con[style*="1E3A5F"] {
    background-color: #1E3A5F !important;
}

/* --- CARDS & TESTIMONIALS — white on navy pops --- */
.elementor-widget-testimonial .elementor-testimonial-wrapper,
.elementor-testimonial-content {
    background: #ffffff;
    border-radius: 12px;
    box-shadow: 0 4px 24px rgba(30,58,95,0.10);
    padding: 24px 28px;
}

/* --- SERVICE CARDS checklist items --- */
.elementor-icon-list-text {
    color: #2E3A4E !important;
    font-size: 15px !important;
    line-height: 1.6 !important;
}
.elementor-icon-list-icon svg,
.elementor-icon-list-icon i {
    color: #4A90E2 !important;
    fill: #4A90E2 !important;
}

/* --- HERO BOTTOM TRUST STRIP (★★★★★ 5-Star, Background-Checked, Eco) --- */
.hero-trust-strip p {
    font-size: 13.5px !important;
    font-weight: 600 !important;
    letter-spacing: 0.3px !important;
    color: #ffffff !important;
}

/* --- TYPOGRAPHY HIERARCHY --- */
h1.elementor-heading-title {
    font-weight: 800 !important;
    letter-spacing: -0.5px !important;
    line-height: 1.12 !important;
}
h2.elementor-heading-title {
    font-weight: 700 !important;
    line-height: 1.18 !important;
    letter-spacing: -0.2px !important;
}
h3.elementor-heading-title {
    font-weight: 600 !important;
    line-height: 1.3 !important;
}

/* Hero H1 text shadow for extra legibility over photo */
.elementor-location-archive h1,
section.elementor-section h1.elementor-heading-title {
    text-shadow: 0 2px 14px rgba(0,0,0,0.45) !important;
}

/* Subheadline in hero — text shadow */
.elementor-widget-text-editor p[style*="color: #ffffff"],
.elementor-widget-text-editor p[style*="color:#ffffff"],
.elementor-widget-text-editor .elementor-clearfix p {
    text-shadow: 0 1px 8px rgba(0,0,0,0.38) !important;
}

/* --- SECTION SPACING — breathe --- */
.elementor-section {
    scroll-margin-top: 80px;
}

/* --- FOOTER LINKS — blue instead of green --- */
.elementor-location-footer a {
    color: #4A90E2 !important;
}
.elementor-location-footer a:hover {
    color: #ffffff !important;
}

/* --- MOBILE RESPONSIVENESS --- */
@media (max-width: 768px) {
    h1.elementor-heading-title {
        font-size: clamp(32px, 8vw, 52px) !important;
        line-height: 1.15 !important;
    }
    h2.elementor-heading-title {
        font-size: clamp(26px, 6vw, 38px) !important;
    }
    .elementor-button {
        font-size: 14px !important;
        padding: 12px 20px !important;
    }
}

/* --- REVIEWS PAGE HERO (for /reviews/ page) --- */
.page-id-reviews .elementor-section:first-child,
body.page-reviews .elementor-section:first-child {
    background: linear-gradient(135deg, #0D2844 0%, #1E3A5F 100%) !important;
    min-height: 220px !important;
}

/* --- GOOGLE REVIEWS / TRUSTINDEX BADGE STYLING --- */
.ti-widget,
.ti-stars-container,
[class*="trustindex"] {
    border-radius: 12px !important;
}
.ti-widget .ti-card {
    border-radius: 10px !important;
    box-shadow: 0 4px 20px rgba(0,0,0,0.07) !important;
    border: 1px solid rgba(74,144,226,0.12) !important;
}

/* ============================================================ END ============================================================ */


/* ── Services page: Deep Clean card dark background ── */



/* ============================================================
   CHELLY MASTER FIX BLOCK v2 — All priority fixes
   ============================================================ */

/* ── FIX 1: About page — white text invisible on cream/white bg ── */
.elementor-element-wgt_ab_tag .elementor-text-editor,
.elementor-element-wgt_ab_tag p,
.elementor-element-wgt_ab_intro .elementor-text-editor,
.elementor-element-wgt_ab_intro p,
.elementor-element-wgt_story_txt .elementor-text-editor,
.elementor-element-wgt_story_txt p {
  color: #2d2d2d !important;
}

/* FIX 1b removed — value card text already dark via inline style */

/* ── FIX 3: Footer social icon circles — proper brand styles ── */
.wp-social-link {
  width: 42px !important;
  height: 42px !important;
  border-radius: 50% !important;
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
}
.wp-block-social-link-label {
  display: none !important;
}
.wp-social-link svg {
  width: 20px !important;
  height: 20px !important;
  fill: #ffffff !important;
}
.wp-social-link-facebook { background-color: #1877F2 !important; }
.wp-social-link-instagram { background: linear-gradient(45deg,#f09433 0%,#e6683c 25%,#dc2743 50%,#cc2366 75%,#bc1888 100%) !important; }
.wp-social-link-pinterest { background-color: #E60023 !important; }
.wp-social-link-tiktok { background-color: #010101 !important; }
.wp-social-link-youtube { background-color: #FF0000 !important; }
.wp-social-link:hover { opacity: 0.85 !important; }

/* ── FIX 4/5: Hero CTA — gold primary, white secondary ── */
.elementor-element-wgt_hero_book .elementor-button,
.elementor-element-wgt_hero_book a {
  background-color: #C9A84C !important;
  color: #1E3A5F !important;
  border-color: #C9A84C !important;
  font-weight: 700 !important;
  letter-spacing: 0.08em !important;
}
.elementor-element-wgt_hero_book .elementor-button:hover {
  background-color: #b8933d !important;
}
.elementor-element-wgt_hero_text .elementor-button,
.elementor-element-wgt_hero_text a.elementor-button {
  background-color: transparent !important;
  color: #ffffff !important;
  border: 2px solid rgba(255,255,255,0.8) !important;
}
.elementor-element-wgt_hero_text .elementor-button:hover {
  background-color: rgba(255,255,255,0.12) !important;
}

/* ── FIX 4: All booking/schedule CTA buttons → gold ── */
.elementor-element-wgt_sbtn .elementor-button,
.elementor-element-wgt_cta_btn .elementor-button {
  background-color: #C9A84C !important;
  color: #1E3A5F !important;
  border-color: #C9A84C !important;
  font-weight: 700 !important;
}
.elementor-element-wgt_sbtn .elementor-button:hover,
.elementor-element-wgt_cta_btn .elementor-button:hover {
  background-color: #b8933d !important;
  border-color: #b8933d !important;
}

/* ── FIX 6: Background rhythm — light section tint ── */
.elementor-element-sec_why {
  background-color: #F8F6F1 !important;
}

/* ── FIX 7: Deep Clean card (redundant safeguard) ── */



/* ── FIX 1 HIGH-SPECIFICITY: About page text — override column-wide white rule ── */
.elementor-element.elementor-element-wgt_ab_intro .elementor-widget-wrap .elementor-widget-text-editor p,
.elementor-element.elementor-element-wgt_story_txt .elementor-widget-wrap .elementor-widget-text-editor p {
  color: #333333 !important;
}
/* Tag line gets a muted teal accent */
.elementor-element.elementor-element-wgt_ab_tag .elementor-widget-wrap .elementor-widget-text-editor p {
  color: #5a8a78 !important;
  text-transform: uppercase;
  letter-spacing: 0.15em;
  font-size: 0.8rem;
}
/* Also fix .wgt_story_txt directly */
#elementor-17 .elementor-element-wgt_story_txt p,
#elementor-17 .elementor-element-wgt_ab_intro p {
  color: #333333 !important;
}

/* ── Services page hero: white text on navy background ── */
.elementor-element-wgt_sv_badge .elementor-heading-title,
.elementor-element-wgt_sv_badge p {
  color: rgba(255,255,255,0.75) !important;
}
.elementor-element-wgt_sv_h1 .elementor-heading-title {
  color: #FFFFFF !important;
}
.elementor-element-wgt_sv_sub .elementor-heading-title {
  color: rgba(255,255,255,0.85) !important;
}
/* ── Deep Clean card: white text on dark green background (col_pc2) ── */

/* ── Services page CTA section: white text on navy ── */
.elementor-element-wgt_svc_ch .elementor-heading-title {
  color: #FFFFFF !important;
}
.elementor-element-wgt_svc_cs .elementor-heading-title,
.elementor-element-wgt_svc_cs .elementor-widget-text-editor p {
  color: rgba(255,255,255,0.85) !important;
}

/* ── Contact page hero (c001) and CTA (c040): white text on navy ── */
.elementor-element-c003 .elementor-heading-title,
.elementor-element-c003 p {
  color: rgba(255,255,255,0.75) !important;
}
.elementor-element-c004 .elementor-heading-title {
  color: #FFFFFF !important;
}
.elementor-element-c005 .elementor-heading-title,
.elementor-element-c005 .elementor-widget-text-editor p {
  color: rgba(255,255,255,0.85) !important;
}
.elementor-element-c042 .elementor-heading-title {
  color: #FFFFFF !important;
}
.elementor-element-c043 .elementor-heading-title,
.elementor-element-c043 p {
  color: rgba(255,255,255,0.85) !important;
}

/* ── Mobile nav: center logo + hamburger on right ── */
@media (max-width: 768px) {
  /* Give the nav row a positioning context and proper height */
  header .is-content-justification-space-between.is-layout-flex {
    position: relative !important;
    min-height: 60px !important;
    align-items: center !important;
  }

  /* Logo: absolutely centered in the nav bar */
  header .is-content-justification-space-between > .wp-block-group:not([class*="is-content-justification"]) {
    position: absolute !important;
    left: 50% !important;
    transform: translateX(-50%) !important;
    z-index: 0 !important;
  }

  /* Nav col: expand + align hamburger to RIGHT so it doesn't overlap logo */
  header .is-content-justification-space-between > .wp-block-group.is-content-justification-center {
    flex-grow: 1 !important;
    justify-content: flex-end !important;
    z-index: 1 !important;
    position: relative !important;
  }

  /* CTA buttons col: hide on mobile */
  header .is-content-justification-space-between > .wp-block-group.is-content-justification-right {
    display: none !important;
  }

  /* Hamburger button: ensure visible and tappable */
  header .wp-block-navigation__responsive-container-open {
    z-index: 2 !important;
    position: relative !important;
    color: var(--chelly-navy, #1E3A5F) !important;
  }
}

/* ── Logo image: center within its container (was left-aligned at 0% 50%) ── */
.wp-block-site-title a {
  background-position: center center !important;
}

/* ── Desktop nav: logo LEFT aligned (clean nav) ── */
@media (min-width: 769px) {
  .wp-block-template-part > .wp-block-group > .wp-block-group:nth-child(2) .is-content-justification-space-between > .wp-block-group:first-child {
    position: static !important;
    left: auto !important;
    transform: none !important;
    flex-shrink: 0 !important;
  }
  h1.wp-block-site-title {
    justify-content: flex-start !important;
  }
}

/* ── Hide "About Chely" nav tab ── */
.wp-block-navigation-item:has(a[href*="/about-chel"]) {
  display: none !important;
}

/* === Mobile header: stack logo ABOVE hamburger (added 2026-06-08) === */
@media (max-width: 600px) {
  header.wp-block-template-part .wp-block-group.is-content-justification-space-between.is-nowrap {
    flex-direction: column !important;
    align-items: center !important;
    justify-content: center !important;
    gap: 10px !important;
    row-gap: 10px !important;
  }
  header.wp-block-template-part .wp-block-group .wp-block-group.is-content-justification-space-between.is-nowrap.is-layout-flex > .wp-block-group.is-layout-flex.wp-block-group-is-layout-flex:first-child {
    position: static !important;
    transform: none !important;
    left: auto !important;
    right: auto !important;
    margin: 0 auto !important;
    order: 0 !important;
  }
  header.wp-block-template-part .wp-block-site-title {
    text-align: center !important;
    margin: 0 auto !important;
  }
  header.wp-block-template-part .wp-block-navigation {
    order: 1 !important;
    justify-content: center !important;
    width: 100% !important;
  }
}


/* === Mobile menu open: hide floating logo so it does not cover Home (added 2026-06-08) === */
@media (max-width: 600px) {
  header.wp-block-template-part:has(.wp-block-navigation__responsive-container.is-menu-open) .wp-block-site-title {
    visibility: hidden !important;
  }
}

/* ===== Booking CTA brand style (gold bg / navy text) ===== */
.wp-block-template-part .wp-block-button:not(.is-style-outline) .wp-block-button__link{
  background-color:#C9A84C !important;
  color:#1E3A5F !important;
  border-color:#C9A84C !important;
  transition:background-color .3s ease,color .3s ease !important;
}
.wp-block-template-part .wp-block-button:not(.is-style-outline) .wp-block-button__link:hover{
  background-color:#1E3A5F !important;
  color:#C9A84C !important;
}
