/* =========================================================
   CRYSTAL CLEANING
   MOBILE SERVICES + FOOTER DEFINITIVE FIX V44
   Self-contained mobile styling. Loaded LAST.
   ========================================================= */

@media (max-width: 820px){

    html, body{
        width:100%;
        max-width:100%;
        overflow-x:hidden!important;
    }

    .site-container{
        width:min(100% - 28px, 1180px)!important;
        max-width:calc(100% - 28px)!important;
        margin-inline:auto!important;
        padding-inline:0!important;
        box-sizing:border-box!important;
    }

    /* -----------------------------------------
       MOBILE HEADER
       ----------------------------------------- */

    .site-header{
        position:absolute!important;
        top:12px!important;
        left:0!important;
        right:0!important;
        z-index:80!important;
        pointer-events:auto;
    }

    .site-header__card,
    .site-header__card--modern{
        width:100%!important;
        max-width:100%!important;
        min-height:70px!important;
        padding:7px 10px 7px 14px!important;
        border-radius:20px!important;
        box-sizing:border-box!important;
    }

    .site-brand__logo,
    .site-brand--modern .site-brand__logo{
        max-width:150px!important;
        height:48px!important;
        object-fit:contain!important;
    }

    .nav-toggle{
        width:48px!important;
        height:48px!important;
        flex:0 0 48px!important;
    }

    /* -----------------------------------------
       SERVICES PAGE HERO
       ----------------------------------------- */

    .services-page{
        width:100%!important;
        overflow:hidden!important;
    }

    .services-page-header{
        display:none!important;
    }

    .services-page-hero{
        padding:124px 0 32px!important;
        background:
            radial-gradient(circle at 10% 6%,rgba(134,190,46,.07),transparent 26%),
            linear-gradient(180deg,#fbfcf9 0%,#fff 100%)!important;
    }

    .services-page-hero__content{
        width:100%!important;
        max-width:100%!important;
        margin:0 auto!important;
        text-align:center!important;
    }

    .services-premium-kicker{
        width:100%!important;
        display:flex!important;
        align-items:center!important;
        justify-content:center!important;
        gap:10px!important;
        margin:0 0 13px!important;
        color:#557921!important;
        font-size:10px!important;
        font-weight:800!important;
        line-height:1.3!important;
        letter-spacing:.15em!important;
        text-transform:uppercase!important;
    }

    .services-premium-kicker span{
        width:24px!important;
        height:1px!important;
        flex:0 0 24px!important;
        background:#85b936!important;
    }

    .services-page-hero h1,
    .services-premium-heading h2{
        width:100%!important;
        max-width:100%!important;
        margin:0!important;
        color:#151a18!important;
        font-family:-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,Arial,sans-serif!important;
        font-size:clamp(34px,10vw,46px)!important;
        font-weight:800!important;
        line-height:.98!important;
        letter-spacing:-.045em!important;
        text-wrap:balance!important;
        overflow-wrap:normal!important;
        word-break:normal!important;
    }

    .services-page-hero__content>p,
    .services-premium-subtitle{
        width:100%!important;
        max-width:600px!important;
        margin:19px auto 0!important;
        color:#2f3632!important;
        font-family:-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,Arial,sans-serif!important;
        font-size:18px!important;
        line-height:1.42!important;
        font-weight:400!important;
        text-wrap:balance!important;
    }

    .services-premium-caption{
        width:100%!important;
        max-width:600px!important;
        margin:15px auto 0!important;
        color:#626b65!important;
        font-size:13px!important;
        line-height:1.65!important;
        text-align:center!important;
    }

    .services-filters{
        width:100%!important;
        display:flex!important;
        align-items:center!important;
        justify-content:flex-start!important;
        gap:8px!important;
        margin:24px 0 0!important;
        padding:2px 0 8px!important;
        overflow-x:auto!important;
        overflow-y:hidden!important;
        scrollbar-width:none!important;
        -webkit-overflow-scrolling:touch!important;
    }

    .services-filters::-webkit-scrollbar{
        display:none!important;
    }

    .services-filters button{
        min-height:38px!important;
        flex:0 0 auto!important;
        padding:0 14px!important;
        border:1px solid #d9e2d4!important;
        border-radius:999px!important;
        color:#59645c!important;
        background:#fff!important;
        font-size:10px!important;
        font-weight:700!important;
        white-space:nowrap!important;
    }

    .services-filters button.is-active{
        color:#fff!important;
        border-color:#6f9e28!important;
        background:#6f9e28!important;
    }

    /* -----------------------------------------
       SERVICES CARDS - COMPLETE MOBILE STYLE
       Does not depend on old site.css.
       ----------------------------------------- */

    .services-page-list{
        width:100%!important;
        padding:12px 0 70px!important;
        background:#fff!important;
    }

    .services-premium-grid,
    .services-premium-grid--all{
        width:100%!important;
        max-width:100%!important;
        display:grid!important;
        grid-template-columns:minmax(0,1fr)!important;
        gap:22px!important;
        align-items:stretch!important;
    }

    .service-premium-card,
    .service-premium-card.is-featured{
        position:relative!important;
        width:100%!important;
        max-width:100%!important;
        min-width:0!important;
        height:auto!important;
        min-height:0!important;
        display:block!important;
        overflow:hidden!important;
        transform:none!important;
        border:1px solid #e1e8dd!important;
        border-radius:22px!important;
        background:#fff!important;
        box-shadow:0 15px 36px rgba(23,35,27,.08)!important;
        box-sizing:border-box!important;
    }

    .service-premium-card:hover{
        transform:none!important;
    }

    .service-premium-badge{
        position:absolute!important;
        z-index:8!important;
        top:13px!important;
        left:13px!important;
        right:auto!important;
        width:auto!important;
        max-width:calc(100% - 26px)!important;
        min-height:30px!important;
        display:inline-flex!important;
        align-items:center!important;
        justify-content:flex-start!important;
        gap:6px!important;
        transform:none!important;
        padding:6px 11px!important;
        border:1px solid rgba(255,255,255,.24)!important;
        border-radius:999px!important;
        color:#fff!important;
        background:rgba(63,96,25,.90)!important;
        -webkit-backdrop-filter:blur(10px)!important;
        backdrop-filter:blur(10px)!important;
        box-shadow:0 8px 20px rgba(0,0,0,.16)!important;
        font-size:10px!important;
        font-weight:700!important;
        line-height:1.25!important;
        white-space:normal!important;
        text-align:left!important;
    }

    .service-premium-badge span{
        flex:0 0 auto!important;
        font-size:11px!important;
    }

    .service-premium-card__media{
        position:relative!important;
        width:100%!important;
        height:230px!important;
        min-height:230px!important;
        overflow:hidden!important;
        background:#eef2eb!important;
    }

    .service-premium-card__media img{
        display:block!important;
        width:100%!important;
        height:100%!important;
        max-width:none!important;
        object-fit:cover!important;
        object-position:center!important;
        transform:none!important;
    }

    .service-premium-icon{
        position:absolute!important;
        z-index:6!important;
        left:18px!important;
        bottom:-23px!important;
        width:52px!important;
        height:52px!important;
        display:grid!important;
        place-items:center!important;
        border:1px solid #dce5d7!important;
        border-radius:50%!important;
        color:#5c861f!important;
        background:#fff!important;
        box-shadow:0 10px 22px rgba(25,38,29,.10)!important;
        font-size:22px!important;
        line-height:1!important;
    }

    .service-premium-card__body{
        width:100%!important;
        height:auto!important;
        min-height:0!important;
        display:flex!important;
        flex-direction:column!important;
        padding:36px 19px 20px!important;
        box-sizing:border-box!important;
        background:#fff!important;
    }

    .service-premium-card__eyebrow{
        display:block!important;
        color:#6f8d49!important;
        font-size:9px!important;
        font-weight:800!important;
        line-height:1.3!important;
        letter-spacing:.13em!important;
        text-transform:uppercase!important;
    }

    .service-premium-card h3{
        width:100%!important;
        min-height:0!important;
        height:auto!important;
        margin:8px 0 0!important;
        display:block!important;
        overflow:visible!important;
        color:#202723!important;
        font-family:Georgia,"Times New Roman",serif!important;
        font-size:30px!important;
        font-weight:500!important;
        line-height:1.04!important;
        letter-spacing:-.035em!important;
        -webkit-line-clamp:unset!important;
        -webkit-box-orient:unset!important;
        word-break:normal!important;
        overflow-wrap:break-word!important;
    }

    .service-premium-card__summary{
        width:100%!important;
        height:auto!important;
        min-height:0!important;
        margin:11px 0 0!important;
        display:block!important;
        overflow:visible!important;
        color:#69736d!important;
        font-size:12px!important;
        line-height:1.6!important;
        -webkit-line-clamp:unset!important;
        -webkit-box-orient:unset!important;
    }

    .service-premium-divider{
        width:36px!important;
        height:2px!important;
        margin:15px 0!important;
        background:#85b936!important;
    }

    .service-premium-list{
        width:100%!important;
        height:auto!important;
        min-height:0!important;
        max-height:none!important;
        display:grid!important;
        gap:9px!important;
        margin:0!important;
        padding:0!important;
        overflow:visible!important;
        list-style:none!important;
    }

    .service-premium-list li{
        width:100%!important;
        display:grid!important;
        grid-template-columns:18px minmax(0,1fr)!important;
        gap:9px!important;
        align-items:start!important;
        color:#606a64!important;
        font-size:11px!important;
        line-height:1.5!important;
    }

    .service-premium-list li span{
        width:17px!important;
        height:17px!important;
        display:grid!important;
        place-items:center!important;
        border-radius:50%!important;
        color:#fff!important;
        background:#82b638!important;
        font-size:9px!important;
        line-height:1!important;
    }

    .service-premium-cta{
        width:100%!important;
        min-height:46px!important;
        margin:19px 0 0!important;
        display:flex!important;
        align-items:center!important;
        justify-content:center!important;
        gap:14px!important;
        padding:0 16px!important;
        border:1px solid #719f2b!important;
        border-radius:999px!important;
        color:#fff!important;
        background:linear-gradient(135deg,#7fb52f,#5f8e20)!important;
        box-shadow:0 9px 20px rgba(102,149,31,.18)!important;
        font-size:11px!important;
        font-weight:700!important;
        line-height:1.2!important;
        text-align:center!important;
    }

    /* -----------------------------------------
       FOOTER - COMPLETE MOBILE REBUILD
       ----------------------------------------- */

    .site-footer--premium{
        position:relative!important;
        width:100%!important;
        overflow:hidden!important;
        padding:50px 0 24px!important;
        color:#edf2ed!important;
        background:
            radial-gradient(circle at 100% 0%,rgba(109,164,37,.15),transparent 28%),
            linear-gradient(180deg,#071315 0%,#0b1719 100%)!important;
    }

    .footer-premium{
        width:100%!important;
        max-width:100%!important;
    }

    .footer-premium__top{
        width:100%!important;
        display:grid!important;
        grid-template-columns:minmax(0,1fr)!important;
        gap:34px!important;
    }

    .footer-premium__brand,
    .footer-premium__links,
    .footer-premium__contact{
        width:100%!important;
        max-width:100%!important;
        min-width:0!important;
        box-sizing:border-box!important;
    }

    .footer-premium__logo-wrap{
        width:190px!important;
        max-width:100%!important;
        padding:10px 13px!important;
        border-radius:16px!important;
        background:#fff!important;
        box-shadow:none!important;
    }

    .site-footer--premium .site-footer__logo{
        display:block!important;
        width:100%!important;
        height:auto!important;
        max-height:70px!important;
        object-fit:contain!important;
    }

    .footer-premium__brand h3{
        margin:20px 0 0!important;
        color:#a8d45d!important;
        font-family:Georgia,"Times New Roman",serif!important;
        font-size:23px!important;
        font-weight:500!important;
        line-height:1.1!important;
    }

    .footer-premium__brand>p{
        width:100%!important;
        max-width:100%!important;
        margin:10px 0 0!important;
        color:rgba(255,255,255,.66)!important;
        font-size:12px!important;
        line-height:1.65!important;
    }

    .footer-premium__quote{
        width:100%!important;
        max-width:330px!important;
        min-height:48px!important;
        margin:20px 0 0!important;
        display:flex!important;
        align-items:center!important;
        justify-content:center!important;
        gap:14px!important;
        padding:0 18px!important;
        border-radius:999px!important;
        color:#10200f!important;
        background:linear-gradient(135deg,#b3dc5c,#80b72c)!important;
        font-size:11px!important;
        font-weight:800!important;
        white-space:normal!important;
        text-align:center!important;
    }

    .footer-premium__trust{
        width:100%!important;
        max-width:100%!important;
        display:grid!important;
        grid-template-columns:repeat(2,minmax(0,1fr))!important;
        gap:10px!important;
        margin:22px 0 0!important;
    }

    .footer-premium__trust>span{
        min-width:0!important;
        display:grid!important;
        justify-items:center!important;
        gap:4px!important;
        padding:11px 6px!important;
        border:1px solid rgba(255,255,255,.08)!important;
        border-radius:12px!important;
        color:#a8d45d!important;
        background:rgba(255,255,255,.035)!important;
        font-size:20px!important;
        text-align:center!important;
    }

    .footer-premium__trust small{
        color:rgba(255,255,255,.68)!important;
        font-size:8px!important;
        line-height:1.25!important;
    }

    .footer-premium__links{
        display:grid!important;
        grid-template-columns:minmax(0,1fr)!important;
        gap:25px!important;
    }

    .footer-link-column{
        width:100%!important;
        min-width:0!important;
    }

    .footer-link-column h4,
    .footer-premium__contact h4{
        position:relative!important;
        margin:0 0 18px!important;
        color:#fff!important;
        font-family:Georgia,"Times New Roman",serif!important;
        font-size:20px!important;
        font-weight:500!important;
    }

    .footer-link-column h4::after,
    .footer-premium__contact h4::after{
        content:""!important;
        position:absolute!important;
        left:0!important;
        bottom:-8px!important;
        width:34px!important;
        height:2px!important;
        background:#91bf43!important;
    }

    .footer-link-column a{
        width:100%!important;
        min-width:0!important;
        min-height:34px!important;
        display:flex!important;
        align-items:center!important;
        justify-content:space-between!important;
        gap:10px!important;
        margin:0!important;
        color:rgba(255,255,255,.70)!important;
        font-size:11px!important;
        line-height:1.35!important;
        overflow-wrap:anywhere!important;
    }

    .footer-premium__contact{
        display:block!important;
        padding:26px 0 0!important;
        border-left:0!important;
        border-top:1px solid rgba(255,255,255,.09)!important;
    }

    .footer-contact-item{
        width:100%!important;
        min-width:0!important;
        display:flex!important;
        align-items:flex-start!important;
        gap:11px!important;
        margin:0 0 15px!important;
    }

    .footer-contact-icon{
        width:36px!important;
        height:36px!important;
        flex:0 0 36px!important;
        display:grid!important;
        place-items:center!important;
        border-radius:50%!important;
        color:#b0da68!important;
        background:rgba(142,190,70,.12)!important;
        font-size:15px!important;
    }

    .footer-contact-item>div:last-child{
        min-width:0!important;
    }

    .footer-contact-item strong{
        display:block!important;
        color:#fff!important;
        font-size:11px!important;
        line-height:1.35!important;
    }

    .footer-contact-item small{
        display:block!important;
        margin-top:2px!important;
        color:rgba(255,255,255,.56)!important;
        font-size:9px!important;
        line-height:1.45!important;
        overflow-wrap:anywhere!important;
        word-break:break-word!important;
    }

    .footer-socials{
        display:flex!important;
        flex-wrap:wrap!important;
        gap:8px!important;
        margin-top:16px!important;
    }

    .footer-socials a{
        width:36px!important;
        height:36px!important;
        display:grid!important;
        place-items:center!important;
        margin:0!important;
        border-radius:50%!important;
        color:#fff!important;
        background:rgba(255,255,255,.07)!important;
        font-size:11px!important;
    }

    .footer-newsletter{
        width:100%!important;
        max-width:100%!important;
        min-width:0!important;
        display:grid!important;
        grid-template-columns:minmax(0,1fr)!important;
        gap:16px!important;
        margin:34px 0 0!important;
        padding:21px 15px!important;
        border:1px solid rgba(199,223,169,.15)!important;
        border-radius:18px!important;
        background:rgba(255,255,255,.025)!important;
        box-sizing:border-box!important;
    }

    .footer-newsletter__intro{
        width:100%!important;
        min-width:0!important;
    }

    .footer-newsletter__intro>span{
        display:block!important;
        color:#a6cc65!important;
        font-size:9px!important;
        font-weight:800!important;
        line-height:1.2!important;
        letter-spacing:.14em!important;
        text-transform:uppercase!important;
    }

    .footer-newsletter__intro h3{
        margin:7px 0 0!important;
        color:#fff!important;
        font-family:Georgia,"Times New Roman",serif!important;
        font-size:26px!important;
        font-weight:500!important;
        line-height:1.05!important;
    }

    .footer-newsletter__copy{
        width:100%!important;
        min-width:0!important;
        padding:0!important;
        border:0!important;
        color:rgba(255,255,255,.63)!important;
        font-size:11px!important;
        line-height:1.6!important;
    }

    .footer-newsletter__form{
        width:100%!important;
        min-width:0!important;
        display:grid!important;
        gap:10px!important;
    }

    .footer-newsletter__row{
        width:100%!important;
        min-width:0!important;
        display:grid!important;
        grid-template-columns:minmax(0,1fr)!important;
        overflow:hidden!important;
        border:1px solid rgba(255,255,255,.12)!important;
        border-radius:13px!important;
        background:rgba(255,255,255,.03)!important;
        box-sizing:border-box!important;
    }

    .footer-newsletter__row input,
    .footer-newsletter__row select,
    .footer-newsletter__row button{
        width:100%!important;
        max-width:100%!important;
        min-width:0!important;
        height:48px!important;
        min-height:48px!important;
        margin:0!important;
        padding:0 13px!important;
        border:0!important;
        border-radius:0!important;
        box-sizing:border-box!important;
        font-family:-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,Arial,sans-serif!important;
        font-size:16px!important;
        line-height:1.2!important;
        text-align:left!important;
        appearance:none;
        -webkit-appearance:none;
    }

    .footer-newsletter__row input,
    .footer-newsletter__row select{
        color:#fff!important;
        background:transparent!important;
        border-bottom:1px solid rgba(255,255,255,.09)!important;
    }

    .footer-newsletter__row input::placeholder{
        color:rgba(255,255,255,.45)!important;
    }

    .footer-newsletter__row select{
        color:rgba(255,255,255,.78)!important;
    }

    .footer-newsletter__row select option{
        color:#202722!important;
        background:#fff!important;
    }

    .footer-newsletter__row button{
        display:flex!important;
        align-items:center!important;
        justify-content:center!important;
        gap:13px!important;
        color:#11200f!important;
        background:linear-gradient(135deg,#b3dc5c,#80b72c)!important;
        font-size:13px!important;
        font-weight:800!important;
        text-align:center!important;
    }

    .footer-newsletter__consent{
        width:100%!important;
        min-width:0!important;
        display:grid!important;
        grid-template-columns:18px minmax(0,1fr)!important;
        align-items:start!important;
        gap:8px!important;
        color:rgba(255,255,255,.52)!important;
        font-size:10px!important;
        line-height:1.45!important;
    }

    .footer-newsletter__consent input{
        width:18px!important;
        height:18px!important;
        min-height:18px!important;
        margin:0!important;
        padding:0!important;
        accent-color:#8fc438!important;
    }

    .footer-premium__bottom{
        width:100%!important;
        min-width:0!important;
        display:grid!important;
        grid-template-columns:minmax(0,1fr)!important;
        gap:12px!important;
        margin:29px 0 0!important;
        padding:20px 0 0!important;
        border-top:1px solid rgba(255,255,255,.09)!important;
        color:rgba(255,255,255,.57)!important;
        font-size:10px!important;
        line-height:1.45!important;
        text-align:center!important;
    }

    .footer-premium__bottom>div{
        width:100%!important;
        display:flex!important;
        flex-wrap:wrap!important;
        align-items:center!important;
        justify-content:center!important;
        gap:8px 10px!important;
    }

    .footer-premium__bottom a{
        display:inline!important;
        width:auto!important;
        margin:0!important;
        color:rgba(255,255,255,.67)!important;
        font-size:10px!important;
    }

    .footer-premium__bottom strong{
        width:100%!important;
        justify-self:center!important;
        color:rgba(210,229,190,.76)!important;
        font-size:11px!important;
        line-height:1.4!important;
        overflow-wrap:anywhere!important;
    }
}

@media (max-width: 430px){

    .site-container{
        width:calc(100% - 24px)!important;
        max-width:calc(100% - 24px)!important;
    }

    .services-page-hero{
        padding-top:116px!important;
    }

    .services-page-hero h1,
    .services-premium-heading h2{
        font-size:36px!important;
    }

    .services-page-hero__content>p,
    .services-premium-subtitle{
        font-size:16px!important;
    }

    .service-premium-card__media{
        height:205px!important;
        min-height:205px!important;
    }

    .service-premium-card h3{
        font-size:27px!important;
    }

    .footer-newsletter__intro h3{
        font-size:24px!important;
    }
}

@media (max-width: 360px){
    .services-page-hero h1,
    .services-premium-heading h2{
        font-size:32px!important;
    }

    .service-premium-card__media{
        height:190px!important;
        min-height:190px!important;
    }

    .footer-premium__trust{
        grid-template-columns:minmax(0,1fr)!important;
    }
}
