
/* =========================================================
   TOP CLEAN - COMPLETE THEME CSS
   Designed for the supplied XeOne HTML structure
   Brand: Top Clean Interior Cleaning Point
   ========================================================= */

/* ---------- Google Font ---------- */
@import url('https://fonts.googleapis.com/css2?family=Montserrat:wght@400;500;600;700;800&display=swap');

/* ---------- Theme Variables ---------- */
:root{
    --tc-red:#e31b23;
    --tc-red-dark:#b90f16;
    --tc-red-deep:#8f0d12;
    --tc-black:#0d1218;
    --tc-black-2:#141b22;
    --tc-dark:#1b222b;
    --tc-white:#ffffff;
    --tc-light:#f7f7f7;
    --tc-grey:#6f7680;
    --tc-border:#e8e8e8;
    --tc-green:#25d366;
    --tc-shadow:0 15px 35px rgba(0,0,0,.12);
    --tc-radius:12px;
    --tc-transition:all .35s ease;
}

/* ---------- Reset / Base ---------- */
*{
    margin:0;
    padding:0;
    box-sizing:border-box;
}

html{
    scroll-behavior:smooth;
}

body{
    font-family:'Montserrat',sans-serif;
    color:var(--tc-dark);
    background:var(--tc-white);
    font-size:15px;
    line-height:1.7;
    overflow-x:hidden;
}

img{
    max-width:100%;
    display:block;
}

a{
    text-decoration:none;
    color:inherit;
    transition:var(--tc-transition);
}

a:hover,
a:focus{
    text-decoration:none;
    outline:none;
}

ul{
    margin:0;
    padding:0;
    list-style:none;
}

button,
input,
textarea{
    font-family:inherit;
}

section{
    position:relative;
}

.container{
    width:100%;
    max-width:1180px;
    margin:0 auto;
}

/* ---------- Utility Classes ---------- */
.padding{padding:90px 0;}
.padding_top{padding-top:90px;}
.padding_bottom{padding-bottom:90px;}
.padding_top_half{padding-top:55px;}
.padding_half{padding:55px 0;}

.top10{margin-top:10px;}
.top20{margin-top:20px;}
.top30{margin-top:30px;}
.top40{margin-top:40px;}
.top50{margin-top:50px;}
.top60{margin-top:60px;}

.bottom10{margin-bottom:10px;}
.bottom15{margin-bottom:15px;}
.bottom20{margin-bottom:20px;}
.bottom25{margin-bottom:25px;}
.bottom30{margin-bottom:30px;}
.bottom35{margin-bottom:35px;}
.bottom40{margin-bottom:40px;}
.bottom50{margin-bottom:50px;}

.margin_bottom{margin-bottom:30px;}
.heading_space{margin-bottom:45px;}
.block{display:block;}
.bglight{background:var(--tc-light);}
.whitecolor{color:var(--tc-white)!important;}
.darkcolor{color:var(--tc-black)!important;}
.defaultcolor{color:var(--tc-red)!important;}
.fontbold{font-weight:800;}
.fontregular{font-weight:500;}
.font-light{font-weight:400;}
.font-xlight{font-weight:300;}
.text-capitalize{text-transform:capitalize;}

/* ---------- Preloader ---------- */
.loader{
    position:fixed;
    inset:0;
    background:var(--tc-white);
    z-index:99999;
    display:flex;
    align-items:center;
    justify-content:center;
}

.loader-blocks{
    display:grid;
    grid-template-columns:repeat(4,14px);
    gap:6px;
}

.loader-blocks span{
    width:14px;
    height:14px;
    background:var(--tc-red);
    border-radius:3px;
    animation:tcLoader 1.2s ease-in-out infinite;
}

.loader-blocks span:nth-child(2n){animation-delay:.15s;}
.loader-blocks span:nth-child(3n){animation-delay:.3s;}
.loader-blocks span:nth-child(4n){animation-delay:.45s;}

@keyframes tcLoader{
    0%,100%{transform:scale(.55);opacity:.35}
    50%{transform:scale(1);opacity:1}
}

/* ---------- Header ---------- */
.site-header{
    position:absolute;
    top:0;
    left:0;
    width:100%;
    z-index:1000;
}

.site-header .navbar{
    min-height:88px;
    padding:12px 0;
    transition:var(--tc-transition);
}

.site-header .navbar.scrolled,
.site-header .navbar.fixedmenu{
    position:fixed;
    top:0;
    left:0;
    right:0;
    background:rgba(12,16,21,.96);
    box-shadow:0 8px 30px rgba(0,0,0,.16);
    min-height:72px;
}

.navbar-brand img{
    width:145px;
    max-height:72px;
    object-fit:contain;
}

.navbar-nav{
    align-items:center;
}

.navbar-nav .nav-item{
    margin:0 8px;
}

.navbar-nav .nav-link{
    position:relative;
    color:var(--tc-white)!important;
    font-size:13px;
    font-weight:600;
    padding:12px 8px!important;
}

.navbar-nav .nav-link::after{
    content:"";
    position:absolute;
    left:50%;
    bottom:4px;
    width:0;
    height:2px;
    background:var(--tc-red);
    transform:translateX(-50%);
    transition:var(--tc-transition);
}

.navbar-nav .nav-link:hover::after,
.navbar-nav .nav-item.active .nav-link::after{
    width:70%;
}

.navbar-toggler{
    border:0;
    width:44px;
    height:42px;
    padding:8px;
    background:var(--tc-red);
    border-radius:7px;
}

.navbar-toggler span{
    display:block;
    width:100%;
    height:2px;
    background:var(--tc-white);
    margin:5px 0;
    transition:var(--tc-transition);
}

.navbar-toggler:not(.collapsed) span:nth-child(1){
    transform:translateY(7px) rotate(45deg);
}

.navbar-toggler:not(.collapsed) span:nth-child(2){
    opacity:0;
}

.navbar-toggler:not(.collapsed) span:nth-child(3){
    transform:translateY(-7px) rotate(-45deg);
}

/* ---------- Side Menu ---------- */
.sidemenu_btn{
    width:38px;
    height:38px;
    margin-left:20px;
    display:flex!important;
    align-items:center;
    justify-content:center;
    flex-direction:column;
    gap:5px;
    background:var(--tc-red);
    border-radius:7px;
}

.sidemenu_btn span{
    width:20px;
    height:2px;
    background:#fff;
}

.side-menu{
    position:fixed;
    top:0;
    right:-420px;
    width:380px;
    max-width:88%;
    height:100vh;
    background:linear-gradient(145deg,var(--tc-black),var(--tc-black-2));
    z-index:9999;
    transition:all .5s ease;
    padding:70px 45px;
}

.side-menu.side-menu-active{
    right:0;
}

#close_side_menu{
    position:fixed;
    inset:0;
    background:rgba(0,0,0,.55);
    z-index:9998;
    opacity:0;
    visibility:hidden;
    transition:var(--tc-transition);
}

#close_side_menu.close_side_menu_active{
    opacity:1;
    visibility:visible;
}

.btn-close{
    position:absolute;
    top:28px;
    right:28px;
    width:32px;
    height:32px;
    cursor:pointer;
}

.btn-close i{
    position:absolute;
    top:15px;
    left:4px;
    width:24px;
    height:2px;
    background:#fff;
}

.btn-close i:first-child{transform:rotate(45deg);}
.btn-close i:last-child{transform:rotate(-45deg);}

.side-nav .nav-link{
    color:#fff!important;
    font-size:18px;
    font-weight:600;
    padding:10px 0!important;
    border-bottom:1px solid rgba(255,255,255,.08);
}

.side-nav .nav-link:hover{
    color:var(--tc-red)!important;
    padding-left:8px!important;
}

.side-footer{
    position:absolute;
    left:45px;
    right:45px;
    bottom:35px;
}

.social-icons-simple{
    display:flex;
    gap:12px;
}

.social-icons-simple a{
    width:36px;
    height:36px;
    border:1px solid rgba(255,255,255,.35);
    border-radius:50%;
    display:flex;
    align-items:center;
    justify-content:center;
    color:#fff;
}

.social-icons-simple a:hover{
    background:var(--tc-red);
    border-color:var(--tc-red);
}

/* ---------- Main Slider ---------- */
#revo_main_wrapper,
.rev_slider_wrapper{
    min-height:620px;
}

.rev_slider,
.rev_slider ul,
.rev_slider li{
    min-height:620px!important;
}

.rev-slidebg{
    filter:brightness(.58);
}

.tp-caption h1{
    font-size:54px;
    line-height:1.15;
    text-shadow:0 4px 18px rgba(0,0,0,.45);
}

.tp-caption h4{
    font-size:18px;
    text-shadow:0 3px 12px rgba(0,0,0,.45);
}

/* Optional call button style inside header */
.tc-call-btn{
    display:inline-flex;
    align-items:center;
    gap:9px;
    background:var(--tc-red);
    color:#fff!important;
    border:1px solid rgba(255,255,255,.6);
    border-radius:7px;
    padding:10px 17px;
    font-weight:700;
    font-size:13px;
    box-shadow:0 8px 20px rgba(227,27,35,.28);
}

.tc-call-btn:hover{
    background:#fff;
    color:var(--tc-red)!important;
}

/* ---------- Buttons ---------- */
.button{
    display:inline-flex;
    align-items:center;
    justify-content:center;
    min-height:46px;
    padding:0 28px;
    border-radius:6px;
    border:2px solid transparent;
    font-size:13px;
    font-weight:700;
    letter-spacing:.2px;
    text-transform:capitalize;
    transition:var(--tc-transition);
}

.btnprimary{
    color:#fff;
    background:var(--tc-red);
    border-color:var(--tc-red);
}

.btnprimary:hover{
    color:var(--tc-red);
    background:#fff;
}

.btnsecondary{
    color:#fff;
    background:var(--tc-black);
    border-color:var(--tc-black);
}

.btnsecondary:hover{
    color:#fff;
    background:var(--tc-red);
    border-color:var(--tc-red);
}

/* ---------- Section Headings ---------- */
.heading-title span{
    display:block;
    color:var(--tc-red);
    text-transform:uppercase;
    font-size:12px;
    font-weight:700;
    letter-spacing:.8px;
    margin-bottom:7px;
}

.heading-title h2{
    font-size:36px;
    line-height:1.25;
    font-weight:800;
}

.heading-title p{
    color:var(--tc-grey);
}

/* ---------- Services Slider ---------- */
#services-slider{
    position:relative;
    z-index:15;
    margin-top:-52px;
    background:var(--tc-red);
    border-radius:10px;
    padding:0 15px;
    box-shadow:var(--tc-shadow);
}

#services-slider .owl-stage{
    display:flex;
}

#services-slider .item{
    height:100%;
}

.service-box{
    min-height:125px;
    height:100%;
    padding:28px 22px;
    text-align:center;
    color:#fff;
    border-right:1px solid rgba(255,255,255,.23);
    background:transparent;
    transition:var(--tc-transition);
}

#services-slider .owl-item:last-child .service-box{
    border-right:0;
}

.service-box span{
    display:inline-flex;
    width:44px;
    height:44px;
    align-items:center;
    justify-content:center;
    border:1px solid rgba(255,255,255,.5);
    border-radius:50%;
    font-size:20px;
}

.service-box h4{
    font-size:15px;
    font-weight:700;
}

.service-box h4 a,
.service-box p{
    color:#fff;
}

.service-box p{
    margin:0;
    font-size:12px;
    line-height:1.55;
    opacity:.9;
}

.service-box:hover{
    background:var(--tc-red-dark);
    transform:translateY(-5px);
}

/* ---------- Feature Section ---------- */
.single-feature .image img{
    border-radius:var(--tc-radius);
    box-shadow:var(--tc-shadow);
}

.single-feature p{
    color:var(--tc-grey);
}

/* ---------- Process / Why Choose Us ---------- */
.gradient_bg_default,
.gradient_bg{
    background:linear-gradient(135deg,var(--tc-black),#131c25);
}

#our-process{
    padding:65px 0;
}

.process-wrapp{
    width:100%;
    display:grid;
    grid-template-columns:repeat(5,1fr);
    margin-top:40px;
}

.process-wrapp li{
    position:relative;
    text-align:center;
    padding:0 20px;
}

.process-wrapp li:not(:last-child)::after{
    content:"";
    position:absolute;
    top:25px;
    right:-1px;
    width:1px;
    height:72px;
    background:rgba(255,255,255,.18);
}

.pro-step{
    width:52px;
    height:52px;
    display:inline-flex;
    align-items:center;
    justify-content:center;
    border-radius:50%;
    border:2px solid var(--tc-red);
    color:var(--tc-red);
    font-weight:800;
}

.process-wrapp p{
    font-size:12px;
    opacity:.9;
}

/* ---------- Team Cards / Reusable Cards ---------- */
.team-box{
    background:#fff;
    border-radius:var(--tc-radius);
    overflow:hidden;
    box-shadow:0 10px 28px rgba(0,0,0,.09);
}

.team-box .image{
    height:280px;
    overflow:hidden;
}

.team-box .image img{
    width:100%;
    height:100%;
    object-fit:cover;
    transition:transform .55s ease;
}

.team-box:hover .image img{
    transform:scale(1.06);
}

.team-content{
    padding:26px;
    background:linear-gradient(145deg,var(--tc-red),var(--tc-red-dark));
}

.team-content h3{
    font-size:20px;
    margin-bottom:5px;
}

.progress{
    background:rgba(255,255,255,.22);
    height:7px;
    overflow:visible;
    border-radius:20px;
    margin-bottom:25px;
}

.progress p{
    position:absolute;
    transform:translateY(-24px);
    font-size:12px;
}

