/* ====================================================
    Responsive - Gruha Realty
==================================================== */

/* ---- Global Responsive Utilities ---- */
img {
    max-width: 100%;
    height: auto;
}

iframe {
    max-width: 100%;
}

.footer-text {
    font-size: 16px;
}

.faq-text {
    font-size: clamp(15px, 2.5vw, 19px);
}

.blog-content-preview {
    font-size: clamp(15px, 2.5vw, 18px);
}

.why-choose-title {
    font-size: clamp(24px, 4vw, 42px);
}

.breadcrumb-title {
    font-size: clamp(24px, 4vw, 42px) !important;
}

.breadcrumb-list {
    flex-wrap: wrap;
}

/* Desktop 1200 - up */
@media (min-width: 1200px) {
    .container {
        max-width: 1200px;
    }
}

/* Normal desktop :992px. (Laptop 14") */
@media (min-width: 992px) and (max-width: 1199px) {
    h1 { font-size: 30px; }
    h2 { font-size: 26px; }
    h3 { font-size: 22px; }
    h4 { font-size: 20px; }
    h5 { font-size: 18px; }
    h6 { font-size: 16px; }
}

/* Tablet device :768px. */
@media (min-width: 768px) and (max-width: 991px) {
    body { font-size: 14px; }
    h1 { font-size: 26px; }
    h2 { font-size: 22px; }
    h3 { font-size: 20px; }
    h4 { font-size: 18px; }
    h5 { font-size: 16px; }
    h6 { font-size: 15px; }
    p { font-size: 14px; }

    /* Header */
    .site-logo img {
        width: 130px !important;
        height: auto !important;
    }

    /* Breadcrumb */
    .ltn__breadcrumb-area {
        padding: 50px 0 !important;
    }
    .ltn__breadcrumb-area h1,
    .breadcrumb-title {
        font-size: 28px !important;
    }

    /* Property cards */
    .feature-box {
        padding: 15px 10px;
    }

    /* About page */
    .about-img-wrap img {
        height: 250px !important;
    }

    /* FAQ */
    .faq-header, .faq-body p {
        font-size: 16px !important;
    }

    /* Contact page */
    .contact-info-card {
        min-width: 220px !important;
    }

    /* CTA section */
    .ltn__call-to-4-img-2 {
        display: none !important;
    }
}

