/* ==========================================================================
   HappyMaiden Cleaners – Premium Visual Revamp
   Brand Colors: Blue #2E86DE + Yellow #F5A623 + Red #E84C3D (from logo)
   Fonts: Montserrat (headings), Inter (body)
   ========================================================================== */

/* ---------- CSS Custom Properties (Design Tokens) ---------- */
:root {
    /* Brand palette — Blue + Yellow + Red (logo colors) */
    --hm-primary: #2E86DE;
    --hm-primary-dark: #1A5FB4;
    --hm-primary-light: #A8D4F5;
    --hm-primary-ultra: #EAF4FD;
    --hm-accent: #1B365D;
    --hm-accent-mid: #234B7A;
    --hm-accent-soft: #2E5F99;
    --hm-secondary: #F5A623;
    --hm-secondary-dark: #D4870B;
    --hm-red: #E84C3D;
    --hm-text: #1C1C1E;
    --hm-text-mid: #4A5568;
    --hm-text-light: #9CA3AF;
    --hm-bg: #FFFFFF;
    --hm-bg-soft: #F5F9FF;
    --hm-bg-card: #FFFFFF;
    --hm-border: #D6E4F0;
    --hm-border-light: #EDF2F7;

    /* Gradients */
    --hm-gradient: linear-gradient(135deg, #2E86DE 0%, #1A5FB4 100%);
    --hm-gradient-hero: linear-gradient(135deg, rgba(27, 54, 93, 0.78) 0%, rgba(30, 64, 110, 0.55) 100%);
    --hm-gradient-card: linear-gradient(180deg, rgba(46, 134, 222, 0.04) 0%, transparent 100%);
    --hm-gradient-yellow: linear-gradient(135deg, #F5A623 0%, #D4870B 100%);

    /* Shadows */
    --hm-shadow-sm: 0 1px 3px rgba(27, 54, 93, 0.06), 0 1px 2px rgba(27, 54, 93, 0.04);
    --hm-shadow: 0 4px 16px rgba(27, 54, 93, 0.08), 0 1px 3px rgba(27, 54, 93, 0.04);
    --hm-shadow-md: 0 8px 30px rgba(27, 54, 93, 0.10), 0 2px 6px rgba(27, 54, 93, 0.04);
    --hm-shadow-lg: 0 20px 50px rgba(27, 54, 93, 0.12), 0 4px 12px rgba(27, 54, 93, 0.06);
    --hm-shadow-glow: 0 0 20px rgba(46, 134, 222, 0.30), 0 0 40px rgba(46, 134, 222, 0.12);

    /* Radii */
    --hm-radius: 8px;
    --hm-radius-lg: 14px;
    --hm-radius-xl: 20px;
    --hm-radius-pill: 50px;

    /* Transitions */
    --hm-ease: cubic-bezier(0.4, 0, 0.2, 1);
    --hm-transition: all 0.35s var(--hm-ease);

    /* Typography */
    --hm-font-heading: 'Montserrat', sans-serif;
    --hm-font-body: 'Inter', sans-serif;
}


/* ==========================================================================
   1. GLOBAL TYPOGRAPHY RESET
   ========================================================================== */

body,
body.elementor-default,
body.wp-singular {
    font-family: var(--hm-font-body) !important;
    color: var(--hm-text) !important;
    -webkit-font-smoothing: antialiased;
    -moz-osx-font-smoothing: grayscale;
    text-rendering: optimizeLegibility;
    line-height: 1.7 !important;
    letter-spacing: -0.01em;
}

h1,
h2,
h3,
h4,
h5,
h6,
.elementor-heading-title,
.elementor-icon-box-title,
.pp-info-box-title,
.pp-divider-text,
.hfe-nav-menu a,
.elementor-tab-title {
    font-family: var(--hm-font-heading) !important;
    letter-spacing: -0.025em !important;
    line-height: 1.2 !important;
    color: var(--hm-accent) !important;
}

p,
li,
span,
a,
.elementor-text-editor p,
.elementor-icon-box-description,
.pp-info-box-description,
.pp-info-box-description p {
    font-family: var(--hm-font-body) !important;
    line-height: 1.75 !important;
}

/* Hide the "Home" heading WordPress injects above page content */
.page-header .entry-title {
    display: none !important;
}


/* ==========================================================================
   2. HEADER / NAVIGATION  —  Sticky Glassmorphism
   ========================================================================== */

#masthead {
    position: sticky !important;
    top: 0 !important;
    z-index: 9999 !important;
    background: rgba(255, 255, 255, 0.82) !important;
    backdrop-filter: blur(18px) saturate(180%) !important;
    -webkit-backdrop-filter: blur(18px) saturate(180%) !important;
    border-bottom: 1px solid rgba(226, 232, 240, 0.6) !important;
    box-shadow: 0 1px 3px rgba(27, 54, 93, 0.04) !important;
    transition: var(--hm-transition) !important;
}

/* Header sections — clear legacy bg */
#masthead .elementor-section,
#masthead .elementor-column {
    background: transparent !important;
}

/* Logo sizing */
#masthead .elementor-widget-image img {
    max-height: 62px !important;
    width: auto !important;
    transition: var(--hm-transition) !important;
}

/* Header section — consistent spacing across all pages */
.elementor-element-780fc371 {
    padding: 12px 20px !important;
    margin-bottom: -120px !important;
    z-index: 10 !important;
}

/* Nav menu items */
.hfe-nav-menu .hfe-menu-item,
.hfe-nav-menu .hfe-sub-menu-item {
    font-family: var(--hm-font-heading) !important;
    font-weight: 500 !important;
    font-size: 15px !important;
    color: #FFFFFF !important;
    text-transform: none !important;
    letter-spacing: -0.01em !important;
    transition: var(--hm-transition) !important;
    position: relative !important;
    padding: 15px 20px !important;
    text-shadow: 0 1px 3px rgba(0, 0, 0, 0.3) !important;
}

/* Add gap between nav items */
.hfe-nav-menu {
    gap: 4px !important;
}

.hfe-nav-menu .hfe-menu-item::after {
    content: '' !important;
    position: absolute !important;
    bottom: -4px !important;
    left: 50% !important;
    width: 0 !important;
    height: 2.5px !important;
    background: var(--hm-secondary) !important;
    border-radius: 2px !important;
    transform: translateX(-50%) !important;
    transition: width 0.35s var(--hm-ease) !important;
}

.hfe-nav-menu .hfe-menu-item:hover {
    color: var(--hm-secondary) !important;
}

.hfe-nav-menu .hfe-menu-item:hover::after {
    width: 60% !important;
}

/* Active page */
.current-menu-item .hfe-menu-item {
    color: var(--hm-secondary) !important;
}

.current-menu-item .hfe-menu-item::after {
    width: 60% !important;
}

/* CTA button in nav — "Get a Free Quote" */
.hfe-nav-menu .menu-item:last-child .hfe-menu-item {
    background: var(--hm-gradient-yellow) !important;
    color: #FFFFFF !important;
    padding: 10px 28px !important;
    border-radius: var(--hm-radius-pill) !important;
    font-weight: 600 !important;
    font-size: 14px !important;
    box-shadow: 0 4px 14px rgba(245, 166, 35, 0.3) !important;
    transition: var(--hm-transition) !important;
}

.hfe-nav-menu .menu-item:last-child .hfe-menu-item:hover {
    transform: translateY(-2px) !important;
    box-shadow: 0 8px 24px rgba(245, 166, 35, 0.4) !important;
}

.hfe-nav-menu .menu-item:last-child .hfe-menu-item::after {
    display: none !important;
}

/* Dropdown sub-menu */
.hfe-nav-menu .sub-menu {
    background: rgba(255, 255, 255, 0.95) !important;
    backdrop-filter: blur(16px) !important;
    -webkit-backdrop-filter: blur(16px) !important;
    border: 1px solid var(--hm-border) !important;
    border-radius: var(--hm-radius) !important;
    box-shadow: var(--hm-shadow-md) !important;
    overflow: hidden !important;
    padding: 8px 0 !important;
}

.hfe-nav-menu .sub-menu .hfe-sub-menu-item {
    padding: 10px 24px !important;
    font-size: 14px !important;
    color: var(--hm-accent) !important;
    text-shadow: none !important;
}