.progress-bar{
    background:#fff;
    border-radius:20px;
    position:relative;
}

.progress-bar span{
    position:absolute;
    right:0;
    top:-26px;
    font-size:11px;
}

/* ---------- Video ---------- */
#video-bg{
    background:#fff;
}

.hover-effect{
    position:relative;
    overflow:hidden;
    border-radius:var(--tc-radius);
}

.hover-effect img{
    width:100%;
    transition:transform .5s ease;
}

.hover-effect:hover img{
    transform:scale(1.05);
}

.button-play{
    position:absolute;
    left:50%;
    top:50%;
    transform:translate(-50%,-50%);
    width:70px;
    height:70px;
    display:flex;
    align-items:center;
    justify-content:center;
    border-radius:50%;
    color:#fff;
    background:var(--tc-red);
    box-shadow:0 0 0 12px rgba(227,27,35,.2);
}

/* ---------- Gallery ---------- */
#portfolio-xe{
    background:#fff;
}

#flat-filters{
    display:flex;
    flex-wrap:wrap;
    justify-content:center;
    gap:10px;
}

.cbp-filter-item{
    cursor:pointer;
    padding:9px 18px;
    border-radius:30px;
    background:#f1f1f1;
    color:var(--tc-dark);
    font-size:12px;
    font-weight:700;
}

.cbp-filter-item:hover,
.cbp-filter-item.cbp-filter-item-active{
    color:#fff;
    background:var(--tc-red);
}

#flat-gallery{
    display:grid!important;
    grid-template-columns:repeat(3,1fr);
    gap:18px;
}

#flat-gallery .cbp-item{
    width:100%!important;
    position:relative;
    overflow:hidden;
    border-radius:10px;
    box-shadow:0 8px 22px rgba(0,0,0,.10);
}

#flat-gallery .cbp-item img{
    width:100%;
    aspect-ratio:1.25/1;
    object-fit:cover;
    transition:transform .55s ease;
}

#flat-gallery .overlay{
    position:absolute;
    inset:0;
    display:flex;
    flex-direction:column;
    align-items:center;
    justify-content:center;
    text-align:center;
    background:linear-gradient(to top,rgba(156,0,8,.9),rgba(227,27,35,.45));
    opacity:0;
    transform:translateY(20px);
    transition:var(--tc-transition);
}

#flat-gallery .cbp-item:hover .overlay{
    opacity:1;
    transform:translateY(0);
}

#flat-gallery .cbp-item:hover img{
    transform:scale(1.08);
}

.overlay .plus{
    width:48px;
    height:48px;
    border-radius:50%;
    border:2px solid #fff;
    position:relative;
}

.overlay .plus::before,
.overlay .plus::after{
    content:"";
    position:absolute;
    left:50%;
    top:50%;
    background:#fff;
    transform:translate(-50%,-50%);
}

.overlay .plus::before{width:18px;height:2px;}
.overlay .plus::after{width:2px;height:18px;}

/* ---------- App Features ---------- */
.feature-item{
    transition:var(--tc-transition);
}

.feature-item .icon{
    width:58px;
    height:58px;
    border-radius:50%;
    background:var(--tc-red);
    color:#fff;
    display:flex;
    align-items:center;
    justify-content:center;
    font-size:22px;
    box-shadow:0 8px 18px rgba(227,27,35,.24);
}

.feature-item.left,
.feature-item.right{
    display:flex;
    align-items:flex-start;
    gap:18px;
}

.feature-item.right{
    flex-direction:row-reverse;
    text-align:right;
}

.feature-item h4{
    font-size:17px;
    font-weight:700;
    margin-bottom:8px;
}

.feature-item p{
    color:var(--tc-grey);
    font-size:13px;
}

/* ---------- Counters ---------- */
#funfacts{
    background:linear-gradient(135deg,var(--tc-red),var(--tc-red-dark));
    padding-bottom:60px;
}

.icon-counters{
    padding:20px 10px;
}

.img-icon{
    font-size:42px;
}

.counters{
    font-size:34px;
    font-weight:800;
    line-height:1;
}

.counters i{
    font-size:16px;
    vertical-align:top;
}

/* ---------- Pricing ---------- */
.price-table{
    background:#fff;
    border:1px solid var(--tc-border);
    border-radius:var(--tc-radius);
    padding:40px 30px;
    text-align:center;
    box-shadow:0 10px 30px rgba(0,0,0,.06);
    transition:var(--tc-transition);
}

.price-table:hover,
.price-table.active{
    transform:translateY(-8px);
    box-shadow:0 18px 40px rgba(0,0,0,.12);
}

.price-table.active{
    border-top:5px solid var(--tc-red);
}

.price-table h3{
    font-weight:800;
}

.price-table p{
    color:var(--tc-grey);
    font-size:13px;
}

.ammount h2{
    font-size:34px;
    font-weight:800;
}

.ammount .dur{
    color:var(--tc-grey);
    font-size:12px;
    font-weight:500;
}

.price-table ul{
    text-align:left;
}

.price-table ul li{
    padding:10px 0 10px 25px;
    border-bottom:1px solid #eee;
    position:relative;
    font-size:13px;
}

.price-table ul li::before{
    content:"\f00c";
    font-family:FontAwesome;
    position:absolute;
    left:0;
    color:var(--tc-red);
}

.price-table ul li.not-support{
    color:#aaa;
    text-decoration:line-through;
}

/* ---------- Testimonials ---------- */
.testimonial-bg{
    background:
      linear-gradient(rgba(7,10,14,.82),rgba(7,10,14,.82)),
      url("../images/testimonial-bg.jpg") center/cover no-repeat;
}

.testimonial-quote h3{
    font-size:25px;
    line-height:1.5;
}

#owl-thumbs{
    display:flex;
    gap:12px;
    margin-top:28px;
}

#owl-thumbs .owl-dot img{
    width:58px;
    height:58px;
    border-radius:50%;
    object-fit:cover;
    border:3px solid transparent;
}

#owl-thumbs .owl-dot.active img{
    border-color:var(--tc-red);
}

/* ---------- Partners ---------- */
.logo-item{
    height:90px;
    display:flex;
    align-items:center;
    justify-content:center;
    padding:18px;
    filter:grayscale(1);
    opacity:.65;
    transition:var(--tc-transition);
}

.logo-item:hover{
    filter:none;
    opacity:1;
}

/* ---------- Blog ---------- */
.half-section{
    background:#fff;
}

.half-section .row{
    align-items:stretch;
}

.equalheight{
    height:100%;
}

.half-section .image img{
    width:100%;
    height:100%;
    min-height:520px;
    object-fit:cover;
}

.split-box{
    min-height:520px;
    display:flex;
    align-items:center;
    background:var(--tc-light);
}

.container-padding{
    padding:40px 55px;
}

/* ---------- Contact ---------- */
#contactus{
    background:#fff;
}

.our-address{
    padding-right:25px;
}

.our-address h5{
    font-weight:800;
    color:var(--tc-black);
}

.our-address p{
    color:var(--tc-grey);
}

.pickus{
    color:var(--tc-red);
    font-weight:700;
    font-size:13px;
}

.getin_form{
    background:#fff;
    padding:35px;
    border-radius:var(--tc-radius);
    box-shadow:var(--tc-shadow);
}

.form-control{
    border:1px solid #dedede;
    border-radius:7px;
    min-height:48px;
    padding:12px 15px;
    color:var(--tc-dark);
    transition:var(--tc-transition);
}

textarea.form-control{
    min-height:135px;
    resize:none;
}

.form-control:focus{
    border-color:var(--tc-red);
    box-shadow:0 0 0 3px rgba(227,27,35,.12);
}

#map-container{
    width:100%;
    height:420px;
    margin-top:60px;
    background:#eee;
}

/* ---------- Footer ---------- */
#site-footer{
    background:var(--tc-black);
    color:#fff;
    border-bottom:14px solid var(--tc-red);
}

.social-icons{
    display:flex;
    justify-content:center;
    gap:12px;
}

.social-icons a{
    width:42px;
    height:42px;
    border-radius:50%;
    border:1px solid rgba(255,255,255,.25);
    display:flex;
    align-items:center;
    justify-content:center;
    color:#fff;
}

.social-icons a:hover{
    background:var(--tc-red);
    border-color:var(--tc-red);
    transform:translateY(-3px);
}

.copyrights{
    margin:0;
    color:#bfc4c8;
    font-size:13px;
}

.copyrights a{
    color:var(--tc-red);
}

/* ---------- Floating WhatsApp ---------- */
.whatsapp-float{
    position:fixed;
    right:22px;
    bottom:22px;
    width:60px;
    height:60px;
    border-radius:50%;
    background:var(--tc-green);
    color:#fff!important;
    z-index:999;
    display:flex;
    align-items:center;
    justify-content:center;
    font-size:30px;
    box-shadow:0 10px 28px rgba(37,211,102,.4);
    animation:tcPulse 2s infinite;
}

@keyframes tcPulse{
    0%{box-shadow:0 0 0 0 rgba(37,211,102,.45)}
    70%{box-shadow:0 0 0 18px rgba(37,211,102,0)}
    100%{box-shadow:0 0 0 0 rgba(37,211,102,0)}
}

/* ---------- Owl Navigation ---------- */
.owl-nav button{
    width:38px;
    height:38px;
    border-radius:50%!important;
    background:var(--tc-red)!important;
    color:#fff!important;
}

.owl-dots{
    text-align:center;
    margin-top:18px;
}

.owl-dot span{
    width:8px!important;
    height:8px!important;
    background:#bbb!important;
}

.owl-dot.active span{
    width:24px!important;
    border-radius:20px!important;
    background:var(--tc-red)!important;
}

/* ---------- Responsive: Large Tablet ---------- */
@media (max-width:1199.98px){
    .navbar-nav .nav-item{
        margin:0 4px;
    }

    .navbar-nav .nav-link{
        font-size:12px;
    }

    .tp-caption h1{
        font-size:46px;
    }

    .process-wrapp li{
        padding:0 10px;
    }
}

/* ---------- Responsive: Tablet ---------- */
@media (max-width:991.98px){
    .padding{padding:70px 0;}
    .padding_top{padding-top:70px;}
    .padding_bottom{padding-bottom:70px;}

    .site-header .navbar{
        background:rgba(10,14,19,.92);
        min-height:72px;
    }

    .navbar-brand img{
        width:115px;
        max-height:58px;
    }

    .navbar-collapse{
        background:var(--tc-black);
        margin-top:10px;
        padding:15px;
        border-radius:8px;
        max-height:70vh;
        overflow-y:auto;
    }

    .navbar-nav{
        align-items:flex-start;
    }

    .navbar-nav .nav-item{
        width:100%;
        margin:0;
    }

    .navbar-nav .nav-link{
        width:100%;
        padding:11px 4px!important;
        border-bottom:1px solid rgba(255,255,255,.08);
    }

    .navbar-nav .nav-link::after{
        display:none;
    }

    #revo_main_wrapper,
    .rev_slider_wrapper,
    .rev_slider,
    .rev_slider ul,
    .rev_slider li{
        min-height:560px!important;
    }

    .tp-caption h1{
        font-size:40px;
    }

    #services-slider{
        margin-top:-35px;
    }

    .process-wrapp{
        grid-template-columns:repeat(2,1fr);
        row-gap:35px;
    }

    .process-wrapp li:not(:last-child)::after{
        display:none;
    }

    #flat-gallery{
        grid-template-columns:repeat(2,1fr);
    }

    .feature-item.right{
        flex-direction:row;
        text-align:left;
    }

    #app-feature .image{
        margin:25px auto;
        max-width:320px;
    }

    .price-table{
        margin-top:25px!important;
    }
}

/* ---------- Responsive: Mobile ---------- */
@media (max-width:767.98px){
    body{
        font-size:14px;
    }

    .container{
        padding-left:18px;
        padding-right:18px;
    }

    .padding{padding:58px 0;}
    .padding_top{padding-top:58px;}
    .padding_bottom{padding-bottom:58px;}
    .padding_half{padding:42px 0;}

    .heading-title h2{
        font-size:29px;
    }

    .heading_space{
        margin-bottom:32px;
    }

    .site-header .navbar{
        padding:8px 0;
    }

    .navbar-brand img{
        width:95px;
        max-height:50px;
    }

    #revo_main_wrapper,
    .rev_slider_wrapper,
    .rev_slider,
    .rev_slider ul,
    .rev_slider li{
        min-height:500px!important;
    }

    .tp-caption h1{
        font-size:30px!important;
        line-height:1.2!important;
        white-space:normal!important;
        max-width:88vw!important;
    }

    .tp-caption h4{
        font-size:14px!important;
        line-height:1.45!important;
        white-space:normal!important;
        max-width:88vw!important;
    }

    #services-slider{
        margin-top:-25px;
        padding:10px;
    }

    .service-box{
        border-right:0;
        border-bottom:1px solid rgba(255,255,255,.18);
        min-height:auto;
        padding:22px 15px;
    }

    .single-feature .row{
        flex-direction:column-reverse;
    }

    .single-feature .image{
        margin-bottom:28px;
    }

    .process-wrapp{
        grid-template-columns:1fr;
        row-gap:25px;
    }

    .process-wrapp li{
        padding:0 15px 25px;
        border-bottom:1px solid rgba(255,255,255,.12);
    }

    .team-box .image{
        height:250px;
    }

    #flat-filters{
        gap:7px;
    }

    .cbp-filter-item{
        padding:8px 13px;
        font-size:11px;
    }

    #flat-gallery{
        grid-template-columns:1fr;
        gap:16px;
    }

    #flat-gallery .cbp-item img{
        aspect-ratio:1.35/1;
    }

    .feature-item.left,
    .feature-item.right{
        gap:14px;
    }

    .feature-item .icon{
        min-width:52px;
        width:52px;
        height:52px;
    }

    .testimonial-quote h3{
        font-size:20px;
    }

    .half-section .image img{
        min-height:300px;
    }

    .split-box{
        min-height:auto;
    }

    .container-padding{
        padding:35px 24px;
    }

    .getin_form{
        padding:25px 20px;
    }

    #map-container{
        height:320px;
    }

    .whatsapp-float{
        width:54px;
        height:54px;
        font-size:26px;
        right:16px;
        bottom:16px;
    }

    .side-menu{
        padding:65px 28px;
    }

    .side-footer{
        left:28px;
        right:28px;
    }
}

