/* ==========================================================
   KLEAN MAX PRO — COMPREHENSIVE MOBILE RESPONSIVE STYLES
   Covers: all breakpoints from 320px up to 1200px+
   ========================================================== */

/* --------------------------------------------------------
   1. HEADER & NAVIGATION
   -------------------------------------------------------- */

/* Reduce header margin on smaller screens */
@media (max-width: 1199px) {
  .tp-header-area-two {
    padding: 10px 20px !important;
    border-radius: 40px !important;
    max-width: 95% !important;
  }
}

@media (max-width: 767px) {
  .tp-header-area-two {
    padding: 10px 16px !important;
    border-radius: 30px !important;
    margin: 12px auto 0 !important;
    max-width: 94% !important;
  }
  /* Shrink logo on mobile */
  .tp-header-logo img {
    max-height: 42px !important;
  }
}

/* --------------------------------------------------------
   2. HERO / SLIDER
   -------------------------------------------------------- */

@media (max-width: 991px) {
  .tp-slider-height-two {
    min-height: 480px !important;
  }
  .tp-slider-title-two {
    font-size: 36px !important;
    line-height: 1.2 !important;
  }
  .tp-slider-subtitle-two {
    font-size: 16px !important;
  }
}

@media (max-width: 767px) {
  .tp-slider-height-two {
    min-height: 380px !important;
  }
  .tp-slider-title-two {
    font-size: 26px !important;
    line-height: 1.2 !important;
    margin-bottom: 12px !important;
  }
  .tp-slider-subtitle-two {
    font-size: 14px !important;
  }
  .inquire-hero-btn {
    font-size: 14px !important;
    padding: 13px 28px !important;
  }
  .kp-trust-bar {
    font-size: 11px !important;
    padding: 8px 14px !important;
    gap: 10px !important;
    flex-wrap: wrap !important;
    justify-content: center !important;
  }
  .tp-slider-hero-btns {
    margin-top: 20px !important;
  }
}

/* --------------------------------------------------------
   3. CTA STRIP / FEATURE CARDS (Homepage)
   -------------------------------------------------------- */

@media (max-width: 991px) {
  .tp-cta-area-two-bg {
    margin-top: -60px !important;
    padding: 50px 30px 20px !important;
    border-radius: 30px !important;
  }
}

@media (max-width: 767px) {
  .tp-cta-area-two-bg {
    margin-top: 0 !important;
    padding: 30px 16px 10px !important;
    border-radius: 20px !important;
  }
  .tp-cta-two {
    padding: 20px 16px !important;
    margin-bottom: 16px !important;
  }
  /* Disable float animation on small devices for perf */
  .floating-card {
    animation: none !important;
  }
}

/* --------------------------------------------------------
   4. STATS STRIP
   -------------------------------------------------------- */

@media (max-width: 767px) {
  .stats-counter-section h2 {
    font-size: 36px !important;
  }
  .stats-counter-section p {
    font-size: 13px !important;
  }
}

/* --------------------------------------------------------
   5. QUICK ENQUIRY FORM (Homepage Yellow Bar)
   -------------------------------------------------------- */

@media (max-width: 991px) {
  .premium-enquiry-form .row > div {
    margin-bottom: 10px;
  }
  .premium-input {
    width: 100% !important;
  }
}

@media (max-width: 767px) {
  .tp-appoint-cta-area {
    padding: 24px 0 !important;
  }
  .tp-appoint-title {
    font-size: 20px !important;
    text-align: center;
    margin-bottom: 16px !important;
  }
  .premium-submit-btn {
    margin-top: 8px;
  }
}

/* --------------------------------------------------------
   6. ABOUT SECTION (Homepage + About Page)
   -------------------------------------------------------- */

@media (max-width: 991px) {
  .tp-about-img-two {
    margin-right: 0 !important;
    text-align: center;
  }
  .tp-about-img-two .img-second {
    max-width: 180px !important;
  }
  .premium-about-badge {
    bottom: -20px !important;
    right: 10px !important;
  }
}

@media (max-width: 767px) {
  .tp-about-area-two {
    padding-top: 40px !important;
    padding-bottom: 40px !important;
  }
  .tp-about-img-two .img-fluid:first-child {
    border-radius: 12px !important;
  }
  .tp-about-img-two .img-second {
    display: none !important; /* hide overlapping image on very small screens */
  }
  .tp-section-title-two {
    font-size: 24px !important;
  }
  .premium-trust-card {
    flex-direction: column !important;
    gap: 12px !important;
  }
}

/* --------------------------------------------------------
   7. SERVICE CARDS (Homepage)
   -------------------------------------------------------- */

@media (max-width: 767px) {
  .tp-service-three {
    margin-bottom: 24px !important;
  }
  .tp-service-three-img img {
    height: 180px !important;
    object-fit: cover;
  }
  .tp-service-three-text {
    padding: 16px !important;
  }
  .tp-service-three-title {
    font-size: 18px !important;
  }
}