.hfe-nav-menu .sub-menu .hfe-sub-menu-item:hover {
    background: var(--hm-bg-soft) !important;
    color: var(--hm-primary) !important;
}


/* ==========================================================================
   3. HERO SECTION
   ========================================================================== */

/* Hero overlay – more cinematic */
.elementor-element-633e0b8>.elementor-background-overlay {
    background: var(--hm-gradient-hero) !important;
}

/* Hero heading */
.elementor-element-633e0b8 .elementor-heading-title {
    font-family: var(--hm-font-heading) !important;
    font-weight: 800 !important;
    font-size: clamp(2.2rem, 5vw, 3.6rem) !important;
    color: #FFFFFF !important;
    line-height: 1.15 !important;
    letter-spacing: -0.035em !important;
    text-shadow: 0 2px 20px rgba(0, 0, 0, 0.15) !important;
    font-style: normal !important;
}

/* Hero section min height */
.elementor-element-633e0b8 {
    min-height: 520px !important;
    display: flex !important;
    align-items: center !important;
    padding-top: 80px !important;
}

/* Hero subtext */
.elementor-element-633e0b8 .elementor-text-editor p {
    color: rgba(255, 255, 255, 0.9) !important;
    font-size: clamp(1rem, 2vw, 1.2rem) !important;
    font-weight: 400 !important;
    max-width: 600px !important;
    margin: 0 auto !important;
    line-height: 1.8 !important;
}


/* ==========================================================================
   4. BUTTONS  —  Pill / Gradient / Micro-Animations
   ========================================================================== */

/* Primary buttons */
.pp-button,
.elementor-button,
a.elementor-button,
.pp-button-content-wrapper,
button[type="submit"],
.wpforms-submit,
input[type="submit"],
.metform-btn,
.elementor-button-link {
    font-family: var(--hm-font-heading) !important;
    font-weight: 600 !important;
    letter-spacing: 0 !important;
    text-transform: none !important;
    border-radius: var(--hm-radius-pill) !important;
    transition: var(--hm-transition) !important;
    position: relative !important;
    overflow: hidden !important;
}

/* Primary button style – the hero & main CTA buttons */
.pp-button.elementor-size-lg,
a.pp-button.elementor-size-lg {
    background: #FFFFFF !important;
    border: none !important;
    color: var(--hm-accent) !important;
    padding: 16px 36px !important;
    font-size: 16px !important;
    box-shadow: 0 4px 18px rgba(27, 54, 93, 0.20) !important;
}

.pp-button.elementor-size-lg:hover,
a.pp-button.elementor-size-lg:hover {
    background: var(--hm-secondary) !important;
    color: #FFFFFF !important;
    transform: translateY(-3px) scale(1.02) !important;
    box-shadow: 0 12px 32px rgba(245, 166, 35, 0.35) !important;
}

/* Secondary / outline button variant */
.elementor-repeater-item-fd7afdc.pp-button {
    background: transparent !important;
    border: 2px solid rgba(255, 255, 255, 0.7) !important;
    color: #FFFFFF !important;
    box-shadow: none !important;
}

.elementor-repeater-item-fd7afdc.pp-button:hover {
    background: rgba(255, 255, 255, 0.15) !important;
    border-color: #FFFFFF !important;
    transform: translateY(-3px) !important;
    box-shadow: 0 8px 24px rgba(255, 255, 255, 0.12) !important;
}


/* ==========================================================================
   5. SECTIONS & CONTAINERS – Clean spacing, backgrounds
   ========================================================================== */

/* Remove boxed-width to allow containers to breathe */
.elementor-section.elementor-section-boxed>.elementor-container {
    max-width: 1200px !important;
}

/* Clean light section backgrounds */
.elementor-section {
    transition: background 0.4s var(--hm-ease) !important;
}

/* About Us section bg */
.elementor-element-35e6451b {
    background: var(--hm-bg-soft) !important;
}


/* ==========================================================================
   6. ICON BOX CARDS (Values: Responsibility, Integrity, Ethics)
   ========================================================================== */

.elementor-element-48332c63 .elementor-inner-column {
    background: var(--hm-bg-card) !important;
    border: none !important;
    border-radius: var(--hm-radius-lg) !important;
    padding: 44px 32px !important;
    box-shadow: 0 2px 12px rgba(27, 54, 93, 0.04) !important;
    transition: var(--hm-transition) !important;
    position: relative !important;
    overflow: hidden !important;
    margin: 0 8px !important;
}

.elementor-element-48332c63 .elementor-inner-column::before {
    content: '' !important;
    position: absolute !important;
    top: 0 !important;
    left: 0 !important;
    right: 0 !important;
    height: 4px !important;
    background: var(--hm-gradient) !important;
    border-radius: var(--hm-radius-lg) var(--hm-radius-lg) 0 0 !important;
    opacity: 0 !important;
    transition: opacity 0.4s var(--hm-ease) !important;
}

.elementor-element-48332c63 .elementor-inner-column {
    border: none !important;
    box-shadow: var(--hm-shadow-sm) !important;
}

.elementor-element-48332c63 .elementor-inner-column:hover {
    transform: translateY(-4px) !important;
    box-shadow: var(--hm-shadow-md) !important;
}

.elementor-element-48332c63 .elementor-inner-column:hover::before {
    opacity: 1 !important;
}

/* Icon circles in the value cards */
.elementor-element-48332c63 .elementor-icon {
    background: var(--hm-primary-ultra) !important;
    color: var(--hm-primary) !important;
    fill: var(--hm-primary) !important;
    box-shadow: none !important;
    transition: var(--hm-transition) !important;
}

.elementor-element-48332c63 .elementor-icon svg {
    fill: var(--hm-primary) !important;
}

.elementor-element-48332c63 .elementor-inner-column:hover .elementor-icon {
    background: var(--hm-gradient) !important;
    transform: scale(1.05) !important;
}

.elementor-element-48332c63 .elementor-inner-column:hover .elementor-icon svg {
    fill: #FFFFFF !important;
}

.elementor-element-48332c63 .elementor-icon-box-title span {
    font-size: 20px !important;
    font-weight: 700 !important;
    color: var(--hm-accent) !important;
}

.elementor-element-48332c63 .elementor-icon-box-description {
    color: var(--hm-text-mid) !important;
    font-size: 15px !important;
}


/* ==========================================================================
   7. PP-DIVIDER SECTION LABELS (ABOUT US, DOMESTIC CLEANING, etc.)
   ========================================================================== */

.pp-divider-text {
    font-family: var(--hm-font-heading) !important;
    font-weight: 600 !important;
    font-size: 13px !important;
    letter-spacing: 0.12em !important;
    text-transform: uppercase !important;
    color: var(--hm-primary) !important;
    background: var(--hm-primary-ultra) !important;
    padding: 6px 18px !important;
    border-radius: var(--hm-radius-pill) !important;
}

.divider-border {
    border-color: var(--hm-primary-light) !important;
    opacity: 0.5 !important;
}


/* ==========================================================================
   8. SERVICE INFO BOX CARDS (Regular Cleaning, Deep Cleaning, etc.)
   ========================================================================== */

.pp-info-box-container {
    background: var(--hm-bg-card) !important;
    border: 1px solid var(--hm-border) !important;
    border-radius: var(--hm-radius-lg) !important;
    overflow: hidden !important;
    box-shadow: var(--hm-shadow) !important;
    transition: var(--hm-transition) !important;
}

.pp-info-box-container:hover {
    transform: translateY(-6px) !important;
    box-shadow: var(--hm-shadow-lg) !important;
    border-color: var(--hm-primary-light) !important;
}

/* Service card images */
.pp-info-box-icon-wrap .pp-icon img {
    border-radius: var(--hm-radius-lg) var(--hm-radius-lg) 0 0 !important;
    width: 100% !important;
    aspect-ratio: 4/3 !important;
    object-fit: cover !important;
    transition: transform 0.5s var(--hm-ease) !important;
}

.pp-info-box-container:hover .pp-icon img {
    transform: scale(1.05) !important;
}

/* Service card titles */
.pp-info-box-title {
    font-size: 19px !important;
    font-weight: 700 !important;
    color: var(--hm-accent) !important;
    margin-bottom: 8px !important;
}

.pp-info-box-description p {
    font-size: 15px !important;
    color: var(--hm-text-mid) !important;
}

/* Service card content padding */
.pp-info-box-content {
    padding: 20px 24px 28px !important;
}