/* small mobile :320px - 767px */
@media (max-width: 767px) {
    body { font-size: 14px; }
    h1 {
        font-size: 22px;
        margin: 20px 0 0 0;
    }
    h2 { font-size: 20px; }
    h3 { font-size: 18px; }
    h4 { font-size: 17px; }
    h5 { font-size: 16px; }
    h6 { font-size: 14px; }
    p { font-size: 14px; }

    /* ---- Header ---- */
    .ltn__header-top-area .col-md-7,
    .ltn__header-top-area .col-md-5 {
        width: 100%;
        text-align: center !important;
    }
    .ltn__header-top-area .top-bar-right {
        text-align: center !important;
    }
    .site-logo img {
        width: 120px !important;
        height: auto !important;
    }
    .header-profile-dropdown button {
        width: auto !important;
        font-size: 14px !important;
        padding: 10px 5px !important;
    }
    .header-profile-dropdown .dropdown-menu-custom {
        width: 160px !important;
        right: auto !important;
        left: 0 !important;
    }

    /* ---- Breadcrumb ---- */
    .ltn__breadcrumb-area,
    .breadcrumb-section {
        padding: 40px 0 !important;
    }
    .ltn__breadcrumb-area h1,
    .breadcrumb-title,
    .breadcrumb-heading {
        font-size: 22px !important;
    }
    .breadcrumb-list {
        flex-wrap: wrap;
        gap: 4px !important;
    }

    /* ---- Sections general ---- */
    .section-title {
        font-size: 22px !important;
    }
    .pt-80, .pb-80 {
        padding-top: 40px !important;
        padding-bottom: 40px !important;
    }

    /* ---- Property Type Cards (index) ---- */
    .property-type-card {
        width: 100% !important;
        max-width: 100% !important;
        padding: 20px 15px !important;
    }
    .property-type-card i {
        font-size: 28px !important;
    }

    /* ---- Enquiry Cards (index) ---- */
    .enquiry-card {
        height: auto !important;
        min-height: 100px;
    }

    /* ---- What We Do / Service Cards ---- */
    .what-we-do {
        padding: 40px 15px !important;
    }
    .what-we-do .service-card {
        padding: 25px 15px !important;
    }
    .what-we-do .service-card i {
        font-size: 30px !important;
    }
    .what-we-do .service-card h4 {
        font-size: 17px !important;
    }
    .what-we-do .section-title {
        font-size: 24px !important;
    }

    /* ---- Property Search ---- */
    .property-thumb {
        height: 200px !important;
    }

    /* ---- Property Details (show) ---- */
    .property-detail-hero {
        padding: 40px 0 !important;
    }
    .property-detail-hero h1,
    .property-detail-title {
        font-size: 22px !important;
    }
    .property-detail-price {
        font-size: 24px !important;
    }
    .feature-box {
        padding: 12px 8px;
    }
    .feature-box h6 {
        font-size: 13px;
    }
    .feature-box p {
        font-size: 13px;
    }

    /* Property description */
    .property-description {
        font-size: 15px !important;
        line-height: 1.7 !important;
    }

    /* Google map iframe */
    .property-map iframe,
    .contact-map iframe {
        width: 100% !important;
        height: 300px !important;
    }

    /* ---- About Page ---- */
    .about-content p {
        font-size: 15px !important;
    }
    .about-img-wrap img {
        height: auto !important;
        padding-left: 0 !important;
    }
    .about-counter-section {
        padding: 40px 15px !important;
    }

    /* ---- Contact Page ---- */
    .contact-info-wrap {
        gap: 15px !important;
    }
    .contact-info-card {
        min-width: 100% !important;
        flex: 1 1 100% !important;
    }
    .contact-info-card i {
        font-size: 20px !important;
    }
    .contact-form-wrap {
        padding: 20px !important;
    }
    .contact-form-wrap input,
    .contact-form-wrap textarea {
        padding: 12px !important;
    }

    /* ---- Blog ---- */
    .blog-card img {
        height: 180px !important;
    }
    .blog-content-preview {
        font-size: 15px !important;
    }

    /* ---- Login / Register ---- */
    .gr-login-wrapper {
        margin-top: -40px !important;
    }
    .gr-login-brand {
        font-size: 28px !important;
    }
    .gr-login-left {
        padding-right: 0 !important;
    }
    .gr-login-card {
        padding: 30px 20px !important;
        max-width: 100% !important;
    }
    .gr-login-card input {
        padding: 12px !important;
    }

    /* ---- FAQ Section ---- */
    .faq-header {
        font-size: 16px !important;
    }
    .faq-body p {
        font-size: 15px !important;
    }

    /* ---- CTA Section ---- */
    .ltn__call-to-4-img-2 {
        display: none !important;
    }

    /* ---- Footer ---- */
    .footer-widget h4 {
        font-size: 17px !important;
    }
    .footer-about-text p,
    .footer-widget li,
    .footer-widget p {
        font-size: 14px !important;
    }

    /* ---- Testimonials ---- */
    .ltn__testimonial-item p {
        font-size: 14px !important;
    }
    .ltn__testimoni-name-designation h5 {
        font-size: 15px !important;
    }

    /* ---- Sliders ---- */
    .ltn__slide-item h1 {
        font-size: 24px !important;
    }
    .ltn__slide-item p {
        font-size: 14px !important;
    }

    /* ---- Tables ---- */
    .table-responsive {
        overflow-x: auto;
        -webkit-overflow-scrolling: touch;
    }

    /* ---- My Account ---- */
    .ltn__myaccount-tab-content-inner {
        padding: 15px !important;
    }
}

/* Extra small mobile :320px - 480px */
@media (max-width: 480px) {
    h1 {
        font-size: 20px;
        margin: 15px 0 0 0;
    }
    h2 { font-size: 18px; }

    .site-logo img {
        width: 100px !important;
        height: auto !important;
    }

    .ltn__breadcrumb-area h1,
    .breadcrumb-title {
        font-size: 20px !important;
    }

    .section-title {
        font-size: 20px !important;
    }

    .property-type-card {
        padding: 15px 10px !important;
    }

    .what-we-do .section-title {
        font-size: 20px !important;
    }

    .contact-form-wrap {
        padding: 15px !important;
    }

    .gr-login-card {
        padding: 20px 15px !important;
    }

    /* Inline hero text */
    .hero-inline-title {
        font-size: 26px !important;
    }
    .hero-inline-subtitle {
        font-size: 14px !important;
    }
}
