/* Mobile refinements for the existing WordPress header and homepage. */
@media (max-width: 767px) {
    html body.home .cp-auto-cta {
        --cp-auto-hero-image: var(--cp-auto-hero-mobile-image) !important;
    }
    html body .site-header .main-nav .cleanpro-header-shell > .navbar-brand,
    html body.home .site-header .main-nav .cleanpro-header-shell > .navbar-brand {
        display: flex !important;
        flex: 0 0 auto !important;
        flex-direction: row !important;
        align-items: center !important;
        justify-content: flex-start !important;
        width: auto !important;
        max-width: 132px !important;
        margin: 0 !important;
        padding: 0 !important;
        text-align: left !important;
    }
    html body .site-header .main-nav .cleanpro-header-shell .navbar-brand .custom-logo-link {
        display: flex !important;
        flex-direction: row !important;
        justify-content: flex-start !important;
        width: auto !important;
        max-width: 128px !important;
        height: 48px !important;
        margin: 0 !important;
    }
    html body .site-header .main-nav .cleanpro-header-shell .navbar-brand .custom-logo {
        width: auto !important;
        max-width: 128px !important;
        height: 48px !important;
        max-height: 48px !important;
        object-fit: contain !important;
        object-position: left center !important;
        margin: 0 !important;
    }
    html body.home .cp-auto-about-stack .cp-auto-text > .cp-auto-metrics {
        display: grid !important;
        grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
        gap: 12px !important;
        margin-top: 24px !important;
        padding: 0 !important;
    }
    html body.home .cp-auto-about-stack .cp-auto-metrics > div {
        display: grid !important;
        align-content: start !important;
        gap: 6px !important;
        min-width: 0 !important;
        padding: 12px !important;
        border: 1px solid #dce7f1 !important;
        border-radius: 8px !important;
        background: #f4f8fc !important;
    }
    html body.home .cp-auto-about-stack .cp-auto-metrics strong {
        display: block !important;
        font-size: clamp(22px, 6vw, 28px) !important;
        line-height: 1.2 !important;
        white-space: nowrap !important;
    }
    html body.home .cp-auto-about-stack .cp-auto-metrics span {
        display: block !important;
        font-size: 11px !important;
        line-height: 1.45 !important;
        letter-spacing: .02em !important;
        overflow-wrap: normal !important;
    }
    /* The supplied banners already contain their copy and product artwork.
       A proportional image panel keeps all artwork visible on narrow screens. */
    html body.home .cp-auto-hero {
        aspect-ratio: auto !important;
        height: auto !important;
        min-height: 0 !important;
        max-height: none !important;
        background: #fff !important;
    }
    html body.home .cp-auto-carousel-track,
    html body.home .cp-auto-carousel-slide {
        height: auto !important;
        min-height: 0 !important;
    }
    html body.home .cp-auto-carousel-slide .cp-auto-hero-media {
        position: relative !important;
        inset: auto !important;
        width: 100% !important;
        height: auto !important;
        min-height: 0 !important;
        aspect-ratio: 1672 / 941 !important;
        background: var(--cp-auto-slide-mobile-image, var(--cp-auto-slide-image)) center / contain no-repeat #eef5fb !important;
    }
    html body.home .cp-auto-hero-inner {
        display: block !important;
        position: relative !important;
        height: auto !important;
        min-height: 0 !important;
        padding: 16px !important;
        background: #fff !important;
    }
    html body.home .cp-auto-hero-copy {
        width: 100% !important;
        max-width: none !important;
        margin: 0 !important;
        padding: 0 !important;
    }
    html body.home .cp-auto-hero-copy .cp-auto-actions {
        display: grid !important;
        grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
        position: static !important;
        inset: auto !important;
        transform: none !important;
        width: 100% !important;
        gap: 10px !important;
        margin: 0 !important;
    }
    html body.home .cp-auto-hero-copy .cp-auto-btn {
        display: inline-flex !important;
        align-items: center !important;
        justify-content: center !important;
        gap: 4px !important;
        width: 100% !important;
        min-width: 0 !important;
        min-height: 46px !important;
        padding: 12px 8px !important;
        font-size: 14px !important;
        line-height: 1.4 !important;
    }
    html body.home .cp-auto-hero-copy .cp-auto-btn-ghost {
        border-color: #b9cde3 !important;
        background: #f4f8fc !important;
        color: #07539c !important;
    }
    html body.home .cp-auto-carousel-controls,
    html body.home .cp-auto-hero:hover .cp-auto-carousel-controls {
        display: flex !important;
        align-items: center !important;
        position: static !important;
        inset: auto !important;
        transform: none !important;
        justify-content: center !important;
        gap: 12px !important;
        width: 100% !important;
        min-height: 44px !important;
        padding: 0 16px 10px !important;
        opacity: 1 !important;
        background: #fff !important;
    }
    html body.home .cp-auto-carousel-controls .carousel-control-prev,
    html body.home .cp-auto-carousel-controls .carousel-control-next {
        position: static !important;
        inset: auto !important;
        transform: none !important;
        margin: 0 !important;
        width: 44px !important;
        height: 44px !important;
        min-height: 44px !important;
        border: 1px solid #dce7f1 !important;
        border-radius: 6px !important;
        background: #f4f8fc !important;
        opacity: 1 !important;
    }
    html body.home .cp-auto-carousel-controls .carousel-control-prev:hover,
    html body.home .cp-auto-carousel-controls .carousel-control-next:hover,
    html body.home .cp-auto-carousel-controls .carousel-control-prev:focus,
    html body.home .cp-auto-carousel-controls .carousel-control-next:focus {
        background: #e7f0fb !important;
    }
    html body.home .cp-auto-carousel-controls .carousel-control-prev-icon,
    html body.home .cp-auto-carousel-controls .carousel-control-next-icon {
        width: 18px !important;
        height: 18px !important;
        filter: brightness(0) !important;
    }
    html body.home .cp-auto-carousel-controls .carousel-indicators {
        display: flex !important;
        flex: 0 0 auto !important;
        position: static !important;
        inset: auto !important;
        transform: none !important;
        align-items: center !important;
        gap: 8px !important;
        margin: 0 !important;
    }
    html body.home .cp-auto-carousel-controls .carousel-indicators button {
        box-sizing: content-box !important;
        width: 24px !important;
        height: 4px !important;
        min-height: 0 !important;
        max-height: 4px !important;
        margin: 0 !important;
        padding: 0 !important;
        border: 0 !important;
        border-radius: 0 !important;
        border-top: 20px solid transparent !important;
        border-bottom: 20px solid transparent !important;
        background: #c4d5e8 !important;
        background-clip: padding-box !important;
        opacity: 1 !important;
    }
    html body.home .cp-auto-carousel-controls .carousel-indicators button.active {
        width: 36px !important;
        background: #07539c !important;
        background-clip: padding-box !important;
    }
}