/* ==========================================================================
   9. "WHY CHOOSE US" & FEATURE SECTION
   ========================================================================== */

/* Why Choose Us section – white background */
.elementor-element-7bf51e48 {
    background: #FFFFFF !important;
}

/* Right column with Housekeeping Services – light blue bg like live site */
.elementor-element-57a64fa8 {
    background: var(--hm-primary-ultra) !important;
    border-radius: var(--hm-radius-xl) !important;
    padding: 30px !important;
}

/* Basket image at top – make smaller */
.elementor-element-35fc0a7c img {
    max-width: 180px !important;
    max-height: 180px !important;
    margin: 0 auto !important;
    display: block !important;
}

/* Team photo (humans) – hide, doesn't fit the layout */
.elementor-element-787df986 .pp-info-box-icon-wrap img,
.elementor-element-787df986 .pp-info-box-icon-wrap {
    display: none !important;
}

/* Decorative yellow circle – reduce size for subtle aesthetics */
.elementor-element-19e154a9 {
    width: 80px !important;
    height: 80px !important;
}

.elementor-element-19e154a9 .elementor-widget-container,
.elementor-element-19e154a9 .elementor-spacer-inner {
    background-color: var(--hm-secondary) !important;
    width: 80px !important;
    height: 80px !important;
}

/* Decorative sparkle */
.elementor-element-d475d8f img {
    filter: none !important;
}

/* Feature info boxes (Certified Expert, etc.) – CENTER aligned */
.elementor-element-1ee89e32 .pp-info-box-container {
    background: transparent !important;
    border: none !important;
    box-shadow: none !important;
    text-align: center !important;
    display: flex !important;
    flex-direction: column !important;
    align-items: center !important;
    padding: 0 !important;
}

.elementor-element-1ee89e32 .pp-info-box {
    display: flex !important;
    flex-direction: column !important;
    align-items: center !important;
}

.elementor-element-1ee89e32 .pp-info-box-icon-wrap {
    display: flex !important;
    justify-content: center !important;
    width: 100% !important;
}

.elementor-element-7bf51e48 .pp-info-box-container:hover,
.elementor-element-1ee89e32 .pp-info-box-container:hover {
    transform: none !important;
}

/* Center the inner columns for Certified Expert / Premium Support */
.elementor-element-28d56952,
.elementor-element-4567023b {
    align-items: center !important;
    text-align: center !important;
}

/* Hide the blue pill icon on Housekeeping Services (not needed) */
.elementor-element-787df986 .pp-info-box-icon.pp-icon {
    display: none !important;
}

/* Icons inside "Why Choose Us" – blue pill/oval shape, centered */
.elementor-element-1ee89e32 .pp-info-box-icon.pp-icon {
    width: 160px !important;
    height: 50px !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    background: var(--hm-primary) !important;
    border-radius: var(--hm-radius-pill) !important;
    margin: 0 auto 16px auto !important;
    transition: var(--hm-transition) !important;
}

.elementor-element-1ee89e32 .pp-info-box-icon.pp-icon i {
    color: #FFFFFF !important;
    font-size: 22px !important;
}

.elementor-element-1ee89e32 .pp-info-box:hover .pp-info-box-icon.pp-icon {
    background: var(--hm-primary-dark) !important;
    transform: scale(1.05) !important;
    box-shadow: var(--hm-shadow-glow) !important;
}

.elementor-element-1ee89e32 .pp-info-box:hover .pp-info-box-icon.pp-icon i {
    color: #FFFFFF !important;
}

/* About image styling */
.elementor-element-51588ab4 img {
    border-radius: var(--hm-radius-xl) !important;
    box-shadow: var(--hm-shadow-md) !important;
}


/* ==========================================================================
   10. COMMERCIAL CLEANING SECTION
   ========================================================================== */

/* Domestic Cleaning section */
.elementor-element-48f211af {
    background: linear-gradient(180deg, var(--hm-bg) 0%, var(--hm-bg-soft) 100%) !important;
}

.elementor-element-48f211af>.elementor-background-overlay {
    background: transparent !important;
}


/* ==========================================================================
   11. TESTIMONIALS / TABS SECTION
   ========================================================================== */

.elementor-widget-nested-tabs .e-n-tabs-heading {
    gap: 8px !important;
}

.elementor-widget-nested-tabs .e-n-tab-title {
    background: var(--hm-bg-soft) !important;
    border: 1px solid var(--hm-border) !important;
    border-radius: var(--hm-radius) !important;
    padding: 12px 24px !important;
    font-family: var(--hm-font-heading) !important;
    font-weight: 500 !important;
    font-size: 15px !important;
    color: var(--hm-text-mid) !important;
    transition: var(--hm-transition) !important;
}

.elementor-widget-nested-tabs .e-n-tab-title[aria-selected="true"],
.elementor-widget-nested-tabs .e-n-tab-title:hover {
    background: var(--hm-gradient) !important;
    color: #FFFFFF !important;
    border-color: var(--hm-primary) !important;
    box-shadow: 0 4px 14px rgba(245, 166, 35, 0.25) !important;
}

.elementor-widget-nested-tabs .e-n-tabs-content {
    border: 1px solid var(--hm-border) !important;
    border-radius: var(--hm-radius-lg) !important;
    padding: 28px !important;
    margin-top: 12px !important;
    background: var(--hm-bg-card) !important;
}


/* ==========================================================================
   12. IMAGE GALLERY
   ========================================================================== */

.elementor-widget-image-gallery .gallery-item img {
    border-radius: var(--hm-radius) !important;
    transition: var(--hm-transition) !important;
}

.elementor-widget-image-gallery .gallery-item:hover img {
    transform: scale(1.04) !important;
    box-shadow: var(--hm-shadow-md) !important;
}


/* ==========================================================================
   13. FORMS — WPForms & MetForm
   ========================================================================== */

.wpforms-form,
.metform-form-content {
    font-family: var(--hm-font-body) !important;
}

.wpforms-field input[type="text"],
.wpforms-field input[type="email"],
.wpforms-field input[type="tel"],
.wpforms-field input[type="url"],
.wpforms-field textarea,
.wpforms-field select,
.metform-form-content input,
.metform-form-content textarea,
.metform-form-content select {
    border: 1.5px solid var(--hm-border) !important;
    border-radius: 10px !important;
    padding: 14px 18px !important;
    font-family: var(--hm-font-body) !important;
    font-size: 15px !important;
    color: var(--hm-text) !important;
    background: var(--hm-bg) !important;
    transition: var(--hm-transition) !important;
    outline: none !important;
}

.wpforms-field input:focus,
.wpforms-field textarea:focus,
.wpforms-field select:focus,
.metform-form-content input:focus,
.metform-form-content textarea:focus,
.metform-form-content select:focus {
    border-color: var(--hm-primary) !important;
    box-shadow: 0 0 0 4px rgba(245, 166, 35, 0.12) !important;
}

.wpforms-field label,
.metform-form-content label {
    font-family: var(--hm-font-heading) !important;
    font-weight: 600 !important;
    color: var(--hm-accent) !important;
    font-size: 14px !important;
    margin-bottom: 6px !important;
}

/* Submit buttons */
.wpforms-submit,
button.metform-btn,
.metform-form-content button[type="submit"] {
    background: var(--hm-gradient) !important;
    border: none !important;
    color: #FFFFFF !important;
    font-family: var(--hm-font-heading) !important;
    font-weight: 600 !important;
    font-size: 16px !important;
    padding: 14px 36px !important;
    border-radius: var(--hm-radius-pill) !important;
    cursor: pointer !important;
    box-shadow: 0 4px 18px rgba(245, 166, 35, 0.30) !important;
    transition: var(--hm-transition) !important;
}

.wpforms-submit:hover,
button.metform-btn:hover,
.metform-form-content button[type="submit"]:hover {
    transform: translateY(-2px) !important;
    box-shadow: 0 8px 28px rgba(245, 166, 35, 0.40) !important;
}


/* ==========================================================================
   13B. DARK CTA SECTIONS – Unified deep blue overlay
   ========================================================================== */

/* "We Are The Company For You" CTA and similar dark sections */
.elementor-element-28f16ae1 > .elementor-background-overlay {
    background: var(--hm-accent) !important;
}

.elementor-element-28f16ae1 .elementor-heading-title {
    color: #FFFFFF !important;
}