/* ---------- Responsive: Small Mobile ---------- */
@media (max-width:480px){
    .heading-title h2{
        font-size:25px;
    }

    .button{
        width:100%;
        padding:0 18px;
    }

    .tp-caption h1{
        font-size:26px!important;
    }

    .tp-caption h4{
        font-size:13px!important;
    }

    .navbar-brand img{
        width:86px;
    }

    .process-wrapp{
        margin-top:28px;
    }

    .ammount h2{
        font-size:29px;
    }

    .social-icons{
        flex-wrap:wrap;
    }
}

/* ---------- Optional Top Clean Service Card Styling ----------
   Apply class="tc-service-card" to any service card wrapper.
-------------------------------------------------------------- */
.tc-service-card{
    background:#fff;
    border:1px solid var(--tc-border);
    border-radius:12px;
    overflow:hidden;
    box-shadow:0 8px 25px rgba(0,0,0,.08);
    transition:var(--tc-transition);
}

.tc-service-card:hover{
    transform:translateY(-7px);
    box-shadow:0 16px 35px rgba(0,0,0,.14);
}

.tc-service-card img{
    width:100%;
    height:205px;
    object-fit:cover;
}

.tc-service-card .tc-card-content{
    padding:22px;
}

.tc-service-card h4{
    font-size:17px;
    font-weight:800;
    margin-bottom:8px;
}

.tc-service-card p{
    color:var(--tc-grey);
    font-size:13px;
    margin:0;
}

.tc-service-icon{
    width:48px;
    height:48px;
    border-radius:50%;
    background:var(--tc-red);
    color:#fff;
    display:flex;
    align-items:center;
    justify-content:center;
    margin-top:-25px;
    margin-left:18px;
    position:relative;
    z-index:2;
    border:4px solid #fff;
}

/* ---------- Optional Before/After Gallery ----------
   Use .before-after-grid and .before-after-item
-------------------------------------------------- */
.before-after-grid{
    display:grid;
    grid-template-columns:repeat(5,1fr);
    gap:14px;
}

.before-after-item{
    position:relative;
    border-radius:9px;
    overflow:hidden;
    box-shadow:0 7px 18px rgba(0,0,0,.11);
}

.before-after-item img{
    width:100%;
    aspect-ratio:1/1;
    object-fit:cover;
}

.before-after-label{
    position:absolute;
    top:8px;
    padding:5px 9px;
    color:#fff;
    font-size:10px;
    font-weight:800;
    border-radius:3px;
}

.before-after-label.before{
    left:8px;
    background:var(--tc-red);
}

.before-after-label.after{
    right:8px;
    background:var(--tc-black);
}

@media (max-width:991.98px){
    .before-after-grid{
        grid-template-columns:repeat(3,1fr);
    }
}

@media (max-width:575.98px){
    .before-after-grid{
        grid-template-columns:repeat(2,1fr);
        gap:10px;
    }
}




/*=========================
TOP CLEAN HEADER
==========================*/

.tc-navbar{

    position:absolute;
    top:0;
    left:0;
    width:100%;

    padding:18px 0;

    background:transparent;

    z-index:999;

    transition:.4s;

}

.fixedmenu{

    position:fixed!important;

    background:rgba(0,0,0,.92)!important;

    box-shadow:0 10px 30px rgba(0,0,0,.2);

    padding:10px 0;

}

.navbar-brand img{

    width:170px;

}

.navbar-nav{

    margin:auto;

}

.navbar-nav .nav-item{

    margin:0 12px;

}

.navbar-nav .nav-link{

    color:#fff!important;

    font-size:13px;

    font-weight:600;

    position:relative;

    padding:10px 0!important;

}

.navbar-nav .nav-link:after{

    content:'';

    position:absolute;

    left:50%;

    bottom:0;

    width:0;

    height:2px;

    background:#df1b23;

    transition:.3s;

    transform:translateX(-50%);

}

.navbar-nav .nav-link:hover:after,

.nav-item.active .nav-link:after{

    width:100%;

}

.header-phone{

    margin-left:30px;

}

.header-phone a{

    background:#df1b23;

    color:#fff;

    padding:12px 22px;

    border-radius:7px;

    font-size:15px;

    font-weight:700;

    border:1px solid rgba(255,255,255,.35);

    transition:.35s;

}

.header-phone a i{

    margin-right:8px;

}

.header-phone a:hover{

    background:#fff;

    color:#df1b23;

}

.navbar-toggler{

    background:#df1b23;

    border-radius:5px;

    border:none;

    width:42px;

    height:40px;

}

.navbar-toggler span{

    display:block;

    width:22px;

    height:2px;

    margin:5px auto;

    background:#fff;

}

/* Mobile */

@media(max-width:991px){

.tc-navbar{

background:#000;

padding:12px 0;

}

.navbar-brand img{

width:120px;

}

.navbar-collapse{

margin-top:15px;

background:#111;

padding:20px;

border-radius:8px;

}

.navbar-nav .nav-item{

margin:0;

}

.navbar-nav .nav-link{

padding:12px 0!important;

border-bottom:1px solid rgba(255,255,255,.08);

}

.header-phone{

display:none!important;

}

}



/* =========================================================
   TOP CLEAN PREMIUM MAIN SLIDER
   ========================================================= */

.topclean-hero{
    position:relative;
    width:100%;
    overflow:hidden;
    background:#111;
}

#topclean_slider_wrapper,
#topclean_slider{
    width:100%;
    min-height:650px;
}

#topclean_slider .rev-slidebg{
    filter:none;
}

.topclean-overlay{
    background:linear-gradient(
        90deg,
        rgba(31,4,4,.88) 0%,
        rgba(42,8,8,.70) 34%,
        rgba(20,8,8,.28) 66%,
        rgba(0,0,0,.05) 100%
    ) !important;
}

.topclean-main-title{
    color:#fff;
    font-family:'Montserrat',sans-serif;
    font-weight:700;
    letter-spacing:-1px;
    text-shadow:0 4px 18px rgba(0,0,0,.38);
}

.topclean-main-title span{
    color:#fff;
    font-weight:700;
}

.topclean-slider-buttons{
    display:flex;
    align-items:center;
    gap:15px;
}

.topclean-slider-btn{
    display:inline-flex;
    align-items:center;
    justify-content:center;
    min-width:125px;
    min-height:46px;
    padding:11px 22px;
    margin-right:12px;
    border-radius:5px;
    font-family:'Montserrat',sans-serif;
    font-size:13px;
    font-weight:700;
    line-height:1;
    text-transform:capitalize;
    transition:all .35s ease;
}

.topclean-btn-red{
    color:#fff !important;
    background:#e31b23;
    border:2px solid #e31b23;
    box-shadow:0 10px 24px rgba(227,27,35,.28);
}

.topclean-btn-red:hover{
    color:#e31b23 !important;
    background:#fff;
    border-color:#fff;
    transform:translateY(-3px);
}

.topclean-btn-outline{
    color:#fff !important;
    background:rgba(0,0,0,.18);
    border:2px solid rgba(255,255,255,.85);
    backdrop-filter:blur(5px);
}

.topclean-btn-outline:hover{
    color:#fff !important;
    background:#e31b23;
    border-color:#e31b23;
    transform:translateY(-3px);
}

/* Premium Revolution Slider Arrows */

.topclean-nav-arrow{
    width:54px !important;
    height:54px !important;
    border-radius:50% !important;
    background:rgba(10,10,10,.42) !important;
    border:1px solid rgba(255,255,255,.38) !important;
    backdrop-filter:blur(8px);
    box-shadow:0 10px 28px rgba(0,0,0,.18);
    transition:all .35s ease !important;
}

.topclean-nav-arrow:hover{
    background:#e31b23 !important;
    border-color:#e31b23 !important;
    transform:scale(1.08);
}

.topclean-nav-arrow::before{
    font-family:revicons;
    font-size:17px !important;
    color:#fff !important;
    line-height:52px !important;
    text-align:center;
}

.topclean-nav-arrow.tp-leftarrow::before{
    content:"\e824";
}

.topclean-nav-arrow.tp-rightarrow::before{
    content:"\e825";
}

/* Slider progress line */

#topclean_slider .tp-bannertimer{
    background:#e31b23 !important;
    height:4px !important;
}

/* Optional premium bottom fade */

.topclean-hero::after{
    content:"";
    position:absolute;
    left:0;
    right:0;
    bottom:0;
    height:80px;
    pointer-events:none;
    background:linear-gradient(
        to top,
        rgba(0,0,0,.15),
        transparent
    );
    z-index:5;
}

/* Tablet */

@media(max-width:991px){

    #topclean_slider_wrapper,
    #topclean_slider{
        min-height:570px;
    }

    .topclean-overlay{
        background:linear-gradient(
            90deg,
            rgba(25,4,4,.88) 0%,
            rgba(25,4,4,.65) 55%,
            rgba(0,0,0,.15) 100%
        ) !important;
    }

    .topclean-nav-arrow{
        width:46px !important;
        height:46px !important;
    }

    .topclean-nav-arrow::before{
        line-height:44px !important;
    }

}

/* Mobile */

@media(max-width:767px){

    #topclean_slider_wrapper,
    #topclean_slider{
        min-height:540px;
    }

    .topclean-overlay{
        background:rgba(20,4,4,.62) !important;
    }

    .topclean-main-title{
        padding:0 18px !important;
        letter-spacing:-.4px;
    }

    .topclean-slider-buttons{
        width:100%;
        padding:0 18px;
        text-align:center !important;
    }

    .topclean-slider-btn{
        min-width:130px;
        min-height:44px;
        margin:5px;
        padding:10px 17px;
        font-size:12px;
    }

    .topclean-nav-arrow{
        width:42px !important;
        height:42px !important;
    }

    .topclean-nav-arrow::before{
        line-height:40px !important;
    }

}

@media(max-width:480px){

    #topclean_slider_wrapper,
    #topclean_slider{
        min-height:520px;
    }

    .topclean-slider-btn{
        min-width:120px;
        padding:10px 13px;
        margin:4px;
    }

    .topclean-nav-arrow{
        display:none !important;
    }

}
.navbar-brand img{
    width: 220px;
    max-height: 95px;
    object-fit: contain;
}
@media (max-width: 991px){

    .navbar-brand img{
        width: 165px;
        max-height: 72px;
    }

}

@media (max-width: 767px){

    .navbar-brand img{
        width: 135px;
        max-height: 62px;
    }

}
/* =========================================================
   TOP CLEAN FINAL SLIDER OVERRIDE
   ========================================================= */

.topclean-hero {
    position: relative !important;
    width: 100% !important;
    min-height: 650px !important;
    overflow: hidden !important;
    background: #111 !important;
}

#topclean_slider_wrapper,
#topclean_slider {
    width: 100% !important;
    min-height: 650px !important;
}

#topclean_slider .rev-slidebg {
    width: 100% !important;
    height: 100% !important;
    object-fit: cover !important;
}

.topclean-overlay {
    background:
        linear-gradient(
            90deg,
            rgba(15, 5, 6, 0.92) 0%,
            rgba(35, 7, 9, 0.78) 35%,
            rgba(15, 5, 6, 0.35) 68%,
            rgba(0, 0, 0, 0.08) 100%
        ) !important;
}

.topclean-small-title {
    color: #e31b23 !important;
    font-family: "Montserrat", sans-serif !important;
    font-weight: 700 !important;
    letter-spacing: 1.5px !important;
    text-transform: uppercase !important;
}

.topclean-main-title {
    color: #fff !important;
    font-family: "Montserrat", sans-serif !important;
    font-weight: 700 !important;
    letter-spacing: -1px !important;
    text-shadow: 0 5px 20px rgba(0, 0, 0, 0.35) !important;
}

.topclean-main-title span {
    color: #fff !important;
    font-weight: 700 !important;
}

.topclean-slider-btn {
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    min-width: 145px !important;
    min-height: 48px !important;
    margin: 5px 10px 5px 0 !important;
    padding: 12px 24px !important;
    border-radius: 6px !important;
    font-family: "Montserrat", sans-serif !important;
    font-size: 13px !important;
    font-weight: 700 !important;
    line-height: 1 !important;
    text-decoration: none !important;
    transition: all 0.35s ease !important;
}

.topclean-btn-red {
    color: #fff !important;
    background: #e31b23 !important;
    border: 2px solid #e31b23 !important;
    box-shadow: 0 12px 28px rgba(227, 27, 35, 0.3) !important;
}

.topclean-btn-red:hover {
    color: #e31b23 !important;
    background: #fff !important;
    border-color: #fff !important;
    transform: translateY(-3px) !important;
}

.topclean-btn-outline {
    color: #fff !important;
    background: rgba(0, 0, 0, 0.18) !important;
    border: 2px solid rgba(255, 255, 255, 0.9) !important;
}

.topclean-btn-outline:hover {
    color: #fff !important;
    background: #e31b23 !important;
    border-color: #e31b23 !important;
    transform: translateY(-3px) !important;
}

