/* =========================================================
   CLEANNORA — FINAL RESPONSIVE.CSS
   ========================================================= */

/* =========================
   <= 1199px
   ========================= */
@media (max-width: 1199.98px){

  .cleannora-navbar{
    padding:14px 0 !important;
  }

  .site-logo{
    height:68px;
  }

  .cleannora-navbar .navbar-collapse{
    background:linear-gradient(135deg, #031d15 0%, #063222 45%, #04251b 100%);
    margin-top:14px;
    padding:18px;
    border-radius:20px;
    box-shadow:0 18px 34px rgba(0,0,0,.18);
  }

  .cleannora-navbar .navbar-nav{
    gap:0;
    align-items:flex-start !important;
  }

  .cleannora-navbar .nav-link{
    width:100%;
    padding:12px 8px !important;
  }

  .cleannora-navbar .btn-book{
    width:100%;
    margin-top:10px;
  }

  .cn-hero-title{
    font-size:50px;
  }

  .cn-hero-text{
    font-size:18px;
  }

  .cn-section-title{
    font-size:40px;
  }

  .cn-hero-image-wrap{
    min-height:500px;
  }

  .cn-hero-image{
    max-height:500px;
  }
}

/* =========================
   <= 991px  (tablet)
   ========================= */
@media (max-width: 991.98px){

  .site-logo{
    height:62px;
  }

  .cn-section{
    padding:68px 0;
  }

  .cn-section-head{
    margin-bottom:32px;
  }

  .cn-section-title{
    font-size:34px;
    line-height:1.18;
  }

  .cn-section-subtitle{
    font-size:16px;
    line-height:1.75;
  }

  .cn-hero{
    padding:44px 0 24px;
  }

  .cn-hero .row{
    row-gap:28px;
  }

  .cn-hero-title{
    font-size:42px;
    max-width:100%;
    margin-bottom:18px;
  }

  .cn-hero-text{
    font-size:16px;
    margin-bottom:20px;
    max-width:100%;
  }

  .cn-hero-actions{
    gap:12px;
    margin-bottom:22px;
  }

  .cn-hero-actions .btn{
    min-width:unset;
  }

  .cn-hero-stats{
    grid-template-columns:repeat(2, 1fr);
    gap:14px;
  }

  .cn-stat-box{
    min-height:auto;
    padding:20px;
  }

  .cn-stat-box h4{
    font-size:28px;
  }

  .cn-hero-image-wrap{
    min-height:auto;
    justify-content:center;
    margin-top:0;
  }

  .cn-hero-image-wrap::before{
    inset:6% 5% 4%;
  }

  .cn-hero-image{
    width:min(100%, 420px);
    margin:0 auto;
    max-height:none;
  }

  .cn-book-strip-card{
    padding:22px;
  }

  .cn-book-strip-card .row{
    row-gap:16px;
  }

  .cn-booking-box{
    padding:24px;
    border-radius:24px;
  }

  .cn-service-img{
    height:220px;
  }

  .cn-service-body{
    padding:20px;
  }

  .cn-plan-card,
  .cn-feature-card,
  .cn-faq-item{
    padding:24px 20px;
  }

  .footer-section{
    padding:50px 0 20px;
  }

  .footer-section .row > div{
    margin-bottom:24px;
  }
}

/* =========================
   <= 767px  (mobile)
   ========================= */
@media (max-width: 767.98px){

  body{
    padding-bottom:64px;
  }

  .cleannora-navbar{
    padding:12px 0 !important;
  }

  .cleannora-navbar .container{
    padding-left:14px;
    padding-right:14px;
  }

  .site-logo{
    height:56px;
  }

  .navbar-toggler{
    padding:6px 10px;
  }

  .cleannora-navbar .navbar-collapse{
    margin-top:12px;
    padding:14px;
    border-radius:16px;
  }

  .cn-section{
    padding:52px 0;
  }

  .cn-section-head{
    margin-bottom:26px;
  }

  .cn-badge{
    font-size:13px;
    padding:8px 14px;
    margin-bottom:12px;
  }

  .cn-section-title{
    font-size:28px;
    line-height:1.15;
    margin-bottom:12px;
  }

  .cn-section-subtitle{
    font-size:15px;
    line-height:1.7;
  }

  .cn-hero{
    padding:30px 0 18px;
  }

  .cn-hero-title{
    font-size:32px;
    line-height:1.08;
    letter-spacing:-.8px;
  }

  .cn-hero-text{
    font-size:15px;
    line-height:1.75;
    margin-bottom:18px;
  }

  .cn-hero-actions{
    flex-direction:column;
    align-items:stretch;
    gap:10px;
    margin-bottom:18px;
  }

  .cn-hero-actions .btn{
    width:100%;
    min-height:50px;
  }

  .cn-hero-stats{
    grid-template-columns:1fr;
    gap:12px;
  }

  .cn-stat-box{
    padding:18px;
    border-radius:20px;
  }

  .cn-stat-box h4{
    font-size:26px;
  }

  .cn-stat-box span{
    font-size:15px;
  }

  .cn-hero-image-wrap::before{
    inset:4%;
    border-radius:24px;
  }

  .cn-hero-image{
    width:min(100%, 320px);
  }

  .cn-book-strip{
    padding:0 0 18px;
  }

  .cn-book-strip-card{
    padding:18px;
    border-radius:18px;
  }

  .cn-mini-label{
    font-size:12px;
  }

  .cn-mini-services{
    font-size:14px;
    line-height:1.6;
  }

  .cn-service-card{
    border-radius:22px;
  }

  .cn-service-img{
    height:190px;
  }

  .cn-service-body{
    padding:18px;
  }

  .cn-service-body h3{
    font-size:20px;
    margin-bottom:10px;
  }

  .cn-service-body p{
    font-size:15px;
    line-height:1.7;
    margin-bottom:16px;
  }

  .cn-feature-card{
    border-radius:20px;
    padding:20px 18px;
  }

  .cn-feature-card h4{
    font-size:20px;
  }

  .cn-feature-card p{
    font-size:15px;
  }

  .cn-plan-card{
    border-radius:22px;
    padding:24px 18px;
  }

  .cn-plan-card h3{
    font-size:24px;
  }

  .cn-plan-price{
    font-size:32px;
  }

  .cn-plan-card p,
  .cn-plan-card li{
    font-size:15px;
  }

  .cn-booking-box{
    padding:18px;
    border-radius:20px;
  }

  .cn-booking-box .row{
    row-gap:14px;
  }

  .cn-booking-box .form-control,
  .cn-booking-box .form-select,
  .cn-booking-box select{
    height:50px;
    font-size:14px;
    border-radius:14px;
  }

  .cn-booking-box textarea.form-control{
    min-height:110px;
  }

  .cn-booking-box .btn-book{
    width:100%;
    min-width:100%;
  }

  .cn-faq-item{
    padding:20px 18px;
    border-radius:18px;
  }

  .cn-faq-item h5{
    font-size:18px;
    line-height:1.4;
  }

  .cn-faq-item p{
    font-size:15px;
    line-height:1.7;
  }

  .footer-section{
    padding:42px 0 86px;
  }

  .footer-section .container{
    padding-left:16px;
    padding-right:16px;
  }

  .footer-section h4,
  .footer-section h5{
    font-size:20px;
    margin-bottom:14px;
  }

  .footer-section p,
  .footer-section li,
  .footer-section a{
    font-size:15px;
    line-height:1.8;
  }

  .footer-section .row > div{
    margin-bottom:18px;
  }

  .whatsapp-float{
    right:14px;
    bottom:78px;
    width:52px;
    height:52px;
    font-size:24px;
  }

  .mobile-bar{
    position:fixed;
    left:0;
    right:0;
    bottom:0;
    display:grid;
    grid-template-columns:repeat(3,1fr);
    background:#083d2b;
    z-index:998;
    box-shadow:0 -10px 24px rgba(0,0,0,.18);
  }

  .mobile-bar a{
    color:#fff;
    text-align:center;
    padding:12px 8px;
    font-size:13px;
    font-weight:700;
    border-right:1px solid rgba(255,255,255,.12);
  }

  .mobile-bar a:last-child{
    border-right:none;
  }
}

/* =========================
   <= 575px (small mobile)
   ========================= */
@media (max-width: 575.98px){

  .cn-hero-title{
    font-size:28px;
  }

  .cn-section-title{
    font-size:24px;
  }

  .cn-section-subtitle{
    font-size:14px;
  }

  .cn-service-img{
    height:180px;
  }

  .cn-plan-price{
    font-size:28px;
  }

  .cn-stat-box h4{
    font-size:24px;
  }

  .cn-booking-box{
    padding:16px;
  }

  .footer-section{
    padding-bottom:90px;
  }
}

/* =========================================================
   CLEANNORA SERVICES PAGE - MOBILE FIX
========================================================= */

@media (max-width: 767px) {

    /* Prevent horizontal overflow */
    html,
    body {
        width: 100%;
        max-width: 100%;
        overflow-x: hidden;
    }

    /* =========================
       SERVICES HERO
    ========================= */

    .services-hero {
        min-height: auto !important;
        height: auto !important;
        padding: 0 !important;
        overflow: hidden;
    }

    .services-hero .container {
        width: 100%;
        max-width: 100%;
        padding-left: 20px;
        padding-right: 20px;
    }

    .services-hero-content {
        display: flex;
        flex-direction: column;
        width: 100%;
        max-width: 100%;
        padding-top: 105px;
        padding-bottom: 35px;
    }

    /* =========================
       HERO LEFT
    ========================= */

    .services-hero-left {
        width: 100%;
        max-width: 100%;
        text-align: center;
    }

    .services-hero-tag {
        display: inline-flex;
        max-width: 100%;
        margin: 0 auto 18px;
        padding: 8px 13px;
        font-size: 10px;
        letter-spacing: .8px;
        line-height: 1.3;
    }

    .services-hero-content h1 {
        font-size: clamp(36px, 10vw, 48px);
        line-height: 1.03;
        letter-spacing: -1.2px;
        margin: 0;
    }

    .services-hero-content h1 span {
        display: block;
    }

    .services-hero-content > p {
        width: 100%;
        max-width: 340px;
        margin: 20px auto 0;
        font-size: 15px;
        line-height: 1.65;
        text-align: center;
    }

    /* =========================
       HERO FEATURES
    ========================= */

    .services-hero-features {
        display: flex;
        flex-direction: column;
        align-items: center;
        gap: 12px;
        margin-top: 24px;
    }

    .services-hero-features > div {
        display: flex;
        align-items: center;
        justify-content: center;
        gap: 9px;
        width: 100%;
    }

    .services-hero-features i {
        flex: 0 0 auto;
    }

    .services-hero-features span {
        font-size: 13px;
    }

    /* =========================
       HERO RIGHT
    ========================= */

    .services-hero-right {
        position: relative;
        width: 100%;
        max-width: 100%;
        min-height: 390px;
        margin-top: 15px;
        display: flex;
        align-items: flex-end;
        justify-content: center;
    }

    .services-hero-right img {
        position: relative;
        z-index: 2;
        display: block;
        width: min(88vw, 360px);
        max-width: 100%;
        height: auto;
        max-height: 390px;
        object-fit: contain;
        object-position: center bottom;
        margin: 0 auto;
    }

    /* =========================
       HERO GLOW
    ========================= */

    .services-hero-right::before {
        content: "";
        position: absolute;
        width: 280px;
        height: 280px;
        left: 50%;
        bottom: 30px;
        transform: translateX(-50%);
        border-radius: 50%;
        background: rgba(244, 191, 25, .10);
        filter: blur(2px);
        z-index: 0;
    }

    /* =========================
       RATING CARD
    ========================= */

    .services-rating-card {
        position: absolute;
        z-index: 5;
        left: 50%;
        right: auto;
        bottom: 18px;
        transform: translateX(-50%);
        width: calc(100% - 20px);
        min-width: 0;
        max-width: 340px;
        box-sizing: border-box;
        padding: 12px 14px;
        border-radius: 14px;
        display: flex;
        align-items: center;
        justify-content: center;
        gap: 10px;
        white-space: normal;
    }

    .rating-avatars {
        display: flex;
        flex: 0 0 auto;
    }

    .rating-content {
        min-width: 0;
        text-align: left;
    }

    .services-rating-card strong {
        font-size: 20px;
        margin: 0;
    }

    .services-rating-card small,
    .services-rating-card span {
        font-size: 9px;
        line-height: 1.2;
        white-space: nowrap;
    }

    /* =========================
       SERVICES SECTION
    ========================= */

    .services-section,
    .cn-section {
        width: 100%;
        overflow: hidden;
    }

    /* =========================
       SERVICE CATEGORY TABS
    ========================= */

    .service-tabs,
    .services-tabs,
    .service-filter-tabs {
        display: flex;
        flex-wrap: nowrap !important;
        overflow-x: auto;
        overflow-y: hidden;
        gap: 8px;
        width: 100%;
        padding-bottom: 8px;
        scrollbar-width: none;
        -webkit-overflow-scrolling: touch;
    }

    .service-tabs::-webkit-scrollbar,
    .services-tabs::-webkit-scrollbar,
    .service-filter-tabs::-webkit-scrollbar {
        display: none;
    }

    .service-tabs > *,
    .services-tabs > *,
    .service-filter-tabs > * {
        flex: 0 0 auto;
    }

    /* =========================
       SERVICE CARDS
    ========================= */

    .cln-card {
        width: 100%;
        max-width: 100%;
        margin: 0;
    }

    .cln-image {
        width: 100%;
        height: 210px;
        overflow: hidden;
    }

    .cln-image img {
        width: 100%;
        height: 100%;
        object-fit: cover;
        display: block;
    }

    .cln-body {
        padding: 18px 16px 16px;
    }

    .cln-body h3 {
        font-size: 18px;
        line-height: 1.3;
    }

    .cln-body p {
        font-size: 13px;
        line-height: 1.6;
    }

    .cln-price {
        font-size: 16px;
    }

    .cln-btn {
        padding: 10px 14px;
        font-size: 12px;
    }

    /* =========================
       FEATURE / TRUST CARDS
    ========================= */

    .cn-feature-card {
        width: 100%;
        height: auto !important;
    }

}


/* =========================================================
   VERY SMALL MOBILE
========================================================= */

@media (max-width: 400px) {

    .services-hero .container {
        padding-left: 16px;
        padding-right: 16px;
    }

    .services-hero-content {
        padding-top: 100px;
    }

    .services-hero-content h1 {
        font-size: 35px;
    }

    .services-hero-right {
        min-height: 350px;
    }

    .services-hero-right img {
        width: 310px;
        max-height: 350px;
    }

    .services-rating-card {
        width: calc(100% - 10px);
        max-width: 320px;
    }

}

/* =========================================================
   SERVICES HERO - FINAL MOBILE IMAGE FIX
========================================================= */

@media (max-width: 767px) {

    .services-hero {
        min-height: auto !important;
        height: auto !important;
        overflow: hidden !important;
    }

    .services-hero .container {
        position: relative;
        z-index: 2;
    }

    /* Hero content */
    .services-hero-content {
        padding-top: 105px !important;
        padding-bottom: 0 !important;
    }

    /* Image area */
    .services-hero-right {
        position: relative !important;
        width: 100% !important;
        height: 430px !important;
        min-height: 430px !important;
        margin-top: 10px !important;
        display: flex !important;
        align-items: flex-end !important;
        justify-content: center !important;
        overflow: visible !important;
    }

    /* Remove unwanted image clipping */
    .services-hero-right img {
        position: relative !important;
        z-index: 3 !important;
        display: block !important;
        width: 320px !important;
        max-width: 88vw !important;
        height: auto !important;
        max-height: none !important;
        object-fit: contain !important;
        object-position: center bottom !important;
        margin: 0 auto !important;
        filter: drop-shadow(0 20px 30px rgba(0,0,0,.20)) !important;
    }

    /* Rating */
    .services-rating-card {
        position: absolute !important;
        z-index: 10 !important;
        left: 50% !important;
        right: auto !important;
        bottom: 18px !important;
        transform: translateX(-50%) !important;

        width: calc(100% - 32px) !important;
        max-width: 350px !important;
        min-width: 0 !important;

        display: flex !important;
        align-items: center !important;
        justify-content: center !important;

        padding: 12px 14px !important;
        box-sizing: border-box !important;
    }

    /* Make rating contents visible */
    .rating-avatars {
        display: flex !important;
        flex-shrink: 0 !important;
    }

    .rating-content {
        display: flex !important;
        align-items: center !important;
        gap: 7px !important;
        min-width: 0 !important;
    }

    .services-rating-card strong {
        display: inline-block !important;
        font-size: 20px !important;
        white-space: nowrap !important;
    }

    .services-rating-card small,
    .services-rating-card span {
        display: block !important;
        white-space: nowrap !important;
        font-size: 9px !important;
    }

}


/* =========================================================
   400px AND BELOW
========================================================= */

@media (max-width: 400px) {

    .services-hero-content {
        padding-top: 100px !important;
    }

    .services-hero-right {
        height: 400px !important;
        min-height: 400px !important;
    }

    .services-hero-right img {
        width: 300px !important;
        max-width: 82vw !important;
    }

    .services-rating-card {
        width: calc(100% - 24px) !important;
        max-width: 330px !important;
        bottom: 15px !important;
    }

}