.elementor-element-28f16ae1 .elementor-button,
.elementor-element-28f16ae1 .pp-button {
    background: var(--hm-secondary) !important;
    color: #FFFFFF !important;
    border: none !important;
}

.elementor-element-28f16ae1 .elementor-button:hover,
.elementor-element-28f16ae1 .pp-button:hover {
    background: var(--hm-secondary-dark) !important;
}

/* Footer overlay fix */
footer .elementor-background-overlay,
.elementor-element-43720d34 > .elementor-background-overlay {
    background: var(--hm-accent) !important;
}

/* ==========================================================================
   14. FOOTER
   ========================================================================== */

footer,
footer .elementor-section,
.elementor-element-26 {
    background: var(--hm-accent) !important;
}

footer .elementor-heading-title {
    color: #FFFFFF !important;
    font-family: var(--hm-font-heading) !important;
    font-weight: 700 !important;
    font-size: 18px !important;
    margin-bottom: 16px !important;
    position: relative !important;
}

footer .elementor-heading-title::after {
    content: '' !important;
    position: absolute !important;
    bottom: -8px !important;
    left: 0 !important;
    width: 32px !important;
    height: 3px !important;
    background: var(--hm-gradient) !important;
    border-radius: 2px !important;
}

footer .elementor-icon-list-text {
    color: rgba(255, 255, 255, 0.72) !important;
    font-size: 14px !important;
    transition: var(--hm-transition) !important;
}

footer .elementor-icon-list-item:hover .elementor-icon-list-text {
    color: var(--hm-primary) !important;
    transform: translateX(4px) !important;
}

footer .elementor-icon-list-icon svg {
    fill: var(--hm-primary) !important;
    width: 10px !important;
    transition: var(--hm-transition) !important;
}

footer .elementor-text-editor p {
    color: rgba(255, 255, 255, 0.5) !important;
    font-size: 13px !important;
}

/* Footer social icons */
footer .elementor-social-icons-wrapper .elementor-icon {
    transition: var(--hm-transition) !important;
}

footer .elementor-social-icons-wrapper .elementor-icon:hover {
    transform: translateY(-3px) scale(1.1) !important;
    box-shadow: var(--hm-shadow-glow) !important;
}

/* Footer bottom bar */
footer .elementor-element-7ab393c4 {
    border-top: 1px solid rgba(255, 255, 255, 0.08) !important;
    margin-top: 20px !important;
    padding-top: 20px !important;
}


/* ==========================================================================
   15. SCROLL-TO-TOP BUTTON
   ========================================================================== */

.hfe-scroll-to-top-wrap {
    background: var(--hm-gradient) !important;
    border-radius: var(--hm-radius) !important;
    box-shadow: var(--hm-shadow-glow) !important;
    transition: var(--hm-transition) !important;
}

.hfe-scroll-to-top-wrap:hover {
    transform: translateY(-4px) scale(1.05) !important;
}


/* ==========================================================================
   16. SECTION HEADINGS – Consistent styling
   ========================================================================== */

.elementor-widget-heading .elementor-heading-title.elementor-size-default {
    font-weight: 700 !important;
    color: var(--hm-accent) !important;
    line-height: 1.25 !important;
}

/* Override for hero/dark background sections */
.elementor-element-633e0b8 .elementor-widget-heading .elementor-heading-title.elementor-size-default,
.elementor-element-633e0b8 .elementor-heading-title.elementor-size-default {
    color: #FFFFFF !important;
}


/* ==========================================================================
   17. DIVIDERS
   ========================================================================== */

.elementor-divider-separator {
    border-color: var(--hm-primary-light) !important;
}


/* ==========================================================================
   18. ELEMENTOR WIDGET IMAGES – Refined radius & hover
   ========================================================================== */

.elementor-widget-image img {
    transition: var(--hm-transition) !important;
}


/* ==========================================================================
   19. PRICING PAGE ENHANCEMENTS (if applicable)
   ========================================================================== */

.elementor-price-table {
    border: 1px solid var(--hm-border) !important;
    border-radius: var(--hm-radius-lg) !important;
    overflow: hidden !important;
    box-shadow: var(--hm-shadow) !important;
    transition: var(--hm-transition) !important;
}

.elementor-price-table:hover {
    transform: translateY(-6px) !important;
    box-shadow: var(--hm-shadow-lg) !important;
}

.elementor-price-table__header {
    background: var(--hm-gradient) !important;
}


/* ==========================================================================
   20. ACCESSIBILITY WIDGET OVERRIDE
   ========================================================================== */

.pojo-a11y-toolbar-toggle {
    background: var(--hm-gradient) !important;
    border-radius: var(--hm-radius) !important;
}


/* ==========================================================================
   21. WEGLOT LANGUAGE SWITCHER
   ========================================================================== */

.weglot-container {
    font-family: var(--hm-font-body) !important;
}


/* ==========================================================================
   22. RESPONSIVE REFINEMENTS
   ========================================================================== */

@media (max-width: 1024px) {
    .elementor-element-633e0b8 .elementor-heading-title {
        font-size: 2.2rem !important;
    }

    .elementor-element-48332c63 .elementor-inner-column {
        margin-bottom: 16px !important;
    }

    .pp-info-box-container {
        margin-bottom: 16px !important;
    }
}

@media (max-width: 767px) {

    #masthead {
        backdrop-filter: blur(12px) !important;
        -webkit-backdrop-filter: blur(12px) !important;
    }

    .elementor-element-633e0b8 .elementor-heading-title {
        font-size: 1.8rem !important;
    }

    .pp-button.elementor-size-lg,
    a.pp-button.elementor-size-lg {
        padding: 14px 28px !important;
        font-size: 15px !important;
    }

    .elementor-element-48332c63 .elementor-inner-column {
        padding: 24px 20px !important;
    }

    /* Mobile nav dropdown */
    .hfe-nav-menu__layout-horizontal .hfe-nav-menu {
        background: rgba(255, 255, 255, 0.97) !important;
        backdrop-filter: blur(16px) !important;
        -webkit-backdrop-filter: blur(16px) !important;
        border-radius: var(--hm-radius-lg) !important;
        box-shadow: var(--hm-shadow-lg) !important;
        border: 1px solid var(--hm-border) !important;
        padding: 12px !important;
    }

    /* Footer text centering on mobile */
    footer .elementor-heading-title::after {
        left: 50% !important;
        transform: translateX(-50%) !important;
    }
}


/* ==========================================================================
   23. ENTRANCE ANIMATIONS (subtle fade-ups)
   ========================================================================== */

@keyframes hmFadeUp {
    from {
        opacity: 0;
        transform: translateY(24px);
    }

    to {
        opacity: 1;
        transform: translateY(0);
    }
}

.elementor-widget {
    animation: hmFadeUp 0.6s var(--hm-ease) both;
}

/* Stagger animations by section position */
.elementor-top-section:nth-child(2) .elementor-widget {
    animation-delay: 0.08s;
}

.elementor-top-section:nth-child(3) .elementor-widget {
    animation-delay: 0.14s;
}

.elementor-top-section:nth-child(4) .elementor-widget {
    animation-delay: 0.20s;
}


/* ==========================================================================
   24. SELECTION HIGHLIGHT
   ========================================================================== */

::selection {
    background: var(--hm-primary-light);
    color: var(--hm-accent);
}

::-moz-selection {
    background: var(--hm-primary-light);
    color: var(--hm-accent);
}


/* ==========================================================================
   25. SMOOTH SCROLLING
   ========================================================================== */

html {
    scroll-behavior: smooth;
}


/* ==========================================================================
   26. LINK STYLING
   ========================================================================== */

.elementor-text-editor a {
    color: var(--hm-primary-dark) !important;
    text-decoration: none !important;
    border-bottom: 1px solid rgba(245, 166, 35, 0.3) !important;
    transition: var(--hm-transition) !important;
}

.elementor-text-editor a:hover {
    color: var(--hm-primary) !important;
    border-bottom-color: var(--hm-primary) !important;
}


/* ==========================================================================
   27. LOADING SKELETON SMOOTHING
   ========================================================================== */

.elementor img[loading="lazy"] {
    transition: opacity 0.5s var(--hm-ease) !important;
}


/* ==========================================================================
   28. CONTACT PAGE FORM CARD STYLING
   ========================================================================== */