#topclean_slider .tp-bannertimer {
    height: 4px !important;
    background: #e31b23 !important;
}

/* Premium arrows */

.topclean-nav-arrow {
    width: 54px !important;
    height: 54px !important;
    border-radius: 50% !important;
    background: rgba(0, 0, 0, 0.48) !important;
    border: 1px solid rgba(255, 255, 255, 0.55) !important;
    box-shadow: 0 12px 30px rgba(0, 0, 0, 0.25) !important;
    transition: all 0.3s ease !important;
}

.topclean-nav-arrow:hover {
    background: #e31b23 !important;
    border-color: #e31b23 !important;
    transform: scale(1.08) !important;
}

.topclean-nav-arrow::before {
    color: #fff !important;
    font-family: revicons !important;
    font-size: 17px !important;
    line-height: 52px !important;
}

.topclean-nav-arrow.tp-leftarrow::before {
    content: "\e824" !important;
}

.topclean-nav-arrow.tp-rightarrow::before {
    content: "\e825" !important;
}

@media (max-width: 991px) {

    .topclean-hero,
    #topclean_slider_wrapper,
    #topclean_slider {
        min-height: 570px !important;
    }

    .topclean-overlay {
        background: rgba(15, 4, 5, 0.68) !important;
    }

}

@media (max-width: 767px) {

    .topclean-hero,
    #topclean_slider_wrapper,
    #topclean_slider {
        min-height: 540px !important;
    }

    .topclean-main-title {
        padding: 0 18px !important;
    }

    .topclean-slider-buttons {
        padding: 0 15px !important;
    }

    .topclean-slider-btn {
        min-width: 125px !important;
        min-height: 44px !important;
        padding: 10px 15px !important;
        margin: 4px !important;
        font-size: 12px !important;
    }

}

@media (max-width: 480px) {

    .topclean-nav-arrow {
        display: none !important;
    }

}


/* =========================================================
   FIX REVOLUTION SLIDER ARROWS WITHOUT ICON FONT
   ========================================================= */

.topclean-nav-arrow::before {
    content: "" !important;
    font-family: inherit !important;
    position: absolute !important;
    top: 50% !important;
    width: 12px !important;
    height: 12px !important;
    border-top: 2px solid #ffffff !important;
    border-right: 2px solid #ffffff !important;
    line-height: 1 !important;
}

/* Left arrow */
.topclean-nav-arrow.tp-leftarrow::before {
    left: 53% !important;
    transform: translate(-50%, -50%) rotate(-135deg) !important;
}

/* Right arrow */
.topclean-nav-arrow.tp-rightarrow::before {
    left: 47% !important;
    transform: translate(-50%, -50%) rotate(45deg) !important;
}

/* Ensure arrow button positioning */
.topclean-nav-arrow {
    position: absolute !important;
    width: 54px !important;
    height: 54px !important;
    border-radius: 50% !important;
    background: rgba(0, 0, 0, 0.52) !important;
    border: 1px solid rgba(255, 255, 255, 0.6) !important;
    box-shadow: 0 10px 28px rgba(0, 0, 0, 0.3) !important;
}

.topclean-nav-arrow:hover {
    background: #e31b23 !important;
    border-color: #e31b23 !important;
}

/* Mobile */
@media (max-width: 767px) {

    .topclean-nav-arrow {
        width: 44px !important;
        height: 44px !important;
    }

    .topclean-nav-arrow::before {
        width: 10px !important;
        height: 10px !important;
    }

}

.topclean-nav-arrow::before {
    font-family: revicons;
}

.topclean-nav-arrow.tp-leftarrow::before {
    content: "\e824";
}

.topclean-nav-arrow.tp-rightarrow::before {
    content: "\e825";
}

 /* Hide broken Revolution font icons */
.topclean-nav-arrow::before,
.topclean-nav-arrow.tp-leftarrow::before,
.topclean-nav-arrow.tp-rightarrow::before {
    content: none !important;
    display: none !important;
}

/* Arrow button */
.topclean-nav-arrow {
    position: absolute !important;
    width: 54px !important;
    height: 54px !important;
    border-radius: 50% !important;
    background: rgba(0, 0, 0, 0.5) !important;
    border: 1px solid rgba(255, 255, 255, 0.75) !important;
}

/* Draw new arrow */
.topclean-nav-arrow::after {
    content: "" !important;
    position: absolute !important;
    top: 50% !important;
    width: 12px !important;
    height: 12px !important;
    border-top: 2px solid #fff !important;
    border-right: 2px solid #fff !important;
    box-sizing: border-box !important;
}

/* Left arrow */
.topclean-nav-arrow.tp-leftarrow::after {
    left: 54% !important;
    transform: translate(-50%, -50%) rotate(-135deg) !important;
}

/* Right arrow */
.topclean-nav-arrow.tp-rightarrow::after {
    left: 46% !important;
    transform: translate(-50%, -50%) rotate(45deg) !important;
}

/* Hover */
.topclean-nav-arrow:hover {
    background: #e31b23 !important;
    border-color: #e31b23 !important;
}

/* =========================================================
   TOP CLEAN PREMIUM MOBILE SLIDER
   ========================================================= */

@media (max-width: 991px) {

    .topclean-overlay{
        background:linear-gradient(
            180deg,
            rgba(10,10,10,.68) 0%,
            rgba(10,10,10,.55) 100%
        ) !important;
    }

    .topclean-small-title{

        font-size:13px !important;
        line-height:22px !important;
        letter-spacing:2px !important;
        text-align:center !important;
        width:100% !important;
    }

    .topclean-main-title{

        width:90% !important;
        max-width:420px !important;

        font-size:34px !important;
        line-height:44px !important;

        font-weight:700 !important;

        letter-spacing:-0.5px !important;

        text-align:center !important;

        padding:0 15px !important;

        margin:0 auto !important;
    }

    .topclean-main-title span{

        display:block !important;

        margin-top:8px !important;

        font-size:28px !important;

        line-height:38px !important;
    }

    .topclean-slider-buttons{

        width:100% !important;

        text-align:center !important;
    }

    .topclean-slider-btn{

        min-width:145px !important;

        height:46px !important;

        margin:6px !important;

        padding:12px 22px !important;

        font-size:13px !important;

        font-weight:600 !important;
    }

}


/* =========================================================
   MOBILE
   ========================================================= */

@media (max-width:767px){

    .topclean-hero,
    #topclean_slider,
    #topclean_slider_wrapper{

        min-height:620px !important;
    }

    .topclean-small-title{

        font-size:12px !important;

        letter-spacing:1.5px !important;

        line-height:20px !important;
    }

    .topclean-main-title{

        width:92% !important;

        max-width:320px !important;

        font-size:26px !important;

        line-height:34px !important;

        font-weight:700 !important;

        text-align:center !important;

        padding:0 10px !important;
    }

    .topclean-main-title span{

        font-size:21px !important;

        line-height:30px !important;

        margin-top:6px !important;
    }

    .topclean-slider-buttons{

        display:flex !important;

        flex-direction:column !important;

        align-items:center !important;

        justify-content:center !important;

        width:100% !important;
    }

    .topclean-slider-btn{

        width:220px !important;

        height:48px !important;

        margin:7px 0 !important;

        font-size:14px !important;

        border-radius:6px !important;
    }

    .topclean-nav-arrow{

        width:42px !important;

        height:42px !important;
    }

}


/* =========================================================
   SMALL MOBILE
   ========================================================= */

@media (max-width:480px){

    .topclean-hero,
    #topclean_slider,
    #topclean_slider_wrapper{

        min-height:560px !important;
    }

    .topclean-small-title{

        font-size:11px !important;

        letter-spacing:1px !important;
    }

    .topclean-main-title{

        width:94% !important;

        max-width:280px !important;

        font-size:22px !important;

        line-height:30px !important;

        font-weight:700 !important;
    }

    .topclean-main-title span{

        font-size:18px !important;

        line-height:26px !important;
    }

    .topclean-slider-btn{

        width:200px !important;

        height:44px !important;

        font-size:13px !important;
    }

}

/* =========================================================
   FINAL LEFT-ALIGNED SLIDER RESPONSIVE OVERRIDE
   Add at the VERY END of your CSS file
   ========================================================= */

/* Common settings for all screens */
#topclean_slider .topclean-small-title,
#topclean_slider .topclean-main-title,
#topclean_slider .topclean-slider-buttons {
    text-align: left !important;
    transform: none !important;
    margin-left: 0 !important;
    margin-right: 0 !important;
}

/* Keep text clear of both slider arrows */
#topclean_slider .topclean-small-title,
#topclean_slider .topclean-main-title,
#topclean_slider .topclean-slider-buttons {
    box-sizing: border-box !important;
}

/* Desktop */
@media (min-width: 1200px) {

    #topclean_slider .topclean-small-title,
    #topclean_slider .topclean-main-title,
    #topclean_slider .topclean-slider-buttons {
        left: 0 !important;
        right: auto !important;
        margin-left: 110px !important;
    }

    #topclean_slider .topclean-small-title {
        width: calc(100vw - 220px) !important;
        max-width: 760px !important;
    }

    #topclean_slider .topclean-main-title {
        width: calc(100vw - 220px) !important;
        max-width: 760px !important;
        font-size: 48px !important;
        line-height: 1.18 !important;
    }

    #topclean_slider .topclean-main-title span {
        font-size: inherit !important;
        line-height: inherit !important;
    }

    #topclean_slider .topclean-slider-buttons {
        width: calc(100vw - 220px) !important;
        max-width: 760px !important;
    }
}

/* Laptop and 1024px screens */
@media (min-width: 769px) and (max-width: 1199px) {

    #topclean_slider .topclean-small-title,
    #topclean_slider .topclean-main-title,
    #topclean_slider .topclean-slider-buttons {
        left: 0 !important;
        right: auto !important;
        margin-left: 105px !important;
    }

    #topclean_slider .topclean-small-title {
        width: calc(100vw - 210px) !important;
        max-width: 720px !important;
        font-size: 14px !important;
        line-height: 22px !important;
        letter-spacing: 1.8px !important;
    }

    #topclean_slider .topclean-main-title {
        width: calc(100vw - 210px) !important;
        max-width: 720px !important;
        font-size: 42px !important;
        line-height: 1.2 !important;
        letter-spacing: -0.7px !important;
    }

    #topclean_slider .topclean-main-title span {
        font-size: inherit !important;
        line-height: inherit !important;
    }

    #topclean_slider .topclean-slider-buttons {
        width: calc(100vw - 210px) !important;
        max-width: 720px !important;
        display: flex !important;
        justify-content: flex-start !important;
        align-items: center !important;
        gap: 14px !important;
    }

    #topclean_slider .topclean-slider-btn {
        margin: 0 !important;
    }
}

/* Tablet: 768px and below */
@media (max-width: 768px) {

    #topclean_slider .topclean-small-title,
    #topclean_slider .topclean-main-title,
    #topclean_slider .topclean-slider-buttons {
        left: 0 !important;
        right: auto !important;
        margin-left: 78px !important;
    }

    #topclean_slider .topclean-small-title {
        width: calc(100vw - 140px) !important;
        max-width: none !important;
        font-size: 12px !important;
        line-height: 20px !important;
        letter-spacing: 1.5px !important;
    }

    #topclean_slider .topclean-main-title {
        width: calc(100vw - 140px) !important;
        max-width: 560px !important;
        padding: 0 !important;
        font-size: 32px !important;
        line-height: 1.22 !important;
        letter-spacing: -0.5px !important;
    }

    #topclean_slider .topclean-main-title span {
        display: block !important;
        margin-top: 4px !important;
        font-size: 27px !important;
        line-height: 1.25 !important;
    }

    #topclean_slider .topclean-slider-buttons {
        width: calc(100vw - 140px) !important;
        max-width: 560px !important;
        padding: 0 !important;
        display: flex !important;
        flex-direction: row !important;
        justify-content: flex-start !important;
        align-items: center !important;
        gap: 12px !important;
    }

    #topclean_slider .topclean-slider-btn {
        width: auto !important;
        min-width: 145px !important;
        height: 46px !important;
        margin: 0 !important;
        padding: 11px 18px !important;
        font-size: 13px !important;
    }

    #topclean_slider .topclean-nav-arrow {
        width: 42px !important;
        height: 42px !important;
    }
}

/* Mobile */
@media (max-width: 575px) {

    #topclean_slider .topclean-small-title,
    #topclean_slider .topclean-main-title,
    #topclean_slider .topclean-slider-buttons {
        left: 0 !important;
        right: auto !important;
        margin-left: 34px !important;
    }

    #topclean_slider .topclean-small-title {
        width: calc(100vw - 68px) !important;
        font-size: 10px !important;
        line-height: 18px !important;
        letter-spacing: 1.1px !important;
    }

    #topclean_slider .topclean-main-title {
        width: calc(100vw - 68px) !important;
        max-width: none !important;
        padding: 0 !important;
        font-size: 24px !important;
        line-height: 1.25 !important;
        letter-spacing: -0.3px !important;
    }

    #topclean_slider .topclean-main-title span {
        display: block !important;
        margin-top: 3px !important;
        font-size: 20px !important;
        line-height: 1.3 !important;
    }

    #topclean_slider .topclean-slider-buttons {
        width: calc(100vw - 68px) !important;
        padding: 0 !important;
        display: flex !important;
        flex-direction: column !important;
        align-items: flex-start !important;
        justify-content: flex-start !important;
        gap: 10px !important;
    }

    #topclean_slider .topclean-slider-btn {
        width: 205px !important;
        min-width: 205px !important;
        height: 44px !important;
        margin: 0 !important;
        padding: 10px 16px !important;
        font-size: 12px !important;
    }

    /* Hide arrows only on very small screens */
    #topclean_slider .topclean-nav-arrow {
        display: none !important;
    }
}
/* Mobile Toggle Position */
@media (max-width:991px){

.navbar-toggler{
    margin-left:-15px !important;
    margin-right:0 !important;
}

}

