/**
 * MyHomeCover Widgets - Styles Frontend
 * Version: 1.0.13
 *
 * Haute specificite pour override Elementor Kit
 * Utilisation de !important sur les couleurs et backgrounds
 */

/* ==========================================================================
   CSS VARIABLES - Design Tokens
   ========================================================================== */

:root {
    /* Palette MyHomeCover - Enhanced Contrast */
    --mhc-cream: #E4E2DD;
    --mhc-text: #2A2A2A;
    --mhc-accent: #BEB496;
    --mhc-dark: rgba(15, 15, 15, 0.97);
    --mhc-white: #FFFFFF;
    --mhc-black: #1A1A1A;
    --mhc-gray: #7A7A7A;

    /* Typography */
    --mhc-font-display: 'Clash Display', -apple-system, BlinkMacSystemFont, sans-serif;
    --mhc-font-body: 'Outfit', -apple-system, BlinkMacSystemFont, 'Segoe UI', sans-serif;

    /* Spacing */
    --mhc-space-xs: 0.5rem;
    --mhc-space-sm: 1rem;
    --mhc-space-md: 2rem;
    --mhc-space-lg: 4rem;
    --mhc-space-xl: 6rem;
    --mhc-space-2xl: 8rem;

    /* Container */
    --mhc-container: 1200px;
    --mhc-container-padding: 1.5rem;

    /* Transitions */
    --mhc-transition-fast: 0.2s cubic-bezier(0.4, 0, 0.2, 1);
    --mhc-transition-smooth: 0.4s cubic-bezier(0.4, 0, 0.2, 1);
    --mhc-transition-slow: 0.6s cubic-bezier(0.4, 0, 0.2, 1);

    /* Border Radius */
    --mhc-radius-sm: 4px;
    --mhc-radius-md: 8px;
    --mhc-radius-lg: 16px;
    --mhc-radius-xl: 24px;
}

/* ==========================================================================
   BASE RESETS
   ========================================================================== */

.mhc-header,
.mhc-hero,
.mhc-about,
.mhc-services,
.mhc-testimonials,
.mhc-faq,
.mhc-cta,
.mhc-footer {
    box-sizing: border-box !important;
    font-family: var(--mhc-font-body) !important;
}

.mhc-header *,
.mhc-hero *,
.mhc-about *,
.mhc-services *,
.mhc-testimonials *,
.mhc-faq *,
.mhc-cta *,
.mhc-footer * {
    box-sizing: border-box !important;
}

/* ==========================================================================
   HEADER NAVIGATION - Elegant Luxury Design
   ========================================================================== */

.mhc-header {
    position: fixed !important;
    top: 0 !important;
    left: 0 !important;
    right: 0 !important;
    z-index: 9999 !important;
    background-color: var(--mhc-header-bg, rgba(20, 20, 20, 0.92)) !important;
    backdrop-filter: blur(20px) saturate(180%) !important;
    -webkit-backdrop-filter: blur(20px) saturate(180%) !important;
    padding: 0 !important;
    transition: transform 0.5s cubic-bezier(0.4, 0, 0.2, 1),
                background-color 0.5s cubic-bezier(0.4, 0, 0.2, 1),
                box-shadow 0.5s cubic-bezier(0.4, 0, 0.2, 1) !important;
    box-shadow: 0 1px 0 rgba(255, 255, 255, 0.05) !important;
}

.mhc-header.is-scrolled {
    background-color: rgba(15, 15, 15, 0.98) !important;
    box-shadow: 0 4px 30px rgba(0, 0, 0, 0.3) !important;
}

.mhc-header.is-hidden {
    transform: translateY(-100%) !important;
}