.elementor-widget-wpforms .wpforms-container {
    background: var(--hm-bg-card) !important;
    border: 1px solid var(--hm-border) !important;
    border-radius: var(--hm-radius-lg) !important;
    padding: 36px !important;
    box-shadow: var(--hm-shadow) !important;
}


/* ==========================================================================
   END OF REVAMP
   ========================================================================== */


/* ==========================================================================
   29. HIDE REDUNDANT ELEMENTS (Tabs placeholder & Video placeholder)
   ========================================================================== */

/* Hide empty tabs widget on homepage */
.elementor-element-1cd3cb1,
.elementor-element-764274d {
    display: none !important;
}

/* Hide video placeholder on homepage */
.elementor-element-8c1a216,
.elementor-element-a8bbd24 {
    display: none !important;
}


/* ==========================================================================
   30. SERVICE PAGE ICON IMAGES – Recolor blue circles to gold
   ========================================================================== */

/* Recolor the blue circle service icons to brand gold via filter */
img[src*="icon7.1"],
img[src*="icon2.1"],
img[src*="icon7"],
img[src*="icon2"] {
    /* Blue icons now match the brand — no filter needed */
}

/* Decorative stars – keep natural yellow/amber color */
img[src*="Stars1"],
img[src*="Stars2"] {
    opacity: 0.85 !important;
}

/* Hide all placeholder images site-wide */
img[src*="placeholder"],
img[src*="placeholder-v4"] {
    display: none !important;
}

/* Hide the container holding placeholder images */
.elementor-element-0884b2f,
.elementor-element-9ad4e87 {
    display: none !important;
}

/* Also hide lorem ipsum sections */
.elementor-element-847cf9d {
    display: none !important;
}

/* Reduce size of repeated service icons for cleaner look */
.elementor-image-box-img img[src*="icon7"],
.elementor-image-box-img img[src*="icon2"] {
    max-width: 90px !important;
    height: auto !important;
}


/* ==========================================================================
   31. VALUE CARDS SECTION – Better spacing for parent container
   ========================================================================== */

.elementor-element-48332c63 {
    padding: 60px 20px !important;
    gap: 24px !important;
}

.elementor-element-48332c63 > .elementor-row,
.elementor-element-48332c63 > .elementor-container {
    gap: 24px !important;
    flex-wrap: nowrap !important;
}

/* Override the dark navy overlay with a soft warm-grey background */
.elementor-element-2c7d241a > .elementor-background-overlay,
.elementor-element-48332c63 > .elementor-background-overlay,
.elementor-9 .elementor-element.elementor-element-48332c63 > .elementor-background-overlay {
    background-color: transparent !important;
    background: transparent !important;
    opacity: 0 !important;
    display: none !important;
}

.elementor-element-2c7d241a {
    background: var(--hm-bg-soft) !important;
}


/* ==========================================================================
   32. HERO CTA BUTTONS – Ensure contrast on any background
   ========================================================================== */

/* Hero buttons specific override for slider/hero sections */
.elementor-element-633e0b8 .elementor-heading-title,
.elementor-element-633e0b8 h1,
.elementor-element-633e0b8 h2 {
    color: #FFFFFF !important;
}

.elementor-element-633e0b8 .elementor-text-editor,
.elementor-element-633e0b8 .elementor-text-editor p,
.elementor-element-633e0b8 p {
    color: rgba(255, 255, 255, 0.9) !important;
}

.elementor-element-633e0b8 .elementor-button,
.elementor-element-633e0b8 .pp-button {
    background: #FFFFFF !important;
    color: var(--hm-accent) !important;
    font-weight: 700 !important;
    border: none !important;
    box-shadow: 0 4px 20px rgba(0, 0, 0, 0.15) !important;
}

.elementor-element-633e0b8 .elementor-button:hover,
.elementor-element-633e0b8 .pp-button:hover {
    background: var(--hm-primary) !important;
    color: #FFFFFF !important;
    box-shadow: 0 8px 30px rgba(245, 166, 35, 0.4) !important;
}

/* Outline/secondary variant in hero */
.elementor-element-633e0b8 .elementor-repeater-item-fd7afdc.pp-button {
    background: transparent !important;
    border: 2px solid #FFFFFF !important;
    color: #FFFFFF !important;
}

.elementor-element-633e0b8 .elementor-repeater-item-fd7afdc.pp-button:hover {
    background: #FFFFFF !important;
    color: var(--hm-accent) !important;
    border-color: #FFFFFF !important;
}

/* ==========================================================================
   ABOUT US PAGE – Layout Cleanup
   ========================================================================== */

/* --- Decorative circle behind "Who We Are" image: reduce & recolor --- */
.elementor-element-1c3a6d2 {
    width: 100px !important;
    height: 100px !important;
}

.elementor-element-1c3a6d2 .elementor-widget-container {
    background-color: var(--hm-primary-ultra) !important;
    width: 100px !important;
    height: 100px !important;
    border-radius: 50% !important;
}

/* --- Decorative circle behind "What We Do" image: reduce --- */
.elementor-element-7e813380 {
    width: 80px !important;
    height: 80px !important;
}

.elementor-element-7e813380 .elementor-widget-container {
    background-color: var(--hm-secondary) !important;
    width: 80px !important;
    height: 80px !important;
    border-radius: 50% !important;
}

/* --- Info-box cards (Certified Expert / Premium Support) – center icons --- */
.elementor-element-ae58884 .pp-info-box-container {
    padding: 20px !important;
    text-align: center !important;
    display: flex !important;
    flex-direction: column !important;
    align-items: center !important;
}

.elementor-element-ae58884 .pp-info-box {
    display: flex !important;
    flex-direction: column !important;
    align-items: center !important;
}

.elementor-element-ae58884 .pp-info-box-icon-wrap {
    display: flex !important;
    justify-content: center !important;
    width: 100% !important;
}

.elementor-element-ae58884 .pp-info-box-icon.pp-icon {
    width: 160px !important;
    height: 50px !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    background: var(--hm-primary) !important;
    border-radius: var(--hm-radius-pill) !important;
    margin: 0 auto 16px auto !important;
}

.elementor-element-ae58884 .pp-info-box-icon.pp-icon i {
    color: #FFFFFF !important;
    font-size: 22px !important;
}

.elementor-element-ae58884 .pp-info-box-title {
    text-align: center !important;
}

/* --- "Our Company Values" heading — white for contrast on dark section --- */
.elementor-element.elementor-element-3ec865f8 .elementor-heading-title.elementor-size-default {
    color: #FFFFFF !important;
}

/* ==========================================================================
   CONTACT US PAGE – Cleanup
   ========================================================================== */

/* --- Hero heading: white for contrast on image (all pages) --- */
.elementor-element.elementor-element-38ec3f3e .elementor-heading-title.elementor-size-default,
.elementor-element.elementor-element-2c69e292 .elementor-heading-title,
.elementor-element.elementor-element-ca3f02d .elementor-heading-title,
.elementor-element.elementor-element-2b5d886c .elementor-heading-title,
.elementor-element.elementor-element-9da132e .elementor-heading-title,
[data-id="5887753b"] .elementor-heading-title,
[data-id="556c9fc"] .elementor-heading-title {
    color: #FFFFFF !important;
    text-shadow: 0 2px 8px rgba(0, 0, 0, 0.4) !important;
}

/* --- Form section: match palette (light blue instead of beige) --- */
.elementor-element-58a91515 {
    background-color: var(--hm-primary-ultra) !important;
}

/* --- Contact cards: consistent rounded corners + white text on dark bg --- */
.elementor-element-3b2a130a > .elementor-widget-wrap,
.elementor-element-35090c5e > .elementor-widget-wrap {
    background-color: var(--hm-accent) !important;
    border-radius: 20px !important;
}

.elementor-element-3b2a130a .elementor-heading-title,
.elementor-element-35090c5e .elementor-heading-title,
.elementor-element-3b2a130a .elementor-icon-box-title,
.elementor-element-35090c5e .elementor-icon-box-title,
.elementor-element-3b2a130a .elementor-icon-box-description,
.elementor-element-35090c5e .elementor-icon-box-description,
.elementor-element-3b2a130a .elementor-text-editor p,
.elementor-element-35090c5e .elementor-text-editor p,
.elementor-element-3b2a130a .elementor-text-editor a,
.elementor-element-35090c5e .elementor-text-editor a,
.elementor-element-3b2a130a p,
.elementor-element-35090c5e p {
    color: #FFFFFF !important;
}