/* =====================================================
   ABSOLUTE FINAL ARROW FIX
   Fixed position, zero vibration
   ===================================================== */

/* Common arrow button */
#topclean_slider .tp-leftarrow.topclean-nav-arrow,
#topclean_slider .tp-rightarrow.topclean-nav-arrow {
    position: absolute !important;
    top: 50% !important;

    width: 54px !important;
    height: 54px !important;

    margin: 0 !important;
    padding: 0 !important;

    border-radius: 50% !important;
    border: 1px solid rgba(255, 255, 255, .75) !important;

    background: rgba(0, 0, 0, .50) !important;
    box-shadow: 0 10px 25px rgba(0, 0, 0, .25) !important;

    opacity: 1 !important;
    visibility: visible !important;

    transition:
        background-color .25s ease,
        border-color .25s ease,
        box-shadow .25s ease !important;

    animation: none !important;
    will-change: auto !important;
}

/* Fix left arrow position */
#topclean_slider .tp-leftarrow.topclean-nav-arrow {
    left: 25px !important;
    right: auto !important;
    transform: translateY(-50%) !important;
}

/* Fix right arrow position */
#topclean_slider .tp-rightarrow.topclean-nav-arrow {
    right: 25px !important;
    left: auto !important;
    transform: translateY(-50%) !important;
}

/* Hover: colour change only */
#topclean_slider .tp-leftarrow.topclean-nav-arrow:hover,
#topclean_slider .tp-rightarrow.topclean-nav-arrow:hover {
    background: #e31b23 !important;
    border-color: #e31b23 !important;
    box-shadow: 0 10px 25px rgba(227, 27, 35, .35) !important;
}

/* Preserve exact position during hover */
#topclean_slider .tp-leftarrow.topclean-nav-arrow:hover {
    left: 25px !important;
    right: auto !important;
    transform: translateY(-50%) !important;
}

#topclean_slider .tp-rightarrow.topclean-nav-arrow:hover {
    right: 25px !important;
    left: auto !important;
    transform: translateY(-50%) !important;
}

/* Remove Revolution font icons */
#topclean_slider .topclean-nav-arrow::before {
    content: none !important;
    display: none !important;
}

/* Common custom arrow icon */
#topclean_slider .topclean-nav-arrow::after {
    content: "" !important;
    position: absolute !important;
    top: 50% !important;

    width: 12px !important;
    height: 12px !important;

    border-top: 2px solid #fff !important;
    border-right: 2px solid #fff !important;

    box-sizing: border-box !important;
    pointer-events: none !important;

    transition: none !important;
    animation: none !important;
}

/* Left icon */
#topclean_slider .tp-leftarrow.topclean-nav-arrow::after {
    left: 54% !important;
    transform: translate(-50%, -50%) rotate(-135deg) !important;
}

/* Right icon */
#topclean_slider .tp-rightarrow.topclean-nav-arrow::after {
    left: 46% !important;
    transform: translate(-50%, -50%) rotate(45deg) !important;
}

/* Tablet */
@media (max-width: 991px) {
    #topclean_slider .tp-leftarrow.topclean-nav-arrow,
    #topclean_slider .tp-rightarrow.topclean-nav-arrow {
        width: 46px !important;
        height: 46px !important;
    }

    #topclean_slider .tp-leftarrow.topclean-nav-arrow {
        left: 16px !important;
    }

    #topclean_slider .tp-rightarrow.topclean-nav-arrow {
        right: 16px !important;
    }

    #topclean_slider .tp-leftarrow.topclean-nav-arrow:hover {
        left: 16px !important;
    }

    #topclean_slider .tp-rightarrow.topclean-nav-arrow:hover {
        right: 16px !important;
    }
}

/* Small mobile */
@media (max-width: 575px) {
    #topclean_slider .tp-leftarrow.topclean-nav-arrow,
    #topclean_slider .tp-rightarrow.topclean-nav-arrow {
        display: none !important;
    }
}

/* ==========================================
   Slider Subtitle Spacing
   ========================================== */

#topclean_slider .topclean-small-title{

    margin-top: 12px !important;
    margin-bottom: 22px !important;

    display: block !important;

    line-height: 1.6 !important;
}
/* =========================================================
   TOP CLEAN RED QUICK INFO BAR
   ========================================================= */

.topclean-info-bar {
    position: relative;
    z-index: 30;
    margin-top: -52px;
    padding: 0;
}

.topclean-info-bar .container {
    max-width: 1180px;
}

.topclean-info-grid {
    display: grid;
    grid-template-columns: 1fr 1fr 1fr 1.25fr;
    align-items: stretch;

    min-height: 96px;

    overflow: hidden;
    border-radius: 11px;

    background: linear-gradient(
        135deg,
        #f20d18 0%,
        #df1019 55%,
        #c90811 100%
    );

    box-shadow: 0 14px 35px rgba(177, 0, 10, .28);
}

.topclean-info-item {
    position: relative;

    display: flex;
    align-items: center;
    justify-content: center;
    gap: 16px;

    min-width: 0;
    padding: 20px 24px;

    color: #fff;
}

/* Divider between items */
.topclean-info-item:not(:last-child)::after {
    content: "";
    position: absolute;
    top: 22%;
    right: 0;

    width: 1px;
    height: 56%;

    background: rgba(255, 255, 255, .25);
}

.topclean-info-icon {
    flex: 0 0 44px;

    width: 44px;
    height: 44px;

    display: flex;
    align-items: center;
    justify-content: center;

    border: 1px solid rgba(255, 255, 255, .42);
    border-radius: 50%;

    font-size: 19px;
    color: #fff;

    background: rgba(255, 255, 255, .08);
}

.topclean-info-content {
    min-width: 0;
}

.topclean-info-content h4 {
    margin: 0 0 3px;

    color: #fff;
    font-size: 14px;
    font-weight: 700;
    line-height: 1.35;
}

.topclean-info-content p {
    margin: 0;

    color: rgba(255, 255, 255, .86);
    font-size: 11px;
    font-weight: 500;
    line-height: 1.45;
}

/* Call block */
.topclean-info-call {
    text-align: center;
    background: rgba(176, 0, 9, .16);
}

.topclean-info-call .topclean-info-content {
    width: 100%;
}

.topclean-info-call p {
    margin-bottom: 4px;
    color: #fff;
    font-size: 12px;
    font-weight: 600;
}

.topclean-info-call a {
    display: inline-block;

    color: #fff !important;
    font-size: 22px;
    font-weight: 800;
    line-height: 1.2;
    letter-spacing: .2px;

    text-decoration: none;
    transition: opacity .25s ease;
}

.topclean-info-call a:hover {
    color: #fff !important;
    opacity: .82;
}


/* =========================================================
   TABLET
   ========================================================= */

@media (max-width: 991px) {

    .topclean-info-bar {
        margin-top: -38px;
    }

    .topclean-info-grid {
        grid-template-columns: repeat(2, 1fr);
        min-height: auto;
    }

    .topclean-info-item {
        min-height: 88px;
        padding: 18px 20px;
        justify-content: flex-start;
    }

    .topclean-info-item:nth-child(2)::after {
        display: none;
    }

    .topclean-info-item:nth-child(1),
    .topclean-info-item:nth-child(2) {
        border-bottom: 1px solid rgba(255, 255, 255, .22);
    }

    .topclean-info-call {
        justify-content: center;
    }
}


/* =========================================================
   MOBILE
   ========================================================= */

@media (max-width: 575px) {

    .topclean-info-bar {
        margin-top: -24px;
    }

    .topclean-info-bar .container {
        padding-left: 18px;
        padding-right: 18px;
    }

    .topclean-info-grid {
        grid-template-columns: 1fr;
        border-radius: 9px;
    }

    .topclean-info-item {
        min-height: 78px;
        padding: 15px 18px;
    }

    .topclean-info-item::after {
        display: none !important;
    }

    .topclean-info-item:not(:last-child) {
        border-bottom: 1px solid rgba(255, 255, 255, .20);
    }

    .topclean-info-icon {
        flex-basis: 40px;
        width: 40px;
        height: 40px;
        font-size: 17px;
    }

    .topclean-info-content h4 {
        font-size: 13px;
    }

    .topclean-info-content p {
        font-size: 10px;
    }

    .topclean-info-call {
        text-align: left;
        justify-content: flex-start;
    }

    .topclean-info-call a {
        font-size: 19px;
    }
}


/*==========================================
 OUR SERVICES
==========================================*/

.topclean-services{

    background:#fff;
}

.topclean-heading{

    margin-bottom:55px;
}

.topclean-heading span{

    color:#df1b23;

    font-size:13px;

    font-weight:700;

    letter-spacing:2px;

    display:block;

    margin-bottom:8px;
}

.topclean-heading h2{

    font-size:38px;

    font-weight:700;

    color:#111;
}

.topclean-heading strong{

    color:#df1b23;

    font-weight:700;
}


/* Card */

.tc-service-card{

    background:#fff;

    border-radius:12px;

    overflow:hidden;

    margin-bottom:30px;

    box-shadow:0 8px 22px rgba(0,0,0,.08);

    transition:.35s;
}

.tc-service-card:hover{

    transform:translateY(-8px);

    box-shadow:0 20px 40px rgba(0,0,0,.12);
}

.tc-service-image{

    overflow:hidden;
}

.tc-service-image img{

    width:100%;

    height:220px;

    object-fit:cover;

    transition:.5s;
}

.tc-service-card:hover img{

    transform:scale(1.08);
}

.tc-service-content{

    position:relative;

    padding:28px 22px 22px;
}

.tc-service-icon{

    position:absolute;

    left:22px;

    top:-23px;

    width:46px;

    height:46px;

    background:#df1b23;

    color:#fff;

    border-radius:50%;

    display:flex;

    align-items:center;

    justify-content:center;

    font-size:18px;

    border:4px solid #fff;
}

.tc-service-content h4{

    font-size:18px;

    font-weight:700;

    color:#111;

    margin-bottom:12px;
}

.tc-service-content p{

    font-size:14px;

    color:#666;

    line-height:1.7;

    margin:0;
}

/* Tablet */

@media(max-width:991px){

.topclean-heading h2{

font-size:32px;

}

.tc-service-image img{

height:200px;

}

}

/* Mobile */

@media(max-width:767px){

.topclean-heading{

margin-bottom:35px;

}

.topclean-heading h2{

font-size:28px;

}

.tc-service-image img{

height:200px;

}

.tc-service-content{

padding:24px 18px 20px;

}

}


/* =====================================================
   TOP CLEAN - WHY CHOOSE US
===================================================== */

.topclean-why-us {
    position: relative;
    overflow: hidden;
    padding: 68px 0 62px;

    background:
        radial-gradient(
            circle at 50% 0%,
            rgba(227, 27, 35, .09),
            transparent 36%
        ),
        linear-gradient(
            135deg,
            #111820 0%,
            #0b1117 55%,
            #080d12 100%
        );
}

/* Optional background pattern */
.topclean-why-us::before {
    content: "";
    position: absolute;
    inset: 0;

    pointer-events: none;

    background-image:
        linear-gradient(
            rgba(255, 255, 255, .018) 1px,
            transparent 1px
        ),
        linear-gradient(
            90deg,
            rgba(255, 255, 255, .018) 1px,
            transparent 1px
        );

    background-size: 38px 38px;
}

.topclean-why-us .container {
    position: relative;
    z-index: 2;
}

/* Heading */

.topclean-why-heading {
    margin-bottom: 45px;
    text-align: center;
}

.topclean-why-heading > span {
    display: block;
    margin-bottom: 6px;

    color: #e31b23;
    font-size: 11px;
    font-weight: 700;
    line-height: 1.4;
    letter-spacing: 1.8px;
    text-transform: uppercase;
}

.topclean-why-heading h2 {
    margin: 0;

    color: #fff;
    font-size: 30px;
    font-weight: 700;
    line-height: 1.3;
}

.topclean-why-heading h2 strong {
    color: #e31b23;
    font-weight: 700;
}

/* Grid */

.topclean-why-grid {
    display: grid;
    grid-template-columns: repeat(5, 1fr);
    align-items: stretch;
}

/* Item */

.topclean-why-item {
    position: relative;

    min-width: 0;
    padding: 6px 24px 5px;

    text-align: center;

    transition:
        transform .3s ease,
        background-color .3s ease;
}

/* Vertical divider */

.topclean-why-item:not(:last-child)::after {
    content: "";
    position: absolute;
    top: 10%;
    right: 0;

    width: 1px;
    height: 80%;

    background: linear-gradient(
        to bottom,
        transparent,
        rgba(255, 255, 255, .22),
        transparent
    );
}

/* Icon */

.topclean-why-icon {
    width: 54px;
    height: 54px;
    margin: 0 auto 16px;

    display: flex;
    align-items: center;
    justify-content: center;

    color: #e31b23;
    font-size: 26px;

    border: 1px solid rgba(227, 27, 35, .36);
    border-radius: 50%;

    background: rgba(227, 27, 35, .06);

    transition:
        background-color .3s ease,
        color .3s ease,
        border-color .3s ease,
        box-shadow .3s ease;
}

.topclean-why-item h4 {
    max-width: 170px;
    min-height: 44px;
    margin: 0 auto 9px;

    color: #fff;
    font-size: 13px;
    font-weight: 600;
    line-height: 1.45;
}