/* Subtle gold accent line at top */
.mhc-header__accent-line {
    position: absolute !important;
    top: 0 !important;
    left: 0 !important;
    right: 0 !important;
    height: 2px !important;
    background: linear-gradient(90deg,
        transparent 0%,
        var(--mhc-header-cta-bg, #BEB496) 20%,
        var(--mhc-header-cta-bg, #BEB496) 80%,
        transparent 100%) !important;
    opacity: 0.6 !important;
}

/* Mobile overlay */
.mhc-header__mobile-overlay {
    position: fixed !important;
    top: 0 !important;
    left: 0 !important;
    right: 0 !important;
    bottom: 0 !important;
    background: rgba(0, 0, 0, 0.5) !important;
    backdrop-filter: blur(5px) !important;
    opacity: 0 !important;
    visibility: hidden !important;
    pointer-events: none !important;
    transition: opacity 0.4s ease, visibility 0.4s ease !important;
    z-index: 9998 !important;
}

.mhc-header__mobile-overlay.is-visible {
    opacity: 1 !important;
    visibility: visible !important;
    pointer-events: auto !important;
}

.mhc-header__container {
    max-width: var(--mhc-container) !important;
    margin: 0 auto !important;
    padding: 1.25rem var(--mhc-container-padding) !important;
    display: flex !important;
    align-items: center !important;
    justify-content: space-between !important;
    position: relative !important;
}

/* Logo styles */
.mhc-header__logo {
    display: flex !important;
    align-items: center !important;
    text-decoration: none !important;
    color: var(--mhc-header-link, #FFFFFF) !important;
    transition: transform 0.4s cubic-bezier(0.4, 0, 0.2, 1),
                opacity 0.3s ease !important;
    position: relative !important;
    z-index: 10002 !important;
}

.mhc-header__logo:hover {
    transform: scale(1.02) !important;
    opacity: 0.9 !important;
    color: var(--mhc-header-link, #FFFFFF) !important;
}

.mhc-header__logo-svg {
    width: 140px !important;
    height: auto !important;
    transition: filter 0.3s ease !important;
}

.mhc-header__logo-img {
    max-height: 60px !important;
    width: auto !important;
    min-width: 120px !important;
    display: block !important;
    filter: brightness(0) invert(1) !important;
    transition: filter 0.3s ease !important;
}

.mhc-header__logo:hover .mhc-header__logo-img {
    filter: brightness(0) invert(1) drop-shadow(0 0 8px rgba(190, 180, 150, 0.3)) !important;
}

.mhc-header__logo:hover .mhc-header__logo-svg {
    filter: drop-shadow(0 0 8px rgba(190, 180, 150, 0.4)) !important;
}

.mhc-header__logo-svg,
body .mhc-header .mhc-header__logo-svg,
.mhc-header__logo svg {
    width: 140px !important;
    height: auto !important;
}

/* Navigation */
.mhc-header__nav {
    display: flex !important;
    align-items: center !important;
}

.mhc-header__menu {
    display: flex !important;
    align-items: center !important;
    gap: 0.5rem !important;
    list-style: none !important;
    margin: 0 !important;
    padding: 0 !important;
}

.mhc-header__item {
    margin: 0 !important;
    padding: 0 !important;
}

/* Navigation links with elegant underline animation */
.mhc-header__link {
    display: inline-flex !important;
    align-items: center !important;
    color: rgba(255, 255, 255, 0.85) !important;
    text-decoration: none !important;
    font-family: var(--mhc-font-body) !important;
    font-size: 0.875rem !important;
    font-weight: 500 !important;
    letter-spacing: 0.08em !important;
    text-transform: uppercase !important;
    padding: 0.75rem 1.25rem !important;
    position: relative !important;
    transition: color 0.3s ease !important;
    background-color: transparent !important;
    opacity: 1 !important;
}

.mhc-header__link-text {
    position: relative !important;
    z-index: 1 !important;
}

/* Elegant underline effect */
.mhc-header__link-underline {
    position: absolute !important;
    bottom: 0.5rem !important;
    left: 1.25rem !important;
    right: 1.25rem !important;
    height: 1px !important;
    background-color: var(--mhc-header-cta-bg, #BEB496) !important;
    transform: scaleX(0) !important;
    transform-origin: right !important;
    transition: transform 0.4s cubic-bezier(0.4, 0, 0.2, 1) !important;
}

.mhc-header__link:hover {
    color: #FFFFFF !important;
}

.mhc-header__link:hover .mhc-header__link-underline {
    transform: scaleX(1) !important;
    transform-origin: left !important;
}

/* Remove old ::after underline */
.mhc-header__link::after {
    display: none !important;
}

/* CTA Button - Refined luxury style */
.mhc-header__link--cta {
    background: linear-gradient(135deg,
        var(--mhc-header-cta-bg, #BEB496) 0%,
        #D4C9A8 100%) !important;
    color: #1a1a1a !important;
    padding: 0.875rem 1.75rem !important;
    border-radius: 2px !important;
    font-weight: 600 !important;
    font-size: 0.8rem !important;
    letter-spacing: 0.12em !important;
    gap: 0.75rem !important;
    box-shadow: 0 2px 10px rgba(190, 180, 150, 0.2),
                inset 0 1px 0 rgba(255, 255, 255, 0.2) !important;
    transition: transform 0.3s cubic-bezier(0.4, 0, 0.2, 1),
                box-shadow 0.3s ease,
                background 0.3s ease !important;
    overflow: hidden !important;
    position: relative !important;
}

.mhc-header__link--cta .mhc-header__link-underline {
    display: none !important;
}

.mhc-header__cta-text {
    position: relative !important;
    z-index: 1 !important;
}

.mhc-header__cta-arrow {
    width: 16px !important;
    height: 16px !important;
    transition: transform 0.3s cubic-bezier(0.4, 0, 0.2, 1) !important;
    position: relative !important;
    z-index: 1 !important;
}

.mhc-header__link--cta:hover {
    transform: translateY(-2px) !important;
    box-shadow: 0 6px 20px rgba(190, 180, 150, 0.35),
                inset 0 1px 0 rgba(255, 255, 255, 0.3) !important;
    background: linear-gradient(135deg,
        #D4C9A8 0%,
        #E8DFC4 100%) !important;
    color: #1a1a1a !important;
}

.mhc-header__link--cta:hover .mhc-header__cta-arrow {
    transform: translateX(4px) !important;
}

/* Burger Menu - Elegant animation */
.mhc-header__burger {
    display: none !important;
    justify-content: center !important;
    align-items: center !important;
    width: 48px !important;
    height: 48px !important;
    background: transparent !important;
    border: 1px solid rgba(255, 255, 255, 0.15) !important;
    border-radius: 4px !important;
    cursor: pointer !important;
    padding: 0 !important;
    z-index: 10001 !important;
    transition: border-color 0.3s ease, background-color 0.3s ease !important;
}

.mhc-header__burger:hover {
    border-color: var(--mhc-header-cta-bg, #BEB496) !important;
    background-color: rgba(190, 180, 150, 0.1) !important;
}

.mhc-header__burger-inner {
    display: flex !important;
    flex-direction: column !important;
    justify-content: center !important;
    align-items: center !important;
    width: 20px !important;
    height: 14px !important;
    position: relative !important;
}

.mhc-header__burger-line {
    display: block !important;
    width: 20px !important;
    height: 1.5px !important;
    background-color: var(--mhc-header-link, #FFFFFF) !important;
    position: absolute !important;
    left: 0 !important;
    transition: transform 0.4s cubic-bezier(0.4, 0, 0.2, 1),
                opacity 0.3s ease,
                background-color 0.3s ease !important;
}

.mhc-header__burger-line:nth-child(1) {
    top: 0 !important;
}

.mhc-header__burger-line:nth-child(2) {
    top: 50% !important;
    transform: translateY(-50%) !important;
}

.mhc-header__burger-line:nth-child(3) {
    bottom: 0 !important;
}

.mhc-header__burger.is-active .mhc-header__burger-line:nth-child(1) {
    top: 50% !important;
    transform: translateY(-50%) rotate(45deg) !important;
    background-color: var(--mhc-header-cta-bg, #BEB496) !important;
}

.mhc-header__burger.is-active .mhc-header__burger-line:nth-child(2) {
    opacity: 0 !important;
    transform: translateY(-50%) scaleX(0) !important;
}

.mhc-header__burger.is-active .mhc-header__burger-line:nth-child(3) {
    bottom: auto !important;
    top: 50% !important;
    transform: translateY(-50%) rotate(-45deg) !important;
    background-color: var(--mhc-header-cta-bg, #BEB496) !important;
}

/* Mobile Navigation - Beautiful slide-in menu */
@media (max-width: 1023px) {
    .mhc-header__burger {
        display: flex !important;
    }

    .mhc-header__nav {
        position: fixed !important;
        top: 0 !important;
        right: -100% !important;
        bottom: 0 !important;
        width: 100% !important;
        max-width: 400px !important;
        height: 100vh !important;
        overflow-y: auto !important;
        background: linear-gradient(180deg,
            rgba(20, 20, 20, 0.98) 0%,
            rgba(30, 30, 30, 0.98) 100%) !important;
        backdrop-filter: blur(30px) !important;
        display: flex !important;
        flex-direction: column !important;
        justify-content: center !important;
        align-items: center !important;
        transition: right 0.5s cubic-bezier(0.4, 0, 0.2, 1) !important;
        z-index: 10000 !important;
        box-shadow: -10px 0 40px rgba(0, 0, 0, 0.5) !important;
        padding: 2rem !important;
    }

    .mhc-header__nav::before {
        content: '' !important;
        position: absolute !important;
        top: 0 !important;
        left: 0 !important;
        width: 2px !important;
        height: 100% !important;
        background: linear-gradient(180deg,
            transparent 0%,
            var(--mhc-header-cta-bg, #BEB496) 30%,
            var(--mhc-header-cta-bg, #BEB496) 70%,
            transparent 100%) !important;
        opacity: 0.4 !important;
    }

    .mhc-header__nav.is-open {
        right: 0 !important;
    }

    .mhc-header__menu {
        flex-direction: column !important;
        gap: 0 !important;
        text-align: center !important;
        width: 100% !important;
    }

    .mhc-header__item {
        width: 100% !important;
        opacity: 0 !important;
        transform: translateX(30px) !important;
        transition: opacity 0.4s ease, transform 0.4s ease !important;
    }

    .mhc-header__nav.is-open .mhc-header__item {
        opacity: 1 !important;
        transform: translateX(0) !important;
        transition-delay: calc(var(--item-index, 0) * 0.08s) !important;
    }

    .mhc-header__link {
        font-family: var(--mhc-font-display) !important;
        font-size: 1.75rem !important;
        font-weight: 500 !important;
        letter-spacing: 0.04em !important;
        text-transform: none !important;
        color: rgba(255, 255, 255, 0.7) !important;
        padding: 1rem 1.5rem !important;
        width: 100% !important;
        justify-content: center !important;
        border-bottom: 1px solid rgba(255, 255, 255, 0.05) !important;
    }

    .mhc-header__link:hover {
        color: #FFFFFF !important;
        background-color: rgba(190, 180, 150, 0.08) !important;
    }

    .mhc-header__link-underline {
        bottom: 0.75rem !important;
        left: 50% !important;
        right: auto !important;
        width: 40px !important;
        transform: translateX(-50%) scaleX(0) !important;
    }

    .mhc-header__link:hover .mhc-header__link-underline {
        transform: translateX(-50%) scaleX(1) !important;
    }

    /* CTA in mobile menu */
    .mhc-header__link--cta {
        margin-top: 2rem !important;
        padding: 1.25rem 2.5rem !important;
        font-size: 0.9rem !important;
        width: auto !important;
        border-bottom: none !important;
    }

    .mhc-header__link--cta:hover {
        background-color: transparent !important;
    }
}

/* Extra small screens */
@media (max-width: 480px) {
    .mhc-header__container {
        padding: 1rem var(--mhc-container-padding) !important;
    }

    .mhc-header__nav {
        max-width: 100% !important;
        padding: 5rem 1.25rem 2rem !important;
    }

    .mhc-header__link {
        font-size: 1.5rem !important;
        padding: 0.9rem 1rem !important;
    }

    .mhc-header__link--cta {
        width: 100% !important;
        justify-content: center !important;
        margin-top: 1.25rem !important;
        padding-inline: 1.25rem !important;
    }
}

/* ==========================================================================
   HERO SECTION
   ========================================================================== */

.mhc-hero {
    position: relative !important;
    min-height: var(--mhc-hero-height, 100vh) !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    background-image: var(--mhc-hero-bg) !important;
    background-size: cover !important;
    background-position: center !important;
    background-repeat: no-repeat !important;
    overflow: hidden !important;
    /* Full bleed */
    width: 100vw !important;
    margin-left: calc(-50vw + 50%) !important;
    margin-right: calc(-50vw + 50%) !important;
}

/* Subpage hero - shorter height */
.mhc-hero--subpage {
    min-height: 60vh !important;
}

.mhc-hero__overlay {
    position: absolute !important;
    inset: 0 !important;
    background-color: var(--mhc-hero-overlay, rgba(30, 30, 30, 0.5)) !important;
    z-index: 1 !important;
}

.mhc-hero__content {
    position: relative !important;
    z-index: 2 !important;
    text-align: var(--mhc-hero-align, center) !important;
    max-width: min(1280px, calc(100% - (2 * var(--mhc-container-padding))) ) !important;
    padding: var(--mhc-space-md) var(--mhc-container-padding) !important;
    width: 100% !important;
}

/* Subpage content - centered with better padding */
.mhc-hero--subpage .mhc-hero__content {
    padding-top: 100px !important;
    display: flex !important;
    flex-direction: column !important;
    align-items: center !important;
    justify-content: center !important;
}

.mhc-hero__title {
    font-family: var(--mhc-font-display);
    font-size: clamp(1.5rem, 3.5vw, 2.25rem);
    font-weight: 600;
    color: var(--mhc-hero-title, #FFFFFF) !important;
    margin: 0 0 var(--mhc-space-xs) !important;
    letter-spacing: 0.02em;
    text-transform: uppercase;
    line-height: 1.2;
    text-wrap: balance;
    overflow-wrap: anywhere;
    max-width: 100% !important;
    white-space: nowrap !important;
}

/* Homepage hero - EXCEPTIONAL */
.mhc-hero--homepage {
    min-height: 100vh !important;
}

.mhc-hero--homepage .mhc-hero__content {
    padding-top: 120px !important;
}

/* Keyframes for homepage hero */
@keyframes mhcHeroFadeInUp {
    from {
        opacity: 0;
        transform: translateY(50px);
    }
    to {
        opacity: 1;
        transform: translateY(0);
    }
}

/* Animations Homepage */
.mhc-hero--homepage .mhc-hero__title {
    font-size: clamp(3rem, 8vw, 6rem);
    font-weight: 700;
    letter-spacing: 0.08em;
    text-shadow: 0 4px 30px rgba(0, 0, 0, 0.3) !important;
    margin-bottom: var(--mhc-space-md) !important;
    animation: mhcHeroFadeInUp 1.2s cubic-bezier(0.4, 0, 0.2, 1) both !important;
    animation-delay: 0.1s !important;
}

.mhc-hero--homepage .mhc-hero__subtitle {
    font-size: clamp(1rem, 2vw, 1.35rem);
    letter-spacing: 0.15em;
    text-transform: uppercase;
    font-weight: 300;
    max-width: 700px !important;
    margin-left: auto !important;
    margin-right: auto !important;
    animation: mhcHeroFadeInUp 1.2s cubic-bezier(0.4, 0, 0.2, 1) both !important;
    animation-delay: 0.4s !important;
}

.mhc-hero--homepage .mhc-hero__cta {
    padding: 1.25rem 3rem !important;
    font-size: 1rem !important;
    letter-spacing: 0.1em !important;
    margin-top: var(--mhc-space-xl) !important;
    box-shadow: 0 4px 20px rgba(190, 180, 150, 0.3) !important;
    animation: mhcHeroFadeInUp 1s cubic-bezier(0.4, 0, 0.2, 1) both !important;
    animation-delay: 0.7s !important;
}

.mhc-hero--homepage .mhc-hero__cta:hover {
    box-shadow: 0 8px 30px rgba(190, 180, 150, 0.4) !important;
}

/* Subpage hero - compact */
.mhc-hero--subpage {
    min-height: 60vh !important;
}

.mhc-hero--subpage .mhc-hero__title {
    font-size: clamp(1.5rem, 3.5vw, 2.25rem);
    letter-spacing: 0.02em;
}

.mhc-hero__subtitle {
    font-family: var(--mhc-font-body);
    font-size: clamp(0.9rem, 1.5vw, 1.1rem);
    font-weight: 400;
    color: var(--mhc-hero-subtitle, #E4E2DD) !important;
    margin: 0 !important;
    letter-spacing: 0.02em;
    max-width: 550px !important;
    line-height: 1.5;
    text-align: var(--mhc-hero-align, center) !important;
}

.mhc-hero__cta {
    display: inline-flex !important;
    align-items: center !important;
    gap: var(--mhc-space-xs) !important;
    background-color: var(--mhc-hero-cta-bg, #BEB496) !important;
    color: var(--mhc-hero-cta-text, #1E1E1E) !important;
    text-decoration: none !important;
    padding: 1rem 2.5rem !important;
    font-size: 1rem !important;
    font-weight: 600 !important;
    letter-spacing: 0.05em !important;
    text-transform: uppercase !important;
    border-radius: var(--mhc-radius-sm) !important;
    transition: transform var(--mhc-transition-fast), background-color var(--mhc-transition-fast) !important;
    margin-top: var(--mhc-space-lg) !important;
}

.mhc-hero__cta:hover {
    background-color: var(--mhc-white) !important;
    color: var(--mhc-black) !important;
    transform: translateY(-3px) !important;
}

/* ==========================================================================
   ABOUT SECTION
   ========================================================================== */

.mhc-about {
    background-color: var(--mhc-about-bg, #E4E2DD) !important;
    padding: var(--mhc-space-2xl) 0 !important;
    /* Full bleed */
    width: 100vw !important;
    margin-left: calc(-50vw + 50%) !important;
    margin-right: calc(-50vw + 50%) !important;
}

.mhc-about__container {
    max-width: var(--mhc-container) !important;
    margin: 0 auto !important;
    padding: 0 var(--mhc-container-padding) !important;
    display: grid !important;
    grid-template-columns: 1fr !important;
    gap: var(--mhc-space-xl) !important;
}

@media (min-width: 1024px) {
    .mhc-about__container {
        grid-template-columns: 1fr 1fr !important;
        align-items: center !important;
    }
}

.mhc-about__text {
    max-width: 560px !important;
}

.mhc-about__title {
    font-family: var(--mhc-font-display) !important;
    font-size: clamp(2.5rem, 5vw, 3.5rem) !important;
    font-weight: 600 !important;
    color: var(--mhc-about-title, #1A1A1A) !important;
    margin: 0 0 var(--mhc-space-md) !important;
    position: relative !important;
    padding-left: var(--mhc-space-md) !important;
}

.mhc-about__title-accent {
    position: absolute !important;
    left: 0 !important;
    top: 0.2em !important;
    width: 4px !important;
    height: 1.2em !important;
    background-color: var(--mhc-about-accent, #BEB496) !important;
}

.mhc-about__description {
    font-family: var(--mhc-font-body) !important;
    font-size: 1.1rem !important;
    line-height: 1.8 !important;
    color: var(--mhc-about-text, #2A2A2A) !important;
    margin: 0 !important;
}

/* Carousel */
.mhc-about__carousel {
    position: relative !important;
    overflow: hidden !important;
    border-radius: var(--mhc-radius-lg) !important;
    box-shadow: 0 20px 60px rgba(0, 0, 0, 0.15) !important;
}

.mhc-about__carousel-track {
    position: relative !important;
    width: 100% !important;
    aspect-ratio: 4/3 !important;
}

.mhc-about__carousel-slide {
    position: absolute !important;
    inset: 0 !important;
    opacity: 0 !important;
    transition: opacity var(--mhc-transition-slow) !important;
}

.mhc-about__carousel-slide.is-active {
    opacity: 1 !important;
}

.mhc-about__carousel-slide img {
    width: 100% !important;
    height: 100% !important;
    object-fit: cover !important;
}

.mhc-about__carousel-nav {
    position: absolute !important;
    bottom: var(--mhc-space-md) !important;
    left: 50% !important;
    transform: translateX(-50%) !important;
    display: flex !important;
    align-items: center !important;
    gap: var(--mhc-space-sm) !important;
    background-color: rgba(30, 30, 30, 0.8) !important;
    padding: var(--mhc-space-xs) var(--mhc-space-sm) !important;
    border-radius: 100px !important;
    backdrop-filter: blur(10px) !important;
}

.mhc-about__carousel-btn {
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    width: 36px !important;
    height: 36px !important;
    background: transparent !important;
    border: none !important;
    color: var(--mhc-white) !important;
    cursor: pointer !important;
    transition: color var(--mhc-transition-fast) !important;
    padding: 0 !important;
}

.mhc-about__carousel-btn:hover {
    color: var(--mhc-about-accent, #BEB496) !important;
}

.mhc-about__carousel-dots {
    display: flex !important;
    gap: var(--mhc-space-xs) !important;
}

.mhc-about__carousel-dot {
    width: 8px !important;
    height: 8px !important;
    border-radius: 50% !important;
    background-color: rgba(255, 255, 255, 0.4) !important;
    border: none !important;
    cursor: pointer !important;
    padding: 0 !important;
    transition: background-color var(--mhc-transition-fast), transform var(--mhc-transition-fast) !important;
}

.mhc-about__carousel-dot.is-active {
    background-color: var(--mhc-about-accent, #BEB496) !important;
    transform: scale(1.3) !important;
}

/* ==========================================================================
   SERVICES GRID
   ========================================================================== */

.mhc-services {
    background-color: var(--mhc-services-bg, #FFFFFF) !important;
    padding: var(--mhc-space-2xl) 0 !important;
    /* Full bleed */
    width: 100vw !important;
    margin-left: calc(-50vw + 50%) !important;
    margin-right: calc(-50vw + 50%) !important;
}

.mhc-services__container {
    max-width: var(--mhc-container) !important;
    margin: 0 auto !important;
    padding: 0 var(--mhc-container-padding) !important;
}

.mhc-services__title {
    font-family: var(--mhc-font-display) !important;
    font-size: clamp(2.5rem, 5vw, 3.5rem) !important;
    font-weight: 600 !important;
    color: var(--mhc-services-title, #1A1A1A) !important;
    margin: 0 0 var(--mhc-space-xl) !important;
    text-align: center !important;
    position: relative !important;
}

.mhc-services__title-accent {
    display: block !important;
    width: 60px !important;
    height: 4px !important;
    background-color: var(--mhc-services-accent, #BEB496) !important;
    margin: 0 auto var(--mhc-space-md) !important;
}

.mhc-services__grid {
    display: grid !important;
    grid-template-columns: 1fr !important;
    gap: var(--mhc-space-md) !important;
}

@media (min-width: 768px) {
    .mhc-services__grid {
        grid-template-columns: repeat(2, 1fr) !important;
    }
}

.mhc-services__card {
    position: relative !important;
    overflow: hidden !important;
    border-radius: var(--mhc-radius-lg) !important;
    background-color: var(--mhc-services-card-bg, #E4E2DD) !important;
    transition: transform var(--mhc-transition-smooth), box-shadow var(--mhc-transition-smooth) !important;
}

.mhc-services__card:hover {
    transform: translateY(-8px) !important;
    box-shadow: 0 20px 50px rgba(0, 0, 0, 0.15) !important;
}

.mhc-services__card-image {
    position: relative !important;
    aspect-ratio: 16/10 !important;
    overflow: hidden !important;
}

.mhc-services__card-image img {
    width: 100% !important;
    height: 100% !important;
    object-fit: cover !important;
    object-position: center center !important;
    transition: transform var(--mhc-transition-slow) !important;
}

.mhc-services__card:hover .mhc-services__card-image img {
    transform: scale(1.08) !important;
}

.mhc-services__card-overlay {
    position: absolute !important;
    inset: 0 !important;
    background: linear-gradient(to top, var(--mhc-services-overlay, rgba(30, 30, 30, 0.4)), transparent) !important;
    opacity: 0 !important;
    transition: opacity var(--mhc-transition-smooth) !important;
}

.mhc-services__card:hover .mhc-services__card-overlay {
    opacity: 1 !important;
}

.mhc-services__card-content {
    padding: var(--mhc-space-md) !important;
}

.mhc-services__card-title {
    font-family: var(--mhc-font-display) !important;
    font-size: 1.5rem !important;
    font-weight: 600 !important;
    color: var(--mhc-services-card-title, #1A1A1A) !important;
    margin: 0 0 var(--mhc-space-sm) !important;
}

.mhc-services__card-description {
    font-size: 0.95rem !important;
    line-height: 1.7 !important;
    color: var(--mhc-services-card-text, #2A2A2A) !important;
    margin: 0 0 var(--mhc-space-md) !important;
}

.mhc-services__card-link {
    display: inline-flex !important;
    align-items: center !important;
    gap: var(--mhc-space-xs) !important;
    color: var(--mhc-services-accent, #BEB496) !important;
    text-decoration: none !important;
    font-weight: 600 !important;
    font-size: 0.9rem !important;
    text-transform: uppercase !important;
    letter-spacing: 0.05em !important;
    transition: gap var(--mhc-transition-fast), color var(--mhc-transition-fast) !important;
    background-color: transparent !important;
}

.mhc-services__card-link:hover {
    gap: var(--mhc-space-sm) !important;
    color: var(--mhc-black) !important;
}

/* ==========================================================================
   TESTIMONIALS
   ========================================================================== */

.mhc-testimonials {
    background-color: var(--mhc-testimonials-bg, #E4E2DD) !important;
    padding: var(--mhc-space-2xl) 0 !important;
    /* Full bleed */
    width: 100vw !important;
    margin-left: calc(-50vw + 50%) !important;
    margin-right: calc(-50vw + 50%) !important;
}

.mhc-testimonials__container {
    max-width: var(--mhc-container) !important;
    margin: 0 auto !important;
    padding: 0 var(--mhc-container-padding) !important;
}

.mhc-testimonials__title {
    font-family: var(--mhc-font-display) !important;
    font-size: clamp(2.5rem, 5vw, 3.5rem) !important;
    font-weight: 600 !important;
    color: var(--mhc-testimonials-title, #1A1A1A) !important;
    margin: 0 0 var(--mhc-space-xl) !important;
    text-align: center !important;
}

.mhc-testimonials__title-accent {
    display: block !important;
    width: 60px !important;
    height: 4px !important;
    background-color: var(--mhc-testimonials-accent, #BEB496) !important;
    margin: 0 auto var(--mhc-space-md) !important;
}

.mhc-testimonials__grid {
    display: grid !important;
    grid-template-columns: 1fr !important;
    gap: var(--mhc-space-md) !important;
}

@media (min-width: 768px) {
    .mhc-testimonials__grid {
        grid-template-columns: repeat(2, 1fr) !important;
    }
}

@media (min-width: 1024px) {
    .mhc-testimonials__grid {
        grid-template-columns: repeat(3, 1fr) !important;
    }
}

.mhc-testimonials__card {
    background-color: var(--mhc-testimonials-card-bg, #FFFFFF) !important;
    padding: var(--mhc-space-lg) !important;
    border-radius: var(--mhc-radius-lg) !important;
    position: relative !important;
    transition: transform var(--mhc-transition-smooth), box-shadow var(--mhc-transition-smooth) !important;
}

.mhc-testimonials__card:hover {
    transform: translateY(-5px) !important;
    box-shadow: 0 15px 40px rgba(0, 0, 0, 0.1) !important;
}

.mhc-testimonials__quote-icon {
    color: var(--mhc-testimonials-accent, #BEB496) !important;
    opacity: 0.3 !important;
    margin-bottom: var(--mhc-space-sm) !important;
}

.mhc-testimonials__stars {
    display: flex !important;
    gap: 2px !important;
    margin-bottom: var(--mhc-space-md) !important;
}

.mhc-testimonials__star {
    color: var(--mhc-testimonials-star, #BEB496) !important;
}

.mhc-testimonials__star.is-filled {
    fill: var(--mhc-testimonials-star, #BEB496) !important;
}

.mhc-testimonials__text {
    font-size: 1rem !important;
    line-height: 1.8 !important;
    color: var(--mhc-testimonials-text, #2A2A2A) !important;
    margin: 0 0 var(--mhc-space-md) !important;
    font-style: italic !important;
}

.mhc-testimonials__author {
    display: flex !important;
    align-items: center !important;
    gap: var(--mhc-space-sm) !important;
}

.mhc-testimonials__avatar {
    width: 48px !important;
    height: 48px !important;
    border-radius: 50% !important;
    background-color: var(--mhc-testimonials-accent, #BEB496) !important;
    color: var(--mhc-white) !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    font-weight: 600 !important;
    font-size: 1.2rem !important;
}

.mhc-testimonials__author-info {
    display: flex !important;
    flex-direction: column !important;
}

.mhc-testimonials__author-name {
    font-weight: 600 !important;
    color: var(--mhc-testimonials-title, #1A1A1A) !important;
}

.mhc-testimonials__author-role {
    font-size: 0.85rem !important;
    color: var(--mhc-testimonials-accent, #BEB496) !important;
}

/* ==========================================================================
   FAQ ACCORDION
   ========================================================================== */

.mhc-faq {
    background-color: var(--mhc-faq-bg, #FFFFFF) !important;
    padding: var(--mhc-space-2xl) 0 !important;
    /* Full bleed */
    width: 100vw !important;
    margin-left: calc(-50vw + 50%) !important;
    margin-right: calc(-50vw + 50%) !important;
    overflow-x: clip !important;
}

.mhc-faq__container {
    max-width: 800px !important;
    margin: 0 auto !important;
    padding: 0 var(--mhc-container-padding) !important;
}

.mhc-faq__title {
    font-family: var(--mhc-font-display) !important;
    font-size: clamp(2.5rem, 5vw, 3.5rem) !important;
    font-weight: 600 !important;
    color: var(--mhc-faq-title, #1A1A1A) !important;
    margin: 0 0 var(--mhc-space-xl) !important;
    text-align: center !important;
}

.mhc-faq__title-accent {
    display: block !important;
    width: 60px !important;
    height: 4px !important;
    background-color: var(--mhc-faq-accent, #BEB496) !important;
    margin: 0 auto var(--mhc-space-md) !important;
}

.mhc-faq__accordion {
    display: flex !important;
    flex-direction: column !important;
    gap: var(--mhc-space-sm) !important;
}

.mhc-faq__item {
    border: 1px solid var(--mhc-faq-border, #E4E2DD) !important;
    border-radius: var(--mhc-radius-md) !important;
    overflow: hidden !important;
    transition: border-color var(--mhc-transition-fast) !important;
}

.mhc-faq__item:hover {
    border-color: var(--mhc-faq-accent, #BEB496) !important;
}

.mhc-faq__item.is-open {
    border-color: var(--mhc-faq-accent, #BEB496) !important;
}

.mhc-faq__question {
    width: 100% !important;
    display: flex !important;
    align-items: center !important;
    justify-content: space-between !important;
    gap: var(--mhc-space-md) !important;
    padding: var(--mhc-space-md) !important;
    background-color: transparent !important;
    border: none !important;
    cursor: pointer !important;
    text-align: left !important;
    font-family: var(--mhc-font-body) !important;
    transition: background-color var(--mhc-transition-fast) !important;
}

.mhc-faq__question:hover {
    background-color: rgba(190, 180, 150, 0.1) !important;
}

.mhc-faq__question-text {
    flex: 1 1 auto !important;
    min-width: 0 !important;
    font-size: 1.1rem !important;
    font-weight: 600 !important;
    color: var(--mhc-faq-question, #1A1A1A) !important;
    line-height: 1.45 !important;
}

.mhc-faq__icon {
    flex-shrink: 0 !important;
    color: var(--mhc-faq-accent, #BEB496) !important;
    transition: transform var(--mhc-transition-smooth) !important;
}

.mhc-faq__icon-vertical {
    transition: transform var(--mhc-transition-smooth), opacity var(--mhc-transition-smooth) !important;
}

.mhc-faq__item.is-open .mhc-faq__icon-vertical {
    transform: rotate(90deg) !important;
    opacity: 0 !important;
}

.mhc-faq__answer {
    max-height: 0 !important;
    overflow: hidden !important;
    opacity: 0 !important;
    transition: max-height var(--mhc-transition-smooth), opacity var(--mhc-transition-fast) !important;
}

.mhc-faq__item.is-open .mhc-faq__answer {
    max-height: 1000px !important;
    opacity: 1 !important;
}

.mhc-faq__answer-inner {
    padding: 0 var(--mhc-space-md) var(--mhc-space-md) !important;
}

.mhc-faq__answer-inner p {
    font-size: 1rem !important;
    line-height: 1.8 !important;
    color: var(--mhc-faq-answer, #444444) !important;
    margin: 0 !important;
}

/* ==========================================================================
   CTA SECTION
   ========================================================================== */

.mhc-cta {
    background-color: var(--mhc-cta-bg, #1E1E1E) !important;
    padding: var(--mhc-space-2xl) 0 !important;
    position: relative !important;
    overflow: hidden !important;
    /* Full bleed */
    width: 100vw !important;
    margin-left: calc(-50vw + 50%) !important;
    margin-right: calc(-50vw + 50%) !important;
}

.mhc-cta__container {
    max-width: var(--mhc-container) !important;
    margin: 0 auto !important;
    padding: 0 var(--mhc-container-padding) !important;
    position: relative !important;
    z-index: 2 !important;
}

.mhc-cta__content {
    text-align: center !important;
    max-width: 700px !important;
    margin: 0 auto !important;
}

.mhc-cta__title {
    font-family: var(--mhc-font-display) !important;
    font-size: clamp(2rem, 5vw, 3rem) !important;
    font-weight: 600 !important;
    color: var(--mhc-cta-title, #FFFFFF) !important;
    margin: 0 0 var(--mhc-space-md) !important;
}

.mhc-cta__description {
    font-size: 1.1rem !important;
    line-height: 1.8 !important;
    color: var(--mhc-cta-text, #E4E2DD) !important;
    margin: 0 0 var(--mhc-space-lg) !important;
}

.mhc-cta__actions {
    display: flex !important;
    flex-direction: column !important;
    align-items: center !important;
    gap: var(--mhc-space-md) !important;
}

@media (min-width: 640px) {
    .mhc-cta__actions {
        flex-direction: row !important;
        justify-content: center !important;
    }
}

.mhc-cta__button {
    display: inline-flex !important;
    align-items: center !important;
    gap: var(--mhc-space-xs) !important;
    background-color: var(--mhc-cta-btn-bg, #BEB496) !important;
    color: var(--mhc-cta-btn-text, #1E1E1E) !important;
    text-decoration: none !important;
    padding: 1rem 2rem !important;
    font-size: 1rem !important;
    font-weight: 600 !important;
    letter-spacing: 0.03em !important;
    border-radius: var(--mhc-radius-sm) !important;
    transition: transform var(--mhc-transition-fast), background-color var(--mhc-transition-fast), gap var(--mhc-transition-fast) !important;
}

.mhc-cta__button:hover {
    background-color: var(--mhc-white) !important;
    transform: translateY(-3px) !important;
    gap: var(--mhc-space-sm) !important;
    color: var(--mhc-black) !important;
}

.mhc-cta__phone {
    display: inline-flex !important;
    align-items: center !important;
    gap: var(--mhc-space-xs) !important;
    color: #FFFFFF !important;
    text-decoration: none !important;
    font-size: 1rem !important;
    font-weight: 600 !important;
    padding: 1rem 1.5rem !important;
    border: 2px solid var(--mhc-cta-accent, #BEB496) !important;
    border-radius: var(--mhc-radius-sm) !important;
    transition: background-color var(--mhc-transition-fast), color var(--mhc-transition-fast), border-color var(--mhc-transition-fast) !important;
    background-color: transparent !important;
}

.mhc-cta__phone:hover {
    background-color: var(--mhc-cta-accent, #BEB496) !important;
    color: var(--mhc-black) !important;
    border-color: var(--mhc-cta-accent, #BEB496) !important;
}

/* Decorations */
.mhc-cta__decoration {
    position: absolute !important;
    inset: 0 !important;
    pointer-events: none !important;
    z-index: 1 !important;
}

.mhc-cta__circle {
    position: absolute !important;
    border-radius: 50% !important;
    border: 1px solid var(--mhc-cta-accent, #BEB496) !important;
    opacity: 0.1 !important;
}

.mhc-cta__circle--1 {
    width: 400px !important;
    height: 400px !important;
    top: -200px !important;
    right: -100px !important;
}

.mhc-cta__circle--2 {
    width: 300px !important;
    height: 300px !important;
    bottom: -150px !important;
    left: -50px !important;
}

/* ==========================================================================
   FOOTER
   ========================================================================== */

.mhc-footer {
    background-color: var(--mhc-footer-bg, rgba(30, 30, 30, 0.95)) !important;
    padding: var(--mhc-space-xl) 0 var(--mhc-space-md) !important;
    /* Full bleed */
    width: 100vw !important;
    margin-left: calc(-50vw + 50%) !important;
    margin-right: calc(-50vw + 50%) !important;
}

.mhc-footer__container {
    max-width: var(--mhc-container) !important;
    margin: 0 auto !important;
    padding: 0 var(--mhc-container-padding) !important;
}

.mhc-footer__main {
    display: flex !important;
    flex-direction: column !important;
    gap: var(--mhc-space-lg) !important;
    padding-bottom: var(--mhc-space-lg) !important;
    border-bottom: 1px solid var(--mhc-footer-border, rgba(255, 255, 255, 0.1)) !important;
}

@media (min-width: 768px) {
    .mhc-footer__main {
        flex-direction: row !important;
        justify-content: space-between !important;
        align-items: flex-start !important;
    }
}

.mhc-footer__brand {
    max-width: 400px !important;
}

.mhc-footer__logo {
    display: inline-block !important;
    color: var(--mhc-footer-text, #FFFFFF) !important;
    text-decoration: none !important;
    margin-bottom: var(--mhc-space-md) !important;
    transition: opacity var(--mhc-transition-fast) !important;
}

.mhc-footer__logo:hover {
    opacity: 0.8 !important;
    color: var(--mhc-footer-text, #FFFFFF) !important;
}

.mhc-footer__logo-svg,
body .mhc-footer .mhc-footer__logo-svg,
.mhc-footer__logo svg,
.mhc-footer__logo-svg path {
    width: 150px !important;
    height: auto !important;
    color: #FFFFFF !important;
    fill: #FFFFFF !important;
}

.mhc-footer__logo-img {
    max-height: 60px !important;
    width: auto !important;
    min-width: 120px !important;
    display: block !important;
    filter: brightness(0) invert(1) !important;
}

.mhc-footer__description {
    font-size: 0.95rem !important;
    line-height: 1.7 !important;
    color: #D0D0D0 !important;
    margin: 0 !important;
}

.mhc-footer__social {
    text-align: center !important;
}

@media (min-width: 768px) {
    .mhc-footer__social {
        text-align: right !important;
    }
}

.mhc-footer__social-title {
    display: block !important;
    font-size: 0.85rem !important;
    font-weight: 600 !important;
    text-transform: uppercase !important;
    letter-spacing: 0.1em !important;
    color: var(--mhc-footer-text, #FFFFFF) !important;
    margin-bottom: var(--mhc-space-sm) !important;
}

.mhc-footer__social-links {
    display: flex !important;
    gap: var(--mhc-space-sm) !important;
    justify-content: center !important;
}

@media (min-width: 768px) {
    .mhc-footer__social-links {
        justify-content: flex-end !important;
    }
}

.mhc-footer__social-link {
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    width: 44px !important;
    height: 44px !important;
    border-radius: 50% !important;
    background-color: rgba(255, 255, 255, 0.15) !important;
    color: #FFFFFF !important;
    text-decoration: none !important;
    transition: background-color var(--mhc-transition-fast), transform var(--mhc-transition-fast) !important;
}

.mhc-footer__social-link:hover {
    background-color: var(--mhc-footer-accent, #BEB496) !important;
    color: var(--mhc-black) !important;
    transform: translateY(-3px) !important;
}

.mhc-footer__bottom {
    padding-top: var(--mhc-space-md) !important;
    display: flex !important;
    justify-content: space-between !important;
    align-items: center !important;
    flex-wrap: wrap !important;
    gap: 1rem !important;
}

.mhc-footer__copyright {
    font-size: 0.85rem !important;
    color: #C0C0C0 !important;
    margin: 0 !important;
}

.mhc-footer__credit {
    font-size: 0.8rem !important;
    color: #A0A0A0 !important;
    margin: 0 !important;
}

.mhc-footer__credit a {
    color: var(--mhc-footer-accent, #BEB496) !important;
    text-decoration: none !important;
    transition: opacity 0.3s ease !important;
}

.mhc-footer__credit a:hover {
    opacity: 0.8 !important;
    text-decoration: underline !important;
}

@media (max-width: 600px) {
    .mhc-footer__bottom {
        flex-direction: column !important;
        text-align: center !important;
    }
}

/* ==========================================================================
   ACCESSIBILITY & MOTION
   ========================================================================== */

@media (prefers-reduced-motion: reduce) {
    *,
    *::before,
    *::after {
        animation-duration: 0.01ms !important;
        animation-iteration-count: 1 !important;
        transition-duration: 0.01ms !important;
    }
}

/* Focus styles */
.mhc-header__link:focus-visible,
.mhc-hero__cta:focus-visible,
.mhc-cta__button:focus-visible,
.mhc-services__card-link:focus-visible,
.mhc-faq__question:focus-visible,
.mhc-footer__social-link:focus-visible {
    outline: 2px solid var(--mhc-accent) !important;
    outline-offset: 3px !important;
}

/* ==========================================================================
   ELEMENTOR OVERRIDES - CRITICAL
   ========================================================================== */

/* Reset Elementor container margins */
.elementor-widget-mhc_header_navigation .elementor-widget-container,
.elementor-widget-mhc_hero_section .elementor-widget-container,
.elementor-widget-mhc_about_section .elementor-widget-container,
.elementor-widget-mhc_services_grid .elementor-widget-container,
.elementor-widget-mhc_testimonials_section .elementor-widget-container,
.elementor-widget-mhc_faq_accordion .elementor-widget-container,
.elementor-widget-mhc_cta_section .elementor-widget-container,
.elementor-widget-mhc_footer_section .elementor-widget-container {
    padding: 0 !important;
    margin: 0 !important;
}

/* Override Elementor Kit link colors */
.mhc-header a,
.mhc-hero a,
.mhc-about a,
.mhc-services a,
.mhc-testimonials a,
.mhc-faq a,
.mhc-cta a,
.mhc-footer a {
    color: inherit !important;
    text-decoration: none !important;
}

/* Override default button styles */
.mhc-header button,
.mhc-about button,
.mhc-faq button {
    font-family: inherit !important;
}

/* ==========================================================================
   FORCED CONTRAST FIXES - HEADER & FOOTER
   ========================================================================== */

/* HEADER - Force white links */
body .mhc-header .mhc-header__menu .mhc-header__item .mhc-header__link,
body .mhc-header .mhc-header__link,
.mhc-header .mhc-header__link,
.mhc-header__link {
    color: #FFFFFF !important;
    opacity: 1 !important;
}

body .mhc-header .mhc-header__link:hover,
.mhc-header .mhc-header__link:hover {
    color: #BEB496 !important;
}

/* FOOTER - Force readable text */
body .mhc-footer .mhc-footer__description,
.mhc-footer .mhc-footer__description,
.mhc-footer__description {
    color: #E0E0E0 !important;
}

body .mhc-footer .mhc-footer__copyright,
.mhc-footer .mhc-footer__copyright,
.mhc-footer__copyright {
    color: #CCCCCC !important;
}

body .mhc-footer .mhc-footer__social-title,
.mhc-footer .mhc-footer__social-title,
.mhc-footer__social-title {
    color: #FFFFFF !important;
}

body .mhc-footer .mhc-footer__social-link,
.mhc-footer .mhc-footer__social-link,
.mhc-footer__social-link {
    background-color: rgba(255, 255, 255, 0.2) !important;
    color: #FFFFFF !important;
}

body .mhc-footer .mhc-footer__social-link:hover,
.mhc-footer .mhc-footer__social-link:hover {
    background-color: #BEB496 !important;
    color: #1E1E1E !important;
}

/* CTA PHONE - Force white text */
body .mhc-cta .mhc-cta__phone,
.mhc-cta .mhc-cta__phone,
.mhc-cta__phone,
.mhc-cta__phone span {
    color: #FFFFFF !important;
}

body .mhc-cta .mhc-cta__phone svg,
.mhc-cta .mhc-cta__phone svg,
.mhc-cta__phone svg {
    color: #FFFFFF !important;
    stroke: #FFFFFF !important;
}

/* ==========================================================================
   RESPONSIVE - MOBILE (max-width: 480px)
   ========================================================================== */

@media (max-width: 480px) {
    :root {
        --mhc-container-padding: 1rem;
        --mhc-space-lg: 2.5rem;
        --mhc-space-xl: 3.5rem;
        --mhc-space-2xl: 4rem;
    }

    /* Hero Mobile */
    .mhc-hero {
        width: 100% !important;
        margin-left: 0 !important;
        margin-right: 0 !important;
        min-height: 85vh !important;
    }

    .mhc-hero__subtitle {
        font-size: 0.9rem !important;
        letter-spacing: 0.05em !important;
        margin-bottom: var(--mhc-space-md) !important;
    }

    .mhc-hero__cta {
        padding: 0.875rem 1.75rem !important;
        font-size: 0.875rem !important;
    }

    .mhc-hero__scroll-indicator {
        bottom: var(--mhc-space-md) !important;
    }

    .mhc-hero__scroll-line {
        height: 40px !important;
    }

    /* About Mobile */
    .mhc-about__title {
        font-size: 2rem !important;
        padding-left: var(--mhc-space-sm) !important;
    }

    .mhc-about__description {
        font-size: 1rem !important;
        line-height: 1.7 !important;
    }

    .mhc-about__carousel {
        border-radius: var(--mhc-radius-md) !important;
    }

    .mhc-about__carousel-nav {
        padding: 6px 10px !important;
        gap: 6px !important;
    }

    .mhc-about__carousel-btn {
        width: 32px !important;
        height: 32px !important;
    }

    .mhc-about__carousel-dot {
        width: 6px !important;
        height: 6px !important;
    }

    /* Services Mobile */
    .mhc-services__title {
        font-size: 2rem !important;
    }

    .mhc-services__card-content {
        padding: var(--mhc-space-sm) !important;
    }

    .mhc-services__card-title {
        font-size: 1.25rem !important;
    }

    .mhc-services__card-description {
        font-size: 0.9rem !important;
        line-height: 1.6 !important;
    }

    /* Testimonials Mobile */
    .mhc-testimonials__title {
        font-size: 2rem !important;
    }

    .mhc-testimonials__card {
        padding: var(--mhc-space-md) !important;
    }

    .mhc-testimonials__text {
        font-size: 0.95rem !important;
    }

    /* FAQ Mobile - Design ameliore */
    .mhc-faq {
        width: 100% !important;
        margin-left: 0 !important;
        margin-right: 0 !important;
        padding: var(--mhc-space-xl) 0 !important;
    }

    .mhc-faq__container {
        padding: 0 1rem !important;
    }

    .mhc-faq__title {
        font-size: 1.75rem !important;
        margin-bottom: var(--mhc-space-lg) !important;
    }

    .mhc-faq__accordion {
        gap: 0.75rem !important;
    }

    .mhc-faq__item {
        border-radius: var(--mhc-radius-sm) !important;
        background-color: #FAFAFA !important;
        border: 1px solid #E8E6E1 !important;
        box-shadow: 0 1px 3px rgba(0, 0, 0, 0.04) !important;
    }

    .mhc-faq__item:hover,
    .mhc-faq__item.is-open {
        background-color: #FFFFFF !important;
        border-color: var(--mhc-faq-accent, #BEB496) !important;
        box-shadow: 0 2px 8px rgba(190, 180, 150, 0.15) !important;
    }

    .mhc-faq__question {
        align-items: flex-start !important;
        padding: 1rem !important;
        gap: 0.75rem !important;
        min-height: 56px !important;
    }

    .mhc-faq__question-text {
        font-size: 1rem !important;
        line-height: 1.4 !important;
        font-weight: 500 !important;
    }

    .mhc-faq__icon {
        margin-top: 0.1rem !important;
        width: 20px !important;
        height: 20px !important;
        flex-shrink: 0 !important;
    }

    .mhc-faq__answer-inner {
        padding: 0 1rem 1rem !important;
    }

    .mhc-faq__answer-inner p {
        font-size: 0.9rem !important;
        line-height: 1.7 !important;
        color: #555 !important;
    }

    /* CTA Mobile */
    .mhc-cta__title {
        font-size: 1.75rem !important;
    }

    .mhc-cta__description {
        font-size: 1rem !important;
    }

    .mhc-cta__button {
        padding: 0.875rem 1.5rem !important;
        font-size: 0.9rem !important;
        width: 100% !important;
        justify-content: center !important;
    }

    .mhc-cta__phone {
        width: 100% !important;
        justify-content: center !important;
    }

    /* Footer Mobile */
    .mhc-footer__brand {
        text-align: center !important;
    }

    .mhc-footer__logo-svg {
        width: 120px !important;
    }

    .mhc-footer__description {
        font-size: 0.9rem !important;
    }
}

/* ==========================================================================
   RESPONSIVE - TABLET (max-width: 768px)
   ========================================================================== */

@media (max-width: 768px) and (min-width: 481px) {
    :root {
        --mhc-container-padding: 1.25rem;
        --mhc-space-xl: 4rem;
        --mhc-space-2xl: 5rem;
    }

    .mhc-hero__subtitle {
        font-size: 1.1rem !important;
    }

    .mhc-about__container {
        gap: var(--mhc-space-lg) !important;
    }

    .mhc-about__title {
        font-size: 2.5rem !important;
    }

    .mhc-services__card-image {
        aspect-ratio: 16/9 !important;
    }

    .mhc-testimonials__card {
        padding: var(--mhc-space-md) !important;
    }

    .mhc-cta__actions {
        flex-direction: column !important;
        align-items: stretch !important;
    }

    .mhc-cta__button,
    .mhc-cta__phone {
        justify-content: center !important;
    }
}

/* ==========================================================================
   RESPONSIVE - SMALL DESKTOP (max-width: 1024px)
   ========================================================================== */

@media (max-width: 1024px) and (min-width: 769px) {
    .mhc-about__container {
        gap: var(--mhc-space-lg) !important;
    }

    .mhc-about__text {
        max-width: 100% !important;
    }

    .mhc-services__card-content {
        padding: var(--mhc-space-md) !important;
    }
}

/* ==========================================================================
   RESPONSIVE - HEIGHT ADJUSTMENTS
   ========================================================================== */

@media (max-height: 600px) {
    .mhc-hero {
        min-height: 100vh !important;
        padding: var(--mhc-space-xl) 0 !important;
    }

    .mhc-hero__scroll-indicator {
        display: none !important;
    }
}

/* ==========================================================================
   RESPONSIVE - LANDSCAPE MOBILE
   ========================================================================== */

@media (max-width: 896px) and (orientation: landscape) {
    .mhc-hero {
        min-height: 100vh !important;
        padding: var(--mhc-space-lg) 0 !important;
    }

    .mhc-hero__subtitle {
        font-size: 0.9rem !important;
        margin-bottom: var(--mhc-space-sm) !important;
    }

    .mhc-hero__scroll-indicator {
        display: none !important;
    }
}

/* ==========================================================================
   BEFORE/AFTER SLIDER
   ========================================================================== */

.mhc-ba-slider {
    margin: 0 auto !important;
    font-family: var(--mhc-font-body) !important;
}

.mhc-ba-slider * {
    box-sizing: border-box !important;
}

.mhc-ba-slider__container {
    position: relative !important;
    overflow: hidden !important;
    cursor: ew-resize !important;
    user-select: none !important;
    -webkit-user-select: none !important;
    touch-action: pan-y pinch-zoom !important;
}

.mhc-ba-slider__container--vertical {
    cursor: ns-resize !important;
    touch-action: pan-x pinch-zoom !important;
}

/* Images */
.mhc-ba-slider__image {
    position: absolute !important;
    inset: 0 !important;
    overflow: hidden !important;
}

.mhc-ba-slider__image img {
    width: 100% !important;
    height: 100% !important;
    object-fit: cover !important;
    display: block !important;
    pointer-events: none !important;
}

/* Image Avant - clipee */
.mhc-ba-slider__image--before {
    z-index: 2 !important;
    clip-path: inset(0 50% 0 0) !important;
    will-change: clip-path !important;
}

/* Orientation verticale */
.mhc-ba-slider__container--vertical .mhc-ba-slider__image--before {
    clip-path: inset(0 0 50% 0) !important;
}

/* Labels */
.mhc-ba-slider__label {
    position: absolute !important;
    padding: 0.5rem 1rem !important;
    background-color: var(--mhc-ba-label-bg, rgba(30, 30, 30, 0.85)) !important;
    color: var(--mhc-ba-label-color, #FFFFFF) !important;
    font-size: 0.75rem !important;
    font-weight: 600 !important;
    text-transform: uppercase !important;
    letter-spacing: 0.1em !important;
    border-radius: 4px !important;
    backdrop-filter: blur(8px) !important;
    -webkit-backdrop-filter: blur(8px) !important;
    z-index: 5 !important;
    pointer-events: none !important;
    transition: opacity 0.3s ease !important;
}

.mhc-ba-slider__label--before {
    top: 1rem !important;
    left: 1rem !important;
}

.mhc-ba-slider__label--after {
    top: 1rem !important;
    right: 1rem !important;
}

/* Labels en mode vertical */
.mhc-ba-slider__container--vertical .mhc-ba-slider__label--before {
    top: 1rem !important;
    left: 1rem !important;
}

.mhc-ba-slider__container--vertical .mhc-ba-slider__label--after {
    top: auto !important;
    bottom: 1rem !important;
    right: 1rem !important;
}

/* Handle / Curseur */
.mhc-ba-slider__handle {
    position: absolute !important;
    z-index: 10 !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    pointer-events: none !important;
}

/* Handle Horizontal */
.mhc-ba-slider__container--horizontal .mhc-ba-slider__handle {
    top: 0 !important;
    bottom: 0 !important;
    left: 50% !important;
    transform: translateX(-50%) !important;
    flex-direction: column !important;
    width: auto !important;
}

/* Handle Vertical */
.mhc-ba-slider__container--vertical .mhc-ba-slider__handle {
    left: 0 !important;
    right: 0 !important;
    top: 50% !important;
    transform: translateY(-50%) !important;
    flex-direction: row !important;
    height: auto !important;
}

/* Ligne du handle */
.mhc-ba-slider__handle-line {
    background-color: var(--mhc-ba-handle-color, #BEB496) !important;
    box-shadow: 0 0 10px rgba(0, 0, 0, 0.3) !important;
}

.mhc-ba-slider__container--horizontal .mhc-ba-slider__handle-line {
    width: var(--mhc-ba-handle-line-width, 3px) !important;
    height: 100% !important;
    position: absolute !important;
    top: 0 !important;
    bottom: 0 !important;
}

.mhc-ba-slider__container--vertical .mhc-ba-slider__handle-line {
    height: var(--mhc-ba-handle-line-width, 3px) !important;
    width: 100% !important;
    position: absolute !important;
    left: 0 !important;
    right: 0 !important;
}

/* Cercle du handle */
.mhc-ba-slider__handle-circle {
    width: var(--mhc-ba-handle-circle-size, 48px) !important;
    height: var(--mhc-ba-handle-circle-size, 48px) !important;
    background-color: var(--mhc-ba-handle-color, #BEB496) !important;
    border-radius: 50% !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    gap: 0 !important;
    box-shadow: 0 2px 10px rgba(0, 0, 0, 0.25),
                0 4px 20px rgba(0, 0, 0, 0.15) !important;
    position: relative !important;
    z-index: 11 !important;
    transition: transform 0.2s ease, box-shadow 0.2s ease !important;
    pointer-events: auto !important;
    cursor: grab !important;
}

.mhc-ba-slider__handle-circle:active {
    cursor: grabbing !important;
    transform: scale(1.1) !important;
    box-shadow: 0 4px 15px rgba(0, 0, 0, 0.3),
                0 8px 30px rgba(0, 0, 0, 0.2) !important;
}

.mhc-ba-slider__handle-circle svg {
    width: 16px !important;
    height: 16px !important;
    color: var(--mhc-ba-handle-icon-color, #1E1E1E) !important;
    flex-shrink: 0 !important;
}

/* Icones pour horizontal */
.mhc-ba-slider__container--horizontal .mhc-ba-slider__handle-circle {
    flex-direction: row !important;
}

/* Icones pour vertical */
.mhc-ba-slider__container--vertical .mhc-ba-slider__handle-circle {
    flex-direction: column !important;
}

/* Etat dragging */
.mhc-ba-slider.is-dragging .mhc-ba-slider__handle-circle {
    transform: scale(1.1) !important;
    box-shadow: 0 4px 15px rgba(0, 0, 0, 0.3),
                0 8px 30px rgba(0, 0, 0, 0.2) !important;
}

.mhc-ba-slider.is-dragging .mhc-ba-slider__container {
    cursor: grabbing !important;
}

/* Hover effect sur le container */
.mhc-ba-slider__container:hover .mhc-ba-slider__handle-circle {
    box-shadow: 0 4px 15px rgba(0, 0, 0, 0.3),
                0 6px 25px rgba(0, 0, 0, 0.18) !important;
}

/* ==========================================================================
   BEFORE/AFTER SLIDER - RESPONSIVE
   ========================================================================== */

@media (max-width: 768px) {
    .mhc-ba-slider__label {
        font-size: 0.65rem !important;
        padding: 0.4rem 0.75rem !important;
    }

    .mhc-ba-slider__label--before {
        top: 0.75rem !important;
        left: 0.75rem !important;
    }

    .mhc-ba-slider__label--after {
        top: 0.75rem !important;
        right: 0.75rem !important;
    }

    .mhc-ba-slider__container--vertical .mhc-ba-slider__label--after {
        bottom: 0.75rem !important;
    }
}

@media (max-width: 480px) {
    .mhc-ba-slider__handle-circle {
        width: calc(var(--mhc-ba-handle-circle-size, 48px) * 0.85) !important;
        height: calc(var(--mhc-ba-handle-circle-size, 48px) * 0.85) !important;
    }

    .mhc-ba-slider__handle-circle svg {
        width: 14px !important;
        height: 14px !important;
    }
}

/* ==========================================================================
   BEFORE/AFTER SLIDER - ACCESSIBILITY
   ========================================================================== */

@media (prefers-reduced-motion: reduce) {
    .mhc-ba-slider__image--before,
    .mhc-ba-slider__handle,
    .mhc-ba-slider__handle-circle {
        transition: none !important;
    }
}

/* Focus visible pour accessibilite clavier */
.mhc-ba-slider__handle-circle:focus-visible {
    outline: 3px solid var(--mhc-ba-handle-color, #BEB496) !important;
    outline-offset: 4px !important;
}

/* ==========================================================================
   BEFORE/AFTER SLIDER - ELEMENTOR OVERRIDES
   ========================================================================== */

.elementor-widget-mhc_before_after_slider .elementor-widget-container {
    padding: 0 !important;
    margin: 0 !important;
}

/* Fix hauteur du slider pour Elementor */
.elementor-widget-mhc_before_after_slider {
    min-height: auto !important;
}

.mhc-ba-slider {
    position: relative !important;
    width: 100% !important;
}

.mhc-ba-slider__container {
    position: relative !important;
    width: 100% !important;
    min-height: 200px !important;
}

/* Assurer que le container communique sa hauteur */
.mhc-ba-slider__image--after {
    position: relative !important;
    z-index: 1 !important;
}

.mhc-ba-slider__image--after img {
    position: relative !important;
    width: 100% !important;
    height: auto !important;
}

/* Image avant reste en absolute overlay */
.mhc-ba-slider__image--before {
    position: absolute !important;
    inset: 0 !important;
    z-index: 2 !important;
}

/* Before/After Slider - keep internal padding */
.mhc-ba-slider {
    padding: var(--mhc-space-xl) var(--mhc-container-padding) !important;
    max-width: var(--mhc-container) !important;
    margin: 0 auto !important;
}

@media (max-width: 768px) {
    .mhc-ba-slider {
        padding: var(--mhc-space-lg) var(--mhc-container-padding) !important;
    }
}

/* ==========================================================================
   CONTAINER GAP RESET - Remove default Elementor gaps
   ========================================================================== */

/* Reset container gaps for MHC widgets */
.e-con:has(> .elementor-widget-mhc_header_navigation),
.e-con:has(> .elementor-widget-mhc_hero_section),
.e-con:has(> .elementor-widget-mhc_about_section),
.e-con:has(> .elementor-widget-mhc_services_grid),
.e-con:has(> .elementor-widget-mhc_testimonials_section),
.e-con:has(> .elementor-widget-mhc_faq_accordion),
.e-con:has(> .elementor-widget-mhc_cta_section),
.e-con:has(> .elementor-widget-mhc_footer_section),
.e-con:has(> .elementor-widget-mhc_before_after_slider) {
    --gap: 0px !important;
    --container-default-padding-inline: 0 !important;
    gap: 0 !important;
    padding: 0 !important;
    margin: 0 !important;
}

/* Elementor widget container reset */
.elementor-widget-mhc_header_navigation > .elementor-widget-container,
.elementor-widget-mhc_hero_section > .elementor-widget-container,
.elementor-widget-mhc_about_section > .elementor-widget-container,
.elementor-widget-mhc_services_grid > .elementor-widget-container,
.elementor-widget-mhc_testimonials_section > .elementor-widget-container,
.elementor-widget-mhc_faq_accordion > .elementor-widget-container,
.elementor-widget-mhc_cta_section > .elementor-widget-container,
.elementor-widget-mhc_footer_section > .elementor-widget-container,
.elementor-widget-mhc_before_after_slider > .elementor-widget-container {
    padding: 0 !important;
    margin: 0 !important;
}

/* Reset parent containers spacing on page templates */
body.elementor-template-canvas .elementor > .elementor-element,
body.elementor-template-full_width .elementor > .elementor-element {
    margin-bottom: 0 !important;
}

/* Fallback for older browsers without :has() support */
.e-con.e-parent {
    --gap: 0px !important;
    gap: 0 !important;
}

/* Global Elementor section margin reset for MHC sections */
.elementor-section.elementor-section-full_width:has(.mhc-header),
.elementor-section.elementor-section-full_width:has(.mhc-hero),
.elementor-section.elementor-section-full_width:has(.mhc-about),
.elementor-section.elementor-section-full_width:has(.mhc-services),
.elementor-section.elementor-section-full_width:has(.mhc-testimonials),
.elementor-section.elementor-section-full_width:has(.mhc-faq),
.elementor-section.elementor-section-full_width:has(.mhc-cta),
.elementor-section.elementor-section-full_width:has(.mhc-footer) {
    margin-bottom: 0 !important;
    padding: 0 !important;
}

/* ==========================================================================
   AGGRESSIVE MARGIN/GAP RESET - Nuclear option
   ========================================================================== */

/* Reset ALL Elementor containers */
.elementor .e-con,
.elementor .e-con.e-parent,
.elementor .e-con.e-child,
.elementor .elementor-element.e-con {
    --padding-top: 0px !important;
    --padding-right: 0px !important;
    --padding-bottom: 0px !important;
    --padding-left: 0px !important;
    --margin-top: 0px !important;
    --margin-right: 0px !important;
    --margin-bottom: 0px !important;
    --margin-left: 0px !important;
    --gap: 0px !important;
    --container-widget-gap: 0px !important;
    gap: 0 !important;
    margin: 0 !important;
    padding: 0 !important;
}

/* Reset widget margins */
.elementor .elementor-widget {
    margin-bottom: 0 !important;
}

/* Reset widget containers */
.elementor .elementor-widget-container {
    margin: 0 !important;
    padding: 0 !important;
}

/* Elementor page content wrapper */
.elementor-page .elementor,
body.elementor-page .elementor {
    display: flex !important;
    flex-direction: column !important;
    gap: 0 !important;
}

/* Full width template specific */
body.elementor-template-full_width .site-main,
body.elementor-template-full_width .entry-content,
body.elementor-template-full_width .page-content {
    margin: 0 !important;
    padding: 0 !important;
}

/* Hello Elementor theme specific */
.site-main > article,
.site-main > .elementor {
    margin: 0 !important;
    padding: 0 !important;
}

/* Kit default gaps override */
.elementor-kit-6 .e-con {
    --gap: 0px !important;
    --container-widget-gap: 0px !important;
}


/* ==========================================================================
   CONTACT FORM SECTION
   ========================================================================== */

.mhc-contact-form {
    background-color: var(--mhc-form-bg, #F8F6F3) !important;
    padding: 80px 0 40px !important;
    width: 100vw !important;
    margin-left: calc(-50vw + 50%) !important;
    margin-right: calc(-50vw + 50%) !important;
    margin-bottom: 0 !important;
}

.mhc-contact-form__container {
    max-width: 1200px !important;
    margin: 0 auto !important;
    padding: 0 var(--mhc-container-padding, 1.5rem) !important;
}

.mhc-contact-form__header {
    text-align: center !important;
    margin-bottom: 60px !important;
}

.mhc-contact-form__title {
    font-family: var(--mhc-font-display, 'Clash Display', sans-serif) !important;
    font-size: clamp(2rem, 4vw, 2.75rem) !important;
    font-weight: 600 !important;
    color: var(--mhc-charcoal, #1E1E1E) !important;
    margin: 0 0 1rem !important;
    letter-spacing: -0.02em !important;
}

.mhc-contact-form__subtitle {
    font-family: var(--mhc-font-body, 'Outfit', sans-serif) !important;
    font-size: 1.1rem !important;
    color: #666 !important;
    max-width: 600px !important;
    margin: 0 auto !important;
    line-height: 1.6 !important;
}

.mhc-contact-form__content {
    display: grid !important;
    grid-template-columns: 1fr 380px !important;
    gap: 50px !important;
    align-items: start !important;
}

/* Form Wrapper */
.mhc-contact-form__form-wrapper {
    background: #FFFFFF !important;
    border-radius: 16px !important;
    padding: 50px !important;
    box-shadow: 0 10px 40px rgba(0, 0, 0, 0.08) !important;
}

.mhc-contact-form__form {
    display: flex !important;
    flex-direction: column !important;
    gap: 24px !important;
}

.mhc-contact-form__row {
    display: grid !important;
    grid-template-columns: 1fr 1fr !important;
    gap: 20px !important;
}

.mhc-contact-form__field {
    display: flex !important;
    flex-direction: column !important;
    gap: 8px !important;
}

.mhc-contact-form__field label {
    font-family: var(--mhc-font-body, 'Outfit', sans-serif) !important;
    font-size: 0.9rem !important;
    font-weight: 500 !important;
    color: var(--mhc-charcoal, #1E1E1E) !important;
}

.mhc-contact-form__field label span {
    color: var(--mhc-form-accent, #BEB496) !important;
}

.mhc-contact-form__field input,
.mhc-contact-form__field select,
.mhc-contact-form__field textarea {
    font-family: var(--mhc-font-body, 'Outfit', sans-serif) !important;
    font-size: 1rem !important;
    padding: 14px 18px !important;
    border: 2px solid #E8E6E1 !important;
    border-radius: 10px !important;
    background: #FAFAF9 !important;
    color: var(--mhc-charcoal, #1E1E1E) !important;
    transition: all 0.3s ease !important;
    outline: none !important;
    width: 100% !important;
    box-sizing: border-box !important;
}

.mhc-contact-form__field input:focus,
.mhc-contact-form__field select:focus,
.mhc-contact-form__field textarea:focus {
    border-color: var(--mhc-form-accent, #BEB496) !important;
    background: #FFFFFF !important;
    box-shadow: 0 0 0 4px rgba(190, 180, 150, 0.15) !important;
}

.mhc-contact-form__field input::placeholder,
.mhc-contact-form__field textarea::placeholder {
    color: #999 !important;
}

.mhc-contact-form__field select {
    cursor: pointer !important;
    appearance: none !important;
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='24' height='24' viewBox='0 0 24 24' fill='none' stroke='%23666' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpolyline points='6 9 12 15 18 9'%3E%3C/polyline%3E%3C/svg%3E") !important;
    background-repeat: no-repeat !important;
    background-position: right 14px center !important;
    background-size: 18px !important;
    padding-right: 45px !important;
}

.mhc-contact-form__field textarea {
    resize: vertical !important;
    min-height: 140px !important;
}

.mhc-contact-form__recaptcha {
    margin-top: 10px !important;
    overflow: auto !important;
}

.mhc-contact-form__error {
    margin-top: 16px !important;
    padding: 14px 16px !important;
    border-radius: 10px !important;
    background: #FFF4F4 !important;
    border: 1px solid #F1C5C5 !important;
    color: #9F2D2D !important;
    font-family: var(--mhc-font-body, 'Outfit', sans-serif) !important;
    font-size: 0.95rem !important;
}

/* Submit Button */
.mhc-contact-form__submit {
    margin-top: 10px !important;
}

.mhc-contact-form__button {
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    gap: 12px !important;
    width: 100% !important;
    padding: 18px 32px !important;
    background: var(--mhc-charcoal, #1E1E1E) !important;
    color: #FFFFFF !important;
    font-family: var(--mhc-font-body, 'Outfit', sans-serif) !important;
    font-size: 1rem !important;
    font-weight: 600 !important;
    text-transform: uppercase !important;
    letter-spacing: 0.08em !important;
    border: none !important;
    border-radius: 10px !important;
    cursor: pointer !important;
    transition: all 0.3s ease !important;
}

.mhc-contact-form__button:hover {
    background: var(--mhc-form-accent, #BEB496) !important;
    color: var(--mhc-charcoal, #1E1E1E) !important;
    transform: translateY(-2px) !important;
    box-shadow: 0 8px 25px rgba(190, 180, 150, 0.35) !important;
}

.mhc-contact-form__button svg {
    transition: transform 0.3s ease !important;
}

.mhc-contact-form__button:hover svg {
    transform: translateX(4px) !important;
}

/* Success Message */
.mhc-contact-form__success {
    text-align: center !important;
    padding: 40px 20px !important;
    background: linear-gradient(135deg, #E8F5E9 0%, #F1F8E9 100%) !important;
    border-radius: 12px !important;
    margin-top: 20px !important;
}

.mhc-contact-form__success-icon {
    width: 60px !important;
    height: 60px !important;
    background: #4CAF50 !important;
    color: #FFFFFF !important;
    border-radius: 50% !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    font-size: 28px !important;
    margin: 0 auto 20px !important;
}

.mhc-contact-form__success p {
    font-family: var(--mhc-font-body, 'Outfit', sans-serif) !important;
    font-size: 1.1rem !important;
    color: #2E7D32 !important;
    margin: 0 !important;
    line-height: 1.6 !important;
}

/* Contact Info Sidebar */
.mhc-contact-form__info {
    background: var(--mhc-charcoal, #1E1E1E) !important;
    border-radius: 16px !important;
    padding: 40px !important;
    color: #FFFFFF !important;
    position: sticky !important;
    top: 120px !important;
}

.mhc-contact-form__info h3 {
    font-family: var(--mhc-font-display, 'Clash Display', sans-serif) !important;
    font-size: 1.5rem !important;
    font-weight: 600 !important;
    margin: 0 0 30px !important;
    color: #FFFFFF !important;
}

.mhc-contact-form__info-item {
    display: flex !important;
    align-items: flex-start !important;
    gap: 16px !important;
    margin-bottom: 24px !important;
}

.mhc-contact-form__info-icon {
    width: 48px !important;
    height: 48px !important;
    background: rgba(255, 255, 255, 0.1) !important;
    border-radius: 12px !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    flex-shrink: 0 !important;
}

.mhc-contact-form__info-icon svg {
    stroke: var(--mhc-form-accent, #BEB496) !important;
}

.mhc-contact-form__info-content {
    display: flex !important;
    flex-direction: column !important;
    gap: 4px !important;
}

.mhc-contact-form__info-label {
    font-size: 0.85rem !important;
    color: rgba(255, 255, 255, 0.6) !important;
    text-transform: uppercase !important;
    letter-spacing: 0.05em !important;
}

.mhc-contact-form__info-content a,
.mhc-contact-form__info-content span:last-child {
    font-size: 1.05rem !important;
    color: #FFFFFF !important;
    text-decoration: none !important;
    font-weight: 500 !important;
    transition: color 0.3s ease !important;
}

.mhc-contact-form__info-content a:hover {
    color: var(--mhc-form-accent, #BEB496) !important;
}

/* Guarantee */
.mhc-contact-form__guarantee {
    margin-top: 35px !important;
    padding-top: 30px !important;
    border-top: 1px solid rgba(255, 255, 255, 0.15) !important;
    display: flex !important;
    flex-direction: column !important;
    gap: 14px !important;
}

.mhc-contact-form__guarantee-item {
    display: flex !important;
    align-items: center !important;
    gap: 12px !important;
    font-size: 0.95rem !important;
    color: rgba(255, 255, 255, 0.85) !important;
}

.mhc-contact-form__guarantee-icon {
    width: 24px !important;
    height: 24px !important;
    background: var(--mhc-form-accent, #BEB496) !important;
    color: var(--mhc-charcoal, #1E1E1E) !important;
    border-radius: 50% !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    font-size: 14px !important;
    font-weight: 700 !important;
    flex-shrink: 0 !important;
}

/* Mobile Responsive */
@media (max-width: 968px) {
    .mhc-contact-form__content {
        grid-template-columns: 1fr !important;
    }

    .mhc-contact-form__info {
        position: static !important;
        order: -1 !important;
    }

    .mhc-contact-form__form-wrapper {
        padding: 35px 25px !important;
    }
}

@media (max-width: 600px) {
    .mhc-contact-form {
        padding: 60px 0 !important;
    }

    .mhc-contact-form__header {
        margin-bottom: 40px !important;
    }

    .mhc-contact-form__row {
        grid-template-columns: 1fr !important;
    }

    .mhc-contact-form__info {
        padding: 30px 25px !important;
    }
}

/* Contact Form - Additional Responsive Fixes */
@media (max-width: 1024px) {
    .mhc-contact-form__content {
        grid-template-columns: 1fr !important;
        gap: 30px !important;
    }

    .mhc-contact-form__form-wrapper {
        padding: 40px 30px !important;
    }
}

@media (max-width: 480px) {
    .mhc-contact-form {
        padding: 50px 0 !important;
    }

    .mhc-contact-form__container {
        padding: 0 16px !important;
    }

    .mhc-contact-form__form-wrapper {
        padding: 30px 20px !important;
        border-radius: 12px !important;
    }

    .mhc-contact-form__title {
        font-size: 1.6rem !important;
    }

    .mhc-contact-form__subtitle {
        font-size: 1rem !important;
    }

    .mhc-contact-form__field input,
    .mhc-contact-form__field select,
    .mhc-contact-form__field textarea {
        padding: 12px 14px !important;
        font-size: 16px !important; /* Prevents zoom on iOS */
    }

    .mhc-contact-form__button {
        padding: 16px 24px !important;
        font-size: 0.9rem !important;
    }

    .mhc-contact-form__info {
        padding: 25px 20px !important;
        border-radius: 12px !important;
    }

    .mhc-contact-form__info h3 {
        font-size: 1.3rem !important;
    }

    .mhc-contact-form__info-icon {
        width: 42px !important;
        height: 42px !important;
    }

    .mhc-contact-form__header {
        margin-bottom: 35px !important;
    }
}

/* Prevent horizontal overflow */
.mhc-contact-form,
.mhc-contact-form__container,
.mhc-contact-form__content,
.mhc-contact-form__form-wrapper,
.mhc-contact-form__form {
    max-width: 100% !important;
    overflow-x: hidden !important;
}

.mhc-contact-form__field input,
.mhc-contact-form__field select,
.mhc-contact-form__field textarea {
    max-width: 100% !important;
    box-sizing: border-box !important;
}

/* Fix gap before footer on mobile */
@media (max-width: 768px) {
    .mhc-contact-form {
        padding-bottom: 50px !important;
    }
}

@media (max-width: 480px) {
    .mhc-contact-form {
        padding-bottom: 40px !important;
    }
}

/* Remove any margin from last element */
.mhc-contact-form__info:last-child,
.mhc-contact-form__form-wrapper:last-child {
    margin-bottom: 0 !important;
}

/* Fix sticky causing gap on mobile */
@media (max-width: 968px) {
    .mhc-contact-form__info {
        position: relative !important;
        top: auto !important;
    }
}

/* Ensure no gap between form section and footer */
.elementor-widget-mhc_contact_form {
    margin-bottom: 0 !important;
}

.elementor-widget-mhc_contact_form + .elementor-element,
.mhc-contact-form + * {
    margin-top: 0 !important;
}

/* Force remove bottom gap on mobile */
@media (max-width: 768px) {
    .mhc-contact-form {
        padding: 60px 0 20px !important;
        margin-bottom: 0 !important;
    }
    
    .elementor-element:has(.mhc-contact-form) {
        margin-bottom: 0 !important;
        padding-bottom: 0 !important;
    }
}

/* Aggressive mobile fix for gap */
@media (max-width: 768px) {
    .mhc-contact-form__form-wrapper {
        padding: 25px 20px !important;
        margin-bottom: 0 !important;
    }
    
    .mhc-contact-form__content {
        gap: 20px !important;
        margin-bottom: 0 !important;
        padding-bottom: 0 !important;
    }
    
    .mhc-contact-form__info {
        padding: 25px 20px !important;
        margin-bottom: 0 !important;
    }
    
    .mhc-contact-form__container {
        padding-bottom: 0 !important;
    }
    
    .mhc-contact-form__form {
        gap: 18px !important;
    }
    
    .mhc-contact-form__submit {
        margin-top: 5px !important;
    }
}

/* ==========================================================================
   COLLECTION BROWSER - CoverStyl Texture Gallery
   ========================================================================== */

.mhc-collection {
    background-color: var(--mhc-col-bg, #FFFFFF) !important;
    padding: var(--mhc-space-2xl) 0 !important;
    width: 100vw !important;
    margin-left: calc(-50vw + 50%) !important;
    margin-right: calc(-50vw + 50%) !important;
}

.mhc-collection *,
.mhc-collection *::before,
.mhc-collection *::after {
    box-sizing: border-box !important;
}

.mhc-collection__container {
    max-width: var(--mhc-container) !important;
    margin: 0 auto !important;
    padding: 0 var(--mhc-container-padding) !important;
}

/* Header */
.mhc-collection__header {
    text-align: center !important;
    margin-bottom: var(--mhc-space-lg) !important;
}

.mhc-collection__title {
    font-family: var(--mhc-font-display) !important;
    font-size: clamp(2.5rem, 5vw, 3.5rem) !important;
    font-weight: 600 !important;
    color: var(--mhc-col-title, #333333) !important;
    margin: 0 0 var(--mhc-space-sm) !important;
    position: relative !important;
}

.mhc-collection__title-accent {
    display: block !important;
    width: 60px !important;
    height: 4px !important;
    background-color: var(--mhc-col-accent, #BEB496) !important;
    margin: 0 auto var(--mhc-space-md) !important;
}

.mhc-collection__subtitle {
    font-family: var(--mhc-font-body) !important;
    font-size: 1.05rem !important;
    line-height: 1.7 !important;
    color: var(--mhc-text) !important;
    max-width: 600px !important;
    margin: 0 auto !important;
    opacity: 0.8 !important;
}

/* Tabs */
.mhc-collection__tabs {
    display: flex !important;
    flex-wrap: wrap !important;
    justify-content: center !important;
    gap: 10px !important;
    margin-bottom: var(--mhc-space-lg) !important;
    padding: 0 !important;
}

.mhc-collection__tab {
    display: inline-flex !important;
    align-items: center !important;
    gap: 8px !important;
    padding: 10px 22px !important;
    border: 1.5px solid rgba(0, 0, 0, 0.08) !important;
    border-radius: 100px !important;
    background: var(--mhc-col-tab-bg, #F5F4F2) !important;
    color: var(--mhc-black) !important;
    font-family: var(--mhc-font-body) !important;
    font-size: 0.88rem !important;
    font-weight: 500 !important;
    cursor: pointer !important;
    transition: all var(--mhc-transition-fast) !important;
    white-space: nowrap !important;
    letter-spacing: 0.01em !important;
    line-height: 1 !important;
}

.mhc-collection__tab:hover {
    border-color: var(--mhc-col-accent, #BEB496) !important;
    background: rgba(190, 180, 150, 0.1) !important;
}

.mhc-collection__tab.is-active {
    background: var(--mhc-col-tab-active-bg, #BEB496) !important;
    color: var(--mhc-col-tab-active-text, #FFFFFF) !important;
    border-color: var(--mhc-col-tab-active-bg, #BEB496) !important;
    box-shadow: 0 4px 16px rgba(190, 180, 150, 0.3) !important;
}

.mhc-collection__tab-count {
    font-size: 0.72rem !important;
    opacity: 0.6 !important;
    font-weight: 400 !important;
}

.mhc-collection__tab.is-active .mhc-collection__tab-count {
    opacity: 0.85 !important;
}

/* Panels */
.mhc-collection__panels {
    position: relative !important;
    min-height: 200px !important;
}

.mhc-collection__panel {
    display: none !important;
}

.mhc-collection__panel.is-active {
    display: block !important;
    animation: mhcColFadeIn 0.35s ease-out !important;
}

@keyframes mhcColFadeIn {
    from {
        opacity: 0;
        transform: translateY(12px);
    }
    to {
        opacity: 1;
        transform: translateY(0);
    }
}

/* Grid */
.mhc-collection__grid {
    display: grid !important;
    grid-template-columns: repeat(auto-fill, minmax(90px, 1fr)) !important;
    gap: 12px !important;
}

@media (min-width: 768px) {
    .mhc-collection__grid {
        grid-template-columns: repeat(auto-fill, minmax(100px, 1fr)) !important;
        gap: 14px !important;
    }
}

@media (min-width: 1024px) {
    .mhc-collection__grid {
        grid-template-columns: repeat(auto-fill, minmax(105px, 1fr)) !important;
        gap: 16px !important;
    }
}

/* Swatch */
.mhc-collection__swatch {
    position: relative !important;
    aspect-ratio: 1 !important;
    border-radius: var(--mhc-radius-md) !important;
    overflow: hidden !important;
    cursor: pointer !important;
    border: 2px solid transparent !important;
    padding: 0 !important;
    background: var(--mhc-cream) !important;
    transition: transform var(--mhc-transition-fast),
                border-color var(--mhc-transition-fast),
                box-shadow var(--mhc-transition-fast) !important;
}

.mhc-collection__swatch.is-hidden {
    display: none !important;
}

.mhc-collection__swatch:hover {
    transform: scale(1.06) !important;
    border-color: var(--mhc-col-accent, #BEB496) !important;
    box-shadow: 0 8px 24px rgba(0, 0, 0, 0.12) !important;
    z-index: 2 !important;
}

.mhc-collection__swatch:focus-visible {
    outline: 2px solid var(--mhc-col-accent, #BEB496) !important;
    outline-offset: 2px !important;
}

.mhc-collection__swatch-img {
    width: 100% !important;
    height: 100% !important;
    object-fit: cover !important;
    display: block !important;
    transition: transform var(--mhc-transition-smooth) !important;
}

.mhc-collection__swatch:hover .mhc-collection__swatch-img {
    transform: scale(1.12) !important;
}

/* Swatch Overlay */
.mhc-collection__swatch-overlay {
    position: absolute !important;
    inset: 0 !important;
    background: linear-gradient(to top, rgba(20, 20, 20, 0.85) 0%, rgba(20, 20, 20, 0.2) 50%, transparent 100%) !important;
    display: flex !important;
    flex-direction: column !important;
    justify-content: flex-end !important;
    padding: 8px !important;
    opacity: 0 !important;
    transition: opacity var(--mhc-transition-fast) !important;
}

.mhc-collection__swatch:hover .mhc-collection__swatch-overlay {
    opacity: 1 !important;
}

.mhc-collection__swatch-name {
    color: #FFFFFF !important;
    font-family: var(--mhc-font-body) !important;
    font-size: 0.68rem !important;
    font-weight: 600 !important;
    line-height: 1.2 !important;
    letter-spacing: 0.01em !important;
    display: block !important;
}

.mhc-collection__swatch-ref {
    color: var(--mhc-col-accent, #BEB496) !important;
    font-family: var(--mhc-font-body) !important;
    font-size: 0.6rem !important;
    font-weight: 400 !important;
    opacity: 0.9 !important;
    display: block !important;
    margin-top: 1px !important;
}

/* Show More Button */
.mhc-collection__more-wrap {
    text-align: center !important;
    margin-top: var(--mhc-space-lg) !important;
}

.mhc-collection__more-btn {
    display: inline-flex !important;
    align-items: center !important;
    gap: 8px !important;
    padding: 14px 36px !important;
    border: 1.5px solid var(--mhc-col-accent, #BEB496) !important;
    border-radius: 100px !important;
    background: transparent !important;
    color: var(--mhc-col-accent, #BEB496) !important;
    font-family: var(--mhc-font-body) !important;
    font-size: 0.9rem !important;
    font-weight: 600 !important;
    cursor: pointer !important;
    transition: all var(--mhc-transition-fast) !important;
    letter-spacing: 0.02em !important;
}

.mhc-collection__more-btn:hover {
    background: var(--mhc-col-accent, #BEB496) !important;
    color: #FFFFFF !important;
    box-shadow: 0 4px 20px rgba(190, 180, 150, 0.35) !important;
}

.mhc-collection__more-btn svg {
    transition: transform var(--mhc-transition-fast) !important;
}

.mhc-collection__more-btn:hover svg {
    transform: translateY(3px) !important;
}

.mhc-collection__more-count {
    font-weight: 400 !important;
    opacity: 0.7 !important;
    font-size: 0.82rem !important;
}

.mhc-collection__more-btn.is-expanded svg {
    transform: rotate(180deg) !important;
}

/* ==========================================================================
   LIGHTBOX
   ========================================================================== */

.mhc-collection__lightbox {
    position: fixed !important;
    inset: 0 !important;
    z-index: 99999 !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    opacity: 0 !important;
    visibility: hidden !important;
    transition: opacity 0.3s ease, visibility 0.3s ease !important;
}

.mhc-collection__lightbox.is-open {
    opacity: 1 !important;
    visibility: visible !important;
}

.mhc-collection__lightbox-backdrop {
    position: absolute !important;
    inset: 0 !important;
    background: rgba(10, 10, 10, 0.75) !important;
    backdrop-filter: blur(12px) saturate(120%) !important;
    -webkit-backdrop-filter: blur(12px) saturate(120%) !important;
    cursor: pointer !important;
}

.mhc-collection__lightbox-content {
    position: relative !important;
    z-index: 1 !important;
    display: flex !important;
    background: #FFFFFF !important;
    border-radius: var(--mhc-radius-xl) !important;
    overflow: hidden !important;
    max-width: 720px !important;
    width: 92vw !important;
    max-height: 85vh !important;
    box-shadow: 0 30px 80px rgba(0, 0, 0, 0.35) !important;
    transform: scale(0.92) translateY(20px) !important;
    transition: transform 0.35s cubic-bezier(0.16, 1, 0.3, 1) !important;
}

.mhc-collection__lightbox.is-open .mhc-collection__lightbox-content {
    transform: scale(1) translateY(0) !important;
}

.mhc-collection__lightbox-close {
    position: absolute !important;
    top: 16px !important;
    right: 16px !important;
    z-index: 3 !important;
    width: 40px !important;
    height: 40px !important;
    border-radius: 50% !important;
    border: none !important;
    background: rgba(255, 255, 255, 0.9) !important;
    backdrop-filter: blur(8px) !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    cursor: pointer !important;
    color: var(--mhc-black) !important;
    transition: all var(--mhc-transition-fast) !important;
    padding: 0 !important;
    box-shadow: 0 2px 10px rgba(0, 0, 0, 0.1) !important;
}

.mhc-collection__lightbox-close:hover {
    background: var(--mhc-black) !important;
    color: #FFFFFF !important;
}

.mhc-collection__lightbox-image-wrap {
    flex: 0 0 55% !important;
    background: var(--mhc-cream) !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    overflow: hidden !important;
    min-height: 320px !important;
}

.mhc-collection__lightbox-image {
    width: 100% !important;
    height: 100% !important;
    object-fit: cover !important;
    display: block !important;
}

.mhc-collection__lightbox-info {
    flex: 1 !important;
    padding: var(--mhc-space-lg) var(--mhc-space-md) !important;
    display: flex !important;
    flex-direction: column !important;
    justify-content: center !important;
}

.mhc-collection__lightbox-collection {
    font-family: var(--mhc-font-body) !important;
    font-size: 0.75rem !important;
    font-weight: 600 !important;
    text-transform: uppercase !important;
    letter-spacing: 0.12em !important;
    color: var(--mhc-col-accent, #BEB496) !important;
    margin-bottom: 12px !important;
    display: block !important;
}

.mhc-collection__lightbox-name {
    font-family: var(--mhc-font-display) !important;
    font-size: clamp(1.5rem, 3vw, 2rem) !important;
    font-weight: 600 !important;
    color: var(--mhc-black) !important;
    margin: 0 0 8px !important;
    line-height: 1.2 !important;
}

.mhc-collection__lightbox-ref {
    font-family: var(--mhc-font-body) !important;
    font-size: 0.88rem !important;
    color: var(--mhc-gray) !important;
    margin-bottom: var(--mhc-space-md) !important;
    display: block !important;
}

.mhc-collection__lightbox-cta {
    display: inline-flex !important;
    align-items: center !important;
    gap: 10px !important;
    padding: 14px 32px !important;
    background: var(--mhc-col-accent, #BEB496) !important;
    color: #FFFFFF !important;
    border-radius: 100px !important;
    text-decoration: none !important;
    font-family: var(--mhc-font-body) !important;
    font-size: 0.9rem !important;
    font-weight: 600 !important;
    letter-spacing: 0.02em !important;
    transition: all var(--mhc-transition-fast) !important;
    align-self: flex-start !important;
}

.mhc-collection__lightbox-cta:hover {
    background: var(--mhc-black) !important;
    color: #FFFFFF !important;
    box-shadow: 0 8px 24px rgba(0, 0, 0, 0.2) !important;
    gap: 14px !important;
}

/* ==========================================================================
   COLLECTION BROWSER - RESPONSIVE
   ========================================================================== */

@media (max-width: 767px) {
    .mhc-collection {
        padding: var(--mhc-space-xl) 0 !important;
    }

    .mhc-collection__title {
        font-size: 2rem !important;
    }

    .mhc-collection__subtitle {
        font-size: 0.95rem !important;
    }

    .mhc-collection__tabs {
        gap: 8px !important;
        margin-bottom: var(--mhc-space-md) !important;
        padding: 0 4px !important;
    }

    .mhc-collection__tab {
        padding: 8px 16px !important;
        font-size: 0.8rem !important;
    }

    .mhc-collection__tab-count {
        display: none !important;
    }

    .mhc-collection__grid {
        grid-template-columns: repeat(auto-fill, minmax(75px, 1fr)) !important;
        gap: 8px !important;
    }

    .mhc-collection__swatch-overlay {
        padding: 5px !important;
    }

    .mhc-collection__swatch-name {
        font-size: 0.58rem !important;
    }

    .mhc-collection__swatch-ref {
        display: none !important;
    }

    .mhc-collection__more-btn {
        padding: 12px 28px !important;
        font-size: 0.85rem !important;
    }

    /* Lightbox Mobile - stacked layout */
    .mhc-collection__lightbox-content {
        flex-direction: column !important;
        max-height: 90vh !important;
        width: 95vw !important;
        border-radius: var(--mhc-radius-lg) !important;
    }

    .mhc-collection__lightbox-image-wrap {
        flex: 0 0 auto !important;
        min-height: 220px !important;
        max-height: 40vh !important;
    }

    .mhc-collection__lightbox-info {
        padding: var(--mhc-space-md) !important;
    }

    .mhc-collection__lightbox-name {
        font-size: 1.4rem !important;
    }

    .mhc-collection__lightbox-cta {
        width: 100% !important;
        justify-content: center !important;
    }
}

@media (min-width: 1200px) {
    .mhc-collection__grid {
        grid-template-columns: repeat(auto-fill, minmax(110px, 1fr)) !important;
    }
}

/* Elementor full-width override */
.elementor-section.elementor-section-full_width:has(.mhc-collection) > .elementor-container {
    max-width: 100% !important;
    padding: 0 !important;
}

.elementor-widget:has(.mhc-collection) {
    max-width: 100% !important;
    width: 100% !important;
}

/* ==========================================================================
   STYLED GALLERY - Premium visual grid
   ========================================================================== */
.mhc-gallery {
    --mhc-gallery-bg: linear-gradient(160deg, #0f0f0f 0%, #1a1a1a 62%, #272727 100%);
    --mhc-gallery-text: #f8f8f8;
    --mhc-gallery-muted: rgba(248, 248, 248, 0.75);
    --mhc-gallery-accent: #d4af37;
    --mhc-gallery-card-radius: 20px;
    background: var(--mhc-gallery-bg) !important;
    color: var(--mhc-gallery-text) !important;
    padding: clamp(56px, 6vw, 96px) 0 !important;
    overflow-x: clip !important;
}

.mhc-gallery__container {
    width: min(1200px, calc(100% - 2.4rem)) !important;
    margin: 0 auto !important;
}

.mhc-gallery__header {
    margin-bottom: 28px !important;
}

.mhc-gallery__eyebrow {
    color: var(--mhc-gallery-accent) !important;
    font-size: 0.82rem !important;
    letter-spacing: 0.14em !important;
    text-transform: uppercase !important;
    margin-bottom: 10px !important;
}

.mhc-gallery__title {
    font-family: "Clash Display", sans-serif !important;
    font-size: clamp(2rem, 4vw, 3.25rem) !important;
    line-height: 1.08 !important;
    margin-bottom: 12px !important;
    color: var(--mhc-gallery-text) !important;
}

.mhc-gallery__subtitle {
    max-width: 66ch !important;
    color: var(--mhc-gallery-muted) !important;
}

.mhc-gallery__filters {
    display: flex !important;
    flex-wrap: wrap !important;
    gap: 10px !important;
    margin-bottom: 22px !important;
}

.mhc-gallery__filter {
    border: 1px solid rgba(255, 255, 255, 0.2) !important;
    background: rgba(255, 255, 255, 0.04) !important;
    color: var(--mhc-gallery-text) !important;
    border-radius: 999px !important;
    padding: 10px 16px !important;
    min-height: 44px !important;
    cursor: pointer !important;
    font-size: 0.95rem !important;
    transition: all 0.22s ease !important;
}

.mhc-gallery__filter:hover,
.mhc-gallery__filter.is-active {
    border-color: var(--mhc-gallery-accent) !important;
    background: rgba(212, 175, 55, 0.14) !important;
}

.mhc-gallery__filter:focus-visible,
.mhc-gallery__open:focus-visible,
.mhc-gallery__lightbox-close:focus-visible {
    outline: 2px solid var(--mhc-gallery-accent) !important;
    outline-offset: 2px !important;
}

.mhc-gallery__grid {
    display: grid !important;
    grid-template-columns: repeat(12, minmax(0, 1fr)) !important;
    gap: 14px !important;
}

.mhc-gallery__pagination {
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    flex-wrap: wrap !important;
    gap: 12px !important;
    margin-top: 20px !important;
}

.mhc-gallery__page-btn {
    min-height: 44px !important;
    border: 1px solid rgba(255, 255, 255, 0.25) !important;
    background: rgba(255, 255, 255, 0.04) !important;
    color: var(--mhc-gallery-text) !important;
    border-radius: 999px !important;
    padding: 10px 16px !important;
    cursor: pointer !important;
    transition: all 0.22s ease !important;
}

.mhc-gallery__page-btn:hover:not(:disabled) {
    border-color: var(--mhc-gallery-accent) !important;
    background: rgba(212, 175, 55, 0.14) !important;
}

.mhc-gallery__page-btn:disabled {
    opacity: 0.45 !important;
    cursor: not-allowed !important;
}

.mhc-gallery__page-info {
    order: 3 !important;
    width: 100% !important;
    text-align: center !important;
    margin: 0 !important;
    font-size: 0.92rem !important;
    color: var(--mhc-gallery-muted) !important;
}

.mhc-gallery__item {
    grid-column: span 2 !important;
    min-height: 180px !important;
    min-width: 0 !important;
}

.mhc-gallery__item:nth-child(6n + 1),
.mhc-gallery__item:nth-child(6n + 4) {
    grid-column: span 2 !important;
}

.mhc-gallery__item.is-hidden {
    display: none !important;
}

.mhc-gallery__open {
    position: relative !important;
    width: 100% !important;
    height: 180px !important;
    border: 0 !important;
    border-radius: var(--mhc-gallery-card-radius) !important;
    overflow: hidden !important;
    background: #131313 !important;
    cursor: pointer !important;
    text-align: left !important;
    appearance: none !important;
}

.mhc-gallery__open img {
    width: 100% !important;
    height: 180px !important;
    min-height: 180px !important;
    object-fit: cover !important;
    object-position: center center !important;
    transition: transform 0.28s ease, filter 0.28s ease !important;
}

.mhc-gallery__open::after {
    content: "" !important;
    position: absolute !important;
    inset: 0 !important;
    background: linear-gradient(to top, rgba(0, 0, 0, 0.7) 8%, rgba(0, 0, 0, 0.1) 56%, transparent 100%) !important;
}

.mhc-gallery__badge {
    position: absolute !important;
    top: 12px !important;
    left: 12px !important;
    z-index: 2 !important;
    padding: 6px 10px !important;
    border-radius: 999px !important;
    background: rgba(212, 175, 55, 0.88) !important;
    color: #171717 !important;
    font-size: 0.74rem !important;
    font-weight: 600 !important;
    text-transform: uppercase !important;
    letter-spacing: 0.08em !important;
}

.mhc-gallery__meta {
    position: absolute !important;
    left: 14px !important;
    right: 14px !important;
    bottom: 14px !important;
    z-index: 2 !important;
    display: grid !important;
    gap: 4px !important;
    color: #fff !important;
}

.mhc-gallery__meta strong {
    font-size: 1.06rem !important;
}

.mhc-gallery__meta small {
    font-size: 0.9rem !important;
    color: rgba(255, 255, 255, 0.86) !important;
}

.mhc-gallery__open:hover img {
    transform: scale(1.06) !important;
    filter: saturate(1.04) contrast(1.03) !important;
}

.mhc-gallery__lightbox[hidden] {
    display: none !important;
}

.mhc-gallery__lightbox {
    position: fixed !important;
    inset: 0 !important;
    z-index: 1000 !important;
}

.mhc-gallery__lightbox-backdrop {
    position: absolute !important;
    inset: 0 !important;
    background: rgba(7, 7, 7, 0.86) !important;
    backdrop-filter: blur(3px) !important;
}

.mhc-gallery__lightbox-panel {
    position: relative !important;
    width: min(980px, calc(100% - 1.2rem)) !important;
    margin: 2.2rem auto !important;
    background: #101010 !important;
    border: 1px solid rgba(255, 255, 255, 0.12) !important;
    border-radius: 20px !important;
    overflow: hidden !important;
    box-shadow: 0 30px 80px rgba(0, 0, 0, 0.5) !important;
}

.mhc-gallery__lightbox-panel img {
    width: 100% !important;
    max-height: min(72vh, 780px) !important;
    object-fit: cover !important;
    object-position: center center !important;
}

.mhc-gallery__lightbox-caption {
    padding: 18px 20px 22px !important;
    color: #fff !important;
}

.mhc-gallery__lightbox-caption h3 {
    margin-bottom: 6px !important;
    font-family: "Clash Display", sans-serif !important;
}

.mhc-gallery__lightbox-caption p {
    color: rgba(255, 255, 255, 0.8) !important;
}

.mhc-gallery__lightbox-close {
    position: absolute !important;
    top: 10px !important;
    right: 10px !important;
    z-index: 3 !important;
    width: 44px !important;
    height: 44px !important;
    border-radius: 50% !important;
    border: 0 !important;
    font-size: 2rem !important;
    line-height: 1 !important;
    background: rgba(0, 0, 0, 0.52) !important;
    color: #fff !important;
    cursor: pointer !important;
}

@media (max-width: 1024px) {
    .mhc-gallery__item,
    .mhc-gallery__item:nth-child(6n + 1),
    .mhc-gallery__item:nth-child(6n + 4) {
        grid-column: span 4 !important;
    }
}

@media (max-width: 768px) {
    .mhc-gallery__container {
        width: min(1200px, calc(100% - 1.2rem)) !important;
    }

    .mhc-gallery__item,
    .mhc-gallery__item:nth-child(6n + 1),
    .mhc-gallery__item:nth-child(6n + 4) {
        grid-column: span 6 !important;
    }

    .mhc-gallery__lightbox-panel {
        width: min(100%, calc(100% - 1rem)) !important;
        margin: 1rem auto !important;
    }

    .mhc-gallery__lightbox-panel img {
        max-height: calc(100vh - 7rem) !important;
        object-fit: contain !important;
    }
}

@media (max-width: 640px) {
    .mhc-gallery {
        padding: 3.5rem 0 !important;
    }

    .mhc-gallery__container {
        width: min(100%, calc(100% - 1rem)) !important;
    }

    .mhc-gallery__header {
        margin-bottom: 1.25rem !important;
    }

    .mhc-gallery__title {
        font-size: clamp(1.7rem, 8vw, 2.35rem) !important;
    }

    .mhc-gallery__subtitle {
        font-size: 0.96rem !important;
        line-height: 1.65 !important;
    }

    .mhc-gallery__grid {
        grid-template-columns: minmax(0, 1fr) !important;
        gap: 12px !important;
    }

    .mhc-gallery__item,
    .mhc-gallery__item:nth-child(6n + 1),
    .mhc-gallery__item:nth-child(6n + 4) {
        grid-column: 1 / -1 !important;
    }

    .mhc-gallery__open,
    .mhc-gallery__open img {
        height: 220px !important;
        min-height: 220px !important;
    }

    .mhc-gallery__pagination {
        display: grid !important;
        grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
        gap: 0.75rem !important;
    }

    .mhc-gallery__page-btn {
        width: 100% !important;
        justify-content: center !important;
    }

    .mhc-gallery__lightbox-close {
        top: 8px !important;
        right: 8px !important;
    }
}

@media (prefers-reduced-motion: reduce) {
    .mhc-gallery__open img,
    .mhc-gallery__filter {
        transition: none !important;
    }
}