.elementor-element-3b2a130a .elementor-icon,
.elementor-element-35090c5e .elementor-icon {
    color: var(--hm-secondary) !important;
    border-color: var(--hm-secondary) !important;
}

.elementor-element-66fff244 > .elementor-widget-wrap {
    background-color: var(--hm-secondary) !important;
    border-radius: 20px !important;
}

/* --- Contact card icons: force perfect circles --- */
.elementor-element-4450f1bb .elementor-icon {
    width: 70px !important;
    height: 70px !important;
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    padding: 0 !important;
    border-radius: 50% !important;
}

/* --- Domestic: "Housekeeping" icon too large — match other cards --- */
[data-id="fea8cc3"] img {
    width: 80px !important;
    height: 80px !important;
    object-fit: contain !important;
    border-radius: 50% !important;
    background: var(--hm-primary) !important;
    padding: 15px !important;
}

/* --- Commercial: Air BnB card — photo styled as circular icon to match --- */
[data-id="3fb1e31f"] img {
    width: 80px !important;
    height: 80px !important;
    object-fit: cover !important;
    border-radius: 50% !important;
    border: 3px solid var(--hm-primary) !important;
}

/* ==========================================================
   PRICING PAGE
   ========================================================== */

/* --- Pricing page: wider container and better card grid --- */
[data-id="3584e8ca"] .elementor-container {
    max-width: 1200px !important;
}

/* Standard pricing cards: 2x2 grid on desktop */
[data-id="e3ce877"] > .e-con-inner {
    flex-wrap: wrap !important;
    gap: 24px !important;
    justify-content: center !important;
    max-width: 900px !important;
    margin: 0 auto !important;
}

[data-id="e3ce877"] > .e-con-inner > .e-con {
    flex: 0 0 calc(50% - 12px) !important;
    max-width: calc(50% - 12px) !important;
    min-width: 300px !important;
}

/* Deep Cleaning cards: 3 per row */
[data-id="211c484"] > .e-con-inner {
    flex-wrap: wrap !important;
    gap: 24px !important;
    justify-content: center !important;
    max-width: 1100px !important;
    margin: 0 auto !important;
}

[data-id="211c484"] > .e-con-inner > .e-con {
    flex: 0 0 calc(33.333% - 16px) !important;
    max-width: calc(33.333% - 16px) !important;
    min-width: 260px !important;
}

/* Oven cleaning cards: 3 per row */
[data-id="24259b2"] > .e-con-inner {
    flex-wrap: wrap !important;
    gap: 24px !important;
    justify-content: center !important;
}

[data-id="24259b2"] > .e-con-inner > .e-con {
    flex: 0 0 calc(33.333% - 16px) !important;
    max-width: calc(33.333% - 16px) !important;
    min-width: 260px !important;
}

/* Hide stray logo in pricing cards */
[data-id="3584e8ca"] .pp-pricing-table-features img[src*="Logo"],
[data-id="3584e8ca"] .pp-pricing-table-features img[src*="logo"],
[data-id="3584e8ca"] .pp-pricing-table-features img[src*="IMG_1955"] {
    display: none !important;
}

/* --- Pricing cards: change beige to blue palette --- */
.pp-pricing-table-head {
    background-color: var(--hm-primary-ultra) !important;
    padding: 24px 16px !important;
}

.pp-pricing-table-features {
    background-color: #FFFFFF !important;
}

/* --- Pricing table: rounded corners + shadow --- */
.pp-pricing-table {
    border-radius: 16px !important;
    overflow: hidden !important;
    box-shadow: 0 4px 20px rgba(0, 0, 0, 0.08) !important;
    border: 1px solid rgba(46, 134, 222, 0.12) !important;
}

/* --- Pricing card footer (navy bar): match primary blue --- */
.pp-pricing-table-footer {
    background-color: var(--hm-primary) !important;
    border-radius: 0 0 16px 16px !important;
    padding: 16px !important;
}

.pp-pricing-table-footer .pp-pricing-table-button {
    background: var(--hm-secondary) !important;
    color: #1a1a1a !important;
    font-weight: 700 !important;
    border-radius: 25px !important;
    padding: 12px 24px !important;
}

/* --- Price value: primary blue color --- */
.pp-pricing-table-price-value {
    color: var(--hm-primary) !important;
}

.pp-pricing-table-price-prefix {
    color: var(--hm-primary) !important;
}

.pp-pricing-table-price-duration {
    color: var(--hm-accent) !important;
}

/* --- Pricing card title: accent navy --- */
.pp-pricing-table .pp-pricing-table-title {
    color: var(--hm-accent) !important;
    font-family: 'Montserrat', sans-serif !important;
    font-weight: 700 !important;
    font-size: 1.1rem !important;
}

/* --- Deep cleaning "Get a Quote" styled as button --- */
.pp-pricing-table-price-wrap {
    background-color: var(--hm-primary) !important;
    padding: 15px 20px !important;
}

.pp-pricing-table-price-wrap .pp-pricing-table-price-value {
    color: #FFFFFF !important;
    font-size: 22px !important;
}

.pp-pricing-table-price-wrap .pp-pricing-table-price-prefix {
    color: #FFFFFF !important;
}

.pp-pricing-table-price-wrap .pp-pricing-table-price-duration {
    color: rgba(255, 255, 255, 0.85) !important;
}

/* --- Feature list items: clean spacing --- */
.pp-pricing-table-features li {
    border-bottom: 1px solid rgba(46, 134, 222, 0.08) !important;
    padding: 12px 20px !important;
    font-size: 0.92rem !important;
    line-height: 1.5 !important;
}

.pp-pricing-table-features .pp-pricing-table-fature-icon {
    flex-shrink: 0 !important;
}

.pp-pricing-table-features .pp-pricing-table-feature-content {
    display: flex !important;
    align-items: flex-start !important;
    gap: 8px !important;
}

/* --- Section headings: consistent accent color --- */
.elementor-element.elementor-element-22f60c4 .elementor-heading-title {
    color: var(--hm-accent) !important;
}

/* Pricing section spacing between categories */
[data-id="e3ce877"],
[data-id="211c484"],
[data-id="24259b2"] {
    padding: 30px 0 !important;
}

/* Sub-section headings (Standard, Deep, Oven) */
[data-id="5b43713"],
[data-id="67896a0"],
[data-id="060feb8"] {
    margin-top: 40px !important;
}

.elementor-element.elementor-element-5b43713 .elementor-heading-title,
.elementor-element.elementor-element-76d3808 .elementor-heading-title,
.elementor-element.elementor-element-858b94c .elementor-heading-title {
    color: var(--hm-primary) !important;
}

/* ==========================================================
   STORYBRAND HOME PAGE OVERRIDES
   ========================================================== */

/* --- Hero sub-headline styling --- */
.hm-hero-sub {
    display: block;
    font-size: 0.6em;
    font-weight: 400;
    color: var(--hm-secondary);
    margin-top: 8px;
}

/* --- Hero primary CTA button: amber/orange pop --- */
[data-id="4c8396d7"] .pp-button:first-of-type,
[data-id="4c8396d7"] a.pp-button:first-child {
    background-color: var(--hm-secondary) !important;
    color: #1a1a1a !important;
    font-weight: 700 !important;
    border-radius: 30px !important;
    padding: 16px 32px !important;
    box-shadow: 0 4px 15px rgba(245, 166, 35, 0.4) !important;
    transition: transform 0.2s, box-shadow 0.2s !important;
}

[data-id="4c8396d7"] .pp-button:first-of-type:hover {
    transform: translateY(-2px) !important;
    box-shadow: 0 6px 20px rgba(245, 166, 35, 0.5) !important;
}

/* --- Hero secondary button --- */
[data-id="4c8396d7"] .pp-button:last-of-type,
[data-id="4c8396d7"] a.pp-button:last-child {
    background-color: transparent !important;
    color: #FFFFFF !important;
    border: 2px solid #FFFFFF !important;
    border-radius: 30px !important;
    padding: 14px 28px !important;
}

/* --- Villain Section Header --- */
.hm-villain-header {
    width: 100%;
    text-align: center;
    padding: 0 20px 30px;
}

.hm-villain-title {
    font-family: 'Montserrat', sans-serif;
    font-size: 2rem;
    font-weight: 700;
    color: var(--hm-accent);
    margin-bottom: 8px;
}