.topclean-why-item p {
    max-width: 190px;
    margin: 0 auto;

    color: rgba(255, 255, 255, .62);
    font-size: 10px;
    font-weight: 400;
    line-height: 1.65;
}

/* Hover */

.topclean-why-item:hover {
    transform: translateY(-5px);
}

.topclean-why-item:hover .topclean-why-icon {
    color: #fff;
    border-color: #e31b23;
    background: #e31b23;

    box-shadow: 0 10px 25px rgba(227, 27, 35, .3);
}

/* Reveal animation */

.tc-reveal {
    opacity: 0;
    transform: translateY(25px);

    transition:
        opacity .65s ease,
        transform .65s ease;
}

.tc-reveal.tc-visible {
    opacity: 1;
    transform: translateY(0);
}

/* Staggered animation */

.topclean-why-item:nth-child(2) {
    transition-delay: .08s;
}

.topclean-why-item:nth-child(3) {
    transition-delay: .16s;
}

.topclean-why-item:nth-child(4) {
    transition-delay: .24s;
}

.topclean-why-item:nth-child(5) {
    transition-delay: .32s;
}


/* =====================================================
   TABLET
===================================================== */

@media (max-width: 991px) {

    .topclean-why-us {
        padding: 60px 0;
    }

    .topclean-why-grid {
        grid-template-columns: repeat(2, 1fr);
        row-gap: 0;
    }

    .topclean-why-item {
        padding: 28px 25px;
    }

    .topclean-why-item:not(:last-child)::after {
        display: none;
    }

    .topclean-why-item:nth-child(odd) {
        border-right: 1px solid rgba(255, 255, 255, .13);
    }

    .topclean-why-item:nth-child(1),
    .topclean-why-item:nth-child(2),
    .topclean-why-item:nth-child(3),
    .topclean-why-item:nth-child(4) {
        border-bottom: 1px solid rgba(255, 255, 255, .13);
    }

    .topclean-why-item:last-child {
        grid-column: 1 / -1;
    }

    .topclean-why-item:last-child h4,
    .topclean-why-item:last-child p {
        max-width: 340px;
    }
}


/* =====================================================
   MOBILE
===================================================== */

@media (max-width: 575px) {

    .topclean-why-us {
        padding: 52px 0;
    }

    .topclean-why-heading {
        margin-bottom: 28px;
    }

    .topclean-why-heading h2 {
        font-size: 25px;
    }

    .topclean-why-grid {
        grid-template-columns: 1fr;
    }

    .topclean-why-item,
    .topclean-why-item:last-child {
        grid-column: auto;

        padding: 25px 18px;

        border-right: 0 !important;
        border-bottom: 1px solid rgba(255, 255, 255, .13);
    }

    .topclean-why-item:last-child {
        border-bottom: 0;
    }

    .topclean-why-item h4 {
        max-width: 250px;
        min-height: auto;
        font-size: 14px;
    }

    .topclean-why-item p,
    .topclean-why-item:last-child p {
        max-width: 300px;
        font-size: 11px;
    }
}

 /* =====================================================
   TOP CLEAN BEFORE & AFTER GALLERY
===================================================== */

.topclean-gallery {
    position: relative;
    padding: 90px 0;
    overflow: hidden;
    background: #ffffff;
}

.topclean-gallery::before {
    content: "";
    position: absolute;
    top: -170px;
    right: -170px;

    width: 360px;
    height: 360px;

    border-radius: 50%;
    background: rgba(227, 27, 35, .045);
}

.topclean-gallery .container {
    position: relative;
    z-index: 2;
}

/* Heading */

.topclean-gallery-heading {
    max-width: 690px;
    margin: 0 auto 45px;
}

.topclean-gallery-heading > span {
    display: block;
    margin-bottom: 7px;

    color: #e31b23;
    font-size: 12px;
    font-weight: 700;
    letter-spacing: 1.8px;
    text-transform: uppercase;
}

.topclean-gallery-heading h2 {
    margin: 0 0 12px;

    color: #111820;
    font-size: 36px;
    font-weight: 700;
    line-height: 1.25;
}

.topclean-gallery-heading h2 strong {
    color: #e31b23;
    font-weight: 700;
}

.topclean-gallery-heading p {
    max-width: 580px;
    margin: 0 auto;

    color: #737982;
    font-size: 14px;
    line-height: 1.75;
}

/* Grid */

.topclean-before-after-grid {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 26px 22px;
}

/* Before and after set */

.topclean-before-after-set {
    display: grid;
    grid-template-columns: repeat(2, 1fr);

    min-width: 0;
    overflow: hidden;

    border: 1px solid #ececec;
    border-radius: 10px;

    background: #fff;

    box-shadow: 0 8px 25px rgba(0, 0, 0, .09);

    transition:
        transform .35s ease,
        box-shadow .35s ease;
}

.topclean-before-after-set:hover {
    transform: translateY(-6px);
    box-shadow: 0 18px 38px rgba(0, 0, 0, .13);
}

/* Images */

.topclean-gallery-image {
    position: relative;
    display: block;

    min-width: 0;
    height: 245px;

    overflow: hidden;
    background: #ececec;
}

.topclean-gallery-image:first-child {
    border-right: 2px solid #fff;
}

.topclean-gallery-image img {
    width: 100%;
    height: 100%;

    object-fit: cover;

    transition:
        transform .55s ease,
        filter .35s ease;
}

.topclean-gallery-image:hover img {
    transform: scale(1.07);
}

/* Slightly muted before image */

.topclean-gallery-image:first-child img {
    filter: saturate(.78) brightness(.87);
}

.topclean-gallery-image:first-child:hover img {
    filter: saturate(.88) brightness(.92);
}

/* Label */

.topclean-gallery-label {
    position: absolute;
    top: 12px;
    z-index: 3;

    min-width: 64px;
    padding: 6px 11px;

    color: #fff;
    font-size: 10px;
    font-weight: 800;
    line-height: 1;
    letter-spacing: .4px;
    text-align: center;
    text-transform: uppercase;

    border-radius: 4px;

    box-shadow: 0 5px 14px rgba(0, 0, 0, .18);
}

.topclean-gallery-label.before {
    left: 10px;
    background: #e31b23;
}

.topclean-gallery-label.after {
    right: 10px;
    background: #111820;
}

/* Bottom button */

.topclean-gallery-button {
    margin-top: 42px;
}

/* Reveal animation */

.tc-gallery-reveal {
    opacity: 0;
    transform: translateY(28px);

    transition:
        opacity .65s ease,
        transform .65s ease,
        box-shadow .35s ease;
}

.tc-gallery-reveal.tc-gallery-visible {
    opacity: 1;
    transform: translateY(0);
}

.topclean-before-after-set:nth-child(2) {
    transition-delay: .06s;
}

.topclean-before-after-set:nth-child(3) {
    transition-delay: .12s;
}

.topclean-before-after-set:nth-child(4) {
    transition-delay: .18s;
}

.topclean-before-after-set:nth-child(5) {
    transition-delay: .24s;
}

.topclean-before-after-set:nth-child(6) {
    transition-delay: .30s;
}


/* =====================================================
   TABLET
===================================================== */

@media (max-width: 991px) {

    .topclean-gallery {
        padding: 72px 0;
    }

    .topclean-before-after-grid {
        grid-template-columns: repeat(2, 1fr);
    }

    .topclean-gallery-image {
        height: 225px;
    }

    .topclean-gallery-heading h2 {
        font-size: 31px;
    }
}


/* =====================================================
   MOBILE
===================================================== */

@media (max-width: 575px) {

    .topclean-gallery {
        padding: 58px 0;
    }

    .topclean-gallery-heading {
        margin-bottom: 32px;
    }

    .topclean-gallery-heading h2 {
        font-size: 26px;
    }

    .topclean-gallery-heading p {
        font-size: 13px;
    }

    .topclean-before-after-grid {
        grid-template-columns: 1fr;
        gap: 19px;
    }

    .topclean-gallery-image {
        height: 205px;
    }

    .topclean-gallery-label {
        top: 9px;
        min-width: 57px;
        padding: 5px 8px;
        font-size: 9px;
    }

    .topclean-gallery-label.before {
        left: 8px;
    }

    .topclean-gallery-label.after {
        right: 8px;
    }

    .topclean-gallery-button {
        margin-top: 30px;
    }

    .topclean-gallery-button .button {
        width: auto;
        min-width: 220px;
    }
}

/* Big screens: 2 before/after sets in one row */
.topclean-before-after-grid {
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    gap: 26px 22px;
}

/* Tablet and mobile: 1 set in one row */
@media (max-width: 991px) {
    .topclean-before-after-grid {
        grid-template-columns: 1fr;
    }
}

@media (max-width: 991px) {
    .topclean-before-after-grid {
        grid-template-columns: repeat(2, 1fr);
    }
}





/* =====================================================
   BEFORE & AFTER GALLERY
===================================================== */

.topclean-gallery {
    position: relative;
    overflow: hidden;
    padding: 90px 0;
    background: #ffffff;
}

.topclean-gallery *,
.topclean-comparison-modal * {
    box-sizing: border-box;
}

.topclean-gallery .container {
    position: relative;
    z-index: 2;
}

/* Heading */

.topclean-gallery-heading {
    max-width: 700px;
    margin: 0 auto 45px;
    text-align: center;
}

.topclean-gallery-heading > span {
    display: block;
    margin-bottom: 8px;
    color: #e31b23;
    font-size: 12px;
    font-weight: 700;
    letter-spacing: 1.8px;
    text-transform: uppercase;
}

.topclean-gallery-heading h2 {
    margin: 0 0 12px;
    color: #111820;
    font-size: 36px;
    font-weight: 700;
    line-height: 1.25;
}

.topclean-gallery-heading h2 strong {
    color: #e31b23;
}

.topclean-gallery-heading p {
    max-width: 600px;
    margin: 0 auto;
    color: #747b84;
    font-size: 14px;
    line-height: 1.75;
}

/* Desktop: 2 complete before/after sets per row */

.topclean-before-after-grid {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 28px 24px;
}

/* One complete set */

.topclean-before-after-set {
    position: relative;
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    min-width: 0;
    overflow: hidden;
    border: 1px solid #e9e9e9;
    border-radius: 12px;
    background: #ffffff;
    box-shadow: 0 10px 28px rgba(0, 0, 0, 0.09);
    cursor: zoom-in;
    outline: none;
    transition:
        transform 0.3s ease,
        box-shadow 0.3s ease;
}

.topclean-before-after-set:hover {
    transform: translateY(-5px);
    box-shadow: 0 18px 38px rgba(0, 0, 0, 0.14);
}

.topclean-before-after-set:focus-visible {
    outline: 3px solid rgba(227, 27, 35, 0.35);
    outline-offset: 4px;
}

/* Gallery images */

.topclean-gallery-image {
    position: relative;
    min-width: 0;
    height: 275px;
    overflow: hidden;
    background: #eeeeee;
}

.topclean-gallery-image:first-child {
    border-right: 2px solid #ffffff;
}

.topclean-gallery-image img {
    display: block;
    width: 100%;
    height: 100%;
    object-fit: cover;
    transition:
        transform 0.5s ease,
        filter 0.3s ease;
}

.topclean-before-after-set:hover .topclean-gallery-image img {
    transform: scale(1.045);
}

.topclean-gallery-image:first-child img {
    filter: brightness(0.88) saturate(0.78);
}

/* Labels */

.topclean-gallery-label {
    position: absolute;
    top: 12px;
    z-index: 4;
    min-width: 66px;
    padding: 7px 11px;
    border-radius: 4px;
    color: #ffffff;
    font-size: 10px;
    font-weight: 800;
    line-height: 1;
    letter-spacing: 0.5px;
    text-align: center;
    text-transform: uppercase;
    box-shadow: 0 5px 14px rgba(0, 0, 0, 0.2);
}

.topclean-gallery-label.before {
    left: 10px;
    background: #e31b23;
}

.topclean-gallery-label.after {
    right: 10px;
    background: #111820;
}

/* Zoom icon */

.topclean-gallery-zoom {
    position: absolute;
    top: 50%;
    left: 50%;
    z-index: 8;
    width: 50px;
    height: 50px;
    display: flex;
    align-items: center;
    justify-content: center;
    border: 2px solid rgba(255, 255, 255, 0.9);
    border-radius: 50%;
    color: #ffffff;
    background: rgba(227, 27, 35, 0.94);
    font-size: 18px;
    opacity: 0;
    pointer-events: none;
    transform: translate(-50%, -50%) scale(0.8);
    transition:
        opacity 0.3s ease,
        transform 0.3s ease;
}

.topclean-before-after-set:hover .topclean-gallery-zoom,
.topclean-before-after-set:focus-visible .topclean-gallery-zoom {
    opacity: 1;
    transform: translate(-50%, -50%) scale(1);
}

/* CTA */

.topclean-gallery-button {
    margin-top: 42px;
    text-align: center;
}

/* Optional reveal animation */

.tc-gallery-reveal {
    opacity: 0;
    transform: translateY(25px);
    transition:
        opacity 0.65s ease,
        transform 0.65s ease,
        box-shadow 0.3s ease;
}

.tc-gallery-reveal.tc-gallery-visible {
    opacity: 1;
    transform: translateY(0);
}


/* =====================================================
   BEFORE & AFTER POPUP
===================================================== */

.topclean-comparison-modal {
    position: fixed;
    inset: 0;
    z-index: 999999;
    display: flex;
    align-items: center;
    justify-content: center;
    padding: 28px;
    opacity: 0;
    visibility: hidden;
    pointer-events: none;
    transition:
        opacity 0.28s ease,
        visibility 0.28s ease;
}

.topclean-comparison-modal.is-open {
    opacity: 1;
    visibility: visible;
    pointer-events: auto;
}