/* --------------------------------------------------------
   8. PRICING / PRODUCT CARDS (Homepage tabs)
   -------------------------------------------------------- */

@media (max-width: 991px) {
  .custom-premium-card {
    margin-bottom: 20px;
  }
  .custom-title-badge {
    min-height: 60px !important;
    bottom: -28px !important;
  }
  .custom-title-badge h3 {
    font-size: 18px !important;
  }
}

@media (max-width: 767px) {
  .tp-pricing-tabs {
    flex-direction: column !important;
    gap: 8px !important;
    align-items: flex-start !important;
  }
  .tp-pricing-tabs .nav-link {
    font-size: 13px !important;
    padding: 8px 16px !important;
  }
  .custom-card-body {
    padding: 50px 20px 25px !important;
  }
}

/* --------------------------------------------------------
   9. BREADCRUMB / PAGE TITLE BANNER
   -------------------------------------------------------- */

@media (max-width: 991px) {
  .tp-page-title-area {
    padding-top: 140px !important;
    padding-bottom: 40px !important;
  }
  .breadcrumb-title {
    font-size: 36px !important;
  }
}

@media (max-width: 767px) {
  .tp-page-title-area {
    padding-top: 120px !important;
    padding-bottom: 30px !important;
  }
  .breadcrumb-title {
    font-size: 26px !important;
    letter-spacing: -0.3px !important;
  }
  .breadcrumb-menu .trail-items {
    flex-wrap: wrap;
    gap: 4px;
    font-size: 13px;
  }
}

/* --------------------------------------------------------
   10. SERVICE DETAILS PAGES (Sidebar + Main)
   -------------------------------------------------------- */

@media (max-width: 991px) {
  .tp-service-details-area .col-xl-4,
  .tp-service-details-area .col-lg-4 {
    margin-bottom: 30px;
  }
  .tp-service-widget {
    position: static !important; /* un-stick sidebar on tablet */
  }
}

@media (max-width: 767px) {
  .tp-service-details-area {
    padding-top: 50px !important;
    padding-bottom: 50px !important;
  }
  .service-details-content h2 {
    font-size: 24px !important;
  }
  .service-details-content h3 {
    font-size: 20px !important;
    margin-top: 28px !important;
  }
  .tp-service-feature-card {
    padding: 20px 14px !important;
  }
  .tp-service-feature-card i {
    font-size: 30px !important;
  }
  /* CTA box on service pages */
  .cta-box {
    padding: 30px 20px !important;
    text-align: center;
  }
  .cta-box h2 {
    font-size: 22px !important;
  }
  .cta-box .mt-4.d-flex {
    flex-direction: column !important;
    gap: 12px !important;
  }
  .cta-box .mt-4.d-flex a {
    width: 100% !important;
    justify-content: center !important;
  }
  /* Service sidebar widget */
  .tp-service-widget {
    padding: 20px !important;
  }
  .tp-service-widget-list ul li a {
    font-size: 14px !important;
    padding: 12px 14px !important;
  }
  /* FAQ accordion */
  .premium-faq .accordion-button {
    font-size: 15px !important;
    padding: 16px 18px !important;
  }
}

/* --------------------------------------------------------
   11. PRODUCT CARDS (Rental / Sales / Service Pages)
   -------------------------------------------------------- */

@media (max-width: 767px) {
  .premium-product-card {
    padding: 20px 16px !important;
  }
  .premium-product-card .row {
    flex-direction: column !important;
  }
  .premium-product-card .row.flex-row-reverse {
    flex-direction: column !important;
  }
  .premium-product-img {
    margin-bottom: 16px;
    max-height: 200px;
  }
  .premium-product-img img {
    max-height: 180px !important;
  }
  .tp-service-details-subtitle.kleanmax-subtitle {
    font-size: 18px !important;
  }
  .btn-custom {
    font-size: 13px !important;
    padding: 10px 18px !important;
    width: 100%;
    text-align: center;
    display: block !important;
    margin-top: 12px !important;
  }
}

/* --------------------------------------------------------
   12. EQUIPMENT DETAILS PAGE
   -------------------------------------------------------- */

@media (max-width: 767px) {
  .equipment-block {
    padding: 24px 16px !important;
  }
  .equipment-block .row {
    flex-direction: column !important;
  }
  .equipment-block .row.flex-row-reverse {
    flex-direction: column !important;
  }
  .equipment-img {
    margin-bottom: 20px;
    width: 100% !important;
  }
}

/* --------------------------------------------------------
   13. BLOGS PAGE
   -------------------------------------------------------- */

