/* ============================================================
   GOLDEN KEY HOLDING — RESPONSIVE STYLES
   Description: Breakpoints for all devices
   ============================================================ */

/* ─── ULTRA WIDE (1920px+) ─── */
@media (min-width: 1920px) {
    :root {
        --container-max: 1440px;
    }

    .hero-title {
        font-size: clamp(3rem, 4.5vw, 5.5rem);
    }

    .services-grid,
    .property-grid,
    .blog-grid,
    .calculators-grid {
        grid-template-columns: repeat(3, 1fr);
        gap: var(--space-10);
    }

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

/* ─── DESKTOP LARGE (1440px - 1919px) ─── */
@media (min-width: 1440px) and (max-width: 1919px) {
    .container {
        max-width: 1320px;
    }
}

/* ─── LAPTOP (1024px - 1439px) ─── */
@media (max-width: 1439px) {
    .nav-links {
        gap: var(--space-4);
    }

    .mega-menu {
        min-width: 500px;
        padding: var(--space-4);
    }

    .footer-main {
        grid-template-columns: 1.3fr 1fr 1fr 1fr;
        gap: var(--space-8);
    }

    .ceo-card {
        grid-template-columns: 250px 1fr;
        gap: var(--space-8);
    }

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

/* ─── TABLET LANDSCAPE (1024px) ─── */
@media (max-width: 1024px) {
    .nav-links,
    .nav-actions .nav-cta,
    .mega-menu {
        display: none;
    }

    .mobile-toggle {
        display: flex;
    }

    .hero-stats {
        gap: var(--space-8);
    }

    .stats-grid {
        grid-template-columns: repeat(2, 1fr);
        gap: var(--space-6);
    }

    .stat-item:not(:last-child)::after {
        display: none;
    }

    .services-grid {
        grid-template-columns: repeat(2, 1fr);
        gap: var(--space-6);
    }

    .property-grid {
        grid-template-columns: repeat(2, 1fr);
        gap: var(--space-6);
    }

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

    .investment-card {
        grid-template-columns: 1fr;
        text-align: center;
        padding: var(--space-12) var(--space-8);
    }

    .investment-features {
        justify-items: center;
    }

    .investment-visual {
        order: -1;
    }

    .investment-graphic {
        max-width: 250px;
    }

    .about-grid {
        grid-template-columns: 1fr;
        gap: var(--space-8);
    }

    .about-image {
        height: 350px;
    }

    .ceo-card {
        grid-template-columns: 1fr;
        text-align: center;
        padding: var(--space-8);
    }

    .ceo-image {
        margin: 0 auto;
    }

    .ceo-content blockquote {
        border-right: none;
        border-bottom: 3px solid var(--color-gold);
        padding-right: 0;
        padding-bottom: var(--space-4);
    }

    .categories-grid {
        grid-template-columns: repeat(2, 1fr);
    }

    .agents-grid {
        grid-template-columns: repeat(2, 1fr);
    }

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

    .blog-grid {
        grid-template-columns: repeat(2, 1fr);
    }

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

    .footer-main {
        grid-template-columns: repeat(2, 1fr);
    }

    .awards-grid {
        grid-template-columns: repeat(2, 1fr);
    }

    .ai-card {
        grid-template-columns: 1fr;
    }

    .search-form {
        grid-template-columns: repeat(2, 1fr);
    }

    .timeline::before {
        right: 20px;
        transform: none;
    }

    .timeline-item {
        width: 100%;
        padding-right: var(--space-12) !important;
        padding-left: var(--space-4) !important;
        text-align: right !important;
    }

    .timeline-dot {
        right: 12px !important;
        left: auto !important;
    }
}

/* ─── TABLET PORTRAIT (768px) ─── */
@media (max-width: 768px) {
    :root {
        --section-padding: clamp(3rem, 6vw, 5rem);
    }

    .hero {
        padding-top: calc(var(--header-height) + 1rem);
        padding-bottom: var(--space-12);
    }

    .hero-title {
        font-size: clamp(1.8rem, 7vw, 2.8rem);
    }

    .hero-subtitle {
        font-size: var(--fs-base);
    }

    .hero-stats {
        flex-direction: column;
        gap: var(--space-6);
    }

    .hero-search {
        padding: var(--space-4);
    }

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

    .search-tabs {
        justify-content: center;
    }

    .stats-section {
        margin-top: -40px;
    }

    .stats-container {
        padding: var(--space-8) var(--space-4);
    }

    .stats-grid {
        grid-template-columns: repeat(2, 1fr);
        gap: var(--space-4);
    }

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

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

    .property-image {
        height: 220px;
    }

    .categories-grid {
        grid-template-columns: repeat(2, 1fr);
        gap: var(--space-4);
    }

    .category-card {
        height: 200px;
    }

    .agents-grid {
        grid-template-columns: repeat(2, 1fr);
        gap: var(--space-4);
    }

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

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

    .footer-main {
        grid-template-columns: 1fr;
        gap: var(--space-8);
    }

    .footer-bottom {
        flex-direction: column;
        gap: var(--space-4);
        text-align: center;
    }

    .footer-bottom-links {
        justify-content: center;
    }

    .investment-features {
        grid-template-columns: 1fr;
    }

    .about-features {
        grid-template-columns: 1fr;
    }

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

    .cookie-consent {
        left: 1rem;
        right: 1rem;
    }

    .luxury-cta {
        padding: var(--space-16) var(--space-4);
    }
}

/* ─── MOBILE (576px) ─── */
@media (max-width: 576px) {
    .container {
        padding: 0 var(--space-4);
    }

    .nav-wrapper {
        padding: 0 var(--space-4);
    }

    .nav-logo {
        font-size: var(--fs-lg);
    }

    .nav-logo .logo-icon {
        width: 36px;
        height: 36px;
        font-size: 0.9rem;
    }

    .hero-title {
        font-size: clamp(1.5rem, 7vw, 2.2rem);
    }

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

    .hero-actions .btn {
        width: 100%;
    }

    .hero-badge {
        font-size: var(--fs-xs);
        padding: 0.4rem 1rem;
    }

    .section-header h2 {
        font-size: var(--fs-2xl);
    }

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

    .stat-value {
        font-size: var(--fs-2xl);
    }

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

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

    .agent-card {
        padding: var(--space-6);
    }

    .contact-form-card {
        padding: var(--space-6);
    }

    .testimonial-card {
        padding: var(--space-6);
    }

    .testimonial-card .testimonial-text {
        font-size: var(--fs-base);
    }

    .newsletter-form {
        flex-direction: column;
    }

    .properties-filter {
        justify-content: flex-start;
        overflow-x: auto;
        flex-wrap: nowrap;
        padding-bottom: var(--space-2);
    }

    .back-to-top {
        width: 42px;
        height: 42px;
        bottom: 1.5rem;
        left: 1.5rem;
    }
}

/* ─── SMALL MOBILE (400px) ─── */
@media (max-width: 400px) {
    html {
        font-size: 14px;
    }

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

    .hero-search {
        padding: var(--space-3);
    }

    .search-tab {
        padding: 0.4rem 0.8rem;
        font-size: var(--fs-xs);
    }
}

/* ─── FOLD DEVICES ─── */
@media (min-width: 280px) and (max-width: 320px) {
    html {
        font-size: 13px;
    }
}

/* ─── ULTRA WIDE (2560px+) ─── */
@media (min-width: 2560px) {
    :root {
        --container-max: 1600px;
        font-size: 18px;
    }

    .hero {
        min-height: 100vh;
    }
}

/* ─── LANDSCAPE ORIENTATION ON SMALL DEVICES ─── */
@media (max-height: 500px) and (orientation: landscape) {
    .hero {
        min-height: auto;
        padding: calc(var(--header-height) + 1rem) var(--space-4) var(--space-8);
    }

    .hero-stats {
        flex-direction: row;
        flex-wrap: wrap;
    }

    .loading-screen {
        padding: var(--space-4);
    }
}

/* ─── PRINT STYLES ─── */
@media print {
    .site-header,
    .hero,
    .site-footer,
    .back-to-top,
    .cookie-consent,
    .gold-particles,
    .cursor-follower,
    .progress-bar-top {
        display: none !important;
    }

    body {
        color: #000;
        background: #fff;
    }

    .section-padding {
        padding: 2rem 0;
    }

    .card, .property-card, .service-card {
        box-shadow: none;
        border: 1px solid #ddd;
    }
}

/* ─── HIGH CONTRAST MODE ─── */
@media (prefers-contrast: high) {
    :root {
        --color-text: #000000;
        --color-text-muted: #333333;
        --shadow-sm: 0 0 0 1px rgba(0,0,0,0.3);
        --shadow-md: 0 0 0 2px rgba(0,0,0,0.4);
    }

    .nav-link::after {
        height: 3px;
    }

    .btn {
        border: 2px solid currentColor;
    }
}

/* ─── RTL SPECIFIC FIXES ─── */
[dir="rtl"] .timeline-item:nth-child(odd) {
    margin-right: auto;
    margin-left: 0;
    padding-left: var(--space-12);
    padding-right: var(--space-4);
    text-align: left;
}

[dir="rtl"] .timeline-item:nth-child(even) {
    margin-left: auto;
    margin-right: 0;
    padding-right: var(--space-12);
    padding-left: var(--space-4);
    text-align: right;
}

[dir="rtl"] .footer-col h4::after {
    right: 0;
    left: auto;
}

[dir="rtl"] .footer-col ul a:hover {
    padding-right: var(--space-2);
    padding-left: 0;
}

/* ─── LTR OVERRIDE ─── */
[dir="ltr"] .footer-col h4::after {
    left: 0;
    right: auto;
}

[dir="ltr"] .footer-col ul a:hover {
    padding-left: var(--space-2);
    padding-right: 0;
}