.topclean-modal-backdrop {
    position: absolute;
    inset: 0;
    background: rgba(0, 0, 0, 0.9);
    cursor: zoom-out;
}

.topclean-modal-dialog {
    position: relative;
    z-index: 2;
    width: min(1120px, 100%);
    max-height: calc(100vh - 56px);
    padding: 26px;
    overflow-y: auto;
    border-radius: 14px;
    background: #ffffff;
    box-shadow: 0 24px 70px rgba(0, 0, 0, 0.42);
    transform: translateY(18px) scale(0.98);
    transition: transform 0.28s ease;
}

.topclean-comparison-modal.is-open .topclean-modal-dialog {
    transform: translateY(0) scale(1);
}

.topclean-modal-title {
    margin: 0 55px 20px 0;
    color: #111820;
    font-size: 23px;
    font-weight: 700;
    line-height: 1.3;
}

.topclean-modal-close {
    position: absolute;
    top: 13px;
    right: 15px;
    z-index: 10;
    width: 42px;
    height: 42px;
    display: flex;
    align-items: center;
    justify-content: center;
    padding: 0;
    border: 0;
    border-radius: 50%;
    color: #ffffff;
    background: #e31b23;
    font-size: 29px;
    font-family: Arial, sans-serif;
    line-height: 1;
    cursor: pointer;
    transition:
        background 0.25s ease,
        transform 0.25s ease;
}

.topclean-modal-close:hover {
    background: #b90f17;
    transform: rotate(90deg);
}

.topclean-modal-comparison {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 14px;
}

.topclean-modal-image {
    position: relative;
    min-width: 0;
    overflow: hidden;
    border-radius: 10px;
    background: #111111;
}

.topclean-modal-image img {
    display: block;
    width: 100%;
    height: min(66vh, 590px);
    object-fit: contain;
    background: #111111;
}

.topclean-modal-label {
    position: absolute;
    top: 14px;
    z-index: 4;
    min-width: 76px;
    padding: 8px 13px;
    border-radius: 4px;
    color: #ffffff;
    font-size: 11px;
    font-weight: 800;
    text-align: center;
    text-transform: uppercase;
    box-shadow: 0 5px 14px rgba(0, 0, 0, 0.22);
}

.topclean-modal-label.before {
    left: 14px;
    background: #e31b23;
}

.topclean-modal-label.after {
    right: 14px;
    background: #111820;
}

body.topclean-modal-open {
    overflow: hidden !important;
}


/* =====================================================
   TABLET
===================================================== */

@media (max-width: 991px) {

    .topclean-gallery {
        padding: 72px 0;
    }

    /* Tablet: 1 complete set per row */
    .topclean-before-after-grid {
        grid-template-columns: 1fr;
    }

    .topclean-gallery-heading h2 {
        font-size: 31px;
    }

    .topclean-gallery-image {
        height: 290px;
    }

    .topclean-modal-dialog {
        width: min(850px, 100%);
    }
}


/* =====================================================
   MOBILE
===================================================== */

@media (max-width: 575px) {

    .topclean-gallery {
        padding: 58px 0;
    }

    .topclean-gallery-heading {
        margin-bottom: 32px;
        padding: 0 5px;
    }

    .topclean-gallery-heading h2 {
        font-size: 26px;
    }

    .topclean-gallery-heading p {
        font-size: 13px;
    }

    /* Mobile: 1 complete set per row */
    .topclean-before-after-grid {
        grid-template-columns: 1fr;
        gap: 20px;
    }

    /* Before and after stay side by side */
    .topclean-before-after-set {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }

    .topclean-gallery-image {
        height: 205px;
    }

    .topclean-gallery-label {
        top: 8px;
        min-width: 54px;
        padding: 6px 7px;
        font-size: 8px;
    }

    .topclean-gallery-label.before {
        left: 7px;
    }

    .topclean-gallery-label.after {
        right: 7px;
    }

    .topclean-gallery-zoom {
        width: 42px;
        height: 42px;
        font-size: 15px;
        opacity: 1;
        transform: translate(-50%, -50%) scale(0.9);
    }

    .topclean-gallery-button {
        margin-top: 30px;
    }

    /* Popup */

    .topclean-comparison-modal {
        padding: 10px;
    }

    .topclean-modal-dialog {
        width: 100%;
        max-height: calc(100vh - 20px);
        padding: 17px 9px 10px;
        border-radius: 10px;
    }

    .topclean-modal-title {
        margin: 0 45px 14px 4px;
        font-size: 18px;
    }

    .topclean-modal-close {
        top: 7px;
        right: 8px;
        width: 36px;
        height: 36px;
        font-size: 25px;
    }

    /* Both popup images remain together */
    .topclean-modal-comparison {
        grid-template-columns: repeat(2, minmax(0, 1fr));
        gap: 5px;
    }

    .topclean-modal-image img {
        height: 58vh;
        object-fit: contain;
    }

    .topclean-modal-label {
        top: 7px;
        min-width: 51px;
        padding: 5px 6px;
        font-size: 8px;
    }

    .topclean-modal-label.before {
        left: 6px;
    }

    .topclean-modal-label.after {
        right: 6px;
    }
}

.topclean-modal-image {
    position: relative;
    display: flex;
    align-items: center;
    justify-content: center;
    min-height: 320px;   /* Minimum height */
    background: #111;
    border-radius: 10px;
    overflow: hidden;
}

.topclean-modal-image img {
    width: 100%;
    height: auto;

    min-height: 320px;   /* Minimum image height */
    max-height: calc(100vh - 180px);

    object-fit: contain;
    object-position: center;
}
@media (max-width:991px){

    .topclean-modal-image{
        min-height:260px;
    }

    .topclean-modal-image img{
        min-height:260px;
        max-height:calc(100vh - 160px);
    }

}

/* =====================================================
   TOP CLEAN CONTACT SECTION
===================================================== */

.topclean-contact {
    position: relative;
    padding: 95px 0;
    overflow: hidden;
    background: #f6f7f9;
}

.topclean-contact *,
.topclean-contact *::before,
.topclean-contact *::after {
    box-sizing: border-box;
}

.topclean-contact::before {
    content: "";
    position: absolute;
    top: -160px;
    right: -140px;
    width: 380px;
    height: 380px;
    border-radius: 50%;
    background: rgba(227, 27, 35, 0.05);
}

.topclean-contact::after {
    content: "";
    position: absolute;
    bottom: -180px;
    left: -160px;
    width: 400px;
    height: 400px;
    border-radius: 50%;
    background: rgba(17, 24, 32, 0.04);
}

.topclean-contact .container {
    position: relative;
    z-index: 2;
}


/* =====================================================
   SECTION HEADING
===================================================== */

.topclean-contact-heading {
    max-width: 720px;
    margin: 0 auto 45px;
    text-align: center;
}

.topclean-contact-heading > span {
    display: block;
    margin-bottom: 8px;
    color: #e31b23;
    font-size: 12px;
    font-weight: 800;
    letter-spacing: 1.8px;
    text-transform: uppercase;
}

.topclean-contact-heading h2 {
    margin: 0 0 14px;
    color: #111820;
    font-size: 38px;
    font-weight: 700;
    line-height: 1.25;
}

.topclean-contact-heading h2 strong {
    color: #e31b23;
    font-weight: 700;
}

.topclean-contact-heading p {
    max-width: 610px;
    margin: 0 auto;
    color: #727982;
    font-size: 14px;
    line-height: 1.75;
}


/* =====================================================
   MAIN CONTACT LAYOUT
===================================================== */

.topclean-contact-wrapper {
    display: grid;
    grid-template-columns: minmax(0, 0.9fr) minmax(0, 1.1fr);
    gap: 28px;
    align-items: stretch;
}


/* =====================================================
   LEFT CONTACT INFORMATION
===================================================== */

.topclean-contact-info {
    position: relative;
    overflow: hidden;
    padding: 42px 36px;
    border-radius: 18px;
    color: #ffffff;
    background:
        linear-gradient(
            145deg,
            rgba(12, 18, 25, 0.97),
            rgba(27, 33, 40, 0.97)
        );
    box-shadow: 0 18px 45px rgba(0, 0, 0, 0.16);
}

.topclean-contact-info::before {
    content: "";
    position: absolute;
    top: -95px;
    right: -95px;
    width: 230px;
    height: 230px;
    border-radius: 50%;
    background: rgba(227, 27, 35, 0.18);
}

.topclean-contact-info::after {
    content: "";
    position: absolute;
    bottom: -90px;
    left: -90px;
    width: 220px;
    height: 220px;
    border-radius: 50%;
    background: rgba(255, 255, 255, 0.035);
}

.topclean-contact-info-inner {
    position: relative;
    z-index: 2;
}

.topclean-contact-info-title {
    margin-bottom: 30px;
}

.topclean-contact-info-title span {
    display: inline-block;
    margin-bottom: 10px;
    color: #ef454b;
    font-size: 11px;
    font-weight: 800;
    letter-spacing: 1.7px;
    text-transform: uppercase;
}

.topclean-contact-info-title h3 {
    margin: 0 0 12px;
    color: #ffffff;
    font-size: 28px;
    font-weight: 700;
    line-height: 1.3;
}

.topclean-contact-info-title p {
    margin: 0;
    color: rgba(255, 255, 255, 0.68);
    font-size: 14px;
    line-height: 1.75;
}


/* Contact information item */

.topclean-contact-item {
    display: flex;
    align-items: flex-start;
    gap: 16px;
    margin-bottom: 22px;
}

.topclean-contact-icon {
    flex: 0 0 48px;
    width: 48px;
    height: 48px;
    display: flex;
    align-items: center;
    justify-content: center;
    border-radius: 12px;
    color: #ffffff;
    background: #e31b23;
    font-size: 18px;
    box-shadow: 0 8px 20px rgba(227, 27, 35, 0.28);
}

.topclean-contact-item-content {
    padding-top: 2px;
}

.topclean-contact-item-content span {
    display: block;
    margin-bottom: 4px;
    color: rgba(255, 255, 255, 0.55);
    font-size: 10px;
    font-weight: 700;
    letter-spacing: 1.2px;
    text-transform: uppercase;
}

.topclean-contact-item-content h4 {
    margin: 0;
    color: #ffffff;
    font-size: 15px;
    font-weight: 600;
    line-height: 1.6;
}

.topclean-contact-item-content a {
    color: #ffffff;
    text-decoration: none;
    transition: color 0.25s ease;
}

.topclean-contact-item-content a:hover {
    color: #ef454b;
}


/* Quick contact buttons */

.topclean-contact-actions {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 10px;
    margin-top: 30px;
}

.topclean-contact-action {
    min-height: 48px;
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 9px;
    padding: 12px 14px;
    border-radius: 8px;
    color: #ffffff;
    font-size: 12px;
    font-weight: 700;
    text-decoration: none;
    text-transform: uppercase;
    transition:
        transform 0.25s ease,
        background 0.25s ease;
}

.topclean-contact-action.call {
    background: #e31b23;
}

.topclean-contact-action.whatsapp {
    background: #25d366;
}

.topclean-contact-action:hover {
    color: #ffffff;
    transform: translateY(-3px);
}


/* =====================================================
   RIGHT CONTACT FORM
===================================================== */

.topclean-contact-form-box {
    padding: 42px 38px;
    border: 1px solid #ececec;
    border-radius: 18px;
    background: #ffffff;
    box-shadow: 0 18px 45px rgba(0, 0, 0, 0.09);
}

.topclean-form-heading {
    margin-bottom: 27px;
}

.topclean-form-heading h3 {
    margin: 0 0 8px;
    color: #111820;
    font-size: 27px;
    font-weight: 700;
}

.topclean-form-heading p {
    margin: 0;
    color: #777e86;
    font-size: 13px;
    line-height: 1.65;
}


/* Form layout */

.topclean-contact-form {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 17px;
}

.topclean-form-group {
    position: relative;
    min-width: 0;
}

.topclean-form-group.full-width {
    grid-column: 1 / -1;
}

.topclean-form-group label {
    display: block;
    margin-bottom: 7px;
    color: #222831;
    font-size: 12px;
    font-weight: 700;
}

.topclean-form-group label span {
    color: #e31b23;
}

.topclean-form-control {
    width: 100%;
    min-height: 52px;
    padding: 12px 15px;
    border: 1px solid #dfe2e6;
    border-radius: 8px;
    outline: none;
    color: #222831;
    background: #ffffff;
    font-family: inherit;
    font-size: 13px;
    transition:
        border-color 0.25s ease,
        box-shadow 0.25s ease;
}

.topclean-form-control::placeholder {
    color: #a2a7ad;
}

.topclean-form-control:focus {
    border-color: #e31b23;
    box-shadow: 0 0 0 4px rgba(227, 27, 35, 0.09);
}

select.topclean-form-control {
    cursor: pointer;
}

textarea.topclean-form-control {
    min-height: 125px;
    resize: vertical;
}


/* Submit button */

.topclean-form-submit {
    grid-column: 1 / -1;
    margin-top: 3px;
}

.topclean-submit-button {
    width: 100%;
    min-height: 54px;
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 10px;
    padding: 13px 22px;
    border: 0;
    border-radius: 8px;
    color: #ffffff;
    background: #e31b23;
    font-family: inherit;
    font-size: 13px;
    font-weight: 800;
    letter-spacing: 0.4px;
    text-transform: uppercase;
    cursor: pointer;
    box-shadow: 0 10px 24px rgba(227, 27, 35, 0.24);
    transition:
        background 0.25s ease,
        transform 0.25s ease,
        box-shadow 0.25s ease;
}