@media (max-width: 767px) {
  .tp-blog-three {
    margin-bottom: 24px !important;
  }
  .tp-blog-three-img img {
    height: 200px !important;
    object-fit: cover;
  }
  .tp-blog-three-text {
    padding: 18px !important;
  }
  .tp-blog-three-title {
    font-size: 18px !important;
  }
}

/* --------------------------------------------------------
   14. CONTACT PAGE
   -------------------------------------------------------- */

@media (max-width: 767px) {
  .tp-contact-info {
    padding: 20px 16px !important;
    margin-bottom: 16px;
  }
  .tp-contact-form-field input,
  .tp-contact-form-field textarea,
  .tp-contact-form-field select {
    padding: 12px 14px !important;
  }
  .tp-contact-form-area {
    padding: 24px 16px !important;
  }
}

/* --------------------------------------------------------
   15. ABOUT PAGE
   -------------------------------------------------------- */

@media (max-width: 767px) {
  .tp-about-img-two-badge {
    width: 100px !important;
    height: 100px !important;
  }
  .tp-about-img-two-badge h3 {
    font-size: 28px !important;
  }
  .tp-about-img-two-badge h5 {
    font-size: 11px !important;
  }
}

/* --------------------------------------------------------
   16. CLEANING SERVICES OVERVIEW PAGE
   -------------------------------------------------------- */

@media (max-width: 767px) {
  .cleaning-services-section .row > div {
    margin-bottom: 24px;
  }
}

/* --------------------------------------------------------
   17. FEATURE SECTION (Why Kleanmax Pro cards)
   -------------------------------------------------------- */

@media (max-width: 767px) {
  .premium-feature-card {
    padding: 22px 18px !important;
    margin-bottom: 16px;
  }
  .premium-feature-icon {
    width: 52px !important;
    height: 52px !important;
  }
  .premium-feature-icon i {
    font-size: 24px !important;
  }
}

/* --------------------------------------------------------
   18. FOOTER
   -------------------------------------------------------- */

@media (max-width: 991px) {
  .tp-footer-widget {
    margin-bottom: 30px;
  }
}

@media (max-width: 767px) {
  .tp-footer-widget-title {
    font-size: 16px !important;
  }
  .tp-footer-widget ul li a {
    font-size: 14px !important;
  }
  .tp-footer-info h4 a {
    font-size: 15px !important;
  }
}

/* --------------------------------------------------------
   19. BACK TO TOP BUTTON
   -------------------------------------------------------- */

@media (max-width: 767px) {
  .progress-wrap {
    right: 16px !important;
    bottom: 16px !important;
    width: 40px !important;
    height: 40px !important;
  }
}

/* --------------------------------------------------------
   20. GENERAL UTILITY — prevent horizontal overflow
   -------------------------------------------------------- */

@media (max-width: 767px) {
  body {
    overflow-x: hidden !important;
  }
  img {
    max-width: 100% !important;
    height: auto !important;
  }
  .container {
    padding-left: 16px !important;
    padding-right: 16px !important;
  }
  /* Section spacing */
  section {
    overflow-x: hidden;
  }
  .pt-100 { padding-top: 50px !important; }
  .pb-100 { padding-bottom: 50px !important; }
  .pt-80  { padding-top: 40px !important; }
  .pb-80  { padding-bottom: 40px !important; }
  .pt-60  { padding-top: 30px !important; }
  .pb-60  { padding-bottom: 30px !important; }
  .mb-55  { margin-bottom: 28px !important; }
  .mb-45  { margin-bottom: 22px !important; }
  .mb-40  { margin-bottom: 20px !important; }
  .mr-80  { margin-right: 0 !important; }
}

@media (max-width: 480px) {
  .tp-slider-title-two {
    font-size: 22px !important;
  }
  .breadcrumb-title {
    font-size: 22px !important;
  }
}

/* --------------------------------------------------------
   21. TABLET (768px – 991px) FIXES
   -------------------------------------------------------- */

@media (min-width: 768px) and (max-width: 991px) {
  .tp-header-area-two {
    padding: 10px 24px !important;
  }
  .tp-slider-height-two {
    min-height: 450px !important;
  }
  .tp-slider-title-two {
    font-size: 34px !important;
  }
  .breadcrumb-title {
    font-size: 34px !important;
  }
  .premium-product-card .col-xl-5,
  .premium-product-card .col-xl-7 {
    width: 50% !important;
  }
  .tp-service-widget {
    position: static !important;
  }
}

/* --------------------------------------------------------
   22. MEDIUM SCREENS (992px – 1199px) TWEAKS
   -------------------------------------------------------- */

@media (min-width: 992px) and (max-width: 1199px) {
  .tp-header-area-two {
    max-width: 96% !important;
  }
  .tp-slider-title-two {
    font-size: 42px !important;
  }
  .breadcrumb-title {
    font-size: 44px !important;
  }
}

