/* ============================================================
   POGRADEC PROPERTY — responsive.css
   ============================================================ */

/* ---------- Global: prevent horizontal scroll ---------- */
html,
body {
    overflow-x: hidden;
    max-width: 100%;
}

img,
video,
iframe {
    max-width: 100%;
    height: auto;
}

/* ---------- Large Desktop (1400px+) ---------- */
@media (min-width: 1400px) {
    .hero-title {
        font-size: 4rem;
    }

    .properties-grid {
        grid-template-columns: repeat(5, 1fr);
    }
}

/* ---------- Tablet Landscape (992-1199px) ---------- */
@media (max-width: 1199px) {
    .categories-grid {
        grid-template-columns: repeat(4, 1fr);
    }

    .properties-grid {
        grid-template-columns: repeat(3, 1fr);
    }

    .footer-grid {
        grid-template-columns: 1fr 1fr;
        gap: 36px;
    }

    .search-row {
        grid-template-columns: 1fr 1fr 1fr;
    }

    .search-row .search-btn-wrap {
        grid-column: span 3;
    }

    .why-grid {
        grid-template-columns: 1fr;
        gap: 40px;
    }

    .why-visual-side {
        grid-template-columns: repeat(4, 1fr);
    }

    /* Latest */
    .latest-grid {
        grid-template-columns: 1fr 1fr;
    }
}

/* ---------- Tablet Portrait (768-991px) ---------- */
@media (max-width: 991px) {

    /* Navbar */
    .nav-links {
        display: none;
    }

    .nav-hamburger {
        display: flex;
    }

    /* Hide desktop-only nav-actions elements on mobile (they're in mobile menu) */
    .nav-lang-switcher {
        display: none;
    }

    .nav-actions .nav-link-item {
        display: none;
    }

    .nav-add-btn span {
        display: none;
    }

    .nav-add-btn {
        padding: 10px 12px;
    }

    /* Hero */
    .hero-content {
        grid-template-columns: 1fr;
        padding: 140px 24px 200px;
        text-align: center;
    }

    .hero-visual {
        display: none;
    }

    .hero-subtitle {
        max-width: 100%;
        margin-left: auto;
        margin-right: auto;
    }

    .hero-cta-group {
        justify-content: center;
    }

    .hero-stats {
        justify-content: center;
    }

    /* Search */
    .search-row {
        grid-template-columns: 1fr 1fr;
    }

    .search-row .search-keyword {
        grid-column: span 2;
    }

    .search-row .search-btn-wrap {
        grid-column: span 2;
    }

    .search-btn {
        width: 100%;
        justify-content: center;
    }

    .search-field {
        min-width: 0;
    }

    /* Categories */
    .categories-grid {
        grid-template-columns: repeat(4, 1fr);
    }

    /* Properties */
    .properties-grid {
        grid-template-columns: repeat(2, 1fr);
    }

    /* Why */
    .why-visual-side {
        grid-template-columns: repeat(2, 1fr);
    }

    /* Trust */
    .trust-bar-inner {
        grid-template-columns: repeat(2, 1fr);
    }

    /* Footer */
    .footer-grid {
        grid-template-columns: 1fr 1fr;
    }
}

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

    /* Global */
    .section-header {
        flex-direction: column;
        align-items: flex-start;
        gap: 12px;
    }

    /* Navbar */
    .navbar-inner {
        padding: 0 16px;
        height: 64px;
    }

    .nav-icon-btn {
        display: none;
    }

    /* Hero */
    .hero-content {
        padding: 120px 16px 180px;
    }

    .hero-stats {
        gap: 20px;
    }

    .hero-stat-num {
        font-size: 22px;
    }

    /* Search */
    .search-section {
        padding: 0 16px 40px;
        margin-top: -60px;
    }

    .search-box {
        padding: 20px 16px;
        border-radius: var(--radius-lg);
    }

    .search-row {
        grid-template-columns: 1fr;
    }

    .search-row .search-keyword,
    .search-row .search-btn-wrap {
        grid-column: span 1;
    }

    .search-btn {
        width: 100%;
        justify-content: center;
        height: 52px;
    }

    /* Categories */
    .categories-section {
        padding: 20px 16px 40px;
    }

    .categories-grid {
        grid-template-columns: repeat(3, 1fr);
        gap: 12px;
    }

    .category-card {
        padding: 16px 10px;
        gap: 8px;
    }

    .category-icon {
        width: 44px;
        height: 44px;
        font-size: 20px;
    }

    .category-name {
        font-size: 11px;
    }

    .category-count {
        display: none;
    }

    /* Properties */
    .properties-section {
        padding: 20px 16px 40px;
    }

    .properties-grid {
        grid-template-columns: 1fr;
    }

    .prop-card-img {
        height: 200px;
    }

    /* Why */
    .why-section {
        padding: 40px 16px;
    }

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

    .why-stat-num {
        font-size: 28px;
    }

    /* CTA */
    .cta-section {
        padding: 60px 16px;
    }

    .cta-btns {
        flex-direction: column;
        align-items: center;
    }

    /* Trust */
    .trust-bar-inner {
        grid-template-columns: 1fr;
    }

    .trust-bar {
        padding: 20px 16px;
    }

    /* Latest */
    .latest-section {
        padding: 20px 16px 40px;
    }

    .latest-grid {
        grid-template-columns: repeat(2, 1fr);
        gap: 12px;
        margin-top: 20px;
    }

    .prop-card-compact {
        flex-direction: column;
        align-items: stretch;
        gap: 0;
        padding: 0;
    }

    .prop-card-compact-img {
        width: 100%;
        height: 140px;
        border-radius: var(--radius-lg) var(--radius-lg) 0 0;
    }

    .prop-card-compact-body {
        padding: 10px 12px 12px;
        gap: 4px;
    }

    .prop-card-compact-price {
        font-size: 14px;
    }

    /* Newsletter */
    .newsletter-section {
        padding: 40px 16px;
    }

    .newsletter-input-row {
        flex-direction: column;
        align-items: stretch;
    }

    .newsletter-input-row .newsletter-input {
        width: 100%;
    }

    .newsletter-input-row .btn-primary-custom {
        width: 100%;
        justify-content: center;
    }

    /* Footer */
    .footer {
        padding: 40px 16px 0;
    }

    .footer-grid {
        grid-template-columns: 1fr;
        gap: 32px;
    }

    .footer-bottom {
        flex-direction: column;
        text-align: center;
    }

    .footer-bottom-links {
        flex-wrap: wrap;
        justify-content: center;
        gap: 12px;
    }
}

/* ---------- Small Mobile (below 480px) ---------- */
@media (max-width: 479px) {
    .categories-grid {
        grid-template-columns: repeat(2, 1fr);
    }

    .hero-cta-group {
        flex-direction: column;
        width: 100%;
    }

    .hero-cta-group .btn-primary-custom,
    .hero-cta-group .btn-white-custom {
        width: 100%;
        justify-content: center;
    }

    .search-btn {
        height: 52px;
        font-size: 16px;
    }

    /* Latest — 1 column on very small screens */
    .latest-grid {
        grid-template-columns: 1fr;
    }

    .prop-card-compact-img {
        height: 170px;
    }
}