.topclean-submit-button:hover {
    background: #bd1018;
    transform: translateY(-2px);
    box-shadow: 0 14px 30px rgba(227, 27, 35, 0.3);
}

.topclean-form-note {
    grid-column: 1 / -1;
    margin: -4px 0 0;
    color: #92979d;
    font-size: 11px;
    line-height: 1.6;
    text-align: center;
}


/* =====================================================
   MAP
===================================================== */

.topclean-contact-map {
    position: relative;
    height: 350px;
    margin-top: 30px;
    overflow: hidden;
    border-radius: 18px;
    background: #dddddd;
    box-shadow: 0 15px 38px rgba(0, 0, 0, 0.11);
}

.topclean-contact-map iframe {
    display: block;
    width: 100%;
    height: 100%;
    border: 0;
}


/* =====================================================
   TABLET
===================================================== */

@media (max-width: 991px) {

    .topclean-contact {
        padding: 75px 0;
    }

    .topclean-contact-wrapper {
        grid-template-columns: 1fr;
    }

    .topclean-contact-heading h2 {
        font-size: 32px;
    }

    .topclean-contact-info,
    .topclean-contact-form-box {
        padding: 36px 30px;
    }

    .topclean-contact-map {
        height: 320px;
    }
}


/* =====================================================
   MOBILE
===================================================== */

@media (max-width: 575px) {

    .topclean-contact {
        padding: 58px 0;
    }

    .topclean-contact-heading {
        margin-bottom: 32px;
    }

    .topclean-contact-heading h2 {
        font-size: 27px;
    }

    .topclean-contact-heading p {
        font-size: 13px;
    }

    .topclean-contact-wrapper {
        gap: 20px;
    }

    .topclean-contact-info,
    .topclean-contact-form-box {
        padding: 28px 20px;
        border-radius: 13px;
    }

    .topclean-contact-info-title h3,
    .topclean-form-heading h3 {
        font-size: 23px;
    }

    .topclean-contact-item {
        gap: 13px;
    }

    .topclean-contact-icon {
        flex-basis: 44px;
        width: 44px;
        height: 44px;
        font-size: 16px;
    }

    .topclean-contact-item-content h4 {
        font-size: 14px;
    }

    .topclean-contact-actions {
        grid-template-columns: 1fr;
    }

    .topclean-contact-form {
        grid-template-columns: 1fr;
        gap: 15px;
    }

    .topclean-form-group.full-width,
    .topclean-form-submit,
    .topclean-form-note {
        grid-column: auto;
    }

    .topclean-contact-map {
        height: 280px;
        margin-top: 20px;
        border-radius: 13px;
    }
}

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

.topclean-footer{
    background:#111820;
    text-align:center;
    padding:70px 0 40px;
}

/* Logo */

.footer-logo-wrapper{
    margin-bottom:45px;      /* Space below logo */
}

.footer-logo-box{

    width:170px;
    height:170px;

    background:#fff;

    border-radius:28px;

    display:inline-flex;

    align-items:center;
    justify-content:center;

    padding:18px;

    box-shadow:0 15px 40px rgba(0,0,0,.18);

}

.footer-logo-box img{

    max-width:100%;
    max-height:100%;

}

/* Social */

.topclean-footer .social-icons{

    list-style:none;
    padding:0;
    margin:0 0 35px;

}

.topclean-footer .social-icons li{

    display:inline-block;
    margin:0 8px;

}

.topclean-footer .social-icons li a{

    width:48px;
    height:48px;

    border-radius:50%;

    background:#202833;

    color:#fff;

    display:flex;

    align-items:center;
    justify-content:center;

    font-size:18px;

    transition:.3s;

}

.topclean-footer .social-icons li a:hover{

    background:#E31B23;
    transform:translateY(-5px);

}

/* Copyright */

.copyrights{

    margin:0;

    color:#bfc5cc;

    font-size:14px;

    line-height:1.8;

}

.copyrights strong{

    color:#fff;
    font-weight:600;

}

/* Mobile */

@media(max-width:575px){

    .topclean-footer{

        padding:55px 0 30px;

    }

    .footer-logo-wrapper{

        margin-bottom:35px;

    }

    .footer-logo-box{

        width:135px;
        height:135px;

        border-radius:22px;

        padding:15px;

    }

    .topclean-footer .social-icons{

        margin-bottom:25px;

    }

}

#site-footer .social-icons li a:hover,
#site-footer .social-icons li a:focus{
    background:#E31B23 !important;
    border-color:#E31B23 !important;
    color:#fff !important;
}

ul.social-icons li a:hover, ul.social-icons li a:focus, ul.social-icons.white li a:hover, ul.social-icons.white li a:focus {
  color: #fff;
  -webkit-box-shadow: 0 0 15px 30px #E31B23 inset;
  box-shadow: 0 0 15px 30px #E31B23 inset;
}




/* =====================================================
   TOP CLEAN STICKY SMALL HEADER
===================================================== */

.site-header {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    z-index: 9999;
    transition:
        background-color 0.35s ease,
        box-shadow 0.35s ease,
        transform 0.35s ease;
}

.tc-navbar {
    min-height: 100px;
    padding: 12px 0;
    transition:
        min-height 0.35s ease,
        padding 0.35s ease;
}

/* Logo default size */

.tc-navbar .navbar-brand {
    padding: 0;
    margin: 0;
    display: flex;
    align-items: center;
}

.tc-navbar .navbar-brand img {
    width: 115px;
    height: auto;
    display: block;
    transition: width 0.35s ease;
}

/* Menu default */

.tc-navbar .navbar-nav .nav-link {
    padding: 15px 16px;
    transition:
        padding 0.35s ease,
        color 0.3s ease;
}

/* Sticky state */

.site-header.tc-header-sticky {
    position: fixed;
    top: 0;
    left: 0;
    background: rgba(255, 255, 255, 0.98);
    box-shadow: 0 8px 30px rgba(0, 0, 0, 0.12);
    animation: tcHeaderSlideDown 0.4s ease;
    backdrop-filter: blur(12px);
    -webkit-backdrop-filter: blur(12px);
}

.site-header.tc-header-sticky .tc-navbar {
    min-height: 68px;
    padding: 5px 0;
}

/* Smaller logo after scroll */

.site-header.tc-header-sticky .navbar-brand img {
    width: 72px;
}

/* Smaller menu after scroll */

.site-header.tc-header-sticky .navbar-nav .nav-link {
    padding-top: 10px;
    padding-bottom: 10px;
    color: #222;
}

/* Active and hover menu */

.site-header.tc-header-sticky .navbar-nav .nav-link:hover,
.site-header.tc-header-sticky .navbar-nav .nav-item.active .nav-link {
    color: #d71920;
}

/* Phone button */

.site-header.tc-header-sticky .header-phone a {
    padding: 10px 18px;
    font-size: 14px;
}

/* Sticky animation */

@keyframes tcHeaderSlideDown {
    from {
        opacity: 0;
        transform: translateY(-100%);
    }

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

/* Mobile header */

@media (max-width: 991px) {

    .site-header {
        position: absolute;
    }

    .tc-navbar {
        min-height: 78px;
        padding: 7px 15px;
    }

    .tc-navbar .navbar-brand img {
        width: 82px;
    }

    .site-header.tc-header-sticky .tc-navbar {
        min-height: 60px;
        padding: 4px 15px;
    }

    .site-header.tc-header-sticky .navbar-brand img {
        width: 58px;
    }

    .site-header.tc-header-sticky .navbar-collapse {
        background: #ffffff;
        margin-top: 5px;
        padding: 12px 18px;
        border-radius: 0 0 12px 12px;
        box-shadow: 0 15px 25px rgba(0, 0, 0, 0.1);
    }

    .site-header.tc-header-sticky .navbar-nav .nav-link {
        padding: 10px 5px;
        color: #222;
    }

}

/* Sticky Navbar */
.site-header.tc-header-sticky .tc-navbar {
    background: #000 !important;
    transition: all .35s ease;
}

.site-header.tc-header-sticky .navbar-collapse{background: #000 !important;}


/* =====================================================
   TOP CLEAN ABOUT SECTION
===================================================== */

.topclean-about {
    position: relative;
    padding: 100px 0;
    background: #ffffff;
    overflow: hidden;
}

.topclean-about::before {
    content: "";
    position: absolute;
    top: 0;
    right: -160px;
    width: 430px;
    height: 430px;
    border-radius: 50%;
    background: rgba(215, 25, 32, 0.05);
    pointer-events: none;
}


/* Left Image */

.topclean-about-image {
    position: relative;
    margin-right: 35px;
}

.topclean-about-image img {
    display: block;
    width: 100%;
    height: 470px;
    object-fit: cover;
    border-radius: 18px;
    box-shadow: 0 20px 50px rgba(15, 20, 26, 0.16);
}


/* Red Badge */

.topclean-about-badge {
    position: absolute;
    right: -25px;
    bottom: 30px;
    display: flex;
    align-items: center;
    gap: 14px;
    min-width: 235px;
    padding: 18px 22px;
    color: #ffffff;
    background: #d71920;
    border: 6px solid #ffffff;
    border-radius: 12px;
    box-shadow: 0 14px 35px rgba(215, 25, 32, 0.28);
}

.topclean-about-badge i {
    flex-shrink: 0;
    font-size: 34px;
    color: #ffffff;
}

.topclean-about-badge strong,
.topclean-about-badge span {
    display: block;
}

.topclean-about-badge strong {
    margin-bottom: 2px;
    font-size: 17px;
    font-weight: 700;
    line-height: 1.3;
}

.topclean-about-badge span {
    font-size: 13px;
    line-height: 1.4;
    opacity: 0.9;
}


/* Right Content */

.topclean-about-content {
    position: relative;
    padding-left: 35px;
}

.topclean-about-subtitle {
    position: relative;
    display: inline-block;
    margin-bottom: 16px;
    padding-left: 38px;
    color: #d71920;
    font-size: 13px;
    font-weight: 700;
    letter-spacing: 1.6px;
    text-transform: uppercase;
}

.topclean-about-subtitle::before {
    content: "";
    position: absolute;
    top: 50%;
    left: 0;
    width: 26px;
    height: 2px;
    background: #d71920;
    transform: translateY(-50%);
}

.topclean-about-content h2 {
    margin: 0 0 22px;
    color: #111820;
    font-size: 42px;
    font-weight: 700;
    line-height: 1.2;
}

.topclean-about-content h2 strong {
    color: #d71920;
    font-weight: 700;
}

.topclean-about-content p {
    max-width: 585px;
    margin: 0 0 30px;
    color: #646b73;
    font-size: 16px;
    line-height: 1.85;
}


/* Button */

.topclean-about-button {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 12px;
    min-height: 52px;
    padding: 14px 27px;
    color: #ffffff;
    background: #d71920;
    border: 2px solid #d71920;
    border-radius: 6px;
    font-size: 14px;
    font-weight: 700;
    text-decoration: none;
    text-transform: uppercase;
    letter-spacing: 0.5px;
    transition:
        background 0.3s ease,
        color 0.3s ease,
        border-color 0.3s ease,
        transform 0.3s ease,
        box-shadow 0.3s ease;
}

.topclean-about-button i {
    font-size: 13px;
    transition: transform 0.3s ease;
}

.topclean-about-button:hover,
.topclean-about-button:focus {
    color: #ffffff;
    background: #111820;
    border-color: #111820;
    text-decoration: none;
    transform: translateY(-3px);
    box-shadow: 0 12px 28px rgba(17, 24, 32, 0.2);
}

.topclean-about-button:hover i,
.topclean-about-button:focus i {
    transform: translateX(4px);
}


/* Tablet */

@media (max-width: 991px) {

    .topclean-about {
        padding: 80px 0;
    }

    .topclean-about-image {
        margin: 0 0 55px;
    }

    .topclean-about-image img {
        height: 430px;
    }

    .topclean-about-badge {
        right: 25px;
        bottom: -25px;
    }

    .topclean-about-content {
        padding-left: 0;
    }

    .topclean-about-content h2 {
        font-size: 36px;
    }

}


/* Mobile */

@media (max-width: 767px) {

    .topclean-about {
        padding: 65px 0;
    }

    .topclean-about-image {
        margin-bottom: 48px;
    }

    .topclean-about-image img {
        height: 330px;
        border-radius: 12px;
    }

    .topclean-about-badge {
        right: 15px;
        bottom: -24px;
        min-width: 205px;
        padding: 14px 16px;
        border-width: 4px;
    }

    .topclean-about-badge i {
        font-size: 28px;
    }

    .topclean-about-badge strong {
        font-size: 15px;
    }

    .topclean-about-content h2 {
        font-size: 29px;
        line-height: 1.28;
    }

    .topclean-about-content p {
        font-size: 15px;
        line-height: 1.75;
    }

}


/* Small Mobile */

@media (max-width: 480px) {

    .topclean-about-image img {
        height: 280px;
    }

    .topclean-about-badge {
        position: relative;
        right: auto;
        bottom: auto;
        width: calc(100% - 30px);
        margin: -35px auto 0;
    }

    .topclean-about-content h2 {
        font-size: 26px;
    }

    .topclean-about-button {
        width: 100%;
    }

}

/* Back To Top Button */
.back-top{
    background:#d71920 !important;
    color:#fff !important;
    border:2px solid #d71920;
    transition:all .3s ease;
    box-shadow:0 8px 20px rgba(215,25,32,.35);
}

.back-top i{
    color:#fff !important;
}

.back-top:hover,
.back-top:focus{
    background:#111820 !important;
    border-color:#111820;
    color:#fff !important;
    transform:translateY(-3px);
    box-shadow:0 12px 25px rgba(17,24,32,.35);
}

.back-top:hover i{
    color:#fff !important;
}