.hm-villain-subtitle {
    font-family: 'Inter', sans-serif;
    font-size: 1.1rem;
    color: #666;
}

/* --- Villain icon boxes: frustration styling --- */
[data-id="2c7d241a"] .elementor-icon-box-title {
    color: var(--hm-accent) !important;
    font-weight: 700 !important;
}

[data-id="2c7d241a"] .elementor-icon-box-description {
    color: #555 !important;
    line-height: 1.6 !important;
}

[data-id="2c7d241a"] .elementor-icon {
    color: var(--hm-secondary) !important;
    border-color: var(--hm-secondary) !important;
}

/* --- 3-Step Plan Section --- */
.hm-plan-section {
    background: var(--hm-bg-soft);
    padding: 80px 20px;
    text-align: center;
}

.hm-plan-inner {
    max-width: 1100px;
    margin: 0 auto;
}

.hm-plan-title {
    font-family: 'Montserrat', sans-serif;
    font-size: 2.2rem;
    font-weight: 700;
    color: var(--hm-accent);
    margin-bottom: 8px;
}

.hm-plan-subtitle {
    font-family: 'Inter', sans-serif;
    font-size: 1.1rem;
    color: #666;
    margin-bottom: 50px;
}

.hm-plan-steps {
    display: flex;
    gap: 40px;
    justify-content: center;
    flex-wrap: wrap;
    margin-bottom: 50px;
}

.hm-plan-step {
    flex: 1;
    min-width: 250px;
    max-width: 320px;
    background: #FFFFFF;
    border-radius: 20px;
    padding: 40px 30px;
    box-shadow: 0 4px 20px rgba(0, 0, 0, 0.06);
    transition: transform 0.2s;
}

.hm-plan-step:hover {
    transform: translateY(-4px);
}

.hm-plan-number {
    width: 60px;
    height: 60px;
    background: var(--hm-primary);
    color: #FFFFFF;
    font-family: 'Montserrat', sans-serif;
    font-size: 1.8rem;
    font-weight: 800;
    border-radius: 50%;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    margin-bottom: 20px;
}

.hm-plan-step-title {
    font-family: 'Montserrat', sans-serif;
    font-size: 1.3rem;
    font-weight: 700;
    color: var(--hm-accent);
    margin-bottom: 12px;
}

.hm-plan-step-desc {
    font-family: 'Inter', sans-serif;
    font-size: 1rem;
    color: #555;
    line-height: 1.6;
}

.hm-plan-cta {
    display: inline-block;
    background: var(--hm-secondary);
    color: #1a1a1a;
    font-family: 'Montserrat', sans-serif;
    font-weight: 700;
    font-size: 1.1rem;
    padding: 16px 40px;
    border-radius: 30px;
    text-decoration: none;
    box-shadow: 0 4px 15px rgba(245, 166, 35, 0.4);
    transition: transform 0.2s, box-shadow 0.2s;
}

.hm-plan-cta:hover {
    transform: translateY(-2px);
    box-shadow: 0 6px 20px rgba(245, 166, 35, 0.5);
    color: #1a1a1a;
    text-decoration: none;
}

/* --- CTA "After Picture" section styling --- */
[data-id="28f16ae1"] .elementor-heading-title {
    color: #FFFFFF !important;
    font-size: 2rem !important;
}

[data-id="28f16ae1"] .elementor-text-editor {
    color: rgba(255, 255, 255, 0.9) !important;
    font-size: 1.1rem !important;
    line-height: 1.7 !important;
}

[data-id="28f16ae1"] .elementor-button {
    background-color: var(--hm-secondary) !important;
    color: #1a1a1a !important;
    font-weight: 700 !important;
    border-radius: 30px !important;
    padding: 16px 36px !important;
    box-shadow: 0 4px 15px rgba(245, 166, 35, 0.4) !important;
}

/* --- Nav CTA button: amber pop --- */
.hfe-menu-item[href*="booking"],
a[href*="booking"].hfe-menu-item {
    background-color: var(--hm-secondary) !important;
    color: #1a1a1a !important;
    font-weight: 700 !important;
    padding: 10px 22px !important;
    border-radius: 25px !important;
    text-shadow: none !important;
}

/* --- Guide section: empathy styling --- */
[data-id="35e6451b"] .elementor-heading-title {
    color: var(--hm-accent) !important;
}

[data-id="35e6451b"] .elementor-text-editor p strong {
    color: var(--hm-primary) !important;
}

/* ==========================================================
   HIGH PRIORITY FIXES
   ========================================================== */

/* --- #2: Service cards on Domestic & Commercial pages: beige → blue --- */
[data-id="7dbe7f59"] .elementor-widget-wrap,
[data-id="5c95360"] .elementor-widget-wrap,
[data-id="7ea855fc"] .elementor-widget-wrap,
[data-id="131aab67"] .elementor-widget-wrap {
    background-color: transparent !important;
}

[data-id="d38ea7c"] > .elementor-widget-wrap,
[data-id="f8d9670"] > .elementor-widget-wrap,
[data-id="88e18af"] > .elementor-widget-wrap,
[data-id="1ca2d45"] > .elementor-widget-wrap,
[data-id="ba489c7"] > .elementor-widget-wrap,
[data-id="a3d0136"] > .elementor-widget-wrap,
[data-id="321d85f5"] > .elementor-widget-wrap,
[data-id="42f42f63"] > .elementor-widget-wrap,
[data-id="285b8bf2"] > .elementor-widget-wrap,
[data-id="2741c873"] > .elementor-widget-wrap,
[data-id="4e676483"] > .elementor-widget-wrap {
    background-color: var(--hm-primary-ultra) !important;
    border-radius: 20px !important;
    box-shadow: 0 4px 20px rgba(0, 0, 0, 0.06) !important;
    border: 1px solid rgba(46, 134, 222, 0.1) !important;
    padding: 30px 25px !important;
}

/* Service card headings */
[data-id="7dbe7f59"] .elementor-heading-title,
[data-id="5c95360"] .elementor-heading-title,
[data-id="7ea855fc"] .elementor-heading-title,
[data-id="131aab67"] .elementor-heading-title {
    color: var(--hm-accent) !important;
}

/* --- #10: Sticky CTA bar on scroll --- */
.hm-sticky-cta {
    position: fixed;
    bottom: -80px;
    left: 0;
    right: 0;
    z-index: 9999;
    background: rgba(27, 54, 93, 0.97);
    backdrop-filter: blur(10px);
    padding: 14px 20px;
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 20px;
    box-shadow: 0 -4px 20px rgba(0, 0, 0, 0.15);
    transition: bottom 0.3s ease;
}

.hm-sticky-cta.visible {
    bottom: 0;
}

.hm-sticky-cta-text {
    color: #FFFFFF;
    font-family: 'Inter', sans-serif;
    font-size: 0.95rem;
    display: none;
}

@media (min-width: 768px) {
    .hm-sticky-cta-text {
        display: block;
    }
}

.hm-sticky-cta-btn {
    display: inline-block;
    background: var(--hm-secondary);
    color: #1a1a1a;
    font-family: 'Montserrat', sans-serif;
    font-weight: 700;
    font-size: 0.95rem;
    padding: 12px 28px;
    border-radius: 25px;
    text-decoration: none;
    box-shadow: 0 3px 10px rgba(245, 166, 35, 0.3);
    transition: transform 0.2s;
    white-space: nowrap;
}

.hm-sticky-cta-btn:hover {
    transform: translateY(-1px);
    color: #1a1a1a;
    text-decoration: none;
}

/* --- #14: Hero CTA buttons on service pages --- */
.hm-hero-cta-inject {
    margin-top: 24px;
}

.hm-hero-cta-inject a {
    display: inline-block;
    background: var(--hm-secondary);
    color: #1a1a1a;
    font-family: 'Montserrat', sans-serif;
    font-weight: 700;
    font-size: 1rem;
    padding: 14px 32px;
    border-radius: 30px;
    text-decoration: none;
    box-shadow: 0 4px 15px rgba(245, 166, 35, 0.4);
    transition: transform 0.2s, box-shadow 0.2s;
}

.hm-hero-cta-inject a:hover {
    transform: translateY(-2px);
    box-shadow: 0 6px 20px rgba(245, 166, 35, 0.5);
    color: #1a1a1a;
    text-decoration: none;
}

