/* =========================================================
   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;
  }
}