/* --- #15: Home page domestic section heading restyle --- */
[data-id="48f211af"] [data-id="33f4cff7"] .elementor-heading-title {
    color: var(--hm-accent) !important;
}

/* ==========================================================
   MEDIUM PRIORITY FIXES
   ========================================================== */

/* --- #5: Consistent section spacing rhythm (80px top/bottom) --- */
.elementor-section.elementor-top-section {
    padding-top: 70px !important;
    padding-bottom: 70px !important;
}

/* Exclude hero sections (they have their own padding) */
.elementor-section.elementor-top-section[data-id="633e0b8"],
.elementor-section.elementor-top-section[data-id="cf7d9a7"],
.elementor-section.elementor-top-section[data-id="a5c28ce"],
.elementor-section.elementor-top-section[data-id="6cb63220"],
.elementor-section.elementor-top-section[data-id="7b172487"],
.elementor-section.elementor-top-section[data-id="5887753b"] {
    padding-top: 250px !important;
    padding-bottom: 70px !important;
}

/* Exclude header and footer — higher specificity to override the general rule */
.elementor-section.elementor-top-section[data-id="780fc371"] {
    padding-top: 12px !important;
    padding-bottom: 12px !important;
}

.elementor-section[data-id="43720d34"] {
    padding-top: 50px !important;
    padding-bottom: 30px !important;
}

.elementor-section[data-id="207dffd"],
.elementor-section[data-id="7ab393c4"] {
    padding-top: 20px !important;
    padding-bottom: 20px !important;
}

/* --- #6: Simplify blues — reduce icon-circle variations --- */
.elementor-icon-box-icon .elementor-icon,
.pp-info-box-icon .pp-icon {
    color: var(--hm-primary) !important;
    border-color: var(--hm-primary) !important;
}

/* --- About Us: Value cards modernized --- */
[data-id="f4495fa"] .pp-tm-content.pp-tm-content-normal {
    background: #FFFFFF !important;
    border-radius: 16px !important;
    padding: 30px 24px !important;
    box-shadow: 0 4px 20px rgba(0, 0, 0, 0.08) !important;
    border-top: 4px solid var(--hm-primary) !important;
    transition: transform 0.2s, box-shadow 0.2s !important;
}

[data-id="f4495fa"] .pp-tm-content.pp-tm-content-normal:hover {
    transform: translateY(-4px) !important;
    box-shadow: 0 8px 30px rgba(0, 0, 0, 0.12) !important;
}

[data-id="f4495fa"] .pp-tm-content .pp-tm-name {
    color: var(--hm-primary) !important;
    font-family: 'Montserrat', sans-serif !important;
    font-weight: 700 !important;
    font-size: 1.2rem !important;
    margin-bottom: 10px !important;
}

[data-id="f4495fa"] .pp-tm-content .pp-tm-description,
[data-id="f4495fa"] .pp-tm-content .pp-tm-description p {
    color: #555555 !important;
    font-size: 0.95rem !important;
    line-height: 1.6 !important;
}

/* --- Icon circles: force perfect circle (equal width/height) --- */
.elementor-icon-box-icon .elementor-icon {
    width: 68px !important;
    height: 68px !important;
    line-height: 68px !important;
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
}

/* --- #7: Unify body text color across all sections (exclude footer + dark sections) --- */
.elementor-text-editor,
.elementor-text-editor p,
.elementor-icon-box-description,
.pp-info-box-description,
.elementor-widget-text-editor p {
    color: #444444 !important;
}

/* Override: hero & dark-overlay sections text must stay white/light (not #444) */
[data-id="633e0b8"] .elementor-text-editor p,
[data-id="633e0b8"] .elementor-widget-text-editor p,
[data-id="cf7d9a7"] .elementor-text-editor p,
[data-id="a5c28ce"] .elementor-text-editor p,
[data-id="6cb63220"] .elementor-text-editor p,
[data-id="7b172487"] .elementor-text-editor p,
[data-id="5887753b"] .elementor-text-editor p,
[data-id="28f16ae1"] .elementor-text-editor p,
[data-id="28f16ae1"] .elementor-text-editor strong,
[data-id="28f16ae1"] .elementor-widget-container {
    color: rgba(255, 255, 255, 0.92) !important;
}

/* CTA dark-overlay section: ALL text must be white */
[data-id="28f16ae1"] .elementor-element.elementor-widget-heading .elementor-heading-title {
    color: #FFFFFF !important;
    text-shadow: 0 2px 8px rgba(0, 0, 0, 0.3) !important;
}

[data-id="28f16ae1"] p,
[data-id="28f16ae1"] strong,
[data-id="28f16ae1"] .elementor-widget-text-editor p {
    color: rgba(255, 255, 255, 0.92) !important;
}

/* About Us "Our Company Values" section — white text on dark overlay */
[data-id="f4495fa"] .elementor-text-editor p,
[data-id="f4495fa"] .elementor-text-editor,
[data-id="f4495fa"] .elementor-icon-box-description,
[data-id="f4495fa"] .elementor-icon-box-title,
[data-id="f4495fa"] p {
    color: rgba(255, 255, 255, 0.92) !important;
}

/* --- Footer override: ensure all footer text stays white on dark blue --- */
footer .elementor-text-editor,
footer .elementor-text-editor p,
footer .elementor-icon-box-description,
footer .elementor-widget-text-editor p,
footer .elementor-icon-list-text,
footer a,
footer p,
[data-id="43720d34"] .elementor-text-editor,
[data-id="43720d34"] .elementor-text-editor p,
[data-id="43720d34"] .elementor-icon-list-text,
[data-id="43720d34"] a,
[data-id="43720d34"] p {
    color: rgba(255, 255, 255, 0.9) !important;
}

/* Footer headings — high specificity to beat Elementor's post-26.css (0,4,0) */
[data-id="43720d34"] .elementor-element.elementor-widget-heading .elementor-heading-title,
footer .elementor-section .elementor-element.elementor-widget-heading .elementor-heading-title {
    color: #FFFFFF !important;
    font-size: 18px !important;
    font-weight: 700 !important;
    margin-bottom: 16px !important;
}

/* --- Hero headings: high specificity to beat Elementor's per-page CSS --- */
[data-id="633e0b8"] .elementor-element.elementor-widget-heading .elementor-heading-title,
[data-id="cf7d9a7"] .elementor-element.elementor-widget-heading .elementor-heading-title,
[data-id="a5c28ce"] .elementor-element.elementor-widget-heading .elementor-heading-title,
[data-id="6cb63220"] .elementor-element.elementor-widget-heading .elementor-heading-title,
[data-id="7b172487"] .elementor-element.elementor-widget-heading .elementor-heading-title,
[data-id="5887753b"] .elementor-element.elementor-widget-heading .elementor-heading-title {
    color: #FFFFFF !important;
    text-shadow: 0 2px 8px rgba(0, 0, 0, 0.4) !important;
}

/* --- #3: Fix CTA box overlap on domestic page --- */
[data-id="5ab2a6c6"],
[data-id="3f212e41"] {
    position: relative !important;
    z-index: 1 !important;
    overflow: hidden !important;
}

/* --- #9: Footer font fix --- */
.hm-font-loaded body {
    font-family: 'Inter', -apple-system, BlinkMacSystemFont, sans-serif;
}

/* ==========================================================
   LOW PRIORITY FIXES
   ========================================================== */

/* --- #8: Nav CTA left margin --- */
.hfe-nav-menu .hfe-menu-item[href*="booking"] {
    margin-left: 12px !important;
}

/* --- #13: Footer social icons hover --- */
.elementor-social-icon {
    transition: transform 0.2s, opacity 0.2s !important;
}

.elementor-social-icon:hover {
    transform: translateY(-3px) !important;
    opacity: 0.8 !important;
}

/* --- #18: Copyright year (handled in JS) --- */

/* --- #11: Services dropdown — add pricing link (handled in JS) --- */

/* --- #12: Testimonials "See all reviews" link --- */
.hm-reviews-link {
    display: block;
    text-align: center;
    margin-top: 20px;
    font-family: 'Inter', sans-serif;
    color: var(--hm-primary);
    font-weight: 600;
    text-decoration: none;
    transition: color 0.2s;
}

.hm-reviews-link:hover {
    color: var(--hm-accent);
    text-decoration: underline;
}